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

Volto: Past, Present and Future

00:00

Formale Metadaten

Titel
Volto: Past, Present and Future
Serientitel
Anzahl der Teile
72
Autor
Mitwirkende
Lizenz
CC-Namensnennung 3.0 Deutschland:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache
Produktionsjahr2020

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
A summary of a full year of developments in Plone 6 Volto side. How did we get here, and why. Volto’s both vision and mission for the upcoming years. A glimpse of what’s ahead and the future feature roadmap.
ZoomForcingSoftware Development KitCodeSpeicherabzugSoftwareentwicklerDatenverwaltungt-TestGoogolMomentenproblemBesprechung/Interview
ZoomEbeneInhalt <Mathematik>EreignishorizontFamilie <Mathematik>Computeranimation
ZahlenbereichOffice-PaketInstantiierungProjektive EbeneClientZahlenbereichBesprechung/InterviewTafelbild
ZoomMultiplikationsoperatorRechter WinkelEDV-BeratungClientServerAutomatische IndexierungInternetworkingDifferenteXMLComputeranimation
AuswahlaxiomComputerspielRechter WinkelEreignishorizontContent ManagementMultiplikationsoperatorSoftwareentwicklerClientKonfiguration <Informatik>Open SourceCanadian Mathematical SocietyComputeranimationVisualisierung
EntscheidungstheorieClientRechter WinkelZahlenbereichTurtle <Informatik>Produkt <Mathematik>EntscheidungstheorieGruppenoperationFront-End <Software>
ZoomContent ManagementCASE <Informatik>GruppenoperationBitCanadian Mathematical SocietyKlassische PhysikMinimalgradKlon <Mathematik>Rechter WinkelInstantiierungContent ManagementTypentheorie
Physikalisches SystemInstantiierungSichtenkonzeptGraphiktablettWeb SiteAdditionContent ManagementRechter WinkelComputersicherheitSkalierbarkeitGruppenoperationTranslation <Mathematik>DebuggingBenutzeroberflächeTexteditorRandverteilungDifferentePunktKlon <Mathematik>MultiplikationsoperatorWellenpaketKomplex <Algebra>Canadian Mathematical Society
Web SiteHydrostatikGenerator <Informatik>Fächer <Mathematik>Web SiteCachingHydrostatikSkalierbarkeitMultiplikationsoperatorGenerator <Informatik>Physikalisches SystemAlgorithmusRechter WinkelMinkowski-MetrikWeb-SeiteCASE <Informatik>Mathematik
ZoomCanadian Mathematical SocietyGanze FunktionFunktionalFramework <Informatik>Projektive EbeneContent ManagementEinfache GenauigkeitRechter WinkelMinimalgradKlon <Mathematik>Computeranimation
ZoomAutomatische HandlungsplanungPhysikalisches SystemEindeutigkeitSoftwareentwicklerService providerCASE <Informatik>Content ManagementSchaltnetzRechter WinkelStabilitätstheorie <Logik>DebuggingKonfiguration <Informatik>Canadian Mathematical SocietyClient
ZoomVerhandlungs-InformationssystemTrägheitsmomentCLIKrümmungsmaßBrowserTouchscreenMomentenproblemMultiplikationsoperatorComputerspielFamilie <Mathematik>GruppenoperationNP-hartes ProblemAnalytische FortsetzungComputeranimationBesprechung/InterviewXML
Produkt <Mathematik>Design by ContractUnternehmensarchitekturRechter WinkelUnternehmensarchitekturProdukt <Mathematik>Canadian Mathematical SocietyKlasse <Mathematik>RechenschieberDesign by ContractComputeranimation
Mathematikp-BlockFramework <Informatik>ImplementierungFokalpunktSoftwareentwicklerImplementierungKlassische PhysikDebuggingMultiplikationsoperatorRechter Winkelp-BlockWeb-DesignerSoftwareentwicklerMessage-PassingFramework <Informatik>Elektronischer ProgrammführerSchnittmengeProzess <Informatik>Mailing-ListeStandardabweichungKlon <Mathematik>MaßerweiterungWidgetRückkopplungAnpassung <Mathematik>Wort <Informatik>ClientAggregatzustandGeradeArithmetisches MittelAutomatische HandlungsplanungRechenschieberVersionsverwaltungFront-End <Software>Computeranimation
AggregatzustandStatistikRechter WinkelStrömungsrichtungTafelbild
Gerichtete MengeTexteditorp-BlockBeweistheorieMobiles InternetProgrammbibliothekSpezialrechnerBrowserObjekt <Kategorie>CMM <Software Engineering>SoftwareentwicklerAutorisierungExogene VariableInhalt <Mathematik>SichtenkonzeptCross-site scriptingFramework <Informatik>Installation <Informatik>p-BlockSoftwareentwicklerExogene VariableDefaultInhalt <Mathematik>Formale SemantikMaßerweiterungFramework <Informatik>BitGamecontrollerApp <Programm>QuaderCodeSchnittmengeDifferenteTexteditorKlassische PhysikFlächeninhaltMailing-ListeAbfrageNeuroinformatikLeistung <Physik>BeweistheorieBildgebendes VerfahrenFront-End <Software>Prozess <Informatik>ProgrammfehlerVollständiger VerbandProjektive EbeneEigentliche AbbildungClientArithmetische FolgeWeb-SeiteMigration <Informatik>Physikalisches SystemStrömungsrichtungDatenverwaltungTabelleMomentenproblemKonfigurationsraumDatenbankPROMGruppenoperationBootenProgrammbibliothekRechter WinkelRelativitätstheorieBrowserMultiplikationsoperatorImplementierungCMM <Software Engineering>Cross-site scriptingDebuggingFormation <Mathematik>XMLComputeranimation
Architektur <Informatik>SoftwareentwicklerGebäude <Mathematik>SoftwareentwicklerDefaultRepository <Informatik>BimodulKonfigurationsraumWellenpaketMaßerweiterungWeb SiteNeuroinformatikVideokonferenzNummernsystemProgrammbibliothekProjektive EbeneMinimumRechter WinkelOrdnung <Mathematik>ComputerarchitekturPortal <Internet>XMLUML
Rechter WinkelZusammenhängender GraphPlug inResolventeAbschattungp-BlockMAPSpieltheorieSerielle SchnittstelleREST <Informatik>Transformation <Mathematik>XMLUMLDiagrammFlussdiagramm
p-BlockTypentheorieResolventeURLOrdnung <Mathematik>Objekt <Kategorie>Serielle SchnittstelleResultanteRechter WinkelVerschlingungKlassische PhysikJSONXMLUML
Ein-AusgabeHeegaard-ZerlegungFaserbündelEreignishorizontTexteditorSichtenkonzeptLastCodeKlassische PhysikFaserbündelBitEreignishorizontHeegaard-ZerlegungZusammenhängender GraphXMLUML
TypentheorieZoomInhalt <Mathematik>StellenringTabellep-BlockTexteditorDefaultBitClientVideokonferenzSchnittmengeInhalt <Mathematik>Web SiteRechter WinkelTypentheorieWeb-SeiteAdditionBildschirmmaskeOrtsoperatorTemplateROM <Informatik>XMLUMLComputeranimationProgramm/Quellcode
Texteditorp-BlockWeb-SeiteStrom <Mathematik>MultiplikationVerhandlungs-InformationssystemTypentheorieInhalt <Mathematik>URLOvalDatenverwaltungDemo <Programm>SoftwareentwicklerDatenmodellSystemprogrammierungEbeneImplementierungHierarchische StrukturUnternehmensarchitekturWeb SiteGradientContent ManagementPhysikalisches SystemBetriebsmittelverwaltungEreignishorizontSpezialrechnerLie-GruppeDatenflussZehnFormation <Mathematik>p-BlockWeb-SeiteWeb logBildschirmfensterElektronische PublikationInformationsspeicherungRechter WinkelXMLComputeranimation
Web-SeiteWidgetBrowserObjekt <Kategorie>VerschlingungRelation <Informatik>p-BlockTVD-Verfahrenp-BlockTypentheorieInhalt <Mathematik>AbfrageFormale SprachePatch <Software>DifferenzengleichungTVD-VerfahrenObjekt <Kategorie>Mailing-ListeDefaultQuaderEinsKonfigurationsraumWidgetResultanteBrowserRelativitätstheorieVerschlingungEreignishorizontHyperbelverfahrenWeb-SeiteXMLComputeranimation
ZoomMosaicing <Bildverarbeitung>ZeitabhängigkeitPortletp-BlockBildschirmmaskeNP-hartes ProblemTablet PCMigration <Informatik>Installation <Informatik>TemplateCLITVD-Verfahrenp-BlockTemplateTexteditorInformationsspeicherungPortletMixed RealityRechenwerkBildschirmmaskeInhalt <Mathematik>EvoluteTesselationRechter WinkelKonfiguration <Informatik>DifferenteTVD-VerfahrenAdditionMailing-ListeInverser LimesStrömungsrichtungKontrollstrukturBenutzerbeteiligungTablet PCInstallation <Informatik>XMLComputeranimation
VIC 20DrucksondierungATMProjektive EbeneWeb SiteBenutzerbeteiligungIntegriertes InformationssystemWald <Graphentheorie>Turtle <Informatik>
CASE <Informatik>BeobachtungsstudieBenutzerbeteiligungWeb SiteFamilie <Mathematik>Prozess <Informatik>GrundraumWasserdampftafelContent ManagementCanadian Mathematical SocietyWeb-SeiteXMLComputeranimation
IntranetBitfehlerhäufigkeitElektronischer ProgrammführerBenutzerbeteiligungProjektive EbeneIntranetEvoluteMultiplikationsoperatorMaßerweiterungComputeranimation
ZoomContent ManagementVorzeichen <Mathematik>WidgetHomepageRichtungWeb-SeiteEin-AusgabeSchnittmengeRückkopplungComputeranimationXML
ZoomContent ManagementBenutzerprofilWeb-SeiteGarbentheorieInhalt <Mathematik>TypentheorieInteraktives FernsehenProfil <Aerodynamik>Rechter WinkelTexteditorATMBitRückkopplungMathematikEin-AusgabeComputeranimation
Web-SeiteBenutzerprofilZoomContent ManagementATMRechter WinkelPunktSichtenkonzeptExogene VariableVideokonferenzBitFlussdiagrammComputeranimationXML
ZoomBenutzeroberflächeVerschlingungBesprechung/Interview
Transkript: Englisch(automatisch erzeugt)
All right, welcome back. So today, at this moment, I am very pleased to introduce you to Timo Stoltenberg and Victor Fernandez de Alba, who together at Kit Concept have been the driving force behind Volto. Timo has been a core developer of Plone
and a member of many teams. He's actually, I believe, a former Google Summer of Code student for Plone. And Victor has been working with Plone for eons, it seems. He's the developer of the original Barceloneta theme, as well as a ton of add-ons. And of course, he's the release manager for Volto.
So with that, I am going to turn it over to Timo and Victor. Thanks, Kim. Thanks, Kim. So 2020 was a tough year for us in many regards,
co-workers, family, and friends. We were hit by a few unfortunate events. Victor was off for half a year, my partner in crime for Volto, which hit us hard as a company, and me personally as well, to fill that gap.
And I feel bad for saying that, because we're in a global pandemic. I think 2020 has been tough for everybody. And there are people that were hit far worse, also people in the Plone community that had a really tough year, 2020. Though I think for KitKonta, for us,
we have been quite privileged that, for instance, we work in IT. I have friends who work in other sectors who are really hit a lot harder. And we have been a remote company right from the start. So we were quite prepared for going on a home office.
And when I look at the raw numbers as the CEO of the company, I'm supposed to do that, and the projects and the new clients that we had in 2020. 2020 is by far the best year in the history of the company, or was the best year in the history of the company. And since we started with Volto more than three years ago,
we actually, every pitch that we did at a client, we won that pitch with Volto. That's pretty amazing if you look at it. But at the same time, I'm kind of an imposter. So even in times of if something works,
then I still ask myself, why did that work? I mean, I'm not a good salesperson. I'm not a Microsoft consultant or anything. The client once told us, a client that has many Microsoft consultants in there, they asked this Microsoft consultants
for a solution for a search or index server for their 20 different internet solutions. And this Microsoft consultant told them, yeah, that's easy. We have a solution for that. Just go with SharePoint. And I'm not that kind of person. I'm different. I can only sell what I sincerely believe in.
So in retrospective, there are some things in life that you only realize in retrospect, if you don't realize when it actually happens to you. But looking at that, I realized that in the past years, I lost something when I was going into pitches
and selling classic Plone, when I was selling Plone 5. Don't get me wrong. I'm not saying here that Plone is a bad choice or Plone was never a bad choice. And it's still a valid choice also in 2020 and everything. But when I look back, now that I sell Volto to clients, also to the community,
we go to lots of, or we used to go to lots of open source events. We organized lots of open source events and selling Volto there. And Volto really brought back the joy and the excitement as a developer that I actually felt
like back in the days when I started with Plone. Sorry, that will happen quite a few times. I think you might talk. So when I started with Plone long time ago, I had this feeling of pure joy and excitement. And this came back with Volto actually.
But also that feeling that when I pitched Volto for clients, that we're able to provide them the best CMS option on the market, right? That we're not like a nice or like a good solution, but really like that we're able to offer them the best thing that we have right now on the market, right?
And I sincerely believe that if we make the right decisions as a community and we manage the transition from Volto to Plone 6, right? And we provide our clients and users with like this stable and scalable and secure backend
that more than Eric talked about in their keynote. And we have the Plone foundation that secures the trademark and everything that comes with that. Our existing rich ecosystem and a growing number of companies that use Volto, right? What Rick Dore said, or what Eric Seitz said,
we're not alone any longer. That Volto has a rich community and a rich ecosystem of add-on products already, which is just amazing, right? When I look at what EEA did or Odaweb and Red Turtle, right, that's just amazing, the amount of add-ons that they created. And when I look at like the competitors that we have
in the market for our use case that we have, right? For instance, classic CMSs like Drupal, Title 3 or Joomla, right? They're kind of like stuck in the past, like a bit to a certain degree, like Classic Plone, of course, right? They all have an outdated stack and it's hard for them to make the transition.
But we would be kind of the first to actually like do the final release, right? And go that way. And I really hope that we can make that, right? That we don't fall into the old habit of like being first and finish last. And then we have like more modern CMS solutions
where they already did this transition, right? Like WordPress with Gutenberg, which is pretty amazing as an editor, or Neos, which is a fork of Title 3, right? They have modern React-based front ends actually. But when you look at them, they're really overly complex
from the user interface point of view, right? And they're targeted more towards agencies than the actual editors, right? I talked about this like quite a few times in the last years already. But if you ship Plone to like thousands of editors or 10,000 of editors even, right? You have a huge training cost
if you have an overly complex user interface, or if you require HTML knowledge, if you require people to know what's the difference between margin and padding, for instance, right? It's as simple as those things. And that's a downside that we don't have in Baltimore, which I believe we don't have.
And in addition, they have like the scalability and security issues that comes with most like PHP-based systems. And we don't have that because we have the most secure CMS on the market, right? Then there are like static site generators like Gatsby. And I'm a huge fan of Gatsby. Gatsby is great, right? It's fast, it's super fast actually. It has a modern JS that you can use React.
It has a huge community. It's backed by lots of money, but in the end, and it's really good for like this particular, for particular use cases, right? No question about that. But they basically move the scalability problem to build time, right? So if you have 10,000 or 100,000 pages,
then you need to re-generate them all if you change one, right? And this is, and they're trying to like solve that problem with some nifty algorithms and stuff. But basically they move the caching problem to their own space, right?
And not solving that problem with a caching system which is like a lot easier, right? And also Gatsby is not so easy to maintain over time which is also something that's really important for larger deployments. And then we have like headless CMS, right? Plone is actually headless CMS
without the vendor lock actually already, right? And headless CMS or the headless CMS approach promises flexibility, a modern stack, and that you can like freely choose like the latest JavaScript framework that you like. But to a certain degree, this flexibility also like can kill you, right? Because you're kind of doomed to reinvent the wheel.
You have to build the entire like CMS functionality. And I can tell you from experience from the last three years, that's a lot, lot of work that you can't do in a single project, right? And as well, we have the problem that if you choose to lay this JavaScript framework, whatever that means, if that's like reason or swelter or whatever,
you might end up in a situation where like in a few years that's not the hipster thingy any longer, right? And then you have to move on, right? So I think with Volto, we can provide users and developers with a unique combination of stability
in the backend and in the community together with a modern, fast moving frontend, right? And we really have the chance to put Plone from like a niche system that we always have been, if we're honest, back on the CMS map, right? And make Plone the best option for CMSs for certain use cases, of course.
That's the imposter for me, again. But I sincerely believe that we have that chance, right? And that we can provide our clients and our users with a really fantastic solution here. And I will hand over now to Victor who will tell you more about the details about the past year, what we did in Volto and what we plan to do.
Okay, thanks, Timo. Let me share my screen first. Yeah. Okay, and okay, here we go.
So yeah, before I start, I want to spend one moment to say something. Some of you may already know about during last month, I had to endure for college moment of my life. I am fortunate to be able to say
that this is already passed, but I wanted to say thanks. Thanks to everybody who was there supporting me over these hard times. Thanks to my family, my wife, Agata, my mother, my father, my brothers, my aunt, and so many countless friends that support me, right? And I wanted to mention especially to Timo
who supported me unconditionally and it's the most important thing that happened. I am so fortunate to have all of you around and thanks. And yeah, I apologize because, but I wanted to say this before continuing. So let's go for it. So what's the most important milestone
in Volto that happens this year? Yeah, Eric and Timo, they pointed out, but I think that the most important milestone for Volto this year is that we went from a small bunch of a group of people that believed in Volto, in the Volto vision, and we went to reach the critical mass of believers
inside the Plum community. So, and this is, yeah, very important to note. And from now on, whenever I say we in this talk, I'm referring to all of them. I'm referring to all the Volto believers in our community. So yeah, in my last Plum conference talk,
I was asking myself this question, so what's Plum, what is Plum in 2020? And I asked you what will be your answer, right? And I want to reflect on that back in the day. And I want today to share with you some additional insights that I had during the last past year.
I think that Plum has evolved from being a standalone product to be a contract. So is the knowledge and wisdom that we the Plum community achieved during the last 20 years, building a world class enterprise CMS. I wanted to write this down and put it in this slide
to reflect on it and to let you know that I think that is the most important, yeah, thing that reflected in the last year for me, I guess. Also that no matter that we work on classic Gold in Volto, in Gidotina, or in a new front end
for the API, whatever technology we use, the important thing is that the implementations may change over time, but values do not. And so at the end, the idea that we are Plum and so they are all the things that the community does, right?
So yeah, during this year, as we said, many people started to jump into Volto and the community started to give feedback about it, right? So the believers also became evangelists and started to spread the word and the enthusiasm.
And I want to reflect in several also words that I overheard during this last year. So one of them is this one by Tiberiu Ikhim is that through the freedom that they provide, Volto blocks are a foundation for innovation that enables Plum to step in line with the latest state of the art for web development.
And I think that this sentence says it all, right? And I wanted also to put it in a slide. And I also heard that at the end, we not only built a new UX and UI for Plum,
but we also built a framework where to build new exciting things. And I think that that's also one of the most important message that we have to give. Yeah, Eric also said, talk about it. We in the process while developing Volto, we also realized that we were using
and applying a set of principles that in the end, we thought that they were useful to write them down to share with these other people that were jumping into Volto and to have a common ground and fully understand what we are trying to accomplish and how we plan to do so.
So yeah, we write them down. These are the design principles. You can find them more extended in the Volto documentation. And yeah, this list, we came up with this, we come up with this list. And yeah, the basic thing I will say
is approachability, right? So it does not only serve Volto, should not only serve some of us to build nice things, it should serve to everybody. And it has to be friendly and nice for the newcomers, built on industrial standards and well-known technologies, right? And I think this is basic
and somehow we lost this during the development process. And we should go back to it. Also, yeah, developer experience first, customization and extensibility first. Another important thing is that Volto UI UX is passed on our UI that Albert Casado did for us.
Some years ago. And this is very important because we already have a style guide. We don't have to guess what's in there or what should be in there because we already have this style guide to guide us through the process. Another important thing is that do not over engineer things because at the end,
the simplest things are the best, right? I mean, we don't need to come up with a way of doing widgets with a five way adapters, right? And also each feature has only one way of doing it, right? And front end and back end are meant to be decoupled
is something that we also have to have very present, right? Because I'm not seeing that come up with things to mix them and use them together. No, they are meant to be decoupled. So let's stay decoupled, right? Also focus on the UX and the UI implementation
are upcoming challenges. And we should focus on that because I mean, it's at the end is what the user experience in first person and is what you sell to your clients, right? I mean, and this is very important that go back to focus into those things and not on backend development issues and things like that.
And then also that we are using semantic versioning. So where are we in Volto today? Let me show you the state of Volto today. So some stats first, we did not during the last year,
but those are overall stats. So back until today, we did 203 releases. We have more than 58 contributors and we closed 1,253 pull requests.
And currently we are in 3,000 trade for comments. And the current release for Volto is Volto 10.3.0, right? Also, I want to reflect on which areas is Plone 6 better than Plone 5 today. I will say that today is the blocks engine
is mainly the most important thing in Volto that we innovate and we're working on it like to improve it every day. The authoring experience, something very nice that we added later and Plone Classic does not have
is the Volto dexterity schema layout editor. So well, the schema we can do in Classic, but not the layout editor that Eric showed you one from a few moments ago. Also the listing block, we underestimate what the listing block is capable to do. And the fact that you can put some of them
in a same page and computer and make the query to the database, it's amazing. Also having their taxes to the full JS reactive system is also very important and it's super powerful. So you need a library, so you go to NPM, download it, use it in your React code and that's it, right?
Then the performance, performance that were unheard in Plone lately, right? And something that we underestimate is that as a bonus Volto still works in Plone 4. Some of the features does not work,
but 95% of progress API features work in Plone 4. So if some client still don't want to go through all the migration dance from all Plone 4 to Plone 6 or Plone 5 or 2, whatever, you can also provide him with a nice new front-end
for this Plone 4 without touching a thing from its own backend, right? Which is super valuable, I will say. Okay, another nice thing that happened this year is that we formed the Volto team. You can find here the members
that they are now in this group. So, and we created it for people committed to take care of their upcoming Volto Core features and discuss its implementation, triage the issues and curate the pull request in GitHub, curate and maintain the Volto roadmap
and also taking care of their release management process. Also, we put up the Volto early adopters meeting and this is a meeting that is held monthly. The last Friday of the month is open for everybody who is interested
and it's mainly addressed to people and companies interested in adopt Volto for their immediate current Volto projects. And during this meeting, doubts, questions, problems and issue are put on the table and we discuss them. People tell us their experiences
and also if they had any problem or, yeah. We discuss all things about Volto. As said, this meeting is open for everybody who is interested and yeah, you're very welcome.
So Volto 4, yeah, we call it the maturity release. It went out in March, 2020. As you may already know, yeah, we introduced a new sidebar and a new mobile first toolbar. We introduced a new objects browser, a new block chooser
and we improved the blocks definitions, made it future proof. We finished the listing and TOC and the LED image blocks and have some other improvements and later updates. And yeah, as I said, we improved the blocks developer experience.
Tiberio is talking of it. Don't miss his talk on Wednesday. And from Volto 4, we went in nine months to Volto 10. So Volto 10 happened last week and it includes through these months
multilingual support, improvements to the contents view and also as it forbidden not found improvements and related HTTP proper responses we were not doing until the time. Yeah, we also add support during these months
for using a completely different CSS framework or other than semantic UI, which is the default. Don't miss also Nicola's talk on Wednesday as well. He will talk about it and show a little bit more how it's done. Also with huge improvements in extensibility.
Go to the Neelesh talk on Tuesday. He will tell you more about what we did and in this subject. We also have a new generator. We used to have the create Volto app but it will be deprecated soon in favor of these Yeoman based generator
but it allows us to do more nicest things and have more control over the generated code even a way to upgrade it because it's something that Yeoman does that's out of the box and also have a set more and more programmatic control over what's in there.
So yeah, watch out because we will deprecate create Volto app in the next weeks if not months. Another thing that we did I will say is the most important one is the new add-on architecture. So both itself always had an outstanding
extensibility story but we introduced add-ons where you can now able to extend every aspect of Volto from an add-on including Webpack and Babel configuration and even testing configuration how Jest behaves, right?
We do this computing which add-ons do we want to install in our Volto project in the package.json add-on scheme. And in this array what we are defining is which add-ons are going to be installed in our Volto site in order, right?
So you can customize the Volto default configuration that comes directly from Volto when we use it as a library and then every add-on is able to touch and to modify, to mutate this configuration. And then finally our own project is also able to do so.
So we can still have another layer of customization in our project and apply those configuration that definitions that will make our Volto site how we want it. So we are able to do so with released modules from MPN
and we are able to do so in a development experience very, very close to the Mr. Developer experience one in the blown world with a package that is called Mrs. Developer that was kindly ported to the node wall by Eric Riol.
So thanks Eric. Also, we have an awesome Volto repo where people put and publish their released packages or not released package, but the add-ons the Volto add-ons that are already open-sourced.
So you can go there and take a look at it. Also another reference talk Alok is doing his talk on Tuesday about building Volto add-ons if you are interested. We did this week and also a training on that. So you can go to the training video
and take a look what we did. Also, we did some improvements into the shadowing engine. That means that for the shadowing engine to work we needed to export the whole path as the shadow engine is going to use to override the component, right? And this is no longer required.
Yeah, because thanks to the value we hit the block resolve plugin for Webpack that does that for you. So you are not required to do so anymore. I worked in add-ons too. Another nice thing and I will say that it's a game changer
is the API block transforms. It's something that we have to thank also to the way you do come up with it. And it's a way for the API, it's a way to define a transform in the API level where in serialization and deserialization.
So we can do it in inbound and outbound REST API calls to transform the blocks that are incoming or outcoming and make some kind of manipulation on it, right? So for example, this is the text block deserializer that we're applying right now in Volto.
And it's the one that converts URLs into Resolve UID internal links, right? So when we change, you know how it goes, right? So when you change the name of an object you still maintain the reference to that object
because it's internally it's referenced by an UID, right? So doing this way, Volto doesn't have to know a thing about Resolve UID and Volto only knows about URL. So in inbound, the URL is a path as it is and then this transform what it does
is deserialize the block and find all the URLs and transform it into UIDs and then store the UID in the block. And back when someone calls some content then when the API on serialization
then that's the other way around story, right? So you have Resolve UID stored goes through to the serializer then it sees that it is a Resolve UID that needs to be transformed into the URL. It gets transformed and then it returns the path
not the Resolve UID. So this way Volto doesn't know about the thing about the Resolve UID is even exists, right? And this is extremely powerful and we are already toying with some ideas and yeah, we'll see how far we can go with it, right?
We also are able to do so register several transforms for the same block type. They are applied in order of the same as the portal transforms of blown classic, right? And yeah, we can apply to all the blocks if you don't specify the block type
and yeah, it's a very, very powerful feature. Continuing lazy load support. We added this year also go to Nilesh talk also about bundle splitting on today and he will explain a little bit more how it works
but basically we are able to offload and to lazy load any component that we want, right? So this code for example, explain how we lazy load the event view in Volto. Then yeah, another nice thing that we have is the Volto dexterity schema layout editor.
We already show it, especially the dexterity schema works basically the same as in blown classic but the most important and the most amazing thing is the blocks layout editor. So yeah, these editor allows you to set
how, which default blocks are going to be shown when a user creates a new content type, right? Then we can set it up in these nice editor and yeah, we can do things like mark them required or not
force it in a fixed position disable even the addition of new blocks. So you are forced to only feel the template that you are given
and even put it in read only. So you only show, yeah, as a, yeah, the title you can put the title read only so everybody has to stick to those titles, right? Let's finish a little bit the video
but this is like a killer feature. So if your client wants to maintain the style of your site by enforcing a layout or a specific form of what the pages look like then you can do it easily because of this.
Also it uses the default dexterity facilities to do so so you don't have to do anything else for make it work. So no strange magic on it, really, right? We create another item of book and then yeah
we have the layout set for you and you can only do what you are allowed to. So yeah, don't miss Alan's talk because Alan's is who to blame because of it.
And yeah, on Tuesday at this hour. Also something that we sneaked into both of them last week the ability to copy and paste logs. So we can copy and paste blogs now,
not even in the same page, but also in other pages and even in different windows because it uses local storage to do so. And we can also not only copy a gem, well, a gem send, I just sent, sorry, I just sent blogs
but also we can select them like you will do with File Explorer, right? And yeah, it's quite nice. So yeah, we did all there some small things
like page composition enhancements like yeah, the object, those are widget and the relations widget, which are both very nice. And the link widget is coming soon. So for the link widget for the link content type to be exact.
Also the listing blocks get a big one which is variation support. So now we are also able to define which template to apply to a listing blocks. And we can not only use the default ones but also extend that and use a custom ones.
So without touching the listing block, we don't have to do anything. We only have to define it in the block configuration. You define the variations that you want to support and then the variation show there and you can use them right away. We are toying also with the idea to add variation support to all blocks
but I will talk about this later. Also one thing that we do is to remove the listing container object from the results which is very important because it was very weird that the same object that contained the listing block where in the results potentially could be in the results
of the query. And we did that to remove it. We did that to remove it. Also the event type support and we have now a new recurrence widget and what's the future? So the future is to be able to go
to this nice place again. This is Sorrento, this is Capri on the dawn and yeah, I am very, I hope that next year we could go together and have some drinks in the terrassa of the Hotel Mediterraneo.
But yeah, aside of that, I want not to show what we have into the store for the future of Volto. The first one and more exciting one is the slots concept. We want to take back or bring back slots into Volto which will be and we are thinking of it
about a mix between billets and portlets. It will be the evolution of the plume or the eight tiles concept, right? Because at the end is what they are, right? But we also want it to be inevitable and we want it to be far more lightweight than portlets because we don't really need
a plume portlet in Volto, right? Because a plume portlet in Volto has a lot of rendering and template stuff on it that we don't really need. And they will contain blocks because it's the basic unit of content that we can think of, right? And they are configurable, they are extendable, they will support variations in short.
And yeah, they should be assigned aesthetically and or in the back and defined, right? We also want to have a form builder there. There are several efforts on that. Currently Janina is working on it and she will have tomorrow a talk at this hour.
So don't miss his talk. Her talk, sorry. Also is late adoption is something that we have in mind because we realized that Tragedy has its limitations and the other work guys already have tried it.
And we know that it brings or it may breaks a lot of improvements in the text editing side. And we are about to start an exploration of how we could do that. And we want to do that, yeah, the soon the better, right?
Because we don't want also to dizzy people or mislead people saying, hey, now we will now have Tragedy but now we have Slate, right? So we wanted to do that and explore that option right away. Then the Plone 6 install immigration tooling.
We need all these tools and we need someone to champion that. As I said, the block variation support we need a way to enhance existing blocks with different templates as we do in the already in the listing block and also with additional block data that we could extend the,
what it's stored in the blocks and all of it do it from the block definition that will make us very, very flexible into how a block should look like. And we will have several flavors of the same block and things like that.
Then I will do a quick showcase of the things that the companies that already jumped into both and are selling both the projects already did these last year, right? So starting with all the web, they did two nice websites. One is the forest information system for Europe.
Also the biodiversity site, which is a beauty. Also Red Turtle West is about to release these two news websites.
One is the visit Modena, the other is the Biblioteca Comunale de Imola. Web Bank has been busy also and he did two nice sites with Volto, the Medici.com and the Job Family Medici also. Also the University of Chivasula has also working on its own Volto sites.
This one is using Volto as CMS and it's published using Gatsby. I think that Biblioteca is also doing a talk about it during the conference.
Also, we have good concept with also working in sites of government and research institutes, which we cannot reveal really now, but all I can say is that they are huge about 100K pages. And yeah, one is a web project
and the other is an intranet. So yeah, Volto is able to handle all those things, right? Okay, and I have a few minutes to show you just one more thing. So Albert Casado became father some months ago and we've been lucky enough
that the baby doesn't keep his father very busy and Albert Casado had time to work in a new thing. And he sent his greetings and I will show you the new style light
that he is working on. He sees that like a kind of extension or an evolution of Pasta Naga. And I want you to tease some of it. Yeah. So first of all, he was so and busy that he did a new logo for Volto,
which I don't know if we are going to require it, but yeah, I mean, it's always nice to have those kinds of graphic elements around. And he also did a new homepage or how the theme of Pasta Naga should evolve
or he showed the directions at least. He also redesigned the inputs, which to be honest, I am already a little bit tired of the Pasta Naga UI inputs. Myself and I, we recite more or less the same feedback about them.
And they are not that flexible in some situations. And so for that, yeah, he designed a new set of inputs and also yeah, pages like you can see. Also, he really finally beat the interactions of the toolbar and the personal toolbar, but yeah, it's quite the same,
but I'll leave it profile here. Also the add new, I love this one. Yeah, I'm most probably going to create this kind of interaction. Yeah, very soon into Volto, which we have the two main content types
that you are going to use at the top, right? Also here is the find the editor experience. Yeah, we had some feedback to him and then he also tried to streamline all the experience
using this toolbar at the top. Yeah, it will fix some of the issues that we have nowadays. Also the sidebar, he streamlined also a little bit the sidebar. Those changes are not big, right? But yeah, the most important one probably are the inputs. Yeah, he even did a dark mode, a dark mode theme, right?
Which is also nice. Yeah, we could implement it at some point. Yeah, so the responsive views of everything, of course. And then yeah, this is an iPad probably view.
And yeah, and this is it, I think. Yeah, this doesn't mean that we're going to implement all these right away into Volto because it's a lot of work. But yeah, we will slowly bring things into Volto itself bit by bit, right?
And improving bit by bit this is more things that annoyed us or that we found that maybe it will be better in another few weeks and look alike, right? And that's it, yeah, thanks for attending. And yeah.
Thanks Victor. Thank you, Timo. This is a great preview of what's coming up in Volto. And I sincerely am appreciative of the work that you've put into this and organizing Volto and getting so many people to adopt it and making it the future of Poland because it's truly very exciting.
So thank you again, Victor and Timo. And for those of you who are watching, please join us in the face-to-face with Victor and Timo. They will continue to answer questions in there. You can see the link to face-to-face below in your user interface in Loud Swarm. So thank you again, Victor and Timo.
Thanks for you looking.