This is a rough outline to start prioritizing and scheduling the reorganization and infrastructure work I'm trying to get done on MDC. I list these items in roughly the order in which I hope to address them, although as always that's subject to change. Although I have two lists here, the two are ongoing at the same time. I only have them separated for ease of maintaining the lists.
This is not a complete list of everything we want to do; rather, this is a list of stuff that I hope to do relatively soon, during my current MDC improvement cycle.
Right now, the content on MDC has some significant organization problems. There are several things we're going to be doing to help remedy that.
- New menu hierarchy. I've been working on a new hierarchy of menus to help guide users to the documentation they need. This has been out there for feedback for some time now, and I think is almost ready to roll out. FINISHED.
- New templates for organizing content. This is ongoing work.
- Templates have been added for tagging interface methods as noscript, as well as for the version of Firefox and/or Gecko they were introduced with.
- Similar templates are needed for constants and attributes.
- We also need to add templates for building constant lists in interface documentation, so that individual constants can be linked to. Currently, you can't link to constants' descriptions, which is sort of lame.
- Also need templates for wrapping body content in a "this section applies only to version X or later" box.
- Move content into a hierarchy. Currently, most of our content is at the top level of the site. This introduces several problems in terms of managing the content, and reduces efficiency, especially when using the linking features within Deki; when browsing article lists, the list is very long when everything's at the same level.
- The first step on this is to migrate all the interface reference documentation into a subtree. I've got an almost-ready script that automatically locates these and moves them. It's being tested on a VM at home now, and I hope to be ready to use it on the live site very soon.
- Much of the rest of this work will likely need to be done by hand, although we may be able to employ some automation for certain categories of content.
- We need to devise a list of categories that need to become levels of the site's hierarchy. I expect this will be discussed on dev-mdc in the near future.
- Start showing XUL and HTML samples in-place instead of requiring the reader to link elsewhere to see them. This could be done either by directly embedding the content, or by using an iframe.
There's a lot of infrastructure work to do, too.
- Upgrade to Deki Lyons. This should be done by the middle of May; IT has been alerted, and we're waiting on the release of the update. We intend to upgrade roughly two weeks after it's released, to allow time for any issues to be noted and dealt with. This blocks most of the other infrastructure work. FINISHED.
- Add an "I see an error" button that people can click on, which pops up a note saying "You know, you can fix this yourself, right?" note, with "OK, let me edit it" and "I think this fix is too much for me" buttons. The former would go to the edit mode for the page, and the latter would take the user to Bugzilla to file a bug report against the article.
- Add some "widgets" that users can easily add to their user page, for things such as "File a bug" and "Search bugs" and that kind of thing, as well as possibly some pre-built templates for inserting lists of useful articles for various subject areas. This would let people set their user page up as a personalized home page for MDC.
- Performance improvements.
- We have a bug filed with Mindtouch about the cache control headers being whacked.
- Deki Lyons will correct the problem with links in articles' tables of contents being full URLs instead of just links to the anchor; this will fix the problem of entire documents being reloaded every time you click on the TOC.
- Suggest content the contributor might like to work on.
- Need a way for users to suggest content areas they understand well.
- Then we can scan through articles marked as needing review or content and make suggestions.
- We should also offer a way to look at failed searches to make suggestions as well.
- Use CSS and some buttons to allow users to choose a version of Firefox/Gecko to show documentation for, hiding stuff for other versions. Also offer the ability to show docs for all versions, similar to the current look.
- Currently, you can arbitrarily change pages' languages without regard to which language's subtree they're located in. This is as designed by MindTouch (the per-language hierarchies are a Mozilla specific thing). They suggest we could create a plugin that enforces the page language based on the language code subtree. I'm investigating this.