-
Notifications
You must be signed in to change notification settings - Fork 83
Installation and configuration for Collaborative Editing #2902
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?
Conversation
Preview of modified filesPreview of modified Markdown: |
docs/content_management/collaborative_editing/collaborative_editing.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/collaborative_editing_api.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/collaborative_editing_api.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/install_collaborative_editing.md
Show resolved
Hide resolved
docs/content_management/collaborative_editing/collaborative_editing.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/collaborative_editing_api.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/collaborative_editing_api.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/collaborative_editing_api.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/collaborative_editing_api.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/install_collaborative_editing.md
Show resolved
Hide resolved
docs/content_management/collaborative_editing/install_collaborative_editing.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/install_collaborative_editing.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/install_collaborative_editing.md
Show resolved
Hide resolved
docs/content_management/collaborative_editing/install_collaborative_editing.md
Outdated
Show resolved
Hide resolved
* IBX-9060: Document revamped notifications * Add modified query examples * Apply suggestion from @mnocon Co-authored-by: Marek Nocoń <[email protected]> --------- Co-authored-by: dabrt <[email protected]> Co-authored-by: Marek Nocoń <[email protected]>
* Reworded section for updating LTS Updates * [WIP] Updated Python * Fixed EOLWhitespace * Fixed Symbol attribute
757d554
to
fcf6262
Compare
docs/content_management/collaborative_editing/install_collaborative_editing.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/install_collaborative_editing.md
Outdated
Show resolved
Hide resolved
docs/content_management/collaborative_editing/install_collaborative_editing.md
Outdated
Show resolved
Hide resolved
code_samples/ change report
|
You can select the property that you can read from an invitation: | ||
|
||
- Invitation ID: | ||
|
||
``` php | ||
$invitation->getId(); | ||
``` | ||
|
||
- Session ID: | ||
|
||
``` php | ||
$invitation->getSession()->getId(); | ||
``` | ||
|
||
- Participant ID: | ||
|
||
``` php | ||
$invitation->getParticipant()->getId(); | ||
``` | ||
|
||
- Invitation status: | ||
|
||
``` php | ||
$invitation->getStatus(); | ||
``` |
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.
You can select the property that you can read from an invitation: | |
- Invitation ID: | |
``` php | |
$invitation->getId(); | |
``` | |
- Session ID: | |
``` php | |
$invitation->getSession()->getId(); | |
``` | |
- Participant ID: | |
``` php | |
$invitation->getParticipant()->getId(); | |
``` | |
- Invitation status: | |
``` php | |
$invitation->getStatus(); | |
``` |
This granularity probably is not relevant. It was skipped for Session object.
### Add tables to the database | ||
|
||
Add the tables to the database: | ||
Create the `ibexa_share.sql` file that contains the following code: | ||
|
||
=== "MySQL" | ||
|
||
``` sql | ||
[[= include_file('code_samples/collaboration/config/mysql/ibexa_share.sql', 0, None, ' ') =]] | ||
``` | ||
|
||
=== "PostgreSQL" | ||
|
||
``` sql | ||
[[= include_file('code_samples/collaboration/config/postgresql/ibexa_share.sql', 0, None, ' ') =]] | ||
``` | ||
|
||
Then, run the following command, where `<database_name>` is the same name that you defined when you [installed](install_ibexa_dxp.md#change-installation-parameters) [[= product_name =]]: | ||
|
||
=== “MySQL” | ||
|
||
```bash | ||
mysql -u <username> -p <password> <database_name> < ibexa_share.sql | ||
``` | ||
|
||
=== “PostgreSQL” | ||
|
||
```bash | ||
psql <database_name> < ibexa_share.sql | ||
``` | ||
|
||
This command modifies the existing database schema by adding database configuration required for using Collaborative editing. | ||
|
||
### Modify the bundles file | ||
|
||
Then, if not using Symfony Flex, add the following code to the `config/bundles.php` file: | ||
|
||
``` php | ||
<?php | ||
|
||
return [ | ||
// A lot of bundles… | ||
Ibexa\Bundle\Collaboration\IbexaCollaborationBundle::class => ['all' => true], | ||
Ibexa\Bundle\Share\IbexaShareBundle::class => ['all' => true], | ||
Ibexa\Bundle\FieldTypeRichTextRTE\IbexaFieldTypeRichTextRTEBundle::class => ['all' => true], | ||
Ibexa\Bundle\CkeditorPremium\IbexaCkeditorPremiumBundle::class => [‘all’ => true], | ||
]; | ||
``` | ||
|
||
### Add migration file and execute migration | ||
|
||
Last step is to add migration file and execute migration with the following commands: | ||
|
||
``` bash | ||
php bin/console ibexa:migrations:import vendor/ibexa/collaboration/src/bundle/Resources/migrations/2025_08_26_10_14_shareable_user.yaml | ||
php bin/console ibexa:migrations:migrate --file=2025_08_26_10_14_shareable_user.yaml | ||
``` |
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.
IMO this should be moved up, because it's not part of configuration. It's related to installation.
### Security configuration | ||
|
||
After an installation process is finished, go to `config/packages/security.yaml` and make following changes: | ||
|
||
- uncomment following lines with `shared` user provider under the `providers` key: | ||
|
||
```yaml | ||
```suggestion | ||
security: | ||
providers: | ||
# ... | ||
shared: | ||
id: Ibexa\Collaboration\Security\User\ShareableLinkUserProvider | ||
``` | ||
|
||
- uncomment following lines under the `ibexa_shareable_link` key: | ||
|
||
```yaml | ||
security: | ||
# ... | ||
ibexa_shareable_link: | ||
request_matcher: Ibexa\Collaboration\Security\RequestMatcher\ShareableLinkRequestMatcher | ||
pattern: ^/ | ||
provider: shared | ||
stateless: true | ||
user_checker: Ibexa\Core\MVC\Symfony\Security\UserChecker | ||
guard: | ||
authenticator: Ibexa\Collaboration\Security\Authenticator\ShareableLinkAuthenticator | ||
``` |
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.
Configuration section could be start from this security configuration as it is very important
No description provided.