V2 File Handling

V2Master

Issues

Design Issues

  1. Files attached attached to tasks or task notes?
    1. Answer: Task notes

  2. How to handle file category for files attached to task notes?

    1. Answer: Allow data entry, but ignore the field when attaching files to task notes. Default is_working_file = false

  3. Is the is attached to something flag in the metadata required in the database of should be be derived?

    1. Answer: It is implied by resource_id and resource_type not being null

  4. Will paging be required when selecting folders, baskets, files in forms:

    1. Answer: no

  5. How should file versioning and file locking work?
    1. Answer: See File Versioning

Items to Prototype

The prototype could also be an early version of the actual software

  1. Rails Chosen. See chosen-rails

  2. Selecting folders, where the folder contents are dynamically displayed when the folder select list is changed

Introduction

  1. A file can only be attached to one object
  2. The first release will allow files to be attached to the following objects:
    1. Revisions
    2. Task notes (or directly to tasks?)
  3. It is possible to search for and generate lists of files
    1. By default only non-attached files are displayed

Permissions

  1. The file must be assigned to a folder
    1. The folder determines who can view the file's metadata and download the file
  2. When a file is attached to an object the file is automatically assigned to the object's folder
  3. Anyone with write permission on a folder can upload files

File Metadata

  1. File metadata is stored in the File Assets table

  2. The File Assets table contains:
    1. Metadata associated with each file
    2. Links to the actual files stored in the file system

Metadata Fields

Transactions

  1. List files, including specifying search/sort criterion:
    1. Search/sort by metadata fields
      1. Folder
      2. Filename
      3. Date
      4. Who uploaded
      5. Description (optional)
    2. By default display only non-attached files
    3. But also able to include attached files (and exclude non-attached files)
    4. Add files in the resulting list into to a basket
    5. Select files and add to a (new) basket
  2. File detail screen showing the file's metadata and a download link
  3. Edit file details, including the file name
  4. Download a file
  5. Delete uploaded files
  6. Re-upload files

Uploading Files

  1. The current Stock of Uploaded files will be completely hidden from the user

  2. Only one file can be uploaded in a single tab/window. It is possible to multiple uploads by using multiple browser windows
  3. File upload can be initiated from:
    1. From a revision detail screen, press the Add File button

    2. Comment note screen, press the Add File button

    3. From the menu Files --> New (or Upload?)

    4. From the file list Upload File button?

  4. A form appears with a file select and data entry fields for the metadata
    1. The user selects a file to upload
    2. The user enters the metadata
      1. The filename field is optional. If it is left blank then it is filled in with the name of the file being uploaded
    3. The users presses Upload on the form and the file is uploaded (displaying a progress bar)

  5. When the upload is complete:
    1. The file and metadata is automatically saved
    2. If the upload was performed in the context of an object, the file is automatically attached to it
    3. No confirmation step is required

Attaching Files to an Object

  1. In a Revision Detail or Task screen, press the Add File button

  2. The choice will be given:
    1. Select a non-attached file
    2. Upload a file
  3. Select the non-attached file radio button

  4. A form fill be displayed:
    1. Select a Folder
      1. When the folder select is changed, the file select, containing the list non-attached files dynamically refreshed
    2. Select a file from the folder
    3. The file's data is displayed in a data entry form
  5. Review file's metadata, and possibly change it
  6. Press Attache File button

  7. The metadata is saved and the file is attached to the object

Editing File Metadata

  1. It is possible to edit a file's metadata

File Versioning

  1. When a file is deleted, it is retained in the system (DO we need a deleted flag or other way of tracking this?)

  2. When files are replaced (re-uploaded), the previous file is retained in the system
    1. A copy of the file asset record is made for the new version of the file
    2. The previous file id is set to the id of the old record
  3. Files which have been transmitted are locked

Future Releases

Uploading ZIP Files

  1. The ZIP file is unpacked
  2. Each individual file is saved separately
  3. The metadata for the files is only entered once and is the same for each file (except for the file name)

Uploading Multiple Files in One Operation

  1. Allow the user to select more than one file to upload
  2. All metadata for the files will be the same, as entered in the form
  3. The filenames will be set to the uploaded files

Attaching Files

Additional options for attaching files:

  1. From a revision or task note or New File press the Add File button.

    1. A new screen, or part of a screen, appears with the following choices:
    2. Upload a file
    3. Add the file from a basket
    4. Select a files which is not attached to anything
    5. Select a flagged file (not included in first release?

Selecting File From a Basket

  1. Select a basket (paging required?)
  2. The basket's content is displayed (paging required?)
  3. Select a file from the basket
  4. Enter the metadata
  5. Press 'Go'
  6. The metadata is saved and the file is attached to the object

Selecting a Flagged File

  1. The list of flagged files is displayed
  2. Select a file from the list
  3. Review file's metadata, and possible change it
  4. Press 'Go'
  5. The metadata is saved and the file is attached to the object

V2FileHandling (last edited 2013-09-04 08:45:29 by 172)

Copyright 2008-2014, SoftXS GmbH, Switzerland