Code Jam: Part I - Front End Resource Editor for MODx Revolution
A couple of years ago in a previous job I had gathered a little momentum in my team for a code jam - the idea being that a few intense hours of collaboration on an otherwise ignored idea could be the springboard for a fun project. In the end it never happened, getting people together for a code jam on their own time isn't the simplest thing. As anyone in the web development industry knows, client projects always find a way to take precendence above unproven internal projects. I put the idea aside and forgot about it.
Having been inspired by Mark Zuckerburg's 'Face Mash' coding frenzy in The Social Network, this past month Jude and I started a little competition: Who can build a small scale MODx brochure site the quickest. We each picked a project and setup a time where everyone in the office knew we were 'wired in' and were not allowed to disturb us. We also picked forfeits for each of the losers. These were very small projects, they had a handful of templates and around 10 - 15 pages of content.
In the spirit of competition, I am going to rub it in Jude's face by telling everyone that I won. My time was 70 minutes, his time was 90. I will not be disclosing what his forfeit is, because it probably isn't suitable for this blog ;)
After we finished the competition, it became apparent that given that everything is in place, we can be remarkably efficient (e.g. in the context of our competition, those things were design, content, sitemap etc.)
So now we're ready to put the previously discarded code jamming concept to the test with a project that we hope will provide significant utility to anyone using MODx Revolution. We have many, many ideas bouncing around in our office, some would say too many. But given the restrictions we are placing on ourselves for this code jam, we were able to filter out a lot of those ideas and focus on one that is realistically acheivable in a day. Although we do not intend to finish the project in its' entirity in a single session, we will be tackling a request that we see a lot of in the MODx forums: A front end Resource editor for MODx Revolution.
First up, here's our rules for the code jam:
- Each iteration of the project will be coded in a single non-work day, between 3 or 4 developers (whoeever wants to participate and work on a weekend). All phones are off, emails are unread/unanswered, and IM clients are switch off.
- Each developer will be responsible for one part of the project.
- At the end of the day we will blog about our progress, and set another date for the next code jam. We will release our days work to the community on github. Depending on the state of it, we may submit it as a package.
- Core hacking is not allowed.
- We will start at 10AM, and finish at 7PM. Afterwards, we will gorge ourselves on food and beer as we celebrate what awesome ninja's we are.
Any breaking of the above rules will result in being Iced. Ice blocking is not allowed.
Here's our main set of features for the first release:
- Allow editing of all core resource fields (e.g. pagetitle, longtitle).
- Allow editing of all Template Variables.
- Support form customisation.
- Provide the full site tree within the editing interface.
- Respect all access policies.
- Reuse as much core code as possible, e.g. whatever can be sent to existing processors will be.
- By the same logic, we will use ExtJS & MODext to render the interface.
- Provide translation packages in English and Chinese.
End Goals:
- As premiere partners of MODx, we intend to do our best to spread adoption of the best open source CMS in the world. We think that releasing a good front end editor for Revo would help with that.
- To finally put the code jam concept to the test, hopefully along the way inspire others to finally start and finish the ideas that got lost along the way.
- To familiarise ourselves with Git as we try to improve our internal workflow, and to release the code onto GitHub so that the community can continue to improve our initial offering.
If we get round to a second release, there's many features that we can add to make the front end editor a true alternative to the existing manager interface. To list a few: Preview mode (e.g. view changes on the page without saving), drag and drop of elements and files, custom tv types. We'll be taking suggestions after our first release.
Conceptual Wireframes:
(rollover for an expanded view).



So - when is this happening? It's pencilled in for January the 8th, with christmas and new years out of the way, we'll have a clear road ahead to make this happen.
- The Ninja
- Monday, 13 December 2010
- 10 comments

Thomas108:
Dec 13, 2010 at 01:44 PM
Wow, this sounds really great. Many thanks in advance for starting this.
At the moment I am evaluating different existing approaches which are all in beta or less.
Frontpage: http://modxcms.com/extras/package/?package=764
Newspublisher: https://github.com/BobRay/newspublisher
EasyEdit: https://github.com/ministrycrm/EasyEdit
My personal favorite at the moment is EasyEdit, but it seems to be not working correctly, at least for a nonCoder like me.
There is a screencast available: http://bit.ly/co4hpy you might want to look at.
Clayton Borah:
Dec 24, 2010 at 04:36 PM
Fantastic! Revo is such a life saver for me. I've tried working with dozens of other products and nothing was as intuitive as Revo, at least for a designer (read non programer) like myself. I don't have an problem using the manager but I think a front end editor would be a much better user experience for my clients.
James:
Dec 13, 2010 at 02:27 PM
Thanks for the links Thomas, we'll definitely be doing some further R+D before diving in.
Bjorn:
Dec 29, 2010 at 08:58 PM
Hi there,
I recently posted a commercial inquiry for a project just like this... Your description looks very promising, although it's a little more complex than I imagined. However, if the first release looks promising, your next Code Jam beer & pizza celebration will be on me!
Feel free to swing by my inquiry thread:
http://modxcms.com/forums/index.php/topic,59125.0.html
I'm looking forward to follow your blog as your isolation begins and the project takes shape!
James:
Dec 30, 2010 at 06:55 PM
Hey Bjorn,
Actually I did see your thread - hopefully we produce something useful for you!
Based on the thread you started it looks like a lot of people are actively working on solutions for this - we will definitely try to leverage some of their work before and after our first release.
Thanks for notifying us and happy 2011!
bob:
Jul 16, 2011 at 03:10 PM
Hi.
I'm just wondering if upfront was ever completed.
When I heard about it a few months ago, I was quiet excited... it's a vital, but missing part of modx.
Was any more work done on upfront?
James:
Jul 16, 2011 at 03:16 PM
Hey Bob,
We're working on it at the moment, and it'll be part of a new open source package that we're releasing with Mark Hamstra codenamed 'REX'. Expect to see some activity in the github repo next month. Cheers - James.
Susanne:
Nov 11, 2011 at 09:23 AM
Any news about the frontend-editor?? just curious...
Dmitry:
Jan 16, 2012 at 01:45 PM
Seems to be a one of the SOLID add-on if it gets released.
I believe a more simple solution with just a form with text inputs and/or textarea can do the trick of Front-end content update (if logged in user has editors permissions) but not elements positions.. he he..
+1 subscribed to this thread.
Cheers
Dario:
May 15, 2013 at 10:02 PM
So, any news on this plug-in, this is just the thing i need for a website and it would be really great if this ever gets released.