Quote from: erikp at Aug 21, 2009, 02:46 AM
In my humble opinion, I think it’s the job of the _framework_ to offer limitedless flexibility. So this does not mean you shouldn’t offer guidelines and tips on how to do things. You can’t just throw people a big toolbox and say "hey we made the tools and I don’t care which tool you use, bye!!". Even very experienced users expect standards.
As one of the core devs on Revo, I completely, 100% agree. I also want to assure you we are working on this - specifically trying to get more real-world examples, tutorials and documentation out so other devs can help expand this. If you have specific examples of docs/tuts/etc that you’d like us to write, let us know. But we definitely see the need, and agree.
We’ve made our SVN for MODx Revo components publically available
here, and I’ve written a tutorial
here on integrating custom tables. When it comes to standards; what are "standards"? That’d be good for something us as a community to define before we write them. So, what do you think?
Take the bloggers-example. I’m talking the standard blog here, as simple as you get it. Maybe there are a million ways to set up something like that in modx. However, there is most likely not more than 2-3 _best_ ways to do it. Probably there’s only one. From these few ways, just take an example, make a tut from it and mention at the end that there are other ways to do it. Part of the reason I read tutorials is because I want to see what the best practices are.
Agreed; I do know however that there are some tutorials on making a blog in MODx Evolution (I dont have the links handy, sorry, someone else might pop in and state them). In Revo we’ll address this as soon as we can; and we hope some devs will make some neat 3PCs (3rd party components) in Revo that will make blogging even easier.
In this thread people seem to hide a little bit behind the flexibility of modx. Flexibility can be a curse too! I’m an experienced php programmer but even I want to do things the ’standard’ way, and if I cannot find the ’standard’ way in modx, I feel a little lost.
Well that’s sort of a catch-22. We don’t necessarily "hide" behind flexibility; simple thing is - it is flexible, and different needs need different solutions. There may be more than one "standard" way of doing something in MODx. For example - the blog situation - I can think right now of over 5 different ways to do a blog in Revo; however, each one would benefit different requirements. I’d have to know what my requirements and desires are before I can go the "standard" route.
This is important to note: We here at MODx are concentrated on "principle-based learning", not method-based learning. We’re not going to always tell you exactly how to solve a problem, because then you never learn why the problem was a problem in the first place. It’s like teaching; don’t tell a student that 1+2=3. Get him to understand what 1 is, then what 2 is, and then what the + symbol is, and he’ll know immediately that 1 + 2 must be 3. We here at MODx want to teach people how to use the framework - it’s principles, it’s ideology, it’s basic concepts - so that they can craft their solutions tailored to their specific situations. Maybe they can use a generic situation (to which I’ll agree we need more tutorials for). But maybe they want a custom solution; and if we teach the fundamentals right, they’ll be able to easily do that.
Now, I’ll readily admit we’re not there yet. But that’s our goal. I’ll also admit we need more generic tutorials. But we will always stress that flexibility over proscribed methods. That’s our value here at MODx.
Also consider the discussion above about different languages. Should I use contexts? Or folders? The modx dev team answer could be: "You can use both, isn’t it lovely?".
Well, technically, you can use one or both.
But that’s not the right answer because there are pro’s and cons for different techniques that I cannot see yet, especially in the long run.
Right; but what is a pro in one situation might be a con in another. It really depends on your requirements and preferences. We’re serious. With the Contexts; some sites might require you to put an index.php and instantiate Contexts that way with separate languages. These sites would be structured domainname.com/fr/, domainname.com/es/, etc. Some sites might be better off just using a plugin, since they’re doing fr.domainname.com, es.domainname.com. Some might be using .htaccess rules that might prevent either. These requirements would need to be known beforehand before we can say "this is the standard way." Does that make sense? We’d much rather just give people a 1-way answer, but we’ve found that in web-dev, different solutions are often required.
The same goes for blogging systems, and also the question where I should put my assets (css/js).
Again, depends on:
a) The level of complexity you want
b) The level of security you want
c) The amount of coding you want to do
d) What your clients want
All that said, this is great feedback, Erik, and we hope you stick around the MODx community. We need all the help we can get!