Your Plone [Intranet] in a Box™
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
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 | 10.5446/54794 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache | ||
Produktionsjahr | 2020 |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
|
Plone Conference 202013 / 72
1
3
6
9
13
14
18
23
34
35
39
40
43
46
50
51
56
58
60
63
66
71
00:00
WhiteboardIntranetEbeneContent ManagementUnternehmensarchitekturOpen SourceProjektive EbeneQuaderMultiplikationsoperatorWeb SiteMereologieSoftwareentwicklerHybridrechnerGruppe <Mathematik>Mixed RealityIntranetDifferentePlastikkarteProgrammiergerätInhalt <Mathematik>SpeicherabzugGrundraumKlon <Mathematik>Wort <Informatik>Computeranimation
02:49
Web SiteKollaboration <Informatik>MAPIntranetLipschitz-StetigkeitWellenpaketBenutzerbeteiligungIntranetSystemplattformComputeranimation
03:24
DatenverwaltungKollaboration <Informatik>IntranetWeb-SeiteDatenstrukturBildschirmmaskeServerCloud ComputingEbeneVirtuelle MaschineSkriptspracheKeller <Informatik>SpezialrechnerService providerIntranetComputersicherheitApp <Programm>BitWeb SiteKollaboration <Informatik>VersionsverwaltungMustererkennungSystemplattformFunktionalMomentenproblemTermUnternehmensarchitekturProzess <Informatik>DifferenteSoftwareWeb-SeiteModulare ProgrammierungCloud ComputingInternetworkingCASE <Informatik>HalbleiterspeicherAutomatische HandlungsplanungQuaderGrundraumElektronisches ForumVirtuelle MaschineService providerBildgebendes VerfahrenInstantiierungWort <Informatik>Komplex <Algebra>DatenstrukturInhalt <Mathematik>Klon <Mathematik>DatenverwaltungInformationMereologieAggregatzustandSchnitt <Mathematik>Repository <Informatik>ServerDemo <Programm>Mini-DiscLeistung <Physik>BildschirmmaskeInstallation <Informatik>WellenpaketEinsRechter WinkelSoftwarewartungNeuroinformatikZweiHyperbelverfahrenComputeranimation
10:49
ServerCloud ComputingEbeneProzess <Informatik>IntranetComputerCoxeter-GruppeInstallation <Informatik>Web SiteDemo <Programm>Virtuelle RealitätVirtuelle MaschineLastAttributierte GrammatikInformationsspeicherungDefaultVirtueller ServerInstantiierungGruppentheorieSQL Serverp-BlockZeitzoneUniversal product codeSpezialrechnerSLAM-VerfahrenSmith-DiagrammSummierbarkeitAdressraumDokumentenverwaltungssystemRechnernetzSpielkonsoleRückkopplungInformationKorrelationWechselseitige InformationEindringerkennungPhysikalisches SystemKonfigurationsraumOperations ResearchOnline-KatalogRMIModemBefehlsprozessorROM <Informatik>TypentheorieDatentypDatenverwaltungOffene MengeKonfiguration <Informatik>IdentitätsverwaltungStandortbezogener DienstVolumenChiffrierungInklusion <Mathematik>QuellcodeSchlussregelGruppe <Mathematik>Web-SeiteSpannweite <Stochastik>ComputersicherheitSpieltheorieIn-System-ProgrammierungBrowserMooresches GesetzInstantiierungKonfigurationsraumWeb-SeiteInformationQuaderServerTypentheorieRepository <Informatik>ResultanteDichte <Stochastik>Freie GruppeAuswahlaxiomTermRechter WinkelTrennschärfe <Statistik>Virtuelle MaschinePartitionsfunktionBildgebendes VerfahrenBitComputersicherheitLokales MinimumWeb SiteWechselseitige InformationMini-DiscFirewallCASE <Informatik>SoftwareDefaultMultiplikationsoperatorHalbleiterspeicherBefehlsprozessorGruppe <Mathematik>SchnelltasteQuick-SortAutomatische HandlungsplanungLeistung <Physik>BandmatrixInformationsspeicherungKlon <Mathematik>Computeranimation
14:32
InstantiierungDatentypSchlussregelE-MailGruppentheorieDemo <Programm>ZehnPublic-Key-KryptosystemElektronische PublikationServerTypentheorieInstantiierungQuaderCASE <Informatik>PunktProgramm/QuellcodeComputeranimation
15:11
Lokales MinimumSichtenkonzeptInstantiierungSpezialrechnerSoftware Development KitRückkopplungOrakel <Informatik>Summierbarkeitp-BlockAdressraumComputersicherheitProzess <Informatik>AggregatzustandInstantiierungCoxeter-GruppeLesezeichen <Internet>Gruppe <Mathematik>Programm/QuellcodeComputeranimation
16:02
BootenViewerDateiformatBildschirmmaskeActive DirectoryWeb SiteWeb SiteInstantiierungCloud ComputingVirtuelle MaschineDatenstrukturQuaderInhalt <Mathematik>Dichte <Stochastik>Plug inKlon <Mathematik>ThumbnailWort <Informatik>Physikalisches SystemMereologieProgrammierungKomplex <Algebra>Web-SeiteGamecontrollerTexteditorViewerVerzeichnisdienstBootenInstallation <Informatik>Klassische PhysikAuthentifikationSelbst organisierendes SystemBildschirmmaskeMultiplikationsoperatorLoginVirtualisierungZentralisatorMosaicing <Bildverarbeitung>Computeranimation
18:02
SoftwaretestE-MailService providerPasswortMathematikLoginWurzel <Mathematik>Digitales ZertifikatInstallation <Informatik>DatenmodellComputersicherheitGruppentheorieActive DirectoryMaßstabDatenverwaltungSpeicherabzugWellenlehreRobotikRoboterSoftwaretestPunktQuaderTermt-TestWiderspruchsfreiheitMereologieService providerDifferenteSpeicherabzugBitMomentenproblemComputersicherheitWeb SiteInhalt <Mathematik>RobotikInstantiierungZentralisatorCASE <Informatik>DatenverwaltungSelbst organisierendes SystemEndliche ModelltheorieVerzeichnisdienstPhysikalisches SystemAuthentifikationClientDienst <Informatik>VererbungshierarchieSystemverwaltungWeb logServerKlon <Mathematik>Content ManagementWellenlehreDemo <Programm>Web-SeiteMailing-ListeE-MailGruppentheorieInformationZentrische StreckungAutomatische HandlungsplanungElektronisches ForumComputeranimation
22:36
InformationsmanagementComputersicherheitInstantiierungAdressraumSummierbarkeitTablet PCRückkopplungDatentypp-BlockSpezialrechnerInformationSichtenkonzeptHecke-OperatorRechnernetzDigitalfilterKontinuumshypotheseATMVersionsverwaltungWeb SitePasswortPlastikkarteEbeneDatenverwaltungEbener GraphEreignishorizontDatenfeldAggregatzustandNetzadresseKlon <Mathematik>Web SiteBildgebendes VerfahrenQuaderBitBrowserInhalt <Mathematik>AdditionComputersicherheitComputeranimationXML
23:39
ZoomEbeneDatenfeldElektronischer ProgrammführerDemo <Programm>EreignishorizontPROMVersionsverwaltungKonfigurationsraumServerElektronische PublikationSpezialrechnerAbfrageInhalt <Mathematik>TypentheorieBrowserCodeWeb-SeiteComputersicherheitSelbst organisierendes SystemAggregatzustandIntranetExtranetWeb SiteDefaultPasswortComputersicherheitObjektorientierte ProgrammierspracheWeb SiteElektronische PublikationCodeKollaboration <Informatik>DatenstrukturIntranetWeb-SeiteTypentheorieInhalt <Mathematik>InformationSelbst organisierendes SystemContent ManagementAggregatzustandCASE <Informatik>GruppenoperationWeb logInformationsspeicherungDigitale PhotographieDefaultSpeicherabzugTabellenkalkulationDifferenteNavigierenNeuroinformatikExtranetVerschlingungBildgebendes VerfahrenQuaderAbfrageEreignishorizontKlon <Mathematik>MomentenproblemDatenfeldPhysikalisches SystemArithmetisches MittelRechenwerkBrowserBildschirmmaskeSchlüsselverwaltungBitSchnittmengeWellenpaketZahlenbereichFlussdiagrammComputeranimation
29:40
DatenstrukturKollaboration <Informatik>SichtenkonzeptGanze FunktionWeb SiteIntranetDefaultExtranetMathematikInhalt <Mathematik>LoginMagnettrommelspeicherInformationGerade ZahlElektronische PublikationVerschlingungWeb-SeiteTypentheorieStrom <Mathematik>SpezialrechnerEreignishorizontDemo <Programm>DatenfeldElektronischer ProgrammführerAggregatzustandEinfache GenauigkeitContent SyndicationInnerer PunktElastische DeformationMaßstabBildschirmmaskeGruppenoperationRegistrierung <Bildverarbeitung>Prozess <Informatik>ExtranetWeb-SeiteDefaultKlon <Mathematik>Inhalt <Mathematik>InformationUmwandlungsenthalpieGemeinsamer SpeicherInternetworkingQuaderWeb SiteNatürliche ZahlMultiplikationsoperatorComputersicherheitRegistrierung <Bildverarbeitung>GruppentheorieBildschirmmaskeIntranetKollaboration <Informatik>TypentheorieHybridrechnerDichte <Stochastik>ThumbnailDeskriptive StatistikClientDatenfeldMixed RealityPhysikalisches SystemAggregatzustandGruppenoperationProzess <Informatik>MaßerweiterungE-MailGrundraumBeobachtungsstudieKartesische KoordinatenWorkstation <Musikinstrument>DatenstrukturDifferenteOffice-PaketCASE <Informatik>t-TestWellenpaketViewerGanze FunktionKlasse <Mathematik>SichtenkonzeptBenutzerbeteiligungProgrammierungAutomatische HandlungsplanungComputeranimation
35:33
BildschirmmaskeTypentheorieInhalt <Mathematik>Prozess <Informatik>SimulationProgrammRankingGruppe <Mathematik>BeobachtungsstudieHill-DifferentialgleichungFakultät <Mathematik>SkalierbarkeitServerCDN-NetzwerkCloud ComputingDatensicherungKreisbewegungUnternehmensarchitekturDatenbankInformationsspeicherungDienst <Informatik>ClientActive DirectoryAuthentifikationWeb SiteIntranetMaßstabElektronisches ForumVollständiger VerbandVersionsverwaltungQuellcodeWeb SiteOffice-PaketZentrische StreckungInternetworkingElektronisches ForumQuaderBandmatrixSelbst organisierendes SystemUmsetzung <Informatik>DatenverwaltungPhysikalisches SystemDatenparallelitätBitDifferenteServerBefehlsprozessorKomplex <Algebra>DateiverwaltungSchnittmengeDefaultInformationsspeicherungLastSystemplattformIntranetDatenbankBeanspruchungVersionsverwaltungClientComputerarchitekturMultiplikationsoperatorUnternehmensarchitekturRechenschieberWellenpaketKlon <Mathematik>VerfügbarkeitDatenreplikationComputeranimation
38:10
Cloud ComputingCOMEbeneZoomKlon <Mathematik>QuaderBildverstehenUMLBesprechung/Interview
38:49
Prozess <Informatik>BitKlon <Mathematik>Bildgebendes VerfahrenSkriptspracheVirtuelle MaschineAdressraumE-MailInstallation <Informatik>App <Programm>SoftwarewartungBesprechung/Interview
Transkript: Englisch(automatisch erzeugt)
00:01
And I believe that is good. So today, I am going to talk to you about the Plone intranet in a box. I have a trademark in the name, but the simple trademark. But it's actually not trademarked. It was kind of an in-joke.
00:21
As many of you know, I've been part of the Plone community for quite some time. I am director of engineering at Six Feet Up, which is a fantastic group of people, brilliant, smart programmers, really great company culture. It's been a pleasure to be at Six Feet Up. My history with Plone started in 2003.
00:42
I had been a programmer at the University of Wisconsin Oshkosh for a very short time, and I volunteered for a project that required creating a website for educators, a website that was a mix of public content and private. In other words, it required logging in so that certain
01:03
educators could have access to different portions of content on that site. So that was the beginning, really, of my introduction to actual intranets using Plone. My time at University of Wisconsin Oshkosh was about 12 years. And during that time, I was so in love with Plone,
01:23
I and a few others rolled out about 350 Plone sites on campus, including the main campus intranet using Plone. So I love helping people with technology. That's really my driving motivation for what I do.
01:43
It's been interesting to realize that. And so being able to be part of the Plone community and to be able to bring Plone to other users, to introduce Plone to others is something that I really enjoy. It's something that's essentially effortless for me because I really believe in Plone. Plone is really out of the box a fantastic tool.
02:04
It lets you do pretty much everything you need to do for a public-facing website. But as I mentioned before, it also lets you use Plone as a intranet or as a hybrid of public and private content. And of course, this year, as you've already seen,
02:23
there is so much excitement about Volto coming in Plone 6 while becoming part of core in Plone 6. And there's been some fantastic developments with Volto. I'm really looking forward to being able to use Volto in my projects and, of course, incorporating Volto in future talks
02:44
I hope to have about Plone as an intranet solution. So why did I start thinking that I should give this talk? I really have to pinch myself to think about this. Back in June at the Python web conference that we hosted, the 6 Feet Up hosted using the platform
03:03
we're using today, Loud Swarm, I gave a half-day training on how to set up a Plone intranet. And so I thought about it. And I realized that you can do this much faster than in half a day. In fact, how much more quickly can we do this in?
03:22
And so this really is the question I hope to be able to give you an answer to today. This is our Instant Pot, which, by the way, is a Canadian invention. Just thought I'd mention that. So Plone and intranets.
03:41
Plone's a really huge use case. And it's a quiet one. It's not a very widely advertised one. It is being used as an intranet solution. And as many of you know, the federal government of Brazil and state governments in Brazil, I
04:00
think the majority of communes in Belgium use Plone in sometimes very customized versions of Plone. But Plone is a huge intranet software tool. It's used at universities. It's used at corporations, very big, well-known corporations
04:20
we've heard of use Plone as intranets. And so let's talk about what makes Plone a great intranet. But really, first of all, let's think about what makes an intranet. An intranet is primarily about access management. First and foremost, an intranet means
04:41
that you give some people access and you don't give other people access. So really, it's about the security of the tool. You also, in an intranet, want to enable collaboration between teams and individuals. The collaboration will take place around documents.
05:01
So that's why I refer to that as a document-centric collaboration. And that can be web pages. That can be documents like PDFs, for example. And because you're working with teams, you want to organize your content in an efficient way. And so as you may know, Plone is highly
05:23
organizeable using folders and nested folders. So very complex folder structures are things that you can easily create with Plone. Once you have all this content in a Plone site or in an intranet, you need to be able to locate it. And so the ability to search for documents or information
05:42
that's stored in your intranet is really important. And then we also have found that intranets really benefit from the ability of letting people engage with them. In other words, essentially, a killer app for an intranet is the ability to create forms and to manipulate the form
06:03
data that comes back in so you can ask people for information in a structured way. And then probably the most important aspect of after you create an intranet is the continued use of the intranet. You want to engage your users so that they make it
06:20
a part of their daily business so that they keep coming back to it because they find it useful. And an easy way to make it useful is to give users some depending on how much, but you do want to give them the ability to customize their experience within an intranet.
06:42
What is Plone in a box? As many of my colleagues and as many of you know, I have a lot of ideas, and hopefully this is a good one. What I wanted to do is give everybody a really easy way to deploy a new Plone server. And that means not just going to a demo Plone site,
07:03
we have them. And I really think Philip and others who created the demo Plone site and maintain it, and there are other companies, Plone providers who maintain their own demo sites. But I'm talking about the ability for someone who's not a technical user to be able to come up to Plone
07:21
and find it really easy to have a Plone site of their own. And Plone in a box is something that will take a non-technical user anywhere between 2 and 15 minutes to set up a brand new Plone server running a recent version of Plone, in this case 5.2.2.
07:41
Sorry about that. There's a real problem with the person who's maintaining the Plone unified installer. So the two cloud providers that I want, well, there are three cloud providers I was originally intending to show you today for Plone in a box. Only two of them are ready. The third one I will talk a little bit more
08:01
about in a second. The first one is the Linode platform. As some of you may know, Linode is the cloud provider that we use for the Plone Foundation. So pretty much all of our servers run on Linodes. That'd be Plone.org, Plone.com, the docs,
08:22
the training, even the forum. It's inexpensive to get going. You can get Linodes running for about $5 a month and up. Obviously, the least expensive ones don't have as much memory or disk or computing power. But you can start as cheaply as $5 a month.
08:43
And your Plone in a box running on a Linode will take about 15 minutes to launch. And so I have instructions at this repo here. That you can take a look at later. But I hope to keep maintaining it and keep updating it.
09:01
And obviously, I'm going to encourage you to not just complain about it, but to help make it better by making pull requests. The other platform provider, cloud provider that we have Plone in a box working on is Amazon AWS. This is by far the largest, most established,
09:23
feature-rich cloud provider. There's so much functionality. It's kind of insane. Machine learning, tons of stuff. Image recognition, and so on. But you can get an Amazon AWS instance running for about $15 a month and up.
09:42
So it's a little bit more expensive. But in terms of the ability for you to keep running with a Plone site and to deploy it in sophisticated ways to support really large enterprises, Amazon AWS really is the place to go. A new Plone in a box will be ready in about three minutes.
10:02
And so that is the, and as we'll see in a moment, that is the platform I'm going to demonstrate Plone in a box today. DigitalOcean is the third one that I wanted to get going. But the process for being approved as a provider in its app marketplace
10:22
is a little bit longer. And so that will be coming soon. You could say that DigitalOcean is similar to Linode in terms of price. But also, DigitalOcean seems to have a better reputation in terms of the availability of different software packages in its app marketplace.
10:41
So that's coming soon. Right. Amazon AWS, very fast. So let's flip over to my browser, handily set up already. Here you can see the repo where I have some instructions on how to use Plone in a box.
11:04
The instructions, I decided to take a shortcut. You'll see the instructions are written using Dropbox paper. This is a tool that I've gotten to use a lot at Six but writing documentation is really easy in here.
11:21
And you can export it to PDF or to Markdown. But going back to Plone in a box, what you're going to want to do is create, if you don't already have one, an account at Amazon AWS. The information and screenshots, the step-by-step instructions are in my documentation.
11:40
But once you've created an account at AWS, you can run Plone in a box for free up to a year, depending on how much computing power you start using. But if you start with a small instance and you don't get greedy about it, you can run it for free for quite some time.
12:01
So once you are in your Amazon AWS console, you're going to want to go to your instances. And over in the corner here, I'm going to click Launch Instance.
12:23
Don't fail me now, demo. All right. And here, I'm going to type in Plone in a box. Oops, can't type. And you'll see there's two results. One is in the AWS marketplace.
12:40
That's not actually the one that I created but the one in the community, AMI. And AMI is an Amazon machine image. So you're going to want to click on that one. And that's your Plone in a box right here. And I'm going to click Select. You can leave the default choice here,
13:03
which is the type of instance that your machine, your instance will be in terms of power, CPU power, memory use, bandwidth, maximum storage. It's really a good tool for demoing a Plone site. Then you configure some instance details.
13:22
You can mostly ignore, pretty much you can ignore anything on this page. Go to Next. Here, by default, you're going to have a disk partition of 50 gigabytes. We're going to continue. If you have a lot of Amazon instances,
13:41
you're going to want to add some descriptors, so tags essentially, that tell you a little bit more about what each instance does or what kind of software is on it. I'm not going to this time. And then in your configuration for a security group, this is Amazon's. Essentially, this is a kind of firewall that you're setting around your instance.
14:01
And so you're always going to want to allow SSH into your server. But in case of Plone, for this Plone in a box, you're going to want to enable access to port 8080. As you may know, is the port that you can access your Plone site directly at. Now I'm going to choose Review and Launch.
14:23
And you can ignore warnings. I always ignore warnings. And so scroll down, blah, blah, blah. You can click the blue Launch button. At this point, Amazon requires you to download or to have a key pair file.
14:42
And that will be the tool. That's a file that will allow you to log into the server if you need to. And so it's something that I would recommend you do. In fact, I don't believe you can proceed without it. You can choose an existing key pair if you already have one. Or you can create a new key pair. If you create a new key pair, you're
15:01
asked to type in a name for it and then download it. In my case, I'm going to choose an existing key pair, which is my Plone in a box. And I'll launch the instance. OK. So while this is running, and as I mentioned before,
15:23
it should take a couple of minutes if that. We can click through to here and view the state of the instance. And so right now, it's showing here as pending. So it's in the process of being provisioned. So let's go back to our presentation.
15:44
By the way, this is one of my favorite skits on Saturday Night Live. It's Sean Connery appearing on Jeopardy. I would play the Jeopardy music, or I could hum it for you. Or some of you are really good at karaoke, I hear.
16:03
OK. So what's inside Plone in a box? Some well-known trusted add-ons. And I always like to install Document Viewer, which is a tool that lets you see the contents of a PDF. You can look through all the pages. You can see thumbnails of all the pages.
16:21
You can search within it. It's a really lovely tool for looking at PDFs and Word documents and so on. Collective Easyform is the tool that we all use now for creating editable forms in Plone. The LDAP plug-in, which lets you connect your Plone site
16:41
to centralized authentication systems, really useful if you're part of a large organization and you don't want to recreate logins in your Plone site. You can just connect to your Active Directory authentication system. And yes, OK, I'm still going to keep talking about Mosaic.
17:01
This is still a wonderful tool in Plone Classic. And Mosaic is what lets you create editable layouts. Very beautiful, flexible, easy to manipulate layouts that are in the control of your editors. So no programming required. And then Lineage, which is the tool that Six Feet Up created
17:23
a long time ago to allow you to create sub-sites within one Plone site. And so it's a tool that's used at a lot of institutions that have a, you could say, a complex organizational structure. Teams, colleges, departments, each can have their own sub-site.
17:41
It looks like a site, but it's really part of one Plone site. And the other main feature of Plone in a Box is that when you reboot your cloud instance, your cloud virtual machine, Plone will start at boot time. It doesn't sound terribly interesting, but it's something that's useful.
18:03
So this is my son going for a test drive of his car. He's learning to drive. I'll let you know when he's on the road so that you don't happen to be anywhere nearby when he's out driving. But so my point here is really that Plone in a Box
18:21
is meant for test driving. It's not locked down. It's not secured. It does not send out email. All of these things are things that you can do relatively easily. If you're handy, which you don't have to be, but if you're not and you want to, please ask a Plone provider.
18:41
There's a whole bunch of them listed at Plone.com. It's fantastic to see so many of them get added to that list. They're willing to help you. And of course, you can get community support in the forum, for example. But just again, to reiterate that Plone in a Box really is for you to get a Plone server and a Plone site
19:02
running so you can start playing with it. Don't depend on it yet for any secure or confidential information, but it can easily be done. So let's talk about what makes Plone a great intranet.
19:21
Plone has this fantastic security model that is fine-grained. And I have not encountered a situation in which it was not possible to use Plone's security model to secure content in a way that a client needed. The security model in Plone comes down
19:41
to users and groups, so we create accounts for people. We can assign those accounts to groups. And you can assign permissions and roles to either users or to groups. This means that you can do super large-scale access management in a way that doesn't overwhelm system
20:01
administrators. And as I mentioned before, you can connect your Plone site to Active Directory or LDAP systems in case you have a large organization that is already using a centralized authentication service. The other aspect of Plone that makes it real secure is that workflow is a core feature of Plone.
20:23
A lot of other CMSs, I believe, do have a kind of workflow that is addable to their core, but it's never been part of core the way that it has been for Plone. This means that your security really is baked into Plone, and it means that once you've configured it,
20:42
you know it's going to be applied consistently. And so there was a little side story. The robotics team that my son is a part of used to have a functional-looking website in terms of what the public would see, but the team, the mentors, were
21:03
terrified of allowing their students to have access to the website to edit content or to add content. And so when I showed up, of course, I mentioned Plone. And I started on my little spiel. I was giving a bit of a demo. And essentially, the moment I said, oh,
21:21
and you have to log in so that you can do anything, and then you can grant different kinds of permission to different user accounts, like a student wouldn't be able to edit the front page, for example. The person who I was demoing this to basically said, OK, we need this.
21:41
And it was really like, what? I have this whole spiel I'm going to go into, and yet you've just stopped me. I don't understand. But anyway, so that's really a major selling point that surprised me. And I think it still surprises us who are familiar with Plone, who have worked with Plone for so long, that other CMSs just don't have that kind of security.
22:03
So this is the website that I ended up creating for the Wave Robotics team using Plone. And in fact, some of the students who are on the marketing sub-team have accounts, and they can go and create news items. They can create blog posts.
22:21
They can't publish them, but they actually have the ability to add content and have it reviewed for later. So this old saying, a watched pot never boils. So let's flip back to see what's going on with our instance. And it is running. And you can see down here the state that it's running.
22:44
And we have the IP address, which I will copy. And I will open up a new tab, and I will go to port 8080. Oh, yes, of course. Well, Firefox is handy this way in that it warns you
23:03
that you're about to go to an HTTP site. It's OK to continue. And here's our running Plone site. So I think it was just a little bit over a couple of minutes, but it's running. So that's your Plone in a box. I will log in.
23:22
Actually, I will first view the site. And this is a basic Plone site. There's a bit of additional content that I added to the image. But otherwise, it's a vanilla Plone site. And if I log in with our usual high security username
23:42
and password, oops, can I type that? And here we go. Let me see if I can move this out of the way here. Sorry. So we have a Plone site. And it is running Plone 523 in this case.
24:05
If I scroll down, you can see here Plone 523 on Python 3.8. So there's our Plone in a box running. And it took under five minutes for sure.
24:21
So we talked about the importance of collaboration around documents, document centric collaboration. What is the kind of information that you can store in a Plone site? Well, you can store pages. You can store files. That's PDFs worth Excel spreadsheets and so on.
24:41
You can store images and photos. And you can create news items in case you want to make essentially a blog. Or you can create calendar events. Some of these calendar events can get quite sophisticated in customized Plone solutions. More about that in a moment. But there's also this really interesting tool,
25:02
the collections, which anyone who's been using Plone for a while will know are essentially reusable queries. These are things that allow you to retrieve information in your Plone site or your intranet in ways that are relevant to different kinds of users. So essentially, they're canned queries
25:21
that you can place on pages so that people can get access to and can see the information that's useful to them. And of course, you can create your own content types. You can, by content types, I mean, of course, the structured information that represents a unit of information, a document,
25:42
with essentially form fields. And you can do that using just your web browser or in Python code. So the documents that we're talking about are all these types. And we can also organize the content very nicely with Plone
26:01
with its folder structures, folders, and nested folders. Surprisingly, this is not a feature of other content management systems. In systems like WordPress, for example, you create all your pages and your documents essentially into a big bucket.
26:20
And then you have to make a kind of navigational structure that really does not reflect the organization of the information. It's just one big bucket. And Plone, of course, is quite different in that respect. It's a surprise to me still because folders are how we organize information in computers.
26:42
So again, it's surprising to me that content management systems don't all use folders for organizing their content. And then when you have these folders set up, and if you can imagine a folder being something that a team would be using to collaborate, you want to be able to grant a different kind of security
27:03
on that folder. And so this can be where Plone workflow comes in, where you can indicate that a folder is in the private state, in which case it's not visible to anybody else, and certainly not to the public,
27:20
to anybody who's not logged in. But you can also transition a folder or a page, for example, to a published state with intermediate states along the way if you need them. So a Plone workflow, this default Plone workflow, is that an item starts off in the private state at the top
27:42
here and then can be submitted for review and then can eventually be published if it's approved. Again, a key concept of Plone that is so powerful and yet is not found in other content management systems in their core.
28:05
I'm going to skip a little bit about some of the details, but Plone workflows can be customized. You can build your own. Everything in Plone comes with a workflow attached to it, every content type.
28:22
Some of the default content types that we just talked about, the simple publication workflow, which is the default one, but this other one, the intranet, extranet workflow is the one that really is what can make your Plone site an intranet in a very small number of steps.
28:41
An intranet, extranet workflow has an additional internally published set of states. And then only if you really want something to be visible to the public, would you push it to the externally visible state. And with Plone, as you may have guessed,
29:02
you can create your own custom workflows. And in fact, there's a whole training that I helped create in the training link will be following shortly. When you create your custom workflows, or if you use one of these included workflows, how do you use them actually to secure your intranet?
29:24
What you do is you can apply a content type, you can apply a workflow to a particular content type, and you can apply a workflow to a folder. That's what in Plone we call the place for workflow feature.
29:41
So an example folder structure could look like this, where you have a couple of folders at the very top, a public or a public folder and an intranet folder. And then within each of these folders, you can have nested folders. And in this case, you would have a team's folder with individual folders for individual teams.
30:02
And each one of those folders is something that you can grant a specific kind of access to so that a member of team one can view and edit the contents of their folder, but can't view the contents of team two folder and vice versa. And same for clients,
30:21
you could make your intranet available to clients as well, where they would have to log in, but they would have access only to the folders that you granted them access to. So that kind of collaboration is enabled with folders, which you can consider to be workspaces.
30:40
And there's two different ways that you can use to grant that kind of security on a particular folder. And the most commonly used one is the sharing tab, the sharing button, which you can use to look up groups or users and give them access to a portion of the site, to a folder or to an item,
31:00
or you can set a place full workflow policy, which unfortunately, because of the short nature of this talk and time is flying, I'm not gonna be able to show you. But you can turn your entire plan site into an intranet by changing the site's default workflow. So the workflow to the intranet extranet workflow.
31:25
And just to be able to show you in your plan site, your plan in a box, you can see here this control panel that shows the default workflow for your site. And that is the simple publication workflow,
31:43
which is the default one. But if you change it to intranet extranet workflow, then this will essentially turn, excuse me, your plan site into an intranet. By the way, I want to show you while I'm here,
32:02
what that document viewer tool looks like. You can see this is a PDF that I uploaded and you can navigate through the pages, but you can also see thumbnails and you can see the text on each page.
32:26
So if you want to, excuse me, you can easily turn your plan site into an intranet, or you can make it a hybrid, which is to mix public content, public folders with private content or private folders.
32:43
So how does anybody find what they're looking for in a plan site? The built-in search is awesome. It's something that just comes with plan and it's something that isn't in a lot of other systems. Finding information in Plone is dead easy from the get-go.
33:02
Anything that you want to search for, it can be found if it's in the title, the description or the keywords or in the body of a page, for example. And you can, of course, customize search to make content types searchable even if you add custom fields. And you can extend Plone search capabilities
33:22
and make it fast even though you have millions of items that you want to search through. The killer feature that I talked about for a lot of Plone sites, for the users that I've worked with at the university and other places, other clients, is the ability to make forms.
33:41
I'm sorry I don't have time today to show you in detail how that works, but you can also see an example, a talk by Annette Lewis and Janine Donnelly on their experience using Plone for hosting multi-conferences where we made custom content types that were essentially conferences.
34:05
And then within it, within a conference, we had a whole bunch of registration forms and forms that could ask people for information and retrieve it and then export it to CSV, for example, and do custom things like send out emails and create other content within the site.
34:26
And another novel way of using Plone security, of using Plone workflow and forms is the concept of workflow applications, which I won't get into too much detail here, but essentially you can view it as a way to replace a paper process
34:43
in which somebody fills out a piece of paper and has to mail it from station to station and have a person look at it and approve it and then move it on to the next state. At the university here, we created a workflow application like that for the Office of International Education,
35:00
which took a paper-based process like that for study abroad students and replaced it entirely with a Plone site with a form, a content type and workflow, which had about 26 different states and many transitions between them and saved at least half a full-time person per year since 2008.
35:21
And that's a pretty significant saving. So if you need to take a look at how you can do some of that yourself through the web without any programming required, you can take a look at this training class. This is the Office of International Education's site. OK, geek speak coming up.
35:43
We have a little bit of nerd alert happening here. What I wanted to say is what are the things that you could consider doing when you want to deploy your Plone intranet in a box to scale for a large enterprise?
36:01
Once you want to make it available for many users to log in at the same time, you start having to look at some of the different capabilities in Plone for making it manage lots of CPU load and lots of concurrent use and lots of bandwidth and storage requirements. And so I won't get into too much detail here,
36:20
but you do have this slide so that you can refer back to it. But there's a lot that you can do to improve the Plone in the Box default installation. And then once you're ready to move it to, say, a large set of servers or a complex orchestration of different servers, it's easier to do this on a platform like Amazon AWS.
36:46
You can there's a whole bunch of different tools in Amazon AWS, including this version of Postgres database with high replication, high availability, the ability for you to store your documents, your PDFs into Amazon S3 for bulk file storage
37:03
and deploy as many containers of Plone clients as you need to scale up to handle significant or spikes in workload. And a lot of this is covered in Calvin Hendricks Parker's talk running Plone on AWS.
37:21
And here's an example architecture, system architecture for deploying Plone on Amazon AWS. So in summary, Plone in a Box lets you get a Plone site up and running in minutes. It's a ready to go. Plone is a ready to go Internet solution and Plone can scale for large organization.
37:44
It can and it does scale for large organizations. Your next steps would be to keep learning about Plone, see the documentation, you can take some Plone training, join the Plone forum and join the conversation. Let us know how you'd like to use Plone.
38:02
And there is a very interesting Plone based social Internet solution from Quave that you might want to look at. And if you have any questions, please ask me. I love to talk to people about how they are using Plone or what their needs are. And it's been a joy for me to be able to show you this.
38:21
I hope you'll enjoy trying out Plone in a Box. Thank you, Kim. We have one question from Juan Luis Tavares back from the south of Brazil. Great, great guy. He wants to know about deploying on digital vision.
38:41
You mentioned in the beginning, I know what's happening, but could you repeat what are the next steps? Right, when I created the Amazon machine image for AWS, it really was entirely self-serve. I could publish it, make it available for the public
39:01
to search for and find and use. And it was the same when I did the same for Linode. Essentially, with Linode, the deployment process takes a little bit longer because it's running a script that downloads the Plone unified installer and then runs it. But publishing that stack script was also self-service.
39:22
There was nothing I needed to do to get approval. DigitalOcean is maybe rightfully so, a little bit more careful about what they allow to have visible in their community app marketplace. And so they required me to have an interview basically with one of their team members
39:42
to demonstrate that I'm not some kind of freak. Well, a little dizzy, no, but that I was actually planning to deploy something that is viable, that is legitimate and is useful. And so I did go through that interview process. I have partial approval to proceed. There's a bunch of more documentation we need to provide.
40:02
We need to actually form a team and provide some names and email addresses of people who will together be maintainers for this.