Is Plone a Good Choice for Large B2C Websites?
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.
Guziel, Lukas
What are the quick wins for companies using Plone for consumer oriented websites and applications? Who uses Plone? The list is quite impressive: universities all over the world, government agencies, NGOs. But where are all the Fortune 500 companies, the big players? Is Plone not made for consumer websites? Our talk highlights a case study from a leading worldwide automotive and motor bike manufacturer using Plone in a B2C context. We will walk you through one of our projects, mainly from a technical perspective: What are the quick gains for companies using Plone for consumer oriented websites and applications? Based on our customer’s main requirements we will discuss what technologies, interfaces and add-on products we used. What are common customization necessities and what are the development challenges in large-scale projects? Was Plone ultimately a good choice?
 So yeah, my question is, is Plano good tries for large B2C websites? And yeah, first I throw in a quick introduction and an agenda of my presentation. So first I want to introduce myself, my company and my customer or our customer and yeah. Then I want to go into the requirements, so I want to summarize it quickly what we had to do. And this also leads directly into the implementation, so what did we have to do for general requirements, technical requirements and how could we create a good solution for it. And at the end I want to summarize it and yeah, want you to help me to answer the question, was it a good idea to use Plano? You find this agenda on the left side and so we'll see where we are. So I'm Lukas Gutierre, I'm software developer and project manager and I'm doing this, I'm working for Interactive GMBH and we're an online agency in Cologne and this is in Germany. We're using open source CMS systems, for example, Plano of course and Magento for shop systems and also doing online marketing and web design. Our customer was Suzuki. So Suzuki is leading worldwide automotive and motorbike manufacturer and in this case I'm showing you the motorbike site. On the 5th of October, so a few days ago, the page went online and there was the intermod in Cologne, so it's a big mess where they show the new motorbikes, they show the new stuff and also of course on your site. And this is this website. So this one was implemented with Plano 5 and now I want to go into detail what did we have to do to make this happen. So it's blown a good choice for large beta C websites. Who uses Plano? There is a list if you look at plon.org of a lot of governments, NGOs, so there are some names but the big players, they are missing. That's one part of the thing is that there are a lot of internet systems, so you really don't know who is really using plon and maybe it has to be something with brand awareness or something else. But you really can tell the value what they are. So I want to talk about the quick gains for companies using plon. So what do we do for customizations, what add-ons are from plon, they are ready to make this page happen and how is the security working for us. And here at the end it is the question to answer. So the general requirement was to get a strict layout for the whole page. And it's like in every project but here it comes to that there are specifications. So you get a lot of specifications, this is good because you have everything written down what needs to get done on this page. But it's also a bit difficult because you want to get a good solution for your customer and you need to get the technical part and the specifications together to get a good solution and sometimes this is difficult. So for example there are multi-site management, so you have different roles of users and want to get this into several sites. You have front-end editing so you can edit the page dynamically as you feel you are just on one page, you see directly the result and other things. And there is personalized content, still a big subject and I think that's one of the most important things that's coming. Yeah, the example is you are on the page and you directly see I am from Cologne, I see the map on Cologne and it just knows it and it feels like I am home. And of course there are a lot of other things. Technical requirements, so it goes a bit technical more. There is a tile system I want to go into later on. For example you need to work in copy, inline editing and so on. There's a content proxy. You need to RSS content in-plone, so for example you can use search engine for it. There's image cropping, SEO optimizations, PDF generation, inline editing, so you see there's a lot to do and I want to jump in some parts of it. For example the tile system, what we did, we created our own tile system. I think you will ask yourself why did they don't use Plonab Mosaic. As we started with the project, Plonab Mosaic was in Kitchu's, so it really wasn't that developed and we had a lot of special workflows that we had to implement. And there are some custom creation process for tiles and a special layout. So that's why we created our own tile system. So to give you a quick idea, we have a content type, tiles, it's a container and there you have rows in it and in this rows are tiles. But I will show it to you after that. And you have a special workflow, you can set on one position, on one base position. You need an API for the front-end editing and you need models to edit stuff that isn't editable through inline editing. So this looks like the tiles editor from us on the Suzuki page and there are three rows. So you see there on the bottom of the side there are actions, you can remove it, you can move it. So these are the three rows. It's like an image and text and here is a headline and in this rows there are several tiles for example this is a row with three text tiles. So it's kind of like build like Mosaik. Just that you get a stricter, more stricter tile. So you have like a free text tile and it builds you already three text. So we can handle a bit more what we give the customer. And if you click on for example an edit button, it opens the model. As I said if you have to edit something more you can choose an image there, you can set a link or set an alt and title tag. So the PDF generation, we had two choices between Weezyprint and LaTeX that are Python modules. LaTeX you almost saw for mathematics and so on. Or I think the plan documentation book is made with LaTeX. It's a really good thing. We use it as in other projects but it's really large and so you need a lot of time to use it. And Weezyprint is a module where you can write your code in HTML and CSS. So most know that and it generates your PDF. It's really good and for us it works good because we had a simple layout and just put data in it. The inline editing was also very easy for us because Plone has the tiny MC4 and with a tool liner you can just implement it and there is the free text tile. You just double click and you can edit this with the tools there. The RSS content. So if you want RSS in Plone you can put the feed in it but you don't have it as content. And this was a problem for us because we have RSS in sliders, in overviews, so on a lot of positions and you want to use the search word to find them. And so we need to index them somehow so we created an own content type with the X30 for it. And there were a lot of APIs so you get the data from this and there. For example the motorbikes and they have a special database for it and they support Python module Sats which was really helpful for us and I just recommend to look into it. It's a good thing. Here comes the other part, it's image cropping. So there is a Plone product for image cropping but it's not migrated for Plone 5. So it was difficult because we needed a cropping tool and then we had to thought about it, can we rank great it or do we some something else and this was very difficult to migrate it. And we looked into the code and see what did they and what can we do. So they used the cropper as a jQuery application and built it like the same way more easily so you don't have all the functionality but it's a good first step to using cropping in Plone 5 and maybe this is the thing we can put into the community. Next thing is the SEO optimizer. It's a thing from Quintar groups and it's also a product which is not migrated yet and this one of our most likely products, like we use it on every page because you can edit the metadata and it's very good for SEO optimization of course and we had to do there something different too, create something different and we did it with the rules and the rules XML from Diazo. So we put our metadata somewhere in the content and it just replaced it on the same page. So it's really a small thing but you can do a lot of it with it so we would love to get this migrated too. And the third thing is it's a Plone form gen. It's based on archetypes so it's like not for Plone 5 but what I've heard now from the last keynote there is collective easy forms so we should definitely look into that. Now we use the Plone form gen but the collective easy forms is also dexterity so there's a good solution for that. But these are our main things we want on our page because it gives us a good amount of editable stuff and it's just from Plone so you can just install it and it works. And then there's the Plone app testing so you have everything to test like white box, black box acceptance test which you need to get a secure feeling about your page and it's all in Plone app testing there so it's all that we need. It was very good. Also the documentation there's things so it's automated. You can create an RST file and it just generates you the whole documentation so this was really helpful for us. So in general when I list up the pros and the cons in Plone 5 now we have a good looking interface in the backend for an easy integration in Diazo. We have an interactive editing backend so there's all JavaScript implemented so you can do everything on one page. Of course the ZODB is an object oriented database which is very secure and also the security on the application level for example the workflows you can just type in a URL and it works for you. It's on the lowest level. There's security for you so nobody can do things with no permission. It's infinitely extendable with ZEO cluster so it's not that the page can grow as much as it wants. You can build up and any more clients and do it with a load balancer. It helps us really much to get every big site running. And of course there's Plone app testing, Plone app caching, swings and so on which helps us a lot. On the cons side as I mentioned there are just a little amount of extensions that are already migrated for Plone 5. Like I said the SEO optimizer, the cropping tool or Plone Form Band but I put this back it's easy forms we have to check out. Now I want to throw the question in the round what do you think was it a good choice to use Plone? You just have to stand up and say something. Yeah? What was your traffic numbers? Were your content editors happy using the features of Plone to put in all the information about the motorbikes? How was your project received at the client? The project has received very good so you can do a lot with for example Varnish or something to get the good performance. So this was a good part. So it doesn't, yeah, it doesn't, I don't know how to say that, it doesn't exit on the speed. This was not a problem for us. Did you start the project? You did it in October? Yeah right. This was a really short project but there's another, there are other sites on Suzuki we had this earlier so and the tide system went further, further back with other pages like it started in Plone 4 for us. So this motor site was like I think four months ago. There's a lot of experience or connection with the community or knowing what's going on or worked a long time already with Plone. Yeah? So in the generation there's some very good modules for those, EAPF for example. The feed stuff you, I know it's still archetype but I know we created it for eight years ago, products feed feeder, that does it but it's archetypes are not dexterity so that might work. Okay. Image cropping was made available for Plone 5 in March 2016. Okay. So there's a lot of things that I think, okay. Well, the, of course it's not critical. I'm looking back at myself like wait a minute, you're doing all this stuff when I know that a large part of these modules have been created for Plone 5 so that's something we really have to fix because a lot of, maybe it could make it easier for you partly to have a part of this functionality already gated to you by using the upgraded module if you had known it existed. Yeah, okay. Yeah, maybe that's what's the thing. Yeah. So I'm curious other than, so I don't know what else the website does other than serve pictures and brochures of the product for example but do you, is there an online quoting system? Is there sort of a contact? Like if somebody's interested in a particular motorbike, do they interact with the site more to get more information? Do you do ordering? Can somebody buy a motorbike through the site? So you can order, so in the future there will be a functionality to order, not to buy a motorbike but you can order a test drive and so there's a form where you search your motorbike and it shows you okay, 10 kilometers from here now it's in this shop and you can try it out for like one week and you fill out the form and then yeah it goes into buying here. So did they add all the product data themselves kind of manually then? Like as a content type, how was that handled? Sorry, please. They went in and added all the product data like for each buying code. So there's an API, so they have a database, it's called the PDB and there where all the motorbikes data came from. So we used this Python module Sats and created this as a plain content type but automatically. So we have the Chrome job which runs nightly and create the new motorbikes. Okay and thank you very much.
 So yeah, my question is, is Plano good tries for large B2C websites?  And yeah, first I throw in a quick introduction and an agenda of my presentation.  So first I want to introduce myself, my company and my customer or our customer and yeah.  Then I want to go into the requirements, so I want to summarize it quickly what we had  to do.  And this also leads directly into the implementation, so what did we have to do for general requirements,  technical requirements and how could we create a good solution for it.  And at the end I want to summarize it and yeah, want you to help me to answer the question,  was it a good idea to use Plano?  You find this agenda on the left side and so we'll see where we are.  So I'm Lukas Gutierre, I'm software developer and project manager and I'm doing this, I'm  working for Interactive GMBH and we're an online agency in Cologne and this is in Germany.  We're using open source CMS systems, for example, Plano of course and Magento for shop systems  and also doing online marketing and web design.  Our customer was Suzuki.  So Suzuki is leading worldwide automotive and motorbike manufacturer and in this case  I'm showing you the motorbike site.  On the 5th of October, so a few days ago, the page went online and there was the intermod  in Cologne, so it's a big mess where they show the new motorbikes, they show the new  stuff and also of course on your site.  And this is this website.  So this one was implemented with Plano 5 and now I want to go into detail what did we have  to do to make this happen.  So it's blown a good choice for large beta C websites.  Who uses Plano?  There is a list if you look at plon.org of a lot of governments, NGOs, so there are some  names but the big players, they are missing.  That's one part of the thing is that there are a lot of internet systems, so you really  don't know who is really using plon and maybe it has to be something with brand awareness  or something else.  But you really can tell the value what they are.  So I want to talk about the quick gains for companies using plon.  So what do we do for customizations, what add-ons are from plon, they are ready to make  this page happen and how is the security working for us.  And here at the end it is the question to answer.  So the general requirement was to get a strict layout for the whole page.  And it's like in every project but here it comes to that there are specifications.  So you get a lot of specifications, this is good because you have everything written  down what needs to get done on this page.  But it's also a bit difficult because you want to get a good solution for your customer  and you need to get the technical part and the specifications together to get a good  solution and sometimes this is difficult.  So for example there are multi-site management, so you have different roles of users and want  to get this into several sites.  You have front-end editing so you can edit the page dynamically as you feel you are just  on one page, you see directly the result and other things.  And there is personalized content, still a big subject and I think that's one of the  most important things that's coming.  Yeah, the example is you are on the page and you directly see I am from Cologne, I see  the map on Cologne and it just knows it and it feels like I am home.  And of course there are a lot of other things.  Technical requirements, so it goes a bit technical more.  There is a tile system I want to go into later on.  For example you need to work in copy, inline editing and so on.  There's a content proxy.  You need to RSS content in-plone, so for example you can use search engine for it.  There's image cropping, SEO optimizations, PDF generation, inline editing, so you see  there's a lot to do and I want to jump in some parts of it.  For example the tile system, what we did, we created our own tile system.  I think you will ask yourself why did they don't use Plonab Mosaic.  As we started with the project, Plonab Mosaic was in Kitchu's, so it really wasn't that  developed and we had a lot of special workflows that we had to implement.  And there are some custom creation process for tiles and a special layout.  So that's why we created our own tile system.  So to give you a quick idea, we have a content type, tiles, it's a container and there you  have rows in it and in this rows are tiles.  But I will show it to you after that.  And you have a special workflow, you can set on one position, on one base position.  You need an API for the front-end editing and you need models to edit stuff that isn't  editable through inline editing.  So this looks like the tiles editor from us on the Suzuki page and there are three rows.  So you see there on the bottom of the side there are actions, you can remove it, you  can move it.  So these are the three rows.  It's like an image and text and here is a headline and in this rows there are several  tiles for example this is a row with three text tiles.  So it's kind of like build like Mosaik.  Just that you get a stricter, more stricter tile.  So you have like a free text tile and it builds you already three text.  So we can handle a bit more what we give the customer.  And if you click on for example an edit button, it opens the model.  As I said if you have to edit something more you can choose an image there, you can set  a link or set an alt and title tag.  So the PDF generation, we had two choices between Weezyprint and LaTeX that are Python  modules.  LaTeX you almost saw for mathematics and so on.  Or I think the plan documentation book is made with LaTeX.  It's a really good thing.  We use it as in other projects but it's really large and so you need a lot of time to use  it.  And Weezyprint is a module where you can write your code in HTML and CSS.  So most know that and it generates your PDF.  It's really good and for us it works good because we had a simple layout and just put  data in it.  The inline editing was also very easy for us because Plone has the tiny MC4 and with  a tool liner you can just implement it and there is the free text tile.  You just double click and you can edit this with the tools there.  The RSS content.  So if you want RSS in Plone you can put the feed in it but you don't have it as content.  And this was a problem for us because we have RSS in sliders, in overviews, so on a lot  of positions and you want to use the search word to find them.  And so we need to index them somehow so we created an own content type with the X30 for  it.  And there were a lot of APIs so you get the data from this and there.  For example the motorbikes and they have a special database for it and they support Python  module Sats which was really helpful for us and I just recommend to look into it.  It's a good thing.  Here comes the other part, it's image cropping.  So there is a Plone product for image cropping but it's not migrated for Plone 5.  So it was difficult because we needed a cropping tool and then we had to thought about it,  can we rank great it or do we some something else and this was very difficult to migrate  it.  And we looked into the code and see what did they and what can we do.  So they used the cropper as a jQuery application and built it like the same way more easily  so you don't have all the functionality but it's a good first step to using cropping in  Plone 5 and maybe this is the thing we can put into the community.  Next thing is the SEO optimizer.  It's a thing from Quintar groups and it's also a product which is not migrated yet and  this one of our most likely products, like we use it on every page because you can edit  the metadata and it's very good for SEO optimization of course and we had to do there something  different too, create something different and we did it with the rules and the rules  XML from Diazo.  So we put our metadata somewhere in the content and it just replaced it on the same page.  So it's really a small thing but you can do a lot of it with it so we would love to get  this migrated too.  And the third thing is it's a Plone form gen.  It's based on archetypes so it's like not for Plone 5 but what I've heard now from the  last keynote there is collective easy forms so we should definitely look into that.  Now we use the Plone form gen but the collective easy forms is also dexterity so there's a  good solution for that.  But these are our main things we want on our page because it gives us a good amount of  editable stuff and it's just from Plone so you can just install it and it works.  And then there's the Plone app testing so you have everything to test like white box,  black box acceptance test which you need to get a secure feeling about your page and it's  all in Plone app testing there so it's all that we need.  It was very good.  Also the documentation there's things so it's automated.  You can create an RST file and it just generates you the whole documentation so this was really  helpful for us.  So in general when I list up the pros and the cons in Plone 5 now we have a good looking  interface in the backend for an easy integration in Diazo.  We have an interactive editing backend so there's all JavaScript implemented so you  can do everything on one page.  Of course the ZODB is an object oriented database which is very secure and also the  security on the application level for example the workflows you can just type in a URL and  it works for you.  It's on the lowest level.  There's security for you so nobody can do things with no permission.  It's infinitely extendable with ZEO cluster so it's not that the page can grow as much  as it wants.  You can build up and any more clients and do it with a load balancer.  It helps us really much to get every big site running.  And of course there's Plone app testing, Plone app caching, swings and so on which helps  us a lot.  On the cons side as I mentioned there are just a little amount of extensions that are  already migrated for Plone 5.  Like I said the SEO optimizer, the cropping tool or Plone Form Band but I put this back  it's easy forms we have to check out.  Now I want to throw the question in the round what do you think was it a good choice to use  Plone?  You just have to stand up and say something.  Yeah?  What was your traffic numbers?  Were your content editors happy using the features of Plone to put in all the information  about the motorbikes?  How was your project received at the client?  The project has received very good so you can do a lot with for example Varnish or something  to get the good performance.  So this was a good part.  So it doesn't, yeah, it doesn't, I don't know how to say that, it doesn't exit on the  speed.  This was not a problem for us.  Did you start the project?  You did it in October?  Yeah right.  This was a really short project but there's another, there are other sites on Suzuki we  had this earlier so and the tide system went further, further back with other pages like  it started in Plone 4 for us.  So this motor site was like I think four months ago.  There's a lot of experience or connection with the community or knowing what's going  on or worked a long time already with Plone.  Yeah?  So in the generation there's some very good modules for those, EAPF for example.  The feed stuff you, I know it's still archetype but I know we created it for eight years ago,  products feed feeder, that does it but it's archetypes are not dexterity so that might  work.  Okay.  Image cropping was made available for Plone 5 in March 2016.  Okay.  So there's a lot of things that I think, okay.  Well, the, of course it's not critical.  I'm looking back at myself like wait a minute, you're doing all this stuff when I know that  a large part of these modules have been created for Plone 5 so that's something we really  have to fix because a lot of, maybe it could make it easier for you partly to have a part  of this functionality already gated to you by using the upgraded module if you had known  it existed.  Yeah, okay.  Yeah, maybe that's what's the thing.  Yeah.  So I'm curious other than, so I don't know what else the website does other than serve  pictures and brochures of the product for example but do you, is there an online quoting  system?  Is there sort of a contact?  Like if somebody's interested in a particular motorbike, do they interact with the site  more to get more information?  Do you do ordering?  Can somebody buy a motorbike through the site?  So you can order, so in the future there will be a functionality to order, not to buy a  motorbike but you can order a test drive and so there's a form where you search your motorbike  and it shows you okay, 10 kilometers from here now it's in this shop and you can try  it out for like one week and you fill out the form and then yeah it goes into buying  here.  So did they add all the product data themselves kind of manually then?  Like as a content type, how was that handled?  Sorry, please.  They went in and added all the product data like for each buying code.  So there's an API, so they have a database, it's called the PDB and there where all the  motorbikes data came from.  So we used this Python module Sats and created this as a plain content type but automatically.  So we have the Chrome job which runs nightly and create the new motorbikes.  Okay and thank you very much.
Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_0_71.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_72_119.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_120_167.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_168_383.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_384_443.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_444_1727.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_1728_2111.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_2112_3371.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_3372_3743.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_3744_5423.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_5424_7595.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_7596_7715.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_7716_8531.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_8532_8759.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_8760_10259.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_10260_11603.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_11604_11975.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_11976_12095.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_12096_13463.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_13464_13583.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_13584_14795.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_14796_18179.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_18180_19019.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_19020_19115.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_19116_21527.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_21528_27779.png Day_2__Is_Plone_a_Good_Choice_for_Large_B2C_Websit_2M9KhOenJFc_27780_27813.png