🎙
Xavier Roy
I work at Genesys as a Staff Technical Writer.
My role involves writing, editing, and content engineering.
/now interested in personal knowledge management, role-playing games, and neuroscience…
What?
This session covers how Genesys uses Mediawiki for developing and publishing complex enterprise-wide documentation.
Mediawiki currently is the software that runs the world’s largest website, Wikipedia.
In the beginning… (circa 2015)

the final choice was..

Proof of Concept

🤔
There were still a lot of things missing
Power of PonyDocs
Products
Manuals
Table of Contents
Versioning
Access Control
Products
Source View

Rendered View

Manuals
Source View

Rendered View

Table of Contents
Source View

Rendered View

Versioning
Source View

Rendered View

Access Control

Phase One: Migration Complete 🚀
- Content was moved to Mediawiki using some scripts and manual copying over.
- PonyDocs allowed managing content with some information architecture.
- For each new content update, we created new pages and added it to the manual.
- Simple templates for marking up content like warnings and tips.
Wikified, yet book-based thinking
Automation for Release Notes
From JIRA to Mediawiki
JIRA Query ➡️ categorise ticket information ➡️ convert to wikitext ➡️ create Release Note (New, Resolved, and Known Issues)
Adding semantics to content
- started using Cargo (a MW extension) to store and query metadata.
- applied structure to content.
- allowed us to develop different view models to display content.
- import XML content from dev teams to Mediawiki.
- build a content model for an option and store info in Cargo.
- present data in a filterable model to locate any configuration option across products.
- view content as a pop-up or in a special reference guide.
the single source of truth for all supported software like OSes, databases, browsers, third-party tools.
used by customers and internal teams.
Form-based entry because content is entered by Product Managers.
Cargo data is used to build individual product-specific information and also across all products.
MintyDocs
MintyDocs is a MW extension that was built specifically for product documentation. It is an imporved & restructured upgrade from PonyDocs extension (PD had no active development since 2017 and considered abandoned).
MintyDocs is available under GNU General Public License for others to use.
What MintyDocs gives us
- Form-based authoring via Page Forms extension
- Metadata and structured data via Cargo extension
- Atomic content structures for reusability - transclusion
- Dashboards for managing content and administration
- Page Templating for custom page needs
Phase Two: Advanced Usage & Automation 🤖
- MintyDocs and other plugins allowed us to start structuring content.
- Implemented the Every Page is Page One (EPPO) model espoused by Mark Baker.
- Switched to writing and best practices followed by cloud-based software.
- Queryable interfaces for data that is always up-to-date with Cargo.
- Implemented automation for a docs-as-code workflow.
Structured Authoring
We are not talking about DITA here.
- A quasi-CMS layer atop Mediawiki for easy structured authoring.
- Form-based authoring that adds a layer of metadata over content.
- Support for multimedia content (images, animation, videos, and flowcharts).
Content Engineering
- Develop customised templates for varying content types. (Page types like RN, Upgrade sections).
- Define new content structures for resuable content (boilerplate text) or newer data models (Kafka events) or diagrams.
Search enhancements
- A custom-built search engine that provides faceted search across two Mediawiki platforms (PonyDocs and MintyDocs).
- Writers could update the search index (if needed) immediately or restrict pages from being indexed.
The Content-as-Data paradigm
- Content can be converted into multiple data views like tooltips, FAQs, and embedded help.
- Special Collector pages can be built automatically to act as landing pages or ‘content portals’.
Improved Automation
- Automation enhancements for RNs and docs-as-code pipelines.
- RSS Notifications for customers for Release Notes.
- 🆕 AI-generated summaries for doc changes (won 🥉 in hackathon)
Phase Three: Implementing Content-as-Data 🆒
- embraced the idea that content can be repurposed and made available in varying formats.
- improved automation to reduce writer workload.
- developed data structures that can accomodate different content needs.
- build interesting ways to present content based on what users are looking for.
- provide a better information experience.
Adopting a new platform need not be a source for worry.
Embracing change, making mistakes, having fun is part of any implementation.
Having a great team also helps. 😄
References
MediaWiki
MediaWiki extensions:
Genesys Documentation
🙏🏾
Happy to help/demo if you have any questions.