Dashboard > CRM > ... > CiviCRM v2.0 > CiviCRM v2.0 (original list)
CiviCRM v2.0 (original list) Log In | Sign Up   View a printable version of the current page.

Added by David Greenberg , last edited by Donald A. Lobo on Jul 10, 2007  (view change)
Labels: 
(None)

Candidate Features for v2.0

These features are under consideration for CiviCRM 2.0 release:

CiviContribute Phase 3

  • Create a Campaign/Project class and allow users to link Contribs/Contrib Pages to them
  • Tell a Friend
  • Support work-flows for Thank-you Letter and/or Receipt generation:
    • For email output - add batch tasks: - Send (email) Thank-yous AND Send (email) Receipts. Both tasks would be driven from selected result-set. Would need ability to search on contributions with NULL receipt and/or thank-you dates. Task would allow user to customize our existing thank-you and receipt templates for the send. On success, Thank-you or Receipt Date is updated for selected records.
    • For snail mail or external generations: With the above search additions, we could export items needing Receipt / Thank-you. Perhaps a 'special' export task in the Contributions search page would also update Thank-you or Receipt-date for exported contributions.

Search

  • Allow a user entered sql query to be used as the search criteria
  • Allow "regular" google-style search across database using Lucene (Zend_Search_Lucene)
  • Allow searching of dates relative to the current date (today)
    For example it would be nice to define a smartgroup that says
    Include people where Monthly_Donor = yes
    and where Last_Payment_date is over a month ago
    the "over a month ago" function would understand what the date is
    today and spit us out a current list every time. Note that this isn't
    the same as what we have right now where all dates are absolute but
    requires the development of searching relative to todays date.

Custom Data

  • A nice to have little feature Iis to make the number of visible lines in a custom multi-select box configurable similar to how Textarea field display rows & cols are configurable.

Install Improvements (from Owen Barton)

  • Use Drupal .install file & forms api 'wizards' to test system reqs, find database(s), install tables and configure default settings (maybe look at using install profiles to auto-setup for common use-cases).

Reporting

  • Evaluate options for integration with open-source report writers
  • Allowing quick generation of reports under the "print" button
  • It would be especially nice to be able to even have a "quick print" button of reports you use all the time (such as labels for mailing letters)

General Navigation / Usability improvements

  • Initial implementation of user preference model. Will want to handle nav/display preferences, privacy preferences, etc.
  • Make the Dashboard (start page) user-configurable (user-specific blocks)
  • Support contact photo - and if not available larger icon to indicate gender.
  • Most prominent contact info should map to communications preferences as well (so if prefers Phone, then phone number if prominent...).
  • Allow custom fields to be edited/displayed within existing core fieldsets.
  • Allow end-user to create a new Organization or Household quickly from the Create Relationships task flow (use case: I want to indicate that a contact is an employee of Foobar Org and realize that Foobar Org is not yet setup as an Org.contact).
  • Visually differentiate contacts who are also 'users' and add "is/is not a CMS user" as a search criteria.
  • Add "Previous" and "Next" contact in group navigation to contact detail screens to make it easy to browse through the contacts in a particular group.

CiviCRM Profile

  • Profile forms: Auto-create relationship functionality (e.g. solicit info from a contact on Employer, Spouse or any other related contact)
  • Support for viewing "transactional data" in Profiles (contributions, activity history...) - so that user can see their own "history".
  • Allow Profile to override default templates (View, Search, Edit, Listings) specify a custom profile-specific templates.
  • Provide alternative processes for handling the "contact already exists" case when an anonymous user is adding their contact information using a Profile form.

Export

  • Export PRIMARY should include remaining core contact fields deceased, privacy (do not phone....), greeting, preferred
    comm method, as well as Tags and Groups. These should also be available for mapped (selective) exports.
  • Export of objects beyond 'contacts' -> activities, relationships, etc

Import Data

  • UI for Improving Import and Dedupe
  • Allow import of comma-delimited list of tag values as a mapped field (each list item would be inserted as a tag assignment)
  • Import of transaction data (Activities, Activity History)
  • Optimize import processing
  • Consider implementing batch processing alternative for larger files:
    0. stop any write action for this domain id (LOCK)
    1. analyze data and eliminate redundant / bad data
    2. convert data to a series of insert/update sql statements
    3. enter this file into mysql
    4. UNLOCK
  • Create contact from vCard (singleton import) [Shot]
  • Consider implementing user-guided process for importing possible dupes
    1. kick out possible import duplicates for manual review in step 2 (matching first/last, or last/zip, or email)
    2. workflow interface to review screenful of 'unlikely duplicates' and accept their input into DB
    3. workflow interface to review screen of 4-5 'likely duplicates' at a time, where the
    software would auto-fill a radio button to 'go with existing data' 'go with new data' 'merge' 'not a dupe' 'discard'
    4. workflow interface to review 1 record slated for a 'merge' at a time to allow nonprofit worker to manually determine which data to include.
  • Allow the import and export of data by either the value OR the label. It would also be nice to search and/or query by both value or label
  • When importing or exporting, ability to treat check box data as mutiple sets of "yes/no" data.
    For example right now we the mutiple-check-boxes to hold a series of volunteer preferences for individuals in our database. However, another database of ours (that we need to export to and import from) holds the same information as a series of "yes/no" options in different fields.

Volunteer Preferences:
Telephone canvassing: Yes
Foot canvassing: No
Office Work: No
Help out with Events: Yes

So CiviCRM stores these under one field that says "Telephone Canvassing, Help out with events" where our other database holds them under 4 fields that say "Yes" , "No" , "No" , "Yes"

So as you can see, importing and exporting between these two is kinda a pain.

Task/Project Management

  • Add ToDo's (tasks), including ability to assign/allocate tasks to others, prioritize, link to other tasks. Consider linking multiple tasks to a meta entity (e.g. a Campaign...)
  • Task Dashboard component(s):
    • view all your tasks, upcoming tasks, past-due tasks (list and calendar views)
    • quickly update status on one or more tasks
    • create new tasks associated w/ 0, 1 or many contacts
  • Reminders function (not sure if needed - maybe just reminders block as above)
  • Spec and implement 'Follow-up' activity
    • Should carry forward subject, location.. for meeting, etc.
    • Determine how follow-ups are linked in UI
    • Implement method for deleting activity (meeting/call/todo) records w/ follow-ups using a bottom-up tree (to avoid FKey errors)
  • Schedule/log a call (improvements):
    • if no phone entries for this contact, hide phone drop-down
    • Include checkbox next to manual input phone number: [ x ] Save phone number for this contact (If checked, save in crm_phone as preferred phone for primary location)
      Use Case for Task Management (submitted by Osbert)

      At the moment I want to be able to ask my staff, directors and associates to think of people who might be interested in supporting us, and for each of them to enter the information they know about them into the CRM (contact details, interests, relationships etc - which CiviCRM looks well able to handle, along with info like 'don't contact direct, but I can approach them on your behalf)).
      I then want to be able to review these leads, allocate into groups (perhaps priority and/or interest and/or potential amount) and allocate tasks to myself and others (eg phone, write, prepare tailored application, do more research etc). And then after each activity I want to record the outcome and/or next task eg research done (see notes), call to arrange meeting, etc >>> donation of XXX pledged>> write with thanks etc.
      I think the key thing is that we'd want tasks that can be defined by an administrator, and can be allocated by one user to another user. Personally I'm not interested in recording the amounts given in a way that can produce reports (say total donations for project X from Jan - Mar 06) - that sort of information will come out the book keeping system.

  • Ability to record activities to multiple users at the same time.

Groups

  • Support for allowing visitors and/or authenticated users to control their membership in specific groups - join/leave (based on group-level properties)
  • Sort group members by 'status'
  • Support for Organic Groups model (self-organized groups, group 'leader' and other roles, etc.)
  • add contacts to group by user role

Permissioning / Access Control

  • Support for a range of visibility settings for contact info based on combination of admin-configured properties and contacts' own privacy preferences
  • New permissions: View / Edit 'my own group(s)' - i.e. groups that I am a member of.
  • Built-in permission to view/edit contacts which you have created (plus your own contact record?).
  • Task-level permissioning (e.g. this role can 'send emails'). Re-architect permissioning - probably using ACL model.
  • Solve the access control puzzle for New Contact/New Group. Issue is that if you don't have 'all contacts' view or edit permissions, you can create a contact but then they 'disappear' from your permission scope since they're not in a group you have access to.
  • Default Group permissions: There should be default settings for group level permissions so that every time you create a group you do not have to go to access controls to change the group level permissions.
  • Separate access control tab for civicrm module

Tagging Enhancements

  • Tags can be associated w/ ALL objects, or specific object type(s) (use case-I have tags for different types of orgs, and want them only to be assignable to contact.organization objects).
  • Allow grouping and hierarchies for tags.

External Application Interfaces

Framework Improvements

  • Allow multiple selectors on same page (e.g. Page/Activity.php)
  • Formalize error handling mechanisms for user error reporting vs. logging vs. email alerts, as well as error code taxonomy

CiviMail Improvements

  • Mailings should be groupable. what i mean is that if you always do a "weekly news" mailing, you should be able to identify that mailing as of that type and then look at aggregate metrics, also sort and group mailing jobs.
  • Send randomizer: ability to set up multiple versions of a message that will be sent at random to members of a group. Metrics would show open rates and click through rates for each distinct message version.
  • Per message tokens: some way to create a message that pulls specific token data based on a user's criteria.
  • Track URLs screws up when token replacement is in URL path
    • e.g., with contact.external_identifier set to the Drupal User ID, the line:
      Please log in and edit your personal information:
      http://{domain.name}/user/{contact.external_identifier}/edit/
      

      is expanded to: http://example.com/modules/civicrm/extern/url.php?q=1&u=2/edit/ which fails

    • a simple (non-optimal but general) fix is to be able to locally turn off Track URLs in segments of text
  • why is a header required for civimailings? what if i don't want one?

Miscellaneous

  • Integration/plugins for email client(s) - Outlook and/or POP3 webmail to allow sending and reading emails within CiviCRM.
  • Zip+4 lookups
  • Provide a way to delete a location for a contact (currently there is no way to do this except via API or direct DB query).
  • Look at creating RSS/Atom feeds for some output (CiviCRM Profile listings, ??). Need to talk to community about expected use cases. [Shot]
  • Contact Photos - Expose image_url property for contacts. Consider implementing a user hook to capture image URL when a photo is added for a user (or perhaps just do this w/ the user_synch script ?).

how about some ldap intergration so i could use outlook or OSX's address book to look up contacts?

Noel,
First, would be cool if you could give us a better idea of use cases for this and how you would see it working. Also, if you (or a resource you know) has LDAP expertise we would welcome some contributed code in this area .

Mac OS X's Address Book and Mail programs both have the ability to search an LDAP directory. It would be nice to provide access to contacts stored in CiviCRM using this feature. What this would mean is that instead of opening a browser to look up a contact in order to find a phone number or send an eMail, one could just search in Address Book or use Mail's auto complete for addresses.

A related feature would be an ability to use Mac OS X's sync services to sync Address Book and iCal with CiviCRM for offline use.

I'm sad that CiviCRM does not offer LDAP. The use case noel hidalgo described last year is only one of many integration possibilities. I use OpenLDAP to serve user accounts in my organization (a small CTC, community organizing project, and youth development program in Chicago). The personal and contact information for all staff, program participants, and members of the organization is maintained in the LDAP data source. An LDAP data source can be exploited by a variety of different applications, so I use it to provision email, POSIX shell and Samba accounts for users in the CTC and for our staff. Sympais a mailing list manager that can use queries against a SQL or LDAP data source to define the membership of a mailing list, so I can create lists that are males under 20 or individuals who live east of a particular point.

LDAP integration in CiviCRM would mean that the same "person" data can be used as a donor, an entry in my email client's address book, a program participant, a Samba account, a listing on my mobile phone, a mail account, a mailing list member. Probably the utility of LDAP integration for CiviCRM is limited by the very low use of LDAP in non-profit organizations. However, now that I use LDAP directory services, I evaluate all other application decisions based on its ability to integrate into LDAP.

Does Pear's DB_DataObject hook up with any LDAP drivers?

OpenLDAP supports SQL backends when extreme care is taken to develop the mappings of attributes to fields. This is a very complex and site-specific option.

Benjamin:

Considering your expertise and knowledge with regard to LDAP and its integration with other packages etc, will be really awesome for you to consider doing this as community contribution?

We will be happy to work with and learn from you and if needed integrate and make changes to the core code base to make the above happen

lobo

I will be doing this integration for my own site, and I will gladly share the results. However, my strategy is to get the SQL backend for OpenLDAP to reveal the CiviCRM data as LDAP entries. This is going to be extremely tedious, and I'd wonder how easily it would commute to another installation. (It usually requires a recompilation of the OpenLDAP server to get the SQL backend.)

I'll start joining the right mailing lists now. I've not used PHP in a few years, and I definitely am not familiar with PEAR.

LDAP integration would be great. It would also be nice to be able to integrate with iSync on Mac OS X for offline storage of contact data.

Anonymous

also I'd suggest Agata reports as probably the most reature complete php based reporting tool out there. Of course Jasper is there if you want to go the java route.

as has been mentioned elsewhere, donation management is crucial and deeply valuable functionality. where can we go as developers and/or end users to help it happen well and quickly?

are you looking at sql-ledger specific exporting (or even automatic updating), as probably the most widely used open source accounting solution?

finally, project management is a key piece of managing contact/volunteers. is that in the road map? any thought of working with dotproject or another existing open platform? even functionality as simple as sugarcrm would truly step up the open-community grassroots self-management potential of the project.

thanks!
www.tryonfarm.org

I'm extremely excited to hear about both the mass-mail and online donations processing elements scheduled for the 2.0 release. They are vital to non-profits. CiviCRM is making amazing strides and everyone involved should be proud.

My question pertains more to Joomla/Mambo integration than specifically to 2.0 development:

Any word on some sort of integration with the joomla/mambo frontend?

Frontend website registration information into CivCRM and the ability to have information from forms (take action forms, etc) become part of the CiviCRM database would be very helpful.

Thanks!
Devin

hey devin:

More indepth Mambo/Joomla! integration is dependent on help from the Mambo/Joomla! community. Ryan ozimek from PicNet is helping us out, but more help would make the process go faster

lobo

Thanks lobo!

I completely agree with you about the need to get more mambo/joomla! community members involved. Ryan has been really helpful and is doing incredible stuff, but I think there is still a need.

What might help is a central location for information about CiviCRM specific to Mambo/Joomla!

As it is now, I've got to dig around in multiple different locations in an attempt to find the latest information.

For instance, I've read some mention of CiviCRM integration with Community Builder for Mambo/Joomla! but have found it difficult to follow the latest, and even more difficult to know where to refer people (Joomla! community members who may not be as intensely interested in CiviCRM but are much better coders, for instance).

cheers!
Devin

My requests are about usability:

  • Make the links that are in the CiviCRM navigation blocks available as a navigation bar at the bottom of every civicrm/* page.
  • Make a CiviCRM home page that accesses all of the administrative and functional links and forms in one place.

Thanks for all your great work!

Not that it necessarily addresses your immediate issue, but with Drupal, you can implement both of those requests on your own if you would like. If you put together a design that makes sense to you and post it on the wiki (what is in the Nav bar, what is on the home page), I'd be happy to mock it up.

You can create a custom menu in Drupal and expose it as a block. This is how all of the CiviCRM menus were created.

As for the homepage, same thing, it can be implemented in Drupal as an HTML page.

A few suggestions:

Allow a custom data group to be added to only one type of activity.

Allow recording of date of death (CiviCRM already shows someone is deceased, recording that date would be valuable).

Maintain historical information for relationships (Bill was spouse of Sally from 1-Jan-02 until 19-Feb-06 or Tom chaired our Membership committee for 2002 and 2003) and allow one to search for these relationships during a date range.

Maintain historical data on contacts names (Sally Jones marries Bob Daley and changes her name. Be able to search by either name and then be able to display names a person had).

Thanks for a great product!

Don't relationships already have start and end dates? This is what I use for divorce and employment.

I'm interested in producing an RSS feed with name lat/long and some custom fields containing quotes from users in order to display them on a Drupal gmap.

Powered by a free Atlassian Confluence Open Source Project License granted to CiviCRM . Evaluate Confluence today.
Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators