 She is a student from the University of Tasmania and a part-time developer at take flight and she's going to be talking to us about Wagtail. Microphone is on? Yeah. Big round of applause for Ellewies MacDonald Meyer. Hello everyone. So today I wanted to talk to you about Wagtail. So for those of you that didn't read the abstract and have no idea what you're doing in this room, Wagtail is a content management system. I use it in my kind of everyday job. I'm a part-time web developer as Tom said and I'm also still studying computing at my university. So today I wanted to just kind of take you through a few of the pros. Not as many cons. Like I'm hoping more people will be able to just yell out cons if you hate Wagtail for me and might mention a few other Django CMSs as well as maybe just another CMS. And really excitingly I got permission from my work to do a few demos of some of the sites we built in Wagtail. So hopefully you can see some of the really cool stuff that you can do with it. So quick disclaimer. I have only been in web development. Like literally knew nothing about web development until like April. So Django Girls Workshop last year. I attended one. And then for some reason someone gave me a job. Which is great. I've learned a lot. I've unfortunately only part-time so I haven't got to work as much. And I accept that I don't know everything. It would be weird if I did. And so I am learning a lot. So this is quite a bigotry shock. Sorry for anyone super advanced. But yeah, I'm excited to learn more and more as we go on. Also I do use Wagtail on my job. Disclaimer, I probably am a bit biased. I really do like Wagtail. It's one of the first content management systems I've been introduced to. And so I don't know. I guess one of your first, it's like your first love I guess. And yeah, also one of my coworkers is a core contributor. And I'm just going to move my hair away. So yeah, I don't really benefit that much by you also loving Wagtail. Other than we can get more awesome developers kind of helping out the project and also just using it. But yeah, so Wagtail. It's open source and it's built on Django. I'm so sorry. Steve told me not to apologize. But yes, I may have been set up to do that by somebody else who really likes puns. You can take a guess who it is. They may or may not be in this room. But yeah, so it's open source. I hope a lot of people here like open source projects. I kind of expect so. And yeah, it's built on Django, which is a web framework built in Python. Yay, Python. I hope we all relatively like Python. It's quite young. It's only about 19 months old. So yeah, it's a little bit of a baby when it comes to things. It was kind of started by a company in England called Torchbox, and they kind of run the show. And now there's some other places around the world like Takelight in Hobart and Springload in New Zealand really like it. So I don't know if anyone from Springload is here. Cool if it is. But yeah, so what it's used for, what we use it for are kind of bespoke websites. And yeah, you can use it for a lot of different things. It's good up to enterprise. Probably not great for just a personal blog. Well, no, that's not true. It's fine for a personal blog. It might be a bit like it has a lot of stuff with it. So maybe you could just have a WordPress site if you're not really interested in tech. Obviously, it's not really designed for people who don't code. You do need to code. But yeah, it's really flexible. It has a really pretty interface. So it's really nice when you're working with your clients. They can... Sorry. Sorry, everyone. So yeah, it's got a really pretty backend for the client. They can just log in. It's really easy to use. I'll be showing you some of that later in the demo. It scales really well. And it's pretty... Sorry, I seem to write pretty a lot in my notes because that's probably one of the main reasons I like it. It's really easy to navigate for your clients, which is one of the main reasons we use it. And yeah, it has really good test coverage as well. Some of its features. Streamfields. Does anyone know what streamfields are? No. They're really awesome. So you guys know about rich text areas? Cool. So yeah, streamfields are effectively just like that, but better. So Torchbox, or developers in Torchbox, kind of decided that when they added more and more content to rich text areas, it often got quite tricky. So streamfields were kind of their elegant solution to that. So basically they're like whizzywigs. And so as the developer, we can decide what content and kind of what order our users or clients can put that in. So it keeps our designer very happy because she has more control over what our clients can brutally do to the content they sometimes put on their sites. And yeah, and there's no kind of quirky bugs or compromising solutions when you're dealing with them. It supports elastic search, which is apparently a really hot topic. I did not know that. I recently found out. I like elastic search mostly. Sometimes it's interesting to deal with. But yeah, it's got great elastic search integration. It's got snippets. It's got an image cropper, so it'll nicely format all your images for you when you're putting in content. It's got a form builder, and it's got a really nice explorer, as I said. It's very pretty. As for cons, biggest con at the moment is obviously that the Wagtail logo doesn't look like a Wagtail. The Wagtail clearly needs to be longer. We get told about that a lot for some reason. People really care about what Wagtails look like. Because it's new, it only really supports Django 1.6, 1.7. I don't think that's really an issue, but other people might. But yeah, there are a lot more cons out there. But as I said, I'm new, and I haven't found them yet. So I'm still looking for them. And yeah, so if you know any, please do come tell me afterwards and tell me how wrong I am. So when it comes to Wagtail use, you can go to that site if you really want. And it's just got an entire list of all the sites built in Wagtail. Mostly at the moment, there's no super huge big names out there. It's mostly universities use it the most at the moment. We've done a lot of work for our local government and tourist de-places and small businesses in our area. I'm hoping some other people will adapt it soon because it really does make things look so much prettier. We've already had really good response from our clients and we're hoping one of our bigger clients will stop using their current content management system and come over to Wagtail soon. But yeah. I don't know if I'm really allowed to badmouth the thing that I don't like. Excuse. Sorry. Yeah, sorry. Sorry about that. I've been sick this week. So yeah, there's other Django CMSs out there. Actually, if you want to compare them all, I found this site. You guys probably already know about it, possibly. It compares pretty much every CMS. There's lots of frameworks and apps and you can see what they offer. So you can really see if the CMS is right for you in terms of what you need it for. A bit of a shout out to Django CMS, Bain CMS and Mizanine. There's a talk on Mizanine tomorrow, which I'll be going to to find out more about it. As I said, I'm new. I've never actually used these, but I have heard they're pretty good. Django CMS seems to be, I guess, if you wanted to put, make it a competition, Wagtail's biggest competitor. It's a lot bigger. It's a lot older. So it's been around a long time. And yeah, so they both support Python 3. They're both really built for flexibility and like a bit for the developer and content managers. A bit of cost Django CMS is more widely used. So there are a lot more sites in Django CMS. And it works obviously with more Django versions because it's been around for that long. But yeah, I don't know that much about Bain and Mizanine, but as I said, go to the Mizanine talk tomorrow. If you want to know more about it, you can compare Wagtail and Mizanine. I'm sure there are pros and cons to both. I think Wagtail is much more friendlier for clients and content managers for them to use. But yeah, there's also other CMSs like Drupal and other PHP-based things and other things they don't like. I would say Drupal is probably the only one I could draw too many comparisons with Wagtail just because they're like Drupal and WordPress, they're built really easily for people who don't code as much or WordPress definitely. Whereas Wagtail, you really need to go and they couldn't really find other CMSs to compare it to on that level. One thing that Wagtail doesn't do and which I don't think it should do, but one thing that Drupal does do really well is APIs out of the box. So Wagtail doesn't do that because it just uses Django apps. So there are already apps out there that help do this, and they're a lot better and a lot better maintained. So I don't think Wagtail needs to do those sorts of things, but some people might see that as a con. But yeah, so that's mostly what I want to talk about Wagtail because really, most I can express is in a demo. So I'm going to attempt to show you some Wagtail sites, and hopefully they will come up. In the meantime, I can show you some of the code. So yeah, as you can see, this was a pretty big project we did for the state government. It's now live. It's digital ready. It's just about helping small businesses learn more about the web and how they can utilize it to help grow their market and get better returns. Oh, virtual box. I'm not ready. I'm sorry, everyone. It was foolish of me to attempt to live demo when my first talk. Yeah, so digital ready is, it's got quite a few pages, so it's got its homepage. It also has Eventbrite integration and Twitter integration, all things that you can do with Wagtail. Sorry. Come on, computer. You can do it. So yeah, if anyone does have any spare RAM, please let me know. And I promise I will fix my computer. Yeah, so it's homepage. It is happening. It's just really slow. I'm sorry. It usually works better when I'm at work. I swear. I'd be lying if I said this hasn't happened before. Yay. So it's not as pretty as it normally is because this is just test data in a sense. So yeah, so why is this so much bigger? That was a mistake. No, it wasn't. Cool. So yeah, so it's got an about page, immense page resources and contacts. It's got different fields in here. So this is about presentations. This is the Eventbrite integration I was talking about. It's got about things. It's got Twitter things. And yeah, and if we go, that's not what I wanted. I apparently can't type without it on my screen. There's the list from the beginning. You're about to see a super secure password. I think it's just really secure. Oh, damn it. I can never remember if it's admin or P. Obviously P is a much better user name. Wagtail. So this is actually Wagtail in all its glory. So it's got a nice explorer where you can just go straight home and see all the different pages. Sorry, I keep panicking. It's not going to load. So yeah, you can see it's got different page types and you can add different pages as you would expect. Show me one of the nice pages. So try to think of something that has nice things. Resources. So yeah, these are the stream fields here, or at least some of them. So you can really specify which things. So you can make them have a lead or a text and they have to choose and then they can rearrange the order. This is not the site that I meant to bring up. But yeah, so as you can see, it's pretty nice for the user. It works really well on mobile devices as well, which is always a nice feature for those content managers on the go. And yeah, so I think that's most of what I can show you in Wagtail. I think anything else I could show you, you'd probably have to come to my computer because it could break at any moment. So yeah, I'm going to let you guys ask me some questions and hopefully I can answer them. That was a really good talk, even if your computer needs more magic range. I was actually asked a question via Twitter whether there exists any migration possibilities from Django CMS into Wagtail. Oh man, I actually don't know. We could find out if my computer was faster. Someone could probably Google it. I actually don't know because most of my work has been migrating things from... Something else. Yeah, something else mostly. I don't think people have ever considered migrating away from Django CMS because they're already like, hey, I'm on Django, what more do I need? Yeah, no, it is very nice. I really like it because really I'm learning more every day. I don't know if there's some good migration options. There might be, but I would have to admit I think Wagtail has been designed to migrate more away from kind of PHP sites and things like that. Django, Google says no. Google says no. But I'd probably be able to write something, I guess. My question was, if you're a content editor and stuff, how easy is it to stick things like YouTube and bits and bobs, or is that what snippets do? Yes, that is a thing you can do. If I go to... No computer, don't do that. So the resources I think actually has YouTube because it's supposed to be a workshop. Yeah, so it is quite... This one is a presentation, and I think it goes to YouTube. I know there have been difficulties with YouTube in the past. No, wait, no. YouTube was fine. Vimeo. We had trouble with Vimeo. And generally we've been fine with YouTube. Damn, this is not the right one. Oh no, yeah, so they put the link in here and then it actually comes up really nicely. Yeah, so they just have to put in the link and it just appears nicely for them. Hi, I have a question. You said it wasn't necessarily cut out for blogs, but does it have kind of a date-based article stack that you can treat like a blog? Yes, you can make a blog really easily. It is scalable. I just, I guess I wouldn't recommend it because it would feel like, yeah, it would be like, yeah, I'm doing this blog in Wagtail because... Maybe, but like Katie says, it's about time someone did a UX this nice in a Django app. Yeah, it is the nicest probably UX in a Django app I've ever seen. No offense to me about that. So how reactive is a Torchbox? Because it's an open source project, but they are probably maintaining it, so... They're really reactive, so they actually have like a direction and team meetings and stuff like it's a part of their work, so they've budgeted time out of their work to continue with Wagtail and updating it. So it just released, we got to our 1.0 release the other month, so that was really exciting. But yeah, no, they've been really responsive. Sometimes there have been disagreements in terms of design, but that's going to happen in any open source project. I hear there's a term bicycle shedding out there or something. But yeah, no, they've been really reactive. I know the contributor I work with is really reactive. I think at work we have an entire Slack channel that's just Wagtail commits all the time and that just never stops. This is, okay, good. With the editor box, what is that? Is that like markdown or REST or something else? I think it's basically just markdown. Pretty sure. I have a follow-up question. I think you can change it. Sort of. It's in general. Is there an API for, if I could write a program to interact with the admin stuff and like post things from something else? Is there an API for that? Not that I know of, but as I said, there are a lot of things out there that I don't know about yet. And if not, you could be the first one to write one. Yay. Yeah, so, yeah, if there's a Django app out there that does it and that's just got a URL.py, it should work. It should be in the operative term. So how straightforward is it if to implement, like a new content type into Wagtail so like if you had some, you know, you need to represent, you know, a massive library of documents, for instance, is that something that's really easy to extend? That is actually pretty easy. I can say that because I've had to do it. So anything that I've had to do at classifier is probably easy. Yeah, no, it's really good for defining new content types and things. So I think there were some examples in, you can come look at the code later. I've just got a follow-up question. At the start, you listed the bullet points of stream fields and so on and so forth. You mentioned snippets there. Can you just quickly tell us what snippets are in the context of Wagtail, please? I haven't done very much with snippets. I just had my arm at the core contributor co-worker I work with. He was like, you have to mention snippets. And I was like, I will try and remember what snippets are. However, I really haven't had to use them. But if you go to the Wagtail site, it's got it all really well documented. I guess that's something else I should mention. Wagtail has actually got some pretty good documentation. As far as documentation goes out there, Wagtail's kind of up there. I think it could be better, but that sounds accurate. Kind of like blocks. It's an answer I would give you. Time for one more question. Who's it going to be? What would you wish someone had asked? That's a really hard question. I told you not to give him the question. Answer with the question? I don't think that was a question, Chris. And that's all the time we have. Please, everyone, give Eloise a big round of applause.