Vireo 4 deployment

The Vireo 4 Thesis and Dissertation Management System is ready for deployment and use following several years of development.

Vireo provides institutions with the capability to customize workflows and use specific controlled vocabularies. Submitted documents can be reviewed by the student's committee and be annotated for licenses and embargoes.

Vireo is available for download or as a service hosted by Texas Digital Library.

Vireo 4, built using java and spring-boot, is both a technical and functional update from Vireo 3.



Dependencies

tools: git, maven, npm, nodejs-legacy, grunt-cli

java: default-jdk (version 1.8 or newer)

database: PostgreSQL (MySQL not supported yet)

other dependencies brought in by maven

System Requirements

2GB memory minimum (test-etd.tdl.org runs on a t2.medium which has 4GB)

nodes-legacy vs specific AWS node version - need further testing

Deploy

Install dependencies

Create account specific to vireo

Clone vireo4 repository

Set deployment specific fields: port, smtp-relay, database,...

Set asset storage area for deposited files (e.g. /opt/vireo/)

Deploy as a service 

Add proxy server with SSL (nginx or apache2)

Demo

Run with 'mvn clean spring-boot:run -Drun.arguments=console'

vireo> generate 3 

generates 3 submissions for testing

vireo> accounts 5 

generates student1@example.com...student5@example.com, reviewer1@example.com...reviewer5@example.com, manager1@example.com...manager5@example.com with password 'password'

vireo> admin_accounts 1  

generates admin1@example.com with password 'password'

Post Deploy

One account needs ROLE_ADMIN per institution which can be set manually in the database after registration.  This account can then grant permissions to all other registered in the institution.

Set up database backups.  Provide backup for files in assets storage directory.



Development

Issues tracked in GitHub

Issues prioritized by Product Owner

Issue sizing by team

2 week sprints for fixing prioritized bugs

Pull from sprint branch and merge into sprint-staging branch, merge all at end of sprint into 4.0.x branch

Team communication via GitHub and slack

Near Term Tasks

ProQuest export fix (in progress)

Deployment document (nearly done)

Change from Release Candidate to Release once above 2 issues are complete

Ongoing fixes of bugs new and old.  Next round of issue priorities set in Vireo Go-Live Mid-August Storyboard listed in References

Create migration mapping and software.

Medium Term Tasks

Provision select pilot institutions with Vireo 4 for use in production for fall submissions.  Use Vireo 3 to complete in process submissions. (Texas Tech, UTexas Southwestern, UTexas Houston)

Migrate user accounts, submissions, and action logs from Vireo 3 to production Vireo 4.  Some institutions have been using Vireo 3 as a repository rather than strictly a tool to generate an export to an IR - may require extra work.

Record and prioritize bugs uncovered in pilot deployment and migration.


Longer Term Tasks

Complete migrations for all hosted institutions.

Determine and share lessons learned.

Formalize process and documents for community contributions and code standards.

Establish community communications (slack, google groups, etc) for developers.

Inform community about our processes for issue submission and Pull Requests.

Create processes for community members to propose and contribute new features.

Survey other communities such as DSpace to find best practices.



References

Vireo Source: https://github.com/TexasDigitalLibrary/Vireo

Deployment Instructions: https://github.com/TexasDigitalLibrary/Vireo/wiki/4.0.0-Vireo-Deployment

Dockerizing Vireo4 (private repo for now as it needs documentation cleanup): https://github.com/TexasDigitalLibrary/Vireo4Docker

Migration From 3 to 4 (private repo, for in-house use, work in progress): https://github.com/TexasDigitalLibrary/MigrateVireo3To4

Vireo Go-live Mid-August Storyboard: https://github.com/TexasDigitalLibrary/Vireo/projects/20

Weaver Webservice Source: https://github.com/TAMULib/Weaver-Webservice-Core

WeaverUI Core Source: https://github.com/TAMULib/Weaver-UI-Core

Vireo Users Group: https://vireoetd.org/vireo/

Vireo User Documentation: Vireo 4.0 User Documentation