• Sept. 28, 2015, 9:14 a.m.

    Month's end is good time for first update from the road to Misago 0.6 MVP release!

    What's MVP?

    With decision to change JS framework from Ember.js to Mithril.js, I've also decided to reconsider my approach to Misago 0.6's, looong overdue next major release of Misago, development.

    Until now I was following "from roots" methodology where I was implementing features in order of how many dependencies on other features they have. Ergo a lot of features required ACL that didn't require anything else, so it was implemented first. Threads required users which required auth, so auth was implemented, then users lists (that required users but themselves were required by profiles) and finally profiles. In addition to this great deal of energy was spent on finalising feature before moving on to next one, meaning that user profile completion would mean completion of on-line tracking, following/ignoring and moderation tools for those profiles.

    This approach has three big issues that hurt the project in the long run: It delays the time when MVP is achieved and thus delays the time when framework for contributors to work within is laid out and when initial feedback is available.

    The new approach is to focus on delivering the MVP as soon as it is possible, with MVP implementing auth flow and basic discussions with stubs for features that discussions depend on. Once MVP is complete, preview board will be setup and updated frequently to be as close to master as possible, demoing state of the project and opening it for early feedback.

    Next weeks

    Plan for next weeks is delivering basic discussion board software providing necessary authentication flow and discussions features, with everything else either not present (like search, notifications, attachments, polls) or just stubbed (like user control panel and profiles). This software will be launched as 0.6.

    Once that version is out, (hopefully with help from community) it'll be iterated upon, improving its stability and features, ocassionally bumping version number for PIP releases and eventually catching up to and overtaking 0.5's featureset.

    Depending on demand, migration tool from 0.5 may be offered before feature parity is acequired, allowing people willing to trade features for actively developed codebase to make the jump ealry.

    Here and now

    I am happy to say that first of milestones towards Misago 0.6's MVP release - the framework - has been completed. With this groundwork for features has been laid and I'll be moving on to next goal which is authentication flow. I'm expecting this milestone to take longer while to get done, but once it's in, there'll be short interlude for stubs for user cp and users profiles, and then onto discussions!

  • Members 20 posts
    Sept. 28, 2015, 10:33 a.m.

    I wonder, why you drop version 0.5 and start develop 0.6 from scratch? Way with refactoring 0.5 to 0.6 with small features and ugrades not possible?

  • Sept. 28, 2015, 11:12 a.m.

    The number one reason for burning the bridge was how many things in Django were tied to models and apps. So when I have moved code around, everything just blew up, which made me start with blank sheet and move stuff over bit by bit, but as I was doing that I've quickly ran into parts that were on "it sucks, do it better" on my list.

    I've also got idea from the feedback that nobody really used Misago, which meant I could have went nuclear anyway, as where wasn't real "WOW!" like in Discourse that would mean userbase that would be annoyed by this move.

    Either way 0.6's backend is mostly complete and only lacks API endpoints as well as searching, polls, reports, attachments and changelogs. On other upsides it also has great tests coverage and documentation and is easier to extend with Django apps to build whole sites around Misago.

  • Members 2 posts
    Sept. 30, 2015, 12:11 a.m.

    Will the new 0.6 still be designed as a "framework" or something that would be more easily integrated into an existing project?

  • Sept. 30, 2015, 7:47 a.m.

    Oh yiss. I really want people to be able to use Misago as foundation for bulding community sites.

  • Members 1 post
    Oct. 3, 2015, 11:38 p.m.

    I love misago, i am installing on my website now, misago looks like a promising forum software, keep up the good work.

  • Members 1 post
    Oct. 7, 2015, 9:24 a.m.

    Hi, congrats! What an awsome piece of work so far! Can this version be used in production?

  • Oct. 10, 2015, 11:57 p.m.

    Well, I've just pushed changes adding login/logout (and few facilities) to Mithril.js app. Next thing I'll work on will be registration form, which is tricky due to need for lazy loading remote JS from Google to display recaptcha input. After that one is done, rest of auth flow should be easy to get in.

  • Oct. 20, 2015, 7:53 p.m.

    Registration form displays and validates, now just need to handle Google's reCaptcha and then add tests. After that's in, activation and password reset. I'm super optimistic about getting that in by end of the month, lets hope that succeeds! :)

  • Oct. 24, 2015, 9:46 p.m.

    Will add tests to registration form (hopefully tomorrow), and I can move on to activation. :)

  • Oct. 25, 2015, 11:13 p.m.

    Registration form is in, now activation and forgotten password reset.