We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Plone: Open Source and Community

00:00

Formal Metadata

Title
Plone: Open Source and Community
Title of Series
Number of Parts
38
Author
License
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.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
37
Thumbnail
06:18
Open sourceImplementationContent (media)Server (computing)Food energyContent management systemPhysical systemData managementBlock (periodic table)BuildingComputer configurationExtension (kinesiology)ArchitectureDifferent (Kate Ryan album)MereologySelf-organizationOpen sourcePRINCE2Table (information)TheorySoftwareWater vaporSoftware developerPhysical systemDampingCausalityTemplate (C++)Power (physics)Extension (kinesiology)Thermal expansionLevel (video gaming)Computer configurationContent (media)BuildingInformation technology consultingComputer architectureDebuggerDataflowWordNumbering schemeWhiteboardData storage devicePoint (geometry)Cellular automatonOnline helpProduct (business)Perspective (visual)2 (number)Set (mathematics)WritingMetropolitan area networkOperator (mathematics)Bridging (networking)Block (periodic table)Directed graphRepresentational state transferFront and back endsCodeStudent's t-testCanadian Mathematical SocietyDefault (computer science)Type theoryData managementContent management systemUsabilityWeb applicationGoodness of fitOntologyWeb 2.0Computer animation
Server (computing)Food energyContent (media)Content management systemPhysical systemData managementBlock (periodic table)BuildingStandard deviationIntranetGroup actionTranslation (relic)ConsistencyData modelSoftware developerText editorVoltmeterDemo (music)Web pageComputer-generated imageryWindows RegistryConfiguration spaceHydraulic jumpBlock (periodic table)Right angleClient (computing)Artistic renderingWeb applicationView (database)Acoustic shadowDemo (music)Connectivity (graph theory)Formal languageWindows RegistryDebuggerCore dumpTemplate (C++)Front and back endsFocus (optics)NumberLine (geometry)Social classType theoryLevel (video gaming)Canadian Mathematical SocietyInformation securityStandard deviationServer (computing)Online helpFood energyInternetworkingContent (media)Flow separationSelf-organizationObject (grammar)OntologyInternet service providerExtension (kinesiology)Translation (relic)Library (computing)Content management systemConsistencyLatent heatFunctional (mathematics)Software developerSemantics (computer science)Physical systemEndliche ModelltheorieWeb pageAreaWater vaporSummierbarkeitMedical imagingOvalState of matterService (economics)Disk read-and-write headRevision controlArithmetic meanSurvival analysisRing (mathematics)PlanningSpecial unitary groupReading (process)Condition number2 (number)Data managementOpen setSineBit rateComputer animation
Element (mathematics)Default (computer science)Euclidean vectorVariable (mathematics)Modul <Datentyp>View (database)Data structureFood energyWindows RegistryVoltmeterData structureConnectivity (graph theory)Particle systemGoodness of fitWebsiteComputer fileDefault (computer science)Semantics (computer science)Level (video gaming)Product (business)Metropolitan area networkComputer animation
Transcript: English(auto-generated)
Hi there, my name is Nilesh. I'm from New Delhi, India. I'm working as a Frontend Developer Consultant at Aude Web. So it's been like two years since I started contributing to Plone and Volto. I was selected as Google Summer of Code student in 2018 and since then I'm contributing to Plone and Volto.
So here I'm talking about Plone, the community and the open source. What it's like to be a part of Plone community and few of Plone's products such as Volto. I'll be talking about in depth how Volto basically works and what are the benefits of it.
So first of all, I'll be highlighting the benefits of the open source community. What are the benefits around the general open source community? So first one, which I would say is the the diverse and highly motivated.
So every open source community in general is a diverse community and also inclusive. So most of the people, they are from all of the countries and they work towards one common goal.
So this is the first ever benefit that you will be working with the diverse set of minds, new ideas and new perspectives. The second one, I think, will be the so every open source software they are using generally different organizations such as government or private.
And with the with being the part of the open source community, you will be able to work on these type of software to for the well-being of any organization. So as we know that in any open source community, we do have different different people from different countries.
And these two, these different people, they work towards one common goal. And these ideas, they generally keep different, different ideas into a single table and they put a single idea out of it and they collaborate in a single place.
So this is the benefit we'll get in an open source community to take different different ideas positively and produce a larger product out of it. Next will be, I think, the the allyship of any organization.
So it really builds a trust for an employee to work in an open source organization that comes to implementing the any of the software for it. The table to need so any we know that any of the open source software, they can be customizable.
If you want a feature, we would directly implement that feature right away without any taking the permission from the developer ecosystem or anything, because this is just basically the what we want is we have to develop for it.
Yep. So how so let's talk about what is a content management system and how the modern CMS should behave or what are the qualities of a modern CMS should have.
So first, I think the content management system should be user friendly. So it should be a user should be able to do things easily. And also should have a good user experience.
Next thing I will be mentioning on is the templating engine, which generally the design options which CMS should have. So every CMS, I think they should have a default set of you could say design tools or templates which they can you can use to start developing from scratch.
Every also the ecosystem of any CMS should have the extensions and add ons available so that a user can create their own thing. And I mean leverage the power of the they can easily use the ecosystem by using the extensions and add ons from the store or whatever.
Also the content architecture of the CMS should be simpler. So it should be understandable by the user. And basically I'm talking about the data flow or the schema of the data that goes in and out of the CMS.
So I think the the part is the community should be very well established and the support the customer support should be pretty much good. And so that user can satisfy what he wants and the needs according to his company.
So we talked about the CMS. Now let's talk about Plone. Plone is a CMS 20 which is 20 years old. It's been in active development since 2000. And it's made on top of the ZOAP web application server, which is the basically the building block of Plone.
And Plone has several Plone itself has several products which I would say they are the products in Plone and the which the main product being the Plone itself,
which is the all new Python powered CMS, from which the other I would say that other products are born. The Volto is the I would say is the front end for Plone content management system.
It's a react based front end. And I would say it's basically capable of doing a lot of things which I'll be talking about later. So Plone can also power other micro front ends with the help of this REST API.
So REST API is basically this acts as a bridge between a back end and a front end. You also have a Glotina which provides the asyncio back end which generally fasten our operation. And also it's like it can be used easily with the JavaScript friendly developers.
Also the ZOAP which I talked about earlier is a web application server based on which which is the founding foundation of Plone. And this is the basically could say it's a back end main back end tool which which provides the security in the Plone ecosystem.
Yeah. So the community is where which which is by which the Plone is born. I would say that it's energy which drives the Plone and with the help of the
community only since community only Plone is has been living around so much the 20 years. So I think the community is the main criteria for the Plone success. So the future internet. So there are some few features of Plone which makes it's a very reliable and very secure content management system.
And also it could be adaptable to several user needs. So it's a global and secure. It has managed portal and any type of for any type of corporates.
It provides a global and secure manageable portal. It also provides some granular permissions. So every user for any organization they they have they can provide specific roles and specific permission to the user. And that employee that user will be confined to that permission only.
So that's how the security system of Plone works. It's also adhered to the latest accessibility standards and comes with the multilingual support of translatable languages also.
So as you know, it has the the friendly REST API, which we can use it to connect many content to it, not only Volto. Let's dive into the Volto world now. So Volto, as you know, is the front end for Plone CMS.
It's capable of doing a lot of extraordinary things which which pleases the user. So it's developed on the modernized design systems on top of semantic UI, which is the past another right now.
And also, I think you're also developing a new design system, which is the Quanta. It's incredibly fast, so it supports the server side rendering. So on the first request, it's to the server request and after that, the client takes over.
So it's incredibly fast. And the translation also has the multilingual support. The like it's available in many languages. So it's translatable, translatable, the consistency. So it's also a. Volto is made up of several components which are reusable and we can also extend them using add-ons and the component shadowing.
Also, we have a number of items which I'll be talking about later, how to create an add-on and how to. So there's a reason why we generally.
Focus on the modern front front end modernization. So otherwise, we already had the Plone templates and the templating engine and the older Plone. So why do we need another front end? Because it's using a React front end or using some other modern front end technologies.
They provide a simpler declarative model and they also have the easy to they are easy to learn implements. So we don't want the one person. They don't necessarily have the Plone core knowledge to be able to work with Volto.
Since the front end ecosystem is more vibrant and they also have the great developer tools. So I think it's very easy for a developer to jump and jump into Volto today. So Volto has some of the I would say key features which I'll be listing.
So what's the first one is the Voltorator, which is used to create the complex layout of the page. So it's basically made on the top of classes. Which is capable of creating the more complex layout and providing the line editing the what you see is what you get a type of editing.
We do have blocks. So basically these are the blocks which are the way we create content. So this is the some of the demo blocks, the image, the accordion, the columns block.
I also talking how to create an add on or a block data stage. So let's jump into the add ons today. How do we create an add on? How do we overwrite a setting? So basically we do have a central config object.
So basically add ons are something which provides us the more extensibility in Volto. If we want to extract the Volto into more of a bigger thing we can use, we can create an add on and use it. So we can restore the add ons by exporting a function with the apply definition and that function will see the config object.
And in that we can overwrite some settings. So basically here I'm just writing settings. But here we can create any block, the widget, the views.
We can do anything here. This is basically how we generally overwrite something from the main Volto library. Let's jump into the theming. So Volto can be easily themed and customizable.
All themes they reside in the config registry. So this is how we generally replace a single component with our new theme. And all the themes should have the, this is how, this is the main theme config. And that particular theme should have the same following structure.
Let's say we want to create a new theme. The new theme should have the same structure and these themes should have the individual components. And individual component has two, they basically have the less files. One is the variable file. The other one is the button dot overwrite file in the variable component dot variable file.
Generally we do have the default definitions of the, that particular component which can be overrided for a particular theme. And on the overwrites, if you want to have that, I mean the custom styles, we can, for that component, we can add that custom style there.
So not going into detail about the theming, but you can always go to the docs and you can see how the theming engine works basically. And the, how the, basically how the React semantic UI has implemented the theming engine, the same theming engine we have in Volto.
So have a look at it. We have some of sites in, some of the Volto sites in production, which is available in the Volto readme.
Just you can have a look and see how it feels in production, how the design looks. So yeah, we can, yeah, you're like, so we have a better chance to get involved in the community.
We have some very good feature request enhancement. You can, if you want, you can contribute to Volto. So yeah, thanks a lot. And so what really blown meant for me is basically I've been working like since
two years and it's a tremendous thing for me and I'll be continuing my contribution. Thanks a lot.