Wiki source code of Standard URL Format

Last modified by Mathieu Pace on 2025/04/07

Hide last authors
Manuel Smeria 50.2 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
Thomas Mortagne 1.1 4
Vincent Massol 57.2 5 The general format of XWiki URLs is {{code language="none"}}<protocol>://<server>/<context path>/<type>/<path>{{/code}}, where:
Vincent Massol 56.2 6
Thomas Mortagne 90.1 7 * ##<protocol>##: by default it's ##http##. It's possible to use ##https##. It's generally deduced from the URL used by the client but it's possible to control it using [[the wiki descriptor>>https://extensions.xwiki.org/xwiki/bin/view/Extension/Wiki+Application#HConfigureWiki]]
Simon Urli 110.2 8 * ##<server>##: the XWiki instance address and port, e.g. ##localhost:8080##, ##xwiki.org##. In domain-mode the server also contains the subwiki name. See [[Accessing a wiki>>xwiki:Documentation.AdminGuide.AccessWiki]]. In path-based mode, the server is the address of the main wiki. Since 10.7 it's possible to customize the port to use in the [[the wiki descriptor>>https://extensions.xwiki.org/xwiki/bin/view/Extension/Wiki+Application#HConfigureWiki]].
9 * ##<context path>##: the name under which the XWiki web application is deployed in your Servlet Container, e.g. ##xwiki##. See [[Short URLs>>xwiki:Documentation.AdminGuide.ShortURLs#HI.Applicationname]] if you wish to deploy XWiki as ROOT.
Vincent Massol 56.2 10 * ##<type>##: the type of URL depending on the XWiki subsystem accessed. The following types are supported:
Vincent Massol 56.5 11 ** ##bin##: points to a dynamic resource. Examples: an Entity to display (wiki, page, space, attachment, object, property, etc), a dynamic skin resource (image, css, js), a dynamic template resource (image, js, css, icon, etc) and more. By dynamic we mean that some computation needs to happen to compute the resource (for example some Velocity needs to be evaluated).
Simon Urli 110.2 12 ** ##wiki##: this is similar to ##bin## but specifying the subwiki to access, in path-based mode (See [[Accessing a wiki>>xwiki:Documentation.AdminGuide.AccessWiki]]).
13 ** ##rest##: points to a [[REST Resource>>xwiki:Documentation.UserGuide.Features.XWikiRESTfulAPI]]
Vincent Massol 57.4 14 ** ##skins##: points to a static filesystem skin resource (image, js, css, etc), i.e. a resource located inside a skin directory on the filesystem.
15 ** ##resources##: points to a static template resource (image, js, css, etc) on the filesystem.
Vincent Massol 75.3 16 ** ##xmlrpc##: points to the now deprecated XMLRPC API (see [[extensions:Extension.XML-RPC Integration]] for more details).
Simon Urli 110.2 17 ** ##webdav##: points to a WebDAV resource (see [[Web DAV>>xwiki:Documentation.UserGuide.Features.WebDAV]] for more details).
Vincent Massol 56.2 18 * ##<path>##: the path completely depends on the ##<type>## used. See below for more details.
19
Vincent Massol 56.10 20 {{info}}
Marius Dumitru Florea 89.1 21 If you're interested in configuring the XWiki URLs, check the [[URL Architecture page>>Documentation.DevGuide.Architecture.URL Architecture.WebHome]].
Vincent Massol 56.10 22 {{/info}}
23
Vincent Massol 56.9 24 = Type: ##bin## =
Vincent Massol 56.2 25
Eduard Moraru 64.2 26 {{info}}
27 XWiki 7.2: Added support for Nested Spaces
28 {{/info}}
Vincent Massol 62.1 29
Thomas Mortagne 102.1 30 There are various ##bin## URLs. The generic format of ##bin## URLs is ##bin/<action>/<path>##.
31 There is two ways to inject actions:
Vincent Massol 56.2 32
Mohammad Humayun Khan 107.1 33 * by implementing an [[Entity Resource Reference Handler>>extensions:Extension.Resource API#HAddinganewEntityResourceTypeHandler]]
Thomas Mortagne 102.1 34 * {{warning}}deprecated{{/warning}} implementing a ##com.xpn.xwiki.internal.web.LegacyAction## since 13.0 or before 13.0 by listing a Struts action in the Strut Configuration file (located in ##WEB-INF/struts-config.xml##).
35
Vincent Massol 56.5 36 Here are some well-known actions:
Eduard Moraru 57.7 37
Simon Urli 110.2 38 * [[##skin##>>#HAction:skin]]: Dynamic Skin resource, e.g. ##http:~/~/<server>/xwiki/bin/skin/resources/uicomponents/search/searchSuggest.css##
39 * ##jsx##: [[Javascript Skin Extension>>xwiki:Documentation.DevGuide.Tutorials.SkinExtensionsTutorial]] URL, e.g. ##http:~/~/<server>/xwiki/bin/jsx/AnnotationCode/Settings?language=en##
40 * ##ssx##: [[StyleSheet Skin Extension>>xwiki:Documentation.DevGuide.Tutorials.SkinExtensionsTutorial]] URL, e.g. ##http:~/~/<server>/xwiki/bin/ssx/AnnotationCode/Style?language=en##
41 * [[##download##>>#HAction:download]]: URL to access an attachment from a wiki page, e.g. ##http:~/~/<server>/xwiki/bin/download/XWiki/JohnDoe/john.png?width=30&height=30&keepAspectRatio=true##
42 * [[##view##>>#HAction:view]]: Display Entity content (wiki, page, space, attachment, object, property, etc) with the skin applied, e.g. ##http:~/~/<server>/xwiki/bin/view/Sandbox/WebHome##
Mathieu Pace 111.1 43 * [[##edit##>>#HAction:edit]]: Edits wiki content (page, object, property, etc), e.g. ##http:~/~/<server>/xwiki/bin/edit/Sandbox/WebHome##
Simon Urli 110.2 44 * [[##get##>>#HAction:get]]: Accessing Entity content (wiki, page, space, attachment, object, property, etc) without any skin applied, e.g. ##http:~/~/<server>/xwiki/bin/get/Main/WebHome?xpage=xpart&vm=commentsinline.vm##. The ##get## action should be used to render the content of the page and nothing else (mainly used for code pages). This action is similar to the ##view## action, but without the UI and with "text/plain" mime type set by default for the response.
45 * ##export##: Exports wiki pages to various formats (PDF, HTML, etc). See [[xwiki:Documentation.UserGuide.Features.Exports]].
46 * [[##create##>>#HAction:create]]: Provides the UI for creating new documents, e.g. ##http:~/~/<server>/xwiki/bin/create/Space/NewDocument##
47 * [[##objectadd##>>#HAction:objectadd]]: Adds an XObject, e.g. ##http:~/~/<server>/xwiki/bin/objectadd/Space/Page?classname=Some.XClass##
Vincent Massol 56.5 48
Vincent Massol 56.9 49 == Action: ##view## ==
Vincent Massol 56.7 50
Vincent Massol 62.1 51 The additional URL paths for the ##view## action is ##<space1>/.../<spaceN>/<page>?<query string>## or ##<space1>/.../<spaceN>?<query string>##
Vincent Massol 56.7 52
53 Examples:
Eduard Moraru 57.7 54
Vincent Massol 57.6 55 * ##http:~/~/<server>/xwiki/bin/view/Sandbox/WebHome##: Views the ##Sandbox.WebHome## page.
Vincent Massol 62.1 56 * ##http:~/~/<server>/xwiki/bin/view/Sandbox##: Views the ##Sandbox.WebHome## page.
Eduard Moraru 86.1 57 * ##http:~/~/<server>/xwiki/bin/view/Space1/Space2##: Views the ##Space1.Space2.WebHome## page (if the ##Space2## page doesn't exist. If it exists then it views the ##Space1.Space2## page).
58 * ##http:~/~/<server>/xwiki/bin/view/Space1/Space2/##: Force to always views the ##Space1.Space2.WebHome## page (even if the ##Space2## page exists in the ##Space1## space. Note the ##/## at the end).
Eduard Moraru 86.2 59 * ##http:~/~/<server>/xwiki/bin/view/Space1/Space2?spaceRedirect=false##: Force to always view the ##Space1.Space2## terminal page (even if the ##Space1.Space2.WebHome## page exists and even if the ##Space1.Space2## page may not exist).
Vincent Massol 56.7 60
Vincent Massol 56.8 61 Here are some of the supported query string parameters.
Vincent Massol 56.2 62
Vincent Massol 56.9 63 === Parameter: ##xpage## ===
Vincent Massol 56.2 64
Vincent Massol 77.1 65 * ##plain##: this value indicates that only the content of the page is printed (no UI). With a document that's not using the XWiki Syntax 1.0 you can control the output syntax using ##outputSyntax## and ##outputSyntaxVersion##. You can also pass other parameters to allow fine-grained control:
Vincent Massol 50.1 66 ** ##raw=1##: Returns the page source as is without any formatting but XML-escaped
67 ** ##raw=2##: Returns the page source as is without any formatting (without any escaping)
Guillaume Delhumeau 55.1 68 ** ##htmlHeaderAndFooter=true##: {{info}}Since 6.3RC1{{/info}} Display the HTML headers (##<html>##,##<head>##,##<body>##, etc...) and footers (##</body>##, ##</html>##, etc...).
Vincent Massol 77.1 69 ** ##outputTitle##: {{info}}Since 7.3M2{{/info}} If ##true## then also display the title in addition to the content. Defaults to ##false## if not specified.
Vincent Massol 50.1 70 * ##xml##: print the exported form of a document. This is what you can find in the xar for each document.
Vincent Massol 51.1 71 * ##rev##: when specified, redirects to the ##viewrev## action (see below)
Guillaume Delhumeau 74.1 72 * ##children##: {{info}}Since 7.2M3{{/info}} display a page that lists all the children of the document. You can also add the following parameters:
Guillaume Delhumeau 71.1 73 ** ##hierarchy=parentchild##: do the same but display the children according to the (old) parent/child mechanism
Guillaume Delhumeau 74.1 74 ** ##displayHidden=true##: display the hidden documents (no matter what the user's configuration is)
75 * ##backlinks##: {{info}}Since 7.2M3{{/info}} display a page that lists all the documents having a link to the current document. You can also add the following parameters:
76 ** ##displayHidden=true##: display the hidden documents (no matter what the user's configuration is)
Guillaume Delhumeau 75.1 77 * ##siblings##: {{info}}Since 7.2RC1{{/info}} display a page that lists all the children of the parent of the document. You can also add the following parameter:
78 ** ##displayHidden=true##: display the hidden documents (no matter what the user's configuration is)
Guillaume Delhumeau 78.1 79 * ##hierarchy_reference##: {{info}}Since 7.3M2{{/info}} display the hierarchy of the page, as raw HTML, without any style. You can also add the following parameters:
Guillaume Delhumeau 76.1 80 ** ##id=someId##: add an HTML id to the hierarchy breadcrumb.
Guillaume Delhumeau 78.1 81 ** ##displayTitle=true|false##: display the title of the elements in the breadcrumb (default: true)
Guillaume Delhumeau 80.1 82 ** ##excludeSelf=true|false##: display the hierarchy without the page itself (default: false)
83 ** ##limit=##: maximum number of hierarchy elements displayed (default: none)
84 ** ##local=true|false##: do not display the main wiki reference for documents located in sub-wikis. (default: false)
Thomas Mortagne 44.1 85
Vincent Massol 56.9 86 === Parameter: ##outputSyntax## and ##outputSyntaxVersion## ===
Thomas Mortagne 44.1 87
Vincent Massol 56.8 88 With a document that's not using the XWiki 1.0 syntax it's possible to explicitly indicate the renderer to use for the page content. For example with ##outputSyntax=plain## you will get the result in plain text. ##outputSyntaxVersion## is an optional parameter, if it's not provided XWiki will search for the last version of the renderer for the given ##outputSyntax## syntax name. Note that ##outputSyntax## controls only the document content output syntax. If you only want the document content you can use ##xpage=plain##.
Thomas Mortagne 48.1 89
Manuel Smeria 50.2 90 See [[extensions:Extension.Rendering Module]] for more details on renderers.
Thomas Mortagne 45.1 91
Thomas Mortagne 120.1 92 In XWiki Standard the following renderer are expected to be presents:
Mathieu Pace 122.1 93
Thomas Mortagne 120.1 94 * **xwiki** in version 2.0 and 2.1
95 * **plain** in version 1.0
96 * **xhtml** and **annotatedxhtml** in version 1.0
97 * **html** and **annotatedhtml** in version 5.0
98
Guillaume Delhumeau 70.1 99 === Parameter: ##viewer## ===
100
Guillaume Delhumeau 72.1 101 Note: if the document does not exist, you will have a 404 error page, and the following parameters will not be taken into account. Use ##xpage## if you need to have the desired behavior even if the document does not exist.
Guillaume Delhumeau 71.1 102
Vincent Massol 89.2 103 * ##attachments##: Display the attachment list (e.g. ##http:~/~/playground.xwiki.org/xwiki/bin/view/Sandbox/?viewer=attachments##)
104 * ##history##: Display the version history (e.g. ##http:~/~/playground.xwiki.org/xwiki/bin/view/Sandbox/?viewer=history##)
105 * ##comments##: Display the comments (e.g. ##http:~/~/playground.xwiki.org/xwiki/bin/view/Sandbox/?viewer=comments##)
106 * ##information##: Display the page information (e.g. ##http:~/~/playground.xwiki.org/xwiki/bin/view/Sandbox/?viewer=information##)
Guillaume Delhumeau 74.1 107 * ##children##: {{info}}Since 7.2RC1{{/info}} display a page that lists all the children of the document. You can also add the following parameters:
Guillaume Delhumeau 70.1 108 ** ##hierarchy=parentchild##: do the same but display the children according to the (old) parent/child mechanism
Guillaume Delhumeau 74.1 109 ** ##displayHidden=true##: display the hidden documents (no matter what the user's configuration is)
110 * ##backlinks##: {{info}}Since 7.2RC1{{/info}} display a page that lists all the documents having a link to the current document. You can also add the following parameter:
111 ** ##displayHidden=true##: display the hidden documents (no matter what the user's configuration is)
Guillaume Delhumeau 75.1 112 * ##siblings##: {{info}}Since 7.2RC1{{/info}} display a page that lists all the children of the parent of the document. You can also add the following parameter:
113 ** ##displayHidden=true##: display the hidden documents (no matter what the user's configuration is)
Mathieu Pace 123.1 114 * ##changes##: display the changes between the two last versions of the document (e.g. ##http:~/~/playground.xwiki.org/xwiki/bin/view/Sandbox/?viewer=changes&rev1=1.1&rev2=2.1##). You can also add the following parameters:
Mathieu Pace 122.1 115 ** ##rev1=versionNumber##: the first version to check the changes from.
116 ** ##rev2=versionNumber##: the last version to check the changes from. If missing, the last version of the document will be used.
Guillaume Delhumeau 70.1 117
Eduard Moraru 86.1 118 === Parameter: ##spaceRedirect## ===
119
120 Accepted values:
Vincent Massol 88.1 121
Eduard Moraru 86.1 122 * ##true## (default): By default, an URL not ending in ##/## resolves to a non-terminal page, unless the equivalent terminal page already exists.
123 * ##false##: An URL not ending in ##/## will always resolve to a terminal page.
124
125 Not applicable (i.e. no effect) for top-level pages and URLs ending in ##/##.
126
127 Examples:
Vincent Massol 88.1 128
Eduard Moraru 86.1 129 * ##http:~/~/<server>/xwiki/bin/view/Space1/Space2[?spaceRedirect=true]##: Views the ##Space1.Space2.WebHome## page (if the ##Space2## page doesn't exist. If it exists then it views the ##Space1.Space2## page).
Eduard Moraru 86.2 130 * ##http:~/~/<server>/xwiki/bin/view/Space1/Space2?spaceRedirect=false##: Force to always view the ##Space1.Space2## terminal page (even if the ##Space1.Space2.WebHome## page exists and even if the ##Space1.Space2## page may not exist).
Eduard Moraru 86.1 131 * ##http:~/~/<server>/xwiki/bin/view/Space1[?spaceRedirect=false|?spaceRedirect=true|/]##: Will always view the ##Space1.WebHome## non-terminal page because it is a top level page and we can never have a top-level terminal page.
132
Simon Urli 92.1 133 === Parameter: ##restricted## ===
134
Thomas Mortagne 102.1 135 {{info}}
136 Since 11.5RC1
137 {{/info}}
Simon Urli 94.1 138
Simon Urli 92.1 139 Accepted values:
Simon Urli 93.1 140
Simon Urli 92.1 141 * ##false## (default): the macro transformations are normally executed
142 * ##true##: macro transformations are executed in degraded mode or not executed at all, depending on the macro implementation.
143
Simon Urli 93.1 144 In particular, various scripting macro such as [[Velocity Macro>>extensions:Extension.Velocity Macro]] or [[Groovy Macro>>extensions:Extension.Groovy Macro]] are not executed in restricted mode.
Simon Urli 92.1 145 This parameter might be then use to check if a page is well displayed for user who cannot execute those scripts for example.
146
Thomas Mortagne 98.1 147 === Parameter: ##rev## ===
148
Thomas Mortagne 102.1 149 {{info}}
150 Since 13.0.
151 {{/info}}
Thomas Mortagne 98.1 152
153 The version to get, e.g. ##2.3## in ##http:~/~/<server>/xwiki/bin/viewrev/MySpace/MyPage?rev=2.3##
154
Vincent Massol 105.1 155 === Parameter: ##transformations## ===
156
157 {{version since="12.10.4,13.1RC1"}}
158 Allows controlling precisely which Rendering Transformations to execute.
159
160 For example to only execute the Macro transformation: ##http:~/~/localhost:8080/xwiki/bin/view/Sandbox/WebHome?transformations=macro##
161 {{/version}}
162
Marius Dumitru Florea 106.1 163 === Special Anchors ===
164
165 When viewing a wiki page you can also specify an anchor ([[fragment identifier>>https://en.wikipedia.org/wiki/URI_fragment]]) in the URL to trigger some browser or JavaScript behavior. Here's a list of known anchors for view action:
166
167 * ##Hxxx##: anchors that start with ##H## are normally used to scroll the page to the specified heading (section of the page content)
Mohammad Humayun Khan 107.1 168 * ##edit##: triggers the [[in-place editor>>Documentation.UserGuide.Features.PageEditing#HIn-placeeditingmode]] on page load, if in-place editing is enabled
Marius Dumitru Florea 106.1 169 * ##translate##: triggers the in-place editor for a missing page translation; the wiki needs to be multilingual and in-place editing enabled
170
Vincent Massol 56.9 171 == Action: ##viewrev## ==
Thomas Mortagne 45.1 172
Vincent Massol 56.9 173 === Parameter: ##rev## ===
Silvia Macovei 49.1 174
Thomas Mortagne 102.1 175 {{warning}}
176 Deprecated since 13.0. Use ##view## action instead.
177 {{/warning}}
Silvia Macovei 49.1 178
Thomas Mortagne 98.1 179 The version to get, e.g. ##2.3## in ##http:~/~/<server>/xwiki/bin/viewrev/MySpace/MyPage?rev=2.3##
180
Jean SIMARD 56.11 181 == Action: ##save## ==
182
183 The additional URL paths for the ##save## action is ##<space>/<page>?<query string>##.
184
185 Examples:
Eduard Moraru 57.7 186
Vincent Massol 57.6 187 * ##http:~/~/<server>/xwiki/bin/save/Sandbox/WebHome##: Save the ##Sandbox.WebHome## page.
Jean SIMARD 56.11 188
189 Here are some of the supported query string parameters.
190
191 === Parameter: ##creator## ===
Eduard Moraru 57.7 192
Jean SIMARD 56.11 193 Change the creator of the current page. Should be a string as a Document Reference like ##JohnDoe##, ##XWiki.JohnDoe## or ##xwiki:XWiki.JohnDoe## which is a page containing an ##XWiki.Users## object.
194
195 === Parameter: ##language## ===
Eduard Moraru 57.7 196
Simon Urli 110.2 197 Will target a specific language. You must use a specific 2-letters code (see [[I18N>>xwiki:Documentation.UserGuide.Features.I18N]]).
Jean SIMARD 56.11 198
Jean SIMARD 56.12 199 === Parameter: ##objectPolicy## ===
Eduard Moraru 57.7 200
Simon Urli 110.2 201 {{info}}Since 7.1M1{{/info}} The ##objectPolicy## parameter is a request configuration parameter that will decide how to handle custom query string parameters (see [[Custom Parameters>>#HCustomParameters]]):
Jean SIMARD 56.12 202
Eduard Moraru 57.7 203 * ##update##
204 ** Each custom parameter will update a property in an existing object of the current page.
205 ** If the custom parameter refers to a property or an object that don't exist, it will simply ignore it.
206 * ##updateOrCreate##
207 ** Each custom parameter will update a property in an existing object of the current page.
208 ** If the custom parameter refers to a property that doesn't exist, it will ignore it.
209 ** If the custom parameter refers to an object that doesn't exist, it will create it (and pad will ##null## objects if needed).(((
210 //Example//: If there is already 2 objects ##XWiki.XWikiRights## in the page, ##XWiki.XWikiRights_0_levels## and ##XWiki.XWikiRights_1_levels## will update these existing objects. ##XWiki.XWikiRights_2_levels## and ##XWiki.XWikiRights_3_levels## will create 2 new objects. ##XWiki.XWikiRights_42_levels## will be created and 37 empty objects too (42 minus the 4 already existing and minus the 42th which will be created).
211 //Note//: All this information about empty/null objects is currently an implementation detail of how we currently handle object numbers and it may be subject to future change so, as much as possible, do not rely on it and, instead, use the public available APIs to handle these things.
212 )))
213
Simon Urli 97.1 214 === Parameter: ##addedObjects## ===
215
216 {{info}}Since XWiki 12.4RC1{{/info}} The ##addedObjects## parameter allows to create new xobjects in a document without having to specify the value of its properties contrary to ##updateOrCreate## ##objectPolicy##. It can be useful in particular to create xobjects that don't have any property values (special xclass AppWithinMinutes.Content for example). The value of this parameter is an array of xobjects name on the form ##xclass_xobjectNumber##: for example, ##XWiki.XWikiRights_2##.
217
218 === Parameter: ##deletedObjects## ===
219
220 {{info}}Since XWiki 12.4RC1{{/info}} The ##deletedObjects## parameter allows to delete xobjects in a document while saving. The value of this parameter is an array of xobjects name on the form ##xclass_xobjectNumber##: for example, ##XWiki.XWikiRights_2##.
221
Jean SIMARD 56.11 222 === Parameter: ##parent## ===
Eduard Moraru 57.7 223
Jean SIMARD 56.11 224 Allows you to set the parent of the page. Should be a string as a Document Reference like ##WebHome##, ##Main.WebHome## or ##xwiki:Main.WebHome##.
225
226 === Parameter: ##syntaxId## ===
Eduard Moraru 57.7 227
Jean SIMARD 56.11 228 Specify which syntax is used for the content of the current page (see [[Supported syntaxes>>http://rendering.xwiki.org/xwiki/bin/view/Main/#HSupportedSyntaxes]]).
229
230 === Parameter: ##template## ===
Eduard Moraru 57.7 231
Jean SIMARD 56.11 232 Allows you to have a specific template to apply for the current page. Should be a string as a Document Reference like ##MyTemplate##, ##Main.MyTemplate## or ##xwiki:Main.MyTemplate##.
233
234 === Parameter: ##title## ===
Eduard Moraru 57.7 235
Jean SIMARD 56.11 236 Allows you to modify the title of the page.
237
Mathieu Pace 111.1 238 === Parameter: ##form_token## ===
239
Mathieu Pace 113.1 240 A mandatory anti-CSRF token string which can be provided by the [[CSRF API>>extensions:Extension.XWiki Platform - CSRF.WebHome]].
Mathieu Pace 111.1 241
Jean SIMARD 56.14 242 === Custom Parameters ===
Eduard Moraru 57.7 243
Jean SIMARD 56.14 244 Custom parameters have the format ##<Space>.<ClassPage>_<number>_<propertyname>## (e.g. ##XWiki.XWikiUsers_0_password## or ##XWiki.WatchListClass_3_interval##):
Eduard Moraru 57.7 245
Jean SIMARD 56.14 246 * ##<Space>## must refer to an existing space of the wiki
247 * ##<ClassPage>## must refer to a class
248 * ##<number>## is a positive number
249 * ##<propertyname>## is a name of a property of the class ##<Space>.<ClassPage>##
250
Mathieu Pace 111.1 251 == Action: ##edit## ==
252
253 === Parameter: ##editor## ===
254
Anca Luca 115.1 255 The type of editor to be used on the page:
Mathieu Pace 111.1 256
257 * ##inline##: to edit as an inline form
258 * ##class##: to open the class editor
259 * ##object:## to open the object editor
260 * ##wiki##: to open the wiki editor
261 * ##wysiwyg##: to open the WYSIWYG editor
262
Anca Luca 115.1 263 When the editor parameter is not set, the default editor is automatically computed based on the type of page that is being edited.
264
Anca Luca 114.1 265 === Parameter: ##template## ===
Anca Luca 113.2 266
Anca Luca 116.1 267 Optional, only applies if the page does not already exist: Allows you to have a specific template to apply for the current page, before it's loaded in edit mode.  Should be a string as a Document Reference like ##MyTemplate##, ##Main.MyTemplate## or ##xwiki:Main.MyTemplate##.
Anca Luca 114.1 268
269 === Parameter: ##title## ===
270
Anca Luca 116.1 271 Optional, allows to have the passed title loaded in the title field of the edit form, if present.
Anca Luca 114.1 272
Anca Luca 115.1 273 === Parameter: (% style="font-family:Menlo,Monaco,Consolas,Courier New,monospace; white-space:pre" %)content(%%) ===
Anca Luca 114.1 274
Anca Luca 116.1 275 Optional, allows to have the passed title loaded in the title field of the edit form, if present.
Anca Luca 114.1 276
Mathieu Pace 111.1 277 === Parameter: ##section## ===
278
Anca Luca 116.1 279 Optional, number allowing to [[edit a specific section>>Documentation.UserGuide.Features.PageEditing#HSectionEditing]] of the document. Applies to edit modes wiki and wysiwyg.
Mathieu Pace 111.1 280
Anca Luca 117.1 281 === Custom Parameters ===
282
283 Opitional custom parameters have the format ##<Space>.<ClassPage>_<number>_<propertyname>## (e.g. ##XWiki.XWikiUsers_0_password## or ##XWiki.WatchListClass_3_interval##):
284
285 * ##<Space>## must refer to an existing space of the wiki
286 * ##<ClassPage>## must refer to a class
287 * ##<number>## is a positive number
288 * ##<propertyname>## is a name of a property of the class ##<Space>.<ClassPage>##
289
290 If these parameters are set and the edit form contains form inputs for the properties of these classes, the edit form will load the passed values in the form inputs (like for title or content).
291
Anca Luca 118.1 292 === Parameter: ##form_token## ===
293
294 Optional; the anti-CSRF token string which can be provided by the [[CSRF API>>extensions:Extension.XWiki Platform - CSRF.WebHome]]. The token is mandatory when any of the content-modifying parameters above are used (template, title, content or any of the custom parameters), in order to enable full display of the template, title or content used. When no parameters are sent to the edit action, this parameter is not mandatory.
295
Jean SIMARD 56.15 296 == Action: ##inline## ==
Eduard Moraru 57.7 297
Thomas Mortagne 102.1 298 {{warning}}
299 Deprecated since 3.2.
300 {{/warning}}
Thomas Mortagne 98.1 301
Jean SIMARD 56.15 302 The additional URL paths for the ##inline## action is ##<space>/<page>?<query string>##.
303
304 Examples:
Eduard Moraru 57.7 305
Vincent Massol 57.6 306 * ##http:~/~/<server>/xwiki/bin/inline/Sandbox/WebHome##: Edit in inline mode the ##Sandbox.WebHome## page.
Jean SIMARD 56.15 307
Simon Urli 110.2 308 For the supported query string parameters, you can refer to the [[##save## action>>#HAction:save]].
Jean SIMARD 56.15 309
Vincent Massol 56.9 310 == Action: ##get## ==
Vincent Massol 51.1 311
Vincent Massol 56.9 312 === Parameter: ##htmlHeaderAndFooter## ===
Oana Florea 52.1 313
Vincent Massol 56.8 314 {{info}}Since 6.3RC1{{/info}} If ##htmlHeaderAndFooter=true## is passed then display the HTML headers (##<html>##,##<head>##,##<body>##, etc...) and footers (##</body>##, ##</html>##, etc...).
Guillaume Delhumeau 53.1 315
Vincent Massol 61.1 316 == Action: ##download## ==
317
Vincent Massol 63.1 318 The additional URL paths for the ##download## action is ##<space1>/.../<spaceN>/<page>/<attachment>?<query string>##.
319
320 Example:
321
322 * ##http:~/~/<server>/xwiki/bin/download/Space1/Space2/WebHome/image.png##: Views the ##image.png## attachment located in the ##Space1.Space2.WebHome## page.
323
Vincent Massol 61.1 324 === Parameter: ##force-download## ===
325
326 If set, force the attachment to be downloaded instead of being opened in the browser (it sets the ##Content-Disposition## header to ##attachment## instead of ##inline##).
327
Simon Urli 91.1 328 == Action: ##downloadrev## ==
329
330 The additional URL paths for the ##downloadrev## action is ##<space1>/.../<spaceN>/<page>/<attachment>?<query string>##.
331
332 Example:
333
334 * ##http:~/~/<server>/xwiki/bin/downloadrev/Space1/Space2/WebHome/image.png?rev=1.2##: Views the revision ##1.2## of ##image.png## attachment located in the ##Space1.Space2.WebHome## page.
335
336 === Parameter: ##rev## ===
337
338 The version to get, e.g. ##1.2## in ##http:~/~/<server>/xwiki/bin/downloadrev/Space1/Space2/WebHome/image.png?rev=1.2##
339
340 === Parameter: ##force-download## ===
341
342 If set, force the attachment to be downloaded instead of being opened in the browser (it sets the ##Content-Disposition## header to ##attachment## instead of ##inline##).
343
Eduard Moraru 64.1 344 == Action: ##create## ==
345
346 The additional URL paths for the create action is ##<space1>/.../<spaceN>/<page>?<query string>##.
347
348 Examples:
349
350 http:~/~/<server>/xwiki/bin/create/Space1/Space2/NewPage: UI for creating the Space1.Space2.NewPage document (also known as a terminal document).
351 http:~/~/<server>/xwiki/bin/create/Space1/Space2/WebHome: UI for creating the Space1.Space2.WebHome document (which is also known as a space homepage or a non-terminal document).
Eduard Moraru 85.2 352 http:~/~/<server>/xwiki/bin/create/Main/WebHome: Generic UI for creating a new document (asking for location and document name since Main.WebHome already exists)
Eduard Moraru 64.1 353
354 Here are some of the supported query string parameters.
355
356 === Parameter: ##spaceReference## ===
357
358 {{info}}Since 7.2M1{{/info}} A local reference string serialization of the space in which to create the new document, e.g. "Space1.Space2"
359
Eduard Moraru 64.2 360 //Note//: Since it's a serialized string reference, entity names need to be already escaped. For a space name "A.B", the equivalent local space reference would be "A\.B". Another example of serialized local space reference would be "A\.B.C\.D", meaning space "C.D" inside space "A.B". See the [[extensions:Extension.Model Module]]'s documentation for more information on EntityReferences.
Eduard Moraru 64.1 361
362 === Parameter: ##name## ===
363
Eduard Moraru 64.3 364 {{info}}Since 7.2M1{{/info}} A string representing the name of the new entity, e.g. "NewDocument".
Eduard Moraru 64.1 365
Eduard Moraru 64.3 366 Depending on the type of document to create, this will be used as:
367
368 * a space name, when creating non-terminal documents, e.g. spaceReference=Space&name=Page results in creating "Space.Page.WebHome"
369 * a document name, when creating terminal documents, e.g. spaceReference=Space&name=Page&tocreate=terminal results in creating "Space.Page"
370
Eduard Moraru 64.1 371 === Parameter: ##tocreate## ===
372
373 Accepted values:
Eduard Moraru 64.2 374
Eduard Moraru 64.3 375 * empty or not specified:
Eduard Moraru 64.5 376 ** if the current document does not exist, a terminal document will be created having the current document's reference, e.g. ##/create/Space/NewPage## creates "Space.NewPage"
377 ** if the current document exists, the new document (specified using the ##spaceReference## + ##name## parameters pair) is created as a non-terminal document, e.g. ##/create/Main/WebHome?spaceReference=Space&name=NewPage## creates "Space.NewPage.WebHome".
378 ** {{warning}}Deprecated since 7.2M1{{/warning}} if the current document exists, the new document (specified using the deprecated ##space## + ##pageName## parameters pair) is created as a terminal document, e.g. ##/create/Main/WebHome?space=Space&page=NewPage## creates "Space.NewPage".
Eduard Moraru 64.1 379 * "terminal" - forces the new document to be a terminal document.
380 ** Example: If "Space1.Space2.Page" is to be created, then it is already a terminal document and is not affected in any way by this setting, but if "Space1.Space2.WebHome" is to be created then it would be a non-terminal document by default. In this later case, specifying the tocreate=terminal parameter would force the creation of a terminal document instead, result in the creation of ##Space1.Space2## (i.e. the page named "Space2" in the space "Space1"), effectively going up one level in the Nested Spaces hierarchy.
381 ** In the case of a top level space's WebHome document (e.g. "Space.WebHome"), this setting is ignored, since the top limit of the hierarchy is reached and there is nowhere else to go up. The resulting document to be created is thus "Space.WebHome".
Eduard Moraru 64.4 382 * "space" - {{warning}}Deprecated since 7.2M1{{/warning}} The document to be created will always be a space WebHome (a.k.a a non-terminal document). This value is considered only when used in conjunction with the deprecated ##space## parameter. In this case, the deprecated ##page## parameter is completely ignored. For example: ##tocreate=space&space=MySpace## will result in "MySpace.WebHome".
Eduard Moraru 64.1 383
Eduard Moraru 64.6 384 === Parameter: ##template## ===
385
386 A string serialized document reference of the document to use as template when creating the new document.
387
388 If empty, the new document will be a blank page.
389
390 If not specified, and existing template providers are available to choose from in the current space and the ##templateprovider## parameter is also not specified, no document will be created yet and the create UI will show up asking the user to choose a template provider from a list.
391
392 This parameter has precedence over the ##templateprovider## parameter, meaning that if both are specified, the ##templateprovider## will be ignored.
393
394 === Parameter: ##templateprovider## ===
395
396 A string serialized document reference of the template provider document to use when creating the new document. The actual template document to use will be extracted from the specified template provider.
397
398 If the specified template provider is not allowed to be used in the space where the new document is created, then the create UI will be displayed with an error.
399 //Note//: This check is done for the ##spaceReference## of the new document to be created. Example: If we are creating the terminal document "Space.NewPage", the check is done for the space "Space". However, if we are creating the non-terminal document "Space.NewPage.WebHome", the check is done for the non-terminal document's space "Space" and not for actual document's reference space "NewPage".
400
401 If empty, the new document will be a blank page.
402
Mohammad Humayun Khan 107.1 403 If not specified, and existing template providers are available to choose from in the current space and the ##template parameter is also not specified, no document will be created yet and the create UI will show up asking the user to choose a template provider from a list.##
Eduard Moraru 64.6 404
405 If both this parameter and the ##template## parameter are specified, the ##template## parameter will be used instead of and this parameter will be ignored.
406
Eduard Moraru 64.7 407 === Parameter: ##title## ===
408
409 A string to use as the title of the new document.
410
Mathieu Pace 111.1 411 === Parameter: ##form_token## ===
412
Mathieu Pace 113.1 413 A mandatory anti-CSRF token string which can be provided by the [[CSRF API>>extensions:Extension.XWiki Platform - CSRF.WebHome]].
Mathieu Pace 111.1 414
Eduard Moraru 64.7 415 === Parameter: ##parent## ===
416
417 {{warning}}Deprecated since 7.2M1{{/warning}} A string serialized document reference of the document to use as parent for the new document.
418
Eduard Moraru 64.1 419 === Parameter: ##space## ===
420
421 {{warning}}Deprecated since 7.2M1{{/warning}} A string representing an unescaped space name where the new document will be created, Example: "MySpace", "SpaceNameWith.Dots", etc.
422
Eduard Moraru 64.2 423 //Note//: Because this is just a space name and not a space local reference, only top level space documents can be created, i.e. "TopLevelSpace.Document" is possible but not "TopLevelSpace.SecondLevelSpace.Document".
Eduard Moraru 64.1 424
425 === Parameter: ##pageName## ===
426
427 {{warning}}Deprecated since 7.2M1{{/warning}} A string representing the name of the new document. Example: "NewDocument"
428
Eduard Moraru 64.2 429 //Note//: When using ##tocreate=space## in conjunction with the ##space## parameter, this parameter will be ignored and the document "<space>.WebHome" will be created.
Eduard Moraru 64.1 430
Vincent Massol 65.1 431 == Action: ##skin## ==
432
Thomas Mortagne 87.1 433 Right now dynamic Skin Resources are handled as Entity Resources ([[which is not correct>>https://jira.xwiki.org/browse/XWIKI-12449]]).
Vincent Massol 65.1 434
Vincent Massol 66.1 435 The additional URL paths for the ##skin## action is
Guillaume Delhumeau 68.1 436
Vincent Massol 66.1 437 * ##<filesystem path to resource>?<optional query string>## for Filesystem-based Skins
438 * ##<space1>/.../<spaceN>/<page>/<attachment name>## for a resource attached to a wiki page. Note that Velocity is executed only if the attachment has a CSS or Javascript extension name.
439 * ##<space1>/.../<spaceN>/<page>/<xobject property name>## for Skins defined in wiki pages and having an ##XWiki.XWikiSkins## xobject with a property named ##<xobject property name>##. Note that Velocity is executed only if the ##<xobject property name>## name has a CSS or Javascript extension name.
Vincent Massol 65.1 440
441 Examples:
442
Vincent Massol 67.1 443 * ##http:~/~/<server>/xwiki/bin/skin/skins/flamingo/style.css?skin=XWiki.DefaultSkin&colorTheme=playground%3AFlamingoThemes.Charcoal##: Points to the ##style.css## resource located in the ##[xwiki webapp location]/skins/flamingo## directory on the filesystem (and if not found look for the resource in the base skin and default base skin).
Vincent Massol 65.1 444 * ##http:~/~/<server>/xwiki/bin/skin/resources/uicomponents/search/searchSuggest.css##: Points to the ##searchSuggest.css## resource located in the ##[xwiki webapp location]/resources/uicomponents/search## directory on the filesystem.
Vincent Massol 67.1 445 * ##http:~/~/<server>/xwiki/bin/skin/uicomponents/search/searchSuggest.css##: Similar as just above except that the ##resources## part has been omitted and if the resource doesn't exist in ##[xwiki webapp location]/uicomponents/search## then it's also searched for in ##[xwiki webapp location]/resources/uicomponents/search##
446 * ##http:~/~/<server>/xwiki/bin/skin/XWiki/DefaultSkin/somefile.css##: Points to the ##somefile.css## attachment in the ##XWiki.DefaultSkin## wiki page (and if not found look for the resource in the base skin and default base skin).
447 * ##http:~/~/<server>/xwiki/bin/skin/XWiki/DefaultSkin/edit.vm##: Points to the content of the ##edit.vm## property in the ##XWiki.XWikiSkins## xobject in the ##XWiki.DefaultSkin## wiki page (and if not found look for the resource in the base skin and default base skin).
Vincent Massol 65.1 448
Thomas Mortagne 102.1 449 == Action: ##objectadd## ==
Vincent Massol 96.1 450
451 Adds an XObject to the referenced page.
452
453 Examples:
Thomas Mortagne 102.1 454
Vincent Massol 96.1 455 * ##http:~/~/<server>/xwiki/bin/objectadd/Space/Page?classname=Some.XClass##
456 * ##http:~/~/<server>/xwiki/bin/objectadd/Space/Page?classname=XWiki.XWikiGroups&XWiki.XWikiGroups_member=XWiki.JohnDoe##
457
458 === Parameter: ##classname## ===
459
460 The full name of the document that holds the class which the object to be added should be instance of. Example: ##XWiki.XWikiGroups##.
461
462 === Parameter: ##<classname>_<fieldname>## ===
463
464 This is an optional parameter. You can initialize the XObject properties by passing parameter names of the form ##<classname>_<fieldname>##, where ##classname## is the value given in the ##classname## parameter above and ##fieldname## is the name of the xproperty field to initialize. For example: ##XWiki.XWikiGroups_member## (provided that ##XWiki.XWikiGroups## has been given for the mandatory ##classname## parameter).
465
Mathieu Pace 111.1 466 === Parameter: ##xredirect## ===
Vincent Massol 109.1 467
468 Optional parameter indicating the URL to redirect to once the object has been added.
469
470 For example: ##xredirect=/xwiki/bin/view/SomeSpace/SomePage##.
471
472 When not specified, you're redirected to the current page (the page specified in the URL) and using the object editor (##edit## action and ##editor=object## parameter).
473
Mathieu Pace 111.1 474 === Parameter: ##form_token## ===
475
Mathieu Pace 113.1 476 A mandatory anti-CSRF token string which can be provided by the [[CSRF API>>extensions:Extension.XWiki Platform - CSRF.WebHome]].
Mathieu Pace 111.1 477
Vincent Massol 108.1 478 == Action: ##objectremove## ==
479
480 Removes an XObject from the referenced page.
481
482 Examples:
483
484 * ##http:~/~/<server>/xwiki/bin/objectremove/Space/Page?classname=Some.XClass##
485 * ##http:~/~/<server>/xwiki/bin/objectremove/Space/Page?classname=XWiki.XWikiGroups&XWiki.XWikiGroups_member=XWiki.JohnDoe##
486
487 === Parameter: ##classname## ===
488
489 The full name of the document that holds the class which the object to be removed should be instance of. Example: ##XWiki.XWikiGroups##.
490
491 === Parameter: ##classid## ===
492
493 The number of the object to remove from the class (starts at 0).
494
Mathieu Pace 111.1 495 === Parameter: ##xredirect## ===
Vincent Massol 108.1 496
497 Optional parameter indicating the URL to redirect to once the object has been removed.
498
499 For example: ##xredirect=/xwiki/bin/view/SomeSpace/SomePage##.
500
501 When not specified, you're redirected to the current page (the page specified in the URL) in ##edit## mode (##/edit/## action).
502
Mathieu Pace 111.1 503 === Parameter: ##form_token## ===
504
Mathieu Pace 113.1 505 A mandatory anti-CSRF token string which can be provided by the [[CSRF API>>extensions:Extension.XWiki Platform - CSRF.WebHome]].
Mathieu Pace 111.1 506
Mathieu Pace 119.1 507 == Action: ##delete## ==
508
509 Bring to a screen to delete a page.
510
511 The additional URL paths for the ##delete## action is ##<space1>/.../<spaceN>/<page>?<query string>## or ##<space1>/.../<spaceN>?<query string>##
512
513 Examples:
514
515 * ##http:~/~/<server>/xwiki/bin/delete/Sandbox/WebHome##: Brings to a screen to delete the ##Sandbox.WebHome## page.
516
517 === Parameter: ##confirm## ===
518
519 ##confirm=1##: avoids displaying the screen and deletes the page immediately. Requires the parameter ##form_token##.
520
521 === Parameter: ##affectChildren## ===
522
523 ##affectChildren=(anyValue)##: delete also the children of the page.
524
525 === Parameter: ##newBacklinkTarget## ===
526
527 The reference of the page concerned by ##autoRedirect## and ##updateLinks## parameters
528
529 === Parameter: ##autoRedirect## ===
530
531 ##autoRedirect=true##: redirect the user to the new page when accessing the old page. Needs ##newBacklinkTarget## to work.
532
533 === Parameter: ##updateLinks## ===
534
535 ##updateLinks=true##: update the target of the wiki to this page. Needs ##newBacklinkTarget## to work.
536
537 === Parameter: ##form_token## ===
538
539 Optional; the anti-CSRF token string which can be provided by the [[CSRF API>>extensions:Extension.XWiki Platform - CSRF.WebHome]]. The token is mandatory when using the ##confirm## parameter.
540
Vincent Massol 121.1 541 == Action: ##preview## ==
542
543 Preview changes before they're saved.
544
545 Examples:
546
547 * ##http:~/~/<server>/xwiki/bin/preview/Sandbox/WebHome##: Shows the ##Sandbox.WebHome## page rendered with local changes (but without the changes saved in XWiki)
548
Vincent Massol 101.1 549 = Type: ##vfs## =
550
551 See [[VFS Resource>>extensions:Extension.VFS API]].
552
553 = Type: ##webjars## =
554
555 See [[WebJar Resource>>extensions:Extension.WebJars Integration]]
556
Vincent Massol 56.9 557 = Type: ##wiki## =
Vincent Massol 56.8 558
Eduard Moraru 64.2 559 {{info}}
560 XWiki 7.2: Added support for Nested Spaces
561 {{/info}}
Vincent Massol 62.1 562
Vincent Massol 56.8 563 The format is ##wiki/<wiki name>/<bin subpath>## where:
Eduard Moraru 57.7 564
Vincent Massol 56.8 565 * ##<wiki name>##: the name of the subwiki, e.g. ##platform##.
Sergiu Dumitriu 81.1 566 * ##<bin subpath>##: the same path as for the ##bin## action (see above). For example, if you use ##http:~/~/<main wiki server>/xwiki/bin/download/XWiki/JohnDoe/john.png## you would use ##http:~/~/<main wiki server>/xwiki/wiki/<subwiki name>/download/XWiki/JohnDoe/john.png## to access the same attachment but located in a subwiki named ##<subwiki>##.
Vincent Massol 56.8 567
Vincent Massol 56.9 568 = Type: ##resources## =
Vincent Massol 56.8 569
Vincent Massol 57.6 570 Static template resources, e.g. ##http:~/~/<server>/xwiki/resources/js/prototype/prototype.js##.
Vincent Massol 56.8 571
Vincent Massol 56.9 572 = Type: ##skins## =
Vincent Massol 56.8 573
Vincent Massol 57.6 574 Static skin resources, e.g. ##http:~/~/<server>/xwiki/skins/flamingo/logo.png##.
Sergiu Dumitriu 81.1 575
576 = Type: ##temp## =
577
Thomas Mortagne 102.1 578 {{warning}}
579 Deprecated since 8.3. Use the ##tmp## resource handler instead.
580 {{/warning}}
Thomas Mortagne 98.1 581
Sergiu Dumitriu 81.1 582 Dynamic temporary resources, bound to a specific document and a specific module.
583
584 The format is ##temp/<Space>/<Document>/<module>/<file.ext>##, where:
585
586 * ##<Space>## and ##<Document>## identify the target document; currently only the last part of the space is supported
587 * ##<module>## is the name of the module that generated the resource, a short string used for avoiding conflicts between different modules generating temporary files with the same name
588 * ##<file.ext>## is the name of the temporary file
589
590 == Parameter: ##force-download## ==
591
592 If set to ##1##, force the file to be downloaded instead of being opened in the browser (it sets the ##Content-Disposition## header to ##attachment##).
Thomas Mortagne 84.1 593
594 == Parameter: ##force-filename## ==
595
596 [since 9.0RC1]
597
598 If ##force-download## is set, the value of ##force-filename## is used in the ##Content-disposition## HTTP header to indicate the name of the file to the browser.
Thomas Mortagne 85.1 599
Vincent Massol 101.1 600 = Type: ##tmp## =
Thomas Mortagne 85.1 601
Vincent Massol 101.1 602 See [[Temporary Resource>>extensions:Extension.Temporary Resource API]]
Simon Urli 104.1 603
604 = Type: ##authenticate## =
605
606 {{version since="13.1RC1"}}
607 See [[Authentication Security Module>>extensions:Extension.Authentication Security Module||anchor="HAuthenticateURLresourcetype"]]
608 {{/version}}

Get Connected