Going beyond Tiki Wiki CMS Groupware
Server, Web, Desktop and Mobile suite
- Founded AvanTech.net in 1999
- Offers tech services mostly to small and medium organizations
- And a few larger ones
- Over 200 projects in 15 years
Tiki Suite is a selection of Free / Libre / Open Source Software (FLOSS) server, web, mobile and desktop apps with a concerted effort for greater interoperability and security, which is aimed at small & medium-sized organizations.
The Tiki Suite is especially suited to decentralized and knowledge-centric organizations and offers the features that what 80% of the people use 80% of the time (collaboration, office productivity, publishing, etc.).
Features include: Email + Wiki + CMS + Groupware + Commerce + Accounting + Document Management + CRM + Web conferencing + Desktop sharing + PBX VOIP Telephony + Instant messaging & presence + Video management + E-learning, etc.
This represents millions of organizations
- In 2003, I embarked on a quest to make Tiki become a "web-based integrated virtual desktop" / "Web operating system"
- Each new project was an opportunity to add / improve Tiki features and Tiki eventually became the FLOSS web application with the most built-in features
- 2011: Launched the Tiki Suite project and started analysis.
- 2012: A prototype with ClearOS 5.2 was conclusive.
- ClearOS 5.2 is awesome but is a distro with components from 2007-2008, and we prefer to build Tiki Suite on version 6.x (so we continued to improve Tiki)
- 2013: Redo the tests and update the analysis based on ClearOS 6.4
- 2014: After hundreds of hours of research, analysis & testing, some trial & error with the components, I am ready to go and confident of the "future-proofness" of the solution.
Why the name?
- It's a suite of applications around Tiki
- Suite means "next step" in French, so "next step for Tiki"
- But what is Tiki?
Tiki Wiki CMS Groupware: The general idea
Hundreds of built-in features
Action log Alert Articles & Submissions Backlinks Banner Blog Bookmark Browser Compatibility Cache Calendar Category Charts Chat Comment Communication Center Compression (gzip) Contact Address book Contact us Content template Contribution Cookie Copyright Custom Home (and Group Home Page) Date and Time Debugger Console Directory (of hyperlinks) Documentation (Help System) DogFood Drawing Dynamic Content Dynamic Variable External Authentication FAQ Featured links File Gallery Forum Friendship Network (Community) Game Gmap Google maps Group Help System Hotword HTML Page i18n (Multilingual, l10n, Babelfish) Image Gallery Install Integrator Interaction Inter-User Messages InterTiki Karma Live Support Login Lost edit protection Mail-in Maps Menu Meta Tag Mobile Module Multimedia MultiTiki MyTiki Newsletter Newsreader Notepad OS independence (Non-Linux, Windows/IIS, Mac, BSD) PDF Performance Speed / Load Permission Poll Profile Manager Quicktags Quiz Rating Registration RSS Score Search Engine Friendly Search Security Semantic links Shadowbox Shoutbox Site Identity Slideshow Smarty Template Smiley Spam protection (Antibot CATPCHA) Spreadsheet Stats Survey System log Tags Task Tell a Friend + Social Bookmarking TikiTests Theme Trackers TRIM User Administration User Files User Menu Watch WebHelp Webmail Wiki 3D Wiki History, page rename, etc Wiki plugins extends basic syntax Wiki syntax text area, parser, etc Wiki structure (book and table of content) Workflow, WYSIWYCA WYSIWYG XMLRPC
Over 1200 settings/options in the admin panel!
The Free / Libre / Open Source Web Application with the most built-in features. There are so many, we had to add a search engine in the admin panel!|
Other popular apps have a different model: small core + loads of functionality in 3rd party add-ons.
- No hunting around to find the best 3rd party module
- No needing to re-install 3rd party modules at every upgrade, hoping they all still work!
- Because, in Tiki, everything is built-in and developers collaborate on and extend features, instead of just cooperating around a core (when they are not just outright competing...). And upgrades are easy!
- Do you have two wiki pages for the same thing? No. Why would it be so for features?
- More later about the model, let's describe some features!
Permissions & groups
- Users can be in any number of groups
- Groups can be included in groups
- Registration system
- Over 200 permissions, which can be:
- System-wide (global)
- by item (object)
- by category (workspaces)
- Powerful wiki syntax
- Powerful version history and diff engine
- Book and table of content
- Email notification of changes
- Advanced plugins
- Advanced translation synchronization
Tracker & form generator & reports
- Create custom application
- Bug tracker, application forms, contact forms, etc.
- Can create reports in wiki pages
- Can link to other trackers
- 20+ field types
- text field, text area, checkbox, numeric field, drop down, radio buttons, user selector, date and time, image, category, email, auto-increment, Maps, computed field, attachment, etc.
- Several calendars
- Recurring events
- RSS feeds
- Distinct permissions
Blog & news articles
- Several blogs
- Tags & categories
- RSS feeds
- Can use wiki syntax
- Version history
- Can use wiki syntax in calls
- Can embed sheets & charts anywhere in Tiki
- You are currently watching it!
- Made from wiki pages
- Slide notes, for a second screen
- Uses S5 standard
- Threaded or flat forums
- Mailing list integration
- Can use wiki syntax
- File Attachment
- Email notification of replies
File & image galleries
- Hierarchical galleries
- Categories for files
- Watch (notification of change by email)
- WebDAV support
- Vector drawing
- Shapes & lines
- Stored in SVG
Screencapture and Screencast
- Select screen area
- Capture screenshot as PNG, JPG, etc.
- Record video
- Audio from microphone
- Pause during the recording
- Play before upload
- Post-recording editor to remove frames
- Pick splash frame
- Generates a .swf file
- Integrates jCapture applet
- Translated to 40+ languages
- Wiki has awesome i18n change tracking
Plugin disabledPlugin flash cannot be executed.
The Tiki model
- Wiki community
- Do-ocracy, P2P
- Wiki way participation to the code
- All-in-one codebase
- Inherent synchronized releases
- Lots of features, but no duplication
- Do you have two wiki pages for the same thing? No. So, why would it be so for features?
- *.tiki.org sites are upgraded before a .0 is released
- Scheduled releases (twice per year)
- Long Term Support (LTS) every third release, with 5 year support
- Commercial eco-system based on services, not code.
- All code is shared
Benefits & challenges
- Tons of features, without duplication, excellent code re-use and code review, more collaboration, tight integration, easy upgrades, excellent interaction between features, etc.
- Permits huge changes between versions because we don’t have to worry about breaking 3rd party extensions.
- Less code for the community to maintain: http://en.wikipedia.org/wiki/Technical_debt
- No abandoned module, because a new shiny one just came out
- No dependency hell (needing to re-install 3rd party modules at every upgrade, hoping they all still work!)
- No hunting around to find the best 3rd party module
But does bring challenges
- Huge code base to maintain
- Admin panels with hundreds of features for a total of over 1200 settings/options! (we had to add a search!)
- Learning curve: 1200+ pages of documentation
- What should be sensible defaults?
More about complexity and files
Tiki 7.1 contains 11348 files and it's the FLOSS Web application with the most built-in features. About half the code in Tiki is maintained by the Tiki community and the other half is re-using code from external libraries like Smarty, Zend Framework, jQuery, etc.
So say we maintain about 6000 files. Sounds like quite a bit, but let's put this into perspective:
- Joomla! has 9463 "extensions"
- Drupal has 15948 "modules"
- WordPress has 19382 "plugins"
Tiki covers the vast majority of features that these 3 systems offer via the thousands of extensions. So just about any project you could do with Joomla!, WordPress or Drupal, you could also do it with Tiki. Yet, they have more extensions to maintain than we have files! (and since they can't possibly maintain them all, it leads to dead-end extensions and disappointed end-users).
Instead of having thousands of extensions, we collaborate on the code base, and can make very specific apps thanks to profiles.
- Value of a free source project
- Beyond code: the community and the experience
- Combining the different features, producing new benefits never imagined by the authors
- How to share this knowledge?
- Profiles to configure your Tiki
- On wiki pages (collaborative, version history, etc.)
- Can be used not just at install, but at any time and can be combined
- Not just for settings, but also for data
- Since there is no extra code, can be designed for very specific, long tail uses
We can have hundreds of profiles for an out-of-the-box experience, with a single code-base!
Tiki NIH Syndrome?
"Not Invented Here (NIH) is a term used to describe persistent social, corporate or institutional culture that avoids using or buying already existing products, research or knowledge because of their external origins. It is normally used in a pejorative sense, and may be considered an anti-pattern." Source: Wikipedia
Half of the code in Tiki comes from other projects! Tiki includes code from over 60 external libraries, including:
- BigBlueButton Web conferencing
- OPcache, XCache, Memcached and APC
- R (statistics & maths for any science)
- GD & ImageMagick
- Zotero (references)
- OpenLayers (OpenStreetMaps, MapServer and GoogleMaps)
- Cclite (community currency)
- Various authentication (phpBB, LDAP, Shibboleth, CAS, OpenID, etc.)
- Kaltura video platform
- 40+ examples at https://doc.tiki.org/Interoperability
How much is it "worth"?
- $20 million according to the Basic COCOMO model
- "Beyond just development time, COCOMO is meant to include the design, specification drafting, reviewing and management overhead that goes along with producing quality software."
- Yet, the Tiki Software Community Association (TSCA) has no employees
- Tiki doesn't depend on any funding from any company, foundation, government or anyone. It thrives thanks to the community.
Why this evolution?
- So things are good, why change?
We need friendly software on the server and on the client computer and mobile device to avoid dealing with so many permutations and be able to develop advanced features and tight integration. Ex.: We have a Tiki chat feature, but we can't do presence.
Overlap & interoperability & the Trend to suites
- Best of breed vs. suites vs. feature bloat
- While Ted Nelson coined "Intertwingularity" to express the "complexity of interrelations in human knowledge", it's the same problem for software. There will always be overlap.
- Apple controls both the hardware and the software which make it much simpler (drivers, UI, etc.)
- Every app claims interoperability (ex.: via open standards)
- It's very hard! Even within apps of a same publisher!
- Because of Zawinksi's law ("Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." ), intertwingularity and the progressive move to Web Applications, more & more apps and SaaS will offer "everything".
- "It's best to do one thing really, really well." –Google
- Google started just with search. And now?
What is status of Tiki Suite?
- The good
- Each component is fantastic, and the future is bright
- All risky / major / strategic components have been selected, and they all fit well together, with minimal overlap
- The bad
- It's still a manual process to assemble all the parts of the Suite (we are working on this)
- Some less critical components (like Desktop virtualization) still need to be picked (but there are many good options)
- The ugly
- Some components don't yet interoperate well even though they should (It proves the relevance of this project!)
How to pick apps?
- This is a long-term strategic decision
- Sound architecture/technology?
- Compatible license?
- Compatible community model?
- Active community?
- Same programming languages as us?
- Is SaaS available?
- Will the project be doing well in 5-10 years?
- Best place to discover & analyze FLOSS projects
- Compare software by tag, check activity level, number of contributors, recent commits, code analysis
- Users add software to their "stacks"
- Similar to CentOS but with slick, integrated UI and tons of features for a distributed organization. Can be on premise or hosted. ClearCenter offers paid services (ex.: remote backups, domain names, etc.) and hardware (ClearBOX)
- Anti-Phishing & Anti-Malware
- Snort network intrusion prevention and detection system (IDS/IPS)
- Bandwidth manager
- PHP & MySQL
- Samba Print & File Share
Mail - Calendar - Contacts with Zarafa & Thunderbird
- Address book, connects to OpenLDAP (which is part of ClearOS)
- ActiveSync for offline access on any mobile device
- Offline email with Thunderbird (and Lightning for Calendar)
- Virual & Spam filters, server-side filters, etc.
Realtime Communication / Presence / Videoconference / Desktop Sharing with Jitsi client
Jitsi (previously SIP Communicator) is a cross-platform VOIP, videoconference, desktop sharing (including remote control) and chat client.
Protocols supported include SIP, XMPP (Jabber) / Google Talk / Facebook chat, AIM/ICQ, Windows Live, Yahoo! Messenger and Bonjour.
Other features include: Call recording, Call & chat encryption, Noise suppression, Echo cancellation, File transfer, multi-user chat, Desktop streaming, Presence, Conference calls, Integration with Microsoft Outlook and Apple Address Book, Support for LDAP directories, Support for Google Contacts, On-line provisioning, Systray notifications, IPv6 support, Spell checker and many more.
Platforms: Windows, Mac, Linux, Android
Realtime Communication (Server side)
Jitsi handles the client-side. Server side, we need:
- Prosody XMPP server
- FreeSWITCH + Fusion PBX (front-end): SIP telephony, Voice Mail, PBX, extensions, etc.
- JitMeet web interface
- Main use case: Online Learning
- Record & playback
- Flash front end. Composed of a dozen FLOSS components (FreeSWITCH, Red5, Java, Tomcat, etc.). Android client
- Integrated with Tiki
- HTML5 version in development, supported by Mozilla
Desktop apps / Virtual desktops
- Edit ClearOS Flexshare files (Samba) via OpenVPN
- Access a virtual desktop (Any OS) via RDP or VNC, which has both software and files.
- Can be with VirtualBox or KVM
- BackupPC can be used to backup from client PCs to the ClearOS server
Kaltura video platform
- Full-featured platform
- Recording from webcam
- Handles transcoding
- HTML5 player
- SaaS available.
- Integrates with Tiki (SSO)
- PHP/MySQL Web analytics
- Easy to integrate, nice feature set, nice UI.
- There is a mobile client
- By default, Tiki uses MySQL, but if/when your site has high performance requirements, you can easily replace with ElasticSearch
- Faceted search
- Natural Language Processing (More Like This, etc.)
- Super fast & scalable
- Easy to deploy
- Already integrated with Tiki
- Also see Kibana, Elasticsearch's data visualization engine
- Used to connect to most apps, and admin panels
- Firefox has a rapid release cycle (a new version every 6 weeks or so) and thus, we will take advantage of the new features as they come out.
- Alternatively, you can use any modern Web browser.
- All major components are picked. Get communities collaborating.
- Compatibility challenges are discovered (workaround, fix, etc.) Ex.: Piwik & Clipperz (A password manager) conflict!
- First a recipe, then a scripted install and eventually a Tiki Suite Appliance (replace our current live Tiki CD)
- More features
- Deploy TogetherJS to all Tiki features
- Password management
- More ERP & Human Resource Management features (ex.: payroll)
- Building automation, access cards, etc.
- Source Control Management
- Digital currency
- Distributed Social Networking / Friend to Friend (F2F)
How to participate
To participate, simply create an account on tiki.org and start participating. This site is a wiki. If you need/prefer to contact someone in private (ex.: media inquiry), please write to marclaporte at this domain name.
You should also create an account and join Tiki Wiki CMS Groupware & Tiki Suite group on the ClearOS site
Tiki Suite: suite.tiki.org
The Tiki model: tiki.org/Model