Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 The general format of XWiki URLs is {{code language="none"}}<protocol>://<server>/<context path>/<type>/<path>{{/code}}, where:
6
7 * ##<protocol>##: by default it's ##http##. It's possible to use ##https## (See [[how to modify the wiki descriptor>>manager:AdminGuide.EditWikiDescriptor]]).
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>>AdminGuide.AccessWiki]]. In path-based mode, the server is the address of the main wiki.
9 * ##<context path>##: the name under which the XWiki web application is deployed in your Servlet Container, e.g. ##xwiki##. See [[Short URLs>>platform:Main.ShortURLs#HI.Applicationname]] if you wish to deploy XWiki as ROOT.
10 * ##<type>##: the type of URL depending on the XWiki subsystem accessed. The following types are supported:
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).
12 ** ##wiki##: this is similar to ##bin## but specifying the subwiki to access, in path-based mode (See [[Accessing a wiki>>AdminGuide.AccessWiki]]).
13 ** ##rest##: points to a [[REST Resource>>Features.XWikiRESTfulAPI]]
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.
16 ** ##xmlrpc##: points to the now deprecated XMLRPC API (see [[platform:Features.XMLRPC]] for more details).
17 ** ##webdav##: points to a WebDAV resource (see [[Web DAV>>platform:Features.WebDAV]] for more details).
18 * ##<path>##: the path completely depends on the ##<type>## used. See below for more details.
19
20 {{info}}
21 If you're interested in configuring the XWiki URLs, check the [[URL Architecture page>>URL Architecture]].
22 {{/info}}
23
24 = Type: ##bin## =
25
26 {{info}}
27 XWiki 7.2: Added support for Nested Spaces
28 {{/info}}
29
30 There are various ##bin## URLs. The generic format of ##bin## URLs is ##bin/<action>/<path>##. The full list of ##<action>## is defined in the Strut Configuration file (located in ##WEB-INF/struts-config##).
31
32 Here are some well-known actions:
33
34 * ##skin##: Dynamic Skin resource, e.g. ##http:~/~/<server>/xwiki/bin/skin/skins/flamingo/style.css?skin=XWiki.DefaultSkin&colorTheme=playground%3AFlamingoThemes.Charcoal## or ##http:~/~/<server>/xwiki/bin/skin/resources/uicomponents/search/searchSuggest.css##
35 * ##jsx##: [[Javascript Skin Extension>>DevGuide.SkinExtensionsTutorial]] URL, e.g. ##http:~/~/<server>/xwiki/bin/jsx/AnnotationCode/Settings?language=en##
36 * ##ssx##: [[StyleSheet Skin Extension>>DevGuide.SkinExtensionsTutorial]] URL, e.g. ##http:~/~/<server>/xwiki/bin/ssx/AnnotationCode/Style?language=en##
37 * ##webjars##: URL when [[accessing some resources located in a WebJar>>extensions:Extension.WebJars Integration]], e.g. ##http:~/~/<server>/xwiki/bin/webjars/resources/path?value=requirejs%2F2.1.15%2Frequire.min.js##
38 * ##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##
39 * ##view##: Display Entity content (wiki, page, space, attachment, object, property, etc) with the skin applied, e.g. ##http:~/~/<server>/xwiki/bin/view/Sandbox/WebHome##
40 * ##edit##: Edits wiki content (page, object, property, etc), e.g. ##http:~/~/<server>/xwiki/bin/edit/Sandbox/WebHome##
41 * ##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.
42 * ##export##: Exports wiki pages to various formats (PDF, HTML, etc). See [[platform:Features.Exports]].
43 * ##viewrev##: This action is the same as the ##view## action but allowing to address a given revision of the document asked.
44 * ##create##: Provides the UI for creating new documents, e.g. ##http:~/~/<server>/xwiki/bin/create/Space/NewDocument##
45
46 == Action: ##view## ==
47
48 The additional URL paths for the ##view## action is ##<space1>/.../<spaceN>/<page>?<query string>## or ##<space1>/.../<spaceN>?<query string>##
49
50 Examples:
51
52 * ##http:~/~/<server>/xwiki/bin/view/Sandbox/WebHome##: Views the ##Sandbox.WebHome## page.
53 * ##http:~/~/<server>/xwiki/bin/view/Sandbox##: Views the ##Sandbox.WebHome## page.
54 * ##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).
55
56 Here are some of the supported query string parameters.
57
58 === Parameter: ##xpage## ===
59
60 * ##plain##: this value indicates that only the content of the page is printed (no UI). With a document that's not using the XWiki 1.0 syntax you can control the output syntax using ##outputSyntax## and ##outputSyntaxVersion##. You can also pass another parameter named ##raw## which allows you more control:
61 ** ##raw=1##: Returns the page source as is without any formatting but XML-escaped
62 ** ##raw=2##: Returns the page source as is without any formatting (without any escaping)
63 ** ##htmlHeaderAndFooter=true##: {{info}}Since 6.3RC1{{/info}} Display the HTML headers (##<html>##,##<head>##,##<body>##, etc...) and footers (##</body>##, ##</html>##, etc...).
64 * ##xml##: print the exported form of a document. This is what you can find in the xar for each document.
65 * ##rev##: when specified, redirects to the ##viewrev## action (see below)
66
67 === Parameter: ##outputSyntax## and ##outputSyntaxVersion## ===
68
69 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##.
70
71 See [[extensions:Extension.Rendering Module]] for more details on renderers.
72
73 == Action: ##viewrev## ==
74
75 === Parameter: ##rev## ===
76
77 The version to get, e.g. ##2.3## in ##http:~/~/<server>/xwiki/bin/viewrev/MySpace/MyPage?rev=2.3##
78
79 == Action: ##save## ==
80
81 The additional URL paths for the ##save## action is ##<space>/<page>?<query string>##.
82
83 Examples:
84
85 * ##http:~/~/<server>/xwiki/bin/save/Sandbox/WebHome##: Save the ##Sandbox.WebHome## page.
86
87 Here are some of the supported query string parameters.
88
89 === Parameter: ##creator## ===
90
91 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.
92
93 === Parameter: ##language## ===
94
95 Will target a specific language. You must use a specific 2-letters code (see [[I18N>>http://platform.xwiki.org/xwiki/bin/view/Features/I18N]]).
96
97 === Parameter: ##objectPolicy## ===
98
99 {{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]]):
100
101 * ##update##
102 ** Each custom parameter will update a property in an existing object of the current page.
103 ** If the custom parameter refers to a property or an object that don't exist, it will simply ignore it.
104 * ##updateOrCreate##
105 ** Each custom parameter will update a property in an existing object of the current page.
106 ** If the custom parameter refers to a property that doesn't exist, it will ignore it.
107 ** If the custom parameter refers to an object that doesn't exist, it will create it (and pad will ##null## objects if needed).(((
108 //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).
109 //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.
110 )))
111
112 === Parameter: ##parent## ===
113
114 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##.
115
116 === Parameter: ##syntaxId## ===
117
118 Specify which syntax is used for the content of the current page (see [[Supported syntaxes>>http://rendering.xwiki.org/xwiki/bin/view/Main/#HSupportedSyntaxes]]).
119
120 === Parameter: ##template## ===
121
122 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##.
123
124 === Parameter: ##title## ===
125
126 Allows you to modify the title of the page.
127
128 === Custom Parameters ===
129
130 Custom parameters have the format ##<Space>.<ClassPage>_<number>_<propertyname>## (e.g. ##XWiki.XWikiUsers_0_password## or ##XWiki.WatchListClass_3_interval##):
131
132 * ##<Space>## must refer to an existing space of the wiki
133 * ##<ClassPage>## must refer to a class
134 * ##<number>## is a positive number
135 * ##<propertyname>## is a name of a property of the class ##<Space>.<ClassPage>##
136
137 == Action: ##inline## ==
138
139 The additional URL paths for the ##inline## action is ##<space>/<page>?<query string>##.
140
141 Examples:
142
143 * ##http:~/~/<server>/xwiki/bin/inline/Sandbox/WebHome##: Edit in inline mode the ##Sandbox.WebHome## page.
144
145 For the supported query string parameters, you can refer to the [[##save## action>>#HAction:save]].
146
147 == Action: ##get## ==
148
149 === Parameter: ##htmlHeaderAndFooter## ===
150
151 {{info}}Since 6.3RC1{{/info}} If ##htmlHeaderAndFooter=true## is passed then display the HTML headers (##<html>##,##<head>##,##<body>##, etc...) and footers (##</body>##, ##</html>##, etc...).
152
153 == Action: ##download## ==
154
155 The additional URL paths for the ##download## action is ##<space1>/.../<spaceN>/<page>/<attachment>?<query string>##.
156
157 Example:
158
159 * ##http:~/~/<server>/xwiki/bin/download/Space1/Space2/WebHome/image.png##: Views the ##image.png## attachment located in the ##Space1.Space2.WebHome## page.
160
161 === Parameter: ##force-download## ===
162
163 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##).
164
165 == Action: ##create## ==
166
167 The additional URL paths for the create action is ##<space1>/.../<spaceN>/<page>?<query string>##.
168
169 Examples:
170
171 http:~/~/<server>/xwiki/bin/create/Space1/Space2/NewPage: UI for creating the Space1.Space2.NewPage document (also known as a terminal document).
172 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).
173 http:~/~/<server>/xwiki/bin/view/Main/WebHome: Generic UI for creating a new document (asking for location and document name since Main.WebHome already exists)
174
175 Here are some of the supported query string parameters.
176
177 === Parameter: ##spaceReference## ===
178
179 {{info}}Since 7.2M1{{/info}} A local reference string serialization of the space in which to create the new document, e.g. "Space1.Space2"
180
181 //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.
182
183 === Parameter: ##name## ===
184
185 {{info}}Since 7.2M1{{/info}} A string representing the name of the new entity, e.g. "NewDocument".
186
187 Depending on the type of document to create, this will be used as:
188
189 * a space name, when creating non-terminal documents, e.g. spaceReference=Space&name=Page results in creating "Space.Page.WebHome"
190 * a document name, when creating terminal documents, e.g. spaceReference=Space&name=Page&tocreate=terminal results in creating "Space.Page"
191
192 === Parameter: ##tocreate## ===
193
194 Accepted values:
195
196 * empty or not specified:
197 ** 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"
198 ** 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".
199 ** {{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".
200 * "terminal" - forces the new document to be a terminal document.
201 ** 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.
202 ** 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".
203 * "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".
204
205 === Parameter: ##template## ===
206
207 A string serialized document reference of the document to use as template when creating the new document.
208
209 If empty, the new document will be a blank page.
210
211 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.
212
213 This parameter has precedence over the ##templateprovider## parameter, meaning that if both are specified, the ##templateprovider## will be ignored.
214
215 === Parameter: ##templateprovider## ===
216
217 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.
218
219 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.
220 //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".
221
222 If empty, the new document will be a blank page.
223
224 If not specified, and existing template providers are available to choose from in the current space and the ##template# parmeter 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.##
225
226 If both this parameter and the ##template## parameter are specified, the ##template## parameter will be used instead of and this parameter will be ignored.
227
228 === Parameter: ##title## ===
229
230 A string to use as the title of the new document.
231
232 === Parameter: ##parent## ===
233
234 {{warning}}Deprecated since 7.2M1{{/warning}} A string serialized document reference of the document to use as parent for the new document.
235
236 === Parameter: ##space## ===
237
238 {{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.
239
240 //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".
241
242 === Parameter: ##pageName## ===
243
244 {{warning}}Deprecated since 7.2M1{{/warning}} A string representing the name of the new document. Example: "NewDocument"
245
246 //Note//: When using ##tocreate=space## in conjunction with the ##space## parameter, this parameter will be ignored and the document "<space>.WebHome" will be created.
247
248 = Type: ##wiki## =
249
250 {{info}}
251 XWiki 7.2: Added support for Nested Spaces
252 {{/info}}
253
254 The format is ##wiki/<wiki name>/<bin subpath>## where:
255
256 * ##<wiki name>##: the name of the subwiki, e.g. ##platform##.
257 * ##<bin spath>##: 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>##.
258
259 = Type: ##resources## =
260
261 Static template resources, e.g. ##http:~/~/<server>/xwiki/resources/js/prototype/prototype.js##.
262
263 = Type: ##skins## =
264
265 Static skin resources, e.g. ##http:~/~/<server>/xwiki/skins/flamingo/logo.png##.

Get Connected