-
Notifications
You must be signed in to change notification settings - Fork 10
Feature: content authoring
Internal web application for managing supplemental content categories and items. (When we say supplemental content, we mean policy-related content outside of the regulation text that we import from eCFR. For example, links to State Medicaid Director Letters are supplemental content items.)
In previous iterations of eRegulations worked on by other teams, such as ATF eRegulations, a domain/policy SME would need to write supplemental content in a document of some kind, go through their own content approval processes if necessary, and give the approved material to a developer to implement.
That wasn't going to work for us! There's too much content, that's a laborious process, and we want CMCS eRegulations to be a long-term sustainable project.
Our team SME and our CMS partners need to be able to add and edit supplemental content independently, along with potentially approving or otherwise reviewing it. They need to be able to focus on the content using their existing expert professional skills, without needing special training in code/markup.
Our team SME compiled a lot of supplemental content in spreadsheets before we were ready to work on a content authoring interface. This was a good initial way to gather information and prototype what we needed, but spreadsheets are not a good long-term content management solution for us. They are difficult to work on collaboratively (especially because our CMS partners generally do not have access to Google Sheets), they can easily get inconsistent, and they often take developer work to sync up with the database.
- We believe that: providing a web application for adding and editing content
- For: policy/domain SMEs and people supporting them
- Will result in: content that is consistently structured and reasonably low-effort to maintain for both our policy/domain SMEs and our engineers, so it can be comprehensive and easy to update
- We will know we are right when: more than one policy/domain SME is able to use the interface to maintain content without errors in a reasonably efficient and tolerable way, and we feel confident promising a specific level of up-to-dateness for supplemental content on our "about" page
We're using the Django admin tool to add/edit/organize content until (or unless) we find we have needs it can’t accommodate, including until we learn more about what we might need for content governance processes.
The Django admin tool is a content management system made from pre-built components, so it’s less easy to customize than a totally custom system, but the tradeoff is that it’s efficient and reliable to work with - for example, we’re not likely to have to deal with interface bugs such as scrolling problems or lists being wrong. It should be a reliable representation of the data. It's also already a mature application from a security perspective.
It makes sense to discuss and plan improvements to the Django admin tool as needed. We work out what’s needed, do design and copy work, etc, in the same way as our other work (sorting into specific tickets and prioritizing them and so on).
How content gets in:
- For the moment, our policy SME is adding content by hand as needed to display for demos, even if redundant with spreadsheets.
- Our team is working to get the existing spreadsheets uploaded by machine, so that Policy SME doesn't have to manually re-add them.
- For additional content (not in spreadsheets) now and in the future, Policy SME will add in the authoring interface by hand.
- Based on what we learn about CMCS policy staff needs and content governance needs, we may need to adjust or change our plans - for example, what kind of content workflow do we need? Can we make the Django admin tool support that?
Here's a detailed look at eRegulations' instance of the admin interface for a better understanding of how it is structured.
Please note that all pages on this GitHub wiki are draft working documents, not complete or polished.
Our software team puts non-sensitive technical documentation on this wiki to help us maintain a shared understanding of our work, including what we've done and why. As an open source project, this documentation is public in case anything in here is helpful to other teams, including anyone who may be interested in reusing our code for other projects.
For context, see the HHS Open Source Software plan (2016) and CMS Technical Reference Architecture section about Open Source Software, including Business Rule BR-OSS-13: "CMS-Released OSS Code Must Include Documentation Accessible to the Open Source Community".
For CMS staff and contractors: internal documentation on Enterprise Confluence (requires login).
- Federal policy structured data options
- Regulations
- Resources
- Statute
- Citation formats
- Export data
- Site homepage
- Content authoring
- Search
- Timeline
- Not built
- 2021
- Reg content sources
- Default content view
- System last updated behavior
- Paragraph indenting
- Content authoring workflow
- Browser support
- Focus in left nav submenu
- Multiple content views
- Content review workflow
- Wayfinding while reading content
- Display of rules and NPRMs in sidebar
- Empty states for supplemental content
- 2022
- 2023
- 2024
- Medicaid and CHIP regulations user experience
- Initial pilot research outline
- Comparative analysis
- Statute research
- Usability study SOP
- 2021
- 2022
- 2023-2024: 🔒 Dovetail (requires login)
- 🔒 Overview (requires login)
- Authentication and authorization
- Frontend caching
- Validation checklist
- Search
- Security tools
- Tests and linting
- Archive