View on GitHub

Cinch

A project to develop a bulk download service to a central repository that will maintain original file timestamps, virus check, extract file level metadata, create file checksums and periodically validate checksums for continued file integrity. Users merely need to upload a list of URLs to download and when the process completes they can download the requested files and file metadata to their local environment. Funding for the CINCH: Capture, Ingest, & Checksum tool is made possible through an IMLS Sparks! Ignition grant.

download .ZIPdownload .TGZ

A project to develop a bulk download service to a central repository that will maintain original file timestamps, extract file level metadata, create file checksums and periodically validate checksums for continued file integrity.

Users merely need to upload a list of URLs to download and when the process completes they can download the requested files and file metadata to their local environment.

Currently supported file types:

Learn more about CINCH.

Full end user instructions

Funding for the CINCH: Capture, Ingest, & Checksum tool is made possible through an IMLS Sparks! Ignition grant.

License: CINCH is released under the Unlicense (http://unlicense.org/)


Requirements

After download, you may need to run the setup.sh shell file before initially running application to set file level permissions.

Setting up Cinch on your system:

  1. Place the Cinch files in a web accessible directory
  2. Create a new database MySQL database and import the project.sql file into it.
  3. Open protected/config/main.php
  4. Scroll down to the db settings (line 68 or so). Set the database name, the username and password for your new Cinch database.
  5. Scroll to the bottom of main.php and set 'adminEmail' email address to your email address.
  6. You'll now need to repeat steps four and five in protected/config/console.php.
  7. In protected/config/console.php if the setting in date_default_timezone_set() isn't correct you should change it to your timezone setting. For a complete list of timezone settings see: http://us2.php.net/manual/en/timezones.php.
  8. Go to http://tika.apache.org/download.html and download the Apache Tika jar file.
  9. Place the Apache Tika jar file at the root of the Cinch/protected directory.
  10. Configure Cinch cron tasks. See the sample cron.txt file the root of Cinch for suggestions on how you might want to configure it.

You should now be able to login to the web interface as: admin admin. You should then go the change password tab and update your password.

If you don't want to run Cinch via cron you can run it from the command line. If you navigate to Cinch/protected and run the following: path/to/php yiic.php you should be presented with a list of available commands. The general way to run a command is: path/to/php yiic.php command. Several commands such as checksum and purgeystem have subcommands, which have to be run like so from the command line: path/to/php yiic.php command sub-command.

You should run the commands in the following order:

  1. readfile
  2. download
  3. viruscheck
  4. checksum create
  5. metadata
  6. metadatacsv
  7. checksum check (optional, recalculates checksum to see if anything has changed between download and current time.)
  8. errorcsv
  9. zipcreation
  10. purgesystem check (optional, Notifies users after 20 days that they have files marked for deletion in 10 days.)
  11. purgesystem delete (optional, deletes user files older than 30 days old. Note this deletes upload lists, and all csv file information from the database, but downloaded file, metadata, errors, and event information is retained in the database.)

Useful Notes:

Adding New Users:

Currently users can't self-register (This fit our own particular needs.)

If you have problems with setting up users feel free to contact us. You might want to take a look at the documentation for the Yii Rights extension used in CINCH: http://yii-rights.googlecode.com/files/yii-rights-doc-1.2.0.pdf


Parts of Cinch include: