New Experimental Image Dialog

The WYSIWYG editor has a new (experimental) image dialog that simplifies the insertion and edition of images. The new dialog is currently disabled by default but you can enable it from the WYSIWYG Editor section in the Wiki Administration: look for 'xwiki-image' in the drop down of disabled CKEditor plugins and uncheck it then save.

The new image dialog is integrated with the Image Style Administration section so users can apply image styles defined by an administrator. Checkout the CKEditor Integration documentation for more information.

Attachment Gallery Picker Macro

An Attachment Gallery Picker Macro is now available.

This macro allows to search and select attachments. The results of the search are presented in a grid.

Docker-based Multi-page PDF Export

The PDF Export Application (not bundled by default) added support for Docker-based multi-page PDF export. When installed, this application enhances the export modal to allow for multi-page selection when performing PDF export. Moreover, the PDF is now generated by default asynchronously on the server-side (in a background thread) using a headless Chrome web browser running inside a Docker container. At the end, the user is redirected to the generated PDF (as a temporary resource).

Docker-based Multi-page PDF Export

The PDF Export Application (not bundled by default) added support for Docker-based multi-page PDF export. When installed, this application enhances the export modal to allow for multi-page selection when performing PDF export. Moreover, the PDF is now generated by default asynchronously on the server-side (in a background thread) using a headless Chrome web browser running inside a Docker container. At the end, the user is redirected to the generated PDF (as a temporary resource).

Display images in a lightbox

Users can now open images from the page content in a lightbox. While hovering an image, a toolbar will appear with options for opening the image in lightbox mode or to download it. The lightbox will display the image along with some information about it, depending if it's attached to a wiki page or it's an external one, and with some actions like download, toggle the browser full screen mode or start a carousel play of all images found in the page content. You can toggle the visibility of the image caption and action buttons by clicking on the image.

The lightbox feature is disabled by default and can be enabled from the Administration, Look & Feel -> Lightbox section. Checkout the documentation for more information.

Browser-based PDF Export Used by Default

Starting with this version the new browser-based (client-side) PDF Export is used by default, replacing the old PDF export based on Apache FOP (Formatting Objects Processor). Some of the benefits are:

  • dynamic content generated with JavaScript code is now included in the PDF export
  • the CSS styles used in the PDF export are the same as those used when viewing the wiki page
  • multi-page export supported by default
  • writing custom PDF templates is easier

The new PDF Export implementation is still young so you are encouraged to report any issues you may encounter, or propose improvements. If you want to get back the old PDF export implementation, it's easy: there's a configuration option on the PDF Export wiki administration section. If you want to disable the new PDF export implementation completely, that's also possible, either by leaving the list of PDF templates empty in the dedicated administration section, or simply by uninstalling the PDF Export Application.

New Export Modal

The Export Modal has been redesigned:

  • first you need to select the export format from the list of available formats, which are grouped by category and show an icon and a label; you can also type to filter the list of formats
  • if the selected export format doesn't support multi-page export or the current page is terminal then the export is triggered directly
  • if the selected export format supports multi-page export and the current page is nested then the Export Tree Modal is shown, allowing you to select the pages to export
  • depending on the selected format:
    • the export tree may show hidden pages (e.g. for XAR export) or not (e.g. for PDF export)
    • the initial selection in the export tree may consist only in the current page (e.g. for PDF export) or the current page and all its child pages (e.g. for HTML export)

Each export format may customize further the export tree or add additional steps (e.g. PDF Export Options modal).

Attachments usage refactoring

When moving an attachment, the pages using the moved attachment are now automatically refactored to point to the new location of the attachment. Advanced users can deactivate this refactoring in the move attachment form.

Client-side PDF Export

This release introduces a new extension that allows users to export wiki pages to PDF using the browser's print to PDF feature. It's not bundled in XWiki Standard yet but you can install it with the Extension Manager. The advantage of the client-side PDF export over the current server-side FOP-based export is that the result is closer to the way the wiki page looks in view mode (most of the skin styles are preserved). See the PDF Export Application for more information.

Image Style Administration

An Image Style Administration is now available. This interface allows to define standardized image styles that will later be used by the New Experimental Image Dialog to quickly define the appearance of images. 

CKeditor Image Gallery Picker

The new Attachment Gallery Picker Macro is integrated in the new CKEditor Image Dialog. That way, images can be searched by keyword and can be previewed before selection.

Ability to redirect deleted page link to a new page

When deleting a page, users can now select, using a page picker, a new target to be used for updating links that where pointing to the deleted page.

To fix eventual broken external links (e.g. bookmarks, links from emails), they can also create an automatic redirect from the old location to the new target.

In addition, to support restoring a deleted page with an automatic redirect created (i.e. a page with the same name, but with a XWiki.RedirectClass added), a Replace action was added for the deleted pages. See Index Application Documentation.

New CKEditor Image Dialog Improvements

The new CKEditor Image Dialog comes with two new tabs to select images. Users can now use the id of an icon, or use external URLs.
In addition, the image dimensions are now locked by default, and the ratio between the width and height of an images is preserved when one of them is changed.

New CKEditor Image Dialog Improvements

The new CKEditor Image Dialog comes with two new tabs to select images. Users can now use the id of an icon, or use external URLs.
In addition, the image dimensions are now locked by default, and the ratio between the width and height of an images is preserved when one of them is changed.

Ability to redirect deleted page link to a new page

When deleting a page, users can now select, using a page picker, a new target to be used for updating links that where pointing to the deleted page.

To fix eventual broken external links (e.g. bookmarks, links from emails), they can also create an automatic redirect from the old location to the new target.

In addition, to support restoring a deleted page with a redirect created (i.e. a page with the same name, but with a XWiki.RedirectClass added), a Replace action was added for the deleted pages. See Index Application Documentation.

Attachment Move

A new button is now available in the attachments pane, allowing to move or rename an attachment. It is possible to change the name or the location of the attachments. Optionally, a redirection action is proposed, allowing to automatically redirect requests to the old location of an attachment to the new one.

Ckeditor Macro Dialog filters by categories

The CKEditor Macros dialog now allows to filter by several categories. In addition, all the listed macros are now displaying their categories.

In addition, macros with an hidden category are not displayed to users who have Display hidden pages set to False in their preferences. Hidden macros categories are Deprecated and Internal by default, and can be configured by Admins since 14.8+.

Suggestions for missing macros

When a macro does not exist, you get an error in the page where it's used. If that macro exists in an available extension and you're an Admin user, you will get a link to this extension to install it using the Extension Manager, right in the error message description.

Cancel PDF Export

You can now cancel a running multi-page PDF export job, either because you triggered it by mistake (for a large subtree of pages) or because it takes too long, or any other reason. See the PDF Export Application documentation for more information.

Image Captions

The XWiki 2.0 and 2.1 syntax now supports captioned images. The syntax:

[[Caption content>>image:some_image.png]]

is rendered as an image with "Caption content" as caption when the image is alone in a paragraph (e.g. the image syntax is surrounded by blank lines). The caption content supports full XWiki syntax. If you want to use nested links you need to escape the link syntax with a single escape character. For instance, the following syntax:

[[~[~[xwiki.org~>~>https://www.xwiki.org~]~]>>image:some_image.png]]

generates an image with a link to xwiki.org in the caption.

Image captions are also supported in the WYSIWYG editor. In the image dialog the checkbox "Captioned image" can be used to add/remove the caption of an image. The caption can be edited directly below the image.

Wiki macros can have several categories

The wiki macros can have several categories. The deprecated Default category is replaced by Default categories.

Add pagination for Attachments

The attachments tab is now displayed using a Livetable, with only 5 rows displayed at a time to avoid a crowded section. This way, on pages with multiple attached files users can use the navigation and filtering options to search for specific attachments.

Export Formats Extension Point

A new UI extension point org.xwiki.platform.template.exportFormats is available to add export formats to the Export Modal. If you were using the old org.xwiki.plaftorm.menu.export.buttons extension point then we highly recommend updating your code to use this new extension point instead. Checkout the documentation for more information.

Restricted TextArea

It's now possible to indicate in the configuration of a TextArea property if you want the content to be executed in a restricted context. See TextArea for more details.

This new property is now used in comments objects, which means you can display a comment content as any other textarea property without the need to make the context restricted.

PDF Export Administration

The administration section provided by the PDF Export Application has been extended to support:

  • selecting and configuring the tool used to generated the PDF
  • showing the state of the PDF generator
  • setting the page ready timeout, that is the number of seconds to wait for the web page to be ready for print before aborting the PDF export

Checkout the documentation for more information.

Attachment can be restricted based on their mimetypes

It is now possible to limit the attachments uploaded on a space based on their mimetypes. This attachment validation is now applied on attachment upload using the attachment pane, the REST API, and CKEditor image dialog.

The configuration can be done at farm level with xwiki.properties (see below), at wiki level in the administration, in the Attachments Restriction section, or at space level using the page administration.

#-# [Since 14.10RC1]
#-# Define the list of allowed attachment mimetypes. By default, this list is empty, but you can specify a 
#-# comma-separated list of allowed mimetypes. Note that a joker (*) can be used to accept any media type. Once this
#-# list is not empty, any attachment with an unlisted mimetype will be rejected.
#-# For instance, if you want to only accept plain text and any kind of images, you can set the list to:
#-# text/plain,image/*
# attachment.upload.allowList=

#-# [Since 14.10RC1]
#-# Define the list of blocked attachment mimetypes. By default, this list is empty, but you can specify a 
#-# comma-separated list of blocked mimetypes. Note that a joker (*) can be used to accept any media type. Once this 
#-# list is not empty, any attachment matching one of the listed mimetype will be rejected.
#-# For instance, if you want to reject plain text and any kind of images, you can set the list to:
#-# text/plain,image/*
#-#
# attachment.upload.blockList=

 

Improved PDF Template

The default PDF template provided by the PDF Export Application has now better support for multi-page export:

  • the title of each exported wiki page is now included both in the content and in the table of contents, styled differently in order to distinguish it from normal content headings
  • the PDF header shows the title of the "current" wiki page, i.e. the wiki page that provided the content for the current PDF page
  • each exported wiki page starts on a new PDF page

Checkout the documentation for more information.

Attachment gallery picker scope selection toggle

The attachment gallery picker allows to define a search scope, either the current page only, or all viewable pages. In addition, a warning is displayed to the user when the selected attachment is not from the current page.

Improved PDF Template

The default PDF template provided by the PDF Export Application has now better support for multi-page export:

  • the title of each exported wiki page is now included both in the content and in the table of contents
  • the PDF header shows the title of the "current" wiki page, i.e. the wiki page that provided the content for the current PDF page
  • each exported wiki page starts on a new PDF page

Checkout the documentation for more information.

Split Office Content into Nested Pages

The Office Importer Application has been improved to generate (by default) non-terminal (nested) pages when the "Split document" option is selected, if the target wiki page is also non-terminal. The following strategy was implemented:

  • if the target wiki page is terminal then the "child" pages created by the split operation are also terminal
  • if the target wiki page is nested (non-terminal) then:
    • the "child" pages are also nested, if the current user is simple
    • advanced users have a checkbox to control whether the "child" pages are terminal or not, but by default they are not

Besides this, we also did a couple of small improvements to the office import form to:

  • filter office files based on media type (when browsing the local file system)
  • improve existing field labels and hints, adding missing hints
  • hide UI elements that are not relevant for the office import operation
  • perform the office import asynchronously and redirect the user directly to the imported page after a successful import operation

Figure macro type configuration

Is is now possible to manually set the type of a figure macro, instead of relying on the automatic type detection feature.

Document Analysis progress page

A page is now available in the administration to monitor the progress of the document analysis queue. The page displays the number of remaining tasks, grouped by task type.

Attachment selector can use the temporary attachment store

When uploading an attachment using the attachment selector, and the attachment has savemode sets to form, new attachments are not saved directly on the document anymore.
Instead, the attachment is kept in a temporary attachment store and only persisted when the form containing the attachment selector is saved.
Temporary attachments are presented with a clock icon (clock) when presented in the attachments selection modal.

PDF Export Administration

The administration section provided by the PDF Export Application has been extended to support:

  • selecting and configuring the tool used to generated the PDF
  • showing the state of the PDF generator

Checkout the documentation for more information.

Propose not yet installed macros

It's now possible for an admin to install and use a macro directly in the WYSIWYG macros picker. A list of not yet installed compatible macros is proposed at the end to improve discoverability. Note that in the future it'll be proposed to all users (even non-admins) for increased discoverability. Non-admins users will see a message asking them to contact an administrator to install the needed macro.

Macro Categories listed in the available macros page

The list of all the categories of the macros are now listed in the available macros page.

PDF Export Limits

The PDF Export Application can now be configured to:

  • limit the amount of content that can be included in a single PDF export; this can be done either from the PDF Export wiki administration section using the "Maximum content size" property or, globally, from xwiki.properties
    # [Since 14.10]
    # The maximum content size, in kilobytes (KB), an user is allowed to export to PDF; in order to compute the content size
    # we sum the size of the HTML rendering for each of the XWiki documents included in the export; the size of external
    # resources, such as images, style sheets, JavaScript code is not taken into account; 0 means no limit;
    export.pdf.maxContentSize=100
  • limit the number of PDF exports that can be done in parallel; this can be specified only globally, from xwiki.properties
    # [Since 14.10]
    # The maximum number of PDF exports that can be executed in parallel (each PDF export needs a separate thread).
    export.pdf.threadPoolSize=3

Improved Macro picker for "not installed" macros

The WYSIWYG editor allows selecting not yet installed macros in the macros picker, but it was missing some usability information. You now see which recommended extensions a macro belong to, and you get a more explicit warning about what will happen when you select such macros.

Breadcrumbs on Copy, Delete and Rename Operations

When a delete, copy or rename operation is started or its progress is displayed, the breadcrumbs are now visible at the top of the page. This makes it easier to navigate from a deleted, copied or renamed page.

PDF Export Application Improvements

The PDF Export Application (which is still experimental and not bundled in XWiki Standard) has a couple of improvements:

  • The user's own web browser is now used by default to generate the PDF, but the application can still be configured to use a remote Chrome instance or one that runs inside a Docker container. Check out the migration section below for more information.
  • When a remote (or Docker based) Chrome instance is used for PDF printing the application now checks if connection is working before showing the PDF export options. An error message is shown in case the Chrome browser can't be accessed.
  • In case of PDF export failure, the last error message from the PDF export job log is now displayed.
  • The underlying JavaScript library used for paginating the content before printing to PDF (PagedJS) has been upgraded to its latest version.

Indexing User

A new section to define a dedicated indexing user has been added in the "Search" category in the wiki administration.

The search index usually runs without a dedicated user. In some cases this creates minor issues when indexing the title of pages, e.g. in case of a closed wiki, where one cannot access as guest user the sheet that computes the user profile pages title as "Profile of «firstname» «lastname»". This is not possible unless the indexer is associated with a user that has access to the corresponding sheet. A new section in the "Search"  category of the wiki administration allows to set an "indexing user", which is used to access the sheets which might be used to compute page titles.

If this setting is left empty, the stored plain title of the page name is shown as title of the search result for affected pages.

Please read the description and especially about the security implications before setting an indexing user.

Replace the Livetable from the attachments tab with a LiveData

The attachments Livetable was updated to use the new LiveData.

Display image popover at cursor location

The image popover will be now displayed at cursor location, to make it more visible and accessible.

Display image ids in the Lightbox

Users can now copy to the image ID (which is either manually added using the Id Macro, or automatically generated) to clipboard from the lightbox menu or from the image toolbar, without the need to open the lightbox. From the image toolbar, users can also get the direct link to the image, which can then be shared easily.

Tags:
   

Get Connected