Day 2 Welcome Remarks
Published November 19, 2025
This video is from Wagtail Space 2025 in Online.
Sympa is an open source mailing-list server, which can be used for discussion or diffusion. Also it means "nice" in French.
This is what some of my clients use as a newsletter service. And yes, it's nice. If you can send an email, you can send a newsletter to thousands of people, basically.
The package wagtail_newsletter was published right when they asked me to allow them to write their newsletters directly from Wagtail.
First I had to write a new "backend" to use Sympa instead of MailChimp. Each tool has a very different "philosophy" so it was an interesting process.
Then I took some time to think about the content: what do we want to write in a newsletter? How does it fit with the rest? (That is, where do I put my new Page model? Do I even need one?)
And finally I worked on the presentation of content: I had to work with mjml for the first time and think about text alternatives. Wagtail was very helpful on that particular aspect.
At the end of this talk you will know what to expect with wagtail_newsletter and you will love Wagtail even more.
Sympa website: https://www.sympa.community/
💻 Wagtail is the easiest open-source Python CMS to use:
Install the demo and start building your first site in 10 minutes: https://wagtail.org/get-started/
📹 Related Videos To Watch Next:
â–¶ Quick Video Tour of Wagtail CMS 7.0 https://youtu.be/r5RbV7TveFU
â–¶ The Latest on Wagtail AI https://www.youtube.com/watch?v=4zfs1u4Vy5Y
▶ What’s New in Wagtail CMS 7.0 https://youtu.be/v92-6Dy4axI
Wagtail future proofs your CMS system, as it’s open source, continuously updated and built on Python, one of the most popular global programming languages, used widely in machine learning and big data. So you’re always ahead of the curve when it comes to CMS platforms.
Wagtail is the #1 choice for accessibility, is scalable and most importantly, secure.
👉 Get started with Wagtail CMS for free: https://wagtail.org/get-started/
and see how easy it is to build a website that works for you.
📊 Read why Google, NASA, and the British NHS, are powering their digital estates with Wagtail: https://wagtail.org/about-wagtail/
🎥 More Wagtail Videos: https://www.youtube.com/watch?v=cne2kxemMAQ&list=PLfwZ-fob20cPvSQ_v1hkjto8BAPN21tLJ
📣 Follow us on social:
#WagtailCMS #Django
Automatically transcribed, so expect mistakes in names and technical terms.
Speaker 1: Hello everyone. Welcome to our next session. Today I'm very pleased to introduce Anyes Hassar. Who is going to be uh talking about Simpa newsletters with Wagtail? Um, okay, take it away.
Speaker 2: Hello everyone. Hello, space people. So um Not yet. Hello everyone. Should I speak now?
Speaker 1: Um yeah, go ahead and get started.
Speaker 2: Okay, thank you. Hello everyone, so uh as uh Vince told you I'm going to talk to you about newsletters and wagtail. with a tool named uh simpa or simp simpa when you speak uh franglish like me So I'm uh my name is Agnes. Uh I'm working in a small agency named HashBank. which is in Lyon, uh France. This is our uh uh lab wagtail website on which we're doing
Speaker 2: experimentations before uh proposing them to our customers and I wanted to show you that in uh Lyon we are in street In Django Street. But that's not the topic of the talk. Today I'm going to talk about newsletters So first I will show you the context in which I had to add newsletters in Wagtail. And then I will tell you the story of how I did it using the Wagtail newsletter package
Speaker 2: that was published earlier this year. So let's go with uh the context, which is délibere So this is another Wagtail website. We did not build it, we are maintaining it and making it evolve. So Delibérer is a journal of reflection on justice, law, rights, freedoms It's written and edited by French magistrates, judges, uh
Speaker 2: And uh I would wanted to show you the website because the content is structured around the issues in French un numéro. So in Franglish during this talk, sometimes I will say a number. And it's an issue in fact. So each issue has its own subject Like here it's about disabilities and justice and how does justice work for people with disabilities? And
Speaker 2: every issue has its own color. So it gives the the whole thing uh consistency but every number has its own uh every issue I told you I speak for English Every issue has its own uh identity in the whole uh graphic consistency. So in fact I really like how it goes out. And this is the website for which
Speaker 2: the client asked asked me, they told us, to uh they wanted to send newsletters directly from their websites And I will explain it to you why. So delibere and the work type website. They are the the whole content is structured around issue. So I have my main content class in Wagtail is a numéro for issue. And uh this client, like
Speaker 2: many French people, maybe like many people around the world , they are using SIMPA or SIMPA. It's an acronym for System de Multipostage Automatique because It has been written by French people and French people love acronyms. So it's just a mailing list management software which is licensed under GPL so it's free software and it just works. Uh It's quite common in French uh universities
Speaker 2: and in French internet. So um I have seen quite a lot of simpas server since I'm working in the industry So just it's just like a Google group, but without Google. So it does work. You just send a list to an email to a given list. and Simpa does the broadcasting according to a lot of configuration options So Simpa is very powerful, but not for um making beautiful emails.
Speaker 2: Simpa is just the server that sends emails. It doesn't help you make uh beautiful emails. Uh so because of the dark magic of email layout, uh our client asked Faraway to write the newsletter directly from Wagtail. And at that time I stumbled upon this uh blog article about um the wactile newsletter package and it was like a cosmic connection
Speaker 2: so thank you Alex who's not here because he's giving a talk just like I'm talking to you. Uh so I read this uh blog post with uh much attention and I decided that this was the the way I would do it. Uh so uh just going a little bit faster So how did I do this thing? Um in this package You have to to use a Wacta newsletter package you have to do two things.
Speaker 2: First you have to decide which content of your website you will be using as a newsletter And you have to use or create a backend to actually send the newsletter to the vendor. And I had to do the two things because the out of the box uh backend wasn't uh what I wanted to use. So first the newsletter mix-in, which is the content of your website you will be using as a newsletter content.
Speaker 2: So um in theory you could extend any page model and Tell the website this page is your newsletter. I decided not to reuse an existing page of my website but to create a new one. Which led me to numero newsletter that is issue newsletter Because they send newsletters almost only to announce that a new issue has been published. So um
Speaker 2: I created a new class and I will show it to you right now in my IDE so email newsletter here it is so you extend the mixin newsletter page mixin And I added some uh some info. So here you have the body which will be the main content of the email I have an image and a kind of title at the beginning and that's
Speaker 2: that's it Um you have um a method which is get newsletter context and uh it was different from getContext. In that case, since I made a dedicated page for newsletter See the get context just reuses the newsletter context, but it could be useful. s depending on new use case to have two very different uh methods for that. And what do I do in my context? I add the color of the number.
Speaker 2: uh of the issue franglish sorry this is it this was the the the most uh interesting part of the the method And uh here I had to cheat a little bit, but it's a spoiler for the next part, so let's talk about it later. So what does it look like in admin? So I kind of Don't see my tab. Here it is.
Speaker 2: So this is the admin of uh my Adam Dev environment because I will not be sending actual newsletter right now So you're supposed to choose an issue and to add a subpage in it And I don't see the button because of uh zoom artifacts. So here I add a sub page, I add a newsletter. And I can uh type something
Speaker 2: Uh no image In the email I have uh quite simple content title content And images. So the documentation which is uh provided is really complete so it was really nice to work with that uh documentation and with uh the the module it was uh
Speaker 2: it was uh easy to use and and when i save I did not anticipate that thing. What is cool is that you can preview your newsletter. This number is pink, so the newsletter is pink too. You can preview uh in web. So it works. And now I want to send my campaign. I'll just send the test email.
Speaker 2: Do I have I don't? I don't have it. Uh I have uh a test uh email client but it doesn't work right now so let's go to the next so believe me it works yeah Then adding a backend. So the backend is the part of the code that does the actual sending. of the newsletter being actually sending an email in my case
Speaker 2: or making API calls to uh MailChimp or uh whatever vendor you are using. And I'm going to go back to dive in the code again. So you have to add some classes. First I thought I would just need to add a backend on a recipient. And in fact I had to add a campaign to as a simple Django model. So I began with the back end. Simple backend And I had no idea what to do with it, so I just
Speaker 2: clicked and went to read the source of the module. and I didn't get it so I went to read the existing Mailchimp backend So I understood that uh the MailChimp backend is a wrapper around uh the API client. So you can for example um Deal with audiences. You have the notion of campaign which is not saved in Wagtail but in MailChimp. And then the idea of campaign isn't the same at all in Sympa
Speaker 2: because in Simpa you don't have campaigns. you just send an email to a given list. So my backend was way simpler So I had to cheat a little bit to hide buttons that were not useful for Simpa. or to to just send the email. So now I can go back to my backend So the expected method save campaign is just a save
Speaker 2: in Django way. You can send a campaign and send a test email which is the same thing like send an email Um I had to to twist something. Yeah, um I just had the HTML version of the message But to send an email with Django, you need a text version of your message. And at that point, I had no access to the the the the page object so I made something
Speaker 2: a little bit ugly but it worked so I will show you And here is the the part of the code I like to write. See? I don't know what an audience is. But I know I don't need it in Simpa. So I just return an empty list or I just do absolutely nothing. And that's okay. It worked. Now I will show you this uh get text alternative I'm really proud of it and it works. I've written it like yesterday evening. Yes, that night.
Speaker 2: So uh at the beginning I just made strip tags to get the text message from the HTML but I had a whole text without space. So I just replaced ending tags with new lines and some decoration. So I was like It works. And uh what did I want to show you? Then the simple recipient is just an email address.
Speaker 2: The audience that was mandatory in the base package. I made it allowed to be blank. And I will add some some functionality because sometimes you cannot send you must change the sender email in some cases. But uh it's for later. So this is uh what my backend looks like. It was nice to write And at the end I had to write some HTML for uh
Speaker 2: for uh emails which is like uh dog version of html So um the news the newsletter package was provided with uh MGML I did never write this kind of things, but it's quite cool. You write something in uh XML which is compiled into good looking HTML for uh email clients. But I have kind of mixed feelings because in the end you get like uh table soup
Speaker 2: well it works and maybe my code was worse I don't know So here it is. It's uh 20 minutes already, so we jumped to the conclusion. So this uh simpa newsletter package it works since last night because I proposed the conference before I finish my development, which was an interesting experience. It was fun to write and it was quite easy because documentation is cool. I have seen some fixes uh
Speaker 2: that I need from my customers, for my clients. So I will do a contribution to add the translations and fixes and make it work well in Outlook because it's not Perfect. Yep. This is it. Thank you.
Speaker 1: Great job. Thank you, Anis. Once again. Um, we do have a couple questions here in the chat, so I'm gonna go ahead. and ask those. Uh the first question is uh is simpa hard to set up uh any big advantages over third party websites like MailChimp if you only uh do this once in a blue moon?
Speaker 2: So I am not uh uh nobs at all, but I think it's quite okay to to set up because you have a lot of third-party websites who which propose simpa service. See, even if you don't want to set it up yourself, you can use a provided installation by some hosting services. And I know some people who have a SIMPA server. A lot of organizations like associations do have SIMPA servers. and it
Speaker 2: it seems okay, but I'm not the one who can tell you it's easy or not because I'm just a user in the story
Speaker 1: Great, thank you. Uh I have another question here in the chat. And just a reminder, if you do want to ask a question, please uh go ahead and type it into the chat. uh and also um you could ask in the lobby later on so the next question is from tho and uh He said, um, I'd love to ask about opportunities to update the Wagtail newsletter package. Um have you used that package or would you uh Have any thoughts on integrating Simpa with it?
Speaker 2: I can open source my backend once it's a little bit more polished And once I'm finished uh giving one conference every two weeks.
Speaker 1: Okay, and we have another question here from Emma. In terms of email analytics, is your client getting those via the website, uh the third-party email client, or Simpa itself? Uh
Speaker 2: I'm not sure Simpa is doing email analytics. It says um if you have bounces, you can know it. But uh you have no easy so uh let me so Simpa tells you if you have bounces. It deals with it, it's its job, and it does it very well. If you want to know if your email was open, you should add your tracking in the in the content, in the email content. But you won't have uh necessarily
Speaker 2: all opening because sometimes people do not download uh distant data and so on. So Simpa does not uh the tracking of opening emails, but it will deal with the the mailing list and it will do it well.
Speaker 1: Okay. Um yeah, very very good. Thank you. Very useful information. Thanks again, Anyase , and we will see you around in the lobby and we'll go ahead and end this session a couple minutes early. Thanks, everyone.
Speaker 2: Bye. Thank you.
Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.
Published November 19, 2025
Published November 19, 2025
Published November 19, 2025
Published November 19, 2025
Published November 19, 2025
Published November 19, 2025