Open Source Configuration Sharing by Power Users/Developers Using YAML in a Wiki*
Open source is a lot of the time about the code. But what about the configurations? In some cases, configuring a platform can take significant time and depending on the configuration, the resulting application can be very different and address varied uses. The power users/developers of TikiWiki CMS/Groupware had exactly this problem of configuration being too tedious and full of reinventing the wheel each time. They then figured out a way to share configurations as easy-to-learn YAML inside a wiki so that other power users/developers can make use, enhance and combine these modular application configurations, leading to new and innovative applications that are easily deployed through an automated system. The same approach should be possible for configuration sharing for many different platforms, not just Tiki.
With over 1,000 features and configuration options, the open source TikiWiki CMS/Groupware platform has been used for applications ranging from web content management, online collaboration, file sharing, documentation, intranet/extranet, project/event management, knowledge sharing/management, wiki, blogging, social media, and online community. With over 200 people who have committed code to the project, there are hundreds of thousands of Tiki installations worldwide, including the Firefox Support site that is directly linked from in-browser help.
With so many possibilities for different uses, the Tiki Community was looking for a way to rapidly deploy applications on the platform, avoiding tedious and repeated “reinventing the wheel” configuration of the many individual features. These deployment configurations are defined in YAML, a popular machine-parsable data serialization format that is designed for human readability. Called Tiki Profiles, these configurations are extremely modular, and can be combined to form larger applications. For example, it is possible to combine the configurations for a Time Sheet, a Task List and a Consultant List, to create a basic consultant time-management system. When executed, the Tiki Profiles engine will automatically configure necessary features, create content pages, data structures, user groups, permissions, and input forms that make up the application.
These modular configurations in easy-to-learn YAML are shared just like open source code, but within a wiki, profiles.tikiwiki.org. Not just developers, but power users and business analysts can enhance or combine these configurations, leading to new and innovative applications for the platform. For example, the basic consultant time-management system as mentioned above can easily be augmented with a Budget Tracking application to enhance billing management. Repeated application configuration becomes easy, and application variants can be managed more effectively as incremental add-ons to the same base Tiki Profile.
The same approach of open-source sharing of configurations should be applicable to most platforms that involve significant numbers of configuration options and choices leading to differing applications. It can also allow power-users and not just coders to be more involved in contributing to the open source community.
Nelson is an admin of the TikiWiki CMS/Groupware open source software project. In 2007/08, he led the implementation of TikiWiki for Firefox Support at Mozilla. He is the President and CEO of Citadel Rock Online Communities Inc., a company providing online collaboration and social media solutions based on TikiWiki and other open source software.
Deeply international in outlook, Nelson has held positions in Hewlett-Packard, Bank of Canada, and Singapore Telecom, and architected leading-edge solutions brought to market across the world for companies such as Trans World International Interactive and Telstra. Nelson holds a M.A. Economics degree from the University of Toronto.
Nelson has presented at a number of worldwide conferences including the 2007/08/09 Free Software and Open Source Symposium in Toronto (Canada), 2009 Gilbane San Francisco Conference, 2009 Non-profit Technology Network Conference (San Francisco), 2009 Open Source Singapore Pacific-Asia Conference and Expo, and the 2008 International Society for Professional Innovation Management (ISPIM) Symposium.