Next Release (2.3)
1. (CRM-4478) Add Priority field to Activity form - default Normal, other options: Urgent, Low
2. (CRM-4476) Activity option value description = TEXT type and rich text editable
3. (CRM-4480) Create an activity whenever Case Role is added or modified.
4. (CRM-4480) Assign Case Role - special activity type -
- select role
- select person
- for case or general relationship
5. (CRM-4485) Add Activity Assignee to Activity selector (under case listings in dashboard, find cases, and in jquery activity grid under Manage Case)
- col hdr = Reporter / Assigneee. Show Assignee under Reporter (source contact), if present. If > 1 assignee = "(multiple)"
6. (CRM-4479) Add "Check for Duplicates" button to New Case for New Client form.
7. (CRM-4481) Case Dashboard - remember user pref to Show All Cases OR Show My Cases (remember last state)
[DD] Feedback indicates persisting across logins would be preferred.
8. (CRM-4525) [DD] There doesn't appear to be a log entry created when you delete an activity. Needed for auditing purposes.
9. (CRM-4533) While there is a log entry created in the log table, there's no way in the UI to see who edited a prepopulated activity if it happens to be someone other than the person who created the case, and it's the first time it was edited. It's related to the non-revisioning of first edits for prepopulated activities and that the view activity overlay screen shows created by but not modified by.
10. (CRM-4509) Email triggered (with copy of activity) when an activity is Assigned (automatically)
- Email should be send when assignee is added or changed. Implement this for both regular and Case Activities (per dgg).
11. (CRM-4510) Add "Case Manager" flag to case roles configuration. Display case manager on case selector.
12. (CRM-4505) [DD] [BUG] Doing an advanced search where you select contacts with a specific tag and also a city and state correctly returns the right results, but then selecting the "All records" radio and choosing Map Contacts from the drop-down ignores the tag filter and maps ALL contacts in the database that match the city and state. However, selecting all of the records by clicking in the checkboxes beside them and choosing the "Selected records" radio works as expected.
13. (CRM-4399) Move "Recently Viewed" bar to "block".
- Record any recently viewed URL - by record type/component (Case, Activity, Contribution, Dashboard etc.). Need to link about dynamic listings like search results ??
- organize list by "record type"? or figure out compact way to show the type?
14. LOINC dictionary - assign observations via activity
- (CRM-4532) new custom field HTML type - "Select - Auto-complete"
- import dictionary to a specific table, include revision # in each row (so we store the table row id which points to LOINC code and revision #)
[DD] No response from the loinc forum on any best practices regarding versioning.
- use buildCustomOption hook (may need some changes) to feed the ajax autocomplete
17. (CRM-4569) Free-form text Redaction for reporting (architected to support other output streams). Need to clarify the outputs affected for 2.3.
[AC] When I read this, I start feeling a bit of concern, because I'm wanting to make sure that the solution we implement minimizes the potential for constructive identification of the client. To me, the redaction dictionary has to contain a mapping of a string to a class of token, not a specific token. For example, Seattle => [City]; Vancouver => [City]. Then, at run time, the redaction routine does something like this:
Start scanning the case. When a string is matched, find the token, and append a nonsense bunch of numerals that are then retired from the list of available nonsense numeral strings until the subroutine ie reset. So, on the first instance of "Seattle" the processor inserts "City_20985". Then, within that particular redaction of that case, "City_20985" will be substituted for all instances of "Seattle". However, at the end of that case, all the nonsense strings are reset. So for the next case that the processor starts, "City_20985" may well get substituted for "Mumbai". If we don't do it this way, someone might be able to read a bunch of cases and determine by adding up some facts which city is which. I'm hoping this is what was already understood as the requirement, but thought I'd put this in here just to make sure. [/AC]
[DD] (CRM-4570) The main use case is to print out the entire case and its activity details for review by an auditor as to whether the case is being managed according to quality standards. This would likely be a third party without access to civicase and the private details. So the existing audit report feature could be the output target if it supported printing/output to digital file.[/DD] [AC] Yes, but...we might also want to use the redactor for other purposes. The main one I can think of right now would be to take "real" data sets and fudge them so that they could be used for training and demonstration. At this early stage of the game, I think it might be quite valuable for people to be able to demonstrate the look and feel of their data sets without compromising the privacy of the individuals and organizations represented in those data sets. That's actually probably a feature that's generally useful for all of CiviCRM, not just CiviCase. And there may be other uses for redaction that we haven't quite yet thought of. So the moral of the story is that we should try to be agile and think of the simplest thing that will satisfy the immediate need, but also keep in mind that there might be other needs that come up later. We wouldn't want to back ourselves into too tight of a corner. [/AC]
19. (CRM-4414) Open Case form - make New Client section a delivered profile w/ it's own layout tpl, custom / additional fields added via 2 column layout (Block.tpl style). Consider applying this pattern to other objects : New Contribution for New Contact, etc.
Review new workflow for "New Contribution for New Contact" and verify whether pop-up dialog interface is acceptable to PHP.
23. CRM-4687 Eliminate Activity Due Date from all forms and activity listings. Per discussion with PHP-BC, users only need a single date field for activities (activity_date_time).
Cancelled / On Hold
15. Follow-ups for Completed Activities
Moved to phase 3 per Dave D
16. iCal Feeds for Activities
[DD] I can't find any other good way besides iCal feeds to get these activities synched in our calendars, so I think we should proceed with this. For the access control the issues are these aren't public events and that the login password changes constantly, and I think there's the following options:
i) Bypass security for this particular item and provide a wrapper script with a hidden url. I'm not crazy about this idea given how we went to the trouble of using the key tokens for extra security.
ii) Provide a wrapper script in the normal CiviCRM way, requiring name/pass/key in the url, and we write a little local client program (call it Steve) that acts as a bridge between the calendar program (e.g. Outlook, Calgoo, etc), by listening on some local port and then the feed points at http://localhost:port/something, and then Steve pops up a box asking for the password and gets the feed from the wrapper url.
Seems like overkill but would work. Via a program like Calgoo this would also allow us to sync with Google calendar using Calgoo as an intermediary, although we want to move away from Google as much as possible because of Patriot Act issues.
iii) Build a way in CiviCRM to push the events/activities to google calendar using Google's API, and then we use one of the available ways (e.g. Calgoo) to sync with google as the intermediary. This is a little bit more involved but might be generally useful to others. As in (ii) though we want to move away from Google.
(iv) Write a cron script to sync these activities with another hidden civicrm installation where the drupal login info is separate and static. Then along with a wrapper script as in (ii) the feed could be retrieved directly by the calendar program from the wrapper url. It's slightly better than i) , but has a problem in that the calendar software will create a new calendar thinking it's a different feed if you ever need to change your password (because the calendar is usually identified with the feed url).
For clarity, the script/feed should just include the authenticated user's activities, or better a parameter indicating "all" or "mine", because seeing other people's activities will be handled by the usual calendar sharing facilities in the calendar software.
18. Hierarchical tagging for Activities.
[DD] Can put on hold pending more usage of recently added full-text search capability.
20. Synch Activity to Event Node module
CANCELLED - PHP can use Views to expose CiviEvents as of 2.2.3
21. (CRM-4483) Use Employer Address option when entering contact address.
On Hold pending spec for generalized addressing sharing.
22. Configurable option to expose case list, group list, relationship list etc. on Contact Dashboard
[DD] Clarification: This was a request to make the My Contact Dashboard more configurable as to what appears on it. (Not the View Contact Summary page.)
Quick Fixes (2.2.3)
kj 1. Quick Search Block - can search on Case ID, Service Provider ID, client name, text in activity subject and description (CRM-4373)
yc 2. OpenCase.php add Gender, Birthdate (year only ok) and Health Region (custom_field X, select) - (CRM-4441)
yc 2.a Modify Open Case so IT is responsible for finding the correct activity type (i.e. you can remove atype=13 from this URL and it still works: http://.../civicrm/contact/view/case?action=add&context=case&reset=1&atype=13
Then remove the logic in Case/Page/Dashboard.php which retrieves and assigns $openCaseId to the tpl and fix Dashboard.tpl. - (CRM-4438)
yc 3. Implement Change Case Start Date activity type
- fields: Current Start Date (read-only), New Start Date [ ] [ ] [ ] CRM-4374
ds 4. Set relationship start date when Case Role is added. Add relationship start date and end date to rel selector - (CRM-4438)
ds 5. EmailProcessor.php - activity mode - cleanup, document, Dave D deploy (uses Mail Settings) - (CRM-4376)
dgg 6. Add description to activity type option value Description field - "Shows on activity form"
yc 7. Stop filling Actual Date when editing existing case activity - (CRM-4438)
yc 8. Default case activity status s/b blank and required. - (CRM-4438)
yc 9. If editing existing activity and status still scheduled - put up confirmation jscript (same pattern as contribution receipt)
ds 10. Link to see all my cases in Case Dashboard
- make status col headers on Case Summary Table clickable (Ongoing, Resolved, etc.) and use all= flag state to go to Find Cases - (CRM-4438)
ds 11. Navigation tweaks: - (CRM-4438)
- click Done from Manage Cases form should always go to Dashboard
- should remember most recent dashboard state (all cases vs my cases)
kj 12. bug : Print button on Find Cases doesn't work - CRM-4365
kj 13. Prevent need to scroll to close Activity View
- add x close link to top right of dialog(s)
- bug: if you use escape key to exit pop-up Activity View, pop-up no longer works (need an "on Esc key" event) CRM-4442
yc 14. core bug: Need unselect for Gender radio in Profile Search (CRM-4389)
yc 15. When composing a new case activity, the client should appear in the list of roles to whom a copy of the activity can be sent. i.e. the client is a role in the case, just like other roles.
- add row to Case Roles grid (at bottom) on Manage Case for the Client. Actions cell is empty.
- add row to "Send a Copy" table in case activity form(CRM-4438)