This proposal is located at http://wiki.apache.org/incubator/CaitrinProposal
PicaGalley
Abstract
PicaGalley will be a photo gallery application with web access.
Proposal
PicaGalley 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.
Background
Photo gallery software provides users with the means to store,
manage, and publish photographs and other digital images. A user
creates one or more photo albums and puts images into them. Metadata
stored with the images allows for searching. The primary means to
access the photo gallery will be web interfaces, for human
interaction through a browser as well as for machine retrieval.
Images are published by granting read access to everybody or to a
group of invites.
Initially the proposal idea for a photo gallery was brought forth due
to a project that had been started at Nechtan Design. While
discussing the possibility of forming a community around that project
(called Caitrin) a community started to form. Others with interest in
the subject and problem space started putting in their ideas and
offered to donate code that could help. It was decided that the
project should start from scratch with a new architecture. This
proposal is based on a high level design that evolved from the
subsequent discussions.
We are aware that we have significant work ahead of us, not only in
the code to be written but in finding a community to support the project.
Rationale
"A picture tells a thousand words..."
If a picture tells a thousand words then a gallery of pictures tells
an amazing story. It could tell this story as part of a larger web
site, in a blog or on its own. Unfortunately, there exists no Java
open source application to assist the community to tell this story.
PicaGalley will change that.
There are many photo galleries that are written in PHP. Each of these
addresses a particular need and many work well for their intended
purpose. However, there is not a photo gallery that is written in
Java. As Web 2.0 continues to grow it only makes sense that the
community provide not only PHP but also Java applications to allow
everyone the ability to publish their own content. Apache started
down this road with Roller and can continue with PicaGalley.
Initial Goals
* Create a prototype by drawing pieces from existing efforts
* Recruit additional community members
* Finalize the Content Repository
* Use cases - capture ideas such as access control that might
not make first drop
* Layout
* Unit tests (simple drivers for loading, accessing, searching, etc.)
* ReST structure
* Use cases
* URI format
* semantics
* prototype implementation
* Web service
* Use cases - want to capture ideas for process (Ode) integration
* WSDL Description
* prototype
Current Status
Responses to the initial proposal uncovered several existing efforts
at implementing photo gallery software in Java. Instead of picking
one codebase over the others, we started from scratch with a
high-level design. Pieces will be taken from the existing efforts as
appropriate. These efforts are:
* Caitrin: Originally developed for a fee at Nechtan Design then
voluntarily updated. The code is in use on a test site and ready to
be moved to production. It runs on Tomcat and uses a relational DB
for storing metadata as well as the filesystem for storing images.
This codebase was at the core of the initial proposal for this podling.
* Noel Bergman developed a photo gallery software he is willing
to donate. The software is in production use, technical details
remain to be investigated.
* Carsten Ziegeler is working on a photo gallery software based
on Apache Sling (currently incubating), which uses a JCR backend for
storage. This codebase is destined as a contribution to Apache Sling.
* Luciano Resende is working on a photo gallery sample for Apache
Tuscany SCA, using a filesystem storage backend. This codebase is
already at Apache, see
[WWW]
https://svn.apache.org/repos/asf/tuscany/java/sca/samples/photo-gallery/
Meritocracy
The PicaGalley project will demonstrate the best in meritocracy. Due
to the fact that the project is in its infancy and only a small
community exists, the community that grows to surround it as it grows
within the ASF will all adhere to the fundamentals of meritocracy.
Every person who is currently part of the community has given a
significant contribution of either architecture expertise and/or code.
Community
After the initial proposal for a Caitrin podling, which came with no
community at all, a small community has formed within the ASF. Some
people are interested in the problem domain itself, while others are
interested in showcasing how particular technologies can be used to
solve some aspect of the problem.
Core Developers
Angela Cymbalak
Known Risks
Orphaned Projects
We are starting with a very small community. While several people are
interested, it remains to be seen how much time they can spend here.
The risk of becoming an orphaned project is high.
In light of this situation, we are putting the initial focus on
delivering working prototypes based on existing efforts at Apache
Tuscany SCA and possibly at Apache Sling (currently incubating).
Working prototypes will enable interested parties to download and
play with the code and entice them to get involved. Relying on
existing efforts means that our work results can find a home at
Apache even if the podling itself should fail to gain sufficient traction.
Inexperience with Open Source
The initiator of this proposal has limited experience with open
source. She is committed to learning the Apache Way. The other
members of the community we currently see forming are Apache PMC
members or ASF members.
Homogeneous Developers
The current community grew out of a desire to see different pieces of
technology put to use and an interest in the problem space. There is
no single entity that is providing all the developers for this project.
Reliance on Salaried Developers
This project is not in the profit stream for any of the participants.
Relationships with Other Apache Products
There are several other Apache Products and Apache Incubator projects
that are being evaluated for use with this project. Some members of
the community are involved because of wanting to see a particular
technology put to use. Likely candidates are:
* Jackrabbit for the backend
* Tuscany SCA for the WS interface
* Sanselan for metadata extraction
* Sling for the frontend
* maybe JSecurity for authorization
There were brief discussions with the Apache Roller project about
implementing the photo gallery as a plugin to the Roller weblog
software. The community response indicated general interest but
limited enthusiasm. The intent of this proposal is to develop a
standalone photo gallery application, whereas the Roller community is
likely to consider it an accessory feature. We therefore prefer to
start an independent effort, which can later be tied to Roller by
means of a plugin.
A Excessive Fascination with the Apache Brand
The Apache community has shown themselves to be invested in the code
that they are writing because they enjoy the act of developing a
quality product that can be easily used by others. They rely on
collective knowledge instead of the knowledge of the individual and
are willing to share that knowledge with others. We feel that this
application will continue to grow well under the guidance, leadership
and structure of the Apache community and the ASF.
Documentation
No documentation currently exists.
Initial Source
No initial source is currently identified. All the code bases listed
above will be donated in order to prevent IP pollution.
Cryptography
No cryptography is currently utilized in this project.
Required Resources
Mailing lists
The minimum mailing lists will be needed:
* picagalley-private (with moderated subscriptions)
* picagalley-dev
* picagalley-commits
* picagalley-user
Subversion Directory
[WWW]
https://svn.apache.org/repos/asf/incubator/picagalley
Issue Tracking
JIRA picagalley(picagalley)
Other Resources
None.
Initial Committers
Angela Cymbalak (a DOT cymbalak AT nechtan DOT org) (cla submitted)
Luciano Resende (lresende AT apache DOT org)
Help Wanted
Please comment on the general@ list if you are interested in joining
this project!
Affiliations
None.
Sponsors
Champion
Noel Bergman
Nominated Mentors
Carsten Ziegeler
Martin Cooper
Roland Weber
Sponsoring Entity
We kindly ask the Incubator to sponsor this project.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]