Answers.Body: <p>A <strong>timeline</strong> defines a <strong>default schedule</strong>. The default schedule may intentionally stretch over a long period of time (weeks or months). Activities can potentially be concurrent or reordered. For example, as soon as the case is opened, you schedule four activities: </p>
  
  <ul>
  <li>We should acknowledge the new case within a day.</li>
  <li>We should have a phone call with the client after 3 days. </li>
  <li>We should have an internal meeting after 3 days. </li>
  <li>We should file a report after 14 days.</li>
  </ul>
  
  <p>A <strong>sequence</strong> defines a <strong>list of back-to-back steps</strong>. There's no particular length of time (days or weeks or months), but there is a very specific order. For example:</p>
  
  <ul>
  <li>As soon as the case is opened, we should send an acknowledgement. It should be sent as soon as we can.</li>
  <li>After the acknowledgement, we should make a phone call (as soon as we can).</li>
  <li>After the call, we should have an internal meeting (as soon as we can).</li>
  <li>After the meeting, we should file a report (as soon as we can).</li>
  </ul>
  
  <p>Both are <em>idealized</em>; the real activities will happen on their own schedule. These idealized models aim to be easier to discuss/explain, but they lack nuance (e.g. conditionals, branches, merges). For more sophisticated processes, one might</p>
  
  <ul>
  <li>Write a case controller function using <a href="https://github.com/civicrm/civicrm-core/blob/4.6.0/CRM/Utils/Hook.php#L1872" rel="nofollow">hook_civicrm_caseChange</a> and <a href="https://github.com/civicrm/civicrm-core/blob/4.6.0/Civi/CCase/Analyzer.php" rel="nofollow">Civi\CCase\Analyzer</a>.</li>
  <li>Write event/condition/action rules using <a href="https://github.com/CiviCooP/org.civicoop.civirules" rel="nofollow">CiviRules</a>.</li>
  </ul>
  
  <p>(Note: Some of the early specwork for sequences and case-controllers can be found at <a href="https://civicrm.org/blogs/totten/customizing-civicase-workflows" rel="nofollow">https://civicrm.org/blogs/totten/customizing-civicase-workflows</a> and <a href="http://wiki.civicrm.org/confluence/display/HR/CiviCase+Util" rel="nofollow">http://wiki.civicrm.org/confluence/display/HR/CiviCase+Util</a> . The architecture is basically unchanged, but several of the symbols changed during implementation. "Pipelines" were renamed to "Sequences", and all the new classes were moved to <code>Civi\CCase</code>.)</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-11-02T18:07:25.120Z
Answers.LastActivityDate: 2015-11-04T18:15:36.190Z
Answers.LastEditDate: 2015-11-04T18:15:36.190Z
Answers.UserDisplayName: Tim Otten
Body: <p>Whats the difference between a case sequence and a case timeline? I can see one has an offset and the other doesnt, is that it?</p>
  
Tags: <civicase>
Title: Whats the difference between a case sequence and a case timeline?
ThreadText: # Whats the difference between a case sequence and a case timeline?
  
  (Asked by: username_0 on 2015-11-02)
  
  Whats the difference between a case sequence and a case timeline? I can see one has an offset and the other doesnt, is that it?
  
  **Tags:** civicase
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2015-11-02. Score: 9
  
  A **timeline** defines a **default schedule**. The default schedule may intentionally stretch over a long period of time (weeks or months). Activities can potentially be concurrent or reordered. For example, as soon as the case is opened, you schedule four activities:
  
  * We should acknowledge the new case within a day.
  * We should have a phone call with the client after 3 days.
  * We should have an internal meeting after 3 days.
  * We should file a report after 14 days.
  
  A **sequence** defines a **list of back-to-back steps**. There's no particular length of time (days or weeks or months), but there is a very specific order. For example:
  
  * As soon as the case is opened, we should send an acknowledgement. It should be sent as soon as we can.
  * After the acknowledgement, we should make a phone call (as soon as we can).
  * After the call, we should have an internal meeting (as soon as we can).
  * After the meeting, we should file a report (as soon as we can).
  
  Both are *idealized*; the real activities will happen on their own schedule. These idealized models aim to be easier to discuss/explain, but they lack nuance (e.g. conditionals, branches, merges). For more sophisticated processes, one might
  
  * Write a case controller function using [hook\_civicrm\_caseChange](https://github.com/civicrm/civicrm-core/blob/4.6.0/CRM/Utils/Hook.php#L1872) and [Civi\CCase\Analyzer](https://github.com/civicrm/civicrm-core/blob/4.6.0/Civi/CCase/Analyzer.php).
  * Write event/condition/action rules using [CiviRules](https://github.com/CiviCooP/org.civicoop.civirules).
  
  (Note: Some of the early specwork for sequences and case-controllers can be found at <https://civicrm.org/blogs/totten/customizing-civicase-workflows> and <http://wiki.civicrm.org/confluence/display/HR/CiviCase+Util> . The architecture is basically unchanged, but several of the symbols changed during implementation. "Pipelines" were renamed to "Sequences", and all the new classes were moved to `Civi\CCase`.)
  
  
  ---
  
  