I’m just playing with ideas here, I don’t have a particular project going, but this Forrester analysis
http://www.forrester.com/rb/Research/wave%26trade%3B_web_content_management_for_online_customer/q/id/58958/t/2 of the CMS market got me thinking...
Of course, it’s Forrester, so they barely even mention open source and it’s full of corporate jargon and business-speak, but i think they’re actually on to something.
Basically, they say that the future of CMS is expanding the functionality of "content management" into something they call "experience management." (Sounds a bit Orwellian, I know.) The idea is that CMS vendors are moving to integrate the functions of marketing automation (
e.g. Eloqua, Marketo), customer relations management (CRM - Salesforce), analytics (GA, Overture), "rich media" (whatever that means, they mention Flash and AJAX), content customization and other functions, into a single application to manage all forms of interaction between businesses and customers.
They think Adobe is in the lead on this.
Anyway, it occurred to me that MODx, with its flexible extendable architecture, is probably much better positioned for this sort of thing than other open source CMS. I administer instances of Salesforce and Eloqua. It would take quite a bit of work to replicate all of the features of Eloqua or Salesforce, but I don’t think we would be too terribly challenged to set up the 20% or so of features that people
actually for the most part
use. Heck, probably a majority of the advanced features of Salesforce are only there to make up for the fact that it’s not open source -- they enable you to do things like workflow logic and extending the database without actually allowing you to code anything, this is not a problem for MODx.
However, I’m having trouble wrapping my head around what would probably be the first step, which would be
setting MODx up to function as a contact database.
Would you do it by extending modUser?
Contacts are a different sort of thing than users, though. They need to be
identified, not
authenticated. They might not ever even visit your website - you might just interact with them by phone or email. You need to store lots of data about them, though, including a record of every interaction you’ve ever had with them. And you want to be able to convert them into authenticated users if they do create an account on your site without losing their data record.
I keep thinking there’s probably an easy way to do this but I’m having trouble putting my finger on it. Would you just use the users table as-is, and use attributes to store your extra data as JSON? What do you do about authentication? When I make a new user in MODx, it generates a password -- but you want to be able to log contacts in to the web context without any registration required from them, that is, by identifying them just by a cookie or by email address or even by IP, or by API calls to an external system.
Any ideas on this? I think it would be an interesting direction to explore and really help to distinguish MODx from other open source CMS from a business perspective (
i.e. make it easier to convince your boss to use it).