Difference between revisions of "Development environment"

From Archivematica
Jump to navigation Jump to search
(→‎Setup: Editing cron to reflect changes.)
(→‎Troubleshooting: dashboard debug mode)
Line 65: Line 65:
*If you find a problem running the Dashboard and you want to get a detailed error report, please switch it to debug mode following [http://archivematica.org/wiki/index.php?title=Dashboard#Debug_mode these instructions].

Revision as of 05:04, 4 February 2011

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.


  • 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"


  • Start Archivematica MCP Server & Client
    • Open a seperate terminal for each and type:
      • runArchivematicaMCPServer.sh
      • runArchivematicaMCPClient.sh
  • Start unoconv service (for Open Document format transcoding)
    • unoconv --listen
  • 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


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

  • svn up


  • 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
  • Updates to the environment may require re-linking:
    • cd archivematica/localDevSetup/
    • ./cleanup.sh
    • ./createLocalDevDirectories.sh
  • If you find a problem running the Dashboard and you want to get a detailed error report, please switch it to debug mode following these instructions.