<
From version < 16.1 >
edited by Silvia Macovei
on 2010/02/24
To version < 17.1 >
edited by Silvia Macovei
on 2010/02/24
>
Change comment: Fixed page

Summary

Details

Page properties
Title
... ... @@ -1,0 +1,1 @@
1 +Developer's Guide
Content
... ... @@ -3,44 +3,33 @@
3 3  #startfloatingbox()
4 4  If you are interested in participating to<br/> the XWiki project development itself or<br/> in building it from sources, you<br/> should refer to the [[Community wiki>>dev:Main.WebHome]].<br/> You still have a question?<br/> [[Subscribe to the mailing lists!>>dev:Community.MailingLists]]
5 5  #endfloatingbox()
6 +{{/html}}
7 +{{/velocity}}
6 6  
7 -= Developer's Guide =
8 -
9 9  XWiki is a [[second generation wiki>>platform:Main.SecondGenerationWiki]] that provides all the basic content management and administration features of common wikis, but with much more. XWiki takes the wiki approach to a whole new level by providing enhanced features and capabilities. With XWiki, you can build simple applications, extend the platform with custom plugins, or even build complex Web applications.
10 10  
11 -== Reference documentation ==
11 += Reference documentation =
12 12  
13 -<dt>**[[XWiki Architecture>>Architecture]]**</dt>
14 -<dd>
15 -Understanding how XWiki is architected.
16 -</dd>
17 -<p/>
18 -<dl>
19 -<p/>
20 -<dt>**[[XWiki Data Model>>DataModel]]**</dt>
21 -<dd>
22 -You should start by understanding XWiki's data model of Classes, Properties, and Objects. They'll be needed to build applications at the presentation (document) level.
23 -</dd>
24 -<p/>
25 -<dt>**[[XWiki Scripting>>Scripting]]**</dt>
26 -<dd>
27 -Once you understand XWiki's Data Model you'll be able to program directly in the documents you edit. XWiki integrates both Velocity and Groovy scripting. Together, Classes and Scripting will allow you to create basic to complex web applications at the XWiki document layer without the need for compiling code or deploying software components.
28 -</dd>
29 -<p/>
30 -<dt>**[[XWiki API Guide>>APIGuide]]**</dt>
31 -<dd>
32 -Guide that explains the main XWiki APIs.
33 -</dd>
34 -<p/>
35 -<dt>**[[Front-end Resources>>DevGuide.FrontendResources]]**</dt>
36 -<dd>
37 -A description of the tools and frameworks used in XWiki. You'll find information about how you can use external libraries such as YUI and SmartClient and internal XWiki libraries for your the development of your in-wiki applications or for the development of XWiki products themselves. You'll also find the documentation of StyleSheet resources created specifically for the XWiki project.</dd>
38 -<p/>
39 -<dt>**[[XWiki Module Reference>>code:Modules.WebHome]]**</dt>
40 -<dd>
41 -Reference documentation of the various Modules of XWiki:
42 -#set ($currentDb = $context.database)
43 -#set ($dummy = $context.setDatabase("code"))
13 +; **[[XWiki Architecture>>platform:DevGuide.Architecture]]**
14 +: Understanding how XWiki is architected.
15 +\\
16 +; **[[XWiki Data Model>>platform:DevGuide.DataModel]]**
17 +: You should start by understanding XWiki's data model of Classes, Properties, and Objects. They'll be needed to build applications at the presentation (document) level.
18 +\\
19 +; **[[XWiki Scripting>>platform:DevGuide.Scripting]]**
20 +: Once you understand XWiki's Data Model you'll be able to program directly in the documents you edit. XWiki integrates both Velocity and Groovy scripting. Together, Classes and Scripting will allow you to create basic to complex web applications at the XWiki document layer without the need for compiling code or deploying software components.
21 +\\
22 +; **[[XWiki API Guide>>platform:DevGuide.APIGuide]]**
23 +: Guide that explains the main XWiki APIs.
24 +\\
25 +; **[[Front-end Resources>>platform:DevGuide.FrontendResources]]**
26 +: A description of the tools and frameworks used in XWiki. You'll find information about how you can use external libraries such as YUI and SmartClient and internal XWiki libraries for your the development of your in-wiki applications or for the development of XWiki products themselves. You'll also find the documentation of StyleSheet resources created specifically for the XWiki project.
27 +\\
28 +; **[[XWiki Module Reference>>code:Modules.WebHome]]**
29 +: Reference documentation of the various Modules of XWiki:
30 +{{velocity filter="none"}}
31 +#set($currentDb = $context.database)
32 +#set($dummy = $context.setDatabase("code"))
44 44  #set ($sql = ", BaseObject as obj where obj.name=doc.fullName and obj.className='XWiki.ModuleClass' and obj.name<>'XWiki.ModuleClassTemplate' order by doc.name")
45 45  #set ($modules = $xwiki.searchDocuments($sql, 5, 0))
46 46  #foreach ($item in $modules)
... ... @@ -47,77 +47,52 @@
47 47   * [[code:$item]]
48 48  #end
49 49  * ... [[more module documentation>>code:Modules.WebHome]]
50 -<p/>
51 -#set ($dummy = $context.setDatabase($currentDb))
52 -</dd>
53 -<p/>
54 -</dl>
39 +{{/velocity}}
55 55  
56 -== Tutorials and Guides ==
41 += Tutorials and Guides =
57 57  
58 -<dl>
59 -<p/>
60 -<dt>**[[Creating a FAQ application>>FAQTutorial]]**</dt>
61 -<dd>Demonstrates how to combine Classes and Scripting to produce a FAQ application, much like the one you can find on this Wiki [[FAQ page>>xwiki:FAQ.WebHome]]. This is a very simple application that makes use of XWiki's classes, properties, and objects. It also introduces the concept of Authoring Templates and Page Design Sheets. Completing this tutorial is a recommended prerequisite for anyone who wants to build custom applications on the XWiki engine at the document or presentation layer.</dd>
62 -<p/>
63 -<dt>**[[Creating a Groovy Class>>GroovyClassHelloWorldTutorial]]**</dt>
64 -<dd>Demonstrates how to put Groovy code in one page and then reuse it by importing it from another page, be it using Velocity or Groovy.</dd>
65 -<p/>
66 -<dt>**[[Writing an Event Listener in Groovy>>DevGuide.GroovyNotificationTutorial]]**</dt>
67 -<dd>Explains how to write an [[Event Listener>>code:Modules.ObservationModule]] in Groovy in order to perform some action when an event happens in the wiki. Examples of events are Document changed, Object modified, and more.
68 -</dd>
69 -<p/>
70 -<dt> **[[Creating a TODO application in XWiki>>http://www.theserverside.com/tt/articles/article.tss?l=XWiki]]**</dt>
71 -<dd>Another helpful tutorial to using XWiki's classes, velocity scripts, hibernate queries for a dashboard.
72 - Shows well the power of XWiki.</dd>
73 -<p/>
74 -<dt> **[[Creating a form with validation and tooltips]]**</dt>
75 -<dd>Quick and efficient tutorial to set-up validation using regular expression and groovy scripts, as well as tooltips</dd>
76 -<p/>
77 -<dt> **[[Writing XWiki Rendering Macros>>WritingMacros]]**</dt>
78 -<dd>How to develop XWiki Rendering macros (available in XWiki Syntax 2.0 only)</dd>
79 -<p/>
80 -<dt> **[[Writing an XWiki Component>>WritingComponents]]**</dt>
81 -<dd>Getting started with the new XWiki components architecture: introduction to this new design, a step-by-step guide to writing an XWiki component (the recommended way of creating XWiki plugins) and some guidelines and development good practices in this area.</dd>
82 -<p/>
83 -<dt> **[[Skin eXtensions>>SkinExtensionsTutorial]]**</dt>
84 -<dd>Illustrate XWiki's [[Skin eXtensions>>Features.Skins#HSkinseXtensions]] mechanism that allows developers to pull extra Javascript and stylesheet files on demand or for all wiki pages without modifying the wiki templates and skin. The tutorial guides through the creation of minimal stylesheet and Javascript extensions, and continues with a complete exemple of a real-world extension to demonstrate the power of XWiki's skin eXtensions!</dd>
85 -<p/>
86 -<dt>**[[Internationalizing Applications>>InternationalizingApplications]]**</dt>
87 -<dd>
88 -Learn how to write internationalized applications.
89 -</dd>
90 -<p/>
91 -<dt>**[[Creating Plugins>>CreatingPlugins]]**</dt>
92 -<dd>
93 -After you've learnt how to write applications at the document level you may want to go further and program plugins in Java to extend XWiki's view engine, as well as add hooks into different parts of the core engine.
94 -</dd>
95 -<p/>
96 -<dt>**[[Best Practices>>BestPractices]]**</dt>
97 -<dd>
98 -A set of best practices for developing applications with XWiki.
99 -</dd>
100 -<p/>
101 -</dl>
43 +; **[[Creating a FAQ application>>platform:DevGuide.FAQTutorial]]**
44 +: Demonstrates how to combine Classes and Scripting to produce a FAQ application, much like the one you can find on this Wiki [[FAQ page>>xwiki:FAQ.WebHome]]. This is a very simple application that makes use of XWiki's classes, properties, and objects. It also introduces the concept of Authoring Templates and Page Design Sheets. Completing this tutorial is a recommended prerequisite for anyone who wants to build custom applications on the XWiki engine at the document or presentation layer.
45 +\\
46 +; **[[Creating a Groovy Class>>platform:DevGuide.GroovyClassHelloWorldTutorial]]**
47 +: Demonstrates how to put Groovy code in one page and then reuse it by importing it from another page, be it using Velocity or Groovy.
48 +\\
49 +; **[[Writing an Event Listener in Groovy>>platform:DevGuide.GroovyNotificationTutorial]]**
50 +: Explains how to write an [[Event Listener>>code:Modules.ObservationModule]] in Groovy in order to perform some action when an event happens in the wiki. Examples of events are Document changed, Object modified, and more.
51 +\\
52 +; **[[Creating a TODO application in XWiki>>http://www.theserverside.com/tt/articles/article.tss?l=XWiki]]**
53 +: Another helpful tutorial to using XWiki's classes, velocity scripts, hibernate queries for a dashboard.
54 + Shows well the power of XWiki.
55 +\\
56 +; **[[Creating a form with validation and tooltips>>platform:DevGuide.Creating a form with validation and tooltips]]**
57 +: Quick and efficient tutorial to set-up validation using regular expression and groovy scripts, as well as tooltips
58 +\\
59 +; **[[Writing XWiki Rendering Macros>>platform:DevGuide.WritingMacros]]**
60 +: How to develop XWiki Rendering macros (available in XWiki Syntax 2.0 only)
61 +\\
62 +; **[[Writing an XWiki Component>>platform:DevGuide.WritingComponents]]**
63 +: Getting started with the new XWiki components architecture: introduction to this new design, a step-by-step guide to writing an XWiki component (the recommended way of creating XWiki plugins) and some guidelines and development good practices in this area.
64 +\\
65 +; **[[Skin eXtensions>>platform:DevGuide.SkinExtensionsTutorial]]**
66 +: Illustrate XWiki's [[Skin eXtensions>>platform:Features.Skins#HSkinseXtensions]] mechanism that allows developers to pull extra Javascript and stylesheet files on demand or for all wiki pages without modifying the wiki templates and skin. The tutorial guides through the creation of minimal stylesheet and Javascript extensions, and continues with a complete exemple of a real-world extension to demonstrate the power of XWiki's skin eXtensions!
67 +\\
68 +; **[[Internationalizing Applications>>platform:DevGuide.InternationalizingApplications]]**
69 +: Learn how to write internationalized applications.
70 +\\
71 +; **[[Creating Plugins>>platform:DevGuide.CreatingPlugins]]**
72 +: After you've learnt how to write applications at the document level you may want to go further and program plugins in Java to extend XWiki's view engine, as well as add hooks into different parts of the core engine.
73 +\\
74 +; **[[Best Practices>>platform:DevGuide.BestPractices]]**
75 +: A set of best practices for developing applications with XWiki.
102 102  
103 -== Further reading ==
77 += Further reading =
104 104  
105 -<dl>
106 -<p/>
107 -<dt>**[[XWiki API Reference>>API]]**</dt>
108 -<dd>
109 -The API is available as a JavaDoc. It presents the objects and properties that you can access with scripting.
110 -</dd>
111 -<p/>
112 -<dt>**[[Database Schema>>DatabaseSchema]]**</dt>
113 -<dd>
114 -For advanced users who like to know everything, check out the database tables created by XWiki.
115 -</dd>
116 -<p/>
117 -</dl>
118 -{{/html}}
119 -{{/velocity}}
79 +; **[[XWiki API Reference>>platform:DevGuide.API]]**
80 +: The API is available as a JavaDoc. It presents the objects and properties that you can access with scripting.
81 +\\
82 +; **[[Database Schema>>platform:DevGuide.DatabaseSchema]]**
83 +: For advanced users who like to know everything, check out the database tables created by XWiki.
120 120  
121 -== Draft documentation ==
85 += Draft documentation =
122 122  
123 123  See the [[Draft space of the Development Wiki>>dev:Drafts.WebHome]].

Get Connected