up previous next contents
Up: Use Cases Previous: Become Administrator Next: Search/List ACME Jobs   Contents


Creating a New ACME Job

This use case describes the process of an external user creating a new ACME job.

Notes

  1. Customer and Contract information is not needed for this phase (2c) for Unplanned jobs

Actors

  1. External User
  2. Administrator

Priority

High.

Status

High level.

Pre-Conditions

  1. The ACME Editor is actively running when the use case begins
  2. There may only be one ACME Editor open, or there may be multiple Editors open.
  3. The user may have a job already open in the current Editor, or not.

Basic Path: No job is currently open in the ACME Editor

  1. The user selects an option to create a new job
  2. The system uses the "Prompt User for Job Information" sub use case
  3. The user enters this information, then selects the Continue option
  4. The system creates an entry for this job in the database
    1. If security is enabled, the user id is associated with the job
    2. If security is not enabled, the user id of the user "Unknown User" is associated with the job
  5. The system puts the short description of the job in the title bar of the Editor
  6. The system displays the Navigator with Navigation buttons activated

Post-Conditions

  1. The new job is opened in the current ACME Editor
  2. A new job entry is entered into the database
  3. The "date created" and "date modified" for the job are marked with the same timestamp

Alternative Path #1, Already a "clean" job open in the ACME Editor

  1. The user is in the ACME Editor, and has a clean job open in the Editor
  2. The user selects an option to create a new job
  3. The system uses the "Prompt User for Job Information" sub use case
  4. The user enters this information, then selects the Continue option
  5. The system prompts the user - "Open job in current Editor? Open a new Editor frame? Cancel?"
  6. If the user selects Cancel
    1. The New Job operation is stopped
    2. The system displays the current ACME Editor in the state just prior to the start of the Job Open scenario
  7. Else, If the user selects "Open job in current Editor"
    1. The old (clean) job is closed
    2. The system creates an entry for this job in the database
    3. The new job is opened in the current Editor
  8. Else, if the user selects "Open job in a new Editor frame"
    1. The system creates a new Editor frame
    2. The system creates an entry for this job in the database
    3. Opens the job in that frame
    4. That frame is displayed in the foreground (in front of the previous ACME Editor frame)
  9. The system puts the short description of the job in the title bar of the Editor
  10. The system displays the Navigator with Navigation buttons activated

Post-Conditions

  1. A new job entry is entered into the database
  2. A new job is opened in either the current ACME Editor or in a new ACME Editor frame
  3. The "date created" and "date modified" for the job are marked with the same timestamp

Alternative Path #2, Already a "dirty" job open in the ACME Editor

  1. The user is in the ACME Editor, and has a "dirty" job open in the Editor
  2. The user selects an option to create a new job
  3. The system uses the "Prompt User for Job Information" sub use case
  4. The user enters this information, then selects the Continue option
  5. The system prompts the user - "Open job in current Editor? Open a new Editor frame? Cancel?"
  6. If the user selects Cancel
    1. The New Job operation is stopped
    2. The system displays the current ACME Editor in the state just prior to the start of the "New Job" scenario
  7. Else, If the user selects "Open job in current Editor"
    1. The user is informed "The current job has unsaved changes. Save changes, Discard changes, Cancel?"
    2. If the user selects "Cancel"
      1. The process of creating the new job is canceled
      2. The user is returned to their Editor frame
    3. Else, if the user selects "Save"
      1. The system saves the current job to the database
      2. The new job is opened in the current Editor frame
    4. Else, if the user selects "Discard"
      1. The system discards the changes to the existing job
      2. The new job is opened in the current Editor frame
  8. Else, if the user selects "Open job in a new Editor frame"
    1. The system creates a new Editor frame
    2. The system creates an entry for this job in the database
    3. The system opens the job in the newly-created Editor frame
    4. That frame is displayed in the foreground (in front of the previous ACME Editor frame)
  9. The system puts the name of the job in the title bar of the Editor
  10. The system displays the Navigator with Navigation buttons activated

Post-Conditions

  1. A new job entry is entered into the database
  2. A new job is opened in either the current ACME Editor or in a new ACME Editor frame
  3. If a new frame was created for the new job, the previous job remains open in the previous Editor frame
  4. The "date created" and "date modified" for the job are marked with the same timestamp

Sub Use Case - Prompt User for Job Information

  1. The system prompts the user for the following required fields:
    1. Short Job Description
    2. Customer name
    3. Job trim size
    4. Magazine Type (S, T, or D)
  2. The system prompts the user for the following optional fields:
    1. Long job description
    2. Title
    3. Issue
    4. Starting Folio No.

"Used" Use Cases

None.

Other Requirements

  1. Any time the phrase "the system creates an entry for this job in the database" is seen in the previous statements in this use case:
    1. If security is enabled, the user id is associated with the job
    2. If security is not enabled, the user id of the user "nobody" is associated with the job
  2. The job type is always "Unplanned"
  3. Multiple customer numbers may be present
    1. When there is only one customer show a read-only textfield
    2. When there are multiple customers display the customer information in a drop-down menu