Skip to content

Latest commit

 

History

History
252 lines (175 loc) · 7.24 KB

UserGuide.adoc

File metadata and controls

252 lines (175 loc) · 7.24 KB

MakerManager - User Guide

By: NUSCS2113-T09-1 Since: Sep 2018 Licence: MIT

1. Introduction

makerManager is for those who prefer to use a desktop app for managing prints and other machine jobs in a makerspace. More importantly, makerManager is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, makerManager can get your print and machine management tasks done faster than traditional GUI apps. Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!

2. Quick Start

  1. Ensure you have Java version 9 or later installed in your Computer.

  2. Download the latest addressbook.jar here.

  3. Copy the file to the folder you want to use as the home folder for your Address Book.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

    Ui
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. Some example commands you can try:

    • listMachine : lists all machines

    • addJobn/iDCP m/TYPrinter on/TIAN YUAN pr/HIGH d/1.5 jn/This is for the iDCP project t/iDCP : adds a Job named iDCP to the MakerManager.

    • manageJobiDCP start : starts a Job named iDCP

    • exit : exits the app

  7. Refer to Section 3, “Features” for details of each command.

3. Features

Command Format

  • Arguments in square brackets [ ] are optional

  • Arguments in angle brackets < > are admin only

  • All other arguments are required for a valid command execution

  • Every argument may be subject to further validation by the parser before execution

  • Words in upper-case are parameters to be supplied by users

    1. Viewing Help: Give the user guidance as to what (s)he can do with makerManager

      Format: help
    2. Adding a print Job: Adds a print job to the machine’s queue.

      Format: addJob n/JOBNAME m/MACHINENAME on/JOBOWNERNAME pr/JOBPRIORITY d/JOBDURATION jn/JOBNOTE [t/TAG]...
      Examples:
      addJob n/iDCP m/TYPrinter on/TIAN YUAN pr/HIGH d/1.5 jn/This is for the iDCP project t/iDCP
    3. Finding a print Job: Finds all jobs whose names contain any of the specified keywords (case-insensitive) and displays them as a list with index numbers.

      Format: findJob JOBNAME [JOBNAME]...
      Examples:
      findJob alice bob charlie
    4. Starting a print Job: Starts an existing print job in the queue.

      Format: manageJob JOBNAME start
      Examples:
      manageJob myPrint start
    5. Cancelling a Print: Cancel an existing print in the queue.

      Format: manageJob JOBNAME cancel
      Examples:
      manageJob myPrint cancel
    6. Restarting a Print: Restart an existing print in the queue.

      Format: manageJob JOBNAME restart
      Examples:
      manageJob myPrint restart
    7. [WIP][DISABLED] Deleting a Print: deletes an existing print in the queue.

      Format: manageJob JOBNAME delete
      Examples:
      manageJob myPrint delete
      manageJob anotherPrint delete
    8. Requests a print job to be deleted by admin: Tags a print job with a "requestDeletion" tag that is to be removed by admin

      Format: requestDeletion n/JOBNAME
      Examples:
      requestDeletion n/iDCP
    9. [WIP][DISABLED] Listing Prints: Lists prints with optional filters. Currently lists persons.

      Format: listJob [n/PRINT_NAME] [m/MACHINE_NAME] [s/SPECIAL_NOTES] [p/PRIORITY]
      Examples:
      list n/myprint m/printer_1 s/red filament only p/1 +
      list p/1
    10. [WIP][DISABLED] Listing History of Prints: Lists all completed prints with optional filters.

      Format: list_history [n/PRINT_NAME] [m/MACHINE_NAME] [s/SPECIAL_NOTES] [p/PRIORITY]
      Examples:
      list_history n/myprint m/printer_1 s/red filament only p/1 +
      list_history p/1
    11. [WIP][DISABLED] Editing a Print: Edits an existing print in the queue.

      Format: editJob INDEX [n/PRINT_NAME] [m/MACHINE_NAME] [s/SPECIAL_NOTES] <p/PRIORITY>
      Examples:
      edit 1 n/myprint m/printer_1 s/red filament only p/1 +
      edit 2 p/1
    12. Listing Machines: Lists machines.

      Format: listMachines
      Examples:
      listMachines
    13. Finding Machines: Finds machines based on given keywords.

      Format: findMachines [machine name] [machine name 2]
      Examples:
      findMachine myMachine1
    14. Exit the program: Exits the program

      Format: exit
    15. Saving Data: Address book data are saved in the hard disk automatically after any command that changes the data.There is no need to save manually.

    16. Admin specific commands: The following commands will only work in admin mode. Admin accounts currently not saved across sessions.

      1. Login: Enables admin mode.

        Format: login ADMIN_ID PASSWORD
      2. Logout: Disable admin mode.

        Format: logout
      3. Add Admin: Add another admin. Note that PASSWORD has to match some specific validation criteria.

        Format: addAdmin USERNAME PASSWORD VERIFY_PASSWORD
      4. Remove Admin: Removing another admin.

        Format: removeAdmin USERNAME
      5. Update Admin Password: Updating your own account’s password. Note that NEW_PW has to match some specific validation criteria.

        Format: updatePassword USERNAME OLD_PW NEW_PW NEW_PW_VERIFY
      6. Add Machine: Adds a new machine. All machine names must be unique. Status can only be either “ENABLED” or “DISABLED”.

        Format: addMachine n/MACHINE_NAME ms/STATUS
        Example:
        addMachine n/my_machine ms/ENABLED
      7. [WIP][DISABLED] Remove Machine: removes a machine.

        Format: removeMachine MACHINE_NAME
        Example:
        removeMachine my_machine
      8. Change Device Status: Edits an existing machine. All machine names must be unique. Status can only be either “ENABLED” or “DISABLED”. At least one optional argument must be present.

        Format: editMachine MACHINE_NAME [n/MACHINE_NAME] [s/STATUS]
        Example:
        editMachine my_machine n/my_machine2 s/enabled

4. FAQ

Q: How do I transfer my data to another Computer?
*A: *Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous makerManagerfolder.

5. Command Summary

  1. Normal Commands:

    1. help

    2. findJob JOBNAME [JOBNAME]…​

    3. manageJob JOBNAME start

    4. manageJob JOBNAME cancel

    5. manageJob JOBNAME restart

    6. manageJob JOBNAME delete

    7. requestDeletion n/JOBNAME

    8. listJob [n/PRINT_NAME] [m/MACHINE_NAME] [s/SPECIAL_NOTES] [p/PRIORITY]

    9. list_history [n/PRINT_NAME] [m/MACHINE_NAME] [s/SPECIAL_NOTES] [p/PRIORITY]

    10. editJob INDEX [n/PRINT_NAME] [m/MACHINE_NAME] [s/SPECIAL_NOTES] <p/PRIORITY>

    11. listMachines

    12. findMachines [machine name] [machine name 2]

    13. exit

  2. Admin Commands:"

    1. login ADMIN_ID PASSWORD

    2. logout

    3. addAdmin USERNAME PASSWORD VERIFY_PASSWORD

    4. removeAdmin USERNAME

    5. updatePassword USERNAME OLD_PW NEW_PW NEW_PW_VERIFY

    6. addMachine n/MACHINE_NAME ms/STATUS

    7. removeMachine MACHINE_NAME

    8. editMachine MACHINE_NAME [n/MACHINE_NAME] [s/STATUS]