Home » Company » Blog » Technology » Underneath the hood of UltraEdit.com: A look at MODx

Underneath the hood of UltraEdit.com: A look at MODx

Ben Schwenk
Operations Manager

Most websites you visit today are rendered by a (usually) PHP and MySQL-based content management system (CMS). With the rapidly evolving web technologies available such as PHP, Ajax, openID, javascript libraries like MooTools and jQuery, etc., websites are crossing over from the passive point-click-read systems to full-fledged interactive applications. Designers are spending more time on interactive PHP and javascript scripts, and less time on CSS/HTML markup. Due to this; it's imperative that designers and developers streamline content management and the mundane tasks associated with it, such as new content, updating existing content, etc. This is where the CMS works its magic. Most of you are probably familiar with open-source content management systems such as Joomla, Mambo, PHP/Post-Nuke, and many many others.

When we first looked into realigning our site, we defined several requirements to use as a guide for selecting a CMS. I won't go into those in detail here, but generally these included scalability, flexibility, and search-engine optimization; which are all pretty much requirements for any sort of medium to large site. Through much testing and forum-browsing, I found a CMS that not only met these requirements but exceeded my expectations in MODx.

MODx CMS official siteMODx is an open-source PHP/MySQL Content Management Framework that evolved from Etomite (another CMS). What separates MODx from its brethren is that it (from what I've seen) is virtually unrivaled in flexibility and templating. The term "framework" is used because MODx does not necessarily *just* manage content; it provides a framework for setting up a system to manage site content management that works for you. Of course the drawback to this is that you probably need to know at least a little about PHP/MySQL and a LOT about HTML/CSS, as opposed to other CMS where this is all handled automatically by the CMS. However, the sacrifice of learning a little PHP and becoming an expert in CSS and HTML is very much worth the freedom that MODx affords.

MODx uses a visually apealling ajax-based document tree for logically sorting and editing site content and pages (as shown in the screenshot below). Pages can become top-level directories with other sub-pages and levels going as deep as you need, and this "heirarchy" logic is used dynamically throughout the site (breadcrumbs, menus, human-readable rewritten URLs, etc.); making the site totally scalable. For instance, when we release UltraEdit Linux (UEX), creating the content-portion for our site is as easy as duplicating a pre-existing "Product" subfolder and updating the page titles and content, since all of the existing subpages are copied with the parent.

Image of the backend of MODx

Like many other open-source CMS, MODx's documentation is somewhat fragmented and getting answers can sometimes take some real digging, but the framework's API is so intuitive that most developers who understand even a little PHP will master the system after just a few hours of playing in the code. MODx's features are virtually limitless -- "snippets" provide a way for you to store bits of PHP code that can be called with custom parameters from any page in the CMS, while "chunks" store static HTML that can also be called anywhere in the site. This makes updating information that is repeated throughout the site (such as a software version number or a release date) as simple as updating one single chunk on the back end. Also, Google- and human-friendly URLs are set up very easily.

However, my favorite feature of MODx has to be "template variables"; variables assigned to templates that are set and then included in the rendered template on a page-by-page basis. Further adding to the power of TVs is that they can include calls to chunks and snippets. This is why you see changing supplemental content in our right-hand column on our site, as opposed to previously where each page shared the same subcontent regardless of where you were on the site. Setting up a template variable is a very simple process that provides many different options for input type and values.

Image of template variables that can be configured in MODx

The power of MODx is truly outstanding -- I could go on and on about what can be done with this CMS--er, CMF. MODx is perfect for small to large scale sites, corporate sites, community-based sites (the user management features are superb), bloggers, developers, and any web designer looking for a better way for your non-HTML savvy clients to login and manage site content.

The MODx user base is growing, and its developers are very active in the user forums and very receptive to all newcomers with basic questions (you won't see any "RTFM" replies). In fact, MODx won the CMS Awards 07 prize for "Most Promising Open Source CMS" over other CMS such as TYPOlight, dotCMS and SilverStripe. I highly recommend giving MODx a look if you're a web developer constantly struggling with rigid content management systems or if you're just a "web 2.0" junkie always looking for new apps and technologies to streamline your workflow. A free demo is available at opensourcecms.com where you can log in to the back end and play with/uncover the power of MODx. Happy coding!

Back to Top

Comment on this post

Required fields are marked with *.


Bill MacKenty
Guest post
Comment
Have you looked at expression engine?
Reply #1 on : Thu April 24, 2008, 10:20:57
Many of the features you discussed are available from expression engine (www.expressionengine.com) I am very curious if you gave them a look / comparison.

Great post, by the way - I think you are spot-on about rich internet applications
idmadmin
Posts: 2
Comment
Re: Have you looked at expression engine?
Reply #2 on : Thu April 24, 2008, 14:16:13
Bill,

I did look at Expression Engine; albeit very briefly. Our initial evaluations were of open-source CMS's, so when we found MODx met and exceeded our needs, we didn't pursue further evaluations. I do like the idea of a paid CMS since you get much better documentation and support, and possibly more robust features, but so far we've been very happy with MODx.

-Ben
Last Edit: April 24, 2008, 14:17:07 by idmadmin  
Georg Fischer
Guest post
Comment
UE Linux
Reply #3 on : Sun July 20, 2008, 04:52:18
Hi,
you wrote "For instance, when we release UltraEdit Linux (UEX) ...". Is that fiction, or are you finally releasing such a product? Linux without UltraEdit is one of the major reasons why I still stick to Windows, and I would certainly buy UEX. - Georg

Guest post
Comment
Interesting review
Reply #4 on : Sat September 06, 2008, 08:04:11
Coming from Zope 2/Zope 3 and Plone AppWebServer/CMF/CMS 'world' and looking for a *flexible* PHP CMF/CMS solution. Therefore interesting to read the above review because I am thinking of using MODx in my next project! Great recommendation for me. Thanks! By the way when is version 1.0 planned to be relased? Ciao...
idmadmin
Posts: 2
Comment
Re: Interesting review
Reply #5 on : Mon September 08, 2008, 08:47:33
Glad MODx looks like a viable option for your site development! Believe me, it's a real pleasure to use this CMF.

I'm not sure when v1.0 will be released (they're calling it MODx Revolution), but I'm pretty excited about it. From everything I've read, they're fairly close to having a final release. The last substantial update I've seen was from Ryan Thrash in July:

http://www.modxcms.com/the-evolution-of-a-revolution.html
Last Edit: September 08, 2008, 08:48:21 by idmadmin  

Guest post
Comment
UE Linux
Reply #6 on : Sat September 20, 2008, 14:32:28
As Georg Fischer so I am intriqued by the sentence "... when we release UltraEdit Linux (UEX) ...".
I want to abandon Windows but really like (or should I say need? :-) ) UltraEdit.
Regards, a3ano
Mark
Guest post
Comment
Page Content TVs?
Reply #7 on : Thu August 20, 2009, 15:25:28
Great article! I have been using MODx for several sites and had a question regarding your product pages on Ultraedit.com. There's obviously a lot going on, with many lists and images. Do you manually insert the HTML to accomplish this? I have many users who rely on the RTE and don't know HTML so I am wondering if you had set up some TVs to display the various content parts.
Jason
Guest post
Comment
FAO Mark
Reply #8 on : Thu March 25, 2010, 23:13:14
Mark, you probably have this info already (based on the age of your post) but this may be useful for anyone looking in.

Say for example you have a product list or category list for your MODx ecomm section. The thumbnail, short description, URL Link, Price, Stock Quantity etc would all be pulled from Template Variables that are included in the product page itself using ditto.

Shop
>Shop sub Category (TV for thumbnail, used for short desc) Type is container.
> Category Listing (You wouldn't ever edit this page manually. All data would be pulled in from the TV's of the actual product.)
> Product (TVs for Thumbnail, Price, Summary or whatever)

Hope that makes some sense to someone :)
Mkishnela
Guest post
Comment
Well said
Reply #9 on : Wed November 10, 2010, 03:55:30
Well said; I could not have said it better myself :)
Myishkele
Guest post
Comment
Well said
Reply #10 on : Wed November 10, 2010, 05:35:28
Well said; I could not have said it better myself :)

Back to Top