2.0 dev post #2

It’s that time again, time for another MyBB 2.0 dev blog! This post is the second in a series of development update posts regarding MyBB 2.0.  Currently in pre-alpha, MyBB 2.0 is the long awaited upcoming major version of the open source MyBB forum software.  We’ll be posting regular updates (we promise!) in regards to the development to keep you all updated. The development team have been hard at work since our last dev post, adding new features and polishing existing functionality. This post will explore some of these new features and highlight our approach to the development of the system.

Some development background

As we announced in our previous post, MyBB 2.0 is being developed using the Laravel 5.0 PHP framework, and utilising the Twig templating engine. In this post, we want to explore some of the more specific development practices and techniques that we are using in order to prepare third party developers for what’s to come. In MyBB 2.0, we have decided to follow the PSR-2 coding style, meaning our code styling rules of old are to be abandoned with the 1.x series of releases. This change means that the code behind MyBB follows a common standard followed by many other modern PHP applications, meaning switching between differing platforms during development should be far simpler. Additionally, MyBB 2.0 follows the PSR-4 autoloading standard and utilises the Composer dependency manager to manage third party libraries and dependencies. Both of the above are common standards and tools used to develop modern PHP applications and should provide a much easier entrance to writing extensions and modifications for the MyBB platform. As part of the development process, several core components of the core MyBB system are being split off into separate packages. This allows core components from MyBB which were previously tightly coupled to the main codebase to be easily used in other projects. So far, we have split packages for parsing posts from BBCode to HTML (and performing filtering on said parsed HTML), as well as our core settings package. As we progress, other core components will be split into reusable packages and released for public use. All of these packages will feature a full set of unit tests and documentation for usage and will be installable within any Composer based project. This means that projects building upon a MyBB core can easily utilise well tested components core to their forum platform and build on top of the solid base we have already provided. In the future, we will be doing development posts focusing on individual packages that are available for use, including examine their package structure and the features they provide. This will start next month with a look at our core settings package, which provides both general board settings and individual user settings.

And now for a quick look at some of our new features

So for everyone who’s managed to stick with us so far, here’s what you’ve been really looking forward to – screenshot time! In this section we’ll have a look at one of the new commonly requested features coming to MyBB 2.0 and at the new look some existing features have received.

Liking content

The ability to like content has long been a requested feature in the MyBB core, as has been evidenced by the large number of third party plugins that provide just such functionality. We’re glad to acknowledge that this functionality is now a core feature in MyBB 2.0 and upgrading boards will have all existing reputation points received for posts converted to these new likes. Liking a post in MyBB 2.0. For developers, it’s extremely easy to add the ability to like content to their own custom code. This means that third party systems such as image galleries can easily add the ability to like their content with only a few lines of code, as can be seen below.

<?php

namespace MyBB\Core\Database\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use MyBB\Core\Likes\Traits\LikeableTrait;

class Post extends Model implements HasPresenter
{
	use SoftDeletes;
	use LikeableTrait;

	// The rest of your database model implementation code goes here...
}

This should mean that this feature will be extremely common across third party applications and extensions. This approach to easy extension and customisability has always been at the core of MyBB, and we aim to keep it so throughout the lifetime of 2.0.

The new look member list

As with the rest of MyBB 2.0, the old member list has received quite a face lift. Rather than the tabular list of old showing very few details, members are now presented as individual user cards, with their personal avatars given front and centre. The MyBB 2.0 user list

The new look forum view

What’s a forum system without forums? In MyBB 2.0, the forum overview has received a minor facelift, and the commonly requested feature of showing the avatar of the last user to post a reply to a topic has been integrated into the core. The approach to the forum view is to offer a minimalistic approach to bringing your content to the forefront. It is for this reason that there is very little clutter or extraneous information presented – we want to bring what really matters straight to the attention of your users. MyBB 2.0 Forum View

Wrapping up

Well, that’s it for this month’s MyBB 2.0 development progress post. As you can hopefully see, the team has been hard at work and listening to user feedback. If you have any suggestions, post them in a comment or in the 2.0 suggestion forum. We still have a lot more to both announce and to show, so keep your eyes tuned to the blog for future updates.

33 thoughts on “2.0 dev post #2

  1. Well it’s easy to see why your plugins haven’t been updated for 1.8. A ton of work going into 2.0 it seems. Bravo. I noticed 2 things, that’s theirs no “views” column to show how many times a thread has been viewed. And I have another question, will someone make a script to convert simple like system likes and thank you like plugin likes over to 2.0? I hope so, as these plugin creators have carried mybb in this area for a long time.

    • The viewed column might still make it’s way in, we’re not sure yet whether it’s a particularly useful piece of information, as it is often inflated by bots and such.

      Regarding the existing like plugins, I will be releasing an updater for my plugin, but I cannot speak for other developers.

      • Please add a views column. Inflated by bots or not, it looks dead without it IMO. Or at least make this an optional column for those who want it.

        Thanks for the likes updater, that will be hugely appreciated. I’m using your Likes plugin now with 1.6.16 (compatible with 1.8.4?)

      • We’re always adapting it, so I’m sure we’ll have at least the option to add the views count.

        The likes plugin currently has an unstable version that works with 1.8, but is waiting until I finish MyAlerts.

      • Views for topics are still being counted, they’re only shown for a topic when you mouse over the reply count. Would be a super simple template modification to put it in its own column for those who want it there.

  2. The new integrating standards look extremely simple and modern. I thought the 2.x series would take years to come out but as far as I see you are really putting a lot of efforts into it. Keep up the good work, waiting for other updates!

  3. Will there be a tabular version of the member list as an option? Oftentimes you just want to throw a quick glance on the member list and don’t want too many details to confuse you.

    • Hi,

      It’ll certainly be possible through template modifications, but I’m not yet sure if we’ll provide it as a core option. We’ll have to discuss that.

      • Hi Euan,

        I’m just curious if there’s ever a plan to monetize MyBB. The way your post here reads, sounds like makers of other software will be able to use chunks of MyBB. Will you be licensing this to them for a fee, or? I’m just curious. It’s an amazing piece of work, I wouldn’t mind seeing MyBB team make some dough off of it at some point. Prestashop has a great setup IMO, though the modules are ridiculously overpriced (of course these are shops, not forums, so perhaps not so overpriced considering people will be using them on retails shops).

      • Hi Damian,

        We haven’t discussed any real ideas to monetize the project. We used to have a donations page before the PayPal configuration went south and never got fixed.

        Ultimately, we want to make MyBB free to all forever, because the motto we live by is “Free never tasted so good.”

        Here’s the personal opinion part that’s not fully representative of the team, so take it with a grain of salt:

        I would agree with monetizing it to an extent, as long as what we earn money for is benefiting another community at large, or our own. If earning some money would allow us to make the software better for everyone, then it’s a consideration that could be made.

      • Please take a look at the prestashop model. The software is free, but they run a very modern, shop style “plugin” shop with free plugins and paid plugins, for which prestashop receives a %, but the majority goes to the plugin creator.

        IMO its a very very smart move. Not only does prestashop make excellent money, the plugin creators do as well and are motivated to keep their plugins updated for newest versions and always advancing with new features and bug fixes. Please have a look

        http://addons.prestashop.com/en/

    • We’ll look into adding it as an option. As Euan said, it would be simple enough to do with changes to the templates — we can’t confirm if we’ll include an option for it by default at this point, though.

  4. Hi Euan and Justin,

    I started using MyBB back in April, 2014 after a programming forum I belong to went down for a several weeks, and I wanted to quickly put together my own temporary programming forum so a few of us had a place to go. After the other forum came back up, I decided to keep my forum going as I found I had my own followers that wanted another (possibly better) place to hang out. I am currently using MyBB ver 1.6 for the forum, but recently installed ver 1.8 in a different directory on my server. I could not update ver 1.6 to ver 1.8 due to the changes I hard-coded into the forum software before I discovered and became familiar with the templates and themes. Now I am starting from scratch with ver 1.8.

    Though I will be using the themes & templates as well as creating my own plugins for ver 1.8, I did discover that I still have to change parts of the main source code to the forum for the type of changes I want to make, which is fine. However, there are some things I would love to see in ver 2.0 that would help me make a better programming forum for my members and I, as well as making things much easier for me.

    * HTML5 (This will allow me to use HTML5 Canvas to draw a lot of my graphics, which will reduce bandwidth usage, and I can create custom images with animation. Also it will allow me to use other HTML5 technologies such as AJAX. I am currently building my own plugin for ver 1.8 which will allow my members to upload files on the fly, with no page refresh, and an animated upload bar. Also, I will be adding a “Upload Project” section as well that will allow members to upload their project files as a group instead of individual files. This will make it easier for members to download all the files to a project with one click. Also, I plan on having a projects page where the public can view and download a project, or a range of projects with just a few clicks. I do plan on adding a sub section to each project group where a member can upload screenshots for that particular project, and it all will stay under one group.)

    * Code boxes with line numbers in regular posts.

    * The ability to create and add custom programming languages to used and recognized by the code box. The programming language used to create projects on my forums is a BASIC dialect called QB64, and it would great if I could add that language to the list of languages recognized by the code box.

    * Latest Topics Posted (This is the most used tool on my forum. I recoded this feature on my forum to display the last 100 topics posted in a scrollable DIV box. All my regular members, as well as myself, go straight to that box down near the bottom of the page to see what has been recently posted. It is an invaluable tool on my forum.)

    * Drag & Drop feature correctly implemented for the post box. This is poorly implemented in ver 1.8. When you drag an image in the post box, it display the image fine, but when post the thread, if the image is bigger than a thumbnail, it display the textual code of the image. Personally, I think the image should be automatically uploaded to the server, so the image isn’t stored in the database as text, which will be bigger than the original image, and that there are no issues with posting them like “Request Entity Too Large” if the image is too big.

    * Built in “Custom Page” system with code editor.

    That is all I can think of at this time. Please let me know your thoughts.

    Walter Whitman
    The Joyful Programmer

    • Hi Walter,

      We usually accept feature requests via our 2.0 feature requests and suggestions forum, and will be announcing other new features in future dev posts such as this one. Saying that, I can at least confirm the following now:

      * HTML5 is being used for the default theme, with much more semantic HTML being used than the current 1.x series.
      * A list of recently updated topics is shown on the index along with the forum list. This can be changed to show only forums or only recently updated topics.

      Other features are still being debated and will be announced in future posts🙂

      Thanks for your support,
      Euan

      • Euan,

        I apologize. With all the forums I belong to, and with a modifications I have been attempting to make with my copy of MyBB (to help provide more tools and features for my members), I never took the time, or even thought about reading the MyBB forums. The only reason I found this page is due to it being listed in the Admin section on the copy of MyBB 1.8 I just recently installed. After reading this article and the comments, I decided I might try my luck at letting you know about some things I would love to see in MyBB 2.0 (Things I want to add to my copy of MyBB, but I rather not build it myself so I can work on other things).

        In the article above, there is sentence that states, “If you have any suggestions, post them in a comment or in the 2.0 suggestion forum.” When I read, “…post them in a comment…”, I thought I could post my suggestions here. From now on, I will use the 2.0 forum to post my suggestions.

        Just to let you know, I have tried many other pre-built forums and content management systems before I tried MyBB ver 1.6, and I have to say that in my opinion, MyBB was the easiest to add features and make changes, provided superior tools, more enjoyable to my members, and is very developer friendly due to the themes & templates as well as the many available plugins on your website.

        I really love the MyBB forum software so far, and I thank you and your team from the bottom of my heart for providing such a great tool for free. I personally believe this helps make the internet a little bit better place by allowing “unprofessional” people such as myself to provide communities with “professional” sites, while allowing us to spend more time at providing content and atmospheres for internet users.

        Thanks again,
        Walter Whitman
        The Joyful Programmer

  5. BTW, I wouldn’t recommend this type of pricing. Not even close. These addons/themes are for commercial shops, not free forums, but the model is sound and benefits everyone hugely. It would also draw more plugin and theme programmers if they know they can make dough. The biggest draw though is that plugins will stay updated and ever advancing. I’m still on 1.6.4 because important plugins for forum operation haven’t been properly updated. That’s not my intention to complain, but to give an example. I think it benefits everyone to take on thos prestashop model.

  6. Great work! Are there any plans on when GitHub MyBB 2.0 will be available for users contribution?

  7. cannot wait for beta or alpha builds to be released. My two favorite pieces of software coming together. I look forward to seeing your implementation and to using 2.0. I see so many possible uses.

  8. Will the licence of MyBB 2.0 be for free or for sale? I heard that it will be a premium licence!
    I hope this won’t be true at all. I think that lots of people would quit using MyBB on their websites!

    • Hi,

      MyBB is (and always will be) free and open source software. The only time that will change is for April Fool’s day.

    • Hi,

      There is no fixed release date for 2.0. It will be ready when it’s ready, and we will have a series of Alpha and Beta level releases before the Gold release.

      • I guess this is the best way to build a good software before you officially release it, expecially it’s the best thing to do for those who want to use that software for their own public website, isn’t it?

  9. Pls add inbuilt seo plugins , and Keep it light weight and also ability to switch on or off sidebar and aslo to add widgets in sitebar may be some third party codes ,or install plugins in sidebar !

  10. When is a #3 Dev Post coming out this blog? I wonder if there are any news about 2.0!
    Please, let us know about that as soon as possible. We’re all waiting to know that!

  11. Pingback: 2.0 dev post #3 | MyBB Blog

Comments are closed.