Giter Club home page Giter Club logo

epigaea's People

Contributors

bess avatar jenlindner avatar little9 avatar mark-dce avatar mkorcy avatar val99erie avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mkorcy val99erie

epigaea's Issues

Implement CI

ACCEPTANCE CRITERIA

  • Travis runs on any push or pull request to Github

Create new Video work type

ACCEPTANCE CRITERIA

  • Basic metadata should work
  • The item should display
  • An uploaded video file should play back
  • There should be a thumbnail of the first frame of the video

Implement work type chooser

STORY
As an administrator, I would like an easy way to select what type of work I'm creating, so that it's not hard to deposit things.

ACCEPTANCE CRITERIA

  • It is clear and obvious how to choose between different work types for deposit
  • All work types display for the selection
  • The submit button is clearly disabled until the user selects a work type
  • Extra Credit If the use hovers over "Create Work" button, give hover help text "Please select a record type from the drop-down list"

epigaea-21 choose work type

Update metadata import function as necessary

STORY
As an archivist or collection administrator, I would like to be able to bulk import externally normalized metadata for multiple existing objects, so that I can provide better search and faceting experiences to my users.

NOTE
Import/Export metadata should be round-trippable

DETAILS
See format specification in #11
Story #13 covers the export half of this functionality (do export first to prove round-trip functionality)

See other functional requirements
https://docs.google.com/document/d/1R25uCoJ7wLJpZLspnMsReoAfemu-QthX9c5qDqsHLmI/edit

Show handle registration errors

ACCEPTANCE CRITERIA

  • The system maintains a log of registration errors with the handle server
  • Any administrator logged into the application's user interface can view the errors, if any, with the handle system

EPIGAEA-24 Handle Error Log.png

Create new RCR work type

ACCEPTANCE CRITERIA

  • Basic metadata should work
  • The item should display
  • I should be able to attach an XML file

Add code quality checks

STORY
As a product owner, I would like to ensure we're tracking code quality metrics, so that I can ensure we maintain or improve our code quality.

ACCEPTANCE

  • CI (Travis)
  • Style (Rubocop + Travis?)
  • Dependencies (Gymnasium)
  • Documentation (Inch?)

Register new works with handle provider

ACCEPTANCE CRITERIA

  • When the work is published,
    • if the work does not already have a handle, a new handle should be registered for the work
    • if the work already has a handle stored in it's metadata, the handle should be verified and updated if it does not point to the correct URI for the work
  • Handle registrations and updates should be performed as background jobs
  • Handle registrations and update errors should be logged
  • Any errors encountered registering or updating handles should be logged - see #24 for additional detail about how logs are accessed
  • Handles should not be created until a work is published
  • There is a command line rake task to register handles for a work

LDAP: Integrate LDAP authentication

ACCEPTANCE CRITERIA

  • I can log in with an LDAP account
  • There is a test harness for LDAP in for the test and dev environments
  • Add local LDAP server for development environment
  • I can log in with username instead of email

Update required fields

ACCEPTANCE

  • title is a required field to create a new work
  • displays_in is a required field to create a new work
  • No other fields are required to create a new work via the console or user interface

Constrain & Validate displays_in attribute

STORY
As a library administrator, I want a local vocabulary to choose which applications my work should appear in, so that I don't have to remember or worry about typing display names consistently.

ACCEPTANCE

WIREFRAMES
epigaea-72 displays_in ui - existing a

epigaea-72 displays_in ui - existing b

epigaea-72 displays_in ui

Additional Fields should be displayed by default

STORY
As a metadata manager, I would all the metadata fields to be displayed in the form by default, so that I don't have to click on the Additional Fields button every time I want to edit a work.

ACCEPTANCE

  • All available metadata fields are displayed when I create a new work
  • All available metadata fields are displayed when I edit an existing work

NOTE
It's ok to meet the acceptance criteria by either keeping the Additional Fields button and changing the default state of the #extended-terms div OR by removing that div and the associated javascript. We should choose whichever solution seems most resilient if the form code in the underlying gem gets updated.

Create a new voting record work type

ACCEPTANCE CRITERIA

  • Basic metadata should work
  • The item should display any attached files
  • I should be able to upload any voting record (csv)
  • I should be able to download a voting record

Create new GenericObject work type

ACCEPTANCE CRITERIA

  • Basic metadata should work
  • The item should display any attached files
  • I should be able to upload any digital file type
  • I should be able to download any attached file

Update metadata export function as necessary

STORY
As an archivist or collection administrator, I would like to be able to export current metadata for multiple objects, so that I can normalize it using external tools.

NOTE
Import/Export metadata should be round-trappable

ACCEPTANCE

  • I can select one or more works for export using the search, facet, and batch select checkboxes. (existing functionality identical to selecting items for "Apply Template" or "Publish"
  • There is an "Export Metadata" button that I can click on to initiate an export once I have selected one or more items.
  • Once I start the export, the jobs progress in the background and I get a flash message letting me know a new batch operation has been started (probably with the batch id)
  • I can check the status of my export batch from the batch status page
  • The batch can have the following states (queued, in-progress, completed, error)
    • queued = no items have been exported yet
    • in-progress = one or more items have been exported or errored out, but not all items have been processed
    • completed = all items have been exported successfully
    • error = the system has completed attempting to export all selected items and one or more items was not exported successfully
  • Once the batch status is "complete" or "error", a download link is available on the batch status
    page
    • if the status was "error", the download file contains the id and metadata for each successfully exported object and the id and some error indication for each failure
  • Strip out error handling into it's own story if preferred.

DETAILS
See format specification in #11
Story #14 covers the import half of this functionality (do export first to prove round-trip functionality)

See other functional requirements
https://docs.google.com/document/d/1R25uCoJ7wLJpZLspnMsReoAfemu-QthX9c5qDqsHLmI/edit

SELECTION SCREEN

epigaea-13 export metadata

STATUS SCREEN

epigaea-13 export metadata batch status

Generate new rails application

ACCEPTANCE CRITERIA

  • rails new
  • add tufts_concerns dependency
  • run hyrax generator
  • application starts in development mode and can be accessed on localhost

Create new PDF Work type

ACCEPTANCE CRITERIA

  • Basic metadata should work
  • The item should display
  • The item should display a thumbnail of the first page
  • I should be able to upload an attached PDF
  • I should be able to download an attached PDF

Create new Audio work type

ACCEPTANCE CRITERIA

  • Basic metadata should work
  • The item should display
  • An uploaded audio file should play back

Capitalize references to EAD, PDF, RCR, and TEI in the User Interface

STORY
As a user, I would like to see acronyms capitalized as I expect them, so that I don't have to spend that small extra moment thinking about whether "Ead" is the same thing as an "EAD"

DETIALS
The Hyrax generator doesn't recognize acronyms, so when you ask it to generate a "PDF" work type, it generates "Pdf" (i.e. "Tufts PDF" --> "TuftsPdf"). We agreed that, internally to the code, camel case makes more sense, but that this should be addressed in the UI.

We believe this should all be configurable via the internationalization files - eg updates to https://github.com/curationexperts/epigaea/blob/master/config/locales/pdf.en.yml

ACCEPTANCE

  • References to "Pdf" are changed to "PDF"
  • References to "Ead" are changed to "EAD"
  • References to "Rcr" are changed to "RCR"
  • References to "Tei" are changed to "TEI"

Implement notifications for publication workflow

STORY
As a archives manager, I would like my staff to get meaningful notifications, so that they know when new items have changed status.

DETAILS
This is closely related to #3 which implements the workflow and just created placeholders for the various notifications

ACCEPTANCE

  • notification for new submissions
  • notification for review complete
  • notification for publication
  • notification for changes requested
  • notification for unpublish
  • other notifications as identified in #3

BATCH IMPORT: Finalize & Document MIRA_NG xml import/export schema

  • provide new versions of the import / export sample files
  • add a wiki page providing appropriate narrative description of how things work
    • List valid visibility settings and default
    • Describe format for specifying filenames for object import
    • List valid object models and corresponding specification
  • Provide a simple import file that works
    • For file import
  • Instructions for how to export metadata for a set of files
  • Link to details field level documentation

See detailed notes at https://docs.google.com/document/d/1SvE85uEUuPpFrXymSbzkb26zkE8cZ0ojOAYjNVh3Ork/edit#bookmark=id.g16cn4qr59bt

Implement backend "DRAFT" functionality

STORY
As an archive manager, I would like to be able to preview changes to an object's metadata before I publish it for public access, so that I can make sure my changes are correct in context.

ACCEPTANCE

  • I can make changes to an object's metadata in a temporary draft form
  • Drafts can show the state of the metadata as it would exist after application
  • I can apply the changes and make then permanently persisted in the repository as a new version of the object.
  • Drafts can be deleted, and never applied.
  • Objects know whether they have a draft.

WORK STATES
unpublished - not published, no drafts
published - published, no drafts
edited - published, pending drafts (diffs)

EXAMPLE SCREEN WITH STATES
epigaea-8 draft status

Evaluate Blacklight Advanced Search in Hyrax Context

Is Advanced Search viable for this app?
Time bound evaluation to 1 day.

GOALS
See the attached screenshot of UI for current implementation

  • Search for a value across all indexed fields (vs. targeted subset configured for basic search)
  • Search for a value in a specific indexed field
  • Filter results by the main facets used in other parts of the application
  • When searching for values in multiple fields, be able to specify union (OR) or intersection (AND) for matching results
  • Be able to sort results in the same orders supported in the basic search function

ACCEPTANCE FOR THIS TICKET

  • Describe major issues with using the gem
  • Provide estimate for implementation
  • Schedule follow up discussion (if necessary)
  • Add ticket(s) as needed to describe the desired advanced search implementation

Title should be singular

ACCEPTANCE

  • The title attribute does not allow multiple values (via importer, rails console, etc.).
  • Metadata entry forms do not allow multiple titles to be entered (via user interface)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.