Tiki is the FLOSS Web Application with the most built in features and to do so in a sustainable way, it uses over 100 software libraries and avoids duplication. This permits more and better functionality, while limiting the complexity and the quantity of work (technical debt). Please see Composer.
Given that
- Tiki avoids duplication to avoid http://pluginproblems.com/
- We'll limit our potential if we don't pick the best option
- It's possible but painful to change later
- Picking and maintaining dependencies is a critical skill because https://www.reddit.com/r/programming/comments/1z09jq/why_your_software_project_will_slowly_die_without/
it is very important to take the necessary time to analyze and decide on the right component to integrate.
General steps
- Scope the need in a wiki page on dev.tiki.org
- Add some options with some pros and cons
- Inform the Dev Mailing List of this process and invite anyone interested to participate
- Complete a thorough analysis
- This can include a proof of concept with one or more of the options
- Make sure to identify which ones already work well with exiting code in Tiki, or WikiSuite
- If a popular project has been abandoned, there is very likely a https://useful-forks.github.io/
- Inform the Dev Mailing List of the options
- A community discussion ensues and a strategy is picked
- Implement the solution
- Be proud that the process was thorough and gave us the best possible chance of a smooth future for this functionality!
Some examples
Past
- Around Tiki11: * Bootstrap vs Foundation vs staying with Tiki way
- Back around Tiki 2.0: CKEditor vs TinyMCE
- Slideshow framework stats comparison
- Datavis Convergence
Future
- Link Preview
- Signature
- A Screencasting / screen capture / video editor
- Font picker?
- Emoji picker?
Related links