-
Notifications
You must be signed in to change notification settings - Fork 82
[Collaboration] Added doc for latest changes #2965
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 4.6
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,11 +1,15 @@ | ||||||
| --- | ||||||
| description: Events that are triggered when working with collaborative editing feature. | ||||||
| page_type: reference | ||||||
| editions: | ||||||
| - lts-update | ||||||
| month_change: true | ||||||
| --- | ||||||
|
|
||||||
| # Collaboration events | ||||||
|
|
||||||
| You can use the following events to extend the [collaborative editing](collaborative_editing.md) feature: | ||||||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Let's go with LTS update (I will change that when merging to 5.0) |
||||||
|
|
||||||
| ## Invitation events | ||||||
|
|
||||||
| | Event | Dispatched by | | ||||||
|
|
@@ -41,3 +45,10 @@ | |||||
| |[LeaveSessionEvent](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Event-LeaveSessionEvent.html)|`SessionLeaveController::leaveAction()`| | ||||||
| |[UpdateSessionEvent](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Event-UpdateSessionEvent.html)|[SessionService::updateSession()](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-SessionServiceInterface.html#method_updateSession)| | ||||||
| |[SessionPublicPreviewEvent](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Collaboration-Session-Event-SessionPublicPreviewEvent.html)|`SessionPublicPreviewController::previewAction()`| | ||||||
|
|
||||||
| ## User filtering events | ||||||
|
|
||||||
| | Event | Dispatched by | Description | | ||||||
| |---|---|---| | ||||||
| |<nobr>[`UsersWithPermissionInfoMappedEvent`](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Share-Event-UsersWithPermissionInfoMappedEvent.html)</nobr>|`Ibexa\Share\Permission\Mapper\`<br>`UsersWithPermissionInfoMapper` | Allows further filtering of users with permissions for collaborative editing | | ||||||
|
Check failure on line 53 in docs/api/event_reference/collaboration_events.md
|
||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -17,8 +17,22 @@ Real-time collaboration syncs changes instantly and shows user avatars and color | |||||
|
|
||||||
| This feature also introduces new dashboard tabs for managing shared drafts and joining collaboration sessions easily. | ||||||
|
|
||||||
| ## Getting Started | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| [[= cards([ | ||||||
| "content_management/collaborative_editing/collaborative_editing_guide", | ||||||
| "content_management/collaborative_editing/install_collaborative_editing", | ||||||
| "content_management/collaborative_editing/collaborative_editing_api" | ||||||
| ], columns=3) =]] | ||||||
| ("permissions/policies#collaborative-editing", "Policies", "Learn about the available Collaborative editing policies"), | ||||||
| ("https://doc.ibexa.co/projects/userguide/en/4.6/content_management/collaborative_editing/"), | ||||||
| ], columns=2) =]] | ||||||
|
|
||||||
| ## Development | ||||||
|
|
||||||
| [[= cards([ | ||||||
| "content_management/collaborative_editing/collaborative_editing_api", | ||||||
| "api/event_reference/collaboration_events", | ||||||
| ("https://doc.ibexa.co/en/4.6/api/rest_api/rest_api_reference/rest_api_reference.html#collaborative-editing", "REST API Reference", "See the available endpoints for Collaborative editing"), | ||||||
| "search/collaboration_search_reference/collaboration_criteria", | ||||||
| "search/collaboration_search_reference/collaboration_sort_clauses", | ||||||
| ], columns=4) =]] | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -23,7 +23,7 @@ The system automatically tracks changes, allowing seamless collaboration within | |||||
|
|
||||||
| Collaborative editing is an opt-in available as an LTS update starting with the v4.6.24 in all [[= product_name =]] editions. | ||||||
| To start using Collaborative editing, you must first install the required packages and perform initial configuration. | ||||||
| To use Real-time editing feature, you must make arrangements with [[= product_name_base =]], and accept Terms & Conditions and Service Level Agreement in the Support Portal. | ||||||
| To use Real-time editing feature, you must make arrangements with [[= product_name_base =]], and accept Terms & Conditions and Service Level Agreement in the Service Portal. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| ## Prerequisites | ||||||
|
|
||||||
|
|
@@ -51,13 +51,17 @@ Collaboration session begins when first invited user accepts the invitation and | |||||
|
|
||||||
| To start collaborative editing, you need to invite collaborators using the **Share** button. | ||||||
|
|
||||||
| You can invite other users to join the session, both internal and external: | ||||||
| The owner of the draft can invite other users to join the session, both internal and external: | ||||||
|
|
||||||
| - **Internal** - by searching their name or email address. These users can either edit the content item or preview it, depending on your choice. | ||||||
| - **External** - by providing their email address in the field. They can only preview the content item. | ||||||
|
|
||||||
| Once they accept the invitation, they are able to join you in editing content item or reviewing it. | ||||||
|
|
||||||
| Once the invitation is accepted, internal users can invite further users if their permissions allow for it. | ||||||
| To do so, they must be a part of an active collaboration session. | ||||||
| Gaining access to the draft through other means, for example by [workflow](workflow.md), doesn't allow inviting other users. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 'means' can have two meanings, so maybe it's better to change wording here:
Suggested change
|
||||||
|
|
||||||
|  | ||||||
|
|
||||||
| You can change the users access or remove it at any time. | ||||||
|
|
@@ -92,7 +96,6 @@ Collaboration is available for the following content types with Rich Text fields | |||||
| - Article | ||||||
| - Folder | ||||||
| - Form | ||||||
| - Product category | ||||||
| - Custom content types | ||||||
|
|
||||||
| All changes made by collaborators are automatically saved when owner publishes or saves content. | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -166,8 +166,60 @@ | |||||
|
|
||||||
| The following setting is available: | ||||||
|
|
||||||
| - `content_type_groups` – defines groups of content types for which the **Share** button is displayed (it can still be disabled for specific content types within these groups) | ||||||
| - `content_type_groups` – defines groups of content types for which the **Share** button is displayed (it can still be disabled for specific content types within these groups by using the `excluded_content_types` setting) | ||||||
|
|
||||||
| In the example confugiration above, the **Share** button is displayed for any content that belongs to the `Content` group, except for `tag` and `product_category_tag` content types. | ||||||
| In the example configuration above, the **Share** button is displayed for any content that belongs to the `Content` group, except for `tag` and `product_category_tag` content types. | ||||||
|
|
||||||
| You can also control which user content types can use the feature by using the `ibexa.share.permission_check_context.content.user_content_type_identifiers` container parameter. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To avoid "can use" +"by using"
Suggested change
|
||||||
| It accepts an array of content type identifiers and the default value is `['editor']`. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need all of the symbols `[' ?
Suggested change
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd keep it, it indicates that the default value is an array.
|
||||||
|
|
||||||
| You can now restart you application and start [working with the Collaborative editing feature]([[= user_doc =]]/content_management/collaborative_editing/work_with_collaborative_editing/). | ||||||
| To add the real-time editing capabilities, continue with the instruction below. | ||||||
|
|
||||||
| ## Configure real-time editing | ||||||
|
|
||||||
| You must have an arrangment with Ibexa before configuring the real-time editing. | ||||||
|
Check failure on line 181 in docs/content_management/collaborative_editing/install_collaborative_editing.md
|
||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As suggested also by vale:
Suggested change
|
||||||
| If you haven't already, you must also accept the Terms of Service in the [Service portal](https://support.ibexa.co/). | ||||||
|
|
||||||
| Only then you can create a new collaborative editing environment. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| To do it, go to your Service Portal and select **Create environment** (this requires the **Portal administrator** access level). | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 'Your' sounds weird here:
Suggested change
|
||||||
|
|
||||||
| With the environment created, you can continue the configuration in [[= product_name =]]. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| Use the generated values to set the `environment_id`, `environment_secret`, and `web_socket_url` for your [repositories](repository_configuration.md) as in the example below: | ||||||
|
|
||||||
| ``` yaml | ||||||
| ibexa: | ||||||
| repositories: | ||||||
| default: | ||||||
| fieldtype_richtext_rte: | ||||||
| environment_id: '%env(CKEDITOR_ENVIRONMENT_ID)%' | ||||||
| environment_secret: '%env(CKEDITOR_ENVIRONMENT_SECRET)%' | ||||||
| web_socket_url: '%env(CKEDITOR_WEB_SOCKET_URL)%' | ||||||
| ``` | ||||||
|
|
||||||
| Then, enable real-time editing for specific [SiteAccesses](siteaccess.md). | ||||||
|
Check failure on line 201 in docs/content_management/collaborative_editing/install_collaborative_editing.md
|
||||||
| The following example enables it for the back office: | ||||||
|
|
||||||
| ``` yaml | ||||||
| ibexa: | ||||||
| system: | ||||||
| admin_group: | ||||||
| fieldtype_richtext_rte: | ||||||
| enabled: true | ||||||
| ``` | ||||||
|
|
||||||
| Finish the configuration by running: | ||||||
|
|
||||||
| ``` bash | ||||||
| composer run post-install-cmd | ||||||
| ``` | ||||||
|
|
||||||
| ## Accepting new Terms of Service | ||||||
|
|
||||||
| Real-Time Collaboration service is only available after accepting its Terms and Conditions. | ||||||
| When Ibexa releases a new version of this document, the new version must be accepted before the appointed deadline. | ||||||
|
Check failure on line 221 in docs/content_management/collaborative_editing/install_collaborative_editing.md
|
||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| The **Portal administrator** for your [Service portal](https://support.ibexa.co) can accept it in Service portal's service details. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| If not done in time, the Real-Time Collaboration service will be disabled until the latest Terms and Conditions are accepted. | ||||||
|
Check warning on line 225 in docs/content_management/collaborative_editing/install_collaborative_editing.md
|
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -63,6 +63,46 @@ | |||||
| |------|------|------| | ||||||
| |`1`|"Forbid"|The user cannot change owner of a content item| | ||||||
|
|
||||||
| ## Collaborative editing limitations [[% include 'snippets/lts-update_badge.md' %]] | ||||||
|
|
||||||
| The collaborative editing limitations specify how the user can use the [collaborative editing](collaborative_editing.md) feature. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, same as in the comment above - feature vs LTS update:
Suggested change
|
||||||
|
|
||||||
| ### Collaborative editing Owner limitation | ||||||
|
|
||||||
| The Owner limitation specifies whose drafts the user can share. | ||||||
| If not specified, user can share: | ||||||
|
|
||||||
| - his drafts | ||||||
|
Check failure on line 75 in docs/permissions/limitation_reference.md
|
||||||
| - drafts they have been invited to collaborate on | ||||||
|
|
||||||
| #### Possible values | ||||||
|
|
||||||
| |Value|UI value|Description| | ||||||
| |------|------|------| | ||||||
| |"self"|"self"| User can only share drafts that they own | | ||||||
|
|
||||||
| ### Collaborative editing Scope limitation | ||||||
|
|
||||||
| The Scope limitation specifies whether the user can share the preview and editing view with other users. | ||||||
|
|
||||||
| #### Possible values | ||||||
|
|
||||||
| |Value|UI value|Description| | ||||||
| |------|------|------| | ||||||
| |"edit"|"Edit"| User can invite other users to edit| | ||||||
| |"view"|"View"| User can share the preview with other users| | ||||||
|
|
||||||
| ### Collaborative editing PublicLink limitation | ||||||
|
|
||||||
| The Public Link (`PublicLink`) limitation specifies whether the user can manage the settings of the shareable preview link. | ||||||
|
|
||||||
| #### Possible values | ||||||
|
|
||||||
| |Value|UI value|Description| | ||||||
| |------|------|------| | ||||||
| |"Off"|"off"| User can't manage the settings| | ||||||
| |"On"|"on"| User can manage the settings| | ||||||
|
|
||||||
| ## Discount Owner limitation [[% include 'snippets/lts-update_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]] | ||||||
|
|
||||||
| The Discount Owner (`DiscountOwner`) limitation specifies whether the user can interact with a [discount](discounts.md). | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -133,6 +133,8 @@ For example, to enable the user to edit only content in the "Design" stage and t | |||||||||
| - `content/edit` with `WorkflowStageLimitation` set to "Design". | ||||||||||
| - `workflow/change_stage` with `WorkflowTransitionLimitation` set to `to_proofreading` | ||||||||||
|
|
||||||||||
| When using the [Collaborative editing LTS Update](collaborative_editing.md), see the [collaborative editing policies](policies.md#content-collaborative-editing) for collaborative editing without defining a strict workflow. | ||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This sentence sounds a bit unclear, maybe something like:
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
|
|
||||||||||
| ## Multi-file upload | ||||||||||
|
|
||||||||||
| Creating content through multi-file upload is treated in the same way as regular creation. | ||||||||||
|
|
||||||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,10 +1,14 @@ | ||||||
| --- | ||||||
| month_change: true | ||||||
| description: Search Criteria available for Collaboration search | ||||||
| editions: | ||||||
| - lts-update | ||||||
| --- | ||||||
|
|
||||||
| # Collaboration Search Criterion reference | ||||||
|
|
||||||
| Search Criteria are found in the `Ibexa\Contracts\Collaboration\Invitation\Query\Criterion` namespace. | ||||||
| Use them to work with objects related to [collaborative editing API](collaborative_editing_api.md). | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| ## Invitation Search Criteria | ||||||
|
|
||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,10 +1,14 @@ | ||||||
| --- | ||||||
| month_change: true | ||||||
| description: Sort Clauses available for Collaboration search | ||||||
| editions: | ||||||
| - lts-update | ||||||
| --- | ||||||
|
|
||||||
| # Collaboration Search Sort Clauses reference | ||||||
|
|
||||||
| Sort Clauses are found in the [`Ibexa\Contracts\Collaboration\Value\Query\SortClause`](/api/php_api/php_api_reference/namespaces/ibexa-contracts-collaboration-invitation-query-sortclause.html) namespace. | ||||||
| Use them to work with objects related to [collaborative editing API](collaborative_editing_api.md). | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| ## Invitation Search Sort Clauses | ||||||
|
|
||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question: feature or LTS update aa it is for 4.6?
Also, for the consistency: