Wiki source code of Page Lifecycle

Last modified by Eduard Moraru on 2019/06/10

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 XWiki offers to perform several actions on a document (a.k.a a page).
6
7 = Create =
8
9 There are three ways to create new pages.
10
11 == By adding a wanted link ==
12
13 You can **edit an existing page and create a link to your new page** (either in Wiki mode or in WYSIWYG mode). The resulting link will show up with a question mark next to it, showing it as a non-existent page. Simply click on the link to create the page as a child of the current page.
14
15 {{image reference="CreateInWYSIWYG.PNG"/}}
16
17 This will take you directly to the edit mode for the missing page. **This is the recommended approach** as it'll allow you to create a hierarchy while you create new pages.
18
19 Users and applications can provide pages that can be used as [[templates>>extensions:Extension.Administration Application#HTemplates]] when creating new pages. The new page content (content, objects and other meta data) will be replicated from the template. When clicking on a "wanted link", if there are available templates, you will be asked to select one:
20
21 {{image reference="templateSelectorForWantedLink.png"/}}
22
23 Then you will be taken to the Inline Form edit mode corresponding to the selected page template.
24
25 == By using the Add Page action ==
26
27 You can create a new child page for the current page by using the plus icon located to the right of the page title.
28
29 {{image reference="AddPage.png"/}}
30
31 This will open the Create Page wizard where you can specify the title of the new page.
32
33 By default, the new page will be created as a child of the current page. If you don't want that, then you can change the location of the target page using the page picker (by selecting an existing parent).
34
35 Note: When creating a new page from the wiki's homepage (i.e. clicking the plus icon from the wiki's homepage), there is an exception to the above behavior. In this case, the default is to create a top level page instead of a child of the current page (homepage). If your intention was really to create a child of the homepage (which is not usually the case for homepages), then you can use the page picker and select the homepage as parent of the new page.
36
37 You can also select a [[template>>extensions:Extension.Administration Application#HTemplatesCreationandAdministration]] for the new page.
38
39 Once you're done click the "Create" button and you will be able to edit your newly created page right away.
40
41 This is what you'll see if you're a [[simple user>>platform:Features.PageEditing#HSimpleandAdvancededitingmodes]]:
42 {{image reference="CreatePageSimple.png"/}}
43
44 And if you're an [[advanced user>>platform:Features.PageEditing#HSimpleandAdvancededitingmodes]] you'll be able to control whether the page created will be a Terminal page (i.e. a page that cannot have children, see also [[Terminology>>platform:Features.ContentOrganization.WebHome#HTerminology]]) or not:
45
46 {{image reference="CreatePageAdvanced.png"/}}
47
48 == By entering directly the URL of the new page ==
49
50 You can also **enter the new page name (and its path) directly in the URL of your browser**. For example ##http:~/~/localhost:8080/xwiki/bin/view/Movies/Thriller/Rear Window##. If the target page doesn't exist then you'll get an empty page with a message saying that the page doesn't exist and there'll be a link to create it:
51
52 {{image reference="CreateInURL.PNG"/}}
53
54 == Limitations ==
55
56 Starting with {{code}}XWiki 11.4RC1{{/code}} you might see a warning such as the following when creating a document:
57
58 {{image reference="page-fullname-toolong.png"/}}
59
60 This means that the complete path of the document (the name of the document and the names of its ancestors) is too long, and you have either to rename the document, or to try creating it at antoher place.
61
62 = Edit =
63
64 This allows the editing of a page. See the [[page editing>>platform:Features.PageEditing]] tutorial for more details.
65
66 = Show =
67
68 Whenever you click on a link to a page XWiki automatically shows the page in view mode. This is the default mode. XWiki also supports displaying the page in other formats that may be more adapted to specific circumstances:
69
70 {{toc start="2" depth="2" numbered="false" scope="local"/}}
71
72 == Code ==
73
74 You can view the content of a page without having to edit it (and thus you don't need edit rights). This option is shown only for users in [[Advanced Mode>>platform:Features.PageEditing#HAdvancedMode]].
75
76 To see the code when using the Flamingo skin, you have to go to the More Actions menu, and click on View Source.
77
78 {{image reference="ViewSourceFlamingo.png"/}}
79
80 {{image reference="WikiCodeResultFlamingo.png"/}}
81
82 == Comments ==
83
84 Users with the ##comment## right can leave comments on pages. This allows them to provide feedback without requiring edit rights.
85
86 The comments area is located in the first tab at the bottom of the page.
87 {{image reference="CreateCommentTab.png"/}}
88
89 You can also click the {{image reference="PageActionsMenuButton.png"/}} button and click on "Comments" in the "Viewers" section.
90 {{image reference="AddComment.png"/}}
91
92 On the Flamingo skin, this is the current look of the comments. To add a comment, simply enter the text then click on "Add comment".
93 {{image reference="CommentsFlamingo.png"/}}
94
95 Note: Guest users, if they have the ##comment## right, can also post comments, but they will be asked to fill in their name and possibly to fill out a CAPTCHA (if the feature is enabled) before being able to post a new comment.
96
97 To reply to a comment, click the "Reply" icon.
98 {{image reference="CommentsReplyButton.png"/}}
99
100 In addition to plain text you may also use [[XWiki syntax>>XWiki.XWikiSyntax]] in the content.
101 {{image reference="CommentsAddReply.png"/}}
102
103 To preview your comment click on the "Preview" button after you have entered the content.
104 {{image reference="CommentsAddReplyPreview.png"/}}
105
106 Should you want to go back and edit your comment further, click "Back". To discard the comment altogether click "Cancel". If you are ready to submit your comment click on "Add Comment".
107 {{image reference="CommentsAddReplyView.png"/}}
108
109 The author of the comment or an admin can delete a comment.
110 {{image reference="deleteModal.png"/}}
111
112 You may change the comment you made at a later time by clicking the "Edit" pen icon.
113 {{image reference="CommentsEdit.png"/}}
114
115 By pressing the permalink button, you can get a direct link to that comment which you can share with others.
116 {{image reference="permalinkModal.png"/}}
117
118 == Attachments ==
119
120 A page can contain attachments. See [[Attachments>>platform:Features.Attachments]] for more details.
121
122 == History ==
123
124 Displays the version history of the page. See [[Version Control>>platform:Features.VersionControl]] for more details.
125
126 == Information ==
127
128 Displays some information on the page:
129
130 * Backlinks (i.e. list of pages having links leading to the current page)
131 * Included pages (i.e. the list of pages that this page includes)
132 * {{info}}Since 11.1RC1{{/info}} Reference of the current page. This is the technical id of the current that can be used when using Script APIs or when using some Macros that require a reference to a page (like the [[Include Macro>>extensions:Extension.Include Macro]] for example). The reference is by default displayed to the local wiki, but you can switch it to get a global reference for all wiki in a farm. The right button allow you to quickly copy it to the clipboard.(((
133 {{image reference="page_reference.gif"/}}
134 )))
135
136 = Print =
137
138 There are several possible printing options (what you see may vary depending on the Skin used).
139
140 When using the Flamingo Skin, you will find the Print Preview by clicking on More Actions:
141
142 * Print Preview: Generates a page which is formatted so that it can be easily printed using your browser's Print feature.(((
143 {{image reference="PrintFlamingo.png"/}}
144 )))
145
146 = Export =
147
148 There are several possible exporting formats that XWiki supports: PDF, RTF, XAR, HTML. See the [[Export feature>>platform:Features.Exports]] for more information.
149
150 On the Flamingo skin:
151
152 {{gallery}}
153 image:Features.Exports@ExportFlamingo.png
154 image:Features.Exports@ExportFlamingoPDF.png
155 image:Features.Exports@ExportFlamingoXAR.png
156 {{/gallery}}
157
158 = Delete =
159
160 Removes a page and puts it in the trash.
161
162 {{image reference="DeletePageFlamingo.png"/}}
163
164 A confirmation is asked before the removal is done. Here, you can decide either or not to delete the children along with the current page.
165
166 {{image reference="DeleteConfirmFlamingo.png"/}}
167
168 Note: When deleting a non-terminal page and the only child of that page is the 'WebPreferences' terminal page, the 'Affect children' checkbox will be checked by default. Normally, it would be unchecked, but in this case we`ve noticed that it`s very easy to forget about that page (since it's hidden and automatically created when going into 'Page Administration') and your deleted page might still show up in some places because of that leftover. You can still uncheck it if you know what you are doing.
169
170 Then, you have to wait during the deletion of the page:
171
172 {{image reference="Deleting.png"/}}
173
174 And finally, you have the success message:
175
176 {{image reference="DeleteFlamingoConfirm.png"/}}
177
178 Note that if someone else is currently performing an action on the page you want to delete, you might see the following information box:
179
180 [[image:job-waiting-infobox.png||alt=""]]
181
182 The deletion will automatically resume when the other job is finished or cancelled. You should't quit the page, since some questions can be asked during the deletion.
183
184 == Pages that belong to extensions ==
185
186 Before the success message, you might see the following screen:
187
188 {{gallery}}
189 image:DeleteExtensionPage.png
190 {{/gallery}}
191
192 It happens when you try to delete a page that belong to an extension. This page could be one of the children of the current page. If you continue the delete action, the extension will not work anymore.
193
194 Moreover, it is not recommended to delete pages that belong to extensions manually. You should use the [[Extension Manager>>extensions:Extension.Extension Manager Application]] instead.
195
196 This screen makes you able to select precisely which pages to remove and which ones to preserve. You can also abort the action by clicking on the "Cancel" button.
197
198 == Pages that contains an used XClass ==
199
200 Starting with {{info}}10.10RC1{{/info}}, you might also see one of the following screen:
201
202 {{gallery}}
203 image:delete_simpleuser_xclass.png
204 image:delete_advanceduser_xclass.png
205 {{/gallery}}
206
207 It happens when you try to delete a page that contains an XClass which is used somewhere. This page could be one of the children of the current page. If you continue the delete action, some other pages will not work anymore. That is why the action is completely forbidden for simple users. Advanced users are allowed to chose precisely the pages to remove and those to preserve. They can also abort the action by clicking on the "Cancel" button.
208
209 = Restore =
210
211 To restore a deleted page or remove it from the trash (you'll need to have Admin permissions), check the documentation for the [[Index Application>>extensions:Extension.Index Application]].
212
213 = Copy =
214
215 If you want to create a copy of an existing page then you have to navigate to that page (access that page in view mode) and then select the Copy entry from the page menu (that is located to the right of the page title).
216
217 {{image reference="CopyPageFlamingo.png"/}}
218
219 This will take you to the Copy Page Wizard where you can specify the title of the copy and its new location.
220
221 {{image reference="CopyPageConfirmFlamingo.png"/}}
222
223 If the page is translated in multiple languages then you can select which translation to copy, or you can copy all the translations. If the page has child pages then you can choose to copy them as well (this way you can replicate a hierarchy of pages).
224
225 {{image reference="copyStatus.png"/}}
226
227 Once you click the Copy button you are taken to the Copy Status page where you can see the options that you have selected and the progress of the copy operation. The copy is performed asynchronously. The progress bar is replaced with the operation status at the end in order to let you know if the operation succeeded or failed. You can use the breadcrumbs to navigate to the new page or the old one.
228
229 Starting with 11.1RC1, you might see the following box information instead of the progress bar if another job is currently performed against the pages you selected:
230
231 [[image:job-waiting-infobox.png||alt=""]]
232
233 = Move/Rename =
234
235 If you want to rename or move an existing page then you have to navigate to that page (access that page in view mode) and then select the Rename entry from the page menu (that is located to the right of the page title).
236
237 {{image reference="RenameFlamingo.png"/}}
238
239 This will take you to the Rename Page Wizard where you can specify the new page title (if you want to rename) and/or the new page location (if you want to move the page to a different location).
240
241 This is what you'll see if you're a [[simple user>>platform:Features.PageEditing#HSimpleandAdvancededitingmodes]] (**Note**: you can only see the options to Move / Rename or Delete if you have the Delete Rights or if you are making the changes on a page you've created):
242 {{image reference="RenameConfirmFlamingoSimple.png"/}}
243
244 And if you're an [[advanced user>>platform:Features.PageEditing#HSimpleandAdvancededitingmodes]] you'll be able to also control:
245
246 * whether to update the back-links to the renamed page
247 * whether the new page will be a Terminal page (i.e. a page that cannot have children, see also [[Terminology>>platform:Features.ContentOrganization.WebHome#HTerminology]]) or not
248
249 {{image reference="RenameConfirmFlamingoAdvanced.png"/}}
250
251 If the page has child pages then you can choose to move them to the new location as well. This way the hierarchy under the renamed page is going to be preserved. Otherwise, if you choose to preserve the current path of the child pages (keep the children in place) then they will become "orphans": they will still be accessible with the same URLs (bookmarks are not broken) but they will have a missing parent (which you can fix by creating the parent page later).
252
253 You can also select whether to update the wiki pages that have links pointing to the affected pages.
254
255 In case there are external links (e.g. bookmarks) to the renamed page (or its child pages) they will be broken after the rename unless you choose to create an automatic redirect from the old location to the new one.
256
257 {{image reference="renameProgress.png"/}}
258
259 Once you click the Rename button you are taken to the Rename Status page where you can see the options that you have selected and the progress of the rename operation. The rename, like the copy, is performed asynchronously. The progress bar is replaced with the operation status at the end in order to let you know if the operation succeeded or failed. You can use the breadcrumbs to navigate to the new page or the old one.
260
261 Starting with 11.1RC1, you might see the following box information instead of the progress bar if another job is currently performed against the pages you selected:
262
263 [[image:job-waiting-infobox.png||alt=""]]
264
265 == Pages that belong to extensions ==
266
267 Before the success message, you might see the following screen:
268
269 {{gallery}}
270 image:renameextension.png
271 {{/gallery}}
272
273 It happens when you try to rename a page that belong to an extension. This page could be one of the children of the current page. If you continue the rename action, the extension might not work anymore.
274
275 This screen makes you able to select precisely which pages to rename and which ones to preserve. You can also abort the action by clicking on the "Cancel" button.
276
277 == Pages that contains an used XClass ==
278
279 Starting with {{info}}10.10RC1{{/info}}, you might also see one of the following screen:
280
281 {{gallery}}
282 image:rename_simpleuser_xclass.png
283 image:rename_advanceduser_xclass.png
284 {{/gallery}}
285
286 It happens when you try to rename or move a page that contains an XClass which is used somewhere. This page could be one of the children of the current page. If you continue the renaming/moving action, some other pages will not work anymore. That is why the action is completely forbidden for simple users. Advanced users are allowed to chose precisely the pages to move and those to preserve. They can also abort the action by clicking on the "Cancel" button.
287
288 == Limitations ==
289
290 There are still some limitations on renaming:
291
292 * backlinks have to be turned on (they are turned on by default but if you have turned them off, rename will not rename backlinks and you'll have to turn them on again to benefit from this feature)
293 * backlinks located in XObjects and translated content are not currently renamed. You can track this issue [[XWIKI-981>>https://jira.xwiki.org/browse/XWIKI-981]] to follow the progress.
294 * backlinks are saved when a page is saved thus it may happen with a clean XWiki database that backlinks are not saved. In this special case, you can call the following in a page to refresh all links (you'll need to be admin to do this):(((
295 {{code language="none"}}
296 $xwiki.refreshLinks()
297 {{/code}}
298 )))

Get Connected