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


Hey coach welcome back to the channel and if you haven't yet make sure you subscribe so you can stay up to date with all the content that we put out on a daily weekly basis. Now if at the end of this video you want to get in contact with me to schedule a free 15 to 20 minute call to talk about your training business then there's two ways you can do that. The first way if you visit the my calendar in the description of this video you'll be able to book a free 15 to 20 minute call at your convenience with the times that are available or if that's something that you you don't want to do and you just want to send me a direct message then you can do that as well sending it to my email address which is makemoneycoachingsportsatgmail.com right so let's get straight into today's video today's video is talking about how to stay organized right so if you are a football slash soccer trainer and you have a business I want to share with you three things that are going to help you to become more organized so you can dominate your day you can dominate your business stay on top of your business and just thrive and succeed in this type of industry now for those that don't know I work with soccer coaches and soccer trainers on a daily basis right and also I speak to coaches every single day that's one of my my main jobs here at our company is to connect and speak to coaches who are currently doing this and are in this industry and some of the most successful coaches that I've spoken to are actually coaches who are in our program here at Make Money Coaches Sports so what I want to do is I want to share with you three things that they do to become successful and you can take away the strategies the tips and implement it into your business right so the first thing to stay more organized and to become more successful is you need to make sure that everything you do in terms of payment with clients is all automated and online right so when you are functioning on a session to session basis which means parents are paying you cash in hand after every session that is a way of losing money because not only do you lose money in the sense that parents might not show up to your session but you also lose money because every single day you're gonna have money in your pocket and it's gonna be a temptation for you to spend it right so this is something I speak about in previous videos is when you have lots of money and if you you know some coaches do really well in one day and they make a lot of money doing back-to-back training sessions and if you got a big amount of cash in hand the likelihood is that one you might lose some of it you know you might be packing up your your session heading to the car and suddenly you you know you drop a little bit of that money or on the drive home you know you're tired you're exhausted and they might be in a temptation to go and blow that money on on something it might be on a restaurant it might be on alcohol it might be on anything else right so all your your your sweat or your hard work just gets blown in 10 minutes on the drive home because you're sitting on that on that cash and the temptation to spend it is so huge right so the most successful trainers that we work with have everything automated online so that way coaches are never feeling or touching or grab or taking hold of that money ever right it will all their their clients are doing is they're paying them online for their services and that money is getting transferred from the client straight into their business account which means the temptation to either lose or to spend gets smaller because ultimately you're not seeing that cash right everything is being done behind the scenes through an automated payment system right and that helps you with your finances because it keeps you up to trip like on track with what's going in what's coming out of your your business account but also you're not losing any cash right the worst thing you want to do is have a really good day where you're doing back-to-back sessions you're working really hard and then you go and lose all the money you worked hard for in that day right when you do everything automated and you have an online payment system that becomes not not a problem at all okay so the first thing is coaches the most successful trainers that are thriving at the moment in this industry are the ones that have everything automated and online right now the second thing that coaches in this industry are doing to stay successful is they have all their sessions set out on a set day and set time so this means that they're not operating on a sporadic basis right now what 97% of all football trainers are currently doing so football trainers soccer trainers in this industry what they do is they will text their clients on a Sunday and they will ask the clients what they are in this week you want to train now when you give your clients the authority when you give clients the choice then ultimately they dictate your schedule and if you want to stay organized with your business then you can't have clients dictate in what time day that you guys are training so the most successful all have a set day set time during the week that they are doing their training sessions now the reason why you also want to have that is because if you dedicate the set base set time during the week to work with your clients the time you are away from the field then you can commit to doing your marketing your your selling right getting on sales calls with clients doing your marketing creating social media content right just building your brand and building your business if you have your your business set up where it's sporadic where clients are are dictating what days during the week you guys are training then ultimately you're at their mercy right whenever they want to train then you go running and ultimately you're operating like a delivery person right so a client phones up your local dominoes they want a pizza right well and then you're there delivering that session right we don't want to operate like a delivery person we want to operate like a professional a soccer trainer that has a successful business that has a set day set time that they work with their clients now if your clients can't make it at that time then we can maybe look to be a bit more more lenient or find ways in order to accommodate them but what I want to encourage you to do is make sure you have a set day set time where you work with your clients so that that way you can make time to grow in the business right not working in the business but working on the business I see a lot of especially one-to-one trainers who just bring on more clients more clients and then it gets to a point where they're working with 34 clients per week and they've got no time during the week to do their sales calls to grow the business to work on the business to answer emails and ultimately all they're doing they're just training training training training training and you can't build a long-term business just being 24-7 on that on the pitch right you need to do the the work away from the pitch that's going to grow the business right the brand in the markets in the selling right the building partnerships around your local area speak into parents right growing your program okay because ultimately when you do when you when you're working with 34 your clients one-to-one per week that that eats up all your time and ultimately what I've seen with coaches is that when they're working that way they get so tired and burn out and that they've got no time during the week to actually grow the business right so what we want to do is we want to have a set they set time with clients where we as the trainer are telling our clients this is the day and this is the time that I do my training if this works then great if it doesn't then unfortunately we can't work together and you can't train with me okay so we want to be firm we want to be strict with our time and how we use our time right the third thing is and this one's a really good one this is something that a lot of coaches have started doing and it's got really really great results and it goes back to my second point but this is do all your training in one day of the week right so I remember when I first started my football academy what I did is I wanted to I wanted to to have clients train every single day and the reason why I wanted to do that and it sounds ridiculous really but I wanted to feel as though I was a full-time trainer okay and by feeling like I was a full-time trainer then I was coaching every single day but it got to a point where I I started to hate what I was doing because when when you're training and you're coaching takes up so much time in your day there's no there's no time to relax there's no time to actually enjoy things away from the sport which you need in order to to recover recharge your batteries and also I didn't have time to spend with my family because I was always on the pitch that was my focus at the time okay so what I did is I transitioned all my training to one day in the week right so all my one-to-one training was was done on on that specific day and all my group training was done on that specific day so any client any brand-new client that was contacting me to to work with me or inquiring about my services I would say to them right this is the set this is the day that I do my training and these are the available time slots we have now what I started to notice is that you know what I had more free time during the week to do my marketing to grow my social media presence to create content to speak to parents to connect with local schools you know and also I worked really really hard one day per week with my training with my clients and then the rest of it I was able to enjoy and do what I wanted to do away from coaching so and I wasn't trapped with my clients every single day Monday to Sunday right so essentially what I did I moved all my training on to Saturday and any new client that came to me I said to them right the training is on Saturday if you want one-to-one these are the time slots I have if we haven't got time slots then unfortunately we're going to have to put you on a waiting list right or you can jump into the group training that we have available so it was really easy because when I started to talk with parents and market my business I knew that right between 9 to 12 was all my group sessions so any client that wanted group training can jump into one of those groups and between one to three in the afternoon was my one-to-one sessions and if I was fully booked with those one-to-one sessions then I'd put all the clients on a waiting list and if an available slot came up then great if not then they just have to to go and train with someone else right so I had to be firm I had to be strict and organized with my time because I was slowly realizing that was getting burnt out and I was I was slowly hating what I was doing so I transitioned it all to one day which allowed me to get more organized and the business just ran a lot smoother because I knew that right this is my schedule these are the time slots that I have available can I fit this client in yes if I can then we put them on a waiting list okay so if you have any questions with regards to how to stay more organized how to build your business how to start how to grow right I want you to reach out to me as I mentioned at the beginning of the this video and as I mentioned on every single video is two ways you can reach out to me number one you can schedule a free 15 to 20 minute call with me where we can jump on a zoom call and I can answer some some of your questions that you might have I'll also ask you questions about your business or you can send me a direct email to make money coaching sports at gmail.com I respond I make it a mission and I respond to every single coach that reaches out to me with questions about their business their idea or what they want to do to get to the next level right thank you for watching and I'll see you on the next one