Monday, September 24, 2012 - 10:37
Written by

De Goede Woning (our biggest and oldest CiviCRM client) have expressed lots of interest in CiviMobile. For them the main focus is on Activities and Cases. It is really important for the workers to be able to access and maintain data whilst on the road visiting and helping customers and stakeholders. So here is my first draft of what is required functionally, any thoughts and comments much appreciated!! We will probably start developing this stuff in October. The generic idea is that we keep the mobile functionality limited to the bare minimum as we expect the more involved tasks to happen in the back office.


Generic Navigation

When accessing CiviMobile for the first time the user will have to login to CiviMobile. Ideally this should only be done the first time and then be automatic, but only if we can find a way that is secure enough.

The user should then see the Home menu. This menu should also be available with a Home button from any spot in CiviMobile (except when in the middle of a transaction). In this Home menu the following options should be available:

  • My Activities
  • My Cases
  • My Contacts
  • Search Contacts

After the first time, the user should be presented with the menu he/she last used when coming back to CiviMobile. The Home menu should be used as a default.


CiviMobile Activities

Activities at De Goede Woning are used for:

  • call back actions, where a colleague is not available and has to call a customer, supplier or stakeholder
  • situations where a colleague is planned to visit a customer for inspection or some other kind of meeting (activity type)
  • meetings with stakeholders, where colleagues need to know what has happened and what has been decided

Settings Activity Types

In the CiviCRM settings there has to be a checkbox to tick if an activity type should be available on CiviMobile. This can be used to prevent unnecessary activities (some activities are only relevant when in the office and not while on the road) showing on CiviMobile.

My Activities

When selecting My Activities, the user will be presented with the first Activity (of a type that is CiviMobile capable and status is NOT completed) that has been assigned to him/her. First in this case means the next one in time. There will be a capability to switch to a list view, where the first 10 activities that have been assigned to him/her are listed. Each of those can then be selected to be viewed in detail.

When viewing an activity the following data will be shown:

  • source contact display name (can be clicked for contact details)
  • target contact(s) (can be clicked for contact     details)
  • subject
  • location if not empty
  • date and time planne
  • details
  • status
  • priority

The user has to have the possibility to set an activity to completed and adding details and a duration when doing so.

Add activity

The user has to be able to add activities in CiviMobile. When adding an activity the following data has to be entered:

  • select the activity type from a list, showing     only the activity types that are available for CiviMobile
  • assume the logged in user as the source contact id
  • select one or more target contacts
  • select one or more assignee contacts
  • set a subject for the activity
  • select time and date for the activity
  • enter details
  • the status will be assumed as planned if the     date is in the future, and completed if the date has passed
  • assume the priority as normal

CiviMobile Cases

The requirements for Cases in CiviMobile are really about Case activities. On top of that it needs to be possible to view all activities in a case. There is no need to be able to add or edit Cases in itself, that will be done in the back office.

Setting Case Types

It has to be possible to tick if a specific Case Type is available on CiviMobile. For some Case Types it makes no sense to have them available on the road, and we like to keep the lists of available types as minimal as possible. Also it has to be possible to check if specific Activity Types (that apply to cases) are available on CiviMobile. Yes should be the default, but it will enable the user to not be bothered by activities like Open Case, Close Case etc.

My Cases

When selecting My Cases, the user will be presented with a list of the 10 open Cases that have the closest open activities. The user can click on any of the cases and view the case details. The data shown in the list will be:

  • case type
  • case contact
  • subject
  • case status

If the users clicks on the case he/she will be able to view the 10 most recent activities of the case (with an option to view the next/previous/last/first if applicable). The activities will be shown in a list with:

  • activity type
  • subject
  • date and time
  • assignee

The user can view the details by clicking on the activity. They also need the ability to update the details, not any of the other fields.

Add activity to case

The user has to be able to add activities to an existing case. When selecting that option, the user will need to enter the following data:

  • select the activity type from the list of available activities for that case type
  • source contact id is defaulted to the logged in user
  • assign to contact(s) can be selected
  • date and time is entered
  • the medium is defaulted to the medium on the case level
  • subject is entered
  • details can be entered

Search Contact

A user needs to be able to search for Contacts. This will be the functionality that is part of the CiviMobile Make-It-Happen.

Filed under


Thanks for writing this up. Based on a request I've had:

  • Will it be possible to view an arbitrary case activity? It seems like you can only see activities for cases with recent activity, and that activities for older cases would not be accessible through this interface. And only for open cases?
  • The ability to jump to a case by entering the case id would be good, and then also provides arbitrary activity viewing via the features already described.
  • Relatedly for searching for a contact it would be helpful in meeting some privacy requirements if you could get to their contact record by entering a case id, rather than searching by name. If the case contact displayed on the case details as described in your post is a link to the contact, then that's only two clicks so might work.
  • Otherwise looks good so far!

Firstly, let me say I'm excited by this development! Can I make 2 suggestions in addition to Dave's?

  • That '10' (activities, cases) is configurable
  • That the generic search (for cases, or even activities) is kept separate from 'My Cases' or 'My Activities' in the same way 'Contact Search' is kept separate? My thinking is that on-the-road, there is stuff we plan for (in the meeting with contacts, etc) and there is stuff we expect might come up (eg, the 'next 10' in the 'My cases') but there's stuff that just comes up unexpectedly (eg, that requires us to search contacts). Dave can confirm this, but I suspect he's thinking of stuff that comes up unexpectedly (eg, needing to refer to a closed case).

Closed cases doesn't matter as much as being able to view more than just activities from the most recent 10 cases.

Dave D and ken, thanks for your reactions! Obviously we do not expect to deliver a clear cut product, we see it as a first step we can start using and improve on. I agree the 10 should be configurable. The generic case search as a separate option certainly makes sense to me, we will see how far the budget will stretch....

I have an org willing to contribute to the budget. The CiviMobile make-it-happen didn't seem to have these features as part of the scope. If this is separate how would they contribute?

Here's an idea for an additional feature:

Contacts nearby your physical location at the present moment (using your mobiles device's location tracking feature).

Any +1's?

@mendel certainly an interesting feature, but for us not relevant at this point in time. There is no use case or business case that would see any benefit from having that functionality for De Goede Woning. However, I can certainly see that it might be very interesting for other uses!