
Implementor, administrator
Third Sector Design
We work with non-profits to help them use and understand Civi. It's such an important tool for these organisations and it's great to see people using it in different and interesting ways. Using and working with Civi is made so much more fun and useful by the enthusiastic and talented community surrounding it.


Developer and End-user
Fuzion
CiviCRM has one of the most active and friendliest communities I have come across. From initial tentative forum posts I was encouraged into engaging more actively through IRC and directly with other groups & individuals and am now happy to count many community members as friends. I recently found an article on the web that said if you post a question about CiviCRM anywhere on the web Lobo will post an answer within a few hours. It often feels like that is true.
One of the most valuable way in which the community supports me is by allowing me to bounce my ideas around and often someone is able to suggest an approach which is better than mine.


end-user, implementor
consulting/multi
CiviCRM provides a vital tool whereby nonprofits and other social projects can implement strong contact-relationship management capabilities without high monthly fees. It also provides the integration and customization capabilities necessary to make such software useful in the complex, lived reality of doing social engagement work. Plus it continues to build the open source toolset made available to the Commons and grow the common good.


Developer and Implementor
Tech to the People
Over the past 15 years I've been involved in several open source communities.
CiviCRM is without any doubt the one that has the strongest focus in welcoming "newbies" and letting everyone feel at home here. Another impressive feature is the focus on shipping. No matter what you think of CiviCRM today, you are almost sure that there will be a newer and better version in a few months.


DEVELOPER
WIKIMEDIA FOUNDATION
At the Wikimedia Foundation, we leverage CiviCRM to maintain millions of records of donors and their contributions. Working with the product and particularly with the community has been a terrific experience. There's nothing quite like two open source organizations working together to meet their respective goals while ultimately strengthening the open source community as a whole.


Implementor, Developer
PeaceWorks Technology Solutions
PeaceWorks provides technology solutions for not-for-profit organizations. CiviCRM fills an important niche among our clients who need a flexible, comprehensive, user-friendly, web-integrated CRM solution.


End-user, Administrator, Trainer
Progressive Technology Project
CiviCRM is helping us serve member-based community organizing groups across the
U.S. to keep better track of their events, fundraising, and membership data. It's helping our community to aim higher in terms of what kind of questions they should be asking and what kind of data they should be collecting. We chose CiviCRM because it's the best all-around tool to do what our groups need, AND because it's open source.


End-user and Developer
Woolman Sierra Friends Center
If it weren't for CiviCRM we'd be using at least 5 different
systems for Woolman: one for donor management, another for email newsletters, a third for our school enrollment, a fourth for our summer camp registration, and then a whole bunch of spreadsheets for keeping track of things like event attendance, prospective students, CSA memberships, etc. And of course none of those systems would talk to each other or make it possible to get a whole picture of the many ways one person might participate in our education center's activities. Migrating all of our scattered data and disparate systems to CiviCRM was a long and challenging process, but the results have been more than worth it. Our ability to track and report on our programs has improved dramatically, while the burden on staff to do data entry has been greatly reduced, and our participants are happy that they can now register/enroll online rather than mailing or faxing paper forms.


End-user, Administrator, Implementor
Center for Media Justice
Civi has been an amazing tool for CMJ (and for other organizations I work with) to keep our most important data all in one place in a user friendly way.


Implementer, Developer
EE-atWork
The CiviCRM community is a very friendly and helpful community. Whatever the challenge, I always get enough help from the forum or IRC to nudge me in the right direction. For me joining in a CiviCRM sprint once or twice a year is the best, meeting other community members in real life, sharing successes, challenges, problems and meals :-) Seriously, I think the active community is one of the serious assets of CiviCRM and I am proud to be part of it! And when I grow up I promise to do more :-)


End-user and Developer
Woolman Sierra Friends Center
Working with CiviCRM enriches our commonwealth. Any investment in CiviCRM is
shared by the community as a whole. Community organizations naturally complement the spirit of Free/Libre Software.


Implementor
BackOfficeThinking
CiviCRM allows us to bring all benefits and capabilities of a large commercial CRM and
donor management system to medium and large non-profits at a fraction of the cost. CiviCRM also allows smaller non-profits to benefit from an integrated solution for donor management, events, bulk email, etc. substantially increasing their effectiveness as compared to managing a variety of nonintegrated software and spreadsheets. Thanks to a strong CiviCRM community, CiviCRM’s functionality continues to advance and CiviCRM’s market continues to grow rapidly.


Comments
Consultants are Case Workers too - like NFPs
Great discussion starter Xavier, and thanks for sharing your setup.
Time Recording - Custom Joomla (1.0!) component
About 5 years ago we wrote a custom component in Joomla! for the time recording and basic case management piece, and then integrated this with CiviCase in a loose way a couple of years ago. It was never ready for prime time, so unfortunately was never released.
We are looking to dump it soon, so that all time is recorded against a task in CiviCase, but to do that I think we really need to get CiviCase distinguishing between tasks and activities.
Task tracking - Jira
Currently we store all the tasks on big projects in Jira, so that we can break a project down into manageable work blocks and then estimate time against them. Pulling this back to the high level then enables to estimate the time involved in the project. This is something that lots of case workers would benefit from being able to do in CiviCase.
Clients generally only want to know about the tasks undertaken on their project, and not all the individual activities recorded for those tasks, so when you create an Activity in CiviCase you should be able to say what Case and Task you were working on, so that you can generate reports by Task, not just by Activity.
Jira is a brilliant issue management platform, and is free (as in free beer) and open source (in terms of the code being hackable), but it is neither Free Software nor Open Source Software - but it does have web service capabilities that enable it to push data through to CiviCRM and vice versa. Consequently, even if CiviCase had a very basic Task/Activity framework, it could centralise the basic record of activities on tasks undertaken on small projects within CiviCRM and large projects within Jira, to enable centralised reporting for clients/management. That would be great!
Correspondence and document management - Alfresco
When we send email, we put a unique "ref" field and Case ID in the footer, so that the CiviCRM Autofiler can add the emails to a Case - but the way CiviCase displays these activities is pretty clunky, so we are looking to integrate this piece with Alfresco - the Open Source document management system that we think is the best fit for organisations that have serious document management needs.
We are in the final stages of planning the creation of a CiviCase hook that will create a folder in Alfresco for each case, with custom rules based on the Case Type, and an Organic Group within Drupal for discussion. This will enable CiviCase to not just create an appropriate set of folders for a "Housing Case" or "Divorce Case" but also trigger rules to generate appropriate documents, discussion/wiki spaces etc. Very exciting... just wish there were more hours in the day!
Currently we have setup the Alfresco templates to trigger when a new client/case is created, we now need to write the CiviCase Hook and look at how to hook into the merge process to ensure that Contact and Case files don't get orphaned when Contacts are merged and cases are moved around (creating a new Case ID).
Because Alfresco provides WebDav over SSL in addition to the browser interface, it can provide a DropBox like experience as well as being able to display folders via IMAP! You can activate version control on individual documents or those in specific folders, and have rules to apply when documents are added to those folders.
Alfresco is extremely powerful, and as such has a reasonably steep learning curve (including setting up a Tomcat server and using Java, rather than the LAMP stack that is more familiary to CiviCRMers).
Organisation directory / Mail services - Zimbra (using openldap)
To glue all of this together using a consistent username/password and authentication system, we are using the Open LDAP provided by the Open Source Zimbra Collaboration Suite. This enables an organisation to create an email account for a new employee/volunteer/contractor/client and when they create their email account those new users will automatically be able to login to the Alfresco document management system to see just their own folder, or the folders that relate to their contacts/cases, using their email username/password. We have not got the group/folder permissions piece completed yet, nor the hooks that would need to be added to CiviCase that would enable it to change group permissions in the LDAP Zimbra server when people were added/removed from a Case.
One thing that we are thinking would be useful, is to have a separate email address automatically created in Zimbra when you open a "support case", so that all emails to that account can be recorded as an Activity against an existing Task (if they contain the Task ID in the Subject) or will create a new Task and add itself as the first Activity. This action could be triggered in Zimbra via a "Zimlet" or in CiviCRM via the email processor.
When an activity is assigned to a contact, it could also be added to that user's Zimbra calendar (there is currently no native CiviCRM per user activity feed - but ns web solutions has built a Drupal module to do this!).
Zimbra is also a Java based platform, like Alfresco, so Java together with OpenLDAP requires a fair bit of learning for those coming from a basic PHP/MySQL background.
Conclusion
Because Zimbra and Alfresco provide great web service interfaces, and are really solid enterprise solutions, I think they are brilliant candidates for Enterprise integrations that more than compete with the proprietary closed source alternatives. When installed within Drupal in particular (due to its permissions structure, hooks and open modular architecture), CiviCRM could provide a fantastic hub for tying together these Enterprise solutions into an easy to use and familiar interface - without becoming a piece of ERP bloatware that makes it unusable to all the small non-profits with simple needs and small/non-existent budgets.
Fundamentally, however, we need to make some improvements to CiviCase so it can play this co-ordinating role.
A subject for a great discussion at CiviCon 2012 (hope I can get there)!
Regards
Andrew
Interesting integration ideas
I like your idea to integrate with Zimbra & Alfresco.
Could you elaborate what's missing on CiviCase (or what's clunky on the activity interface)?
Tasks
The key thing is having Tasks separate from Activities.
This is relevant for ticket tracking too, because it enables you to have a new Task created with the first report of an issue, and then have that task id in future emails.
I think it is really important to not turn task management into a forced ticketting system, but for it to be flexible to support being used as a ticketting system.
Our approach is to try and push the data that you need to be centralised into CiviCRM, but to keep the specialised tools doing what specialised tools do best.
Making CiviCase have a Task/Activity model rather than just an Activity model would help enable:
Ideally the Drupal organic group access rights would also be driven by LDAP, but we haven't looked into that. This would enable all the "heavy lifting" to be done behind the scenes by the tool designed to do that job, while CiviCRM sticks at what it does best and uses hooks to provide the glue to keep everything together.
This way small NFP organisations could use CiviCase to record time by recording activities against tasks, while larger organisations could use other enterprise tools with good APIs to do specialised tasks (eg Jira for development) and have that data pushed into the central "task and activity" repository for the organisation - CiviCase!
Issue tracking combined with customer dashboard
I think is a good discussion, i.e. talking about one's own itches that need scratching, and if we can gather enough momentum to develop something akin to a Drupal distribution that would help us as implementers achieve higher efficiencies during our day-to-day work of promoting and servicing the CiviCRM user community of clients, then that's a win-win for the community at large.
We've looked into using CiviCRM as the unified system for client interactions in the past, but we've never pulled the trigger due to lack of integration to a good issue tracker and a good time tracker, both of which are critical in getting the full use of the system in our opinion. We use a combination of Kanbanpad, an android time tracking app, and LaTeX to get from issue to resolution to invoice. Having said that we will however be using CiviCRM starting this month to keep track of sales leads and proposals. In our analysis we really would like the ability to generate invoices straight from within the system while also giving our clients a peek at their own project status as a dashboard to cut down on unnecessary email exchanges.
I know some consultants are using redmine as a pure ticket and time tracking system, but it's not integrated into CiviCRM.
There is a actively developed support ticket system built on Drupal sponsored by the folks at Tag 1 consulting http://drupal.org/project/support that is worth mentioning here which does allow for time tracking, and it might be useful to layer this into a possible Drupal/CiviCRM distribution.
Young-Jin
Dog fooding is part of the goal
What is missing in your mind for having a good ticket system?
In my experience, stuff like redmine is too complex for clients, and the best I could find it a pure email solution, where they get notifications and reply to them, and a dashboard of issues we look at in meetings and that's about it.
We looked at support, don't recall why we prefered using og_mailing list at the end, will try to remember.
X+
Good ticketing
I think what's needed for good ticketing are in order of importance:
More or less all here
Something that is missing is being able to close per email. How do you do that? with a command like subject (re: ticket title [close]")?
Use the right tools for the job
I'm not so sure this is a good idea. I've implemented something similar myself in Drupal, pulling time data in from Freckle, and sending out to the invoicing system (Freeagent). It worked as far as it went, but then I tried to add a reporting facility for clients. I found Drupal too rigid to output the data in the way that I wanted (this is coming from someone who's worked almost exclusively with Drupal since 5.0), and was running into bugs in coreish modules (Views and Token).
So I rewrote using express.js (rails would have been an easier choice but I know node better than I know rails) and to me it feels like much less friction to develop.
Drupal/Civi are very optimised for what they do, and are good at it. Imo as soon as you start trying to use them for something more app-like you're going to be swimming upstream.
Plus as others have mentioned there are some great tools that solve all these problems already, and do it much better than a home-rolled solution could. If you're building you're business infrastructure around a Drupal/Civi solution you're kind of locked in to whatever the community provides.
Thanks
Hi,
I've been using node.js on some project, and like it very much, but not sure it'd help custom dev. As for being locked by whatever the community provides, part of the goal would be to improve civi. Things like timetracking has been mentionned by different use cases than for providers.
This being said, not sure that'd be the best solution indeed ;)
Using CiviCRM for a consulting shop.
I am using CiviCRM + Drupal + Organic Groups to manage clients, projects, and tickets. Timetracking/Invoicing is done in QuickBooks Online.
Its been a bit of a journey to get to this point. Originally used SugarCRM to track clients, but it had to many limitations so I switched to CiviCRM to track clients. Tried briefly using CiviCase to manage client projects, but it did not work out as the client could not see their project status, nor share files, comment on what was going on, etc. So we switched to Organic Groups for managing projects. There is one group per client. At one time I used osTicket for ticketing, but could not easily associate a ticket with a client. (This became esp. painful when multiple staff at a single client opened tickets without coordinating first). I am no longer using osTicket, and instead created a CCK type called "support ticket" which is required to be posted to an organic group.
I am also using Views to allow a dashboard of all open tickets, plus a block of open tickets that is displayed in each group. This way a client can access their group and see any communication about their project, upload/download files, plus see a block listing their open tickets.
The main pain points is that I have an organic group for each client organization, and I also have a CiviCRM contact record for each client organization, yet there is no mapping/linkage between the 2. It would be nice to pull up an organic group, and see the main phone number and related contacts for that client(as set up in the CRM record). It would also be nice if when looking at the contact record, to see the status of their project and any open tickets. There is also redundancy about maintaining relationships between the client contact record and all the employees/volunteers, and also have to manage the group membership.
One group per client or per project?
We seem to have the same drupal setup.
With the sync, can see the activities/tasks on the civicrm profile. Having an overview in the contact summary (both org & persons) might be useful indeed)
Currently I have one organic
Currently I have one organic group per client. This works out because at any given point in time there is only one main project with each client. There is one client where we have lots of mini-projects,but its still just one organic group with lots of "support tickets/tasks".
Re: When you have a civicrm...
Just posting for reference:
http://forum.civicrm.org/index.php?topic=15671.0
Some very interesting ideas
Some very interesting ideas here.
Not advocating this as a solution but more in terms of exposing our inner workings.
We really only use civicrm to record hosting arrangements (as a Membership) but should be pushing a lot more data about the servers etc in as custom data and exposing as Views.
While we used OpenAtrium (Drupal) for a while for ticket management we shifted over to Redmine and never looked back. Ability to commit code as part of the issue tracking process was a definite advance for us.
For timetracking we use a proprietary NZ solution called MinuteDock largely as this integrates with Xero - an proprietary accounting package - another NZ-solution that is taking the world by storm (well they say so ;-) )
To top it off we use Flexitime - yes another proprietary NZ solution that also integrates with Xero - for TimeSheets and PayRoll stuff.
OpenAtrium + drupal
I've been gradually increasing my own dog food consumption over my last 7 years as an independent drupal/civicrm consultant.
I've recently been converted to using OpenAtrium for ticket tracking, and I've been using a fairly simple views/cck type solution for time tracking, which I haven't yet, but plan on integrating into OpenAtrium soonish.
I wouldn't bother posting this except that as far as time-tracking goes, i wanted to say that i've always hated systems that force you into an unrealistic model of doing one thing at a time. So for a long time, i was stuck using an excel spreadsheet and doing a lot of manual calculations and maintenance because I didn't want to post one task at a time and then have to keep re-editing them as I was pulled off and on a variety of tasks over the course of the day.
Several years ago, I wrote a Drupal 5 custom module to do a kind of batch input system for a local movie theatre, and realised it would work for me as a timetracking input tool, and used that for several years. But it was a bit of a hack, so i was hemming and hawing about trying to upgrade it when i discovered ...
http://drupal.org/project/editview
which is a way of doing a kind of smart spread sheet style input screen using views, just as you might expect and hope for.
To me - combining this into the existing openatrium case tracker feature seems like a nice way forward, and being able to glue civicrm constituent records to my client content type would be as much integration with CiviCRM as I'd need or want.
I haven't explored civicase, but integrates enough with views to allow editview to work, then i'd consider it.