Hi,
I've had a discussion today with Jean-Vincent about how we should
improve our Developer's Guide on
xwiki.org. I'm putting the thoughts
we had here as a memo for ourselves but also to let everyone know
what we'll be working on. Obviously we need help so anyone
interested, please chime in and start editing the pages on
xwiki.org.
- The Developer's Guide is actually about Developing XWiki Applications
- An XWiki application is a XAR (set of XWiki pages) and/or Java plugins
- Thus we need to explain how to create applications using XWiki
pages and how to develop plugins
Plugin Development:
- We already have a guide which I think is quite good. Needs a little
rework but overall good.
- We need to add information about where are the Extensions Points
(beginRendering, endRendering, downloadAttachment and the
Notification mechanism)
- Show an example of using the notification mechanism to perform an
action when a page is saved for example
- Add information about Plugin development best practices
- How to test a plugin (unit tests + functional tests)
- Class naming
Page Development:
- Improve the existing documentation on the following concepts:
Class, Objects, Template, ClassSheet. Use diagrams for that
- Add a page that lists, say, the 10 most used XWiki APIs (searching
for documents, get a document object from a page name, etc). On that
page, add a link to the latest Javadoc (which we need to publish -
There's a jira for this)
- Detailed explanation on how to create a class and the different
field types + explain how form validation can be done
- Explain how the Notification mechanism can be used directly from a
page
- Page development best practices (there's already a page about this
but it needs to be improved a lot):
- When to use velocity, when to use groovy, when to use Java
- Where to put the different page types (classes, sheets, etc)
- What prefixes to use
- Query guide to write hibernate query using the XWiki database
model. Explain how to use the display/search APIs too.
Thanks
-Vincent