Blog Archive Page 2

MyBB Plugin Version Checking

9 Comments

Ryan likes the way we’re “plugging in” in MyBB 1.4.

Ryan has just finished one of the new features to be found in the MyBB 1.4 Admin CP. (with a little bit of XML goodness from myself too)

We’re implementing plugin version number checking directly in to the Admin CP and integrating it with the MyBB Mods site so you can quickly and easily check when the plugins you’re using have been updated.

March 21st, 2007 9 Comments

DennisTT on the MyBB Copyright

4 Comments

DennisTT has a rant about people removing the copyright in MyBB.

We’re hard working and honest people bringing you a quality product. Why can’t you say thank you by leaving 2 simple & small lines of text on the bottom of your forum?

Oh, and don’t think we can’t find your forum if you decide you’re going to remove the copyright.

March 18th, 2007 4 Comments

On MyBB Thread Subscriptions & Favourites

12 Comments

We’ve recently had a few people ask on the MyBB Community Forums how they can subscribe to a thread they reply to but not receive email notifications of new replies. They didn’t realise that we already had this functionality – you can add threads to a “favourites list”.

Why didn’t they realise this? The two leading commercial bulletin boards, vBulletin and Invision Power Board have both set the standard in user expectations on how features should work. Both of these commercial and highly popular bulletin board scripts allow users to add threads to their subscriptions list without receiving email notifications.

This creates a bit of a problem for us in MyBB as we’ve got this feature – favourite threads, which nobody actually uses or knows what it does because most are used to the ability to subscribe to a thread and elect to receive no email notifications of new replies.

In an attempt to “normalise” the front end functionality between bulletin boards, MyBB 1.4 now adopts a similar approach – we’ve completely scrapped the separate interface for favourite threads and merged the functionality in to the subscriptions system. This isn’t about us copying x or y, it’s about us bringing an interface to MyBB which hopefully brings some sort of small amount standardisation to the market.

People usually visit several different forums on the internet and interact with each of them. They’re most probably powered by several different forum scripts too and the problem with this is that usually features are worded differently or behave differently between these applications and uses do get lost and don’t know how to perform a task they can on another board. We need to help with this in some cases so we can provide a better experience for your users.

To explain a little better, the new subscriptions system has the following functionality:

  • When registering or editing their profile, users can select their default thread subscription method: Do not subscribe to threads, subscribe to threads but don’t send notification emails or subscribe to threads and receive instant notification emails.
  • Users can select which type of notification they want when making a new thread or posting a reply – the same options as above.
  • When clicking the “Subscribe to thread” link in threads, users are presented with a screen allowing them to choose how they’d like to be notified of new replies (not at all or instant notification)
  • The subscriptions page now lists all subscriptions, you’re notification method for new replies and looks similar to the standard thread listing pages.

Subscribing to a thread
The options you’re shown when subscribing to a thread from the show thread page.

Thread subscriptions
Your subscriptions list – looking similar to the thread listing & containing checkboxes to manage the subscriptions.

March 5th, 2007 12 Comments

MyBB Gets Smarter

17 Comments

With MyBB we want everyone to have the best possible “out of the box experience” as possible. An “out of the box experience” is the experience a user has with MyBB directly after they’ve installed it – after all, first impressions do count.

MyBB 1.4 is becoming more and more intelligent. We recognise what users want, that they want to have a functional system which they enjoy to use and requires little time and effort to configure.

The “Search Engine Friendly URLs” option in MyBB 1.4 is an example of how MyBB is giving you want you want right out of the box. For those who don’t know, search engine friendly URLs convert big long URLs in to much shorter and easier to type URLs. They’re also very beneficial to search engine optimization and improving your page rank. This is a feature users have wanted us to support for a long time and have had to rely on plugins to provide the same functionality however with varying results.

An example of search engine friendly URLs would be as follows:

Old URL: showthread.php?tid=10&page=2
New and Improved URL: thread10-2.html

Now I estimate that a lot of people will turn to us and ask us how they enable this functionality or do we have it in MyBB at all.

MyBB 1.4 will automatically enable search engine friendly URLs if your server supports them. (Apache based servers only at this stage)

This means that after you install MyBB, if your server supports search engine friendly URLs they will automatically be enabled without you being required to perform any additional configuration.

Of course, we support the automatic detection along with manual overrides to enable or disable the functionality for when you wish to override the automatic detection or disable the functionality completely.

Stay tuned for more information on MyBB 1.4 in the coming weeks (pending we feel like releasing some of our much kept secrets)

January 7th, 2007 17 Comments

MyBB… I like the way you import

31 Comments

So today for something different I’m going to have a bit of a guest author on my blog to talk about something they’ve been working on in MyBB. That person would be Tikitiki and the feature would be the MyBB import system. Ryan actually wrote this article previously but he’s decoded he may be removing his blog soon but still wants to be famous people to know about what he’s been up to.

So, below Ryan talks about the MyBB conversion wizard. Though it is actually a lot more than that. It could be called the “MyBB Merge Wizard”. Essentially what you can do is import as many different bulletin boards as you want in to your one copy of MyBB – and you can even merge one or more copies of MyBB as well. Now keep in mind when you’re reading below that the system isn’t finished yet but is currently under active development – there is lots of work to be completed.

The design (well idea) of the system and how the base functionality works was designed by myself over a year ago. Ryan rewrote it all, I rewrote some bits, Dennis touched it up a bit further and now Ryan has taken back over and is pushing development right ahead.


The whole point of the MyBB Import system is that you can merge databases. You can also select what to import, and what not to import. Now it’s not finished, but I’ll explain what the system does and how easy it really is!

MyBB Conversion Wizard - Welcome.png

The first step – The welcome page! Not all of the converters have been finished, but this shows what will be done by the time 1.4 is released. Currently we’ve finished: MyBB (Merge), SMF, phpBB 2, and PunBB.

MyBB Conversion Wizard - Module Selection.png

The second step shows you the module list. You’ll need to fill in your database configuration details as shown in the picture below.

MyBB Conversion Wizard - phpBB 2 Database Configuration.png

This page is where you’ll fill in the database details of the database you want to import.

MyBB Conversion Wizard - Module Selection2.png

Once you are done with that, you’ll get back to the module page. Here you’ll see that you can select a module to start out from. These modules need to be done first because data is required from these modules for other modules.

MyBB Conversion Wizard - Import phpBB 2 Usergroups.png

Here you’ll input how many of the module you selected you want to import. Once you’re done with this, click next to continue.

MyBB Conversion Wizard - Import phpBB 2 Usergroups2.png

At this screen, it shows you whats been run in the module. Click next to continue; If there are more it will continue on with the module, otherwise you’ll be sent back to the module list as depicted in the picture below.

MyBB Conversion Wizard - Module Selection3.png

Here you’ll be able to select the next module, or, if your finished, you can press “Clean Up” and it will show the next page.

MyBB Conversion Wizard - Completion.png

The is the last page of the importer before you can visit your new imported board :)

You can also pause modules so you don’t have to run them all. Say you only wanted to import 10 threads. And of course, you can resume the module if you wish to continue importing them, but we’ll get into that more later

November 16th, 2006 31 Comments

Looking back at the MyBB 1.2 release

19 Comments

So it has been 20 days since we released MyBB 1.2 and I thought it’d be interesting to take a look at a few statistics and comment on a few different things regarding the release.

Download Statistics
  • MyBB 1.2, at the time of this post, has had 22,409 downloads in since release.
  • MyBB 1.2 has been downloaded 18,005 times this week.
  • Our downloads system (collectively all downloads on the MyBB site) has served 29gb bandwidth since the beginning of this month.
Code Modifications & Plugins

I was extremely worried that with the massive amount of changes in MyBB 1.2, it’d adversely leave those using plugins “out in the cold” and stop them from upgrading due to incompatibilities.

I’ve been proven wrong. In less than a month there are 68 modifications for MyBB 1.2 over on MyBB Mods. This is compared to the 59 modifications for MyBB 1.1.x which was released several months earlier.

I also had the opportunity to dive in and write my first released plugin, a full rewrite of k776 Rules Page modification. It also allowed me to demonstrate the functionality of adding your own user defined ?action=’s to the scripts so you don’t need to upload additional files to the forum root directory.

Translations

I don’t really keep up on the translations – Tochjo is the expert in that area but I believe we’ve already got several complete translations with a few more currently progressing.

Our changes to the license agreement allow greater flexibility for translators too – they can develop their own MyBB support site and throw a modified copy of MyBB up for download on it completely localised – no more buggering about installing separate languages after you’ve installed MyBB.

Well then…
  • We’ll be releasing a MyBB 1.2 update very soon which contains a range of bug fixes and fixes one or two low-risk vulnerabilities.
  • Planning for the next release of MyBB is underway. I’ve got my notes taken from testers on our beta forums, I’ve read over the suggestions forum and we’ve began collaborating in our “super secret development area”.
    • You’ll be seeing a new Admin CP
    • Several front end features are going to be reworked – think Calendar and Member List
    • Lots of small features, tweaks and modifications to provide an awesome user experience in MyBB
  • I learnt more from the 1.2 release than I usually would a normal release - we made some big changes including changing the character set to default to UTF-8 which caused quite a few problems, after all of the javascript issues we had with the new javascript based features there are still more, the upgrade scripts need to be made more flexible (refreshing shouldn’t break it, it should carry on at the next step to complete)

That’s about it – it’s essentially time for me to head back to bed. (these midnight to 8am shifts at work really screw with your body clock)

Sometime soon, I’ll be taking a look at some of the more integrated copies of MyBB running on sites and hopefully running through a little bit of how to do that on your sites as well.

September 22nd, 2006 19 Comments

MyBB has a legal run-in with XennoBB

23 Comments

So it seemed that sooner or later we’d have some problems with XennoBB stealing our work as they’re known to have done so in the past. (and continue to do so)

The developer of XennoBB, Marius Stanciu (aka Osgiliath and Kiefer Andrew Kale) popped up earlier this year with “Revo Forum” which was actually just a copy of PunBB with all of the copyrights changed. It was quickly spotted and BerliOS closed down the project. A few months later, XennoBB popped up with interestingly the same set of features, a developer with the same name, and still all of the internal copyrights changed to XennoBB.

Some of us, who support the GNU GPL and respect proper credit being given for peoples work, decided to take it upon ourselves to do something about this thief. Eventually the developer of XennoBB added back the respective copyrights to the forum package. Up until that point he had completely denied XennoBB was based on anything and claimed that it was entirely all of his work.

However as we dug deeper we also noticed that all he’d done to XennoBB was add in PunBB code modifications and plugins and continued to remove the copyright from them and claim the work all as his own. (Which he is currently also doing with his XennoCMS) He refused, once again, that he’d done this even though it was evident through simple code analysis procedures.

Things began getting full on, we contacted several developers of scripts such as phpMathPublisher, phpSpell for phpBB, and phpMultiSyn to notify them that they were being ripped off. Things slowly began to get back in to order and he began adding the copyrights back where they should have been.

But things didn’t stop there. The XennoBB Project Manager, Marius Stanciu began giving the MyBB and UseBB resource listings over at HotScripts invalid and low ratings. (and we suspect he is still doing so) He continued to rip other peoples work, deny it and fight back any claims. He also began insulting us, “MyCrappyBB”, “UnusableBB”, “NoOneCommune”, “Chris Bottom”, you get the point.

You can find a very interesting (and long) thread about all of what has been going on previously over on OneCommune – How to deal with content ripping? As well as OneCommune – Threads and problems from Xenno Group.

Now back to the point of this post, on 16/09/2006 I’d downloaded what was claimed to be “XennoBB 3.0 RC3″ and began analyzing the source to see which product was his next target to rip. Lo and behold, what should I find but the MyBB XML parser.

I wasn’t going to put up with this and his smart-ass little tactics. Immediately I contacted our legal representation who drafted him a nice letter to be sent via email and snail mail outlining that if the offending code wasn’t going to be removed then he’d be facing legal prosecution from us. Now obviously I can’t post the whole letter here but our code analysis identified the code as ours through:

  • Consistent variable naming and default values ($collapse_dups, $index_numeric)
  • Class constructor initializes and stores XML data
  • Consistent function names (get_tree to Fetch_Tree, build_tag stays the same, get_children to Fetch_Children)
  • Inner code workings and logic are exactly the same of the MyBB XML parser
  • General code consistencies with removal of whitespace
  • Clean_XML function is an exact replication of the kill_tags function, specifically designed for use with certain XML data types used by MyBB. Whitespace removed, minor variables renamed
  • Code is missing copyright statement to Eric Pollman (http://eric.pollman.net/work/public_domain/) which the initial code was based off (a separate matter which will result in Mr. Eric Pollman being contacted)

2 days after he’d received the email (and probably even before the letter sent in the mail had arrived at his door stop), he’d released XennoBB 3.0 RC4 in which the offending code had been removed. Of course, rather than admit any of this to his users (well, his posse who tend to believe he hasn’t ripped anything or done anything wrong) he just explained it as being a bug fix release.

Obviously he didn’t think we’d find the offending code or when we did we wouldn’t have the kind of legal power to do anything about it (which he was completely wrong), or he just did it intentionally just to get to us.

Today I also discovered that this cheat, thief and liar had also decided that for XennoBB 3.0 RC5 he was going to take great inspiration from wtcBB. (his ‘inspiration’).

This is a continuing issue as he can’t seem get it through his head that what he is doing is illegal and is doing him more harm than good.

His response to us? We’re apparently doing it entirely because our software isn’t as successful as his. My ass. MyBB 1.2 is currently doing around 2,000 downloads PER DAY, resulting in over 11,000 downloads in the past week. With over 28,000 downloads combined from the MyBB site (25gb) so far this month, we’d be pulling at least three times as much traffic in a week than he pulls over a month.

If you want to read more on this idiot, his continual lying and theft of software at the following places:

September 20th, 2006 23 Comments

Server Move

7 Comments

It didn’t take too long for somebody to hassle me after they’d notice SurfiOnline (and other sub domains) were down. The reason? They were being moved to the new MyBB server.

The new MyBB server is exactly the same as the old one, 2.8ghz P4, 80gb HDD with the differences being now 2gb RAM, 500gb extra data transfer per month, Debian being the operating system in use, and $8 cheaper than before. I purchased it at the beginning of the month through a sale LayeredTech had running for double the RAM.

People who are hosted whom I haven’t already spoken to will need to contact me to reset their passwords for FTP/SFTP services.

The only site which is being served off the old server now is the MyBB site – and will be moved by the end of the month.

June 9th, 2006 7 Comments

Writing Modifications for MyBB 1.2

23 Comments

So as the time comes closer to the MyBB release, I guess it’s time to tell you guys that we will have broken a lot of older code modifications and plugins due to the extensive changes in MyBB 1.2. Each and every template has also changed to conform to our new standards.

This is a short guide on how to ensure your code modifications and plugins are ready for MyBB and what changes will be required for your modifications to work with 1.2 as well as other code based changes.

Function Calls

One of the major changes is that most of the functions within MyBB have renamed to make more sense and make them more understandable when reading the code.

Example changes include:

  • outputpage becomes output_page
  • getparentlist becomes get_parent_list
  • nopermission becomes error_no_permission
  • ismod becomes is_moderator
  • updateforumcount becomes update_forum_count

Generally, underscores are used to break the function name up so it becomes readable. Most functions are prefixed with a verb such as output, update, get, do, format, or build. You’ll need to check functions.php closer to the release for the new names of functions.

The other change in regards to function calls is that several are now deprecated and no longer exist within MyBB. postify, domecode, domycode are examples of these functions which no longer exist and have been replaced in some way, shape or form (The post parser is now a class)

Accessing Internal MyBB Variables

The $settings and $mybbuser variables became deprecated in MyBB 1.0, however we left in support for them due to the vast number of modifications still using them.

MyBB 1.2 no longer contains these references, and only supports accessing them through the MyBB class variable ($mybb). For example:

  • $settings becomes $mybb->settings
  • $mybbuser becomes $mybb->user

Get and Post Variables

Introduced with 1.0 along with the MyBB core class was a standardised way of accessing input (Get and Post) variables as well as having common variables such as thread ID (tid) and pid (post ID) automatically filtered for bad input. We also had in place code which would not kill global variables such as $tid, $pid assigned from Get or Post input when register_globals was turned on within PHP and the KILL_GLOBALS constant was not defined.

Up until 1.2, if you still followed old coding conventions with register_globals turned on, this would have worked. You are now required to either use $_GET, $_POST or preferably $mybb->input to fetch incoming data.

Variables within Templates

We were sloppy in MyBB with variables (specifically arrays) in templates. We still used $example[hi] instead of $example['hi'] because our template parser (using eval) did not support this. MyBB 1.2 now uses, by default, variables enclosed within curly braces such as {$example['hi']}. The same applies for class variables.

Database Querying

MyBB 1.0 introduced $db->update_query and $db->insert_query methods for inserting data into a table within a database. We’ve further extended the database abstraction layer by adding a few more methods:

  • fetch_field – Fetch one specific field from a row being queried
  • simple_select – Used to perform a simple select query (with no joins) on a table
  • delete_query – Used to perform a delete query on a table in a database
  • escape_string – Replaces addslashes, escapes data before being used in a query
  • get_version – Returns the version number of the database server being used

That is just a handful of some of the new methods available in the release. You should make proper use of them when necessary to ensure your queries are cross compatible with different database engines. This release also includes a MySQLi database abstraction layer which is used in preference over MySQL if your server supports it.

Good Clean Code and Coding Standards

The MyBB coding standards have basically been rewritten to conform to stricter policies making code easier to read and write.

  • Code should be commented so that a user can understand what is happening
  • Functions should be descriptively named, contain underscores to break words and contain PHPDoc headers
  • Queries are now split on to multiple lines allowing you to quickly identify what is selected, from where, where joins are and the conditions/limits of the query

Full coding standards will be released along side the MyBB 1.2 release.

This is just a small overview of what has changed with MyBB 1.2. It is by no means a comprehensive guide and things will probably still change before the release.

I’ve probably managed to scare a few people off now by stating that most modifications will not work without further code changes, but MyBB 1.2 brings in many, many and even more advantages and features than any other MyBB release and you should be looking forward to it. It is a huge step for us, and probably you too.

June 2nd, 2006 23 Comments

Interviewed on AdminFusion

10 Comments

Over at AdmnFusion, they have an interview with me about MyBB, my personal life and some other crazy thngs.

It might be worth the read to a few.

May 15th, 2006 10 Comments