RE: [xwiki-users] Developer's Guide improvements ideas
by Weiler-Thiessen,David,SASKATOON,Engineering
Hi Vincent
This is something I would greatly appreciate being worked on.
I recently tried to work on a simple app - but got stuck on the use of Classes and Objects. I was trying to model use cases. For this, it seemed like I should have a parent object, UseCase, and then two child objects UseCaseStep and UseCaseStepExtension. The children would have 1:n relations from the parent.
With the limited documentation about building XWiki apps, I couldn't easily see how this could be managed. It seems like all the pieces are there to get this to work - but too much work for a newbie to figure this out on my own.
David Weiler-Thiessen
Nestlé Purina PetCare
phone: 306-933-0232
cell: 306-291-9770
This e-mail, its electronic document attachments, and the contents of its website linkages may contain confidential information. This information is intended solely for use by the individual or entity to whom it is addressed. If you have received this information in error, please notify the sender immediately and promptly destroy the material and any accompanying attachments from your system.
-----Original Message-----
From: Vincent Massol [mailto:vincent@massol.net]
Sent: Friday, March 23, 2007 12:29 PM
To: xwiki-dev(a)objectweb.org; xwiki-users(a)objectweb.org
Subject: [xwiki-users] Developer's Guide improvements ideas
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