Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Case Study: Creating a DocOps/Docs-As-Code DevPortal for


Published on had an interesting problem, as they needed a developer portal to host documentation that that was sourced from a very complex documentation set:

Some of the documentation existed as markdown docs
Guides were composites of several markdown docs
but the majority of the reference documentation is generated from the code itself. We generated thousands of reference docs for various versions of this platform.
Additionally, the developer portal needed to interface with their external community forum.

And it needed to be delivered very quickly: the project started in mid-October, 2019, and was delivered in time for’s Transform conference, an annual customer event held in February, 2020. This talk shares the journey of the portal with challenges and milestones.

Published in: Technology
  • Be the first to comment

Case Study: Creating a DocOps/Docs-As-Code DevPortal for

  1. 1. Hello! Mark Winberry Sr Director US Operations 1 @mswinberry
  2. 2. 2 Pronovix Developer Portal as a base CMS functions User management Content management Blog Search Contact form
  3. 3. Customizations for ● Conceptual Docs: ○ Topics ○ Guides & How-To’s ○ c3typ Reference Docs (thousands!) ● C3 Integrations ○ Okta SSO ○ Discourse Community Forums ● Solr Search for site & forums ● Custom HTML → PDF Generator ● Custom Javascript In-page search for c3types ● Custom Exporter - Importer
  4. 4. Docs as Code Exporter/Importer 4 ● Go application, Docker container ● Runs in the C3 CI/CD build & test pipeline ● Makes api calls to a transient C3 Server and C3 code repo ● Retrieves an JSON object ● Store the data in a temporary, non-persistent database ● After Export, content is then processed to: ○ Reconstruct links ○ Build the composite Guides and How-To’s from multiple C3 Markdown files ○ Versioning support to prevent duplicate content ● Inserted into Developer Portal
  5. 5. What worked well: Keys to Success ● Onsite Workshop - Face to face ● Very clear priorities, with guiding principles and vision ● Iterative Design & Demos ● Clear Approval process: Designs & Implementation Google Sheet ● Shared Communications: Figma, Slack, Google Docs ● Recorded calls & demos
  6. 6. Learnings ● You cannot over-communicate ● Leave lots of time for design & iterations: embrace change ● Didn’t write a test interface for the C3 API→ ○ A bug-fix that happened upstream at C3 broke functionality in the site ○ Silent Failure → bad
  7. 7. 7 Thanks! This was a “We” project: The team at Pronovix and The C3.AI team