I have a daunting customer support site that is currently a mix of static documents, and web apps for reporting a ticket, etc. I’m trying to determine which CMS will be the “least” headache for me to implement and migrate to. (Those were ironic quotes)
I am pretty fluent with PHP. Have used CodeIgniter extensively for several large projects. Also set up some involved Drupal sites using version 6, several years ago. Customizing something is going to have to happen, but I’m hoping some veterans, after reading this, could recommend whether or not the newest version of Drupal would be a good choice for this project.
My biggest challenges:
1) Allowing staff to create forms via the admin section that has some dynamic content. Dynamic content will be based on groups users are in.
2) Having a CMS handle all the auth, and permissions, and overlaying those permissions to existing web apps in there.
3)Having some directories in the CMS that house web apps, how to get the dynamic nav, etc pulled into those.
4) Our customers currently log in via one login for their company, then their specific contact info shows up when they need to submit a ticket, etc. I need to keep that style of auth; company level, with content type of contacts associated with them.
More Details, and my potential solutions:
1) We have a lot of forms that are used by our customers to request specific changes by us. I need a way for my staff to create a form with a ‘markdown’ style, that is rendered into a form when it is viewed.
My thoughts:
A content type that can render form markup into HTML. My staff sets group access in the CMS for the new form they create. There are keywords to describe/connect to dynamic content in dropdowns, etc.
2) There are several custom web applications that were coded to handle customers viewing their submitted tickets, submitting new tickets, viewing java applets..
My thoughts:
A CMS that would allow me to make a snippet I could insert into these prebuilt apps. Something like “$allowed_groups=array(‘group1‘,’group13‘)” Also if I could, in the CMS somewhere restrict a directory to specific groups, that’d be great.
3) Based on what products the customer has purchased, they should see different nav elements. Within the CMS, this is normally straightforward.
The web apps are all in PHP, having the ability for the customer to hit these apps, but the top nav is generated by the CMS.
My thoughts:
So something in the top of these apps where” $top_nav = $vars_stored_by_CMS”
4)The contact list is received currently by passing the customer account number to another server, and I get nice XML back with their contact information.
My thoughts:
Not sure best way to approach this.
Wrapping up.
Any help, suggestions, or recommendations will be very helpful for me. Thanks in advance.
Comments
OpenAtrium
You have a lot of requirements and while I'm willing to dig in a discuss more in depth I want to point you over to the Open Atrium distribution.
We (Mediacurrent) use OA for our primary project management tool. Out of the box its designed for case tracking and general project work and we've added a few custom features for time tracking and milestones. It's built around Organic Groups which is how you break down customers and projects which sounds like what you are asking for.
As far as authenticating users for other Apps Drupal would have no problem being the master for that. I'm currently building a Central Auth system using OpenAtrium as the front end for access to our internal tools, staging sites for clients and even SSH auth for hosting servers all based on Organic Groups and user matrix.
There's no end to what you can do with Drupal but it's not necessarily the easiest starting solution in many cases since there is a bit of a learning curve and a lot of secret handshakes that you learn from experience. From your description I do think you could expedite your build process with a OA distro and go from there.
Hope that helps.
DrupalVoodoo