Apache Photark M2 Release Notes.

1. Overview
 
Apache Photark M2 is second Milestone release and fixes over 15 JIRA issues reported by users and the community.

2. Installation Prerequisites 

Before installing Apache Photark, make sure the following products,
with the specified versions, are installed on your system:

    * Java 5 Development Kit
    * Maven 2.0.7 or higher


3. Specific issues, features, and improvements fixed in this version

Release Notes - Photark - Version M2


** Bug
    * [PHOTARK-10] - Small issues with album navigation UI.
    * [PHOTARK-15] - Add RAT profile to build and correct any license issues in current trunk code
    * [PHOTARK-21] - Repeatedly call populateSelect method in upload.html
    * [PHOTARK-30] - JDK1.5 compatibility not preserved
    * [PHOTARK-31] - TopNavigator on the PhotArk website is broken and is pointing to a different project website

** Improvement
    * [PHOTARK-6]  - Simplify PhotArk UI to use a well known JavaScript Framework.
    * [PHOTARK-7]  - Move to Latest Tuscany Release
    * [PHOTARK-9]  - JCR support for photark-webpp
    * [PHOTARK-12] - Image content should be saved and read from in JCR Repository.
    * [PHOTARK-13] - rest style uris.
    * [PHOTARK-23] - Progress Bar support during image upload.
    * [PHOTARK-25] - auho hide newAlbumNameField in the admin panel.

** New Feature
    * [PHOTARK-1]  - Provide Administration UI to allow user to create new album.
    * [PHOTARK-5]  - Add support for deploying PhotArk WebApp to Google AppEngine.
    * [PHOTARK-11] - simple ui that allow you to create a new album and upload images to it.
    * [PHOTARK-17] - Provide support for reading image EXIF metadata
    * [PHOTARK-24] - slide show to PhotArk gallery.
    * [PHOTARK-26] - Revamp Admin UI to support delete,edit and update albums and pictures.
    
    