Regarding the popularity of WordPress as compared to MODX I would say the following.
One of the primary reasons WordPress is popular with a certain developer group is the quickness of delivering a "typical" web site system by being able to download a template and get launched very quickly.
This is fine if the functionality of the template has what the client needs/wants for a site. For example, a friend of mine needed a site for his wedding. He's a MODX developer (primarily a programmer) but he went to WordPress for the quick template and registration system. He could have done the same type of site feature wise in MODX, but it would have taken longer.
Now, when the needs are not met by this model or you want scalability, both my friend and I agree that MODX is the better solution, though we do know some WordPress developers that specialize in customizing WordPress, but that sort of developer is rarer than the setup and configure developer out there.
Where I think MODX could improve to combat this is in two areas:
- Offer a download with Extras that are often used
- Create a Template or Theme "System" (Here me out, it's not as bad as you think)
Regarding the first point which is a download with Extras used often:
I understand the philosophy of freedom. I understand the idea of here is the core, now built extras on it. I understand the idea of we're not going to force you to use Wayfinder for example, you can just use whatever you want, or write your own. I understand that completely.
That said, what other Wayfinder alternatives do people use outside of maybe getResources? Other than using either getResources or Articles, how else does the typical MODX developer build a blog or news section? How many developers use something other than Login and the associate snippets for login functionality?
MODX has a set of great Extras that we, as developers, use all the time. Our standard Extras are:
- Wayfinder
- TinyMCE
- getResources
- UltimateParent
- MIGX
- Breadcrumbs
- Articles
- Login
- SimpleSearch
- Ace
- ClientConfig
- FAQ Manager
- Copyright
- FormIt
- FormIt Fastpack
- getPage
- getResourceField
- getUrlParam
- Google Sitemap
- ObfuscateEmail-Revo
- Peoples
- Personalize
- phpThumbOf
There are probably some others.
Together with some standard TVs we create, combined with these extras, these cover most of what we typically need for a web site.
Including these might indeed influence people to use them but I don't see how including them (and probably a few others) would prevent anyone from having the freedom to make their own version or use something else. Some developers new to MODX might download it and wonder why they then have to download Extras do typical things. Including these might help, though of course, the developers would have to learn to use them still, but this is the case with any software.
Regarding point 2, a Template or Theme "system".
I don't mean like WordPress or Drupal, where you have to work around the system. I don't mean that all all. However, one of the nice things we find with Lemonstand is their theme system, which is simply a collection of pages, templates (called Layouts in Lemonstand), partials (sort of like chunks/snippets in MODX), and files. You have full creative freedom to create and use these in anyway you wish so it's not that the theme system forces you to use certain types of programmatic loops, etc., but it allows you to export and import themes very easily (I will say that Lemonstand's theme system does rely on the convention of having any files associated with it, such as JavaScript, CSS or image files, in folder with the theme name, such as /themes/greentheme/). So in Lemonstand, you can have a main navigation partial called nav:main for example and that partial is associated with a theme, say greentheme. You can also have a partial called nav:main that is associated with another theme, say redtheme. Same partial name, but not the same partial in terms of code.
The reason I bring this up is that in MODX, we often buy themes from places such as
themeforest.net, because they have a number of great layouts that our clients like and except for a few clients, most of them don't understand design and don't want to pay for custom design. The templates you can buy on this site (and others like it) are in either XHTML format or WordPress. We buy the XHTML and then we begin the work of converting them into MODX, using the appropriate tags and Extras.
Let's take a home page for example. We'll work on the main navigation by using Wayfinder and creating the appropriate outer, inner, and row template chunks. If there is a slideshow, we'll create the appropriate template variables (ie. image, caption, link) and use MIGX to create a manageable array or each slide of the slideshow. If their are some calls to action, such as 3 or 4, we'll again create the appropriate template variables and use MIGX to create the array of 3 or 4 call to action columns and use If or the revised conditional code to trigger the appropriate CSS (such _last or _first for classes) and of course limit the display in MIGX to 3 or 4. For the contact page we'll use FormIt and some Template Variables to allow the user to set who get's what email and input the addresses and to show a Google Map or not. You get the picture.
We have to do this for every Template we acquire. This takes time, a lot more time then just downloading and installing it like you can with WordPress.
Now I realize that everyone can do things differently, because MODX is so great that way, but if we had the ability to buy a template with all this already done, that would be fabulous. A way to import/export the applicable pages, chunks, snippets, files, templates, access policies, user groups, forms customization rules, and template variables (and instructions to get any Extras you don't have) would be fabulous and might encourage the building of more MODX ready Templates. I know any XHTML template is technically MODX ready, but only ready for you to take and adapt it to the system. I believe we probably do this all in a package with a couple of extras but to be able to call what we've done a Theme and then just import/export it would be wonderful. As it stands now we just keep reusing the same themes we've already converted and changing the CSS to make it look a little different. We run into a wall when a client says I want theme Y and we tell them it's about 10 hours extra work to get it functional.
The moment Lemonstand added a theming system like they have, themes started to be created and sold for it, though no where near the number for WordPress. But such things take time and because Lemonstand isn't free (though you save a ton of development time if you use say Magento instead) I don't think certain developers bother to look at it all.
I figure a lot of developers look at MODX however and see they have to go and download a bunch of Extras they need each time and they can't download any quick themes to start as a basis and say no thanks, and deal with other problems that WordPress presents. It may not be a logical thought process, but it does exist.
[ed. note: rx2 last edited this post 11 years ago.]