Hello there,
http://api.silverstripe.org got some direly needed attention recently.
It was last updated March 2009 (!), apologies for leaving such a crucial tool in that state.
Notable changes:
* Version specific documentation: http://api.silverstripe.org/trunk, http://api.silverstripe.org/2.4 etc
* Slightly nicer template with a bit of SilverStripe branding
* Google custom search (should be version specific as well, I'm waiting for the index to update)
* Automatic updates (every night from an updated svn working copy)
* Removed the superfluous default wiki pages for every class on doc.silverstripe.com. This means we need a more obvious way to search the API docs as a doc.ss.org search won't return matches for every class).
Now, thats a good start, but I think we can still make this a lot better. We're a bit limited by what phpDocumentor enables us to do, but I think a lot can be achieved just by using templating, css and a dash of javascript.
WE NEED YOUR HELP TO MAKE THIS HAPPEN! You don't need much SilverStripe knowledge for this, its basically working with Smarty templates and phpDocumentor. Please contact me if you are interested in giving back to the SilverStripe project by improving the API docs, and we'll help you get started on running the (pretty simple) documentation scripts.
Specifically:
* Better styling for method listing (too much random indentation and horizontal spacing)
* Make package navigation more obvious (otherwise users will miss the difference between "cms" and "sapphire" packages)
* Reduce the default phpDocumentor clutter (unnecessary line numbers, "tags", ...)
* Add some jQuery to auto-hide inherited properties (and expand on click)
* Improve landing page for every release (link to doc.ss.org, installation instructions, upgrade notes, changelog)
* Show method/property detail listing directly instead of the massive anchor link index at the top of class documentation
* Remove the file listing in sidebar, and increase visibility of class listing
* Make the sidebar (class listing) scrollable (pseudo frameset)
* Bring the horrible table-based templates into 21st century
Good examples we can learn from:
* http://api13.cakephp.org (very clean and useable)
* http://www.symfony-project.org/api/1_4/ (good overview with short class descriptions)
* http://api.rubyonrails.org/ (very detailed documentation, although presentation is not that great)
In general, I'd be interested to find out how many of you plan to use the (improved) API, and in which context (looking up a single method signature, learning about a new feature, etc.).
Feedback welcome!
Ingo