Wiki source code of Data types

Last modified by Admin on 2010/05/19 20:19

Show last authors
1 {{velocity}}
2 #if($request.space && $request.name)
3 #if($request.name.endsWith("Class"))
4 #set($targetClassName="${request.space}.${request.name}")
5 #else
6 #set($targetClassName="${request.space}.${request.name}Class")
7 #end
8 #if($xwiki.hasAccessLevel('edit', $context.user, $targetClassName))
9 $response.sendRedirect($xwiki.getURL($context.util.noaccents($targetClassName), 'edit', "editor=wiki&template=$!{request.template}&sheet=$!{request.sheet}&parent=$!{request.parent}"))
10 ## Stop processing, since we already sent a redirect.
11 #stop
12 #end
13 #end
14 {{/velocity}}
15 This tool allows to define structured data types (classes) in your wiki. Please consult the [[developer's guide>>http://www.xwiki.org/xwiki/bin/view/DevGuide/WebHome]] to get familiar with the XWiki data model and the public APIs.
16
17 = Templates for new data types =
18
19 Here are the templates and sheets for creating new classes:
20
21 * [[Default code for displaying a class>>ClassSheet]]
22 * [[Document template for new classes>>ClassTemplate]]
23 * [[Default code for displaying class instances (objects)>>ObjectSheet]]
24 * [[Document template for new objects>>ObjectTemplate]]
25
26 = Create a new data type =
27
28 Choose a simple name, such as //Article//, //Book//, //Employee//. '//Class//' will be appended at the end automatically.
29
30 {{velocity}}
31 #if("$!{targetClassName}" != ''){{warning}}You don't have permission to create that class{{/warning}}#end
32
33 {{html}}
34 <form action="$doc.URL" method="post">
35 <div>
36 <input type="hidden" name="parent" value="XWiki.XWikiClasses"/>
37 <input type="hidden" name="template" value="XWiki.ClassTemplate"/>
38 <input type="hidden" name="sheet" value="1"/>
39 <label for="space">Space:</label> <input type="text" id="space" name="space" value="XWiki"/>
40 <label for="name">Class:</label> <input type="text" id="name" name="name" value="Name of the class" class="withTip"/>
41 <span class="buttonwrapper"><input type="submit" value="Create this Class" class="button"/></span>
42 </div>
43 </form>
44 {{/html}}{{/velocity}}
45
46 = Data types defined in this wiki =
47
48 {{velocity}}
49 ##
50 ## Existing classes are enumerated, grouped by space name.
51 ## The list is already sorted alphabetically
52 ##
53 #set($prevSpace = '')
54 #foreach ($classname in $xwiki.classList)
55 #set($classdoc = $xwiki.getDocument($classname))
56 #if($classdoc.space != $prevSpace)
57 ; [[$classdoc.space>>${classdoc.space}.WebHome]] space:
58 #set($prevSpace = $classdoc.space)
59 #end
60 : [[$classdoc.name>>$classdoc.fullName]]
61 #end
62 {{/velocity}}