PhotoArk Gallery Application
======================================

Apache PhotArk will be a complete open source photo gallery 
application including a content repository for the images, 
a display piece, an access control layer, and upload capabilities. 
The idea is to have a rigid design for the content repository 
with a very flexible display piece. The images in the content
repository will be protected with granular access control.


Building And Running The Sample Using Ant
-----------------------------------------
With the binary distribution the sample can be built using Ant as follows:

cd photark
ant compile

and then, to run:

ant run

Once the store application is running use your browser to visit the following
URL:

http://localhost:8080/photark/
