Documenter should not longer store documentation in the database but in plain Markdown text files on the server in the workspace
folder. This way, it would be possible to easily share texts between installs and to track changes using Git.
In order to keep things simple, documentation should be converted from Markdown to HTML on the fly. This will remove the need to keep server and database in sync. To reduce page load, we could do the following instead:
- Documenter should only add references to the actual files on the server when loading a backend page.
- Each of these reference should carry a last modified timestamp of the server file.
- Documenter should load these files using AJAX as soon a the user opens the documentation drawer.
- Documenter should store the result for later use in the browsers
localStorage
. - Documenter should only update the
localStorage
, if the reference's timestamp changed.
It should be possible to limit access to the documentation based on the user types author, manager and developer. This could be a simple multiple select box or tag list field.
There should be two general Documenter preferences:
- "Enable default Symphony documentation" and
- "Enable developer Symphony documentation"
The first option should load the default Symphony documentation for the current backend page, e. g. the documentation how to use and create pages, see http://www.getsymphony.com/learn/concepts/.
The second optoin should load and display the API documentation for the current backend page, e. g. when viewing the pages area it should display the documentation for the used classes and which delegates are available to the programmer, see http://www.getsymphony.com/learn/api/2.3.3/.
This is related to symphonycms/docs.getsymphony.com#1