Development environment

From Archivematica
Revision as of 03:43, 8 February 2011 by Sevein (talk | contribs) (→‎Setup)
Jump to navigation Jump to search

Main Page > Development > Development Environment

This page explains how you can configure and use an Ubuntu Linux system to use as a basic Archivematica development environment.

Setup

  • Use Subversion to checkout Archivematica code
    • If you have commit access, use the private repository
    • If you have read-only access, use the public GoogleCode repository
svn checkout http://archivematica.googlecode.com/svn/trunk/ archivematica


  • Run localDevSetup scripts.
    • cd archivematica/localDevSetup/
    • ./installLocalDevRequirements.sh
    • ./createArchivematicaUserAndGroupForLocalDev.sh
    • ./createLocalDevDirectories.sh
    • cd createDatabases
    • ./postBuildRun.sh
    • This will create links in your local Ubuntu environment back to the relevant Archivematica scripts in your SVN checkout, allowing you to run a local Archivematica version which can continue to pull down revision updates from the code repository
    • If you have commit access, you can work on the files in the checkout directory, make changes and commit those back to SVN repository, while also running Archivematica locally to test your changes and commits from other developers.
  • Additional local environment configuration
    • Edit the sudoers file to give archivematica execution rights.
    • sudo echo "archivematica ALL=NOPASSWD:/bin/mv,/bin/chown,/bin/chmod,/usr/bin/unoconv,/usr/bin/gs" >> /etc/sudoers 
    • Add Crontab for quarantine check
    • sudo crontab -e
    • * * * * * flock -xn /var/lock/quarantine.lock /usr/lib/archivematica/MCPServer/delay/delay.py 60 "/var/archivematica/sharedDirectory/watchedDirectories/quarantined"

Run

  • Start Archivematica MCP Server & Client
    • Open a seperate terminal for each and type:
      • runArchivematicaMCPServer.sh
      • runArchivematicaMCPClient.sh
  • To start processing a SIP:
    • Open Thunar file manager
    • if using sample SIPs, 'export' the SIP directory
      • svn export buildVM/includes/sampledata ~/sampledata
    • 'cut' the SIP directory and paste into the AcquireSIP directory
    • Open the Firefox browser and type 'localhost' as the address to view SIP processing progress via the Dashboard
      • note: until polling is enabled, you will have to hit the browser refresh button to get latest Dashboard updates

Update

To pull down the latest code commits from the repository, navigate to the directory where Archivematica trunk has been checked out:

  • Change Directory to the archivematica SVN directory.
cd ~/archivematica/
  • cd archivematica/localDevSetup/
  • ./cleanup.sh
  • cd ~/archivematica/
  • svn up
  • cd archivematica/localDevSetup/
  • ./createLocalDevDirectories.sh
  • Note: changes to the MCP database schema may have occurred. To make these changes to your local database run the following command.

THIS WILL ERASE THE DATA ON SIPs CURRENTLY IN YOUR DATABASE.

./recreateDB.sh

Troubleshooting

  • If a SIP processing fails, it will move it to the 'failed' directory which is located:
    • var/archivematica/sharedDirectory/watchedDirectories/failed
  • if ArchivematicaServer freezes (in terminal kill command)
    • CTRL + \
  • if ArchivematicaClient freezes (in terminal kill command)
    • CTRL + C
  • Updates to the Dashboard may require an Apache webserver restart:
    • sudo /etc/init.d/apache2 restart
  • If you find a problem running the Dashboard and you want to get a detailed error log to report us, please switch it to debug mode following these instructions.