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.

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.

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.

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

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.

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.

Wiki macros can have several categories

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

Java macros can have several categories

The java macros can have several categories. The deprecated setDefaultCategory is replaced by setDefaultCategories. For instance:

/**
* Create and initialize the descriptor of the macro.
*/

public ExampleMacro()
{

 super("Example", DESCRIPTION, ExampleMacroParameters.class);
  setDefaultCategories(java.util.Collections.singleton("Tutorial"));
}

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.

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.

Cross wiki refactoring of links by default

Cross wiki refactoring of links is now much faster (being in a different wiki does not anymore have any specific performance impact when refactoring links) and enabled by default.

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.

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.

Attachments backlinks indexation

An indexation of the attachments is now done on the wikis. This means that if PageA includes an attachment (or an image) from PageB, PageA will be listed in the backlinks of PageB.

Indexing the attachments requires a full reindexing of both the pages links and attachments usage of the wiki. This means that for a brief period of time, some pages backlinks might be partially incomplete, especially on large wikis.

Temporary Attachments

Starting with this release the files uploaded through the WYSIWYG editor (e.g. when inserting an image or when dropping a file on the editing area) are not saved right away as page attachments. Instead, they become temporary attachments that are saved (linked to the edited page) only when the content of the WYSIWYG editor is saved by the user. This means for instance that when creating a new page, uploading a file doesn't create the page anymore. The user needs to click on the Save button to create the page. Of course, the Cancel button is now behaving as expected: any file uploaded since the last save is discarded along with all the unsaved content changes.

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.

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.

HTML 5 support in the HTML Macro

The HTML macro supports HTML 5 and switches to HTML 5 whenever the content is output as HTML 5. This means that in most cases (for example, when using the default Flamingo Skin), the HTML macro can be used to insert new HTML tags like the <video>-tag into the content of a page while having the clean-parameter enabled.

HTML 5 support in the rendered differences

The rendered differences between different revisions of a page now correctly display HTML 5 tags like figures and captions for changed content. This is in particular relevant with the new figure caption support but can also be good for custom HTML that includes tags not supported by HTML 4.

Changes to "Own Event" and "System Event" notification filters

The "Own Event" and "System Event" notification filters are not blocking anymore the notifications that target explicitly the user. See the Notification Application documentation for more information about these filters.

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.

Replace the Livetable from the attachments tab with a LiveData

The attachments Livetable was updated to use the new LiveData.

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.

Export Without Paged.js

If you're getting a timeout while doing a PDF export and the exported content is not too big then you probably hit a Paged.js bug. Paged.js is the JavaScript library we use to layout the exported content in print pages. You can overcome this by unchecking the Table of Contents, Header and Footer from the PDF Export Options modal and then triggering the export again. This time the export will be done without Paged.js, relying solely on the web browser, which shouldn't pose any problems. Of course, the downside is that you loose the Table of Contents, Header and Footer. Fortunately Paged.js is under active development so we hope its bugs will be fixed soon.

PDF File Name

The file name suggested by the web browser when downloading a PDF generated by the PDF Export Application is now, by default, the title of the wiki page from where the export was triggered (instead of the Java UUID used for the temporary resource name). Checkout the documentation for more information.

Enable the lightbox view for images by default

The lighbox feature is now enabled by default.

Automatically generated anchors for images

XWiki now automatically generates anchors (ids) for images as it does for heading. This makes it easier to, e.g., reference images using the Reference Macro. Automatically generated ids can be overridden by manually setting the image's id parameter.

Disabling lightbox for specific content

The image lightbox feature can now be disabled for an element and its children by adding xwiki-lightbox=false to the parent of the excluded content. This can be used by macros or extensions rendering images as part of the page content so that these images don't appear in the lightbox view.

Display image popover at cursor location

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

Tags:
   

Get Connected