diff --git a/src/nxdoc/web-ui/web-ui-release-notes.md b/src/nxdoc/web-ui/web-ui-release-notes.md index c474d8d33f..e619971fbf 100644 --- a/src/nxdoc/web-ui/web-ui-release-notes.md +++ b/src/nxdoc/web-ui/web-ui-release-notes.md @@ -18,14 +18,17 @@ This page mentions what's new. Refer to the [upgrade notes]({{page page='web-ui- ## Recently Released Changes -{{{multiexcerpt 'web-ui-updates' page='web-ui-release-notes-3-0-8'}}} +{{{multiexcerpt 'web-ui-updates' page='web-ui-release-notes-3-0-9'}}} --- ## Previous Release Notes + + | Version | Summary | | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| [Web UI 3.0.8]({{page page='web-ui-release-notes-3-0-8'}}) | Bugfix release | | [Web UI 3.0.7]({{page page='web-ui-release-notes-3-0-7'}}) | Improvements to the bulk actions | | [Web UI 3.0.6]({{page page='web-ui-release-notes-3-0-6'}}) | New feature: select all documents and trigger bulk actions on them | | [Web UI 3.0.0 to 3.0.5]({{page page='web-ui-release-notes-3-0-0-to-3-0-5'}}) | Upload experience for Large Files, audit entries improvements and more | diff --git a/src/nxdoc/web-ui/web-ui-release-notes/web-ui-release-notes-3-0-8.md b/src/nxdoc/web-ui/web-ui-release-notes/web-ui-release-notes-3-0-8.md index 78fcb90871..da90d8005c 100644 --- a/src/nxdoc/web-ui/web-ui-release-notes/web-ui-release-notes-3-0-8.md +++ b/src/nxdoc/web-ui/web-ui-release-notes/web-ui-release-notes-3-0-8.md @@ -8,7 +8,6 @@ review: toc: true labels: tree_item_index: 996 -hidden: true --- {{{multiexcerpt 'matching-notes' page='web-ui-release-notes'}}} diff --git a/src/nxdoc/web-ui/web-ui-release-notes/web-ui-release-notes-3-0-9.md b/src/nxdoc/web-ui/web-ui-release-notes/web-ui-release-notes-3-0-9.md new file mode 100644 index 0000000000..9aed5ec2f3 --- /dev/null +++ b/src/nxdoc/web-ui/web-ui-release-notes/web-ui-release-notes-3-0-9.md @@ -0,0 +1,41 @@ +--- +title: Version 3.0.9 +description: Discover what's new in Web UI 3.0.9. +review: + comment: '' + date: '2022-01-03' + status: ok +toc: true +labels: +tree_item_index: 995 +hidden: true +--- + +{{{multiexcerpt 'matching-notes' page='web-ui-release-notes'}}} + +{{! multiexcerpt name='web-ui-updates'}} +## What's New in Web UI for LTS 2021 (version 3.0.9) + +Introduces the ability to bulk edit documents through the UI. + +### Noteworthy Changes + +### Bulk Edit Documents + +As a follow up to our focus on [bulk actions]({{page page='web-ui-bulk-actions'}}), this release introduces the ability to bulk edit large sets of documents. See [how to create your custom bulk edit forms using Nuxeo Studio]({{page page='how-to-create-bulk-edit-form-studio'}}) for a complete tutorial. + +### Other + +- The number of documents impacted by a bulk action is hidden until the information becomes available.
[[ELEMENTS-1449](https://jira.nuxeo.com/browse/ELEMENTS-1449)] +- The actual number of documents selected is shown when selecting over 10k.
[[WEBUI-622](https://jira.nuxeo.com/browse/WEBUI-622)] +- An error is displayed when a newly created user already exists.
[[ELEMENTS-1426](https://jira.nuxeo.com/browse/ELEMENTS-1426)] +- The message "No results" is shown only when no more data is loading.
[[ELEMENTS-1434](https://jira.nuxeo.com/browse/ELEMENTS-1434)] +- The nuxeo-directory-radio-group widget shows selected values at document creation.
[[ELEMENTS-1440](https://jira.nuxeo.com/browse/ELEMENTS-1440)] +- Audit data is correctly shown when scrolling over the 40 first entries.
[[WEBUI-615](https://jira.nuxeo.com/browse/WEBUI-615)] +- Rendition download icons take into account the theme variables.
[[WEBUI-524](https://jira.nuxeo.com/browse/WEBUI-524)] +- Required inputs works within layout blocks.
[[ELEMENTS-1439](https://jira.nuxeo.com/browse/ELEMENTS-1439)] + +## Learn More + +[More information about released changes and fixed bugs](https://jira.nuxeo.com/issues/?jql=project IN %28'WEBUI', 'ELEMENTS'%29 AND fixVersion IN %28'3.0.9'%29 ORDER BY type DESC, priority DESC) is available in our bug tracking tool. +{{! /multiexcerpt}} diff --git a/src/nxdoc/web-ui/web-ui-tutorials/how-to-create-bulk-edit-form-studio.md b/src/nxdoc/web-ui/web-ui-tutorials/how-to-create-bulk-edit-form-studio.md new file mode 100644 index 0000000000..6e01c80712 --- /dev/null +++ b/src/nxdoc/web-ui/web-ui-tutorials/how-to-create-bulk-edit-form-studio.md @@ -0,0 +1,92 @@ +--- +title: 'HOWTO: Create a Bulk Edit Form Using Nuxeo Studio' +review: + comment: '' + date: '2021-12-21' + status: ok +toc: true +details: + howto: + excerpt: Learn how to create a bulk edit form using Nuxeo Studio Designer + level: Intermediate + tool: null + topics: 'Web UI, Studio Designer, UIElements, Bulk' +labels: + - tutorial +tree_item_index: 497 +--- + +{{! excerpt}} +In this tutorial you will learn how to create a form to edit metadata on a large set of documents. +{{! /excerpt}} + +## Requirements + +{{#> callout type='info'}} +This capability is available since LTS 2021 with Web UI 3.0.9. +{{/callout}} + +- A [Contract document type]({{page page='web-ui-document-layouts'}}#create-a-contract-document-type) created in Nuxeo Modeler. +- The Nuxeo [Web UI addon](https://connect.nuxeo.com/nuxeo/site/marketplace/package/nuxeo-web-ui) installed on your instance. +- In Studio Modeler > **Settings** > **Application Definition**, make sure that **Nuxeo Web UI** is in the **Packages to Install** list. +- Activate the **Select All and Bulk Actions** feature by adding the `nuxeo.selection.selectAllEnabled=true` property in your [nuxeo.conf]({{page page='configuration-parameters-index-nuxeoconf'}}) file. + +{{#> callout type='tip'}} +Bulk edit can work without enabling the select all option if you intend to select documents to edit individually or using a range only. +{{/callout}} + +## Create the Structure + +1. In Studio Designer, click on the **RESOURCES** tab. +1. Select the `UI` folder and click on the `create` button at the bottom of the screen. +1. Create a new folder and name it `bulk`. + +## Create a Bulk Edit Layout + +To make things faster, we will reuse the same form as the one used for the edit layout of the Contract document type. + +1. From the **RESOURCES** tab, open the **document** > **contract** folder and open the `nuxeo-contract-edit-layout.html` file. +1. Copy the content of the layout (Ctrl/Cmd + A then Ctrl/Cmd + C). +1. Select the `bulk` folder you created previously and click on the `create` button at the bottom of the screen. +1. Create a new `empty file` and name it `nuxeo-bulk-edit-contracts-layout.html`. +1. Inside, paste the content of the contract edit layout. +1. In your bulk edit layout, replace the name of the layout you copied (`nuxeo-contract-edit-layout`) with the current one (`nuxeo-bulk-edit-contracts-layout`). +1. Save your configuration. + +{{#> callout type='info'}} +Your bulk edit layouts need to be placed in the dedicated `bulk` folder, and follow a naming convention introduced to prevent collision. Make sure they are always named `nuxeo-bulk-[your-layout-name]-layout`. +{{/callout}} + +## Bind the Bulk Edit Layout to a Button + +Now that your layout is ready, you will need to bind it to a button. + +1. From the **RESOURCES** tab, open the `nuxeo-[studio-project-id]-custom-bundle.html` file. + {{#> callout type='info'}} + If the file doesn't exist yet, open the `nuxeo-[studio-project-id]-bundle.html` file first and you will be prompted for the custom bundle file to be generated. + {{/callout}} + +1. Inside the file, add the following contribution to bind your layout to a button: + + ``` + + + + + ``` + + {{#> callout type='tip'}} + In this example, we are displaying our button in every situation. Feel free to [add filters to this contribution]({{page space='studio' page='javascript-expression-examples'}}) to refine when the button should be displayed. + {{/callout}} + +1. Save your configuration. Your bulk edit form is ready to be used. + +{{#> callout type='info'}} +You only need to mention the unique part of the layout name in the `layout` property of the `nuxeo-edit-documents-button` element. It applies the naming convention automatically. +{{/callout}} + +## Testing the Result + +From any [Folderish]({{page page="available-facets"}}#folderish) document (e.g. a `Folder`, a `Workspace`) or in the results of a search, select one or several documents you want to validate. Click on your brand new button in the toolbar on top of the screen to open your bulk edit form. Select the properties to replace and the value to set, and click save to launch the action. diff --git a/src/nxdoc/web-ui/web-ui-tutorials/web-ui-bulk-actions.md b/src/nxdoc/web-ui/web-ui-tutorials/web-ui-bulk-actions.md index 0817ae638b..3ef15faa2f 100644 --- a/src/nxdoc/web-ui/web-ui-tutorials/web-ui-bulk-actions.md +++ b/src/nxdoc/web-ui/web-ui-tutorials/web-ui-bulk-actions.md @@ -2,7 +2,7 @@ title: 'Bulk Actions in Web UI' review: comment: '' - date: '2021-09-07' + date: '2021-12-21' status: ok toc: true labels: @@ -11,6 +11,8 @@ labels: tree_item_index: 490 --- +Bulk actions allow you to execute custom logic on large sets of documents. They can be triggered from all sorts of context (while browsing, on search results, during a workflow) and are meant to be used on tens of thousands of documents at once or even more. + ## Enabling Bulk Actions {{#> callout type='info'}} @@ -22,6 +24,12 @@ Bulk actions were introduced to LTS 2021 with Web UI 3.0.6. To prevent bringing nuxeo.selection.selectAllEnabled=true ``` +Bulk edit was introduced to LTS 2021 with Web UI 3.0.9. No additional property is needed to enable it, as it relies on configuration done through Studio. See [how to create a bulk edit form]({{page page='how-to-create-bulk-edit-form-studio'}}) for additional information. + +{{#> callout type='tip'}} +Bulk edit can work without enabling the select all option if you intend to select documents to edit individually or using a range only. +{{/callout}} + ## Using Bulk Actions Once enabled, users can select all documents in a result listing and execute an action on them. A selection can be done while browsing content and in the context of search results. It is possible to select all documents after using filters as well to fine-tune the results first. Note that adding filters, changing the display or the sort order for the results causes the current selection to be lost: this results in sending a different query to the server and we cannot keep track of the difference between the two without hurting performance. @@ -60,6 +68,10 @@ The following default actions are **NOT** available as bulk actions: - Add to clipboard. This action is handled on the client side and does not make use of the [bulk action framework]({{page page='bulk-action-framework'}}). If you want to integrate an action that allows you to do this at scale, you can take inspiration from our [copy / move cookbook](https://github.com/nuxeo/nuxeo-studio-community-cookbook/tree/master/modules/nuxeo/copy-move) entry and adapt it, knowing that you can [create your custom bulk actions using Nuxeo Studio]({{page page='how-to-create-bulk-actions-studio'}}). - Move Document Up and Down (in the context of ordered folders). This would only cause useless processing since moving all documents up or down would yield the same result. +You can create additional bulk actions using Nuxeo Studio as well: +- [Create Bulk Actions Using Nuxeo Studio]({{page page='how-to-create-bulk-actions-studio'}}) +- [Create Bulk Edit Forms Using Nuxeo Studio]({{page page='how-to-create-bulk-edit-form-studio'}}) + ### Bulk Actions Notifications Management When launching a bulk action, a notification is updated regularly in Web UI, providing its current state and allowing the user to abort it. @@ -95,4 +107,24 @@ To avoid cluttering the UI when executing many bulk actions in parallel, three ( ## Configuring a Custom Bulk Action -Custom bulk actions can be configured using Nuxeo Studio. For more information, please refer to our tutorial: [create your custom bulk actions using Nuxeo Studio]({{page page='how-to-create-bulk-actions-studio'}}). +Custom bulk actions and bulk edit forms can be configured using Nuxeo Studio. For more information, please refer to our tutorials: +- [Create Bulk Actions Using Nuxeo Studio]({{page page='how-to-create-bulk-actions-studio'}}) +- [Create Bulk Edit Forms Using Nuxeo Studio]({{page page='how-to-create-bulk-edit-form-studio'}}) + +## Questions and Answers + +### In Which Context Can Users Trigger Bulk Actions? + +They can be launched from any results listing, e.g. when browsing a document or when doing a search. + +### Can I Have Multiple Bulk Edit Forms / Multiple Bulk Actions? + +You can configure as many bulk actions and bulk edit forms as you desire. + +### On How Many Documents Can I Launch a Bulk Action? + +Bulk actions were tested on sets of 150 000 documents; however there is no limit implemented in the software currently. We recommend being thoughtful when designing your bulk actions (how many documents can be impacted, how many of them could run in parallel) and considering your architecture needs. + +### How Do I Deal With Errors? + +When an error happens, the user receives a notification once the action completes. It is possible for them to copy the error message and the bulk command id in order to contact an administrator. An administrator can have a detailed look at the situation by looking at the information related to this bulk command id.