Motivation
(work in progress)
Somewhere around May 2017 (around CiviCon Saint-Louis), the idea of sunsetting (slowly retiring) the Confluence wiki came up. It was just after the Biryani crash, which caused an outage of the stats.civicrm.org service. It was a time as any to re-evaluate what parts of the infrastructure are efficient, which aren't.
- A lot of documentation has moved to other platforms
- User, admin and eventually the system administrator guide had moved to https://docs.civicrm.org
- Infrastructure documentation had been on github for some time (partly so that it could be available in case of an outage).
- Website documentation was also on its github repo.
- as well as the documentation for various tools, such as buildkit, civicrm-statistics, etc.
- Lack of structure made it difficult to find the documentation.
- Also hard to enforce working-groups, or see the documentation related to a working-group.
- Lack of access control (or its complexity) meant that people had to organize outside Confluence (ex: event/conference organization), by email or google-docs.
- Confluence is difficult to maintain and time-consuming to upgrade.
- We are running several versions behind the latest versions
- There are licenses to manage (Confluence is proprietary)
- It has plugins that sometimes break or have their own license to renew
- We had frequent spam-runs, until we put it behind LDAP authentication behind manually-approved accounts on https://civicrm.org (around February 2016)
- The LDAP integration randomly broke in June 2017, requiring us to go back to manual management of accounts.
- Many system messages or screens of Confluence cannot be customized at all, unless we edit files that need to be re-merged after upgrades (making it harder to provide guidelines to people).
- Confluence does weird things, such as storing plugins in zip format in the database, which sometimes causes problems with database backups.
- Confluence is proprietary software. It's difficult to argue that people should "own their CRM" when we do not own our own tools.
After some experiments in Gitlab, early testing concluded that:
- Any formal doc should be on docs.civicrm.org, since it's awesome.
- Any work-in-progress, brainstorm or internal documentation could be stored in the wiki associated to a Gitlab project. Since both are markdown, it's easy to copy-paste from Gitlab to mkdocs (docs.civicrm.org).
- Further experiment with Gitlab and let it grow organically, in the hopes that the wiki deprecates itself, without much disruption.
Caveats
- The Gitlab wikis are very simple. They do not offer features such as a plugin for Balsamiq wireframes, embeds of lists of JIRA issues, advanced formatting.
- A cloud or desktop version of Balsamiq can still be purchased individually, or other tools. Although this makes it more difficult to collaborate on a wireframe, most often they are made by 1 person for a specific project, then only the JPG is archived.
- JIRA embeds were very rarely used.
- Advanced formatting was preferred by those who didn't like markdown, and vice-versa.
- The Core Team agreed that Jamie/CompuCorp create a new cloud/hosted instance of Confluence for those who require it, notably for specs on more complicated projects (https://civicrm.atlassian.net/wiki/spaces/CC). People can sign up by creating an account on Atlassian's cloud service. Using this service is similar to using other cloud platforms often used when collaborating on drafts, such as google-docs. The end result should be documented in docs.civicrm.org or in code.
- The wiki has a lot of historical content, a lot of which will not be migrated to other tools.
- It will be preserved by converting the archives to a static site.
Timeline
- 2017-03: Early experiments with Montreal CiviCamp, website requests
- 2017-04: "INFRA" project migrated to Gitlab (infrastructure), including issue management and bits of wiki documentation.
- 2017-05: Informal sprint discussions at CiviCon Saint-Louis, on the impacts of sunsetting the wiki, infrastructure cleanup.
- 2017-06: User accounts no longer tied to civicrm.org (LDAP). New account creation must be requested and created manually. At this point, the intention to sunset the wiki is mentioned more broadly.
- 2017-07: Webinars moved to Gitlab
- 2017-07: Partner meetings moved to Gitlab
- 2017-09: Sean's Sysadmin Documentation "Make it happen" - while not directly related, it meant that many important wiki pages were going to be moved off.
- 2017-10: Core Team agrees to Jamie/CompuCorp's request to create a "hosted" instance of Confluence on Atlassian's cloud service.
- 2017-10-31: This roadmap is written down.
- 2017-11: The permission to add new pages is removed from the wiki (but admins can still add pages, on request).
- 2017-11: Add huge warning about wiki sunsetting?
- 2018-02: to be determined..
- Start experiments to convert to static HTML, keep the wiki as editable for admins?