 So hello everyone and I'm excited to be again on Drupalcon after a longer break Nice to see so many people here Today I will talk about CQ5 in Drupal 9 and 10 and about some things that you probably never heard about CQ editor Our original plan was to have a different speaker here But due to issues with his COVID vaccination he stayed at the airport, so wish me luck Thanks So let me start from presenting myself. I'm working at CQ source since 2007 I started as a developer then became a CTO Currently I am the president and Cpo at CQ source If you wonder what CQ source is CQ source is the company that makes CQ editor actually We are located in Poland And we have currently over 70 people on board In the past for many years. I was also the maintainer of the CQ editor module for Drupal 6 and 7 Today I will cover several topics How CQ editor 5 ended up in Drupal I will give you some overview of CQ editor 5 including presenting some of the features that are not included by default in Drupal 10 But that you can add At the end we will go through a sample plugin that we built to showcase how to extend CQ editor 5 But before we start let me show you a couple of screenshots of CQ editor 5 to stimulate your imagination So this is the stock CQ editor 5 in Drupal There's also this stock CQ editor 5 in Drupal with a little bit more buttons This is CQ editor 5 with a customized team thanks to CSS variables This is CQ editor with restricted editing functionality allowing you to create non-editable and editable parts in CQ editor 5 Here you can see some fancy feature called pagination that can let you see in the editor how the document will be split into pages Indicated PDF files so you can see that there is a page 4 we'll start and Those PDF files you can create create using the export to PDF functionality that is also available for CQ editor 5 CQ editor 5 can be also enhanced with intelligent text predictions This is also CQ editor 5 here You can see track changes where instead of just changing the document you can add Suggestions to the document as well as at comments to select a text This is the revision history where you can track precise changes in each version of the document and compare even several revisions at once So if you browse through revisions, you not only see the content at the exact revision But you precisely see what changes have been done in each particular revision And here is CQ editor 5 with free-time collaboration enabled So you can see the cursor position of all the people and of course edit the documents simultaneously with multiple people Finally, there is even a cake edition of CQ 5 I'm showing those examples to you to underline that CQ editor is really flexible and the default Drupal integration That is great already doesn't have to limit you in any way Thanks to the Drupal API With powerful Drupal modules you can extend it further with features to adapt it to your user's needs Let me now explain in just a couple of minutes why we are talking about CQ editor 5 today As most of you know, CQ editor 4 is the default with weak editor in Drupal 8 and Drupal 9 It has been added to the Drupal core years ago and Unfortunately as every software is slowly reaching its end of life Because of the upcoming end of support for CQ editor 4 Drupal had to choose another with weak editor to replace CQ editor 4 in Drupal 10 and CQ editor 5 was selected as the successor and will become the default editor in Drupal 10 There are multiple reasons why this has happened CQ editor 5 is a really good editor But most importantly Drupal and CQ editor teams have an amazing record of previous collaboration And the next slides will show this a bit Yeah, so integrating CQ editor 5 has been an enormous effort Combined effort from both CQ editor and Drupal teams Let me just show you a couple of pages of tickets from the roadmap to add CQ editor 5 into Drupal core But even some of those tickets were really complex So tickets, more tickets, even more tickets, more tickets, tickets, tickets, and more tickets, tickets, tickets and Yeah, so it took almost two years to complete all the work required in order to seamlessly integrate CQ editor 5 with Drupal and guarantee the desired developer and user experience and Taking this opportunity I would like to thank everyone who was engaged in this process Especially Benjamin Mullins, Laurie Escola, women years and Peter Weber Yeah, I would like to thanks also all the other people involved. So thank you everyone On the CQ source site in order to make CQ editor 5 work with Drupal We focused on several things such as general HTML support to allow any HTML markup in the editor Webpack DLLs in order to unlock writing modules that can extend CQ editor 5 with additional plugins And we added also some CQ editor 5 features such as styles drop-down, document lists and so on One thing that I wanted to mention before we move forward Don't be fooled by the numbers next to the name of the editor CQ editor 5 is not a continuation of CQ editor 4. It has been rewritten from scratch It is a completely new editor with a different architecture and APIs Revwriting the editor was a hard decision But without it we will not be able to introduce all the changes we wanted As a consequence any existing contract modules for CQ editor 4 We have to be recreated to work with CQ editor 5 and sorry for that Side note Writing a complex software from scratch is an incredible challenge and we will think twice before we try it again As you see nearly eight years ago the first commit for the new editor was made This is just a bit how complex which text editors might be as we still have a role map full of things we want to add So let's have now a closer look at CQ editor 5 in Drupal CQ editor 5 was added into the core in Drupal 9.3 as an experimental module To try it out. You do not have to wait until your Drupal 10 is officially available. It's already in Drupal 9 So to enable it go to the modules page Find a CQ editor 5 module in the experimental section and just install it Then you can go to the text editor's configuration screen and CQ editor 5 will be available in the editor's drop-down To select and after that you should be able to see the new and shiny with weak editor in the node edit screen and it's that simple and In Drupal 10 CQ editor 5 will be the default and the only with weak editor available in core of Drupal Drupal 10 is going to be released later this year. So we all still have some time However, we encourage you to give CQ editor 5 a try already Especially if you are looking to improve the editing experience of your users We do everything that is possible to keep your data safe So once Drupal 10 is officially released there should be no data loss When your content from CQ editor 4 will be loaded into CQ editor 5 after the upgrade At least that's our goal And even if it turns out that there are some features missing in CQ editor 5 The goal is to at least keep your data in place And a bit different story I already said that already but I just I would just repeat it a bit different story is when it comes to all the modules I thought we're extending or interacting with CQ editor 4 Since CQ editor 5 is completely different software all these modules seem to add dedicated support for CQ editor 5 The good news is that from what I know all the most important modules are already working with CQ editor 5 And if you are using some less popular modules for CQ editor you have or you have developed your own You have to make sure it's ready for the new editor Now let me go quickly to some new enhancements added to CQ editor 5 in Drupal First of all the new editor comes with a new better UI and improved user interface So for example media widgets have now a dedicated balloon toolbar attached Allowing users to quickly adjust embed media like I don't know align them or something like that Links have now a balloon panel attached to it. Allowing users to quickly see the link URL and manage it for example The styles drop down has been reworked to let you present nicely how each specific style will look like. Thanks We introduced some productivity enhancements such as auto formatting where you can use the mic up similar to mic down Within the editor to make lists so quickly format the text For instance, if you start a text with two stars Then type some text and type two stars at the end It becomes bold so simple but powerful feature and it supports all the options You may think of starting from headings to list endings with ending with basic text formatting So the things that you know from mic down should work in CQ editor to Allow you to create content faster But that's not everything. There is another similar but even more powerful feature called transformations So here you can just you know type C and Create a copyright sign out of it and You can define your own transformations. So possibilities are endless. I think All right, so let me now go choose Some features available in CQ editor, but not included in Drupal core is the same situation like in CQ 4 where Drupal decided not to include all the CQ 4 features But you know their country modules were created to add them So Words and character account There is an API in CQ editor that will allow you to make it a very easy feature You know, there is no UI for that So basically we expose the API to I get the number of words and and characters and you can just you know display it nicely Mention's plug-in so especially if you create some content where you I don't know mention someone or things like that You can use the mentions plug-in and similar to CQ 4 features such as setting from family size color background color So basically if something is not in Drupal and you like it So you can always add it by writing a module or checking if someone already did that Another category of plugins that are not included in Drupal are the premium features As you all know CQ 5 is an open source editor. Anyone can use it under the GPL license At the same time in order to have a team working full-time on an editor We need to have funds to run the whole thing We all have families like to eat sometimes and love to have some place to live and sleep So all those things require money, unfortunately and our solution for this problem In our case are the paid premium features that can anyone can additionally purchase to CQ 5 And how important the sustainability is you can see on multiple examples Aloha editor at some point I had a chance to be included in Drupal 8 instead of CQ 4 as a default editor Later on in turn out that it had the last minor release on exactly the same year as Drupal 8 was released publicly So in 2015 they stopped even adding symbolic patches in 2019 Yeah that Another example could yes, it was a very popular editor a couple of years ago, and is that since 2019? You see 32,000 stars. It didn't help Yeah people concerned and Concerned even more because as you know projects without proper support are a major threat for everyone All right, so enough about dead editors here are some of the premium features I would like to quickly showcase before we move on to another part So I mentioned already export to PDF so basically with a proper configuration You can actually achieve same document layout as you can see in CQ editor, you know break page break as ever in the same place Etc etc Similar to export to PDF. We have also export towards It creates doc logics files, of course, and please know that comments and suggestions in the exported documents can be preserved Talking about comments, of course, there is a comments feature force for CQ 5 track changes. I already mentioned that so let's just Look for a while that's you know insertions are Have the light color, you know deletions have red color and our strike true you can also see formatting suggestions and On top of that to restrict permissions things like comments only Mode can be introduced where users are allowed only to add comments to the content and we also plan to introduce in the future the suggestion only mode and As I said there is a sophisticated revision history feature available and if you look at the interface on top you can quickly navigate through up and down hours to Yeah, just browse through changes. It's especially useful if you have a really large document and I mentioned earlier. I think you can compare multiple revisions at once to see what changes have been introduced over some period of time A return collaboration Basically, you can change your CQ 5 into Google Docs like editor However, we've won huge Advantage you have the full control over the editor features and also over the location where your data is stored So if your users have to use Google Docs today complimentary to Drupal Then your users can stay now within your application if you offer them the same functionality directly in Drupal I And good news we have a working prototype of the Drupal module that ships most of these functionalities Okay, so let me change the topic now and talk a bit about widgets Similar to CQ 4 you can use widgets in your plugins to place various objects inside CQ editor For instance more complex structures product cards. You can embed external libraries like charts math formulas or whatever you imagine To put this in really really simple terms A widget is an element inside the editable area inside the editor that has this little highlight border with some additional controls It can have some dedicated toolbars attached to it and a good example could be an image element with a dedicated toolbar Or the table it's also a widget in CQ editor Or a widget to insert diagrams using the mermaid syntax There are probably plenty of other brilliant widgets that you can create by yourself By the way, in case you were wondering what do you see here? So github writer So in other words security 5 is on github directly To show you how powerful security 5 can be let me switch the subject a bit so Github writer It's a little bit a little open-source extension. We made using security 5 extension for home and Firefox That will turn this simple markdown plain text area field on github into this fully fledged with weak editor That still creates the github flavored markdown under the hood instead of HTML And as you can see you can create tables I never remember how to create tables with markdown So before I explain further how this is possible, let me warn that now we will dive into more complex stuff So When any data is loaded into and retrieved from the editor it is passed to a data processor And the default one is the HTML data processor This is how CQ editor 5 is able to understand HTML and To make this github writer we swap the HTML data processor to markdown data processor and Thanks to this we're able to create such an extension I would like to mention that you can create also other custom data processors. It's not easy, but you can and for example, they can all put JSON instead of HTML and Combining those two things together widgets and maybe custom data processor Perhaps one could offer some alternative to the one on paragraphs module in the future I don't know Drupal so well to answer this question, but seems like an interesting idea to explore some day Okay, so I'm actually this I'm going to do so quickly so there will be plenty of time for questions Yeah So in this last part of the presentation, I will quickly introduce you to the secretive 5 plugins development But before we switch to the plugins development part, let's talk for a second about what's so unique regarding bounding secretive 5 in Drupal So secretive 5 uses modern ES6 JavaScript and as such usually it's being bundled with all the features you need in the ahead of time build process and This is obviously not suitable for Drupal where we need to add bits of CK editor features dynamically For example to allow country modules to register additional plugins for CK editor This is where webpack DLS dynamic link to libraries comes in handy So webpack DLS are pretty complicated inside So I wanted to go into details, but just to give you an idea You place one magic file with the DLL handling code and magically all your imports between dynamically added files will work You do not need to understand this just remember that DLS are just the way to dynamically add plugins to CK editor in Drupal Just copied the relevant code from sample Drupal plugins to have a working setup Now let's see this in action. Let's create a Drupal module adding some new feature to secretive 5 We will build a plugin that adds a widget to the editor with a two columns layout inside Nothing fancy, but remember that widgets can do magic things for example You may have strict the allowed markup inside widgets and so on The complete code is available in GitHub. This module is strongly inspired by the previous attempts of Peter Weber and Gloria Scola So and also let's be realistic will not be able to learn how to code in 10 minutes So please study the code later. I will just give you a brief explanation what you will find there in the repository Okay, so this is the structure of the module Know that there is no PHP add-all there. It's all about some config files and JavaScript for CK editor and In this repository you will find a webpack config file that will let you build the CK replying The most important part in the webpack config is the output part We specify the output file name so two column JS and the library name two columns And this will be used in one of the config YAM files And there's just one script impact adjacent to build a plugin using webpack So you just run yarn DLL build or NPM run DLL build in order to build it And by the way, there's a read me in the repository. So you will be able to just follow that The file info YAML is a standard Drupal file describing the module. So nothing fancy here and The CK editor file YAML file describes the CK editor plugin we create Defines the HTML plugins the HTML elements this plugin will output toolbar buttons and so on And I believe that in the plugins option the first part before the dot corresponds to the library name We specified in the already mentioned webpack config file and the second part after the dot is the name of our CK editor Plug-in about which I will talk about a bit later The last one library YAML will tell Drupal which assets to load with this extension for both admin and front-end And that's all on the Drupal side of things Now the CK editor file part So we'll now create a CK editor file plugin that will extend the editor capabilities By adding this feature to columns layout So we have to define the UI. So basically a toolbar button We have to create a command that inserts two columns into the editor and that will be connected to the UI button click event We have to define schema to tell the editor where our newly created model elements are allowed to exist and Finally, we have to create converters, which I will explain a bit in a moment lots of new words. I will explain them soon So these are all the files we need to create the command one Main plugin file loading or the rest of us editing file where we specify schema and converters and the UI file And the main two column JS is just a bit of code. It's here to create the two columns plug-in and load the remaining editing and UI parts The UI is pretty simple As you see there we create a button somewhere in the middle of this thing and we tell the editor to listen to the Execute event of this button and we execute the insert to columns command when that happens And Yeah, so let's stop down for a while and understand this magic word called model The main difference between CQture 4 and CQture 5 is that CQture 5 operates on its own document model So there's more abstraction. It no longer operates directly on the browser document object model In our case we want to create two new model elements. You see on the left side two columns So the columns container and the column for the column itself You can see the visual representation of the model on the left And this model will be then converted into the HTML markup as you can see on the right It will be converted to HTML both in the editing view and in the data view. I will elaborate on it later And so let's explore a little bit more the model used by CQture 5 to have a better feeling of this part of the editor So you can see that for example The headings are represented by the heading one element I mean the first heading is represented by heading one in line elements like links or styles are actually just attributes of Text nodes you can look in the selection of the paragraph and just text with with attribute called link ref on this selection and This is in the model also have a different representation than in HTML They are intentionally flattened to make it easier to operate on them. So things like indentation are stored as attributes This makes it's easier to manipulate them And Okay, so that was about the deal The editing file takes care going back to our plugin The editing file takes care of the most heavy lifting. I will go through each method on the next slides So in the in-metals we we just add the comment to the editor so yeah The comment itself will do a little bit of stuff So it will insert this to already mentioned model elements to columns and column into the editor on my current selection If allowed by schema another word to explain So speaking of schema Thanks to the schema we told the editor to allow two columns Elements everywhere where block elements are allowed and we tell that the column is only allowed inside the two columns container So as you probably already suspect schema define rules for the Ciki editor engine on how to process the model For example where elements can be placed What attributes are allowed in elements it will be used during editing when pasting content and so on Next we define converters in the plugin so a little bit about converters Is Ciki editor 5 there are two different conversions Model to view which we call downcast. So Whenever for example Ciki editor is supposed to Render the model inside the editor itself inside the editing area It does conversion to the editing view and whenever you request Ciki editor to return the see the HTML inside the editor It does also the conversion from this virtual model to so-called data view Sometimes the data view and the editing view are the same But many times the data view and the editing view are different for example in the editing view we can I don't know show Very nice representation of a tweet But in the data view you want to keep it as simple as possible to you know have a chance to Change the way the tweets are displayed over time or any other abstract elements and Drupal is using this heavily And the opposite view to model which we called an upcast Okay, so Going back to our plugin We define some upcast and downcast converters for the main two columns converters Using our conversion API. I won't spend too much explaining this But you can check out our excessive documentation if you want to know more we have quite a Long documentation about this because this is a bit complex in fact and again the goal is to guide Ciki editor 5 how to convert HTML to the model and vice versa and We do the same for the column element as well and Once we have this module completed We can go to the module screen find our two columns module and install it and If everything went well, you should see a new button in the toolbar allowing you to insert two column layout into the editor By the way, I already showed us screenshot of this button didn't tell you what is this For better developer experience we created a dedicated developer tool called Ciki editor 5 inspector So if the Ciki editor 5 inspector we can inspect the current model Editing view structure selection markers comments and much more So if you are about to create a Ciki editor 5 plugin Definitely check this out and check our documentation for more info Okay, so I'm fast That's all I have for today. I Hope you liked it and we'll give Ciki editor 5 a try If you'd like to chat with us. We are in the expo hall. Please feel invited to visit us and I don't know we have plenty of time for questions if you have any so yeah, thanks Okay I don't think you might probably right Okay, huh So I invite you to our booth It's complex. Basically. We ask you a lot of questions about for example the number of users, etc And try to adjust the pricing to the size of the project basically It was a very complex question. So can't you just rephrase the question make it a bit shorter? Okay, so the question is about the pricing how the pricing works and How this will work in case of a website where we don't know how many users it will have whether we have three users or one million users So I would say that this is an edge case If you don't know how many users your website will have because you you should know at least a bit Whether it will be one million or three people but basically, you know Our customers grow So we have plenty of examples where our customers started with a low number of users and Their users base is increasing we have Really complex use cases for example, we have a customer called shortcut previous previously known as clubhouse and They started introducing a freemium model and we are working together with them to figure out that the right pricing So basically We don't exaggerate with the pricing we try to adapt to the customer not not always it's possible, but Basically, we try to explore as much as possible then it's of the customer and sometimes It's maybe Irritating for our customers because they expect to see the pricing online and our sales guys are asking them a bunch of questions But yeah, the better we know you the easier for us is to propose the best strategy for for your product Okay, not a question. Okay, so the question was about the users use in pricing. Yes users I Was referring to people who will be editing the content with CK editor not the visitors of the website question, let me repeat this so and the question was about migrating from CQ4 to CQ5 having a couple of plugins that was using some custom markup and how to migrate to CQ5 so as I mentioned earlier The plugins inside. I mean you will have to rewrite the plugins to make them compatible with CQ5 When it comes to the not sure did they Introduce some html markup simply additional html markup Okay, so if they introduce some additional html markup There are two ways and the first way is to simply recreate the same plugins for CQ5 with all the UI etc But also there is a simple approach the thing that I mentioned at some point during the presentation We introduced so-called general html support which basically introduces support for any html attributes etc So at least this content custom content shouldn't get lost But of course if you would like to have some editing UI for that you have to recreate it And you know if you would like to get our help we also have So-called assistance package, so basically development services, but we have very limited capacity so We have to carry out Yeah So Yeah, I know that many websites are still on Drupal 7. We also have website on Drupal 7 Our say system is using it partially Yeah, so that's a good good idea, so I guess you're using CQ4 in Drupal 7, right? You don't know, okay so basically Drupal 7 was Prepared to enable multiple editors because as you know it's you know by default it didn't contain any editor So some country modules appeared there. There was a wizard module and the CQ there module that You know allowed you to insert a wizard editor So you can take either wizard module or CQ editor module and try to adjust it to Make it compatible with CQ5 If I were to give any hints Both CQ editor module and wizard module I really hope I am telling the truth because I didn't install the wizard module for many years So my knowledge is a little bit outdated, but I would say that both wizard module and CQ editor module introduced a lot of you know additional functionality Substructions and if you would like to integrate just your Particular version of CQ editor 5 with Drupal then maybe you don't need like I don't know 75% of the coder, but if you use it as a you know base to write a module that integrates CQ5 with Drupal 7 Then with you know some experience with Drupal that should be possible because again it was predicted already by Drupal maintainers that people like to simply Use a custom editor there Yep, next question So could you give me an example of a markup that you Think that might not be supported Okay, that's a good question. The question was about the markup and about for example anchors surrounding block elements I don't remember that Cutsper, there is a cat spur here. Would you like to answer the question? Okay, so cat spur is our Q 18 minute and he may be answered may be able to answer this question, but Okay, it really depends how you configure this general HTML support, but actually I believe It will it should work with the block elements Sorry, Casper Yeah, so I would just explain a little bit further because You know many times we see that Our users are too shy to report issues or ask for new features If you notice that something is not working as expected really Please feel free to create an issue Our goal is to simply be compatible with all the content that can be created with any editors out there So as long as we are talking about valid HTML syntax, it should work Unfortunately We have a lot of customers that even expect us to support in valid HTML like Tables surrounded with span elements and so on. So that's quite challenging But you know why the HTML syntax should be supported. So if you notice that something is unsupported, you know Create an issue and we'll handle that That's a good question. We don't have a plan for it But we have a lesson that we learned the same lesson that you learned, right? So repeat the question how long security five will be supported So that's a good question because you know We learned a hard lesson of how long it takes to rewrite the software from scratch the same that should With Drupal so we are still adding features which are Critical from my point of view so our goal is to stick to the current architecture as long as possible and There is another lesson that we learned over time with Secretor 4. We try to you know Be backwards compatible to not Include any breaking changes all the time keep API intact, etc And this was limiting so in order to keep Secretor 5 more modern We will be allowing ourselves to introduce breaking changes from time to time But I believe that it makes sense because you know Why why we are still on Drupal 7 because it takes so much effort to migrate everything To the next version of Drupal that we don't want to do the same to our users Unless we need to and with Secretor 4 we had to do this and just to You know assure you that we will not gonna change Secretor 5 You know soon Just keep in mind that Secretor 4 is a successor of Secretor 3. It was like a lifting of Secretor 3 So basically the lifespan of Secretor 4 was Let me count From 2007 to 2023 it's like 16 years. It's so long So considering that we started Secretor 5 like I don't remember a couple of years ago We're gonna stick to the current architecture for a long while Yes, okay So the question is about the accessibility checker for Secretor 5. We're gonna Create something like this for Secretor 5 Accessibility is an interesting topic Basically we first have to Fix remaining accessibility issues in Secretor 5 before we start thinking about the accessibility checker and after that We'll see basically I really hope there will be some easy way to Quickly introduce accessibility checker We were you know the same thing that we used for track changes and comments So the sidebar that lets you add context to our information. Perhaps we'll be able to use it for Accessibility checker. We were actually using it for things like grammar checking and spell checking and things like that already in our prototypes, so I don't know We Have to see how when we will be able to do this. Yeah Yep So the question is about general HTML and custom elements A good question Actually, yes, the general HTML support supports custom elements But when it comes to web components, actually, I'm not sure if Secretor 5 will be able to handle it right now Yeah, but this custom Custom markup. Actually, we use custom markup in our comments and changes features and It's possible to preserve Thank you for saving me Yes, next question Oh, we have to speak louder because I don't hear Can we add different image sizes based on viewports? So basically you're asking for support for responsive images Yes, so so that's that's included by default in CQ editor and recently even added support for the picture element to allow you to use multiple formats for responsive images Yep, sorry. You have to repeat because I'm I'm listening to much of loud music Yes Yeah, so I've worked on the integration bit so I might be able to answer that So the question is are there changes to the text format form where the actual text format is being configured and the answer is that yes, there are some changes to the form so we've improved the experience by Utilizing the information that we get from the Secretor 5 plugins. So you saw the example where Secretor 5 plugin had to define which HTML elements are required for that plugin to work So with Secretor 5, the filterHTML plugin is no longer configurable by manually by the site builder. It is now automatically generated based on the Secretor 5 toolbar configuration On top of that, we provide sort of a generic plugin that integrates to the generalHTML plugin which Victor was talking about which we call source editing plugin and that allows site builders to define arbitrary HTML elements to be supported by Secretor 5 by editing them to the source editing So for example, if you want to support something like a Data attribute for GIF element, you would be able to add that to the source editing plugin and but All of the other elements like triple media or image would come to the image plugin and triple media plugin respectively So something that was not also visible there was so when you migrate from Secretor 4 to Secretor 5 We will automatically Generate all of that based on Secretor 4 configuration and there is kind of a pretty complex Algorithm which calculates the best possible Secretor 5 configuration possible for the Secretor 4 Configuration which exists on the site. So it tries to pick that because there's not there's always not exact match for the plugin That the site is using from Secretor 4. Then we tried then we do some calculation We use this algorithm for calculating the most suitable flagging from Secretor 5 For the for what you had enabled in Secretor 4 So that should make upgrading from Secretor 4 to Secretor 5 Much easier. Can I do a short plug on? Okay, so that's actually one of the bits where we need a lot of help from the community folks so we Went to Drupal Dev Days a few weeks ago and we did a lot of testing with people who are running actual sites and We found a lot of problems with that process itself and we are working on fixing some of those So if you are interested In Upgrading Secretor 5, which I assume that most of you are if you are on Drupal 9 I recommend you to test out the process. It's all available in 9.3 already So if you are in the latest version of Drupal 9, you would have Secretor 5 available there So it would be great if you could Test upgrading to Secretor 5 in your development environment and see whether you get Expected Secretor 5 configuration out of your Secretor 4 configuration. Thank you Thank you as well, Lauren Okay, so any other less complex questions Okay, so that's actually a funny story Because that was the most requested functionality in Secretor 5 Ah, repeat the question. So the question was about the source mode because Let's say it was confusing that source mode was not available for Secretor 5 and for a long time it was supposed to not be included in Secretor 5 and We are learning all the time as people and the one thing that we learn is that you should never try to Force people to do things that they don't want and you should listen to your users. So So we gave up and you introduced the source mode and yes, we are open for requests Yes Right, so another question Okay So the question is about copying from word. Yes a copying from word and Secretor 5 Sorry, Secretor 4 asking whether you want to clean up formatting etc. I don't think Secretor 5 is asking about this about Secretor 5 does it best to Preserve all the information that is allowed to preserve So depending on your Secretor 5 configuration Some information might be stripped down if simply Secretor 5 is configured to not allow some HTML elements or attributes But basically we have the same functionality as in Secretor 4 Which is this you know paste from word functionality that transforms this mess from word into a semantic HTML. Yeah Okay question, that's if you know the answer So what's the question is it? So there's this image resizing plugin available. Is it possible to use that plugin with the media integration in Drupal? Yeah, so we don't have the image resize per se with the media integration in the same sense that you have with images Because of the media integration supports multiple different media types. So it's sort of It only makes sense for the images and it could potentially be introduced for the images But not for the other types. We do support the View modes for media so you can you can apply image styles from from Drupal for media By using the view modes if that's something but yeah, we could potentially add the resize for Drupal media, but I don't think the Drupal media Tag itself sort of the media part of it doesn't support resizing media So it would have to be added there first and then we could integrate that for in CKR5 And we could then we use the same functionality that we use for resizing the images Yeah, so basically yeah, we don't have that in CKR5. It will remain the same I'm not sure if you have any time left. So I would like to thank you for attending here