MyBB Development Blog

Welcome to the MyBB Development Blog. Here you'll find updates relating to the development of future versions of MyBB as well as technical discussions, tips, tricks and modifications to help you get the most out of MyBB.

MyBB 1.4 Admin CP - The Complete Overview (Part 3)

By Ryan Gordon | Published March 18th, 2008 | Updates | Rating: 1 Star2 Stars3 Stars4 Stars5 Stars Loading ... Loading ...

Welcome back for another overview of MyBB 1.4’s Administrator Control Panel - this time, we’ll be covering the “Users & Groups” as well as some of the technical decisions made.

A portion of code in the Users ACP page

A portion of code in the Users ACP page

Users & Groups

Users

Like many other sections of the new Admin CP, the user management section is quite different from what you’ll be familiar with in MyBB 1.2. The focus of the new section is still very much to make it quick and easy to find and manage the users you need to. When you click on the new “Users & Groups” tab, you’ll automatically be taken to the Users page, from which you can quickly find, merge, and create new users. When you find the user you’re looking for, a number of options are available to you; including edit, delete or ban the user, show referred users, show IP addresses used by that user, and view the user’s attachments.

Users

Users

Find Users

Find Users

Creating a User

Creating a User

Show IP Addresses

Show IP Addresses

Merging Users

Merging Users

In the first screenshot above you’ll probably notice that the page begins listing all the registered users of the board in business card style. This is part of a new feature called “Views,” which is a great new way of quickly getting to the information you require regularly. Essentially, views are saved live searches. In the screenshot for example, the default “All Users” view is selected and is therefore starting to display all the registered users of the board, along with the user’s email address, registration date, the date on which they were last active, and the user’s post count. You can modify the view or create a new view which instead listed users with different information such as their primary user group, additional user groups, reputation, and so on. You can also specify search criteria and sorting options for any view you create, as well as view the results in either list or business card style.

Views

Views

Adding a View

Adding a View

Adding a View

Adding a View

Editing a View

Editing a View

Users List View

Users List View

There’s a lot of information to store for each user, such as their details, profile information, and personal options. In the front-end these options have always been grouped into different sections of the User CP in order to make it easier for users to find exactly what they want to change. We’ve introduced a similar idea into the new Admin CP. When you select a user to edit you’ll be taken to a page with five tabs, on which only the relevant options are displayed. These tabs are labeled “Overview,” “Profile,” “Account Settings,” “Signature,” and “Avatar.”

Editing a User

Editing a User

Edit User Profile

Edit User Profile

Edit User Account Settings

Edit User Account Settings

Edit User Signature

Edit User Signature

Edit User Avatar

Edit User Avatar

Edit User Avatar

Edit User Avatar

Groups

When you head to the “Groups” section of the new Admin CP, you’ll be taken to a page that looks very similar to its 1.2 counterpart. You’ll see a list of the current user groups along with the group description, the number of users in the group, its order on the “Forum Team” page, and the relevant control options. There’s also a new icon next to each group which makes it more obvious which groups are custom groups and which are there by default. You’ll notice a significant difference when you click to edit a group. Rather than displaying all the group options at the same time, the options have been separated into four different tabs; namely, “General”, “Forums and Posts”, “Users and Permissions” and “Miscellaneous”.

Manage Groups

Manage Groups

Adding a Group

Adding a Group

Editing a Group

Editing a Group

Editing a Group

Editing a Group

Editing a Group

Editing a Group

Editing a Group

Editing a Group

User Titles

The user titles section hasn’t changed much from the Admin CP in 1.2. It allows you to manage the default user titles that members will automatically be assigned based on their post count. The interface is straightforward just like its MyBB 1.2 counterpart.

User Titles

User Titles

Adding a User Title

Adding a User Title

Editing a User Title

Editing a User Title

Banning

One of the things we thought was messy in 1.2 was that banning options weren’t placed in the best of places in the Admin CP. You could ban a user in the banning section, but to disallow specific usernames, IPs or email addresses you would instead have to look through the settings area to find the appropriate options. In 1.4 all of these options are placed in the same place making it easier to find the specific banning options you require. We included screenshots of the “Banned IPs”, “Disallowed Usernames” and “Disallowed Email Addresses” pages in Part 1, as they are technically under the Configuration portion of the Admin CP, so here’s a screenshot of the “Banned Accounts” page which instead falls under the Users portion of the Admin CP.

Banning

Banning

Admin Permissions

The “Admin Permissions” section has received the same kind of tabbed layout used in the users and groups editing pages. The permissions are spread over five tabs which correspond to the main tabs of the Admin CP.

Admin Permissions

Admin Permissions

Default Admin Permissions

Default Admin Permissions

Editing Admin Permissions

Editing Admin Permissions

Admin Group Permissions

Admin Group Permissions

Mass Mail

The Mass Mail section has changed a fair bit. The first thing you’ll see when you click the mass mail page is the current message queue, which contains mass emails which are still sending. Yes, this means mass emails are now sent using the task system, and you can also schedule mass emails to be sent at a later time. Aside from the obvious layout changes, many of the sending options remain the same but with one significant addition. It’s now possible to send mass emails in plain text, HTML format, or both. If sending in both formats, you can either enter a specific HTML and plain text version of the message, or have MyBB attempt to create the plain text version automatically based on the HTML version.

Mass Mail

Mass Mail

Creating a New Email

Creating a New Email

Group Promotions

The group promotions system is a major new feature in MyBB 1.4. The system allows you to promote users of specific groups to another primary or secondary group when they meet the required criteria, such as post count, reputation and time registered. Promotions are then performed using the new task system in MyBB 1.4. This system solves many requests administrators have made to restrict forums or features to users with a specified number of posts or time registered.

Group Promotions

Group Promotions

Adding a New Promotion

Adding a New Promotions

Adding a New Promotion

Adding a New Promotions

Editing a New Promotion

Editing a New Promotions

Viewing Promotion Logs

Viewing Promotion Logs

Technical Decisions

From the beginning of MyBB 1.4 development to this very day, MyBB 1.4 has nearly doubled in the amount of code compared to MyBB 1.2. Here are some figures:

MyBB 1.2:
Source code lines (not counting blank lines): 65,165 lines
Comment lines: 6,994

MyBB 1.4:
Source code lines (not counting blank lines): 113,503 lines
Comment lines: 13,722

Throughout all of MyBB 1.4’s development process, we’ve seen many new and exciting features. I’m going to talk a bit about some of the less known and more technical side of things in MyBB 1.4, so feel free to skip over this section if you lack interest when it comes to code.

PostgreSQL, SQLite 2, and SQLite 3 (via PDO) are all supported in MyBB 1.4. What’s more is we’ve implemented Slave/Master technologies allowing people to hook up multiple SQL servers. If I had two MySQL servers, the code in inc/config.php for databases would look something along the lines of this:


$config['database']['type'] = ‘mysqli’;
$config['database']['read']['database'] = ‘mybb’;
$config['database']['read']['table_prefix'] = ‘mybb_’;
$config['database']['read']['hostname'] = ‘localhost_read_address’;
$config['database']['read']['username'] = ‘root’;
$config['database']['read']['password'] = ”;


$config['database']['write']['database'] = ‘mybb’;
$config['database']['write']['table_prefix'] = ‘mybb_’;
$config['database']['write']['hostname'] = ‘localhost_write_address’;
$config['database']['write']['username'] = ‘root’;
$config['database']['write']['password'] = ”;

You could even have multiple read and write databases like:


$config['database']['type'] = ‘mysqli’;
$config['database']['read'][]['database'] = ‘mybb’;
$config['database']['read'][]['table_prefix'] = ‘mybb_’;
$config['database']['read'][]['hostname'] = ‘localhost_read_address’;
$config['database']['read'][]['username'] = ‘root’;
$config['database']['read'][]['password'] = ”;


$config['database']['read'][]['database'] = ‘mybb’;
$config['database']['read'][]['table_prefix'] = ‘mybb_’;
$config['database']['read'][]['hostname'] = ‘localhost_read_address2′;
$config['database']['read'][]['username'] = ‘root’;
$config['database']['read'][]['password'] = ”;


$config['database']['write'][]['database'] = ‘mybb’;
$config['database']['write'][]['table_prefix'] = ‘mybb_’;
$config['database']['write'][]['hostname'] = ‘localhost_write_address’;
$config['database']['write'][]['username'] = ‘root’;
$config['database']['write'][]['password'] = ”;


$config['database']['write'][]['database'] = ‘mybb’;
$config['database']['write'][]['table_prefix'] = ‘mybb_’;
$config['database']['write'][]['hostname'] = ‘localhost_write_address2′;
$config['database']['write'][]['username'] = ‘root’;
$config['database']['write'][]['password'] = ”;

Now, in the event that you do have multiple read / write servers setup in the config, MyBB would connect to all the write servers so it can update all of them, and select 1 read server at random. I wish we could easily detect the load of the read servers and pick the lowest one, but unfortunately that’s not very practical yet.

If you are going to have multiple read and write servers, you should put your read servers on a load balancer rather than in MyBB’s config file. The only difference is you would point the read array towards your load balancer.

On a different note, I’m sure you saw the picture at the top of this blog post depicting some code. This code is from MyBB 1.4 and it is of the new code in the ACP; specifically, the Users page in the ACP. I won’t go into detail about all the new code in the ACP but I’ll briefly cover what was shown in that picture.

The first thing you’ll notice is $form->output_row(…). What it does is fairly obvious but just in case, it outputs a row to your MyBB ACP page. The arguments for this function are as follows:


title - string The title of the row.
description - string The description of the row/field.
content - string The HTML content to show in the row.
label_for - string The ID of the control this row should be a label for.
options - array Array of options for the row cell.
row_options - array Array of options for the row container.


output_row(title, description="", content="", label_for="", options=array(), row_options=array())

Now you may be thinking we use pure HTML all the time in $form->output_row. As you look closer at the picture, however, you will also see $form->generate_select_box and $form->generate_check_box, the arguments of which are:


name - string The name of the select box.
option_list - array Array of options in key => val format.
selected - mixed Either a string containing the selected item or an array containing multiple selected items (options['multiple'] must be true)
options - array Array of options for the select box (multiple, class, id, size)


generate_select_box(name, option_list, selected=array(), options=array())

and


name - string The name of the check box.
value - string The value of the check box.
label - string The label of the check box if there is one.
options - array Array of options for the check box (id, class, checked)


generate_check_box(name, value="", label="", options=array())

Those are just two of several functions that allow you to generate code automatically for the new ACP.

Questions? Comments? Anything else?

As with the rest of the Admin CP, the Users & Groups tab packs a huge number of features and functionality in an easy to use interface. Once you use 1.4’s Admin CP, you’ll be able to tell a lot of planning was put in to forming the best layout possible for all features.

Another overview covering the “Theme & Templates” tab and will be posted within the next few weeks as well as a few other things we haven’t covered. We will also get into the questions you left us last week and this week. Leave a comment with your question and check to see if your question has been answered!

There is still some left to cover, but as always, we’re happy to hear any questions or feedback you may have. We’ll try to take advice on board, but understand it isn’t always possible. There’s still more exciting parts of the Admin CP left to share, so by no means is this all we’ll be posting!

Multiple people contributed to the writing of this article, including MusicalMidget, DennisTT, Tikitiki, Chris Boulton, and Justin S.

Comments

  1. 1.

    Das Tier (March 18th, 2008, 4:45 pm)

    The MYBBoard new theme is looking very nice, The best part in the review is that you talk a bit about the technical stuff just love it. Keep up the good work.

  2. 2.

    Adam Dempsey (March 18th, 2008, 8:23 pm)

    The Admin CP is looking great! looking forward to trying it out for myself!

  3. 3.

    Sonict (March 19th, 2008, 7:57 am)

    Wow. Very nice ACP. I can’t wait until 1.4 is out. Once this is out, it will give other forums some competition indeed.

  4. 4.

    Das Tier (March 19th, 2008, 8:16 am)

    @Sonict - It will be more like other forums will have to cook up some thing better of a on fire stove ;)

  5. 5.

    DCR (March 19th, 2008, 12:55 pm)

    WOW. I’m literally shocked. Amazing job MyBB!

  6. 6.

    Jason (March 19th, 2008, 2:17 pm)

    MyBB kicks phpBB’s ass.

  7. 7.

    Rovin (March 19th, 2008, 6:04 pm)

    This looks so good. I’ll read it in full a bit later….

  8. 8.

    LikeLy (March 19th, 2008, 9:08 pm)

    Hello! Perfect ;)

  9. 9.

    Arno (March 19th, 2008, 10:22 pm)

    Thank you for the information Tikitiki…

  10. 10.

    Kimmy (March 20th, 2008, 3:36 am)

    The features mentioned here for 1.4 will definitely improve the manageability of MyBB forums. Keep up the good work.

  11. 11.

    rcpalace (March 20th, 2008, 3:51 am)

    Looking good indeed. I really like the way you guys develop. Setting mostly everything in functions and making it easier for development. Organization is always the key!
    Thanks for a wonderful post.
    Regards.

  12. 12.

    Staff Response: Justin S. (March 20th, 2008, 6:10 am)

    Remember if you have any questions, please ask away! We’re looking for some questions to answer in the next post! :)

  13. 13.

    xCrAsHeRx (March 20th, 2008, 9:15 am)

    I like the new style very much. Good job Mybb-Team

  14. 14.

    Snowy (March 20th, 2008, 9:40 am)

    QUOTE: Justin S.
    “Remember if you have any questions, please ask away! We’re looking for some questions to answer in the next post!”

    Does “When will it be released” count? :P

  15. 15.

    Nickman (March 20th, 2008, 12:43 pm)

    In this picture:
    http://blog.mybboard.net/wp-content/uploads/2008/03/users_titles_add.png
    it says,

    Note: This is not not the promotion system

    (Notice 2 nots)

  16. 16.

    Das Tier (March 20th, 2008, 2:35 pm)

    @Justin S.

    well okay it says “you should put your read servers on a load balancer ” well show would you do that is that a server thing or some that can be done by MYBBoard.

  17. 17.

    Staff Response: Tikitiki (March 20th, 2008, 2:50 pm)

    Nickman, thanks, will be fixed!

    Snowy & Das Tier, both your questions have been accepted for next weeks blog post!

  18. 18.

    Tyler (March 20th, 2008, 3:28 pm)

    I really don’t get the Slave/Master function you’ve added.

  19. 19.

    Faby (March 20th, 2008, 5:24 pm)

    Question: will you be posting ABSOLUTELY every information on 1.4?
    Too much spoilers. I still wanna be surprised when I download it :D

  20. 20.

    DennisTT (March 20th, 2008, 7:27 pm)

    Public beta for MyBB 1.4 (with Mod CP and Admin CP access) is setup at http://beta.mybbfans.com/mybb_140b

    Go go go! :D

  21. 21.

    Tristan (March 20th, 2008, 8:21 pm)

    Love it! Dennis, oh…

    I almost forgot: You’re my hero. :)

  22. 22.

    S1R (March 20th, 2008, 8:29 pm)

    Thansk MyBB ….

  23. 23.

    John Briggs (March 20th, 2008, 8:33 pm)

    Simply fantastic. The market is facing some real competition on a major level with MyBB 1.4 coming about.

  24. 24.

    dared (March 20th, 2008, 10:24 pm)

    @ DennisTT

    HOLY SH.T THX A LOT DennisTT

    veni vidi love it :D

  25. 25.

    Nickman (March 21st, 2008, 9:09 am)

    Is the Sharepoint ACP theme going to stay?

    I’m like in love with it :P

  26. 26.

    Aglioeolio (March 21st, 2008, 10:41 am)

    Amazing Features with Ajax all over the place :D

    cant wait to test in my boards, Thank you mybb Devs

  27. 27.

    Tristan (March 21st, 2008, 11:47 am)

    Just a question for the staff, are there controls for administrators to regulate use of the moderator control panel (ie: how long mods can ban, who can edit profiles, etc…) or is the whole panel open season if one has access to it?

  28. 28.

    Faby (March 21st, 2008, 5:54 pm)

    Question: will we be able to disable (lol) the SEO system for the forum?
    Instead of thread-1-post-2.html to have showthread.php.blabla

  29. 29.

    ZiNgA BuRgA (March 21st, 2008, 8:40 pm)

    @Faby: Yes, there is an option in the AdminCP to disable the SEO URLs.
    Also, the SEO URLs require mod_rewrite + .htaccess enabled to work, so if you don’t have them enabled on your server, it won’t work anyway :P

  30. 30.

    Jordan (March 23rd, 2008, 5:43 am)

    The beta you put up is amazing. Keep up the fantastic work!

  31. 31.

    Jack (March 23rd, 2008, 6:05 am)

    Hi there, I’ve been trying out the beta - I noticed that Warning Types can only be given between 1 and 10 points. Could this be extended? In some cases with our current warning system, we require having to give out up to 25 points for more serious offences.

  32. 32.

    Staff Response: Tikitiki (March 23rd, 2008, 6:37 am)

    Jack, the system operates on a base 10 system by default. You can change this in the Warning System Settings in the ACP.

  33. 33.

    Flick (March 24th, 2008, 2:04 pm)

    OMG, a public beta (could just die and go to heaven already :D) - I loved it! I can’t tell you how much I love it! :D Am reading the news about Wordpress’ new admin interface, and whilst I really shouldn’t compare apples with pears, it is far easier to be enthusiastic about MyBB’s new interface compared to WP’s redesign.

    To put it cheesily - if this was a soft toy, I’d hug it everyday! Am really impressed by the interface at the moment, it is light years ahead of the current design and so very well thought out.

    My question (probably already answered) is this multiple database thing. As a newbie, my understanding is that this means I can run my forum on multiple databases?

  34. 34.

    Staff Response: Tikitiki (March 24th, 2008, 3:07 pm)

    Flick, it’s for redundancy and performance. No it doesn’t mean you can split up your forum into multiple databases (If that’s what your asking). And in fact, it will be useless to anyone underneath 3 million posts. It would be more of a burden than a performance post to have to connect to multiple SQL servers if in fact you have a small database

  35. 35.

    Jordan (March 24th, 2008, 9:57 pm)

    Is there any improvements on the Referral System in MyBB 1.4?

  36. 36.

    GodsDead (March 26th, 2008, 12:46 am)

    Wow, this is looking so much better!
    i love the idea of being able to use multipul sql servers, not that i would need it! unless i have a separate off site sql database for backups lol!

    And i love the generation of code automatically, thats ausom.

    I recently changed my main forum to SMF (click my name) , as mybb was’nt looking too “community” held, so its a struggle to choose from the mybb 1.4 and the new SMF 2.0 when they both arrive.

    Who can turn the table for me?

    will there be some “converters” for v 1.4? to convert from other open source software?

    Very anticipated to try this out =]

  37. 37.

    David (March 26th, 2008, 1:12 am)

    Does the register from have ajax check by default?

  38. 38.

    Franzll (March 26th, 2008, 8:41 am)

    Hello

    Can the admin in v1.4 use Präfixes for the forum?

  39. 39.

    Staff Response: Tikitiki (March 26th, 2008, 10:09 am)

    Franzll & David, you’ll need to clarify?

    GodsDead, “will there be some “converters” for v 1.4? to convert from other open source software?”

    - There are already converters called the MyBB Merge System and it would be stupid to stop supporting or releasing it just because of a new MyBB version.

    Jordan, no. It’s such a tiny and barely used feature + this release is (obviously) focused on the ACP.

  40. 40.

    Franzll (March 26th, 2008, 9:09 pm)

    Thanks and i have a new question:

    i know you dont like these questions about the release date but do you know circa when you release the new version? this month? next month? this year? next year?

  41. 41.

    Flick (March 27th, 2008, 1:22 am)

    @Tikitiki: thank you for the help reply. Actually that is what I meant, and it seems I must read up more about how all these backend database things work. ^^ We’re pretty far from 3 million posts (darn! :D)

  42. 42.

    TAEL (March 28th, 2008, 9:25 am)

    Release it please !

    Great work !

  43. 43.

    das tier (March 30th, 2008, 2:35 pm)

    when will the next blog post be coming :p

  44. 44.

    Staff Response: Tikitiki (March 30th, 2008, 3:21 pm)

    das tier, when its ready

  45. 45.

    sabeur (March 31st, 2008, 1:35 am)

    Looks great now you can fight phpbb on its own playground

  46. 46.

    Smethead (March 31st, 2008, 5:15 am)

    Wow that’s a huge change. It looks very good :thumbs_up:

  47. 47.

    ufuk (April 1st, 2008, 2:44 am)

    very thanks… :) nice :)

  48. 48.

    Isak (April 1st, 2008, 3:51 am)

    Hi..

    I need time format for mybb ?

  49. 49.

    robyholmes (April 2nd, 2008, 8:10 am)

    Hey, this looks great! I have tried out the beta and it looks great and is so much better!

    How will themes go on moving to this next version? I know the layout of the posting has changed a lot so will the theme have to be changed a long way to so that the user’s details are above the post? Or will the theme move it back to the side?

  50. 50.

    redline9 (April 8th, 2008, 9:29 am)

    This looks absolutely great. Can’t wait for it to be released!

  51. 51.

    haRacz (April 9th, 2008, 1:40 am)

    What about themes ?
    Will it be on(?) files - like folder “themes” or just like in 1.2 in DB ?

  52. 52.

    Staff Response: Tikitiki (April 10th, 2008, 3:42 pm)

    haRacz, the next overview will be on the Themes & Templates section. Until then, we’re not releasing any information.

  53. 53.

    Jordan Meeter (April 11th, 2008, 4:10 am)

    Man, that backend is beaaaauutiful! I love it!

  54. 54.

    Matt_ (April 12th, 2008, 8:40 pm)

    New Admin CP looks great, can’t wait to use it :D

  55. 55.

    haRacz (April 14th, 2008, 1:31 am)

    @Tikitiki - ok, thx 4 info
    Waiting 4 new 1 :)

  56. 56.

    Brendan (April 18th, 2008, 10:46 am)

    Great posts! Can’t wait for some information about templates and themes, I’ve been waiting for 1.4 to start producing some unique themes.

  57. 57.

    aydın (April 25th, 2008, 10:05 pm)

    Thax Mybboard ;)

  58. 58.

    mincu (April 26th, 2008, 12:39 am)

    çok güzel ama sorum mybb 1.2.11′i 1.4 e çevirebilirmiyiz

  59. 59.

    i13 (May 3rd, 2008, 6:56 pm)

    You guys are working hard double no of code line :eek: …… Love you guys!!

    Also currently you have finished the coding yet or are in pvt beta?

  60. 60.

    Das Tier (May 11th, 2008, 1:20 pm)

    In the next blog post will there be more talking about any new or improved code? or is it one of them things we will have to wait to see?

  61. 61.

    Staff Response: Tikitiki (May 11th, 2008, 4:47 pm)

    Das Tier, what exactly do you mean by new or improved code?

  62. 62.

    Chris P (May 18th, 2008, 3:52 pm)

    1.4 is turning out to be truly amazing guys. GREAT! job

  63. 63.

    m-said (August 6th, 2008, 9:30 pm)

    great job! thanks very much.

  64. 64.

    NAVTEJ SINGH (November 10th, 2008, 12:33 am)

    MyBB Team deserves kudos from all the users. It is indeed a wonderful package, and that too being distributed without a penny by TikiTiki. Though I am a novice, I have been able to upload and install the Forum on our Website http://www.irtsa.net, today only. However, I have a couple of questions: (a) how to set the current time of the Forum to show it with GMT + 5:30 hrs. (b) I am getting a “Done, but with errors on page” message on a number of Forum Pages. Of course, I do understand that it must have been due to my own ignorance in the uploading process. However, if someone can take the trouble of checking the error on one or two pages and point it out, I shall only be too grateful.

Post a Comment

Note: * indicates required fields.