Git Product home page Git Product logo

att's Introduction

Digital Transfer Tool

Build Status

The application enables secure and reliable transfer of records, archives, research data, or other digital content to Libraries’ Collections staff as a step in the digital curation workflow. There is currently no web-based tool available at MIT to donors or creators of digital material that they can use to securely and reliably transfer digital files and metadata to the Libraries in a consistent and agreed upon way and that aligns with the PAIMAS standard and PAIS protocol.

Software Requirements

Docker or Apache Maven

Installation (Maven)

This is a Maven based project:

# from the folder, run the build, and package it:

mvn clean package -P dev

# after building, test it:

java -jar target/att-0.0.1-SNAPSHOT.war

Visit http://localhost:8080/att.

Testing with Docker

For convenience, the project can be launched with Docker

# first time only:
docker pull maven:3.5.3-jdk-8-alpine

# from the folder, build the docker image (it will take a while the first time):

docker build -t att:1.0 .

# now run it:

docker run -p 8080:8080 att:1.0

# the app should now be live at localhost:8080/att
 

Now if you want to make a change to the app:

  • Hit Ctrl-C
  • Edit /src/main/resources/templates/AddDepartment.html (for example)
  • Run the image build command (docker build), as described above (it should take a second now).
  • Run the image again (docker run).

Installation (Production Server)

Adjust application.properties to:

  • point to the correct share directory on the server.
  • change testing to false
  • update with SMTP password

Build using Maven and copy the result .war file to the Tomcat instance.

# from the folder, run the build, and package it:

mvn clean package -P dev

# scp target/att-0.0.1-SNAPSHOT.war user@server:/usr/share/tomcat/webapps

Replace user, server, and tomcat webapp locations, as appropriate.

Tomcat should load the web app after a few moments. Browse to the webapp (specified below) to confirm the application is working.

To debug, you can tail the following files:

tail -f /usr/share/tomcat/tmp/palmquist-logs/debug.log
sudo tail -f /usr/share/tomcat/logs/localhost.yyyy-mm-dd.log

Change Tomcat location, as necessary.

The application logs folder can be changed in application.properties.

Unit Tests

To run a single test:

mvn surefire:test -Dtest=DepartmentHttpRequestTest#testAddPage -Pdev

Production Server

Currently, the application is running on https:arcsubmit mit.edu/att.

Server set up: Apache httpd (for Shibboleth), Apache Tomcat, Embedded database (to be migrated)

Documentation

The FAQ web page provides background information on the submission process.

Contributors

The project was developed by Osman Din and Frances Botsford.

Acknowledgements

It is based on a tool developed by the Michigan State University.

Project Management

If you encounter an issue, please file a bug on GitHub (or MIT's JIRA website, if you are an internal user):

https://mitlibraries.atlassian.net/projects/ATT

License

This project is licensed under AGPL. See the license file for details.

att's People

Contributors

osmandin avatar frrrances avatar

Watchers

 avatar James Cloos avatar

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.