| 1 |
// $Id: README.txt,v 1.0-beta 2007/07/09 16:01:42 agaric Exp $
|
| 2 |
|
| 3 |
CONTENTS OF THIS FILE
|
| 4 |
---------------------
|
| 5 |
|
| 6 |
* Introduction
|
| 7 |
* Installation
|
| 8 |
! * Case Tracker Caveats!
|
| 9 |
! * Case Tracker URLs
|
| 10 |
! * Mail Sending and Receiving
|
| 11 |
! * XML-RPC Connections
|
| 12 |
! * Case Tracker Terminology
|
| 13 |
|
| 14 |
|
| 15 |
INTRODUCTION
|
| 16 |
------------
|
| 17 |
|
| 18 |
Current Maintainer: Benjamin Melanon
|
| 19 |
|
| 20 |
Original Sponsor: Google Summer of Code
|
| 21 |
Original Developers: Agaric Design Collective
|
| 22 |
Oversight: Fago (http://drupal.org/user/16747)
|
| 23 |
|
| 24 |
Community Managed Taxonomy (or categories) allows any user with permissions to add terms, suggest placement, or recommend merging terms.
|
| 25 |
|
| 26 |
INSTALLATION
|
| 27 |
------------
|
| 28 |
|
| 29 |
1. Copy the files to your sites/SITENAME/modules directory.
|
| 30 |
|
| 31 |
2. Enable the Community managed taxonomy module at admin/modules.
|
| 32 |
|
| 33 |
!!!!!!!!
|
| 34 |
|
| 35 |
3. Assign the project and case node type and other relevant case options at
|
| 36 |
admin/settings/casetracker. Case Tracker ships with simplistic "Project"
|
| 37 |
and "Case" types in its casetracker_basic.module; although you can use
|
| 38 |
these, you will get stronger flexibility by assigning it to a CCK or
|
| 39 |
Flexinode content type of your own creation, or an Organic Group.
|
| 40 |
|
| 41 |
4. Customize case types, priorities, and states at admin/casetracker.
|
| 42 |
|
| 43 |
5. Enable permissions in admin/access.
|
| 44 |
|
| 45 |
Note: for more project.module-like functionality, try installing the
|
| 46 |
comment_upload.module and enabling comment attachments for case nodes.
|
| 47 |
|
| 48 |
|
| 49 |
CASE TRACKER CAVEATS!
|
| 50 |
---------------------
|
| 51 |
|
| 52 |
Some common gotchas which are, at the moment, "by design":
|
| 53 |
|
| 54 |
* The "Last modified" value of Case Tracker cases is determined by the
|
| 55 |
timestamp of the last comment attached to them (or, in the absence of
|
| 56 |
a single comment, the node creation time). This requires that the
|
| 57 |
comment.module (and node_comment_statistics table) are enabled and
|
| 58 |
created. We CAN think of some use cases for not requiring comments on
|
| 59 |
a case, but we think them edge cases and not enough to cater to. If
|
| 60 |
you feel otherwise, don't hesitate to voice your opinion.
|
| 61 |
|
| 62 |
* If you have node types with existing content (like already created
|
| 63 |
Organic Groups), setting the Organic Group node type to be a Case
|
| 64 |
Tracker project will NOT convert your existing content - the change
|
| 65 |
will only apply to newly created Organic Groups. This may get fixed
|
| 66 |
in the future: see http://drupal.org/node/65571 for the latest.
|
| 67 |
|
| 68 |
|
| 69 |
CASE TRACKER URLS
|
| 70 |
-----------------
|
| 71 |
|
| 72 |
The project based URLs we provide are briefly described below:
|
| 73 |
|
| 74 |
/casetracker/projects
|
| 75 |
/casetracker/projects/all
|
| 76 |
Displays a list of all projects.
|
| 77 |
|
| 78 |
/casetracker/projects/my
|
| 79 |
Displays a list of projects created by the current user.
|
| 80 |
|
| 81 |
Case URL filtering is far more powerful, and supports a wide variety of
|
| 82 |
filters. "Unkeyed" filters are simply words or numbers that attempt to
|
| 83 |
satisfy the most common and relevant searches. For example, the word "my"
|
| 84 |
restricts the search to projects and cases the user has created, whereas
|
| 85 |
another unkeyed filter, "all", doesn't. Numbers like 13 or 15 usually refer
|
| 86 |
to a project or case ID: whatever makes the most sense at the time.
|
| 87 |
|
| 88 |
"Keyed" filters, however, have a name (the "key") and a value. To search
|
| 89 |
for cases that are of node type "casetracker_basic_case" only, you'd use a
|
| 90 |
keyed filter of "type:casetracker_basic_case". To show all cases that have
|
| 91 |
been created by users 23 and 35, you'd use "author:23,35", and so on.
|
| 92 |
|
| 93 |
The basic format of a Case Tracker case filter is:
|
| 94 |
|
| 95 |
/casetracker/cases/PROJECT_FILTERS/CASE_FILTERS
|
| 96 |
|
| 97 |
The available project filters are described below:
|
| 98 |
|
| 99 |
all - show cases from all available projects.
|
| 100 |
my - show cases from projects the current user has created.
|
| 101 |
## - show cases from only these project IDs.
|
| 102 |
|
| 103 |
The available case filters are described below:
|
| 104 |
|
| 105 |
CASE UNKEYED FILTERS:
|
| 106 |
all - show all cases that match the project filters.
|
| 107 |
my - show current user's cases that match project filters.
|
| 108 |
assigned - show current user's assigned cases that match project filter.
|
| 109 |
|
| 110 |
CASE KEYED FILTERS:
|
| 111 |
assigned - a comma separated list of uids that are assigned a case.
|
| 112 |
author - a comma separated list of uids that created a case.
|
| 113 |
state - a comma separated list of state IDs to filter by.
|
| 114 |
type - a comma separated list of node types to filter by.
|
| 115 |
|
| 116 |
Some EXAMPLES of these filters are below - these examples DO NOT
|
| 117 |
show every possible variation (as that would be rather timeconsuming):
|
| 118 |
|
| 119 |
/casetracker/cases
|
| 120 |
/casetracker/cases/all
|
| 121 |
/casetracker/cases/all/all
|
| 122 |
Display all cases for all projects.
|
| 123 |
|
| 124 |
/casetracker/cases/my
|
| 125 |
/casetracker/cases/my/all
|
| 126 |
Display all cases in projects created by the current user.
|
| 127 |
|
| 128 |
/casetracker/cases/all/my
|
| 129 |
Display all cases created by the current user in all projects.
|
| 130 |
|
| 131 |
/casetracker/cases/my/my
|
| 132 |
Display all cases and projects created by the current user.
|
| 133 |
|
| 134 |
/casetracker/cases/all/assigned
|
| 135 |
Display all cases assigned to the current user in all projects.
|
| 136 |
|
| 137 |
/casetracker/cases/14
|
| 138 |
/casetracker/cases/14/all
|
| 139 |
Display all cases assigned to project node ID 14.
|
| 140 |
|
| 141 |
/casetracker/cases/all/state:1
|
| 142 |
Display all cases with a state ID of 1.
|
| 143 |
|
| 144 |
/casetracker/cases/my/state:4
|
| 145 |
Display cases from my projects with a state ID of 4.
|
| 146 |
|
| 147 |
/casetracker/cases/14/state:12
|
| 148 |
Display cases from project node ID 14 with a state ID of 12.
|
| 149 |
|
| 150 |
But that's not all. To make things more deliciously confusing, you can
|
| 151 |
space-separate multiple filters and comma-separate values of a keyed
|
| 152 |
filter to get even more fine-turned searches:
|
| 153 |
|
| 154 |
/casetracker/cases/all/assigned my
|
| 155 |
Display cases from all projects which the current user
|
| 156 |
has either opened, or which have been assigned to them.
|
| 157 |
|
| 158 |
/casetracker/cases/my/my state:1
|
| 159 |
Display cases in projects created by the current user that
|
| 160 |
the current user has opened and which have a state ID of 1.
|
| 161 |
|
| 162 |
/casetracker/cases/all/assigned my state:12,13
|
| 163 |
Display cases in all projects that have been opened by the
|
| 164 |
current user or have been assigned to the current user, and
|
| 165 |
which have state IDs 12 or 13.
|
| 166 |
|
| 167 |
|
| 168 |
MAIL SENDING AND RECEIVING
|
| 169 |
--------------------------
|
| 170 |
|
| 171 |
Case Tracker, and specifically casetracker_mail.module, has the ability to
|
| 172 |
send out custom emails whenever an issue is created or a comment posted, as
|
| 173 |
well as receive messages and post them as new cases or comments. In practice,
|
| 174 |
this works great for simple node types, but breaks down under advanced configs
|
| 175 |
with CCK and Flexinode (specifically, emails are sent and received, but you
|
| 176 |
are unable to use any of your created fields as values). Additional funding
|
| 177 |
and development are required to hammer those issues out.
|
| 178 |
|
| 179 |
Creating cases or leaving comments through email requires the Mailhandler
|
| 180 |
module to be installed and configured properly. A new case can be created
|
| 181 |
with the following sample email sent to your Mailhandler mailbox:
|
| 182 |
|
| 183 |
project_number: 500
|
| 184 |
type: casetracker_basic_case
|
| 185 |
case_title: This is a case title!
|
| 186 |
assign_to: Morbus Iff
|
| 187 |
case_status: open
|
| 188 |
case_priority: 1-high
|
| 189 |
case_type: bug
|
| 190 |
|
| 191 |
This is the case body.
|
| 192 |
|
| 193 |
Emailed comments have no special characteristics, save that they must be
|
| 194 |
in reply to the original sent Case Tracker case email (the message IDs are
|
| 195 |
calculated and stored as a reference).
|
| 196 |
|
| 197 |
|
| 198 |
XML-RPC CONNECTIONS
|
| 199 |
-------------------
|
| 200 |
|
| 201 |
Very rudimentary support for creation of Case Tracker cases via XML-RPC is
|
| 202 |
available. This has not been tested much, and it is certainly not a fully
|
| 203 |
featured XML-RPC server (you can only create new cases, not retrieve or
|
| 204 |
edit existing cases, etc.). If you'd like to fund future development on the
|
| 205 |
XML-RPC capabilities of Case Tracker, don't hesitate to contact one of the
|
| 206 |
developers listed in at the beginning of this README.txt.
|
| 207 |
|
| 208 |
For an example of the XML-RPC capabilities:
|
| 209 |
|
| 210 |
1. Enable the casetracker_xmlrpc.module as you would any other.
|
| 211 |
|
| 212 |
2. Give the "create cases via XML-RPC" permission to a user role.
|
| 213 |
|
| 214 |
3. Modify the xmlrpc_example.php included in the Case Tracker distribution
|
| 215 |
with the correct connection information, then run it from the command
|
| 216 |
line or via your browser. This example requires the "XML-RPC for PHP"
|
| 217 |
open source library from http://sourceforge.net/projects/phpxmlrpc/.
|
| 218 |
|
| 219 |
The example defaults to creating a node of type "casetracker_basic_case",
|
| 220 |
which is only available from the casetracker_basic.module. We assume that
|
| 221 |
those who are interested in XML-RPC capabilities are planning to write their
|
| 222 |
own client, and probably have enough know-how to "make things work" (such
|
| 223 |
as modifying the client to create node types of CCK or Flexinode variety).
|
| 224 |
|
| 225 |
|
| 226 |
CASE TRACKER TERMINOLOGY
|
| 227 |
------------------------
|
| 228 |
|
| 229 |
Case Tracker assigns every project a unique project number that starts at 100
|
| 230 |
and increments by another hundred for each new project (200, 300, 400, etc.).
|
| 231 |
Similarly, cases receive individual case numbers that are unique to the
|
| 232 |
project and start at 1, incrementing by 1 for each new case (2, 3, 4, etc.)
|
| 233 |
within the project. Together, these two numbers combine to create a unique
|
| 234 |
case number in the Case Tracker system, such as 300-4 (project number 300,
|
| 235 |
case number 4). These numbers have no correlation to the Drupal node system.
|
| 236 |
|
| 237 |
We have attempted to standardize on the following terminology:
|
| 238 |
|
| 239 |
* project ID: the node ID of the project.
|
| 240 |
* project number: 100, 200, 300, as above.
|
| 241 |
* case ID: the node ID of the case.
|
| 242 |
* case number (individual): 1, 2, 3, etc. as above.
|
| 243 |
* case number (combined): 100-1, 200-43, etc. as above.
|
| 244 |
|