Google summer of code 2007 – Project proposal
jackrabbit-jcr-wikipedia - JCR Wikipedia
- Apache Jackrabbit is a fully confirming implementation of the Content Repository for Java Technology API (JCR) and is the reference implementation JSR 170 Specification. Jackrabbit is a very useful content repository but a major obstacle for a novice JCR developer is that there is no demo application to be used as a reference. It would be really useful to new comers to Jackrabbit to have a reference which shows how to build an application from the scratch on top Jackrabbit. Jackrabbit-jcr-wikipedia is a demo application which will show how the basic features of Wikipedia will be build on top of JCR. This demo application will show JCR functionalities can be used in practice and can be used as a reference to new users of Jackrabbit . Complexity of the application will be kept at a level that can be easily understood by a novice Jackrabbit developer and usage of JCR features will be emphasized. Jackrabbit-jcr-demo will be written adhering to Java coding standards and will contain clean and well readable code. A detailed development guide and a user guide will be delivered along with the jackrabbit-jcr-wikipedia application.
- Jackrabbit-jcr-wikipedia will try to provide the basic Wikipedia functionalities on top of Jackrabbit. This demo wikipedia will work as a simple model of Wikipedia and will provide the functionality to add and edit the articles by everyone. Articles can contain textual content as well as binary content like images and may be videos. It will also provide the basic navigation among the articles. It will also keep a history about the changes and people will be able to see the changes done by various people. So the articles will be easily reserved and restored with a earlier version if some irrelevant or incorrect information added to the articles.
- Demo wikipedia will provide fulltext-search as the parent Wikipedia and I will try to make the fulltext-search flexible as possible. Locking facility of transactions will also be used provide concurrent editing of documents. As I’m new to Jackrabbit this Jackrabbit-jcr-wikipedia will be done under the guidance of jackrabbit community. It will driven by the community and I will develop the Jackrabbit-jcr-wikipedia step by step taking all the design decisions with the help of the developers of the mailing list.
- Jackrabbit- jcr-wikipedia application Code documentation Developer documentation
April 9 - Finalize the design
July 1 - Release of demo Jackrabbit- jcr-wikipedia with core functionalities
July 9 - Upload the code to code.google.com/hosting for midterm evaluation
August 1 – Release of Demo Wikipedia V 1.0 plus documentation
August 20 – Upload the code to code.google.com/hosting for final evaluation
I’m Nandana Mihindukulasooriya from University of Moratuwa, Sri Lanka doing a major in Computer Science and Engineering and I’m in the final year of my undergraduate course. The modules I have completed under my undergraduate course with the results I have achieved can be found at http://www.cse.mrt.ac.lk/~nandana/acadamic/transcript.html.
I have been developing Java applications since last three years and one of my major interests is on web application development. I have developed fair amount of java web applications using servlet/jsp technologies. I am quite familiar with Apache tomcat application server. These days I am developing a mblog (mobile blog) application for a local mobile operator which includes text blog, photo gallery, video gallery, comments, ratings, user management, friend management and etc. We are using EJBs for that and it will be deployed in JBoss with MySql as the database. I am bit familiar with the Apache Axis 2 project and have some experience in writing java web services.
- Jackrabbit-jcr-wikpedia GSoc project will happen with in the Jackrabbit community and feedback from the community will always be valued. All the deign decisions and the progress of the project will be posted on the mailing list for feedback and comments. I would always try to get my code reviewed by the expert developers in the mailing list and get them involved in the design decisions. Through this I will try get grab as much as expertise from the experienced programmers and include them in the demo blog application and the documentation.
Even at this early phase, I am involved with the mailing list and getting the feedback from the community about the jackrabbit-jcr-demo that I'm going to do. This initial discussion can be found at http://www.nabble.com/Google-Summer-of-Code-2007---jackrabbit-jcr-demo-t3428515.html