Wiki source code of Developer Guide

Last modified by Ecaterina Moraru (Valica) on 2020/01/28

Show last authors
1 {{velocity output="false"}}
2 $xwiki.ssx.use('Documentation.WebHome')
3 {{/velocity}}
4
5 (% class="row cards" %)
6 (((
7 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
8 (((
9 (% class="card card1" %)
10 (((
11 (% class="card-body" %)
12 (((
13 ==== (% class="card-title" %)[[Scripting API Guide>>Documentation.DevGuide.Scripting.APIGuide.WebHome]](%%) ====
14
15 (% class="card-text" %)
16 (((
17 Guide that show how to use important XWiki APIs from a script.
18 )))
19 )))
20 )))
21 )))
22
23 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
24 (((
25 (% class="card card1" %)
26 (((
27 (% class="card-body" %)
28 (((
29 ==== (% class="card-title" %)[[API Reference>>Documentation.DevGuide.API.WebHome]](%%) ====
30
31 (% class="card-text" %)
32 (((
33 The API is available as a JavaDoc. It presents the objects and properties that you can access with scripting.
34 )))
35 )))
36 )))
37 )))
38
39 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
40 (((
41 (% class="card card1" %)
42 (((
43 (% class="card-body" %)
44 (((
45 ==== (% class="card-title" %)[[Scripting>>Documentation.DevGuide.Scripting.WebHome]](%%) ====
46
47 (% class="card-text" %)
48 (((
49 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.
50 )))
51 )))
52 )))
53 )))
54 )))
55
56 == Reference ==
57
58
59 (% class="row cards" %)
60 (((
61 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
62 (((
63 (% class="card card2" %)
64 (((
65 (% class="card-body" %)
66 (((
67 ===== (% class="card-title" %)[[Architecture>>Documentation.DevGuide.Architecture.WebHome]](%%) =====
68
69 (% class="card-subtitle mb-2" %)
70 (((
71 ====== Understanding how XWiki is architected and how to extend it. ======
72 )))
73 )))
74 )))
75 )))
76
77 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
78 (((
79 (% class="card card2" %)
80 (((
81 (% class="card-body" %)
82 (((
83 ===== (% class="card-title" %)[[Data Model>>Documentation.DevGuide.DataModel]](%%) =====
84
85 (% class="card-subtitle mb-2" %)
86 (((
87 ====== Describes XWiki's data model of Classes, Properties, and Objects. They'll be needed to build applications at the presentation (document) level. ======
88 )))
89 )))
90 )))
91 )))
92
93 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
94 (((
95 (% class="card card2" %)
96 (((
97 (% class="card-body" %)
98 (((
99 ===== (% class="card-title" %)[[Database Schema>>Documentation.DevGuide.DatabaseSchema]](%%) =====
100
101 (% class="card-subtitle mb-2" %)
102 (((
103 ====== For advanced users who like to know everything, check out the database tables created by XWiki. ======
104 )))
105 )))
106 )))
107 )))
108 )))
109
110 ----
111
112 {{box cssClass="floatinginfobox col-xs-4"}}
113 If you are interested in participating to the XWiki project development itself or in building it from sources, you should refer to the [[Community wiki>>dev:Main.WebHome]].
114 You still have a question?
115 [[Post on the forum!>>dev:Community.Discuss]]
116 {{/box}}
117
118 ; **[[Front-end Resources>>Documentation.DevGuide.FrontendResources]]**
119 : A description of the tools and frameworks used in XWiki. You'll find information about how you can use external libraries such asYUI 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.
120
121 ; **[[Extension Points List>>platform:ExtensionPoint.WebHome]]**
122 : List all available Extension Points.
123
124 ; **[[Saving Data>>Documentation.DevGuide.Tutorials.SavingData.WebHome]]**
125 : Description of all the possibilities you have to save Data from within the XWiki Platform
126
127 ; **[[URL Architecture>>Documentation.DevGuide.Architecture.URL Architecture.WebHome]]**
128 : Explains how XWiki URLs work, the format of the [[Standard URL Scheme>>Documentation.DevGuide.Architecture.URL Architecture.Standard URL Format.WebHome]] and how to configure them.
129
130 ; **[[Module Reference>>extensions:Main.WebHome]]**
131 : Reference documentation for the various Modules of XWiki.
132
133 (% class="row cards" %)
134 (((
135
136 )))
137
138 == Tutorials & Guides ==
139
140
141 (% class="row cards" %)
142 (((
143 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
144 (((
145 (% class="card card2" %)
146 (((
147 (% class="card-body" %)
148 (((
149 ===== (% class="card-title" %)[[Creating a FAQ application>>Documentation.DevGuide.Tutorials.FAQTutorial.WebHome]](%%) =====
150
151 (% class="card-subtitle mb-2" %)
152 (((
153 ====== Demonstrates how to create a FAQ application, either using Classes/Objects/Sheets/Templates and Scripting or using the App Within Minutes. 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. ======
154 )))
155 )))
156 )))
157 )))
158
159 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
160 (((
161 (% class="card card2" %)
162 (((
163 (% class="card-body" %)
164 (((
165 ===== (% class="card-title" %) [[Skin Extensions>>Documentation.DevGuide.Tutorials.SkinExtensionsTutorial.WebHome]] (%%) =====
166
167 (% class="card-subtitle mb-2" %)
168 (((
169 ====== Illustrates XWiki's [[Skin extensions>>platform:Features.Skins||anchor="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. Creation minimal Stylesheet and Javascript extensions, and continue with a complete example of a real-world extension. ======
170 )))
171 )))
172 )))
173 )))
174
175 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
176 (((
177 (% class="card card2" %)
178 (((
179 (% class="card-body" %)
180 (((
181 ===== (% class="card-title" %) [[Creating an XWiki Component>>Documentation.DevGuide.WritingComponents]] (%%) =====
182
183 (% class="card-subtitle mb-2" %)
184 (((
185 ====== 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. ======
186 )))
187 )))
188 )))
189 )))
190 )))
191
192 (% class="row cards" %)
193 (((
194 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
195 (((
196 (% class="card card2" %)
197 (((
198 (% class="card-body" %)
199 (((
200 ===== (% class="card-title" %)[[Creating Rendering Macros>>Documentation.DevGuide.WritingMacros]](%%) =====
201
202 (% class="card-subtitle mb-2" %)
203 (((
204 ====== How to develop XWiki Rendering macros (available in XWiki Syntax 2.0+ only). ======
205 )))
206 )))
207 )))
208 )))
209
210 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
211 (((
212 (% class="card card2" %)
213 (((
214 (% class="card-body" %)
215 (((
216 ===== (% class="card-title" %)[[Creating an Extension>>Documentation.DevGuide.Tutorials.CreatingExtensions.WebHome]](%%) =====
217
218 (% class="card-subtitle mb-2" %)
219 (((
220 ====== Explains how to create an XWiki Extension. ======
221 )))
222 )))
223 )))
224 )))
225
226 (% class="col-xs-12 col-sm-6 col-md-4 cards-container" %)
227 (((
228 (% class="card card2" %)
229 (((
230 (% class="card-body" %)
231 (((
232 ===== (% class="card-title" %) [[Creating a Groovy Class>>Documentation.DevGuide.GroovyClassHelloWorldTutorial]] (%%) =====
233
234 (% class="card-subtitle mb-2" %)
235 (((
236 ====== Demonstrates how to put Groovy code in one page and then reuse it by importing it from another page. ======
237 )))
238 )))
239 )))
240 )))
241 )))
242
243 ----
244
245 ; **[[Creating New XClass Property Types>>Documentation.DevGuide.CreatingNewXClassPropertyTypes]]**
246 : See how you can easily extend the [[class editor>>platform:Features.PageEditing||anchor="HClasseseditingmode"]] with new custom property types.
247
248 ; **[[Creating and using UI Extension Points>>doc:Documentation.DevGuide.Tutorials.UIXTutorial.WebHome]]**
249 : UI Extension Points are ways to modify the UI without having to write a full skin. Learn how to create new Extension Points and how to use existing ones.
250
251 ; **[[Creating a form with validation and tooltips>>Documentation.DevGuide.Creating a form with validation and tooltips]]**
252 : Quick and efficient tutorial to set-up validation using regular expression and groovy scripts, as well as tooltips
253
254 ; **[[Creating a Tree View>>Documentation.DevGuide.CreatingATreeView]]**
255 : A tutorial on how to create a tree view for any tree structure you may have in XWiki, using the [[Tree Macro>>extensions:Extension.Tree Macro]].
256
257 ; **[[Creating a custom SOLR search for an AppWithinMinutes application>>Documentation.DevGuide.WritingCustomSolrSearchForAWM]]**
258 : Tutorial to show how to write a customized SOLR search screen in XWiki for an [[AWM application>>extensions:Extension.App Within Minutes Application]]. For this example we have used the [[Expense Report application>>https://github.com/xwiki-contrib/application-expensereport]].
259
260 ; **[[Creating a Master-Detail view>>Documentation.DevGuide.MasterDetailTutorial]]**
261 : Shows how to implement a Master-Details view
262
263 ; **[[Creating an Event Listener>>Documentation.DevGuide.WritingEventListenerTutorial]]**
264 : Explains how to write an [[Event Listener>>extensions:Extension.Observation Module]] in order to perform some action when an event happens in the wiki. Examples of events are Document changed, Object modified, and more.
265
266 ; **[[Creating a Plugin>>Documentation.DevGuide.CreatingPlugins]]**
267 : 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.
268
269 ; **[[How to use Velocity in wiki pages>>Documentation.DevGuide.XWikiVelocityTraining]]**
270 : A presentation that explains how to write applications in XWiki (using Velocity, the XWiki Class system, and the API...).
271
272 ; **[[Internationalizing Applications>>Documentation.DevGuide.Tutorials.InternationalizingApplications.WebHome]]**
273 : Learn how to write internationalized applications.
274
275 ; **[[Custom Mapping>>Documentation.DevGuide.Tutorials.CustomMapping.WebHome]]**
276 : Learn how to use Custom Mapping when you need to map XWiki Classes to your own database tables or when you need extra performance for complex data.
277
278 ; **[[Integrating JavaScript Libraries>>Documentation.DevGuide.IntegratingJavaScriptLibraries]]**
279 : A tutorial on how we can use [[WebJars>>extensions:Extension.WebJars Integration]] and [[RequireJS>>http://requirejs.org/]] to integrate JavaScript libraries in XWiki. Moreover, you'll see how you can package your own JavaScript code as a WebJar in order to benefit from various code quality tools (static code analysis with [[jshint>>http://jshint.com/]], integration testing with [[Jasmine>>http://jasmine.github.io/]]).
280
281 ; **[[Performing Asynchronous Tasks>>Documentation.DevGuide.Tutorials.PerformingAsynchronousTasks.WebHome]]**
282 : A tutorial on how to perform long-running and expensive operations in XWiki from a background thread using the [[Job Module>>extensions:Extension.Job Module]].
283
284 ; **[[AJAX and JSON calls>>snippets:Extension.AJAX example]]**
285 : How to perform AJAX calls, retrieve JSON results from a Velocity page and to update your application's UI.
286
287 ; **[[Best Practices>>Documentation.DevGuide.BestPractices.WebHome]]**
288 : A set of best practices for developing applications with XWiki.
289
290 (% class="row cards" %)
291 (((
292
293 )))
294
295 == Drafts ==
296
297
298 See the [[Drafts page>>dev:Drafts.WebHome]] for other topics that are still under review.

Get Connected