Plone 6 / Volto Dexterity Content Types: Schema & Layout
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Voinea, Alin
Through the Web Dexterity Content-Types with Schema Editor and Blocks Layout Editor
 Back everybody, we are here with Ellen Renea from ODUEB, who will be speaking to us about Volto Dexpair Schema and Layout Editor. This is a bit of magic that has been added to Volto. I'm looking forward to seeing how it works. It was magic in Plone and it's going to be magic in Volto. And as many of you know, Ellen is a longtime contributor to Plone, a very important contributor from ODUEB and he's done a range of things. If you look in his bio, it looks like a whole laundry list of technologies and he's spearheading the Volto work that ODUEB is doing such important work with. And so with that, over to you, Ellen. Thank you, Kim. Hi guys, nice to be here and I want to thank you and to congrats the organizer of this conference. I mean, the Plone community show once again that we can organize excellent conferences in any situation and in times of pandemic and yeah, so let's see what I've prepared for today. Let's start with me first for the people who don't know me. I'm working with Plone for more than 15 years and I mean this community for more than a decade. I work with ODUEB and the European Environment Agency and we did a lot of contribution to this community and we we've done, we have Plone add-ons. We, from 2015, we dockerized all of our stacks and we I'm actually the maintainer of the official Plone docker image and now we're in the Volto world and we started last year at the Plone conference. We saw Volto and we said this is the way and we started working on it and then we realized that there are some missing pieces in the Volto implementation at that time and we, our client and we said okay this is our chance to to bring the good things into into Volto from Plone Classic and we work on content types, textuality content types in Volto and Plone 6 and we said let's bring back the archetypes. Now that's actually a joke. I can see Philip saying no don't do that and that's true. Our archetypes are dead and we will do dexterity content types and what we did, what we have in dexterity content types, dexterity content types are a set of metadata so the content type is a definition of an object, of any object in Plone. So we will refer to that as a scheme because it's a schema and Volto introduced last year the blocks and we said let's refer to that as a layout because it's a page layout. You can do, it's not limited to layout but in this talk we will refer blocks as the layer and then we have behaviors and we, with the Python developers we love behaviors in Plone and we do schema with them 90% of the time. This slide is actually for the front developer because I know there are many at this conference and you will hear this term schema at this conference very often and it's normal because in the database you have schema and so when you're talking about forms because here we're talking about forms, schema is the best word to describe forms. So let's see how do we do schemas in Plone. We have a tutor web schema editor so in Plone 6 and Volto we have, we can have a generic double file which is XML and we have behaviors and I will, because this video didn't, wasn't shown before at this conference I will quickly play it so just for the people that don't know how a schema is done in Plone. So why do you need a schema? Because now we have blocks but there are some content types that don't, cannot be done only with blocks or you have, you have some metadata like the color of the, of the bike in this case or the, or I don't know for a book you have the ISBN or these are metadata for a page you have the publishing date, you have the key order, you have this will be used in search and categorization and all these other tools that, that depends on schema and and collections and yeah you cannot, you can do a page only with blocks but for, for largest institutions like universities or agencies you have indicators, you have data sets, you, you, you rely on schema and on metadata. Now as you can see yeah you cannot, choices I will just skip it. Let's see yeah then you can add a new, let's see here you cannot, so yeah if you're building a, an e-commerce site like this example you need, you need the data okay. And I should go full screen. So as I said you can add a schema through the web then you can export it to XML and have it, have it in the import ring, reuse with generic setup or you can have behaviors and all of these have one rest of the BI and that's, it is the same for all the, the case so this is the JSON file and yes one six and Volto's love schemas and how do I know that because in Volto we have five, four components in the core and we have, we have also, I don't see your, if you've been under various training you know that we have this subject widget that is based on one schema and the schema widget is the one used to define the, the in the control panel. So yes this is all about now for now about the schemas so I think everybody's eyes here because of this layer I think and why did we, what, what's our vision about this layer so Tiberiou Kim and I will take this, this slide from Victor's presentation and site Tiberiou Kim. So yes through the freedom that they provide Volto Blocks are a foundation for innovation that enables one to step in line with the latest state of the art for the development and yes people are, let's give power to the people right, the freedom comes great responsibility and I didn't say that and the Ronald Reagan did so yes we, when we started using Volto we had this first layer, first layout of the page and said okay let's give that to the users but then when you start adding blocks you'll get this kind of cordon with many blocks and yeah the user just don't know how to, how to proceed also if you give power to the people and you saw the last last evening green block addon then you can end up with the layouts like this one so yeah we give the people the power we give them, we need to trust them to give the power and then we wanted to simplify for the user or to distribute this responsibility to site administrators and editors and so we said okay we have a block what we can do but what properties does it block so you cannot new block you can delete it you can change the place order and you can change position and then you can change the you can make it read only or edit them okay so let's add this to the control panel because it belongs to there I mean we have to the web schema editor then let's have to the web block control panel so we added this to the control panel and the blocks also have has a scheme I mean the block is an object and it has a schema is defined by a scheme so this this form is actually generated by a scheme and yeah because this video was already showed two times at this conference I will I will try to do a live demo with the more advanced layout editor yeah this is the uh yeah web page and you can see uh before I do the demo for consistency you have to to to give the users to give a layout to two pages and and for example you have the title description and here you have a document byline and then but let's see where is my vortus site so yeah this uh this I have a vortus site with uh with some addons installed and if we add for example a book okay book and with uh with the layout editor so here I have a book title here I can say and here I I can insert some I can connect some metadata with the tinder so I can say the mission date and here I can say it was the author creator and then here I can say this is a key box or docks okay yeah I can see the the you can edit this but what what I wanted to show you is that um let's see here so yeah let's add a cover for this book then we can add some curves yes here you can see the the sidebar is different because it's using another scheme so here I can say I can I can update the the placeholder the helper text for all the the rich text inside here I can add some more rich text instructions and then I can allow blocks so I can say okay here you can add only images you can add slate text you can have either divide now this columns block has some settings we don't we don't want that to the editor to be able to edit this column so to make more columns so it can make it only settings we can have fixed position we can have it required can make this all required this one can also be pretty only actually it will be pretty only and so the editor will be able to add content only in this area I cannot more I'm on accordion and so here's here's and for this one I have some more settings like redoni settings and we don't titles and yeah that's it and now if I had a book I cannot title this one should be read only and I cannot and yeah this one can be also read only so yeah you can and yeah here we said that we cannot only image and another text so yeah let's see if I go back to my slides let's do that yeah now I can do with this I can basically export this one and have it as a behavior here so I had the layout fill set it blocks and blocks there and then I can just say the default values for this layout which is this one items save it because yeah you can we can do that through the web but we are part on developers and from our experience we know that we need to persist these settings on this can make them very predictable and now if I go to the size setup on another content type I can enable this behavior and then page can do that also under folder so so yes the layout the layout make the layout is using the the plon default for dexterity schema so there's no magic in there just we just used the default which is there was there and and yeah I already showed that now yeah you can you can do you can see more on the github on the port volto check the collective awesome for for the new addons and please update the collective awesome if you have addons or work done in in volto check out trainings on that work and the tibetius volto addons training to see how because I cannot stress this more than we should use schema and schemas also on the front because this or on the long term will give off will give us more benefit than than stress and yeah if you have questions head to community plon.org and thank you this was this this is an effort and was supported by the european environment agency and thank you all the web keep constantly and all the guys that we we supported that supported me in the past year with this pushing this feature into the core and I hope you you make great things with it and I hope this this story will be will be continued by the European community and at the next conference we'll see amazing things done with this layout and blocks and all the volto stuff thank you very much thank you Ellen that was pretty mind-blowing and I can see the chatter in the slack channel people are really impressed and in so am I to be able to do that kind of round tripping is pretty mind-blowing I see we have a couple of questions in the Slido the first one is what do you do if your content does not use the core meta metadata title or summary for example doesn't use the core metadata like can you please repeat the question because yeah it's what do you do if your content does not use the core metadata I think this might be something that we could if yeah we can we can decide how we can we can discuss it in the face to face yes yes yes also a second question was are the schema created in the layout editor searchable in the catalog yes I mean the blocks are searchable in the catalog as far as I know and the schemas basically yes I mean you can add an index in the catalog and you you have the searchable metadata okay I guess that's it for questions but I encourage everyone who's watching to join the face to face and keep talking to Alan and I really appreciate hearing about this wonderful development you've put together Alan thank you very much and thank you for your presentation thank you very much given thank you see you in the face
 Back everybody, we are here with Ellen Renea from ODUEB, who will be speaking to us about  Volto Dexpair Schema and Layout Editor. This is a bit of magic that has been added to Volto.  I'm looking forward to seeing how it works. It was magic in Plone and it's going to be magic in  Volto. And as many of you know, Ellen is a longtime contributor to Plone, a very important  contributor from ODUEB and he's done a range of things. If you look in his bio, it looks like  a whole laundry list of technologies and he's spearheading the Volto work that ODUEB is  doing such important work with. And so with that, over to you, Ellen.  Thank you, Kim. Hi guys, nice to be here and I want to thank you and to congrats the organizer of  this conference. I mean, the Plone community show once again that we can organize excellent conferences  in any situation and in times of pandemic and yeah, so let's see what I've prepared for today.  Let's start with me first for the people who don't know me. I'm working with Plone for  more than 15 years and I mean this community for more than a decade. I work with ODUEB  and the European Environment Agency and we did a lot of contribution to this community and we  we've done, we have Plone add-ons. We, from 2015, we dockerized all of our stacks and we  I'm actually the maintainer of the official Plone docker image and now we're in the Volto world and  we started last year at the Plone conference. We saw Volto and we said this is the way and  we started working on it and then we realized that there are some missing pieces in the Volto  implementation at that time and we, our client and we said okay this is our chance to  to bring the good things into into Volto from Plone Classic and we work on content types,  textuality content types in Volto and Plone 6 and we said let's bring back the archetypes.  Now that's actually a joke. I can see Philip saying no don't do that and that's true.  Our archetypes are dead and we will do dexterity content types and  what we did, what we have in dexterity content types, dexterity content types are  a set of metadata so the content type is a definition of an object, of any object in Plone.  So we will refer to that as a scheme because it's a schema and Volto introduced last year the  blocks and we said let's refer to that as a layout because it's a page layout.  You can do, it's not limited to layout but in this talk we will refer blocks as the layer  and then we have behaviors and we, with the Python developers we love behaviors in Plone  and we do schema with them 90% of the time.  This slide is actually for the front developer because I know there are many  at this conference and you will hear this term schema at this conference  very often and it's normal because in the database you have schema and so when you're  talking about forms because here we're talking about forms, schema is the best  word to describe forms. So let's see how do we do schemas in Plone.  We have a tutor web schema editor so in Plone 6 and Volto we have, we can have  a generic double file which is XML and we have behaviors and I will, because this video  didn't, wasn't shown before at this conference I will quickly play it so just for the people that  don't know how a schema is done in Plone. So why do you need a schema? Because now we have blocks  but there are some content types that don't, cannot be done only with blocks or you have,  you have some metadata like the color of the, of the bike in this case or the,  or I don't know for a book you have the ISBN or these are metadata for a page you have the  publishing date, you have the key order, you have this will be used in search  and categorization and all these other tools that, that depends on schema and  and collections and yeah you cannot, you can do a page only with blocks but for, for largest  institutions like universities or agencies you have indicators, you have data sets, you, you,  you rely on schema and on metadata. Now as you can see yeah you cannot, choices I will just skip it.  Let's see yeah then you can add a new, let's see here you cannot, so yeah if you're building  a, an e-commerce site like this example you need, you need the data okay.  And I should go full screen. So as I said you can add a schema through the web then you can export  it to XML and have it, have it in the import ring, reuse with generic setup or you can have  behaviors and all of these have one rest of the BI and that's, it is the same for all the,  the case so this is the JSON file and yes one six and Volto's love schemas and  how do I know that because in Volto we have five, four components in the core and we have,  we have also, I don't see your, if you've been under various training you know that we have this  subject widget that is based on one schema and the schema widget is the one used to define the,  the in the control panel. So yes this is all about now for now about the schemas so I think  everybody's eyes here because of this layer I think and why did we,  what, what's our vision about this layer so Tiberiou Kim and I will take this,  this slide from Victor's presentation and site Tiberiou Kim. So yes through the freedom that  they provide Volto Blocks are a foundation for innovation that enables one to step in line  with the latest state of the art for the development and yes people are,  let's give power to the people right, the freedom comes great responsibility  and I didn't say that and the Ronald Reagan did so yes we, when we started using Volto we had this  first layer, first layout of the page and said okay let's give that to the users but then  when you start adding blocks you'll get this kind of  cordon with many blocks and yeah the user just don't know how to, how to proceed also if you  give power to the people and you saw the last last evening green block addon then you can  end up with the layouts like this one so yeah we give the people the power we give them,  we need to trust them to give the power and then we wanted to simplify for the user or to  distribute this responsibility to site administrators and editors and  so we said okay we have a block what we can do but what properties does it block so  you cannot new block you can delete it you can change the place order and you can change position  and then you can change the you can make it read only or edit them okay so let's add this to the  control panel because it belongs to there I mean we have to the web schema editor then  let's have to the web block control panel so we added this to the control panel  and the blocks also have has a scheme I mean the block is an object and it has a schema  is defined by a scheme so this this form is actually generated by a scheme and yeah because  this video was already showed two times at this conference I will I will try to do a live demo  with the more advanced layout editor yeah this is the  uh yeah web page and you can see uh before I do the demo for consistency you have to  to to give the users to give a layout to two pages and and for example you have the title  description and here you have a document byline and then but let's see where is my vortus site  so yeah this uh this I have a vortus site with uh with some addons installed and if we add for  example a book okay book and with uh with the layout editor so here I have a book title  here I can say  and here I I can insert some I can connect some metadata with  the tinder so I can say the mission date  and here I can say  it was the author  creator  and then here I can say this is a key box or docks  okay yeah I can see the  the you can edit this but what what I wanted to show you is that um  let's see here so yeah let's add a cover for this book  then we can add some curves  yes here you can see the the sidebar is different because it's using another scheme  so here I can say I can I can update the the placeholder the helper text for all the the  rich text inside here I can add some more rich text instructions and then I can allow blocks  so I can say okay here you can add only images you can add slate text you can have either  divide now this columns block  has some settings we don't we don't want that to the editor to be able to edit this column so to  make more columns so it can make it only settings we can have fixed position we can have it required  can make this all required  this one can also be pretty only actually it will be pretty only  and so the editor will be able to add content only in this area I cannot more I'm on accordion  and so here's  here's  and for this one  I have some more settings like redoni settings and we don't titles  and yeah that's it and now if I had a book  I cannot title this one should be read only and I cannot  and yeah this one can be also read only  so yeah you can and yeah here we said that we cannot only image and another text  so yeah let's see if I go back to my slides  let's do that yeah now I can do  with this  I can basically export this one  and have it as a behavior here  so I had the layout fill set it blocks and blocks there and then I can just say  the default values for this layout which is this one items  save it because yeah you can we can do that through the web but we are part  on developers and from our experience we know that we need to persist these settings on this can  make them very predictable  and now if I go to the size setup on another content type  I can enable this behavior  and then page  can do that also under folder  so  so yes  the layout the layout make the layout is using the the plon default  for dexterity schema so there's no magic in there just we just used the default which is there  was there and  and yeah I already showed that now yeah you can you can do you can see more on the github on the  port volto check the collective awesome for for the new addons and please update the collective  awesome if you have addons or work done in in volto check out trainings on that work  and the tibetius volto addons training to see how because I cannot stress this more than  we should use schema and schemas also on the front  because this or on the long term will give off will give us more benefit than  than stress and yeah if you have questions head to community plon.org and thank you this  was this this is an effort and was supported by the european environment agency and thank you  all the web keep constantly and all the guys that we we supported that supported me in the  past year with this pushing this feature into the core and I hope you you make great things with it and  I hope this this story will be will be continued by the European community and at the next conference  we'll see amazing things done with this layout and blocks and all the volto stuff thank you very much  thank you Ellen that was pretty mind-blowing and I can see the chatter in the slack channel people are  really impressed and in so am I to be able to do that kind of round tripping is pretty mind-blowing  I see we have a couple of questions in the Slido the first one is what do you do if your content  does not use the core meta metadata title or summary for example doesn't use the core metadata like  can you please repeat the question because yeah it's what do you do if your content does not use  the core metadata I think this might be something that we could if yeah we can we can decide  how we can we can discuss it in the face to face yes yes yes also a second question was are the schema  created in the layout editor searchable in the catalog yes I mean the blocks are searchable in  the catalog as far as I know and the schemas basically yes I mean you can add an index in the  catalog and you you have the searchable metadata okay I guess that's it for questions but I encourage  everyone who's watching to join the face to face and keep talking to Alan and I really appreciate  hearing about this wonderful development you've put together Alan thank you very much  and thank you for your presentation thank you very much given thank you see you in the face
Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_0_4871.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_4872_4919.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_4920_7259.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_7260_8939.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_8940_9803.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_9804_9983.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_9984_12275.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_12276_13607.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_13608_14723.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_14724_16919.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_16920_17075.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_17076_18299.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_18300_19559.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_19560_21551.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_21552_22475.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_22476_22691.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_22692_22967.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_22968_23387.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_23388_32171.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_32172_33059.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_33060_33107.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_33108_33179.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_33180_33371.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_33372_34991.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_34992_35339.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_35340_35459.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_35460_37895.png Volto_Dexterity_Schema_and_Layout_editor_-_Alin_Vo_vapERru7WOI_37896_39020.png