Over the years we have been hired many times by companies who had hired a MODX “developer” (and I use the word MODX “developers” lightly b/c it was apparent they didn’t know MODX at all when coding) to build their site. We get the phone call from a potential client that typically goes like this:
“We hired Company X to build our website in MODX. But when we login it is a mess and no one on our team understands how to use it.”
Or we get the phone call from a potential MODX client that goes something like this:
“No one in our office has ever built a website nor knows HTML. Is MODX going to be easy for us to use?”
As a team, we have deployed hundreds of MODX websites and we’ve learned some very valuable lessons. The goal when we build a site using MODX is to make your experience with MODX extremely easy and to make the MODX manager very intituitive even for those that have never maintained a website. (You can learn more about our love for MODX here).
Here are some of the lessons we’ve learned and applied when we make websites that you should ask your potential MODX developer:
Will I Get Custom Documentation?
When you login to your MODX manager for the first time, will you know how to navigate the backend? Will you know how to make updates? Then what happens 6 months from now when you assign another team member with the task of making updates to your website? Will you have remembered everything or be able to teach the new person?
This is a common scenario that comes up with many of our clients. As a result, we develop custom video documentation for our clients. Any by “custom”, we mean just that. Your website will probably have it’s own unique setup. Understanding how to navigate your own MODX manager will have challenges if you don’t remember how to access a certain section. Also, if this is the first time you’ve managed a website via a CMS, having the ability to watch a video explain how to make an update will be very helpful.
As such, we always take the time before launch to create custom video documentation for our clients so they know how to make updates. Not only is this important at launch, but later when time has passed and you may have forgotten how to update a bio or the portfolio. And not only is this important for you, but what happens when you need someone else in your company to make updates? Being able to point your team member to the documentation to get them up to speed is very important and saves you time.
To see some examples of documentation we built for a MODX website, you can visit this page: http://learningmodx.com/help.html
Will the Site Hierarchy be Intuitive to Use?
The MODX “Tree” in the MODX manager is where you’ll typically do 95% of your work in MODX. This is where the pages you create reside. Do you want to a new item to your portfolio? Do you need to edit a blog or add images to the homepage? You’ll do this here. How this is configured and setup is very important.
Over the years, we’ve had clients who had a MODX “developer” build a website in MODX only to set this up in such a poor fashion that it’s impossible to navigate the site in the backend manager. The client is often left frustrated and discouraged from using the manager to make updates. I see this all the time in forums or comment sections: clients venting on how difficult MODX is to use. It’s not that MODX is hard to use, but it depends on how the developer setup MODX. If they were disorganized or didn’t give thought to the end-user (you), it will often reflect in the MODX manager. But when the manager is setup correctly, it makes your ability to update the website so easy.
Having built hundreds of MODX sites, we’ve gotten a lot of feedback from our customers which have taught us a lot about making the site heirarchy extremely easy for you to use and maintain.
Will Form Customization/Permissions/Dashboard Customization be used?
This is one of the most important and sometimes under used feature in MODX. MODX has so many advanced features and abilities, but the user can be tripped up in the manager on the amount of information initially offered to them when they login to MODX for the first time. As such, restricting and eliminating certain sections and fields from the end user helps prevent information/decision overload on their part.
With MODX Revo, Permissions has been extended quite a lot enabling a great deal more customization. Now with Form Customization, customizing the MODX manager for the end user makes updates and navigating the manager 10x easier. We have seen this feature ignored in most all MODX sites we inherit from other clients. When setting the manager to look and behave differently based on permissions, logging into the manager is no longer overwhelming.
Also with Dashboard Customization, making updates in the manager is even easier. Don’t want to navigate the MODX tree? No problem, just click a button on the dashboard to quickly add a new portfolio or add a new blog posting.
Can you Explain the Parent/Child Relationship and Coding Best Practices in MODX?
Understanding how to setup the site heirarchy in a logical fashion that mirrors the site in a natural outline fashion is important. Even more important is using the proper MODX Extras (like getResources) to populate the site’s content and where that code is placed in MODX. What do we mean by this? When you login to your MODX manager, you will not want to see raw HTML and code lying around in your MODX manager. What happens if you accidentally delete something that didn’t mean to or have to work around code? That’s confusing.
We have seen this time and time again. A client has had a MODX site built where the MODX “developers” placed code in areas originally designed for non-HTML developers to enter text content. This causes confusion and creates a very non-friendly MODX setup.
Often times we have found that the client is doing things like needing to hand code blog listings on a blog page when the original developer neglected simple parent/child relationships using MODX extras like “getResources”. Why does this matter? It becomes painfully obvious to us that someone developing the site didn’t know how to use the basic MODX coding structure. The site is basically put together with bubble gum and tape. It will usually hold together for a few months (at which time the developer often vanishes) or conflict ensues as the client realizes they have a site that was put together in a very poor manner and was not thought through.
Site Performance…Will This Site Perform Well?
S-P-E-E-D. You need it and you want it…for many reasons. Nothing frustrates a site visitor more than coming to a site that won’t load quickly. They’re gonna bounce. Understanding how to setup MODX for performance is not done by accident but is rather thought out in the way it’s coded.
Just like the ability to optimize your HTML to load faster and faster, when programming a site in MODX, we think about the ramifications of what MODX extras we use and we think about how the templates are setup. Not only is it important what MODX extras are used, but it’s important how they’re configured.
– Are the extras cached or uncached on the page?
– How do you grab site components on the site like information that populates across the site that is editable in the MODX manager (i.e. phone numbers or social media links that are editable in the manager)? Do you use getResources or tools designed for speed for cases like this (i.e. setPlaceholders). Having built hundreds of MODX sites over the years, we have focused on optimization and speed to ensure our client’s sites will only run faster and faster. Even basic conditional statements if not written correctly can rob your web page of speed.
– Hosting. Often clients want to save a dollars each month and opt for Shared hosting options which only cost $5/month. What ends up happening? The server gets overloaded in the morning and your site takes about 15 seconds to load. That looks professional, right? We provide hosting for our clients on our VPS which ensures your site is fast and up all the time.
– Template inheritance. Is the developer using “If” or other conditional Extras in the template itself to detect the parent/child relationship to determine what template is being output? Sad to admit, but yeh we did that years ago. We used to use the heck of PHx back in MODX Evo (oh the good old days). But then MODX Revo introduced Form Customization, we figured out how to have MODX template inheritance configured in the Manager and not in the templates speeding up sites tremendously.
Are there more things I should consider when hiring a potential MODX developer?
While the above 5 items is not completely exhaustive, it’s a starting point. We have focused on making sure the client’s MODX site we turn over is a lean mean machine that is easy to use. It doesn’t happen by accident and making sure your MODX developer understands some of the core features to achieve these goals is critical.
Sometimes we get clients that have had MODX sites so poorly built, it takes more time to patch them up than just start over. Make sure your developer get’s it right the first time. Contact us today to find out how we can help.