Editing Google Season of Docs/2021/Case Study
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
= Season of Docs Case Study for 2021 = | = Season of Docs Case Study for 2021 = | ||
− | == | + | == Title == |
+ | Organization: BRL-CAD | ||
− | + | Description: BRL-CAD is a powerful cross-platform solid modeling system for 3D computer-aided design and graphic visualization. Currently standing at more than a million lines of code and hundreds of staff-years investment, BRL-CAD has nearly 40 years development history (since 1979) and is in production use by more than 2000 organizations. BRL-CAD is represented, used, and developed by a collective of industry, academia, and government participants from all over the world. | |
− | |||
− | + | Authors: Sean Morrison <brlcad> | |
== Problem Statement== | == Problem Statement== | ||
− | In all, BRL-CAD has ''more than a '''million''' words'' of documentation across hundreds of manual pages, dozens of tutorials, hundreds of wiki pages, dozens of technical papers, and other resources. | + | In all, BRL-CAD has ''more than a '''million''' words'' of documentation across hundreds of manual pages, dozens of tutorials, hundreds of wiki pages, dozens of technical papers, and other resources. There are literally thousands of features created over decades of development. |
− | This project attempts to modernize | + | This project attempts to modernize our infrastructure with this effort migrating the bulk of BRL-CAD's existing documentation from the Docbook XML format to AsciiDoc in Antora. This is a first-step towards improving the documentation management by consolidating onto a system that is more accessible and maintainable, while preserving our ability to "compile" documentation into HTML, PDF, and other formats. |
− | == Proposal Abstract == | + | ==Proposal Abstract== |
− | Our organization focus for the 2021 Season of Docs entailed migrating BRL-CAD's core documentation infrastructure off of Docbook XML. For many years, BRL-CAD has utilized Docbook XML for primary documentation management but | + | Our organization focus for the 2021 Season of Docs entailed migrating BRL-CAD's core documentation infrastructure off of Docbook XML. For many years, BRL-CAD has utilized Docbook XML for primary documentation management but with tooling complexity, documentation support limitations, and authoring challenges. XML tools are available but require custom integration and custom maintenance. Docbook XML as a format (with or without XSLT) is not well-suited to certain types of documents (e.g., presentations, flyers, quick reference sheets, or documents with very specific formatting). It's also not as common or familiar as simpler text-based formats (e.g., Asciidoc, Markdown, etc) that have since become popular and commonplace. |
− | As such, this project involved setting up a new system in order to better understand modern available options and | + | As such, this project involved setting up a new system in order to better understand modern available options and migrate a significant portion of documentation to said system. |
[[Google_Season_of_Docs/Proposal|Original organization proposal is available here.]] | [[Google_Season_of_Docs/Proposal|Original organization proposal is available here.]] | ||
Line 25: | Line 25: | ||
==Project Description== | ==Project Description== | ||
− | + | Creating the proposal | |
− | + | We had already identified documentation infrastructure as a potential project several years ago, recognizing that it was tedious and hard for contributors to work on BRL-CAD's documentation. On multiple occasions, we had contributors join BRL-CAD and attempt to work on documentation. We were even successful getting a few translations of our 1-page "About BRL-CAD" documentation, but the Docbook XML format was demonstrably a very significant challenge for contributors. As such, evaluating new doc infrastructure has been on our forefront attention -- particularly any solutions with the potential for *round-trip* editing while still being manageable in a revision control repository. Round-trip editing proved to be a specific challenge for Docbook XML as online editing options are limited. | |
− | + | A call for feedback was put out on our Zulip chat and discussed regularly amongst the community. There was much discussion and preliminary research on Antora vs Docusaurus vs MkDocs vs other solutions. Ultimately, an executive decision was made to trial a conversion to Antora as it appeared to offer the most alignment and compatibility with Docbook XML, and this project idea was the result. | |
− | |||
− | A call for feedback was put out on our Zulip chat and | ||
===Budget=== | ===Budget=== | ||
− | Project budget estimation was very straightforward. As the project was constrained to documents already under revision control in Docbook XML format, we already has prior experience with their approximate conversion costs and level of effort | + | Project budget estimation was very straightforward. As the project was constrained to documents already under revision control in Docbook XML format, we already has prior experience with their approximate conversion costs and level of effort. By counting the number of documents, document complexity, number of pages, and taking timeline into consideration, we arrived at an estimate of 3-4 months of full-time effort. Depending on the person's background and skills would determine if it was more or less. |
− | + | We did not encounter any unexpected expenses except for time and resourcing required to set up banking accounts for paying our writer. Account establishment took considerably more time than was expected resulting in delays and frustration. This is elaborated on more in the below Analysis section. | |
− | |||
− | We did not encounter any unexpected expenses except for time and resourcing required to set up banking accounts for paying our writer. Account establishment | ||
===Participants=== | ===Participants=== | ||
− | This project was principally worked on by our | + | This project was principally worked on by our writer, Dashamir Hoxha. |
− | + | He found us. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<!-- Who worked on this project (use usernames if requested by participants)? How did you find and hire your technical writer? How did you find other volunteers or paid participants? What roles did they have? Did anyone drop out? What did you learn about recruiting, communication, and project management?--> | <!-- Who worked on this project (use usernames if requested by participants)? How did you find and hire your technical writer? How did you find other volunteers or paid participants? What roles did they have? Did anyone drop out? What did you learn about recruiting, communication, and project management?--> | ||
Line 59: | Line 49: | ||
===Timeline=== | ===Timeline=== | ||
− | We we anticipated the project would require 3-4 months of near full-time effort. | + | We we anticipated the project would require 3-4 months of near full-time effort. Our writer was consistently ahead of schedule such that he completed the majority scope in a little under 2.5 months time. He then invested another month expanding scope to work on our wiki and gallery conversion, which were not in Docbook XML format. |
− | |||
− | Our writer was consistently ahead of schedule such that he completed the majority scope in a little under 2.5 months time | ||
− | |||
− | |||
<!-- Give a short overview of the timeline of your project (indicate estimated end date or intermediate milestones if project is ongoing).--> | <!-- Give a short overview of the timeline of your project (indicate estimated end date or intermediate milestones if project is ongoing).--> | ||
Line 69: | Line 55: | ||
===Results=== | ===Results=== | ||
− | The conversion work is still pending brlcad.org integration | + | The conversion work is still pending brlcad.org integration as it's a big change, but our main docs are staged publicly at: |
https://brl-cad.fs.al/ | https://brl-cad.fs.al/ | ||
− | + | Our docs were converted from Docbook, Mediawiki, and Piwigo for our main docs, wiki docs, and gallery respectively. All three are now available on our GitHub repo: | |
− | |||
− | Our docs were converted from Docbook, Mediawiki, and Piwigo for our main docs, wiki docs, and gallery respectively. All three are now available on our GitHub repo | ||
https://github.com/BRL-CAD/brlcad-docs | https://github.com/BRL-CAD/brlcad-docs | ||
https://github.com/BRL-CAD/wiki | https://github.com/BRL-CAD/wiki | ||
Line 84: | Line 68: | ||
===Metrics=== | ===Metrics=== | ||
− | Measuring success was (initially) a simple function of percent documentation converted to | + | Measuring success was (initially) a simple function of percent documentation converted to AsciiDoc and deployed to Antora. At present, there are 505 .xml documents in doc/docbook of the repository that require conversion. For the project to be considered successful, we identified (somewhat arbitrarily but based on need) a requirement of 90% of the existing Docbook files to be fully converted to AsciiDoc, imported to Antora, and deployed online. |
Our writer was adept at revision control and documentation systems, so he was able to establish repositories on GitHub with complete transparency on progress being made. Updates were shared over Zulip as well. | Our writer was adept at revision control and documentation systems, so he was able to establish repositories on GitHub with complete transparency on progress being made. Updates were shared over Zulip as well. | ||
Line 93: | Line 77: | ||
===Analysis=== | ===Analysis=== | ||
− | + | The project was a resounding success. We had identified approximately 505 Docbook XML files for conversion. Our result is 674 Asciidoc files as well as two more repositories of conversion. | |
− | |||
− | + | As for SoD itself ... | |
− | + | The application process was a little confusing given status and uploads are not tracked through a web app / interface as they are with the Summer of Code. We had to repeatedly go back to the program documentation to see if there was anything we overlooked or an action we missed, and there was always a bit of uncertainty. | |
− | |||
− | |||
The documentation, templates, and examples from Google are excellent, but we found it to be a very manual process. It would be helpful if there were a login portal for administrators that is used to view org submission status, see upcoming deadlines, manage writer applications, etc, as is done for GSoC. We realize SoD is different and targets different individuals, but the benefits of a personalized dashboard would have greatly helped reduce some uncertainties. | The documentation, templates, and examples from Google are excellent, but we found it to be a very manual process. It would be helpful if there were a login portal for administrators that is used to view org submission status, see upcoming deadlines, manage writer applications, etc, as is done for GSoC. We realize SoD is different and targets different individuals, but the benefits of a personalized dashboard would have greatly helped reduce some uncertainties. | ||
Line 115: | Line 96: | ||
==Summary== | ==Summary== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<!--In 2-4 paragraphs, summarize your project experience. Highlight what you learned, and what you would choose to do differently in the future. What advice would you give to other projects trying to solve a similar problem with documentation?--> | <!--In 2-4 paragraphs, summarize your project experience. Highlight what you learned, and what you would choose to do differently in the future. What advice would you give to other projects trying to solve a similar problem with documentation?--> | ||
==Appendix== | ==Appendix== | ||
− | |||
− | |||
− | |||
− | |||
<!-- If you have other materials you'd like to link to (for example, if you created a contract for working with your technical writer that you'd like to share, or templates for your documentation project, or other open documentation resources, you can list and link them here). The Appendix is also a good place to list links to any documentation tools or resources you used, or a place to add thanks or acknowledgments that might not fit into the sections above.--> | <!-- If you have other materials you'd like to link to (for example, if you created a contract for working with your technical writer that you'd like to share, or templates for your documentation project, or other open documentation resources, you can list and link them here). The Appendix is also a good place to list links to any documentation tools or resources you used, or a place to add thanks or acknowledgments that might not fit into the sections above.--> |