tree: 5c02543a59463c65ef96738aa4be435e9a00b98d [path history] [tgz]
  1. src/
  2. pom.xml

Jackrabbit Oak - Exercise

Oak module providing exercises for developers who wish to become familiar with the Oak code base and understand the design principals and implementation details.

NOTE: This module is not suited as reference for ‘best-practises’ for JCR and Jackrabbit API consumers. Instead it often uses low-level implementation access to illustrate a particular pattern or detail.

Mandatory Preparation

Apart from the exercise code, you need have to following source packges installed

Please make sure you have the following source code on your computer and setup in your preferred IDE

Recommended Reading

As preparation of the introduction it is recommended to take a look at security related sections of the JSR283 and to make yourself familiar with the security related areas of the API as well with the extensions defined in Apache Jackrabbit. JSR 283 : Content Repository for Java Technology API Specification v2.0

The following sections of the specification deal with security in particular with authentication and authorization.

You can also find the correspoding parts of the API documentation:

Apache Jackrabbit : API Extensions for JSR 283

The JavaDoc for the latest Jackrabbit API (2.10) can be found at

Oak Documentation

There exists some documentation about Oak Security at That should cover everything that is being looked at during that introduction. Further References Java Authentication and Authorization Service (JAAS)

Note that we only make use of the Authentication part of JAAS. Nevertheless the following documents might be useful to consult when you are dealing with authentication.

Java API References

The following API references to some authentication related classes that we keep referring to when talking about security in the repository General Security


Using the Exercise Module

The exercise module consists of training material in the form of test-cases that are to be ‘fixed’ based on the instructions in the description and the test-method (EXERCISE comments). In addition the module comes with examples for customizations and extensions that can be adjusted and plugged into an test repository for advanced learners.

How to Verify your Solutions

The instructions and the EXERCISE comments indicate how the tests need to be adjusted. Run the tests in your IDE and verify that they pass to check if your solution is correct.

NOTE: The module by default skips test execution. Enable test verification if you intend to verify your solutions with ‘mvn clean install’.