You are here

README.txt in Case Tracker 5

Same filename and directory in other branches
  1. 8 README.txt
  2. 6 README.txt
  3. 7.2 README.txt
  4. 7 README.txt
CONTENTS OF THIS FILE
---------------------

 * Introduction
 * Installation
 * Case Tracker Caveats!
 * Case Tracker URLs
 * Mail Sending and Receiving
 * XML-RPC Connections
 * Case Tracker Terminology


INTRODUCTION
------------

Current Maintainer: jmiccolis <http://drupal.org/user/31731>

Original Sponsor: Digital202
Original Developers: India-based team
Previous Developers: DaveNotik, killes, zero2one, Morbus Iff

This module enables teams to track outstanding cases which need resolution.
It provides e-mail notifications to participants about updates to cases and
is similar to many issue tracking systems.

This is a rewrite of the project.module and is very similar to that module
but varies in important ways. The project.module is specific to software
development and the need for a more generic issue tracker had been expressed.
As such, the casetracker.module only includes relevant functionality, but
also uses regular Drupal comments and integrates cleanly with Views, Organic
Groups, Mailhander, CCK, XML-RPC, and more.


INSTALLATION
------------

1. Copy the files to your sites/SITENAME/modules directory.

2. Enable the casetracker module at admin/modules.

3. Assign the project and case node type and other relevant case options at
   admin/settings/casetracker. Case Tracker ships with simplistic "Project"
   and "Case" types in its casetracker_basic.module; although you can use
   these, you will get stronger flexibility by assigning it to a CCK or
   Flexinode content type of your own creation, or an Organic Group.

4. Customize case types, priorities, and states at admin/content/casetracker.

5. Enable permissions in admin/access.

Note: for more project.module-like functionality, try installing the
comment_upload.module and enabling comment attachments for case nodes.


CASE TRACKER CAVEATS!
---------------------

Some common gotchas which are, at the moment, "by design":

 * The "Last modified" value of Case Tracker cases is determined by the
   timestamp of the last comment attached to them (or, in the absence of
   a single comment, the node creation time). This requires that the
   comment.module (and node_comment_statistics table) are enabled and
   created. We CAN think of some use cases for not requiring comments on
   a case, but we think them edge cases and not enough to cater to. If
   you feel otherwise, don't hesitate to voice your opinion.

 * If you have node types with existing content (like already created
   Organic Groups), setting the Organic Group node type to be a Case
   Tracker project will NOT convert your existing content - the change
   will only apply to newly created Organic Groups. This may get fixed
   in the future: see http://drupal.org/node/65571 for the latest.


CASE TRACKER URLS
-----------------

The project based URLs we provide are briefly described below:

  /casetracker/projects
  /casetracker/projects/all
    Displays a list of all projects.

  /casetracker/projects/my
    Displays a list of projects created by the current user.

Case URL filtering is far more powerful, and supports a wide variety of
filters. "Unkeyed" filters are simply words or numbers that attempt to
satisfy the most common and relevant searches. For example, the word "my"
restricts the search to projects and cases the user has created, whereas
another unkeyed filter, "all", doesn't. Numbers like 13 or 15 usually refer
to a project or case ID: whatever makes the most sense at the time.

"Keyed" filters, however, have a name (the "key") and a value. To search
for cases that are of node type "casetracker_basic_case" only, you'd use a
keyed filter of "type:casetracker_basic_case". To show all cases that have
been created by users 23 and 35, you'd use "author:23,35", and so on.

The basic format of a Case Tracker case filter is:

  /casetracker/cases/PROJECT_FILTERS/CASE_FILTERS

The available project filters are described below:

    all   - show cases from all available projects.
    my    - show cases from projects the current user has created.
    ##    - show cases from only these project IDs.

The available case filters are described below:

  CASE UNKEYED FILTERS:
    all        - show all cases that match the project filters.
    my         - show current user's cases that match project filters.
    assigned   - show current user's assigned cases that match project filter.

  CASE KEYED FILTERS:
    assigned   - a comma separated list of uids that are assigned a case.
    author     - a comma separated list of uids that created a case.
    state      - a comma separated list of state IDs to filter by.
    type       - a comma separated list of node types to filter by.

Some EXAMPLES of these filters are below - these examples DO NOT
show every possible variation (as that would be rather timeconsuming):

  /casetracker/cases
  /casetracker/cases/all
  /casetracker/cases/all/all
    Display all cases for all projects.

  /casetracker/cases/my
  /casetracker/cases/my/all
    Display all cases in projects created by the current user.

  /casetracker/cases/all/my
    Display all cases created by the current user in all projects.

  /casetracker/cases/my/my
    Display all cases and projects created by the current user.

  /casetracker/cases/all/assigned
    Display all cases assigned to the current user in all projects.

  /casetracker/cases/14
  /casetracker/cases/14/all
    Display all cases assigned to project node ID 14.

  /casetracker/cases/all/state:1
    Display all cases with a state ID of 1.

  /casetracker/cases/my/state:4
    Display cases from my projects with a state ID of 4.

  /casetracker/cases/14/state:12
    Display cases from project node ID 14 with a state ID of 12.

But that's not all. To make things more deliciously confusing, you can
space-separate multiple filters and comma-separate values of a keyed
filter to get even more fine-turned searches:

  /casetracker/cases/all/assigned my
    Display cases from all projects which the current user
    has either opened, or which have been assigned to them.

  /casetracker/cases/my/my state:1
    Display cases in projects created by the current user that
    the current user has opened and which have a state ID of 1.

  /casetracker/cases/all/assigned my state:12,13
    Display cases in all projects that have been opened by the
    current user or have been assigned to the current user, and
    which have state IDs 12 or 13.


MAIL SENDING AND RECEIVING
--------------------------

Case Tracker, and specifically casetracker_mail.module, has the ability to
send out custom emails whenever an issue is created or a comment posted, as
well as receive messages and post them as new cases or comments. In practice,
this works great for simple node types, but breaks down under advanced configs
with CCK and Flexinode (specifically, emails are sent and received, but you
are unable to use any of your created fields as values). Additional funding
and development are required to hammer those issues out.

Creating cases or leaving comments through email requires the Mailhandler
module to be installed and configured properly. A new case can be created
with the following sample email sent to your Mailhandler mailbox:

 project_number: 500
 type: casetracker_basic_case
 case_title: This is a case title!
 assign_to: Morbus Iff
 case_status: open
 case_priority: 1-high
 case_type: bug

 This is the case body.

Emailed comments have no special characteristics, save that they must be
in reply to the original sent Case Tracker case email (the message IDs are
calculated and stored as a reference).


XML-RPC CONNECTIONS
-------------------

Very rudimentary support for creation of Case Tracker cases via XML-RPC is
available. This has not been tested much, and it is certainly not a fully
featured XML-RPC server (you can only create new cases, not retrieve or
edit existing cases, etc.). If you'd like to fund future development on the
XML-RPC capabilities of Case Tracker, don't hesitate to contact one of the
developers listed in at the beginning of this README.txt.

For an example of the XML-RPC capabilities:

1. Enable the casetracker_xmlrpc.module as you would any other.

2. Give the "create cases via XML-RPC" permission to a user role.

3. Modify the xmlrpc_example.php included in the Case Tracker distribution
   with the correct connection information, then run it from the command
   line or via your browser. This example requires the "XML-RPC for PHP"
   open source library from http://sourceforge.net/projects/phpxmlrpc/.

The example defaults to creating a node of type "casetracker_basic_case",
which is only available from the casetracker_basic.module. We assume that
those who are interested in XML-RPC capabilities are planning to write their
own client, and probably have enough know-how to "make things work" (such
as modifying the client to create node types of CCK or Flexinode variety).


CASE TRACKER TERMINOLOGY
------------------------

Case Tracker assigns every project a unique project number that starts at 100
and increments by another hundred for each new project (200, 300, 400, etc.).
Similarly, cases receive individual case numbers that are unique to the
project and start at 1, incrementing by 1 for each new case (2, 3, 4, etc.)
within the project. Together, these two numbers combine to create a unique
case number in the Case Tracker system, such as 300-4 (project number 300,
case number 4). These numbers have no correlation to the Drupal node system.

We have attempted to standardize on the following terminology:

 * project ID: the node ID of the project.
 * project number: 100, 200, 300, as above.
 * case ID: the node ID of the case.
 * case number (individual): 1, 2, 3, etc. as above.
 * case number (combined): 100-1, 200-43, etc. as above.
 

File

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