• Jan. 4, 2019, 11:22 p.m.

    Welcome to 2019!

    2018 was quite a ride. GDPR came into power, killing millions of sites around the globe and forcing changes in Misago and other community software out there. Login with social site has made its way to Misago, and so did picking posts as best answers. In 2018 Misago Docker also became available, making it much easier to setup and run Misago site.


    2018 was also a year when my vision of Misago should be has clarified. This took a while, but as they say, only cow doesn't change the opinions.

    Originally I've considered Misago primarily as sort of framework that developers would grab, customize and then use to run their site. For this reason there's ridiculous number of extension hooks and hidden configurability options in source code and settings.py. I've always had a gripe with existing forum packages was that they work, but then suddenly you want to add extra custom check to registration to filter off the bots, or send new message to moderation queue if it contains two links and user is new, but this always required forking the software - whereas in Misago you can easily plug custom Python code into those features if you wish so. Misago is also build with Django, which in itself is awesome web framework with ton of ready made modules, extensions and examples.

    However, the above approach backfired, big time. I could go on and on about the reasons and ways, but instead I'll say that ultimately I want Misago to gain popularity. More popular software means more user feedback, bug reports, improvements, people helping each other out and contributions. This is good for quality of project, and as creator I want to see quality improve.

    Making things easier

    My plan for 2019 is to make things easier. I want to make things easier on development. On administration and customization. On site users.

    Over the course of last weeks big changes have happened in Misago codebase, all with single aim to make it easier to work with and expand. Part of those changes was dropping our custom misago-start.py setup script and going all in with Docker. Next Misago version will require you to use Misago Docker to setup. While some people will be angry (Docker is one of software projects its popular to hate on), this enables us to deliver some awesome features to Misago users and site owners while keeping setup and maintenance simple and approachable.

    Big focus of next Misago release, named 0.20, is improving configuration and customization experience. For first time in history, Misago will have theme system, allowing site administrators to customize the way their site looks using only admin interface:

    Zrzut ekranu 2019-01-5 o 00.24.08.png

    Zrzut ekranu 2019-01-3 o 18.55.23.png

    It will be possible to export theme from Admin Panel as zip file, put it somewhere over the internet for others to download and upload on their site's admin panel. Themes are bundles of CSS and media files (like images or fonts), and to encourage customization Misago 0.20 will ship with updated theme that not only looks nice, but is also much easier to customize.

    Misago 0.20 will also move bulk of settings from settings.py to admin panel, including:

    • configuring social login
    • uploading custom logo, share image and site favicons
    • custom user profile fields

    Lastly, Misago 0.20 will also implement first version of Single Sign On support, thus letting site owners to "chain" their forums to existing sites. This mechanism will rely on "parent" site setting up special cookie containing user credentials that Misago then uses to register and login user when they visit the page. This is industry standard approach to sharing user authorization between sites and services called JWT.

    Misago 0.20 is still few months away, but hopefully when it lands, it will open the path for improving final part of software that was begging for improvements: the user interface.

    Thank you for interest, and see you around!

    Zrzut ekranu 2019-01-5 o 00.24.08.png

    PNG, 184.4 KB, uploaded by rafalp on Jan. 4, 2019.

    Zrzut ekranu 2019-01-3 o 18.55.23.png

    PNG, 74.4 KB, uploaded by rafalp on Jan. 4, 2019.

  • bookmark

    Thread has been pinned globally.

  • Members 2 posts
    March 13, 2019, 11:36 p.m.

    Hi @rafalp . Just want to clarify... are you still planning to separate front-end and back-end and implement GraphQL some time in the middle of the year? Im asking because my project uses VueJS and GraphQL, so updated (separated) version of Misago's back-end can be met with open arms :)

  • March 13, 2019, 11:38 p.m.

    I still want to do it, but middle of the year was not release target, only when I will likely begin to work on the feature ;)

  • Members 4 posts
    April 12, 2019, 4:10 p.m.

    @rafalp While I really like Misago and the way it looks/works, I very dislike this decision about dropping your custom misago-start.py. IMHO there's no point about doing this - that way you're taking away the possibility to save a lot of resources and simplify life. For instance, I got MyDevil.net hosting, where I could run Misago through virtualenv + pip and misago-start.py without having to use heavy Docker and spending a lot of money on this. It's just.. a script, right? Why not support this and Docker at the same time?

    With that being said, I'd love you to reconsider your decision; I got in love with this forum engine and I've decided to stick with this before I found out about this coming change. Thanks.

  • Members 29 posts
    April 13, 2019, 2:12 a.m.

    It can still be run without docker.

  • Members 5 posts
    April 13, 2019, 4:45 a.m.

    @Sevos Misago is a python package which can be found here. It is specifically made with django too, so if you already have a django instance, you can simply add misago as another app. Frontend is also cleanly separated - pretty cool!

    I agree with the removal of misago-start.py - it sounds like a redundant script. Besides, as far as I can see, only @rafalp is actively maintaining this misago - for free. If you feel strongly about misago-start.py, you can start a fork from the point it existed and you may support it yourself.