174 attendees came together in Utrecht, Netherlands, making this year's MODXpo the largest community gathering in MODX history. What was it all about? Several things, but the underlying message we all came away with was simple. Regardless of your role in the community we all have a lot of work to do.
Whether you are a core developer or a beginning community member you need to step it up this year. Here's the why and how.
MODXpo in Utrecht, Netherlands
MODX is in a state of hyper evolution. As a company MODX is working hard to make MODX Cloud a success for several reasons but most importantly to you, Cloud is how MODX is going to fund the future of MODX Revolution, it's Opensource Content Management System. With several of the core MODX developers having been primarily focused on cloud, Revolution has frankly fallen behind. That said there's never been a time where your community involvement could be more valuable. With Cloud soon coming out of beta and core developers being able to focus back on Revolution more, now is the time we need to come together as a community and take this thing to the next level.
It doesn't just stop at Revolution though. With the next major release, MODX 3, on the horizon of next year your feedback and bug reports are going to be crucial to help the team ship the next CMS of your dreams. Let's take a look specifically at a few things you can do today to help make MODX better.
If you can commit to organizing six MODX meet ups in your area over the next year, please don't hesitate to contact Ryan Thrash about becoming a MODX ambassador. In his words you shouldn't have to cross oceans to get a room full of MODX folks together. You can cross oceans, which I'm literally doing as I write this post, but you should be able to host local meet ups in your area.
I really can't stress the importance of this program enough. MODX has been a best kept secret for too long, and 2013 is the year we change that. In order for MODX to meet the challenges it's tasked itself with the community needs to grow both in numbers and individual participation. So what are a few quick ways you can get more involved now?
- Submit Feedback
- Tell your friends
- Log Bugs
- Innovate & Share
If you think there is something MODX could, should, or would do better it's imperative that you give your idea a voice by sparking conversation on the MODX Forums and/or Twitter. Aside from creative freedom, I decided to set permanent stakes in the MODX community due to the value MODX places on each community member. From the top down, the MODX team respects and values the ideas, feedback, and frustrations of each member in a way that I haven't experience in any other software community. I attribute this partly to the fact MODX stays grounded in it's roots by continuing to look for future employees by hiring it's best community members.
TELL YOUR FRIENDS
With MODX Cloud it's easier than ever before to spin up a fresh instance of MODX Revolution and play around with it. Clouds run as separate instances so break it all you want without having to worry about crashing your client's server and having to phone up tech support. Take advantage of the open public beta by signing up for a free trial today. If you know any Graphic Designers that value creative freedom please threaten to permanently replace Helvetica with Papyrus on their system if they don't sign up immediately.
I come from a design background myself. It's actually what I have my degree in. That said I've come across way too many frowny-faced designers who are sick and tired of seeing the essence and details of their designs lost somewhere along the way of being developed. I've been in the MODX community for about a year and a half now. If you've mentioned MODX once in the last 6 months I probably follow you on Twitter. In that time I haven't come across a single MODX Developer who isn't passionate about finding ways to get their markup and CSS just right for the sake of their designer and audience. To me, that's the common thread that ties MODX users together.
Regardless of if designers have any interest in exploring the development process involved in building sites with MODX, experiencing the elegance and simplicity the MODX Cloud Dashboard brings to hosting will open their eyes to a new tool-set that they can offer their clients. In the words of Kevin Marvin, head of MODX technology "[MODX Cloud is] not about hosting, it's about solving all the things that go along with managing websites". Once designers and Cloud users alike realize they can back sites up themselves, create development areas or even push changes live without having to track down that developer that just disappeared off the face of the Earth, they will be very pleased. Not enough designers know about MODX, and that's on us, so seriously go find some and if you aren't willing to introducing them to MODX email me and I will.
So you found a bug and decided to let someone else log it? We've all been there. Well maybe not Bob Ray. With all that's gearing up in the MODX world between cloud, MODX 3, and our impending global take over, time is of the essence. There's no such thing as a logged bug that doesn't get promptly reviewed, just one's that might take forever to fix ;). So do a quick search in the tracker to see if the bug already exists and if not log that puppy, then pat yourself on the back and enjoy the community-karma you've just earned.
MODX is an Infinite Configuration Engine (ICE, ICE, baby). It really is. Just as there are no limits to what type or how much data can be represented in XML, the same is true for how you manage your content in MODX. Resources can be nested within other resources within other resources and so on. You can create any Template, and it can have any number of Template Variables, that use any of the many available Input Types. Not finding that special input type you need? No worries, it's quite feasible to create your own. Your HTML can and should be represented in reusable Chunks to keep things organized and weed-out unnecessary duplication. More importantly however, chunks allow you to never have to intermix your PHP with your content. Ever. No more messy PHP string concatenation and escaping quotes like a mad man. Chunks can have Property Sets which are pre-defined groups of values that can be easily overridden (I absolutely love the Object-Oriented approach of Property Sets although I'm certain there's a better way to manage them). Need to write some PHP? Just create a Snippet and whether or not you call it cached or uncached is up to you.
By getting out of your way and not confining you to a particular data structure (Wordpress, cough cough) MODX puts you in the driver's seat. You can build an amazing highly optimized MODX site, or a complete P.O.S. MODX really doesn't care, and therein lies the room for innovation. You'll find fast ways to do things, slow ways to do things and everything in between. As you continue to learn about how MODX best serves your process please share that knowledge back with the community. It's always interesting to discuss how unique problems were addressed, and we look forward to hearing what you have to say.
Today you can do all sorts of wonderful things with MODX Cloud but soon, you'll be able to make money off of it! MODX Cloud will feature the ability to sell and purchase premium extras and themes. Show off your front end HTML/CSS/JS skills and how you tie them into MODX, package it all up as a Cloud Snapshot and put it up for sale! Stay tuned on this one, I haven't pried an ETA out of Ryan Thrash yet.
There are far too many software companies that focus solely on their strengths and gleefully ignore their weaknesses. As you'd see by watching the video of the opening keynote, MODX is not one of them. During the initial keynote Ryan Thrash opened up the mic to the audience. There was an overwhelming cry for a solid e-commerce solution. While there are a few solutions currently out there, e-commerce is still an area that MODX is frankly lacking. The most interesting thing about this open mic discussion was Kevin Marvin's take on how e-commerce will ultimately be integrated with MODX. Kevin has no desire to see MODX create it's own e-commerce solution from scratch. Considering there are countless companies solely building E-Commerce solutions and even several years later still haven't gotten it completely right, the community agreed it wouldn't make sense for MODX to attempt to create one from scratch. So what do we do?
We integrate. Kevin Marvin is currently seeking one or more e-commerce solutions to consume within MODX. Music to my ears. I'm confident that this is absolutely the right way to approach the need for better e-commerce solutions, and am eager to see what MODX and their partner(s) come up with.
DOCUMENTATION & EVANGELISM
Another really interesting take away from the open mic session was Kevin's point that a lot of what make's MODX sites "slow" may in fact have more to do with lack of education and documentation in certain areas than the MODX core itself. I couldn't help but agree after thinking back to the first MODX site I built and how up until the very end every Snippet (of which there were way, way too many) was called uncached just because that's the syntax I'd seen in examples.
We now have Scotty Borys to thank for sparking up Documentation Friday. Every Friday several MODX community members pledge to improve MODX Documentation specifically over at the RTFM Library. It's a great way to start the weekend, and an even better way to pick up chicks at the bar. There's no such thing as too good or too much documentation so please if you feel you can lend a hand do! This is a great way to get involved if you are looking to help out but aren't exactly Shaun McCormick when it comes to creating addons. Seriously, the role of editing and writing documentation is right up there with that of developing the MODX Core itself. It's that important.
I still remember the first time I started working with MODX Revolution (version 2.0.8). I spent hours clicking around not knowing what I was doing. Even as a developer it was rather frustrating, I don't even want to think about what it must be like for some clients. How do we make a manager experience that is both ideal for the content editors and the developers? Well, maybe the answer is we don't. Ryan mentioned MODX 3 will likely have multiple managers. Knowing that Dustin Walker will be getting ahold of both of these manager experiences and making them as simple as clean as possible, I can't wait to see what the next major version of the MODX Manager looks like.
Media Sources are perhaps the least used and most underrated feature of MODX. Currently MODX Revolution only has two types of Media Sources out of the box, the local Filesystem and Amazon S3. The local filesystem is rather self explanatory, it allows you and your clients to manage and upload files. You can do things like create multiple instances of the Filesystem and control what users have access to which Media Sources. This allows you to do something like say "my client can only upload stuff to the assets folder". Cool. Being able to hook MODX up to an Amazon S3 Bucket is great because you can store all your large assets there and upload to it directly from the Manager.
But we, (we being me, Kevin Marvin, and pretty much everybody except Jason Coward ;) want more options. Services like Dropbox, Sharepoint, Google Drive and Softlayer CDN are all on the table for potential native integration. While it hasn't been released yet, Mark Hamstra announced a Dropbox Media Source extra several months ago. Imagine how easy it would be to tell your clients to just place images in their Dropbox folder and walla, they appear in the MODX Media Manager.
Files to Elements
Speaking of things just appearing in the manager, one of Kevin's love childs he shared with us is the ability for MODX to scan the filesystem and automatically create static elements (and maybe Resources too) based on the files it finds. Imagine being able to checkout a library from GitHub directly to your server and have a static element for each file automatically created.
Revamping the MODX Media Manager
Ryan Thrash has tasked this one guy named JP DeVries from Portland with making the Media Manager a lot better. No pressure. So I'm working on it! Our goal is to make it much more like (if not exactly like) the uploader found in the popular Gallery extra so that it's much easier to do things like upload multiple files at once. Drag 'n drop all that fancy stuff. Got ideas? Please share them.
Personally this is scary to me, but hey if Kevin Marvin thinks he can pull it off then more power to him. After all he is a Space Bear. I can understand how this would be a very useful feature. I'd hope that even without customizing ACLs only sudo users have the option unless it's 1000% stable.
I was tied up trying to wrap my head around ExtJS in Mark Hamstra's session so I was unable to attend this session, but a video will be posted soon and once I've gotten a chance to take a look I'll share highlights and my thoughts. I hear there were some great tips and I'm really excited to check it out.
If you work with MODX a lot you may find yourself loosing time in having to find that one chunk you are looking for in the Resource tree, and then that other one, and then that other one. During the open mic sessions someone mentioned something that would be a great Extra. Imagine if while you were editing a Template, the editor you are using (say CodeMirror or Ace) recognized the Chunks or Snippets you were editing, and created hyperlinks so that by clicking on one it would open that Element for editing. Question is, who's going to develop this and get it submitted to the repository first?
WHAT'S YOUR PLEDGE?
If you've read this far you are a MODX Community Member, even if you weren't when you started reading this post. So please, drop a comment and let us know what you'll be doing to learn more about MODX and help make it better.