MyBB Community Forums

Full Version: choice of MVCand no MVC for plugins?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
(2012-08-07, 04:32 AM)Josh H. Wrote: [ -> ]Myself, I think they should pull an IPS and create just a base that pretty much any MyBB version will use (a skeleton of the software, if you will, with crucial stuff like user functions, posting methods, viewing methods, etc), and then build off of that with each release.

So, a framework?

Polling the user base is pointless for the 2.0 project as it is a separate piece of software and the methods to use to create it are practically 'industry standard'. Creating a plugin for it will probably be no different than creating one for Invision or phpBB4.

2.0 is the future of MyBB and an opportunity to learn something new while 'keeping the old'. We're still very much in the present here.
But we'll have to start over again, even many of plugin authors like me and also very advance persons in the same. The current plugin system already suffices a lot of nicer expansions, for example. Although, this is how I see.
(2012-08-07, 04:09 AM)labrocca Wrote: [ -> ]Would be interested to see a public poll by team asking the following.

For 2.0 development which would you prefer:

1. Start with fresh code
2. Use a framework
3. Rewrite portions of current base

I don't think you understand. But, you won't understand because you don't want to understand anyway. So I think we're done discussing that with you.

Anyway, making a poll is useless and pointless. It's our decision, you may not agree with it, but it's us who are developing the project, you are the ones using it. You may not like it and MyBB may just die, yes. While that probability exists on every single project and exists in MyBB as well, the longer we delay the switch to a framework like Yii or something else, the greater the probability of it dieing.
Seriously, this is the same argument over and over again and personally it's growing pretty tiresome to discuss anything about 2.0 without rearing it's ugly head.

We're not telling you to upgrade to 2.0; if you want to use an outdated PHP core forevermore then you're free to stay on 1.x. What we won't be doing is creating an almighty mother of a hybrid just so everything works like it did in previous versions.

This isn't happening next week, month or this year and it's not like you have to split-snap upgrade as soon as it's released. eggplant, Invision didn't have it this hard when they moved from 1 -> 2 -> 3 and probably not to 4. Get on-board or stay stuck in the past. I'm done.
I feel my points have probably been hijacked, and I am a little disappointed by the responses. Whilst I can understand it may be frustrating to have continued discussions on the subject, there is an obvious opinion of your user base and if the discussions are continually being raised, this would then suggest to me that the topic has not been fully and adequately addressed. In other words, if you have to continue to explain yourselves, then perhaps you need to change the way you are explaining it. Whilst I can appreciate that this is your project and you will make the decisions, confrontational answers are only likely to breed contempt and not going to help anyone.

You need to have patience for your user base and this is obviously a concern for many.

I don't see using core PHP as outdated, frameworks are still core PHP just reworked somewhat.

Tomm M your reply was completely uncalled for, and is the sort of reply that says you don't understand the user base you are writing for and don't want to. You need to treat your clients with respect if you want to get respect from them.

My posts within this topic have all been very reasonable and I think have offered arguments that are valid. I still think it's quite easily possible to implement MVC in a way that does not enforce that rigid structure all the way down the line.
Expecting a plugin developer to write a full MVC plugin for simple tasks that may only have minimal output would be a hindrance to product, community and project growth.

In order to achieve that you don't need to write and "almighty mother of a hybrid" it's quite easy to achieve a plugin state that can use either MVC or straight single paged PHP with little or no extra code, in fact it could be as simple as a small function that checks if it's MVC, if it is it executes via the MVC model, else it just evals the code straight. In fact many MVC CMS projects do this already, and really that is the cusp of what I am saying.

The further point I would like to make is that if you decide to go with an MVC model and do enforce that, make it far more accessible than the likes of Joomla, who's implementation of MVC at an extension level is cumbersome and requires far greater work than should be needed.

The goal of MVC wasn't just to enforce a strict separation of business and display logic, but was also to make development simpler and faster, therefore any implementation needs to match this.
Having views that are also pseudo controllers is one such example of poor implementation.

Again my point isn't to say dont use MVC at all, my point is to suggest thinking about the way you implement it and do it in a smart way. You will also note that my posts have been complimentary of the development team and I have got my point across without derision or contempt.
Quote:Seriously, this is the same argument over and over again and personally it's growing pretty tiresome

I'm sure but realize it's not the same people who start these threads. It's different members suddenly deciding to voice their concerns. We've definitely over-discussed the issue.

I'm just crossing my fingers hoping it all works out.

I knew eventually Tomm would flip out from these threads. I'd do the same thing if I was in his place.

Quote:In order to achieve that you don't need to write and "almighty mother of a hybrid" it's quite easy to achieve a plugin state that can use either MVC or straight single paged PHP with little or no extra code, in fact it could be as simple as a small function that checks if it's MVC, if it is it executes via the MVC model, else it just evals the code straight. In fact many MVC CMS projects do this already, and really that is the cusp of what I am saying.

While we've been told a framework will be used I do believe the plugin system style has not yet been decided. My hope is that I won't need to write ipb/vb style plugins with xml install files. I freaking hate those. And MVC requires so many damn files that I also feel it's annoying and adds unneccessary difficulty.

Quote:The further point I would like to make is that if you decide to go with an MVC model and do enforce that, make it far more accessible than the likes of Joomla, who's implementation of MVC at an extension level is cumbersome and requires far greater work than should be needed.

Exactly.

Lastly I'm curious how MyBB would feel about forks of 1.8x series once 2.0 is released. I'm sure people are going to consider that as an option if they don't want to break their existing sites. I personally can't deal with new urls and it appears having the basic showthread.php?tid=1 is not going to be an option under the new MVC without mod_rewrite which also isn't an option for me. The load would not be acceptable imho. I don't run mod_rewrite on my forums if I can help it. I don't even want showthread?thread-title even though I know it's a popular trend.

btw sorry Pirata if I ticked you off. Be aware I didn't start thread. Just participating in the discussion with civil discourse.

Quote:It's our decision, you may not agree with it, but it's us who are developing the project, you are the ones using it.

While I may not code the base I have no doubt I'm the #1 end-user that's constantly in the code and using the actual software. It's very very very important to me that this project continues to be a success. If I'm forced to switch software because the code is over-complicated for average coders like me then I run the risk of losing my own success. I've learned from that mistake in the past.

So forgive me if I'm a bit concerned about this very big decision to use a framework. A decision that was made without any community input. We were simply told one day that 2.0 will be using Yii. Came as a big shock really.

And while the argument is that other projects use frameworks and it's the future...I don't use other projects. I 100% believe most people use MyBB for it's straightforward code base that's easy to extend. EASY TO EXTEND...so as long as that's true I believe MyBB will continue to be a great project. While the developers might be comfy with MVC...the base may not be. Without plugins the base will expect the dev team to code as default a lot of features.

Just imagine this...you're a chef and you write a cookbook. You know the recipes are amazing but what you don't realize is that most of the recipes are too complicated for the average home cook. Your cook book is not accessible and it doesn't sell well. You went over your targe audience.

Does MyBB recognize that?

Lastly...I do thank MyBB for allowing the open discussion. No one is forcing the team to reply though.
I am total agreement with labrocca here. We are simply concerned not just for the MyBB project, but for our own future success as we have become dependent on the success of the MyBB project.
(2012-08-07, 11:09 PM)Dannymh Wrote: [ -> ]I feel my points have probably been hijacked, and I am a little disappointed by the responses. Whilst I can understand it may be frustrating to have continued discussions on the subject, there is an obvious opinion of your user base and if the discussions are continually being raised, this would then suggest to me that the topic has not been fully and adequately addressed. In other words, if you have to continue to explain yourselves, then perhaps you need to change the way you are explaining it. Whilst I can appreciate that this is your project and you will make the decisions, confrontational answers are only likely to breed contempt and not going to help anyone.
Please read:
http://community.mybb.com/thread-118011.html

(2012-08-07, 11:09 PM)Dannymh Wrote: [ -> ]You need to have patience for your user base and this is obviously a concern for many.

I don't see using core PHP as outdated, frameworks are still core PHP just reworked somewhat.

Tomm M your reply was completely uncalled for, and is the sort of reply that says you don't understand the user base you are writing for and don't want to. You need to treat your clients with respect if you want to get respect from them.
You are not our clients. We do not get paid. We have always treated our user base with respect but there are times when we can no longer go with our smooth conversation when we've explained multiple times this and that and people do NOT WANT to understand because they are "afraid of change". It's not a matter of explaining it properly.

(2012-08-07, 11:09 PM)Dannymh Wrote: [ -> ]My posts within this topic have all been very reasonable and I think have offered arguments that are valid. I still think it's quite easily possible to implement MVC in a way that does not enforce that rigid structure all the way down the line.
Expecting a plugin developer to write a full MVC plugin for simple tasks that may only have minimal output would be a hindrance to product, community and project growth.

In order to achieve that you don't need to write and "almighty mother of a hybrid" it's quite easy to achieve a plugin state that can use either MVC or straight single paged PHP with little or no extra code, in fact it could be as simple as a small function that checks if it's MVC, if it is it executes via the MVC model, else it just evals the code straight. In fact many MVC CMS projects do this already, and really that is the cusp of what I am saying.

The further point I would like to make is that if you decide to go with an MVC model and do enforce that, make it far more accessible than the likes of Joomla, who's implementation of MVC at an extension level is cumbersome and requires far greater work than should be needed.

The goal of MVC wasn't just to enforce a strict separation of business and display logic, but was also to make development simpler and faster, therefore any implementation needs to match this.
Having views that are also pseudo controllers is one such example of poor implementation.

Again my point isn't to say dont use MVC at all, my point is to suggest thinking about the way you implement it and do it in a smart way. You will also note that my posts have been complimentary of the development team and I have got my point across without derision or contempt.
Do not worry. As I've said in an earlier post, this will be taken into consideration when the time comes Smile

@labrocca your concerns seem totally different from the ones the OP has posted so I don't consider that "I'm sure but realize it's not the same people who start these threads." applies here. No one wants to make it hard for plugin developers to create plugins. We've always done our best to make it easy and we'll continue to do so in the future.
2.0 is the result of over 4 years of research and development from some of the best developers I've had the chance to work with. We didn't choose the framework or theme design, features and control panels just on a whim. The plans, discussions and tests carried out all resulted in a decision that will utimately create a better product. And that's the goal: to provide a superior product you will want not a product you have to use.

While some of it, such as the plugin section, can't be designed without some development of the core these will be completed using the same principles the rest of MyBB follows: easy to use, easy to extend.

Quote:Lastly I'm curious how MyBB would feel about forks of 1.8x series once 2.0 is released.

Exactly the same as we do now: we wish them the best of luck. 2.0 isn't going to be written in Ruby or some obscure language no-one knows. It's PHP, just not as you know it. If you decide that your forum would benefit from upgrading to this new product that is n% faster or n% more efficient but changes x, y and z then great. If not, maybe it is better to use on a new project?

We're not trying to alienate our user-base but the methods used in 1.x are simply out of date. It would take a mammoth task to update it to the standards available in PHP 5.3|4; in fact, we spend a lot of time just trying to make it work with these versions without any errors. We have to move forward, we must advance; but there is nothing stopping you from using 1.x - and that, for me, is the most frustrating factor in this whole discussion.

Quote:Tomm M your reply was completely uncalled for, and is the sort of reply that says you don't understand the user base you are writing for and don't want to. You need to treat your clients with respect if you want to get respect from them.
I'm sorry for hijacking your thread Dannymh and forgive me for being completely above myself here; do some research into who I am and how much work I've done for MyBB, for free, over the last 3 1/2 years - or even just for 1.6 - and I'm sure you'll discover that I completely understand the user base I'm writing for and the why I'm so passionate about bringing the thousands and millions of people who use MyBB every day a better product and service.
Quote:You are not our clients. We do not get paid. We have always treated our user base with respect but there are times when we can no longer go with our smooth conversation when we've explained multiple times this and that and people do NOT WANT to understand because they are "afraid of change". It's not a matter of explaining it properly.

Technically we are your clients whether your paid or not. If nobody uses your software then theres not much point in developing it. From what I can see, Pirata, you seem to have an attitude like "Im developing this software but I don't care what the users think". It seems to me like its more of a personal challenge for you to build the software. I don't mean that in a disrespectful way, its just how you came across to me.

I think the guys are right in a way. I know the mybb team have thought about this for years etc.... but at the end of the day no matter what you develop, no matter how awesome it is, its us that will be using it and its us that will ultimately reveal if the project is successful or not. You cant build a successful software with out feedback and listening to members concerns, and taking them into consideration.

If you don't look for feedback on this kind of stuff how are you to know what the current mybb users what and don't want ? Whether you take the feedback on board or not is another matter altogether. At least give the community a chance to submit their views on what they want.
Pages: 1 2 3 4 5