[Dev] Jackrabbit and repository

Frank Cohen fcohen at pushtotest.com
Tue Jan 22 08:15:10 PST 2008


Dear PushToTest Dev-heads:

Every once in a while a confluence of ideas happens around open- 
source test automation. The confluence of this week is:

- Apache's announcement of Jackrabbit 1.4
- Zephyr's announcement that their private beta of a new  
collaborative test automation platform uses Jackrabbit
- Jimmy Foulkes (one of our architects) push for PTTWeb to use JSR  
170 and specifically Jackrabbit as our new repository for the  
upcoming PushToTest collaborative test automation platform.

All of these happened this week!

PushToTest is being used by hundreds of thousands of developers now.  
We often hear users and customers asking for a collaborative test  
environment that features a repository of tests and a scheduler. We  
are working on these under the codename PTTWeb. The first piece of  
the project is the repository.

This is perhaps the most important module of PTTWeb because it  
provides all the storage functionality required by the other modules.  
Will serve as the storage repository for test scenarios, resources  
and scripts as well as test results.

In general this will include the storage of the following areas:

Test resources: test related artifacts using a file system metaphor
Test results: all test data results associated to the executed jobs  
from the different test nodes
Security: all information related to security access like users,  
roles, permissions, etc.
Scheduling: job and its execution scheduling information
In order to avoid spending time on writing code to provide this  
functionality it is necessary to find an Open Source product/project  
that provides this service. The Java Community process has a  
specification for Content Repositories under the JSR 170. There are  
several Open Source implementations of this JSR. One possible  
implementation is the Apache Jackrabbit project that fulfills this  
JSR as well as adding several more features of its own. Jackrabbit is  
in use by several important projects like JBoss portal, Magnolia  
Content management system, jLibrary, Sun's OpenPortal Project.

Most providers for this JSR can provide RDMS implementation for the  
underlying data store. A MySql database could provide the actual  
storage capabilities for the repository although a file system based  
repository is much faster. The idea is that the repository should  
emulate a typical hierarchical file system with similar access  
permission typical of a file system. Attention will be placed in the  
design to the appropriate structure of this repository and to allow  
the definition of the required metadata associated with the possible  
resources to be kept there.

A general search function will be provided on this repository. For  
those resources of text type the actual contents of the resource can  
be searched, otherwise the search will be performed on the actual  
names, attributes and repository structure for the repository.

The design document for PTTWeb is available for your review, feedback  
and ideas at http://downloads.pushtotest.com/tm5/PTTWeb- 
DesignProposal.pdf.

-Frank

--
Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122
TestMaker open-source test automation






--
Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 871 0122
TestMaker open-source test automation





More information about the Dev mailing list