-
Notifications
You must be signed in to change notification settings - Fork 0
Priha is a JSR-170 (aka Java Content Repository) repository implementation. It's light-weight, requires no dependencies (aside from jcr-1.0.jar) and is well-suited for embedding.
License
jalkanen/Priha
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is Priha, a JSR-170 Java Content Repository implementation. Unlike the all-singing, all-dancing, fully CRM-certified implementations, Priha is targeted at small applications, embedders and hobbyists, who like to have a simple repository model with as few external dependencies as possible. You can start off with Priha, and then just simply switch to a more efficient solution (like Jackrabbit) once you start to need the performance / reliability. The word "priha" is an ancient Finnish word and it roughly means a "young man". It is not in common use these days, except as an idiom "ylen sankia priha" ("a very chubby young man"). Which, if you ever were to use it correctly in the presence of a Finnish person, would probably get you a free beer and plenty of questions. GOALS ===== The goals of the project are: * Provide a "good enough" implementation to ship with JSPWiki 3.0. * Optimize for fast fetching of medium-sized text objects (i.e. wikipages) * Good storage of large binaries (i.e. attachments) * Provide integrated versioning * Provide an SPI so that different types of providers can be used without hiding the JSR structure to something which cannot be understood by a mortal man. * Provide an SPI so powerful that JSPWiki can be easily migrated and keep the existing clarity of its Providers. * Scalability up to medium size systems (200 wikis, each with 2000 pages, total of 400,000 nodes). * Ships with as few external libraries as possible The anti-goals (i.e. the things I don't particularly want to pay attention to, because they are not useful (yet) in JSPWiki context) are: * Transactions support * HA or clustering support. These should be left to an industrial-scale JSR implementation. * JNDI * Custom Nodetypes REQUIREMENTS ============ Priha requires and takes advantage of Java 5 (JDK 1.5). To compile and run the JCR tests you need the included libraries. To run Priha, you need: * a JAXP-compliant XML parser library somewhere in your classpath (the one with JDK5 is fine) * jcr-1.0.jar somewhere in the classpath as well That's it! See doc/Configuration.txt for further information about how Priha is configured. COMPILATION =========== Priha uses Apache Ant to compile, and Apache Ivy for managing dependencies. Ivy will be downloaded automatically if you don't have it already installed. To compile, run "ant". This creates the JAR file under /build. To run the full test suite, run "ant jcrtests". This will create a test report in /tests/reports. If you use Eclipse, the use of IvyDE is highly recommended. Otherwise you will need to install the dependencies manually with Ant first, then tweak the classpath within Eclipse. LICENSE ======= Priha is licensed under the Apache 2.0 license. Please see the LICENSE file in the same directory as this document.
About
Priha is a JSR-170 (aka Java Content Repository) repository implementation. It's light-weight, requires no dependencies (aside from jcr-1.0.jar) and is well-suited for embedding.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published