Thread Rating:
  • 15 Vote(s) - 4.27 Average
  • 1
  • 2
  • 3
  • 4
  • 5
2.0 MyBB 2.0 Suggestions
#31
I completely think everything but 2 is not needed. Thats why we have the plugin system, we don't need a status thing as a core feature.
Hello!
Reply
#32
This is a suggestion that would help plugin developers.

Developers can change almost anything on the forum by changing the templates but extending the AdminCP is a bit limited. Sure you can add tabs, subtabs and custom pages but you can't change or extend the existing pages and forms. Now, I've been developing modules for Drupal as well and I like how modules can change almost anything (also in the admin) by altering the forms. Forms in Drupal are basically arrays that describe the structure and fields of the form. Drupal allows modules to alter those arrays (adding, removing or altering fields) before he renders the html. Module developers also have the ability to hook into the submit handler to handle their own added fields. I would love to see something like that in MyBB. Let's say you want to add one extra property/setting to a forum: now you have to create a whole new page to manage that field while with my suggestion you could simply alter the form add/edit form and add the field to the form array. And afterwards hook into the submit handler to save that extra setting.
Reply
#33
Uhm, you can already extend the forums quite easily in MyBB. In the form class, there is a plugin hook called "admin_formcontainer_output_row". This is called every time a row in a form is generated.

From here, you can manipulate what and how the row is outputted. For example, in one of my plugins, I convert comma delimited data into a select box. Bear in mind you will also need to hook into the save hook for the page.

$plugins->add_hook("admin_formcontainer_output_row", "select_function");

function select_function($args)
{
	global $form, $lang, $mybb, $page;

	if($page->active_action != "settings" && $mybb->input['action'] != "change" && $page->active_action != "modules" && $mybb->input['action'] != "edit")
	{
		// Not the page we're looking for
		return false;
	}

	if($args['row_options']['id'] == "row_setting_postrep_forums")
	{
		// Here we cunningly replace the default 'text' version with a select box. Boom!
		preg_match("/value=\"[^A-Za-z]{1,}\"/", $args['content'], $values);
		$values = explode(",", str_replace(array("value", "\"", "="), "", $values[0]));

		// Now that we have our array of forums we've selected, generate the nice forum select box
		$args['content'] = $form->generate_forum_select("postrep_forums_select[]", $values, array("multiple" => true, "size" => "5\" style=\"width: 305px;"));
	}
}
Reply
#34
Oh, okay. My bad. Thanks for the info. I'll see what I can do with that hook.
While that hook is already quite helpful for changing existing rows and adding rows (with a bit of hacking), it's still a bit limited. For instance, not all rows/fields have a unique identifier. You can check the title but that is a translatable string and is not dependable enough to be unique. Some fields don't even have titles (for instance in the custom permissions).
Reply
#35
I'd like to see these addressed in MyBB in order of what I consider is priority.

- Performance improvements for larger forums (ie. minified JS, more optimized HTML/CSS, etc.). I recently made the argument about minified JS, and one argument was that it was harder to debug, and that's fine (very good argument). I'm all for keeping a regular JS version out there, but I would like to at least be downloading the minified JS version (so this could be an effective compromise for both arguments). Either that or officially provide a CDN. That could work as well.
- SEO Improvements would be nice. Consider what Google SEO has done (set aside FURL). rel="canonical" and robots.txt will block Google and whatnot in indexing duplicate content, and an XML sitemap would be great for those who use Webmaster Tools and want to submit their sitemaps. I'd also like to see header/paragraph tags (h1, h2, p, etc.) implemented by default. Preferrably, you could add an extra TITLE (as an H1) followed by an h2 tag describing the topic, forum, etc, similar to what XenForo/vBSEO has done.
- I'd like to see support for Facebook Connect, Twitter Connect, and/or OpenID, not as a way of integrating social networking (I would like an argument on how adding this compromises the goal of being a forum software), but also because alternative logins provide convenience to a user who has one of the three (it'd be hard to not have an OpenID, surprisingly).
Reply
#36
1) CSS-based layout.

I know this is a bold suggestion, but table-based layout is giving more headaches than it is helping. And I know everybody's got used to tables. Still, pages would load faster. Styling would be A LOT easier. Tables could be kept where it would make sense.

2) SQL improvements

Maybe MyBB should focus only on MySQL and make optimizations for it. Table splitting, MySQL specific commands, etc... would definitely be felt on large instalations.

3) jQuery here and there for effects.

I know this is not an option for older browsers or slower machines. Still, if some operation takes a bit of time, it is much more satisfying to have some kind of feedback, instead of just staring to blank page or static page. For example, checking wheter username is available during registration. It just displays the info, but it needs polish to be satisfying.
Reply
#37
(2011-04-11, 10:03 AM)Aries-Belgium Wrote: You can check the title but that is a translatable string and is not dependable enough to be unique. Some fields don't even have titles (for instance in the custom permissions).

There will be some form of unique field surely? If not, then we'll need to add one.

A translatable string is dependable enough - just search for the $lang->string version and not the direct translation. If you minimize the impact of your changes, such as I did in my example, then it is dependable.

(2011-04-11, 11:44 AM)-AW- Wrote: - Performance improvements [...]
- SEO Improvements [...]
- I'd like to see support for Facebook Connect, Twitter Connect, and/or OpenID [...]

You'll see all 3 in 2.0 in some form or another. I'd be surprised if we didn't decide to at least use Open ID, and performance improvements will come with the new framework. The SEO improvements you mentioned will be brought along with Justin's new theme of awesomeness.

(2011-04-11, 12:01 PM)RockyMM Wrote: 1) CSS-based layout.
2) SQL improvements
3) jQuery here and there for effects.

The new theme for 2.0 has no tables. It's very possible with MyBB 1.x too, I've proved that with my forum, but it's useless en-mass because no plugins code for it. MySQL isn't the be all and end all - we'll be catering for other DBMS too.

And yes, we'll be using jQuery. Although, I'm very, very tempted by Scripty 2.
Reply
#38
(2011-04-11, 12:19 PM)Tomm M Wrote:
(2011-04-11, 10:03 AM)Aries-Belgium Wrote: You can check the title but that is a translatable string and is not dependable enough to be unique. Some fields don't even have titles (for instance in the custom permissions).

There will be some form of unique field surely? If not, then we'll need to add one.

A translatable string is dependable enough - just search for the $lang->string version and not the direct translation. If you minimize the impact of your changes, such as I did in my example, then it is dependable.

Some rows have id's but others don't. And a translatable string will work indeed if comparing the title with a variable in the $lang object but if there are two rows (on different pages) with the same title it will cause problems. Also it doesn't work for language strings with a placeholder in them (= "foo %s"). A real unique (english) identifier for rows would really be nice.
Reply
#39
Feel free to report these to the development tracker. We'll take a look at providing unique IDs for each row.
Reply
#40
(2011-04-11, 01:14 PM)Tomm M Wrote: Feel free to report these to the development tracker. We'll take a look at providing unique IDs for each row.
http://dev.mybb.com/issues/1540
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)