Page Lifecycle

Last modified by Manuel Leduc on 2024/01/18

XWiki offers to perform several actions on a document (a.k.a a page).

Create

There are three ways to create new pages.

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.

CreateInWYSIWYG.PNG

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.

Users and applications can provide pages that can be used as templates 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:

templateSelectorForWantedLink.png

Then you will be taken to the Inline Form edit mode corresponding to the selected page template.

By using the Add Page action

You can create a new child page for the current page by using the plus icon located to the right of the page title.

AddPage.png

This will open the Create Page wizard where you can specify the title of the new page.

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).

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.

You can also select a template for the new page.

Once you're done click the "Create" button and you will be able to edit your newly created page right away.

This is what you'll see if you're a simple user:
CreatePageSimple.png

And if you're an advanced user 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) or not:

CreatePageAdvanced.png

By entering directly the URL of the new page

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:

CreateInURL.PNG

Limitations

Starting with XWiki 11.4RC1 you might see a warning such as the following when creating a document: 

page-fullname-toolong.png

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.

Edit

This allows the editing of a page. See the page editing tutorial for more details.

Delete

Removes a page and puts it in the trash.

DeletePageFlamingo.png

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.

If there are internal references to the deleted page, these can be updated to point to a new page by selecting a target using the page picker.

To fix eventual broken external links (e.g., bookmarks) to the deleted page you can choose to create an automatic redirect from the old location to the new selected target. Note: if a link was made to another wiki page as an external link (by copy-pasting the address bar in the browser) instead of using the wiki syntax to point to the page reference or the Wysiwyg Link menu, this reference is considered an external one and thus not updated automatically.

deletePageBacklinksPane.png

Advanced user can be allowed to choose whether they want to delete the page permanently, or send it to the recycle bin.

In this case, the following options are presented on the page delete screen.

skip_recycle_bin_screen.png

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.

Then, you have to wait during the deletion of the page:

Deleting.png

And finally, you have the success message:

DeleteFlamingoConfirm.png

Note that if someone else is currently performing an action on the page you want to delete, you might see the following information box:

job-waiting-infobox.png

The deletion will automatically resume when the other job is finished or cancelled. You shouldn't quit the page, since some questions can be asked during the deletion.

Pages that belong to extensions

Before the success message, you might see the following screen:

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.

Moreover, it is not recommended to delete pages that belong to extensions manually. You should use the Extension Manager instead.

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.

Pages that contains a used XClass

Starting with 10.10RC1, you might also see one of the following screen:

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 choose precisely the pages to remove and those to preserve. They can also abort the action by clicking on the "Cancel" button.

Restore

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.

Copy

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).

CopyPageFlamingo.png

This will take you to the Copy Page Wizard where you can specify the title of the copy and its new location.

CopyPageConfirmFlamingo.png

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).

copyStatus.png

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.

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:

job-waiting-infobox.png

Move/Rename

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).

RenameFlamingo.png

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).

This is what you'll see if you're a simple user (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):
RenameConfirmFlamingoSimple.png

And if you're an advanced user you'll be able to also control:

  • whether to update the back-links to the renamed page
  • whether the new page will be a Terminal page (i.e., a page that cannot have children, see also Terminology) or not

RenameConfirmFlamingoAdvanced.png

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).

By default (unless advanced users uncheck the box), all internal references in the wiki to the renamed page (and child pages) will be updated to point to the new location of the page (this includes links in content, values of wiki macro parameters, etc.), except for the limitations detailed below. The pages or objects containing these references will be updated to point to the new reference and these modifications will be visible in the history of the impacted page with a comment of type "Renamed back-links.".

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. Note: if a link was made to another wiki page as an external link (by copy-pasting the address bar in the browser) instead of using the wiki syntax to point to the page reference or the Wysiwyg Link menu, this reference is considered an external one and thus not updated automatically.

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.

renameProgress.png

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:

job-waiting-infobox.png

Pages that belong to extensions

Before the success message, you might see the following screen:

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.

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.

Pages that contains a used XClass

Starting with 10.10RC1, you might also see one of the following screen:

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.

Limitations

There are still some limitations on renaming a page, related to the update of the references pointing to that page to point to the new location of the page:

  • 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)
  • Image references are broken when contained in a renamed terminal page
  • 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):
    $xwiki.refreshLinks()
  • Only links located inside macro content and for macros whose content is of type wiki syntax, are renamed

    • This means for example that links inside scripting macros are not renamed: velocity, groovy, html (with wiki syntax activated), etc.
    • It also means that macros which accept wiki syntax as content but do not declare it as such (because they were built based on an older version of the API) also don't see their links renamed
  • None of the backlinks located inside macro content are renamed — even those in wiki syntax macros.
  • The references used in the document and reference macro parameters of the include and display macros are renamed. The page parameter is currently not renamed
  • Backlinks located in XObjects and translated content are not renamed.
  • <14.8 Links pointing to the renamed/moved page and located in other wikis are not currently refactored.

Additional page information and operations are available from the wiki page menu, described below.

Show

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:

Code

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.

To see the code when using the Flamingo skin, you have to go to the More Actions menu, in Viewers menu sub-section, and click on Source.

ViewSourceFlamingo.png

WikiCodeResultFlamingo.png

Comments

Users with the comment right can leave comments on pages. This allows them to provide feedback without requiring edit rights.

The comments area is located in the first tab at the bottom of the page.
CreateCommentTab.png

The comment form is not displayed by default, a comment button allows you to display the comment form if needed.

You can also click the PageActionsMenuButton.png button and click on "Comments" in the "Viewers" section.
AddComment.png

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".
CommentsFlamingo.png

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.

To reply to a comment, click the "Reply" icon.
CommentsReplyButton.png

In addition to plain text you may also use XWiki syntax in the content.
CommentsAddReply.png

To preview your comment click on the "Preview" button after you have entered the content.
CommentsAddReplyPreview.png

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".
CommentsAddReplyView.png

The author of the comment or an admin can delete a comment.
deleteModal.png

You may change the comment you made at a later time by clicking the "Edit" pen icon.
CommentsEdit.png

By pressing the permalink button, you can get a direct link to that comment which you can share with others.
permalinkModal.png

Attachments

A page can contain attachments. See Attachments for more details.

History

Displays the version history of the page. See Version Control for more details.

Information

Displays information about the current page:

  • Page locale (language), if the current page is a translation.
  • Original page locale (language).
  • Existing and missing page translations, if multilingual is on.
  • Page syntax.
    • When changing the syntax, XWiki will propose to convert the page content and meta data to the new syntax if it knows how to perform the conversion. This is not different from what happens in edit mode when changing the syntax.
  • Whether the page is hidden or not.
  • Included pages
  • Backlinks (the list of pages having links leading to the current page)
  • Page reference. This can be used as the value of a macro parameter that expects a page reference (e.g., Include Macro's reference parameter) or when calling script APIs. The reference displayed by default is relative to the current wiki, but you can use the button on the left to get a global (absolute) reference. Use the button on the right to copy the page reference to the clipboard.

pageInformation.png

Some page information can be edited in-place, from view mode, provided you have the edit right.

Children

You can show all children pages of the current page by selecting the "Viewers >> Children" menu option as shown on the following screenshot:

ShowChildren.png

Print

There are several possible printing options (what you see may vary depending on the Skin used).

When using the Flamingo Skin, you will find the Print Preview by clicking on More Actions:

  • Print Preview: Generates a page which is formatted so that it can be easily printed using your browser's Print feature.

    PrintFlamingo.png

Export

There are several possible exporting formats that XWiki supports: PDF, RTF, XAR, HTML. See the Export feature for more information.

On the Flamingo skin:

ExportFlamingo.png

Tags:
   

Get Connected