Collaborative editing¶
Collaborative editing feature is available in Ibexa DXP starting with version v5.0.2 or higher, regardless of its edition.
Installation¶
Install Real-time editing feature package¶
If you have an arrangements with Ibexa to use Real-time editing feature, you need to install following package:
1 | |
This command installs also ibexa/ckeditor-premium package and adds the new real-time editing functionality to the Rich Text field type.
It also modifies the permission system to account for the new functionality.
Modify the bundles file¶
Then, if not using Symfony Flex, add the following code to the config/bundles.php file:
1 2 3 4 5 6 7 | |
Configure Collaborative editing¶
Before you can start Collaborative editing feature, you must enable it by following these instructions.
Security configuration¶
After an installation process is finished, go to config/packages/security.yaml and make following changes:
- uncomment following lines with
shareduser provider under theproviderskey:
1 2 3 4 5 | |
- uncomment following lines under the
ibexa_shareable_linkkey:
1 2 3 4 5 6 7 8 9 10 | |
Configuration¶
You can configure Collaborative editing per Repository.
Under ibexa.repositories.<repository_name>.collaboration configuration key, indicate the settings for collaboration:
1 2 3 4 5 6 7 8 9 10 11 | |
The following settings are available:
- participants:
allowed_types- defines allowed user types, values:internal,external, you can set one or both of the valuesauto_invite- determines whether invitations should be sent automatically when inviting someone to a session, default value:true, available values:true,false
- session:
public_link_enabled- determines whether the public link is available, default value:false, available values:true,false
ibexa/share configuration¶
To share content model, you need to configure the ibexa/share package.
Under ibexa.system configuration key, indicate the settings:
1 2 3 4 5 6 7 8 9 10 | |
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 by using theexcluded_content_typessetting)
In the example configuration above, the Share button is displayed for any content that belongs to the Content group, except for tag, landing_page, and product_category_tag content types.
You can also control which user content types can use the feature through the ibexa.share.permission_check_context.content.user_content_type_identifiers container parameter.
It accepts an array of content type identifiers and the default value is ['editor'].
You can now restart you application and start working with the Collaborative editing feature. 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. If you haven't already, you must also accept the Terms of Service in the Service portal.
Only then you can create a new Collaborative editing environment. To do it, log in to the service portal, go to your Service Portal and select Create environment (this requires the Portal administrator access level).
Once the environment is created, you can proceed with the configuration in Ibexa DXP.
Use the generated values to set the environment_id, environment_secret, and web_socket_url for your repositories as in the example below:
1 2 3 4 5 6 7 | |
Then, enable real-time editing for specific SiteAccesses. The following example enables it for the back office:
1 2 3 4 5 | |
Finish the configuration by running:
1 | |
Accepting new Terms of Service¶
Real-Time Collaboration service is only available after accepting its Terms and Conditions. Any new version of this document released by Ibexa must be accepted before the assigned deadline.
The Portal administrator for your Service portal can accept it in Service portal's service details.
If not done in time, the Real-Time Collaboration service will be disabled until the latest Terms and Conditions are accepted.