From version 1.1 >
edited by Administrator
on 2015/12/01 14:44
To version < 2.1
edited by Administrator
on 2020/01/14 14:41
Change comment: Install extension [org.xwiki.platform:xwiki-platform-appwithinminutes-ui/11.10.2]

Summary

Details

Page properties
Syntax
... ... @@ -1,1 +1,1 @@
1 -XWiki 2.0
1 +XWiki 2.1
Content
... ... @@ -1,20 +1,31 @@
1 -{{include reference="AppWithinMinutes.WizardStep"/}}
1 +{{include reference="AppWithinMinutes.VelocityMacros"/}}
2 2  
3 +{{velocity}}
4 +#if ($request.wizard == 'true')
5 + {{include reference="AppWithinMinutes.WizardStep"/}}
6 +#end
7 +{{/velocity}}
8 +
3 3  {{template name="locationPicker_macros.vm" /}}
4 4  
5 5  {{velocity output="false"}}
6 -#macro(showStep)
7 - {{html wiki="true"}}
8 - #appWizardHeader(1)
9 - (% class="wizard-help" %)
10 - (((
11 - **$services.localization.render('platform.appwithinminutes.wizardStepHelpTitle')** $services.localization.render('platform.appwithinminutes.wizardStepHelpDescription')
12 - (% class="steps vertical" %)
13 - #foreach($index in [1, 2, 3])
14 - * (% class="number" %)$index(%%) (% class="name" %)$services.localization.render("platform.appwithinminutes.wizardStep${index}Name")(%%)
15 - (% class="description" %)$services.localization.render("platform.appwithinminutes.wizardStep${index}Description")
16 - #end
17 - )))
12 +#macro (showStep)
13 + #appWizardHeader('name')
14 + <div class="wizard-help">
15 + <p>
16 + <strong>$services.localization.render('platform.appwithinminutes.wizardStepHelpTitle')</strong>
17 + $services.localization.render('platform.appwithinminutes.wizardStepHelpDescription')
18 + </p>
19 + <ul class="steps vertical">
20 + #foreach($step in $awmSteps)
21 + <li>
22 + <span class="number">$mathtool.add($foreach.index, 1)</span>
23 + <span class="name">$services.localization.render("appWithinMinutes.wizardStep.${step}.name")</span>
24 + <span class="description">$services.localization.render("appWithinMinutes.wizardStep.${step}.description")</span>
25 + </li>
26 + #end
27 + </ul>
28 + </div>
18 18   <form action="$doc.getURL()" method="post" class="xform wizard-body">
19 19   #locationPicker({
20 20   'id': 'app',
... ... @@ -38,7 +38,6 @@
38 38   <div class="appName-preview"></div>
39 39   #appWizardFooter(1)
40 40   </form>
41 - {{/html}}
42 42  #end
43 43  
44 44  #macro (processStep)
... ... @@ -46,10 +46,9 @@
46 46   #getAppReference
47 47   #getAppDescriptor($appReference)
48 48   #if ($appDescriptor)
49 - ## Edit an existing application. Use the configured class name.
50 - #set ($appClassRef = $appDescriptor.getObject($appDescriptorClassName).getValue('class'))
51 - ## The class reference is relative to the document holding the application descriptor.
52 - #set ($appClassRef = $services.model.resolveDocument($appClassRef, 'explicit', $appDescriptor.documentReference))
59 + ## Edit an existing application.
60 + #getAppClassReference($appDescriptor)
61 + #set ($appClassRef = $classReference)
53 53   #else
54 54   ## Create a new application. Use the default class name.
55 55   #set ($appCodeRef = $services.model.createSpaceReference('Code', $appReference))
... ... @@ -59,7 +59,6 @@
59 59   #if (!$xwiki.exists($appClassRef))
60 60   #set ($appHomeRef = $services.model.resolveDocument('', 'default', $appReference))
61 61   #set ($discard = $queryString.putAll({
62 - 'editor': 'inline',
63 63   'template': 'AppWithinMinutes.ClassTemplate',
64 64   'parent': $services.model.serialize($appHomeRef),
65 65   'title': "$appReference.name Class"
... ... @@ -71,36 +71,29 @@
71 71  #macro (validateAppName)
72 72   #getAppReference
73 73   #if (!$appReference)
74 - (% class="xErrorMsg" %)$services.localization.render('platform.appwithinminutes.appNameEmptyError')
82 + <span class="xErrorMsg">$services.localization.render('platform.appwithinminutes.appNameEmptyError')</span>
75 75   #else
76 76   #getAppDescriptor($appReference)
77 77   #if ($appDescriptor)
78 78   ## Edit an existing application.
79 - #set ($appDescriptorObj = $appDescriptor.getObject($appDescriptorClassName))
80 - #set ($appClassRef = $appDescriptorObj.getValue('class'))
81 - ## The class reference is relative to the document holding the application descriptor.
82 - #set ($appClassRef = $services.model.resolveDocument($appClassRef, 'explicit', $appDescriptor.documentReference))
83 - #set ($appDataRef = $appDescriptorObj.getValue('dataSpace'))
84 - ## The data space reference is relative to the document holding the application descriptor.
85 - #set ($appDataRef = $services.model.resolveSpace($appDataRef, 'explicit', $appDescriptor.documentReference))
87 + #getAppClassReference($appDescriptor)
88 + #set ($appClassRef = $classReference)
86 86   #else
87 87   ## Create a new application.
88 - #set ($appDataRef = $services.model.createSpaceReference('Data', $appReference))
89 89   #set ($appCodeRef = $services.model.createSpaceReference('Code', $appReference))
90 90   #set ($appClassRef = $services.model.createDocumentReference("$!{appReference.name}Class", $appCodeRef))
91 91   #end
92 - ; $services.localization.render('platform.appwithinminutes.appNamePreviewHomePageUrlLabel')
93 - : {{{$!xwiki.getDocument($appReference).externalURL}}}
94 - ; $services.localization.render('platform.appwithinminutes.appNamePreviewDataSpaceLabel')
95 - : {{html clean="false"}}#hierarchy($appDataRef){{/html}}
96 - ; $services.localization.render('platform.appwithinminutes.appNamePreviewCodeSpaceLabel')
97 - : {{html clean="false"}}#hierarchy($appClassRef.parent){{/html}}
98 - ; $services.localization.render('platform.appwithinminutes.appNamePreviewClassReferenceLabel')
99 - : {{html clean="false"}}#hierarchy($appClassRef){{/html}}
94 + <dl>
95 + <dt>$services.localization.render('platform.appwithinminutes.appNamePreviewHomePageUrlLabel')</dt>
96 + <dd><pre>$!escapetool.xml($xwiki.getDocument($appReference).externalURL)</pre></dd>
97 + <dt>$services.localization.render('platform.appwithinminutes.appNamePreviewCodeSpaceLabel')</dt>
98 + <dd>#hierarchy($appClassRef.parent)</dd>
99 + </dl>
100 100   #set ($appHomeRef = $services.model.resolveDocument('', 'default', $appReference))
101 101   #if ($appDescriptor || $xwiki.exists($appHomeRef) || $xwiki.exists($appClassRef))
102 -
103 - {{warning}}$services.localization.render('platform.appwithinminutes.appNameIsUsedWarning'){{/warning}}
102 + <div class="box warningmessage">
103 + $services.localization.render('platform.appwithinminutes.appNameIsUsedWarning')
104 + </div>
104 104   #end
105 105   #end
106 106  #end
... ... @@ -126,11 +126,14 @@
126 126   #set ($appDescriptors = $services.query.xwql($appDescriptorStatement).bindValue('space', $localSpaceReference).execute())
127 127   #if ($appDescriptors.size() > 0)
128 128   #set ($appDescriptor = $xwiki.getDocument($appDescriptors.get(0)))
130 + #else
131 + #set ($appDescriptor = $NULL)
129 129   #end
130 130  #end
131 131  {{/velocity}}
132 132  
133 133  {{velocity}}
137 +{{html clean="false"}}
134 134  #if ("$!request.appName" != '')
135 135   #if ($xcontext.action == 'get')
136 136   #validateAppName
... ... @@ -138,8 +138,9 @@
138 138   ## CSRF protection is not needed because this step only redirects to the next one passing data in the query string.
139 139   #processStep
140 140   #end
141 -#else
145 +#elseif ($request.wizard == 'true')
142 142   #showStep
147 + #set ($displayDocExtra = false)
143 143  #end
144 -#set ($docextras = [])
149 +{{/html}}
145 145  {{/velocity}}

Step 0 — appWithinMinutes.wizardStep.1.title

  • 1 Name
  • 2 Structure
  • 3 Entries
  • 4 Presentation
Steps This wizard will guide you through the process of creating an application. These are the steps you'll take:
  • 1 Name Choose the application name
  • 2 Structure Describe the application data
  • 3 Presentation Customize the application homepage
The application name determines the homepage URL and the location where the application code is stored.
The location in the page hierarchy where the application will be created.
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 11.10.2 - Documentation