Merken

GNU Mailman 3 and Django

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
it is it is the length of the OK that starts at 1 in a social and books and this talk about mentally and Django I don't know if you have noticed that name and it's you know only you know it's minutes or seconds just a few months before a new member version change to version 3 um so this talk it's specific specifically about 3 as some quick words about me I am and their work as a freelance web developer and then I do a lot of work with Python and general and but also quite a bit of work with front and technologies and was to do some source work and the men and 3 deaf team which I joined a couple years ago and so on as he said I'm also work on things that have to do with the web UI for this management and of the rest API OK and so what is this talk about some all mandatory has on to new Web 2 eyes for this management and archiving this management meaning creating this subscribing people to them archiving meaning of making messages that get through a center the system searchable and browsable and we decided to use jungle for both of so like to show you how we can use moment how you can use an integrated and those and Django apps that we have built and how you can use the name 3 central API is to write to write your own name and related its applications in general so on quick warning this women 3 still and better state so what's the will as a so we not not far away from a full release k of quick overview of the architecture of men and 3 from the view of a web developer well so when I joined the memantine a couple years ago on to start working on a web interface and for version 3 on the development of version 3 was already well underway so most of the cold was there and was I had absolutely no idea what main and did internally the good thing was I don't have to know that because in many 3 there are some very clearly defined API is that you can use it as a web developer to arm right and kind of view of interfaces like and so on it see what she components are this some modest on component that we call the main core it's on the actual main and Python package that it's important important when you start women and all it retrieves e-mails from this members of people sending me e-mails to mating this and it distributes them to the list members of course there's a lot of other things internally and so really extensive piece of software and so on the about right now we don't need to know too much about what it does OK for this management many 3 has a REST API that you can use some Jason based and its local its local API to and so it's language-agnostic and so on it's not intended to be used over a public network on but it speaks of ATP which is pretty nice and we also have some Python bindings this library called naming clients which I will tell you something more on the later and so you know it has all these HTTP calls to the REST API into nice Python objects that you can operate on so this recipe I can't can be used to manage this meaning creating this subscribing unsubscribing are moderating messages on changing preferences and so on the other intermediaries that is provided by the main core is of the i archiver interface and on this is a Python API and it's based on SOAP interface and know if you familiar with SOAP interface also interfaces in general and it's all it sounds worse than it is pretty easy to use to Python the API that gives you access to every list post that leaves name and so someone sent in a message to a mailing list and so the message gets through so it's not moderated some persons on digital legitimate senator that he knows and this API would give you access to a copy of that e-mail that gets sent out to all the spammers we have to general applications that's install that use momentary and was called posteriors this the app useful this management of the family a mass of flow is a major mixture of the fact that some many people use Jethro jazz music references for their when they name their pipe there there's an wraps you with the men and debt bass guitar players and and what's worth noting about resources and that has been created in large parts by students who have been participated in the Google Summer of Code just be nice program that name and has been participating in as a supporter of the patterns of information and so on they have been a number of students during the last years have gone into many features for posters is which just so good all the students aren't and actually 1 of the students has given it a gender contolled Genicom Europe about forms that's because she's form sets Journal from sets in her courses on project that's on if you don't know about from and tools should totally chapter the other object application that's that's there to use with my mentor so called hyper Katie and this is the new mailing this archives it has been created by a couple of people at Fedora have done amazing work that's really nice as has really nice you i
I have some built in statistics so you can see which on which the made scale get most attention on the threats are displayed very nicely and also you can post to and to mating this directly from the archive interface which is great because some people just don't like to use in a client all the time so so that me show some some very the random screenings of 2 faces this is the pulsar is less than expenditure all as criticism dummy list today on a page to edit your subscription preferences whether you like to have to the to to get a data delivery as a digest of media delivery stuff like that so this is very random screens this is the archive in makes for a
hyper as you can see kept most of the graphs that show you and the activity index of people's lives on this is an overview of all
the threats officers list by the way this means that from in general that the Fedora people have set up to test their habit kitty development so if you want to check it out further you have to Google Fedora and had a kitty and demo so how can you install and integrate those applications well yes 1 installer to get them all it's the mainland under it lives on the launch pad and you can download this project and if you install it will downloads may man posteriors and hyper kitty haven't already dependencies will install on your system and it will make it pretty easy to hook it up to your biology local may server and to your web server and the specs also provides a separate agenda project for which holds pulses and how it will work with all the settings and they need so you might say well I already have a genocide that I'm running on my server and I don't want to put it another projects because this can adjust please just integrate posteriors and I became and of course you can both the FunCat name and the cost and so on can just installment plus some settings that you have to add to your hand existing settings file that depending on whether it you we want to solve both of them or only 1 of them can check out these 2 example projects and to see and to take and it necessary settings that you have to have so other than that they're getting just like pretty much and every other time and uh reusable jungle apps that you can just put a t installs setting and and you good to go so 1 of the more interesting parts is how we can write your own Maimonides can actually use those some of those API is that I was talking about for this management and on and so say you have your existing genocide and are you have installed may man it's pretty running pretty smoothly and you have from useful sources maybe to set up your this and or and his hypercube urges the unused on this I want to have maybe a single view of which I you can edit yourself which holds a subscription form for a set for a certain this how would you how would you really to do that well and maybe remember I was talking name and find the Python bindings library that is all the HDP calls for you and profits the 1st thing you have to do of course is install it lives in confinement on the cheese shop as well and then the next thing you do is you reports the kind class from the main client package and by the way this is not a typo in the project this call Nayman . client and but the package is made uh this is called Maman clients of because it doesn't sit and the minimum space so on you credence to of instance of that kind class on beginning of the and providing it with the local RSA care and a username and password these are the default values you can change and then the in your global and men and comfort for you you should so the the 1st thing you do we start with a clean slate is created domain may McCann operates a number of domains just like when machines you know different domains for for websites some men can have different domains as well so get your undermined called might amend or it will return a domain object that you can operate on further this domain object for example has a create this method and that you can use to create to this wall by the wave maybe if notice I've put some small the comments below each of these statements and to indicate the Urals that are actually called when you execute posted and so once you've created your list those this show up in the kinds this property and will be get so to see what's there if you want to operate on a on a single list you can get this
object from the clients get list method and you can use that so that this method is subject to subscribe and unsubscribe people and 2 from the list and you can also provided with with an optional username from which may might arm might not use um when something of messages come the so and once it's supplied someone this person this member which show up in the and the list objects members property so this is just a very simple example but you know that the principle is main kind giddy objects with methods that might return other objects that you can operate on and this is just a the bone was basic use case to create lists and unsubscribe people to you can also moderate messages on changes preferences and so on so the documentation is and sits and rest file as an artist he 5 and the men and kind package I don't think that Python hosted on reproductive to integers so how would you use that in in the general view ball there are obviously many ways to do it I chose 1 well
example that fit on on the same patient and it's on it's very simple class this view it has to get and post method and it has a separate property methods in the returns kind instance so we don't repeat yourself and well we take a look at the get method the 1st thing that happens on this object is retrieved from through rest from the clients and from a man trying to humankind and will and then there's an imaginary subscription form which probably also just you just depending on what you means on and so I'm so the this description and the form part of From provided them to the to the request context so someone actually pose an and submits this subsequent subscription form and the forms instantiated with the request posted on of which should be other cases not all cases and if the phone is valid and the person who submitted form subscribed hazardous member and then you just usually redirect to the to wherever whatever your target pages so on as a set this is just a very basic example you could also use a simple of view function or and if you have several naming user might make put the client instantiation method which sits in the kind property here in a utility function so yeah and this just 1 example OK now own what we've done is we have say you have installed women and the with your eyes and now we have created your own page with your own women functionality this so all I'm still not happy I have 1 list which is a little bit different than all the other mn made investors that I'm hosting and it's should it's a private this it should go into a public art program and so more in the usual traditional whatever as well and so on it's safe to support list and the list members are your blow the support staff of your organization and so I do want to get a copy of each message that gets sent to that to this list and it happened and processes in a different way you want to store it into your gender database to display the Django admin or and so in order to do that you would say and be able to use the IocaI where the face so this is a very simple
example of how to use the our different interface this sum is have a Python interface basically what you have to do this on create a class that implements 3 methods methods and has 1 name property the 1st method is on the list URL method which should return you all but where were you this some marriage of can can be found it's just something that you inputs into the e-mail header it has another method that you must implement which is the permalink method it doesn't have to it doesn't have to return anything and if you want to you can prefer you can return of a separate Ural for each method so that you can calculate but but you can also return on but you have to use still have to implement the method and the really interesting stuff sits in the archive message method down there yet accurate access to measurements internal mailing lists of an object the mailing list that this message is sent to and a message objects which is cast with string but also get methods to access the message headers on the way for the Maman court to know that you have correctly implemented so your view have a class this uses Zopa interfaces and you probably know the notice the implemented decorating on top of the class what basically says men OK this is a class that implements the RIR coverage for interface and before you run out and you can check if it's if everything's there that's needed that's the 1 thing you have to do when creating an and an example then and I can't I are crucial the class with the custom work the 2nd thing you have to do is of course you have to
tell me about it yeah so there's the central Maman config file I don't have to do is add a section around which starts with archive and the dot and then the name of your account the it has a class property and this is the python power to your archive implementation and then of course you have to enable it and if you want you can add this and some configuration for your and for your customer cover so that's x a configuration that the size of the test mice used might use it could put it there so again I would use that in the general context and the it you might
think well that's as good I can just imports from my my models have general in this example is an imaginary my this post model model it and so on if you would important at the top of the 5 woods raise race and properly configured error because when red 1 and imports this and this this module this class and you're outside of your usual genuine 1 and so on there's no whiskey out instance and you new the settings are unknown so what you have to do is you have to set up your training environment by setting the agenda setting smaller than what you have an environment variable and so on of course section probably hard-coded but boats and to so that was wouldn't have flown have fit into the picture we therefore you know from would never put it like that OK and then after you've done that you can import your your your your general model and get on and save whatever information information you might and you might want to read from the message but again the message about property that is handed to the archive message method so yeah that this it has a string with the representation which is the complete message source and you can use Python's building he met passage to iterate over each line so you get the wrong e-mail body and the subject and the data so whatever you information about you and you wanted to read from that you you probably want to use the package and for that OK on so on as with many open
source projects you're welcome to contribute we are a small group of people that are enthusiastic but I'm also have like also than many other open-source project not the time that we'd like to 2 and it to work on it and also since we're just you know short before before a new major release of members in theory it would be nice to have more but reports so if you are interested and subscribes to name a developers Python that org and which ironically it runs on limited and gross bias and IIsi channel on FidoNet the and you can take a wiki lots of the documentation is there and if you have specific questions for me on my Iousy endless 1 and I also out of and so on the thank you very much the thank you would have the this is the end of the
Bit
Momentenproblem
Desintegration <Mathematik>
Versionsverwaltung
Familie <Mathematik>
t-Test
Datenmanagement
Kartesische Koordinaten
Benutzeroberfläche
Computeranimation
Mailman <Programm>
Client
Datenmanagement
Gruppe <Mathematik>
Mustersprache
A-posteriori-Wahrscheinlichkeit
E-Mail
App <Programm>
Schnelltaste
Softwareentwickler
Dicke
Sichtenkonzept
REST <Informatik>
Ruhmasse
Quellcode
Zusammengesetzte Verteilung
Arithmetisches Mittel
Menge
Geschlecht <Mathematik>
Digitalisierer
Hypercube
Projektive Ebene
Information
Message-Passing
Aggregatzustand
Mathematisierung
Zahlenbereich
Code
Mailing-Liste
Bildschirmmaske
Benutzerbeteiligung
Software
Programmbibliothek
Zusammenhängender Graph
Optimierung
Softwareentwickler
Maßerweiterung
Architektur <Informatik>
Benutzeroberfläche
Zwei
Mailing-Liste
Datenfluss
Mensch-Maschine-Schnittstelle
Objekt <Kategorie>
Mereologie
Web-Designer
Speicherabzug
Wort <Informatik>
Computerarchitektur
Zentrische Streckung
Statistik
Benutzeroberfläche
Pay-TV
Indexberechnung
Datenmanagement
Mailing-Liste
Ungerichteter Graph
Packprogramm
Computeranimation
Homepage
Mailing-Liste
Client
Automatische Indexierung
Hypermedia
Hypercube
Pay-TV
Touchscreen
Demo <Programm>
Kartesische Koordinaten
Raum-Zeit
Computeranimation
Client
Puls <Technik>
Hook <Programmierung>
A-posteriori-Wahrscheinlichkeit
Default
Metropolitan area network
Business Object
Schnelltaste
Befehl <Informatik>
Sichtenkonzept
Kategorie <Mathematik>
Pay-TV
Quarkconfinement
Stellenring
Systemaufruf
Quellcode
Menge
Ganze Zahl
Client
Hypercube
Server
Projektive Ebene
Message-Passing
Instantiierung
Subtraktion
Web Site
Hypercube
Wellenlehre
Klasse <Mathematik>
Mathematisierung
Zahlenbereich
Virtuelle Maschine
Mailing-Liste
Domain-Name
Benutzerbeteiligung
Bildschirmmaske
Webforum
Programmbibliothek
Passwort
Installation <Informatik>
Softwareentwickler
Graphiktablett
Trennungsaxiom
Mailing-Liste
Physikalisches System
Elektronische Publikation
Office-Paket
Objekt <Kategorie>
Thread
Tablet PC
Mereologie
Modem
Subtraktion
Gewichtete Summe
Stab
Klasse <Mathematik>
Mensch-Maschine-Schnittstelle
E-Mail
Computeranimation
Homepage
Deskriptive Statistik
Bildschirmmaske
Client
Optimierung
Störungstheorie
E-Mail
Einflussgröße
Metropolitan area network
Trennungsaxiom
Lineares Funktional
Benutzeroberfläche
Sichtenkonzept
Kategorie <Mathematik>
Pay-TV
Datenhaltung
Softwarewerkzeug
Systemverwaltung
Farbverwaltungssystem
Imaginäre Zahl
Mailing-Liste
Ein-Ausgabe
Kontextbezogenes System
Packprogramm
Mensch-Maschine-Schnittstelle
Objekt <Kategorie>
Menge
Geschlecht <Mathematik>
Packprogramm
Ein-Ausgabe
Mereologie
Client
Ordnung <Mathematik>
Message-Passing
Zeichenkette
Fitnessfunktion
Instantiierung
Zentralisator
Wellenpaket
Ausnahmebehandlung
Dezimalbruch
Klasse <Mathematik>
Selbstrepräsentation
Implementierung
Computeranimation
Überlagerung <Mathematik>
Mailing-Liste
Informationsmodellierung
Variable
Entscheidungsmodell
Konfigurationsraum
E-Mail
Gerade
Leistung <Physik>
Softwaretest
Vervollständigung <Mathematik>
Prozess <Informatik>
Kategorie <Mathematik>
Konfigurationsraum
Gebäude <Mathematik>
Quellcode
Kontextbezogenes System
Elektronische Publikation
Modul
Packprogramm
Menge
Packprogramm
Garbentheorie
Hill-Differentialgleichung
Information
Programmierumgebung
Message-Passing
Fehlermeldung
Instantiierung
Zeichenkette
Gruppenkeim
Projektive Ebene
Quellcode
Softwareentwickler
Wiki
Physikalische Theorie
Computeranimation

Metadaten

Formale Metadaten

Titel GNU Mailman 3 and Django
Serientitel DjangoCon US 2014
Teil 13
Anzahl der Teile 44
Autor Fuchs, Florain
Mitwirkende Confreaks, LLC
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International:
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 und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/32832
Herausgeber DjangoCon US
Erscheinungsjahr 2014
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract GNU Mailman, the popular mailing list manager has undergone a major redesign. One of the changes is the separation of the web user interfaces from the core engine and the use of Django for list management and archiving. This talk shows how these interfaces use Mailman's internal APIs, how they can be integrated into existing Django projects and how they can be customized and extended.

Ähnliche Filme

Loading...