Hi Mateusz
I've posted a fix. 403 on translation attempt was due to missing schema.
Assitionally I've altered translation routes since config translation edit forms are by default opened in modal window which was a bit too small fo HTML code field. Modal attributes are removed and edit form is opened as a regular page.
On the add/edit translation page I changed original HTML code output as it was rendering the content, while having the code to copy seems much more convenient.
salmonek → made their first commit to this issue’s fork.
I have pushed a proposed solution.
I went with solution 3 - on collaboration plugin init (content at this stage is still in the textarea) submit buttons are disabled.
Once all editors (in case multiple CKEditor fields) are ready - disabled state is removed.
The patch works wirh version 1.4.1.
Hi Diego
Thank you for reporting the issue.
It happened that there is another report for issue caused by the same function call:
https://www.drupal.org/project/ckeditor5_premium_features/issues/3512343
🐛
TypeError: Drupal\ckeditor5_premium_features\Plugin\Filter\FilterCollaboration::processWithTrackChangesData(): Argument #2 ($trackChangesData) must be of type array, null given
Active
We'll go with Marvin's patch as $trackChangesData
was meant to be second argument here.
Hi Marvin
Thank you for reporting the issue. The fix is working fine.
When testing I immediatelty spotted another issue - when there is an insertion or deletion suggestion in the node, there is a Warning: Trying to access array offset on null in Drupal\ckeditor5_premium_features\Plugin\Filter\FilterCollaboration->processAttributeSuggestions()
on node form submit.
I've added a fix here in issue's branch.
salmonek → made their first commit to this issue’s fork.
wim leers → credited salmonek → .
Hi @eme I'm not sure if I understood reproduction steps correctly. What I did was:
- Create a node
- Add some text without track changes
- Commented something
- Added suggestion in the comment scope
- Saved node
- Accept/refuse suggestion
Screen:
In that scenario both approve and reject worked ok.
Additionally could you please share a console log errow with JS aggregation disabled? This would help to identify one of files in trace.
Also is that happening in Realtime collaboration or Non-realtime mode?
@Wim IIRC you asked for my view on this:
⚠️Big caveat: IIRC there are problems/limitations around CKEditor 5's ability to be configured to use only inline elements — IIRC
and
are fundamentally assumed to be allowed.
Yes, by default everything must be wrapped with <p>
(or <hX>
or maybe some other element).
That is an implication of CKEditor 5 internal model's schema:
As per CKEditor 5 documentation:
You cannot put anything you want inside the document model. At least not until you update the schema. The schema defines what is allowed and where, what attributes are allowed for certain nodes, what is not allowed, and so on.
Schema determines things like whether the given element can be enclosed in a block quote, or whether the bold button is enabled on selected content.
https://ckeditor.com/docs/ckeditor5/latest/framework/tutorials/crash-cou...
As metioned schema can be updated. I tried this in a custom CKEditor 5 plugin:
editor.model.schema.extend( '$text', {
allowIn: '$root'
} );
$text
is a any text input $root
is an root of the document
By default $text
is allowed among others in paragraph
and that one is allowed in $root
After the schema update I think I got the result you want to implement:
Additionally I was unable to insert a new paragraph with enter key also use some plugins (lists mostly) as they most probably aren't allowed in $root
:
<br>
is allowed in $root
and apparently there is no way to remove allowIn
entry in element definition. I'll consult that with core team.
Feature has been released in 1.4.1
Fix has been released in 1.4.1
Fix has been released in version 1.3.1
Feature has been released in 1.3.1
Attaching styles has been released in version 1.3.1
Our QA team tested company dictionaries option. I have moved form element outside default settings as those are meant for Wproofreader widget settings available for editors.
Merged to 1.4.x and will be added in the next release.
salmonek → changed the visibility of the branch 1.4.x to hidden.
salmonek → made their first commit to this issue’s fork.
Attaching styles has been tested by our QA team, changes are merged and will be added to the next release.
Tested by our QA team, merged and will be added to the next release.
@francismak
No worries, despite I wasn't able to reproduce, the previous code didn't make sense, so the update is going to be released. Thank you for review.
@phjou
Since it looks like your issue is not related to the one francismak reported, please move conversation
here
🐛
Editor doesn't load with Word Count enabled and in scope of Layout Builder
Active
I added few questions there. Hopefully they will help with reproduction.
salmonek → created an issue.
Hi @dakwamine
Your request seems doable, however ther is I think easier way to remove submit than removing form wrapper. You can remove the submit button itself. For example:
function MYMODULE_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
if ($form_id === 'node_page_form') {
unset($form['actions']['submit']);
unset($form['actions']['preview']);
}
}
@francismak
I've created a MR with slightly updated your patch - added license info and changed library ckeditor5.basic
to just
ckeditor5
Removing 'preprocess' => FALSE
seems to have no effect - libraries dowloaded form external source are still in their respective files, but I've also added that change for case when libraries are loaded locally.
We would appreciate a feedback if that still fixes your issue.
@dakwamine
Are you able to share some example multi entity form for reproduction? Can be for any entity type (I'll adjust entities or form).
Hi Arnaud
Thank you for reporting this issue. As for suggested resolutions we'll probably go will 1/3.
There is some chance that someone will want to deliberately delete content, so I guess we would also need to add some checkbox "I really want to delete content"
Hi Yaroslav
Thank you for contribution. I created a branch mergeable to 1.4.x and cherry picked your commit. It'll be published in 1.4.1
salmonek → changed the visibility of the branch 1.4.x to hidden.
salmonek → made their first commit to this issue’s fork.
MR added. Patch adds an option to attach styles to all pages. It is located in text format settings in same place where custom colors are defined. On form submit if checkbox is checked there will be created a file in public:/ckeditor5/
directory.
Then when libraries are assembled for each text format having attach styling selected there will be created a dynamic css library which will be attached to every page.
A cache rebuild will be required after saving a text format, however I suppose I could add a css librsries flush in code.
@kc_tang
Sorry for long response. It's not a matter of configuration, but attaching a styles to theme. If you use bartik then indeed it is not as easy as adding styles in custom theme. It would require to add a custom css library in custom module and attach it in a preprocess function.
I'll push a MR soon which will add such option in the text format configuration.
New MR adds an option to attach To-Do List styles to all pages. It is located in the text format settings in the "CKEditor 5 plugin settings" tabs.
Additionally a "checked" attribute is added to the allowed list, so checked boxes will not be displayed as empty on forntend. Change requires again to disable plugin form active plugins selection and re-add it. To refresh the "Allowed HTML tags" field.
salmonek → changed the visibility of the branch 1.2.x to hidden.
Hi Wesley
Thank you for the info. We had some issues with off-canvas to address before. So far everything was possible to fix with styling.
We'll wait a bit with this issue as there is upcoming official CKEditor 5 Fullscreen plugin (this one was created only for use in Drupal). ETA - Q1.
We'll be addressing off-canvas issues by the time we'll be working on integration and if it will be possible to fix it with styling I suppose current Fullscren module will get fix also - for users on current versions of Drupal/CKEditor 5.
Some kind of a workaround (only for new headers) is to use autoformatting - https://ckeditor.com/docs/ckeditor5/latest/features/autoformat.html
It uses a markdown-like shorcodes for formatting - type #
for h1, ##
for h2 etc (shorcode is activated after entering code and space)
Attributes required for ToDo Lists to work with "Allow limited HTML..." filter are:
<ul class>
<span class contenteditable>
<label class>
<input type tabindex>
In 1.3.0 also "checked" attribute is missing on input, so checked boxes are not displayed correctly.
Hi Lanny
Bookmarks were added in CKEditor 5 v44.0.0 so there won't be a dll for 41.3.1
In order to use Bookmarks plugin in Drupal 10.3 or 11.0 you can use "CKEditor 5 version override" from the CKEditor 5 Premium Features (module doesn't require any license) package and bump CKE 5 version to 44.
https://www.drupal.org/docs/extending-drupal/contributed-modules/contrib... →
Hi @weseze
Trial is not required for fullscreen. Fullsceen plugin was added to Premium Features module as a free to use plugin (it was before Plugin Pack module was introduced).
As for the issue:
1 Pleaase check Network tab in browser's DevTools - is /modules/custom/ckeditor5_premium_features/modules/ckeditor5_premium_features_fullscreen/js/build/fullscreen.js
file loaded?
2 Do you have JS aggreation enabled? If so then do disabling it makes plugin to work?
Confoguration shouldn't be a problem as it is basically to enable the module and add fullscreen to active toolbar. It looks more like for some reason js file wasn't properly loaded.
Detailed info of error mentioned in the updae should be available in the DevTools console, please share it.
Hi phjou
Is your case also without any errors in JS console?
Does it stop occuring without aggregaton?
The patch will be for sure applied to the 1.3.x branch as code setting dependency on 'ckeditor5/ckeditor5
has been copied form Premium Features module and it is an oversight that we didn't update it after CKEditor 5 was moved to core and now it doesn't make sense.
I just tested on Drupal 10.4 and indeed something is wrong - checkboxes are present, but checked ones are still uncheked in node display. If that is the case then I'll be investigating this.
If you don't have checkboxes at all, then
Resave the text editor configuration
is not enough. To do list plugin have to be taken out of active plugins and re-dragged into it - this is for "Allowed HTML tags" to be refreshed with new allowed tags (attributes acttually).
Hi David
The cause of lack of checkboxes in content display may be due to
https://www.drupal.org/project/ckeditor5_plugin_pack/issues/3472777
🐛
To-do document list not working
Active
The issue is already fixed in 1.3.0, however if you had to-do list plugin enabled before updating then see
this comment
🐛
To-do document list not working
Active
for required steps
As for checkbox editing on entity display - that rather won't be something we'll be adding as we're focusing on the editor functionality.
Added mention about CKEditor 5 v44 requirement for Bookmarks plugin
Fix published in 1.4.0
Feature published in version 1.4.0
Fix published in version 1.4.0
Tested by our QA team. Merged and will be published today in new release.
I've slightly updated labels / descriptions.
Merged and will be published in a new release today.
salmonek → made their first commit to this issue’s fork.
Fix has been released in version 1.3.0
Thank you for the contribution.
I've merged the fix and it will be published in new release today.
The styling part will be added as merge request this week and will land in next release.
Hi francismak
Unfortunately I wasn't able to reproduce the issue so far.
Do you have core aggregation only or with some extension module (AdvAgg)?
Can you share list of toolbar plugins enabled in your text format
Hi @dakwamine
Thank you for bringing this to our attention.
Indeed we didn't take multiple entities on a single form into consideartion before. We'll review the solution.
Reviewed and merged into 1.2.x
salmonek → made their first commit to this issue’s fork.
Hi Maged
Thank you for reporting the issue. I've proposed a little deeper changes for generateFromRequest()
Instead taking the `node` argument, there is iteration over all arguments and if there is a EntityInterface avaialble it will be selected. So name can be extracted from for example Block.
Secondly instead url a label is loaded as entity can be url-less or pretty urls may not be set.
Lastly change of default filename to "document"
salmonek → made their first commit to this issue’s fork.
Hi Diego
Collaboration features requires an editor to be working within a context of a fieldable entity. We require this as we have to save the comments/changes/history data in database tables defined in the module. In order to connect edited content with entries in our custom tables whe need entity, field and delta values which are not available in the layout content block.
There is a workaround - A block library block can be created - it will be possible to use collaboration plugins within it's edit form. Then that block can be added to the layout (Content block section in the "Choose a block" sidebar).
Patch has been merged and released in v 1.2.4
In version 1.2.4 we have added configuration options for the colors dropdown.
For both font and background colors there is a possibility to set number of displayed columns and number of displayed document colors (setting 0 disables them)
Fix has been merged and released in version 1.3.5
Vaersion 1.3.5 has been released with Ubb plugin being disabled for text formats without premium.
To be honest I couldn't reproduce the 404 itself. The endpoint is defined in the same module as Ubb plugin. However your issue made me to realize that with your configuration (Full Screen + Templates form Plugin Pack) that plugin is not required and should be disabled in editor.
I'm attaching a patch which updates the function to determine whether any of premium plugins is enabled (Templates plugin is considered as premium, however for Drupal it's free), so it won't return false positive in case Plugin Pack's Templates are enabled. Additionally Ubb is being disabled if no premium plugins are loaded or CKEditor 5 version is below v44 (where it is completely useless).
The last thing to mention is that if you have "CKEditor 5 Full-screen Mode" and "CKEditor 5 Templates" modules enabled you can safely disable " CKEditor 5 Premium Features"
Hi @mydot
/ckeditor5-premium-features/drupal-version
is a new entpoint added in 1.3.4, so first thing that comes to my mind is that caches weren't rebuilt after update.
BTW is full screen only plugin you're using or do you have something premium added to full html?
Hi @admitriiev
Tested, patch solves the issue. Thak you for the contribution.
Hi @robertragas
Thank you for bringing this to our attention. Posted MR restores compatibility with Drupal 10.3
salmonek → made their first commit to this issue’s fork.
Hey, I already tested the update with Premium Features and Plugin Pack's Templates.
Recent versions of both modules are working fine with this update.
Status update after language review (no changes in content).
Registering for Premium Features Free Trial and Adding credentials to Drupal sections updated. Requires a proofreading check.
The fix has been released in previous (1.2.2) release.
Thank you for the contribution.
@damienmckenna
We're using company repositories for tickets requested by management and bugs reported by QA since people across organization have access there and are familiar with it. In this module we will operate more on Drupal repositories as the internally induced work is mostly done.
The configuration guide has been updated. There is information about all plugins having their sub-modules at the beginning plus each section contains info which module (with it's machine name) to enable.
https://www.drupal.org/docs/extending-drupal/contributed-modules/contrib... →
Added information about necessity of sub-module enabling and provided module name for each functionality including machine name as users that are enabling with drush may not be aware that there are plenty of sub-modules.
I took a look at this issue and as dolszewski mentioned currently in core the styles
config option which enables list styles is set statically to false
, this is same in 11.0.x and 11.1.x
There is a ticket related to this functionality:
https://www.drupal.org/project/drupal/issues/3274635
✨
[upstream] Use CKEditor 5's native and UX
Needs work
I've tested patch from
https://www.drupal.org/project/drupal/issues/3274635#comment-15670807
✨
[upstream] Use CKEditor 5's native and UX
Needs work
on Drupal 10.3.1 and it worked fine with all Plugin Pack plugins:
Please provide info how are you setting list styles in Drupal and optionally which of Plugin Pack's modules breaks it.
Marking as postponed until upstream ticket is done.
After that we'll check if there will be something required to implement in Plugin Pack.
Merged and released in version 1.2.3
Thank you for the contribution.
Merged and released in version 1.2.3
Thank you for the contribution.
Fix released in 1.2.3 version
Since the code for full screen is within the CKEditor 5 Premium Features module (it was created before we have released Plugin Pack) the fix was released in it's 1.3.3 version (it is a dependency for Plugin Pack).
Fix released in version 1.3.3
Released in version 1.3.3
Thank you for the contribuition.
Merged and relased in version 1.3.3
@nilesh.nitsan
We tested the fix with our QA team and released in the 1.3.3 version.
salmonek → made their first commit to this issue’s fork.
salmonek → made their first commit to this issue’s fork.
Thank you @todea for reporting and fix.
I tested the fix and it will be added in next relase planned for tomorrow.