Giter Site home page Giter Site logo

avalonmediasystem / avalon Goto Github PK

View Code? Open in Web Editor NEW
93.0 93.0 51.0 56.61 MB

Avalon Media System – Samvera Application

Home Page: http://www.avalonmediasystem.org/

License: Apache License 2.0

Ruby 67.24% JavaScript 5.02% CoffeeScript 1.22% HTML 13.39% Shell 0.09% XSLT 9.88% Dockerfile 0.20% SCSS 2.96%

avalon's People

Contributors

adamjarling avatar apertome avatar bkeese avatar bmquinn avatar carrickr avatar cjcolvar avatar csyversen avatar cwant avatar dananji avatar dependabot[bot] avatar elynema avatar jlhardes avatar joncameron avatar kdid avatar lealeelu avatar masaball avatar mbklein avatar mcritchlow avatar mcwhitaker avatar mohideen avatar orangewolf avatar phuongdh avatar seanlw avatar sgurnick avatar snyk-bot avatar sumithbaddam avatar yingfeng-iu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

avalon's Issues

upgrade demo and dev servers to R5

So that

servers represent what we have

Done Looks like:

pawpaw, lancelot, and larch upgraded to R5

  • Merge Avalon master to Larch's branch
  • Deploy R5 to Larch

mejs.MediaElementPlayer Error

Hello,

I am unable to play media on Avalon. I am getting the following error:

Error-1:
Uncaught TypeError: Cannot read property 'player' of undefined
mejs.MediaElementPlayer
(anonymous function)

Error-2:
Uncaught TypeError: Cannot read property 'status' of undefined
AvalonProgress.click_section
(anonymous function)
jQuery.event.dispatch
elemData.handle.eventHandle
jQuery.event.trigger
(anonymous function)
jQuery.extend.each
jQuery.fn.jQuery.each
jQuery.fn.extend.trigger
window.AvalonStreams.setActiveSection
(anonymous function)
fire
self.fireWith
jQuery.extend.ready
DOMContentLoaded

Document migration path from Variations

DONE

documentation on the tools and pathways that IU has used for the Variations migration is completed and published.

  • Document specifically IU's migration
  • Documentation on import tools
  • Jon Dunn signs off

Investigate Fedora 4 upgrade and develop stories

Do investigation into Fedora 4 upgrade and develop stories that can be completed in the next sprint cycles.

Done looks like:

We have a series of technical stories that can be organized with POs.

Avalon installed and can't see the Options Such as Upload video and contents

Hi , Installed Avalon media , but the front end have only the sign in and there is nothing Displayed how can i see the back-end even after log in using a Credential's there is no options to upload videos and other options, how to get it , Here in 1st image i'm showing my front-end and in 2nd image its back-end after log in ,

While Have a look at Site health using

http://192.168.1.220:3000/about/health

It's showing as

error solr
Numdocs must be greater than or equal to 1

In Image 3 Error message you can see , But while im navigating to

http://192.168.1.220:8983/solr/#/

Its Working file as shown in image 4

In image 5

While choosing the coreadmin in left pane of Solr , there too numDocs : 0

How can i get fixed and get my Full Front End ..

Image 1

selection_001

Image 2

selection_002

Image 3

selection_003

Image 4

selection_004

Image 5

selection_005

Audit Wiki For Reorganization

So That

The wiki is audited to remove old or unnecessary pages and make sure access restrictions on internal documentation is enforced.

Done Looks Like

An end user coming to the Avalon wiki only sees updated and relevant documentation.

Document NU costs for AWS to inform SAAS

Description

As part of our grant obligation, lyrasis should come up with a working pricing model for AWS SAAS. This is a reminder issue for us to get this information.

Blocked By

This is on Lyrasis—they will need to provide the pricing model. NU can add information as necessary from the pilot.

Tasks:

  • NU to put notes from NU AWS Pilot
  • Work with Lyrasis to make sure they produce a pricing model

Create General user documentation for end users

So that

An end user understands how to work with Avalon

Done looks like

First draft of concise, clear documentation is written and published about core user - centered features.

TO BE Clarified :

  • General user interface
  • Using playlists
  • Public vs private items
  • Accessing through an LTI (Maybe?). (E.g. Institutions often offer access through an LTI Like Canvas, Blackboard, etc. Access a campus LTI is different per institution. )
  • add section for collection manager's guide on leases

Fake Issue

Totally fake.

So That

We test it out.

Problem running r1 => r2 migration

** [out :: avalon-dev.stanford.edu] == R2AvalonConfig: migrating =================================================
** [out :: avalon-dev.stanford.edu] == R2AvalonConfig: migrated (0.0696s) ========================================
** [out :: avalon-dev.stanford.edu]
** [out :: avalon-dev.stanford.edu] == R2GroupMigration: migrating ===============================================
** [out :: avalon-dev.stanford.edu] == R2GroupMigration: migrated (0.4388s) ======================================
** [out :: avalon-dev.stanford.edu]
** [out :: avalon-dev.stanford.edu] == R1ContentToR2: migrating ==================================================
** [out :: avalon-dev.stanford.edu] rake aborted!
** [out :: avalon-dev.stanford.edu] An error has occurred, all later migrations canceled:
** [out :: avalon-dev.stanford.edu]
** [out :: avalon-dev.stanford.edu] 404 Resource Not Found: Object not found in low-level storage: avalon:1
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/abstract_response.rb:48:in return!' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:230:inprocess_result'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:178:in block in transmit' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:172:intransmit'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in execute' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:33:inexecute'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rest-client-1.6.7/lib/restclient/resource.rb:51:in get' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rubydora-1.6.5/lib/rubydora/rest_api_client.rb:95:infind_objects'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/rubydora-1.6.5/lib/rubydora/repository.rb:54:in search' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/active-fedora-6.5.0/lib/active_fedora/indexing.rb:94:inblock in reindex_everything'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/active-fedora-6.5.0/lib/active_fedora/indexing.rb:93:in each' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/active-fedora-6.5.0/lib/active_fedora/indexing.rb:93:inreindex_everything'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/releases/20130930184157/db/migrate/20130827150031_r1_content_to_r2.rb:17:in up' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:410:inblock (2 levels) in migrate'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:410:in block in migrate' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:129:inwith_connection'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:389:in migrate' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:528:inmigrate'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:720:in block (2 levels) in migrate' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:777:incall'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:777:in ddl_transaction' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:719:inblock in migrate'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:700:in each' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:700:inmigrate'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:570:in up' ** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/migration.rb:551:inmigrate'
** [out :: avalon-dev.stanford.edu] /var/www/avalon/shared/bundle/ruby/1.9.1/gems/activerecord-3.2.14/lib/active_record/railties/databases.rake:193:in `block (2 levels) in <top (required)>'
** [out :: avalon-dev.stanford.edu] Tasks: TOP => db:migrate

update mobile styles for playlists.

Currently playlists have several visual issues. Functionality seems fine.

  • create mobile design
  • implement mobile styles from design
  • black bar at top of iPhone 6

Discuss Media Player

So that

We can upgrade media element or move to a different framework and get rid of customizations

Done looks like

Less headaches. And upgrade stories for JS are written

  • investigate current master branch of media element
  • investigate other players
  • give pros/cons to POs
  • Make call and live with it.

upgrade Mallorn to Avalon R5

So That

We are running the latest and greatest

Done looks like

Mallory is rebuilt with centOS7 and running Avalon R5

switch UUID PIDS but preserve old PIDS

The new Hydra/Fedora style PIDS will supplant the old "avalon:333" style PIDs (we'll want to retain the latter). We need to figure out where to stuff the Fedora 3 style PIDs so that people can still access them.

Fedora3 style PIDs are stored in the Dublin Core datastream.

This might be for free.
URLs using the Fedora 3 style PID will not work during this scheme. This needs to be evaluated by POs.

Done looks like

  • Use the new stuff.

Documentation Story: #1503

investigate alternative test server setup

Investigate whether we decommission Lancelot and move to NU test or a sysadmin hosted server at IU.

Done looks like

Stories are written (if needed) for new test server setup and docs are written/updated.

Tasks

  • Investigate state of NU Test, can it be used?
  • discuss with IU sysadmin
  • write stories if necessary to get new system up and running (auto pushes, etc)

Run AWS hosted pilot

Setup minimal instances for identified pilot users in hosted environment. (needs to be broken up)

Done looks like

Pilot participants have a hosted amazon instance running.

CSRF exploit when using #new action to create objects

Rails provides CSRF protection via an authenticity token for create and update actions. Rail's also has a javascript library that appends this token to ajax requests. The #new action in Rails is typically used to display a form.

<html>
  <head>
    <script src="./worker.js" type="text/javscript"></script>
  </head>

<body>
  <script> 
    // typically prefix:1 or prefix:2 because collection will be the first object created
    var url = 'http://avalon-web-dev.library.northwestern.edu/media_objects/new?collection_id=numedia:4181';
    var worker = new Worker('worker.js');
    worker.postMessage(url);
  </script>

</body>
</html>
//worker.js
self.addEventListener('message', function(message) {
  console.log('starting worker');
  setInterval(function(){
    console.log('trying to connect...');
    try {
      var request = new XMLHttpRequest();
      request.open('get', message.data, false);
      request.withCredentials = true;
      request.send();
    } catch( e ){
      //no-op
    }
  },500);
}, false);

Matterhorn hls Distribution job fails

Hello,
Please help
I have been having issues with Matterhorn video workflow. The HLS Stream Distribution fails with the following error:
2014-11-30 21:07:07 ERROR (WorkflowOperationWorker:162) - Workflow operation 'distribute-hls' failed
org.opencastproject.workflow.api.WorkflowOperationException: One of the distribution jobs did not complete successfully
at org.opencastproject.workflow.handler.DistributeWorkflowOperationHandler.start(DistributeWorkflowOperationHandler.java:194)
at org.opencastproject.workflow.impl.WorkflowOperationWorker.start(WorkflowOperationWorker.java:216)
at org.opencastproject.workflow.impl.WorkflowOperationWorker.execute(WorkflowOperationWorker.java:140)
at org.opencastproject.workflow.impl.WorkflowServiceImpl.runWorkflowOperation(WorkflowServiceImpl.java:761)
at org.opencastproject.workflow.impl.WorkflowServiceImpl.process(WorkflowServiceImpl.java:1669)
at org.opencastproject.workflow.impl.WorkflowServiceImpl$JobRunner.call(WorkflowServiceImpl.java:2048)
at org.opencastproject.workflow.impl.WorkflowServiceImpl$JobRunner.call(WorkflowServiceImpl.java:2014)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

Kind Regards,
Vikrama Adethyaa

Design models for Fedora 4

So that

We are prepared to implement new models.

Done looks like

New Models are designed and discussed with development team.

Add Support for Ruby 2.3

Per Chris S. the only change needed for devs to run 2.3.1 is to add support for mri_23 for byebug in our gemfile (see note in comments)

Done looks like

  • All Devs are using ruby 2.3.1.
  • Support for mri_23 for byebug in our gem file

Test issue

Phuong and Chris broke the Felix server and now nothing works. Now Nathan has to fix it.

Set Up Initial Avalon Instance in AWS

After doing research, setup an AWS test instance based on best-practice and investigative stories.

Done looks like

A minimal instance of Avalon is fully operational in the Amazon cloud. This is a first pass. We will refine after.

  • current version of avalon running
  • tasks for refinement of install noted.

Develop AWS infrastructure diagram

So That

We begin to have ideas about how our AWS infrastructure could be laid out

Done Looks Like

AWS Infrastructure from Stanford and/or other institutions is examined and ideas regarding a potential infrastructure for Avalon is made.

Move to github and Waffle

So that

We do not have to switch contexts

Done looks like

You're reading this, and we're using it

  • Task 2
  • Task 1

as a developer I want to create a staging and deploy method for mallorn

So that

Our stage/test server is running the latest version of Avalon and has a better Bamboo deploy.

Deploy process needs to be improved because the syadmins do not like needing to give developers root on another server just to push to mallorn

I would like to consider implementing a stage branch that auto deploys to mallorn

So then the workflow to add a new feature to Avalon would be:

  • New branch off develop, implement feature/bugfix/etc there
  • merge feature branch into develop and a developer reviews it on lancelot
  • if everything is good: merge develop into stage (like how we merge develop into master on release)
  • if things are not good, revert the merge into develop and continue working in the feature branch

Then on release, we would merge stage into master rather than develop

Done Looks Like:

Mallorn has a better Bamboo deploy

  • Fix Bamboo
  • Setup new github staging branch
  • Setup Bamboo to deploy new branch to mallorn

Design UX for Playlist Markers

So That

Design for playlists is improved, and implementation of markers from a user perspective is well-designed.

Done Looks Like

Mockups or example images on how playlist markers will display, and are able to be edited, are available for developers to reference.

Designs needed for

  • Creating a marker
  • Editing a marker
  • Deleting a marker

UX Considerations

  • Naming for marker objects needs to be clarified. (list TBD)

Subtasks

  • Schedule initial meeting with Matt to discuss our needs

Avalon does not throw an error when incorrect username is entered

Avalon is not currently throwing an error with incorrect credentials.

This only manifests in stock Avalon. In reality, most institutions will want to integrate with their campus authentication.
Improving the out of the box experience.

Done looks like

A nice error is thrown is thrown.

Create marker objects for playlist items in the back end

So That

Markers—discrete time points with a text field value (which could be called a title, description, note etc.) associated—can be created for a playlist item.

Done Looks Like:

Markers can be created with a playlist item as parent. Makers consist of a time offset value and text field associated.

  • generate new marker model
  • Create belongs_to association with playlist item
  • i don't know

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.