Would prefer Zend Framework 2 with Doctrine and a shift to a document database like MongoDB.
Anything that makes MODX more mainstream would be a big benefit.
-
MODX Staff
- 2,502 Posts
Lots of flavour of the month frameworks in there. Not saying ExtJS isn't but for future proof tools what do you do? Mongo is nice though.
Author of zero books. Formerly of many strange things. Pairs well with meats. Conversations are magical experiences. He's dangerous around code but a markup
magician.
Blog ✦
Twitter ✦
LinkedIn ✦
GitHub
Fair point Jay, and I agree completely.
That said I would very much like to see MODX standardise rather than go it alone. ExtJS is actually an example of this, and personally I've no problem with it.
XPDO is a fine mapper, and was certainly ahead of the curve when developed but it creates a learning curve for anyone wishing to do custom development. Using Doctrine2 as the ORM opens up to the freelance developer community which will in turn expand the reach of MODX.
Similarly, using a common MVC style framework such as ZF2 or Symphany you're again not constantly reinventing the wheel. Need a good URL parser? It exists. Need a Router? It exists. Need a DI container? Exists.
I genuinely believe the MODX approach to content management is fantastic. TVs, Chunks, Resources etc. are clearly defined components of a CMS and provide a great balance between 'creative freedom' and end user management. And please don't think I'm criticising development decisions - code quality is also very high. However it remains bespoke, and as such niche.
By reusing existing, stable, high quality, libraries MODX can focus on its core competence - evolving the CMS experience. Incidentally, this is why I like document storage engines like MongoDB - there is a real opportunity here to develop an incredibly flexible system breaking out of the binds that come with schema intense SQL DBs. I think we only need look at the success of MIGXdb to see that this is precisely what people want to achieve.
Just a few thoughts, and to reiterate I love MODX and certainly rate the code base - but I personally feel it needs to standardise to grow.
What benefits would MongoDB have over MySQL in practice? Is it just that it's faster?
Good question Eminos.
IMHO there will be a much bigger learning curve with MongoDB for most non-expert users. MySql is such a standard and so well known that any changes away from MySql would be a big problem (I think). I read that Mongo does not do Joins - I am sure they have other methods but for me I couldn't work without them as they are, in my head, how databases work!
However this comment "By reusing existing, stable, high quality, libraries MODX can focus on its core competence" - surely can't be argued with.
Just my two-pence for what it's worth,
Paul.
I agree Paul. Most developers are more familiar with MySQL than NoSQL. But it doesn't answer my question, what the benefits would be. If the benefits are really great, then it's time to learn NoSQL, and move forward.
-
☆ A M B ☆
- 24,524 Posts
Some definitions I've seen of NoSQL sounds kind of like JSON stores taken to the extreme. Some implementations appear to mix non-rdbm stores with rdbm stores, kind of like the way MIGx does with TVs.
There are speed benefits, but in NoSQL is not meant to be an SQL replacement - it's just a better way of managing unstructured data.
If you think about a content manament, and MODX in particular, the data is often highly varied and unstructured, as seen with the heavy use of TVs etc. It has been commented many times that TVs should essentially be Resource Variables. Document DBs make this far more straight forward to manage as they're schemaless.
Using an ORM like Doctrine2 would mean that the interface for accessing the data storage would not change that much. This is why data storage should be abstracted from the object model.
That said I do agree it would be a big shift in thinking, and that consideration should be given to what developers are familiar with.