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

Easy Online Business Processes with Plone Forms and Workflow

00:00

Formale Metadaten

Titel
Easy Online Business Processes with Plone Forms and Workflow
Untertitel
for Make Benefit Glorious Nation of Canuckistan
Serientitel
Anzahl der Teile
45
Autor
Lizenz
CC-Namensnennung - keine kommerzielle Nutzung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen 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
ProduktionsortBristol, UK

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
The talk was about some use cases where Plone proved to be effective in reducing costs, time and frustration when used as a solution to replace paper forms, for example in Universities.
Prozess <Informatik>Geflecht <Mathematik>VorhersagbarkeitRechenschieberGrundraumRechter WinkelSpeicherabzugVorlesung/KonferenzBesprechung/Interview
Prozess <Informatik>UnrundheitMaßerweiterungBildschirmmaskeGeometrische FrustrationGrundraumVorlesung/Konferenz
Prozess <Informatik>BildschirmmaskeNormalvektorE-MailBildschirmmaskeGrundraumObjekt <Kategorie>Prozess <Informatik>WhiteboardMailing-ListeInformationE-MailVorlesung/KonferenzBesprechung/Interview
CASE <Informatik>BildschirmmaskeTelekommunikationGrundraumSelbst organisierendes SystemMultiplikationsoperatorStabBesprechung/Interview
Prozess <Informatik>PROMFehlermeldungGeometrische FrustrationMultiplikationsoperatorBildschirmmaskeElektronische PublikationURLInformationGeometrische FrustrationGruppenoperationGemeinsamer SpeicherHecke-OperatorTotal <Mathematik>Ontologie <Wissensverarbeitung>Automatische HandlungsplanungAdditionUnrundheitVorlesung/KonferenzBesprechung/Interview
Produkt <Mathematik>Singularität <Mathematik>DrucksondierungTemplateAdditionDatenverwaltungGruppenoperationE-MailOntologie <Wissensverarbeitung>DatenfeldVorlesung/Konferenz
DatenfeldAdressraumE-MailAttributierte GrammatikDefaultMarketinginformationssystemBildschirmmaskeAutomatische HandlungsplanungProzess <Informatik>SoftwareentwicklerTropfenDatenfeldVorlesung/Konferenz
Objekt <Kategorie>DatenfeldPunktBildschirmmaskeObjekt <Kategorie>CASE <Informatik>Inhalt <Mathematik>Vorlesung/Konferenz
Objekt <Kategorie>Objekt <Kategorie>BenutzerbeteiligungInhalt <Mathematik>EindeutigkeitTypentheorieCodierungBildschirmmaskeGrundraumVorlesung/Konferenz
BenutzerbeteiligungTrennschärfe <Statistik>DatenfeldAuswahlaxiomMailing-ListeDatenverwaltungMultiplikationAutomatische Handlungsplanung
Ein-AusgabeDatensatzDatenfeldZahlenbereichSchnittmengeE-MailLokales MinimumBildschirmmaskeDatenverwaltungProzess <Informatik>AdressraumDatenflussHecke-OperatorBesprechung/Interview
Spitze <Mathematik>Wurm <Informatik>MAPProzess <Informatik>Leistung <Physik>MereologieBitVorlesung/Konferenz
AggregatzustandKonvexe HülleDiagrammAdditionDatenflussBitWeb SiteAggregatzustandGruppenoperationDiagrammBenutzeroberflächeBildschirmmaskeGraphServerKomplex <Algebra>Datenverwaltungt-TestVorlesung/Konferenz
GruppenoperationComputersicherheitDatenverwaltungDatenflussGruppenoperationMereologieE-MailEinsBesprechung/Interview
Snake <Bildverarbeitung>Geflecht <Mathematik>Cantor-DiskontinuumE-MailBenutzeroberflächeMessage-PassingGruppenoperationArithmetischer AusdruckVorlesung/Konferenz
ComputersicherheitPunktspektrumDatenverwaltungComputersicherheitProzess <Informatik>Endliche ModelltheorieSchlussregelBesprechung/Interview
ComputersicherheitBenutzeroberflächeDifferenteBitSchlussregelAggregatzustandKlon <Mathematik>Automatische HandlungsplanungTropfenMultiplikationsoperatorSoftwaretestGruppenoperationQuadert-TestObjekt <Kategorie>AdditionVorlesung/Konferenz
E-MailRegulärer Ausdruck <Textverarbeitung>Web-SeiteInhalt <Mathematik>DatentypLeistung <Physik>Arithmetischer AusdruckAbstandSichtenkonzeptDatenflussProzess <Informatik>BitTemplateAutomatische HandlungsplanungQuick-SortInformationBitrateWeb SiteKonditionszahlData Envelopment AnalysisOnline-KatalogBildschirmmaskeObjekt <Kategorie>E-MailAbfrageVorlesung/Konferenz
Prozess <Informatik>SichtenkonzeptArithmetische FolgeInhalt <Mathematik>Vorlesung/Konferenz
DatensichtgerätInhalt <Mathematik>Automatische IndexierungOnline-KatalogMailing-ListeKomplex <Algebra>BitAutomatische IndexierungAttributierte GrammatikObjekt <Kategorie>Prozess <Informatik>Online-KatalogWeb SiteSchnittmengeSkriptspracheBildschirmmaskeDatenfeldTypentheorieVorlesung/Konferenz
PunktBitBildschirmmaskeDatenfeldQuaderBesprechung/Interview
PortletDatensichtgerätHilfesystemVerschlingungGruppenoperationDifferenteBildschirmmaskeUmwandlungsenthalpieWeb-SeiteHydrostatikRechter WinkelPortletBesprechung/Interview
Klon <Mathematik>TypentheorieBildschirmmaskeBitrateMinimumWeb SiteObjekt <Kategorie>Office-PaketZahlenbereichRechter WinkelE-MailRegulärer GraphWeb-SeiteDatensichtgerätEinsVorlesung/KonferenzBesprechung/Interview
E-MailObjekt <Kategorie>Office-PaketGruppenoperationVerkehrsinformationTechnische OptikVorlesung/Konferenz
Atomarität <Informatik>Objekt <Kategorie>GruppenoperationMenütechnikAggregatzustandTropfenVorlesung/Konferenz
Wechselseitige InformationNormierter RaumIRIS-TBitObjekt <Kategorie>GrundraumBildschirmmaskeMechanismus-Design-TheorieDatenflussVerschlingungDifferenteLanding PageGüte der AnpassungPhysikalisches SystemPerspektiveVorlesung/Konferenz
Web-SeiteDifferenteWeb SiteLanding PagePhysikalisches SystemBildschirmmaskeProzess <Informatik>Güte der AnpassungCASE <Informatik>WellenpaketArithmetisches MittelWeb-SeiteVorlesung/Konferenz
E-MailBildschirmmaskeHilfesystemt-TestDifferenteOffice-PaketInklusion <Mathematik>TouchscreenVorlesung/KonferenzBesprechung/Interview
E-Mailt-TestBeobachtungsstudieOffice-PaketDivisionInformationHasard <Digitaltechnik>Total <Mathematik>Office-PaketGrundraumStabsinc-FunktionAggregatzustandProgrammierungKartesische KoordinatenE-Mailt-TestBeobachtungsstudieInformationReelle ZahlVorzeichen <Mathematik>PunktKlasse <Mathematik>DämpfungQuick-SortVorlesung/KonferenzBesprechung/Interview
BitKlasse <Mathematik>VerschlingungQuick-SortVollständiger VerbandBildschirmmasket-TestE-MailOffice-PaketInformationInhalt <Mathematik>DatenflussDatenfeld
E-MailDivisiont-TestBildschirmmaskeBitKartesische KoordinatenBeanspruchungProzess <Informatik>Rechter WinkelRückkopplungArithmetische FolgeRechenschieberMultiplikationsoperatorOffice-PaketProjektive EbeneVorlesung/Konferenz
WhiteboardZweiArithmetische FolgeBildschirmmaskeDatenfeldDatensatzElektronische PublikationTypentheorieDifferenteAggregatzustandDesign by ContractVersionsverwaltungInhalt <Mathematik>t-TestInformationsspeicherungDatenflussStandardabweichungVorlesung/KonferenzBesprechung/Interview
Inhalt <Mathematik>Design by ContractDatenverwaltungMultiplikationsoperatorVerkehrsinformationDesign by ContractTypentheorieErneuerungstheorieInhalt <Mathematik>t-TestBildschirmmaskeMomentenproblemDatenflussVorlesung/Konferenz
E-MailCodierungstheorieSystemplattformPerspektiveWiederkehrender ZustandAutomatische HandlungsplanungProzess <Informatik>BenutzerbeteiligungBildschirmmaskeInhalt <Mathematik>Mailing-ListeTypentheorieKonfiguration <Informatik>CodierungProgrammiergerätDateiverwaltungAutomatische IndexierungBitBeobachtungsstudieGrundraumVorlesung/Konferenz
E-MailTemplateRegulärer Ausdruck <Textverarbeitung>DiagrammDefaultBildschirmmaskeTypentheorieFolge <Mathematik>Message-PassingInterface <Schaltung>SichtenkonzeptDatenverwaltungArithmetischer AusdruckGruppenoperationAggregatzustandQuaderDichte <Stochastik>TemplateE-MailBenutzerbeteiligungObjekt <Kategorie>DatenfeldBenutzeroberflächet-TestSystemplattformValiditätBeobachtungsstudieStrömungswiderstandInhalt <Mathematik>Besprechung/InterviewVorlesung/Konferenz
AggregatzustandDiagrammMailing-ListeGruppenoperationVersionsverwaltungMereologieKategorie <Mathematik>StrömungsrichtungRechenschieberDatenverwaltung
Geflecht <Mathematik>FluidGruppenoperationAggregatzustandMereologieZoomDiagrammMailing-ListeArithmetische FolgeClientBildschirmmaskeWeb SiteKlon <Mathematik>QuaderDatenfeldCoprozessorObjekt <Kategorie>MaßerweiterungInhalt <Mathematik>Klasse <Mathematik>CodierungSkriptspracheRoutingt-TestSchlüsselverwaltungDatenbankValiditätInformationsspeicherungAdressraumLeistung <Physik>AuthentifikationTexteditorReelle ZahlInformationVerzeichnisdienstMultiplikationsoperatorImplementierungZentralisatorTypentheorieBitKonfiguration <Informatik>Elektronische UnterschriftSingle Sign-OnInterface <Schaltung>GrundraumMinimalgradKerberos <Kryptologie>Dienst <Informatik>NormalvektorBenutzerbeteiligungQuick-SortMalwareÄhnlichkeitsgeometrieMathematikProzess <Informatik>Vorzeichen <Mathematik>Einfache GenauigkeitDatenstrukturAutomatische HandlungsplanungE-MailSystemaufrufPunktProdukt <Mathematik>Lateinisches QuadratDifferenteRechter WinkelPlotterTermDatensatzUnrundheitLesen <Datenverarbeitung>Vorlesung/Konferenz
Vorlesung/KonferenzBesprechung/Interview
Transkript: Englisch(automatisch erzeugt)
Can I start? Right. Thanks for coming. I thought I would just add that little subtitle
there because Paul Roland apparently submitted his talk proposal before I got mine out, and so mine got chopped. So I decided to put it back on the slide. I'm actually
working at the University of Wisconsin Oshkosh, but I am Canadian, so that's why. Some of what I'll be talking to you about today really is a brain dump of what we've done at the university over the last three or four years. And so there's, I apologize
in advance, I have 61 slides, so I'll just start. Essentially, we were taking a university that was dealing purely in paper processes, and there was a lot of frustration around that, how slow paper was, why we were still sending around pieces of paper and copying paper all over the place. And people were frustrated not knowing where their form was
in this long, some of these rather extended processes, payments to individuals. And so let's not be a chump anymore. Let's move into the 21st century because we can do it. We have the tools. And one of those tools that we've used a lot of at the
university in Oshkosh is Plone. And so Plone forms plus the workflow that we have in Plone. So online forms are fast, they're accurate, we can give people instant email notifications, we can display essentially on a dashboard or with collections, lists of objects or forms
submitted that are in process, where they are in the process, and people can search and find their information, their submitted form data extremely quickly. Just some of the savings that you get out of using electronic forms and workflow are related
to cost. You can free up staff, in some cases, maybe half a staff person's time and salary. So that amounts to significant savings over years. As you know, universities are not particularly well funded necessarily and the funding situation doesn't look like
it's getting any better. So if you've already got a lean organization but you're being asked to do more, electronic forms and forms processing is one way to do it. You also save everybody's time. There isn't data entry, duplicate data entry. You don't have to locate paper forms in file cabinets. You don't have to copy things and share
it out to five different groups who are interested in seeing the same information. And then there's the frustration that you save where people are phoning and saying where the heck is my travel reimbursement form? Who's got it on their desk? So there's a lot of frustration around paper forms. So to use Plone and workflow, what tools
do you need? Well, in addition to the things Plone ships with, there are some add-ons that I'm going to show you. And I'll start with the add-ons. So primarily, we use Ploneformgen and this thing called D2C, which I'll say more about in a moment. And
then the other highlighted item is Workflow Manager. D2C and Workflow Manager were originally written by Nathan Van Geem. And so we've continued to try to enhance those things. But in addition to those three add-ons, we use vocabularies, data grid fields,
these big transition buttons, which I'll show you, and this thing that we didn't really know about before, but these templated emails. So I hope everybody knows what Ploneformgen does. Essentially, the thing that we use, the features of it that
we sell people on, on campus, are you can drag and drop fields into forms yourself. So it's very important for us to be able to show our end users or our business process owners who are savvy, they know about their own processes, but they're not developers. We can sell them on this because it's something that any user can
learn to use and build forms in a matter of an hour or so. So what is this D2C object? In case some of you don't know, what it does is it's essentially like a saved data adapter for Ploneformgen, except when someone submits a form, D2C creates a
Plone content item out of the form submission. So you end up with the same fields as you've built into the form, and the values of those fields are the values the person submitted in the form, and that's a Plone object, which means you can edit it, and you can assign a workflow to it. You can also, in the D2C, when you create it or
you edit it, you can say submitted objects should be given a new content type. So you can essentially define your own unique content types for a particular form. So you can make a form that's for travel reimbursement and say that the D2C object should create
objects of type travel reimbursement, and again, that's useful to tie workflow to those items. I hope you know about Vocabulary Manager, but it's a great tool, again, through the web. I think you'll hear me talking a lot about the ability for users to
do things themselves through the web with as little coding as possible. Vocabulary Manager has been heavily used at our university, so you can define lists of choices that people can choose from, and it's very powerful because you can tie that to selection fields and multi-selection fields in Plone FormGen. The data grid field is something
that we've used, and what you essentially do is you can replace copies of fields. Say you've got an investigator for a research grant. Instead of having it set up five
different fields for each investigator that you might have, and you might have 10 investigators, you can define a data grid that has the columns asking for the fields that you want, so name, email address, title, and so on, and then the user, again, can choose how many rows to add or remove and reorder. So that's a very
powerful way to keep your forms from growing extremely big based on the maximum number of sets of things that you might need to ask for. And so now Workflow Manager, this is the lipstick on a pig thing. Workflow is obviously a very powerful part of Plone, and so we
thought, heck, we should just use this. But we also thought it would be nice to give end users, or at least business process owners, the ability to create their own workflows themselves without having to go through the ZMI. So as you know, the ZMI can be a little more cryptic for end users, and so we went from this to something a little bit nicer, which
also is inside the Plone site set up, so the control panel. And so in addition to being able to display the states that you have in your workflow and the transitions that you've got in your workflow, you can also generate diagrams, which is something that we
found our users really respond to. They can visualize the complexity of their workflow. They can also understand better where a form that someone submits is going to within the workflow. So this shows states and transitions. So again, this is generated for you when
you press the button and you've installed GraphViz on the server, but one of the things that we've been working on, at least one of my students, is a new user interface for Workflow Manager, which I'll show you in a bit. So one of the many things that Workflow
Manager does is it exposes essentially all of the things that are likely to be used by users in the ZMI in Portal Workflow, but presented for them hopefully in a nicer way through the Workflow Manager insight set up. And so you can define what kind of permissions are necessary, guards that are necessary for transitions, and you can also,
this is another feature that I really wanted, which is the ability to create email notifications on transitions. And so that's, when you click on adding a new action, you
get a very simple user interface for specifying what the email notification should look like. So who should receive it, the subject, the body of the message as well, and this is where the collective easy template add-on is very useful because you can provide quite complex expressions in the body, in the subject, and even in, well, actually throughout
the email that's sent out on that transition. Any questions so far? So I just want to mention the two ends of the security spectrum when we're designing
workflows. Usually what we try to get is for simpler workflows, for simpler business processes, you have the business process owner and then you have the end user. So it's very simple model and you can essentially skip having to worry about roles and permissions
if you just give your business process owner manager access. And that's why we enjoy that one because it's much easier to design. For more complex security, you could go from, you can add a central role where people with different roles within handling a piece
of paper, for example, get special permissions or roles. And so that gets a little bit more complex, especially for testing. So I mentioned before a user interface enhancement that we found was needed because when our users were trained to use Plone and had been using
Plone for a long time, they didn't have any problem finding the state dropdown for transitioning an object. But for novice users or people who generally, maybe from the outside, people who were not familiar with Plone, having the buttons show up in
the middle of their screen or at least in a very visible place was something that we thought would be very helpful. And so this is an add-on called UOSH transition buttons by my student Sam Schwartz. And what it does is it exposes the available transitions on an object and puts it into this box. And that box you can actually configure to show
in any corner or you can actually just hide it. In addition to the transitions, it shows the edit button as well if you've got edit permission on the object. Some of
the templated email expressions that are explained in detail on the collective easy template read me are things like listing all sorts of, sorry, generating all sorts of expressions that you can grab information about the current object. You can grab
information inside your site. So it's extremely powerful. There's conditions as well. You can even do catalog queries with it. So again, this is the power of easy template that we've enjoyed. So I talked about the tools that come with Plone that we use as well. And in particular, these ones, which I'll run through in a little bit more
detail, these are things that are features in Plone. And yet not a lot of people are end users, for example, are familiar with these. But we thought we would put them all together in a package that made dealing with online forms and the processing around them
more friendly for users. So place full workflow is a way for us to assign a specific workflow to a portion of your site. And so if you can imagine the Plone form and then inside it there's the D2C object, which is itself a folder. And so all objects
created by the D2C are in that folder. Well, that's a perfect example of how you can use place full workflow to assign a special workflow you've designed to that D2C object. So we use place full workflow a lot. We use collections as well to show our business
process owners and end users an immediate view of the items that they've submitted or the items that they're responsible for processing. So new submissions will show up for business process owners, things that are in progress and things that are waiting for
them to somehow take action on. And what we do is it's a small thing, but when you want to show essentially this dashboard, we create a folder of collections and then we turn on the show all content. We use the all content view. And so essentially it just shows a
list of all the different collections and the items inside it. And at a glance people know what they have to deal with. Some of the complexity of creating collections on D2C objects is that you have to create a catalog index for the attributes that you want to use as collection criteria.
And so there's this a little bit of a complicated process to go through to say that a particular field in your form that's a job type, is it an internship, is it a grant job, to turn that into a collection criterion that you can use involves creating a script Python,
creating a new index, and then going into the collections settings in site setup to say that you should enable that criterion, that new criterion in your collections criteria tab. So that's something that's a little bit nitpicky and it's something that I'd like
to be able to include as an enhancement to D2C at some point in the future with a check box. So you could say for the fields in this form, check the box next to each one of them that you want to turn into a collection criteria. Another feature of Plone that really lends itself to this particular use is portlets
of different kinds. You can obviously use static text portlets to show links to help, but you can be very specific about the kinds of help you provide. So if there's a specific kind of form, you can show help related to that form, you can also show help based on
the role that a person has. So if they're a member of a group that's responsible for processing forms, they can get different help instructions displayed on the page right next to the form that they're looking at so that it's immediate for them. So we use portlets quite a bit. I'll skip this. Some of the things that we've also been
asked to do is if there's a form that's being looked at by somebody in an office, they might want to add a comment to it and annotate the form as it's being processed. And so you can obviously use Plone's built-in commenting, which is a very powerful and very friendly way to display notes or annotations about an object right on the same page.
And so there's two kinds of comments that you can use. You can turn on the regular discussion feature in Plone's site setup and then you have to do it in two places, right? You have to enable commenting throughout the site, number one. And number two, you have
to go into the types panel and say for that particular type you want to allow commenting. And so that lets you get this kind of thing at the bottom of every object. Very nice because you can do threaded replies and you can even do things like email
notification when there's a comment added to an object. So, again, if you think back to a travel expense report, if somebody has a note here from the office saying you're missing this receipt, then the user can get email notification about it and they can click on it, get taken to the object and go, aha, yes, I'm missing a receipt. The other place
that you can get comments in is in workflow transitions. And so as long as the comments showing up in the object's history and one way you can see it now, obviously, is if you use the state drop-down menu and then you choose advanced, you can assign, you can
specify a comment for your transition. And so that's a different way of associating comments on an object. And so it shows up, sorry, there's a couple of duplicates in there, but it shows up there on that history link when you click on it. In an early
workflow that we created at the university, we exposed that same feature in a little form on the object itself. So a little bit more visible if you do it that way, but there's, so there's two commenting mechanisms you can use that come with Plone. So from the
different forms, processes that we created would have good landing pages that would make it clear to the different kinds of people who are looking at the form what they can do next, what are the things that they can do with their system. And so we've created
different kinds of landing pages that just, big buttons, I mean people are naturally trained to want to click on buttons rather than reading a lot of text. And so we went with this kind of thing in one case where different kinds of forms available on the site were more enticing for someone to use. Another kind of landing page that we've
created was role-based. So if you're a member, if you're a graduate student, then you would just naturally look at the things in that column. So just ways of trying to drive people to the right form that they probably need. Some of the help instructions
that we created were, again, for different kinds of users of a particular form. So end users, office users, and so on. And those user instructions would include screenshots and things that highlighted what a different user would need to do next.
Is this going to work? All right. So I wanted to show you some examples of the workflows that we've created. And so the first one is that early one which was for the Office of International Education at our university. And we deployed it six years ago,
surprisingly. And there have been about 6,000 of these applications filled out by students. This is to send students abroad on exchange programs or study programs. And it was the first real workflow that application that we built. And it's only got
about 16 workflow states. But we calculated conservatively that the cost savings for deploying this amount to about $200,000 in the six years since. And that was the example of the office being able to take essentially a half a staff person and assign
that person to more useful duties than data entry and copying and mailing. There's an advising worksheet. So when an advisor meets with a student to discuss what sort of classes the person will take, they fill out this advising worksheet. The two
emails get sent, one to the advisor with all the information that was discussed in the meeting, one to the student including resources and links and forms that they can then consult as well. It's a very simple workflow. But in just a little bit over a year, about 12,000 of these things have been created and used. So the
advising office is actually one of our big supporters because of what they've been able to accomplish with a very simple workflow. The form has quite a few fields in it, but it captures what happens in a meeting with a student. We have student IT jobs within
our IT division. And so rather than have paper forms mailed out to students that they have to fill out by hand and then have supervisors come to the office and physically look through the applications, this is all done online now. And so about a little over
400 applications have been filled out this way. Each of them saves quite a bit of time for every person involved. It also gives students immediate feedback if they're being asked to come in for an interview or if they've been hired for the job. The workflow itself isn't particularly complicated, but it's still sufficient to send the applications
to the right supervisor who's interested in hiring. This next slide is for a project in progress. It's quite a few states and the workflow is quite complicated. So I guess
maybe I shouldn't say this on camera. We're hoping we can go with this. The form is Steve. I don't know if Steve's in the room, but I think he heard me say on IRC that this form initially had 680 fields in it. So that's big. And so it would take
10 seconds to render. So that's not very acceptable. But with data grid fields, I added a couple of different field types that it can support like dates and file attachments and so on. And with that new data grid field version, we've reduced that to about 180 fields on the form. So that's the example of investigators. When you ask 10 questions
for every investigator you might have, but there are say 20 possible investigators, that's 200 fields that you don't need to have. You just make one data grid instead and then let people add as many rows as they need. So that's still in progress. This is our
college of nursing deals with outside agencies and they store standard contracts about what the agency will do in hiring students to work in their medical facility. And so we created a dexterity content type that's folderish. And inside that folder, the college of nursing
can store PDFs that represent the contract. And so the workflow is not that complicated again, but it's something that the college of nursing has wanted to be able to do for a long time. But now they can manage the expiration and the renewal of contracts in a timely way. And they can get reports that are very accurate at the moment they need
them. So it's often been asked to me, why are you recommending the use of Plone Form Gen when dexterity is the new thing, especially if archetypes are going away. And so I still
feel that Plone Form Gen from a user perspective or at least the business process owner's perspective is still a superior offering because it's still done, everything is done through the web. One of the things that I found still missing in dexterity even though I
understand dexterity wasn't designed to be a form tool the way Plone Form Gen is, is that dexterity still requires you to do a lot of work in the file system. If you want to do anything outside what's currently available through the dexterity content types panel, you still have to do a fair bit on the file system and we just don't have enough
programmers to be able to do that. So in our attempt to roll out electronic forms to our university, we want to stay away from file system coding and just present through the web options to our users. So looking forward, my wish list for improving Plone
Form Gen and D2C, essentially the Plone Form Gen default view is very static, it's very top to bottom, it's sequential. It would be nice if there were different layouts
available. And so that's something that would be nice to offer people. Sometimes people say well how come that online form doesn't look like this PDF that we've created? I don't have that flexibility. It would be nice to have that. In D2C, as I said, it would be nice to have check boxes to automatically create criteria for collections. It would
also be nice to have the ability to turn an object that's submitted by a form into a folder-ish content type. That's something right now that's only available in dexterity. And dexterity, very simple things were kind of roadblocks for me, at least as far as I
could tell, through the web vocabulary management that doesn't seem to exist yet. And the validators, the default values, all the powerful ways that you can define expressions in Plone Form Gen for fields are not there with dexterity. And please somebody tell me I'm wrong. No. Okay. Okay. And so I want to close with some
enhancements that we were planning for Workflow Manager. As you saw when you're creating an email notification body or an email notification message, it's a very clunky interface. You have to know what the expressions are in collective easy template. And
so it would be nice to have a user interface that lets people pick from expressions and just drag them into the fields that they needed. So if you're defining who the message should go to, you could say I want to go to this group or that group or that kind of person with that role. Transition guards are also something that we currently do through
the CMI and portal workflow. I'd like to be able to expose that through Workflow Manager's user interface. And then the last thing down here is, again, what my student Sam Schwartz has been working on, which is getting away from having to deal with a tab showing your states and another tab showing your transitions. Because as
you click through even the Workflow Manager user interface, you can get lost in what you're trying to edit if you've got a lot of states. So if you think back to that 60 state workflow, you can get lost pretty quickly where you are, what you have to edit. And so what he's been working on is this ability to get rid of those
states and transition lists and just work directly with the diagram. So the current Workflow Manager version can generate a diagram, but it's just a static diagram. It's a nice diagram, but you can't do anything with it. What we wanted to do here is just work right on the diagram itself. So you can move these things around. You can set a layout
and then keep it like that. Sam has been working on a way to optimize the layout so that even complex workflows look decent when you first open them up. You can right click on states and transitions and then get the edit button from which you can then change the
properties of a state or a transition. And the other slide I wanted to show you for that is that if you've got a very large workflow diagram, you can still find the states and transitions you want very quickly. So you pick it from that list and it'll zoom into the part of the diagram showing that state or transition. So that's something that's
still in progress back home. And so the next steps I would leave you with are if you haven't already thought of selling electronic forms to institutions or users or clients that already have clone sites, you really should try it. It's surprising how happy paper form
owners and processors are when they are presented with this kind of option. And if you have any questions, I'd be happy to take them.
So the bit at the end about doing the layouts with the clone form gen, et cetera, that's one of the reasons why we tend to use Plomino instead because what it gives you is like a TinyMC editor and then if the customer really wants a different layout,
then you've got the full power of a visual editor to layout the form any way you want. Have you looked at that instead of using clone form gen for these kind of things? I didn't catch the add on you're using? Plomino. Plomino. Plomino? By Eric. Sorry.
Plomino, P-L-O-M-I-N-O. Plomino? Okay. Yeah. Sorry? Plomino like domino or plomino. Sorry. Yeah. I haven't looked at that. I might have looked at it a long time ago thinking that it
probably wasn't exactly what I wanted. I wanted to stick with clone form gen, but I will look at it. Are there other aspects of it that you think would serve this better other than the layout? Yeah. I mean it has a few other things. It has the ability that has this hide with
concept so that you can create the sort of forms where one entering values in one part of the form change the other part of the form, which is another aspect that clone form gen doesn't do so well. And then on top of that there's all that scripting stuff is able to be combined with multiple forms and so you
can have through the web coding and have different actions, which you can add with a scripting adapter in clone form gen, but there's a lot more of that in Plomino. What it doesn't have is if you wanted to add to create content types, like it creates its own database. If you want to add content types, then you'd probably have to script that yourself. There isn't a straight adapter
where you can just go create a content object. And its content that puts it in his database doesn't really have the workflow, so you would want to create the content type so you can do the workflow. Okay. Thank you. There's a question here, too.
For your electronic forms processing at university, do you also use something like single sign-on or a central directory that people have to log in first, then you get the real user information and the real name so that you have
authentication and a kind of sign-off on all the forms? Yes. Our university uses active directory, but we also have the LDAP interface for that, so we use essentially the normal Plone LDAP sign-in,
but it's not single sign-on. It means that you have to authenticate for each Plone site that you've got these forms in. So that's something that I'd like to be able to do, which is integrate with ShipLith, for example, to do single sign-on.
But for the time being, when users log in to a Plone site like this, then we can autofill things like their name, their email address. And so, yes, it does provide us with a degree of authentication that when they take some action on a form that it really was them. And so, yes, that's the kind of equivalent to a signature that we put in there.
There are some forms where people are asked to enter their initials as part of a required field or to check a box saying they've read the terms, for example, of what they're about to do. And so we've kind of gotten around the idea of what constitutes a legally valid signature, electronic signature.
But we can pull in things like students' classes that they're enrolled into and we can list and structure information for the classes they're in. There's a question back there.
To supplement Fred's question, we've done a successful implementation of Active Directory Federation services. And that's a more modern way of Kerberos and ShipLith. And I think tomorrow we're going to do a short lightning talk on it. And we're using DITA malware's SAML product.
And that's a little bit adjusted, but that works with ADFS. Okay, thank you. Did you have a question? No? Dylan had another question.
One of the requirements we had around a very similar sort of thing was a workflow where people needed to sort of say who the next step was, like who, instead of having these nominated roles. Have you ever come across that sort of thing and have you worked out how to solve it?
So you're asking if, depending on, well, if I understand right, so they would select who should be notified next? Yeah, so you're sort of like the next person's a reviewer and that reviewer can be one of many people. And as part of the workflow, I'm saying it needs to go to this person next and they need to do that. Right, so based on the information that a person chooses on a form,
they can actually, in one example, they can indicate who their supervisor is, who needs to look at something next. And so that can be a pick list from a vocabulary and it maybe stores the key and the value pair will show their name
and the value underneath that, I think, or the other way around, is their email address. And so that gets put into the form and then based on that, we can do conditional routing. We can say if it's this person, then execute this transition, but don't execute the others. So that's the extent we've been able to do that
using the built-in features of Workflow. All right, any other questions? Well, thank you very much.