General Actions:
Log-in
Register
Add
▼
:
Space
Page
Comment to Page
Attachment to Page
Wiki:
Cops
▼
:
Administration
»
Space:
XWiki
▼
:
Administer Space
Delete
»
Page:
XWikiClasses
▼
:
Copy
Search
default
Page Actions:
Edit
▼
:
Wiki
WYSIWYG
Inline form
Access Rights
Objects
Class
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
Export as XAR
More actions
▼
:
Print preview
View Source
WebHome
»
Data types
Wiki source code of
Data types
Last modified by XWikiGuest on 2024/08/01 23:37
Content
·
Comments
(0)
·
Attachments
(0)
·
History
·
Information
Hide line numbers
1: {{velocity}} 2: #if($request.space && $request.name) 3: #set($className = "#toXMLName($stringtool.removeEnd($request.name, 'Class'))") 4: #set($classTitle = "$className Class") 5: #set($classReference = $services.model.createDocumentReference('', $request.space, "${className}Class")) 6: #if($xwiki.hasAccessLevel('edit', $context.user, $services.model.serialize($classReference))) 7: $response.sendRedirect($xwiki.getURL($classReference, 'edit', "editor=wiki&template=$!{request.template}&parent=$!{request.parent}&title=$escapetool.url($classTitle)")) 8: ## Stop processing, since we already sent a redirect. 9: #stop 10: #end 11: #end 12: {{/velocity}} 13: This tool allows to define structured data types (classes) in your wiki. Please consult the [[developer's guide>>http://platform.xwiki.org/xwiki/bin/view/DevGuide/WebHome]] to get familiar with the XWiki data model and the public APIs. 14: 15: = Templates for new data types = 16: 17: Here are the templates and sheets for creating new classes: 18: 19: * [[Default code for displaying a class>>ClassSheet]] 20: * [[Document template for new classes>>ClassTemplate]] 21: * [[Default code for displaying class instances (objects)>>ObjectSheet]] 22: 23: = Create a new data type = 24: 25: Choose a simple name, such as //Article//, //Book//, //Employee//. '//Class//' will be appended at the end automatically. 26: 27: {{velocity}} 28: #if("$!{targetClassName}" != ''){{warning}}You don't have permission to create that class{{/warning}}#end 29: 30: {{html}} 31: <form action="$doc.URL" method="post"> 32: <div> 33: <input type="hidden" name="parent" value="XWiki.XWikiClasses"/> 34: <input type="hidden" name="template" value="XWiki.ClassTemplate"/> 35: <label for="space">Space:</label> <input type="text" id="space" name="space" value="XWiki"/> 36: <label for="name">Class:</label> <input type="text" id="name" name="name" value="Name of the class" class="withTip"/> 37: <span class="buttonwrapper"><input type="submit" value="Create this Class" class="button"/></span> 38: </div> 39: </form> 40: {{/html}}{{/velocity}} 41: 42: = Data types defined in this wiki = 43: 44: {{velocity}} 45: ## 46: ## Existing classes are enumerated, grouped by space name. 47: ## The list is already sorted alphabetically 48: ## 49: #set($prevSpace = '') 50: #foreach ($classname in $xwiki.classList) 51: #set($classdoc = $xwiki.getDocument($classname)) 52: #if($classdoc.space != $prevSpace) 53: ; [[$classdoc.space>>${classdoc.space}.WebHome]] space: 54: #set($prevSpace = $classdoc.space) 55: #end 56: : [[$classdoc.name>>$classdoc.fullName]] 57: #end 58: {{/velocity}}