You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by bu...@apache.org on 2012/12/31 13:22:50 UTC
svn commit: r844402 [3/5] - in /websites/staging/jackrabbit/trunk/content: ./
api/1.5/org/apache/jackrabbit/ocm/manager/collectionconverter/impl/class-use/
api/2.1/org/apache/jackrabbit/test/api/version/simple/class-use/
Modified: websites/staging/jackrabbit/trunk/content/basic-ocm-operations.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/basic-ocm-operations.html (original)
+++ websites/staging/jackrabbit/trunk/content/basic-ocm-operations.html Mon Dec 31 12:22:48 2012
@@ -44,7 +44,7 @@ You can also read the tutorial <a href="
<p><a name="BasicOCMoperations-Retrieveandupdateanobject"></a></p>
-<h2 id="retrieve_and_update_an_object">Retrieve and update an object</h2>
+<h2 id="retrieve-and-update-an-object">Retrieve and update an object</h2>
<div class="codehilite"><pre><span class="n">Folder</span> <span class="n">folder</span> <span class="o">=</span> <span class="p">(</span><span class="n">Folder</span><span class="p">)</span> <span class="n">persistenceManager</span><span class="o">.</span><span class="n">getObject</span><span class="p">(</span><span class="n">Folder</span><span class="o">.</span><span class="n">class</span><span class="p">,</span>
</pre></div>
@@ -62,7 +62,7 @@ You can also read the tutorial <a href="
<p><a name="BasicOCMoperations-Savelastchanges"></a></p>
-<h2 id="save_last_changes">Save last changes</h2>
+<h2 id="save-last-changes">Save last changes</h2>
<p>After some inserts, deletes and/or updates, you can call the method
<em>ocm.save()</em> to apply your changes into the JCR repository.</p>
</div>
Modified: websites/staging/jackrabbit/trunk/content/building-jackrabbit.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/building-jackrabbit.html (original)
+++ websites/staging/jackrabbit/trunk/content/building-jackrabbit.html Mon Dec 31 12:22:48 2012
@@ -44,7 +44,7 @@ for a brief description of the component
directory with miscellaneous contributions that are not yet a part of the
official Jackrabbit releases.</p>
<p><a name="BuildingJackrabbit-CheckingoutthesourceswithSubversion"></a></p>
-<h2 id="checking_out_the_sources_with_subversion">Checking out the sources with Subversion</h2>
+<h2 id="checking-out-the-sources-with-subversion">Checking out the sources with Subversion</h2>
<p>You need a <a href="http://subversion.tigris.org/">Subversion</a>
client to access the Jackrabbit source repository. Take a look at the [Subversion client list|http://subversion.tigris.org/project_links.html#clients]
unless you already have a one installed. Once you have the Subversion
@@ -59,7 +59,7 @@ contains the latest Jackrabbit sources.
or the documentation of your Subversion client for more information on how
to manage your source tree and keep it up to date with latest development.</p>
<p><a name="BuildingJackrabbit-BuildingthesourceswithMaven"></a></p>
-<h2 id="building_the_sources_with_maven">Building the sources with Maven</h2>
+<h2 id="building-the-sources-with-maven">Building the sources with Maven</h2>
<p>Jackrabbit uses <a href="http://maven.apache.org/">Maven 2</a>
as the build system and the component sources are mostly organized
according to the Maven [Standard Directory Layout|http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html]
Modified: websites/staging/jackrabbit/trunk/content/concurrency-control.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/concurrency-control.html (original)
+++ websites/staging/jackrabbit/trunk/content/concurrency-control.html Mon Dec 31 12:22:48 2012
@@ -35,7 +35,7 @@ level and did not focus much on issues l
classes or components.</p>
<p>This review is based on Jackrabbit version 1.5 in default configuration.</p>
<p><a name="Concurrencycontrol-Architecturalbackground"></a></p>
-<h2 id="architectural_background">Architectural background</h2>
+<h2 id="architectural-background">Architectural background</h2>
<p>!arch.jpg|align=right! In terms of concurrency control, the Jackrabbit
architecture can roughly be divided to five main layers:</p>
<ol>
@@ -101,7 +101,7 @@ replaces all write operations (and relat
operation. This transaction mode is only activated when a session is within
the context of an XA transaction.</p>
<p><a name="Concurrencycontrol-Mainsynchronizationmechanisms"></a></p>
-<h2 id="main_synchronization_mechanisms">Main synchronization mechanisms</h2>
+<h2 id="main-synchronization-mechanisms">Main synchronization mechanisms</h2>
<p>!lock.jpg|align=right! The main synchronization mechanisms in Jackrabbit
are the read-write locks in the SharedItemStateManager and
VersionManagerImpl classes. Other components also have concurrency control
@@ -128,7 +128,7 @@ of more finely grained locks, but this r
case. Note also that each workspace has it's own lock, so even if one
workspace is exclusively locked, other workspaces can still be accessed.</p>
<p><a name="Concurrencycontrol-Conditionsfordeadlocks"></a></p>
-<h2 id="conditions_for_deadlocks">Conditions for deadlocks</h2>
+<h2 id="conditions-for-deadlocks">Conditions for deadlocks</h2>
<p>A deadlock can only occur if the holder of one lock tries to acquire
another lock and there is another thread (or a series of other threads)
that tries to do the reverse. This situation can only arise if a) locks are
@@ -158,7 +158,7 @@ locks. See below for the results of the
and clear such cases. The acquired write locks are marked in bold to make
it easy to spot potential problems.</p>
<p><a name="Concurrencycontrol-Codereview"></a></p>
-<h2 id="code_review">Code review</h2>
+<h2 id="code-review">Code review</h2>
<p>This section contains the results of a code review whose purpose was to
identify the order and nesting of the locks acquired by many common
operations in Jackrabbit. The results of the review were compared to the
@@ -167,7 +167,7 @@ above conditions for deadlock.</p>
non-transactional context. See the last subsection for the behaviour in
transactional environments.</p>
<p><a name="Concurrencycontrol-Normalreadaccess"></a></p>
-<h3 id="normal_read_access">Normal read access</h3>
+<h3 id="normal-read-access">Normal read access</h3>
<p>Read access to the workspace typically only requires a read lock on the
SharedItemStateManager of that workspace, but since the version store is
mapped to the virtual /jcr:system/jcr:versionStorage inside the repository,
@@ -176,26 +176,26 @@ acquired.</p>
<ol>
<li>Workspace read lock, for reading normal node content</li>
<li>
-<h1 id="version_store_read_lock_for_reading_version_content">Version store read lock, for reading version content</h1>
+<h1 id="version-store-read-lock-for-reading-version-content">Version store read lock, for reading version content</h1>
</li>
</ol>
<p>This nested lock is potentially unsafe in a transactional context, see the
subsection on transaction commit below for more details.</p>
<p><a name="Concurrencycontrol-Versioningreadaccess"></a></p>
-<h3 id="versioning_read_access">Versioning read access</h3>
+<h3 id="versioning-read-access">Versioning read access</h3>
<p>Some version accesses are handled directly through the version manager
instead of looking through the /jcr:system/jcr:versionStorage tree. Such
accessed are guarded with the VersionManagerImpl read lock.</p>
<ol>
<li>Versioning read lock, for accessing version information</li>
<li>
-<h1 id="version_store_read_lock_for_reading_version_information">Version store read lock, for reading version information</h1>
+<h1 id="version-store-read-lock-for-reading-version-information">Version store read lock, for reading version information</h1>
</li>
</ol>
<p>The nested lock here is safe as the version store lock never covers code
that tries to acquire the versioning lock.</p>
<p><a name="Concurrencycontrol-Transientchanges"></a></p>
-<h3 id="transient_changes">Transient changes</h3>
+<h3 id="transient-changes">Transient changes</h3>
<p>All transient changes like those created by Node.addNode() or
Session.move() are stored in the session-local transient space without
needing any synchronization except for the read locks used for accessing
@@ -214,22 +214,24 @@ should be concurrently using the same se
<li>Workspace read lock, for sanity checks and other preliminary work</li>
<li>Multiple non-overlapping instances of (only when creating new version
histories)</li>
-<li>being modified<h1 id="workspace_read_lock_for_checking_the_current_state_of_the_nodes">Workspace read lock, for checking the current state of the nodes</h1>
-</li>
-<li>already exists<h1 id="version_store_read_lock_for_checking_whether_a_version_history">Version store read lock, for checking whether a version history</h1>
-</li>
<li>
-<h1 id="versioning_write_lock_for_creating_a_new_version_history">Versioning <em>write lock</em>, for creating a new version history</h1>
+<h1 id="workspace-read-lock-for-checking-the-current-state-of-the-nodes">Workspace read lock, for checking the current state of the nodes</h1>
+being modified</li>
+<li>
+<h1 id="version-store-read-lock-for-checking-whether-a-version-history">Version store read lock, for checking whether a version history</h1>
+already exists</li>
+<li>
+<h1 id="versioning-write-lock-for-creating-a-new-version-history">Versioning <em>write lock</em>, for creating a new version history</h1>
</li>
<li>
-<h2 id="version_store_write_lock_for_persisting_the_version_history">Version store <em>write lock</em>, for persisting the version history</h2>
+<h2 id="version-store-write-lock-for-persisting-the-version-history">Version store <em>write lock</em>, for persisting the version history</h2>
</li>
<li>Workspace <em>write lock</em>, for persisting the changes</li>
<li>
-<h1 id="version_store_read_lock_for_checking_references">Version store read lock, for checking references</h1>
+<h1 id="version-store-read-lock-for-checking-references">Version store read lock, for checking references</h1>
</li>
<li>
-<h1 id="version_store_write_lock_for_persisting_updated_back-references">Version store <em>write lock</em>, for persisting updated back-references</h1>
+<h1 id="version-store-write-lock-for-persisting-updated-back-references">Version store <em>write lock</em>, for persisting updated back-references</h1>
</li>
</ol>
<p>Many of the other write operations below call ItemImpl.save() internally to
@@ -251,27 +253,29 @@ locks. The same is true for the first ca
but see the transaction commit subsection below for a discussion of how the
other two cases are different with transactions.</p>
<p><a name="Concurrencycontrol-Mergeandupdate"></a></p>
-<h3 id="merge_and_update">Merge and update</h3>
+<h3 id="merge-and-update">Merge and update</h3>
<p>The Node.merge() and Node.update() methods both call
NodeImpl.internalMerge() that acquires a new session on the source
workspace and copies relevant content to the current workspace.</p>
<ol>
<li>Multiple non-overlapping instances of</li>
-<li>workspace<h1 id="source_workspace_read_lock_for_copying_content_to_the_current">Source workspace read lock, for copying content to the current</h1>
-</li>
-<li>one being merged<h1 id="current_workspace_read_lock_for_comparing_current_status_with_the">Current workspace read lock, for comparing current status with the</h1>
-</li>
+<li>
+<h1 id="source-workspace-read-lock-for-copying-content-to-the-current">Source workspace read lock, for copying content to the current</h1>
+workspace</li>
+<li>
+<h1 id="current-workspace-read-lock-for-comparing-current-status-with-the">Current workspace read lock, for comparing current status with the</h1>
+one being merged</li>
<li>Current workspace <em>write lock</em>, for persisting the changes</li>
<li>
-<h1 id="version_store_read_lock_for_checking_references_1">Version store read lock, for checking references</h1>
+<h1 id="version-store-read-lock-for-checking-references_1">Version store read lock, for checking references</h1>
</li>
<li>
-<h1 id="version_store_write_lock_for_persisting_updated_back-references_1">Version store <em>write lock</em>, for persisting updated back-references</h1>
+<h1 id="version-store-write-lock-for-persisting-updated-back-references_1">Version store <em>write lock</em>, for persisting updated back-references</h1>
</li>
</ol>
<p>The nested locks above are discussed in the section on the save operation.</p>
<p><a name="Concurrencycontrol-Copy,cloneandmove"></a></p>
-<h3 id="copy_clone_and_move">Copy, clone and move</h3>
+<h3 id="copy-clone-and-move">Copy, clone and move</h3>
<p>The various copy(), clone() and move() methods in WorkspaceImpl use the
similarly called methods in BatchedItemOperations to perform batch
operations within a single workspace or across two workspaces. From a
@@ -280,16 +284,18 @@ update operations above, the difference
may be the same as the current workspace.</p>
<ol>
<li>Multiple non-overlapping instances of</li>
-<li>workspace<h1 id="source_workspace_read_lock_for_copying_content_to_the_current_1">Source workspace read lock, for copying content to the current</h1>
-</li>
-<li>one being copied<h1 id="current_workspace_read_lock_for_comparing_current_status_with_the_1">Current workspace read lock, for comparing current status with the</h1>
-</li>
+<li>
+<h1 id="source-workspace-read-lock-for-copying-content-to-the-current_1">Source workspace read lock, for copying content to the current</h1>
+workspace</li>
+<li>
+<h1 id="current-workspace-read-lock-for-comparing-current-status-with-the_1">Current workspace read lock, for comparing current status with the</h1>
+one being copied</li>
<li>Current workspace <em>write lock</em>, for persisting the changes</li>
<li>
-<h1 id="version_store_read_lock_for_checking_references_2">Version store read lock, for checking references</h1>
+<h1 id="version-store-read-lock-for-checking-references_2">Version store read lock, for checking references</h1>
</li>
<li>
-<h1 id="version_store_write_lock_for_persisting_updated_back-references_2">Version store <em>write lock</em>, for persisting updated back-references</h1>
+<h1 id="version-store-write-lock-for-persisting-updated-back-references_2">Version store <em>write lock</em>, for persisting updated back-references</h1>
</li>
</ol>
<p>The nested locks above are discussed in the section on the save operation.</p>
@@ -303,22 +309,22 @@ properties of the node.</p>
<li>Versioning <em>write lock</em>, for creating the new version in the version
store</li>
<li>
-<h1 id="workspace_read_lock_for_copying_content_to_the_new_version">Workspace read lock, for copying content to the new version</h1>
+<h1 id="workspace-read-lock-for-copying-content-to-the-new-version">Workspace read lock, for copying content to the new version</h1>
</li>
<li>
-<h1 id="version_store_write_lock_for_persisting_the_new_version">Version store <em>write lock</em>, for persisting the new version</h1>
+<h1 id="version-store-write-lock-for-persisting-the-new-version">Version store <em>write lock</em>, for persisting the new version</h1>
</li>
<li>Versioning read lock, for accessing the newly created version</li>
<li>
-<h1 id="version_store_read_lock_for_reading_the_new_version">Version store read lock, for reading the new version</h1>
+<h1 id="version-store-read-lock-for-reading-the-new-version">Version store read lock, for reading the new version</h1>
</li>
<li>Workspace <em>write lock</em>, for updating the node with references to the
new version</li>
<li>
-<h1 id="version_store_read_lock_for_checking_references_3">Version store read lock, for checking references</h1>
+<h1 id="version-store-read-lock-for-checking-references_3">Version store read lock, for checking references</h1>
</li>
<li>
-<h1 id="version_store_write_lock_for_persisting_updated_back-references_3">Version store <em>write lock</em>, for persisting updated back-references</h1>
+<h1 id="version-store-write-lock-for-persisting-updated-back-references_3">Version store <em>write lock</em>, for persisting updated back-references</h1>
</li>
</ol>
<p>The overlapping lock region above is not troublesome as there are no cases
@@ -337,7 +343,7 @@ to the shared version store is needed.</
<li>Workspace <em>write lock</em>, for updating the node to reflect the checked
out state</li>
<li>
-<h1 id="version_store_read_lock_for_checking_references_4">Version store read lock, for checking references</h1>
+<h1 id="version-store-read-lock-for-checking-references_4">Version store read lock, for checking references</h1>
</li>
</ol>
<p>The nested lock above is discussed in the section on the save operation.</p>
@@ -350,21 +356,22 @@ ItempImpl.save() call.</p>
<ol>
<li>Multiple non-overlapping instances of:</li>
<li>
-<h1 id="versioning_read_lock_for_copying_content_back_to_the_workspace">Versioning read lock, for copying content back to the workspace</h1>
-</li>
-<li>version being restored<h1 id="workspace_read_lock_for_comparing_the_current_state_with_the">Workspace read lock, for comparing the current state with the</h1>
+<h1 id="versioning-read-lock-for-copying-content-back-to-the-workspace">Versioning read lock, for copying content back to the workspace</h1>
</li>
+<li>
+<h1 id="workspace-read-lock-for-comparing-the-current-state-with-the">Workspace read lock, for comparing the current state with the</h1>
+version being restored</li>
<li>Workspace <em>write lock</em>, for persisting the changes</li>
<li>
-<h1 id="version_store_read_lock_for_checking_references_5">Version store read lock, for checking references</h1>
+<h1 id="version-store-read-lock-for-checking-references_5">Version store read lock, for checking references</h1>
</li>
<li>
-<h1 id="version_store_write_lock_for_persisting_updated_back-references_4">Version store <em>write lock</em>, for persisting updated back-references</h1>
+<h1 id="version-store-write-lock-for-persisting-updated-back-references_4">Version store <em>write lock</em>, for persisting updated back-references</h1>
</li>
</ol>
<p>The nested locks above are discussed in the section on the save operation.</p>
<p><a name="Concurrencycontrol-Transactioncommit"></a></p>
-<h3 id="transaction_commit">Transaction commit</h3>
+<h3 id="transaction-commit">Transaction commit</h3>
<p>!deadlock.jpg|align=right! As discussed in the architecture section above,
a transaction context overrides all the other write operations in favor of
the two-phase commit driven by the transaction manager. The Jackrabbit part
@@ -372,10 +379,11 @@ of a potentially distributed transaction
XASessionImpl class that causes the following locking behavior:</p>
<ol>
<li>Versioning <em>write lock</em>, for the entire commit</li>
-<li>histories<h1 id="version_store_write_lock_for_persisting_modified_version">Version store <em>write lock</em>, for persisting modified version</h1>
-</li>
<li>
-<h2 id="workspace_write_lock_for_persisting_modified_content">Workspace <em>write lock</em>, for persisting modified content</h2>
+<h1 id="version-store-write-lock-for-persisting-modified-version">Version store <em>write lock</em>, for persisting modified version</h1>
+histories</li>
+<li>
+<h2 id="workspace-write-lock-for-persisting-modified-content">Workspace <em>write lock</em>, for persisting modified content</h2>
</li>
</ol>
<p>The curious ordering of the locks is caused by the way the prepare and
@@ -404,7 +412,7 @@ that this restriction is workspace-speci
be written to transactionally even if another workspace is concurrently
written to non-transactionally.</p>
<p><a name="Concurrencycontrol-Summaryandfuturework"></a></p>
-<h2 id="summary_and_future_work">Summary and future work</h2>
+<h2 id="summary-and-future-work">Summary and future work</h2>
<p>This review shows that while the internal locking behaviour in Jackrabbit
is still far from simple, there aren't any major deadlock scenarios
remaining. The two issues identified in the review can be easily avoided by
Modified: websites/staging/jackrabbit/trunk/content/continuous-integration.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/continuous-integration.html (original)
+++ websites/staging/jackrabbit/trunk/content/continuous-integration.html Mon Dec 31 12:22:48 2012
@@ -32,7 +32,7 @@ page also contains instructions on how t
of the [Jackrabbit Team]
and want to modify the continuous integration settings.</p>
<p><a name="ContinuousIntegration-Buildtargetsandschedule"></a></p>
-<h2 id="build_targets_and_schedule">Build targets and schedule</h2>
+<h2 id="build-targets-and-schedule">Build targets and schedule</h2>
<p>See the <a href="http://hudson.zones.apache.org/hudson/view/Jackrabbit/">Jackrabbit page</a>
on the Hudson server for the list of configured Jackrabbit builds and
their current status.</p>
Modified: websites/staging/jackrabbit/trunk/content/creating-releases.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/creating-releases.html (original)
+++ websites/staging/jackrabbit/trunk/content/creating-releases.html Mon Dec 31 12:22:48 2012
@@ -28,7 +28,7 @@
documents the current release process and needs to be updated as we move
forward.</p>
<p><a name="CreatingReleases-Releaseplanning"></a></p>
-<h2 id="release_planning">Release planning</h2>
+<h2 id="release-planning">Release planning</h2>
<p>Jackrabbit releases are created based on user demand and the availability
of fixes and other requested changes. Any committer can declare their plan
to cut a release by sending a "Apache Jackrabbit x.y.z release plan"
@@ -39,7 +39,7 @@ release schedule. It's OK to revise the
asking for a new release to be made. Including the list of specific fixes
you need and a short rationale of why you need the release.</p>
<p><a name="CreatingReleases-Prerequisitesforreleasemanagers"></a></p>
-<h2 id="prerequisites_for_release_managers">Prerequisites for release managers</h2>
+<h2 id="prerequisites-for-release-managers">Prerequisites for release managers</h2>
<p>You need to be a Jackrabbit committer to prepare and perform a release, but
anyone is welcome to help test the release candidates and comment on the
release plans.</p>
@@ -49,7 +49,7 @@ file. See Appendix A at the end of this
deploying artifacts to the Nexus server at https://repository.apache.org/.
See Appendix B for the required settings.</p>
<p><a name="CreatingReleases-Releasemanagementtasks"></a></p>
-<h2 id="release_management_tasks">Release management tasks</h2>
+<h2 id="release-management-tasks">Release management tasks</h2>
<ol>
<li>Make sure that an appropriate version for the release is entered in Jira
and that all the related issues have been resolved.</li>
@@ -75,7 +75,7 @@ been synced.</li>
<li>Mark the version as released in Jira and close all related issues.</li>
</ol>
<p><a name="CreatingReleases-Stepstobuildthereleaseartifacts"></a></p>
-<h2 id="steps_to_build_the_release_artifacts">Steps to build the release artifacts</h2>
+<h2 id="steps-to-build-the-release-artifacts">Steps to build the release artifacts</h2>
<p>The release is built using the Maven release plugin. See the <a href="http://maven.apache.org/developers/release/releasing.html">Releasing a Maven project</a>
guide for more details.</p>
<ol>
@@ -87,7 +87,7 @@ non-Maven release artifacts are automati
directory on people.apache.org.</li>
</ol>
<p><a name="CreatingReleases-RelatedLinks"></a></p>
-<h2 id="related_links">Related Links</h2>
+<h2 id="related-links">Related Links</h2>
<ul>
<li>http://www.apache.org/dev/release.html</li>
<li>http://www.apache.org/dev/release-signing.html</li>
@@ -95,7 +95,7 @@ directory on people.apache.org.</li>
<li>http://www.apache.org/dev/repository-faq.html</li>
</ul>
<p><a name="CreatingReleases-AppendixA:CreateandaddyourkeytotheJackrabbitKEYSfile"></a></p>
-<h2 id="appendix_a_create_and_add_your_key_to_the_jackrabbit_keys_file">Appendix A: Create and add your key to the Jackrabbit KEYS file</h2>
+<h2 id="appendix-a-create-and-add-your-key-to-the-jackrabbit-keys-file">Appendix A: Create and add your key to the Jackrabbit KEYS file</h2>
<p>Follow these instructions to generate your code signing key and to add it
to the Jackrabbit KEYS file.</p>
<ol>
@@ -108,9 +108,9 @@ https://svn.apache.org/repos/asf/jackrab
first checkout the dist directory:
{code:none}
svn checkout https://svn.apache.org/repos/asf/jackrabbit/dist</p>
-<h1 id="see_the_beginning_of_the_keys_file_for_instructions_on_how_to_append_your">See the beginning of the KEYS file for instructions on how to append your</h1>
+<h1 id="see-the-beginning-of-the-keys-file-for-instructions-on-how-to-append-your">See the beginning of the KEYS file for instructions on how to append your</h1>
<p>key to the file.</p>
-<h1 id="once_youve_committed_the_changes_update_the_keys_file_on">Once you've committed the changes, update the KEYS file on</h1>
+<h1 id="once-youve-committed-the-changes-update-the-keys-file-on">Once you've committed the changes, update the KEYS file on</h1>
<p>{{people.apache.org}}:
{code:none}
umask 002; svn update /www/www.apache.org/dist/jackrabbit</p>
@@ -124,7 +124,7 @@ http://www.apache.org/dist/jackrabbit/KE
. Once other people have signed your key, you can update the KEYS file with
the signatures you've received.</p>
<p><a name="CreatingReleases-AppendixB:Mavensettings"></a></p>
-<h2 id="appendix_b_maven_settings">Appendix B: Maven settings</h2>
+<h2 id="appendix-b-maven-settings">Appendix B: Maven settings</h2>
<div class="codehilite"><pre><span class="nt"><settings></span>
...
<span class="nt"><servers></span>
Modified: websites/staging/jackrabbit/trunk/content/deployment-models.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/deployment-models.html (original)
+++ websites/staging/jackrabbit/trunk/content/deployment-models.html Mon Dec 31 12:22:48 2012
@@ -39,7 +39,7 @@ different deployment models:</p>
<li>Model 3: <a href="repository-server-howto.html">Repository Server HOWTO</a></li>
</ul>
<p><a name="DeploymentModels-Model1:The(Web-)ApplicationBundle"></a></p>
-<h2 id="model_1_the_web-_application_bundle">Model 1: The (Web-) Application Bundle</h2>
+<h2 id="model-1-the-web-application-bundle">Model 1: The (Web-) Application Bundle</h2>
<p>For many applications, usually applications that run in a closed context
without interacting with other applications or data sources, it might be
desirable to bundle a content repository with the application itself.</p>
@@ -70,7 +70,7 @@ applications.</p>
<p>This deployment model of course also works for any stand-alone application
and not just for web applications.</p>
<p><a name="DeploymentModels-Model2:SharedJ2EEResource"></a></p>
-<h2 id="model_2_shared_j2ee_resource">Model 2: Shared J2EE Resource</h2>
+<h2 id="model-2-shared-j2ee-resource">Model 2: Shared J2EE Resource</h2>
<p>A second way to deploy a repository is to make it visible as a resource to
all the web applications that are running inside a Servlet Container by
registering the Repository as a Resource Adapter to the Application Server.</p>
@@ -84,7 +84,7 @@ visible to all the applications to conne
Application Server and could use the application servers single sign-on
mechanisms that are provided as part of the J2EE framework.</p>
<p><a name="DeploymentModels-Model3:TheRepositoryServer"></a></p>
-<h2 id="model_3_the_repository_server">Model 3: The Repository Server</h2>
+<h2 id="model-3-the-repository-server">Model 3: The Repository Server</h2>
<p>In enterprise environments the client/server deployment model is widely
used for relational databases. While with relational databases this is
probably the only deployment model that is supported by most RDBMS vendors
Modified: websites/staging/jackrabbit/trunk/content/downloads.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/downloads.html (original)
+++ websites/staging/jackrabbit/trunk/content/downloads.html Mon Dec 31 12:22:48 2012
@@ -42,7 +42,7 @@ contain external code with licenses that
. See the <em>LICENSE.txt</em> file contained in each release artifact for
applicable licenses.</p>
<p><a name="Downloads-{anchor:v23}ApacheJackrabbit2.3.6"></a></p>
-<h2 id="anchorv23apache_jackrabbit_236">{anchor:v23}Apache Jackrabbit 2.3.6</h2>
+<h2 id="anchorv23apache-jackrabbit-236">{anchor:v23}Apache Jackrabbit 2.3.6</h2>
<p>Apache Jackrabbit 2.3 is an unstable series of releases cut directly from
Jackrabbit trunk, with a focus on new features and other improvements. For
production use we recommend the <a href="#v22.html">latest stable 2.2 release</a>
@@ -80,7 +80,7 @@ production use we recommend the <a href=
</li>
</ul>
<p><a name="Downloads-{anchor:v22}ApacheJackrabbit2.2.10"></a></p>
-<h2 id="anchorv22apache_jackrabbit_2210">{anchor:v22}Apache Jackrabbit 2.2.10</h2>
+<h2 id="anchorv22apache-jackrabbit-2210">{anchor:v22}Apache Jackrabbit 2.2.10</h2>
<p>Apache Jackrabbit 2.2.10 is patch release that contains fixes and
improvements over previous 2.2.x releases. This release is fully compatible
with earlier 2.x.x releases.</p>
@@ -117,7 +117,7 @@ with earlier 2.x.x releases.</p>
</li>
</ul>
<p><a name="Downloads-{anchor:v21}ApacheJackrabbit2.1.6"></a></p>
-<h2 id="anchorv21apache_jackrabbit_216">{anchor:v21}Apache Jackrabbit 2.1.6</h2>
+<h2 id="anchorv21apache-jackrabbit-216">{anchor:v21}Apache Jackrabbit 2.1.6</h2>
<p>Apache Jackrabbit 2.1.6 is a bug fix release that fixes issues reported
against previous releases. This release is fully compatible with the
earlier 2.1.x releases.</p>
@@ -154,7 +154,7 @@ earlier 2.1.x releases.</p>
</li>
</ul>
<p><a name="Downloads-{anchor:v20}ApacheJackrabbit2.0.5"></a></p>
-<h2 id="anchorv20apache_jackrabbit_205">{anchor:v20}Apache Jackrabbit 2.0.5</h2>
+<h2 id="anchorv20apache-jackrabbit-205">{anchor:v20}Apache Jackrabbit 2.0.5</h2>
<p>Apache Jackrabbit 2.0.5 is a bug fix release that fixes issues reported
against previous releases. This release is fully compatible with the
earlier 2.0.x releases.</p>
@@ -191,7 +191,7 @@ earlier 2.0.x releases.</p>
</li>
</ul>
<p><a name="Downloads-{anchor:v16}ApacheJackrabbit1.6.5"></a></p>
-<h2 id="anchorv16apache_jackrabbit_165">{anchor:v16}Apache Jackrabbit 1.6.5</h2>
+<h2 id="anchorv16apache-jackrabbit-165">{anchor:v16}Apache Jackrabbit 1.6.5</h2>
<p>Apache Jackrabbit 1.6.5 is a bug fix release that fixes issues reported
against previous releases. This release is backwards-compatible with the
earlier 1.6.x releases, but contains a change in persistence format that
@@ -234,12 +234,12 @@ recent Jackrabbit 2.x versions.{note}</p
</li>
</ul>
<p><a name="Downloads-{anchor:archive}ReleaseArchive"></a></p>
-<h2 id="anchorarchive_release_archive">{anchor:archive} Release Archive</h2>
+<h2 id="anchorarchive-release-archive">{anchor:archive} Release Archive</h2>
<p>Only current recommended releases are available on the main distribution
site and its mirrors. Older releases are available from the <a href="http://archive.apache.org/dist/jackrabbit/">archive download site</a>
.</p>
<p><a name="Downloads-{anchor:verify}Verify"></a></p>
-<h2 id="anchorverify_verify">{anchor:verify} Verify</h2>
+<h2 id="anchorverify-verify">{anchor:verify} Verify</h2>
<p>It is essential that you verify the integrity of the downloaded files using
the PGP signatures or MD5 and SHA1 checksums. Please read <a href="http://httpd.apache.org/dev/verification.html">Verifying Apache HTTP Server Releases</a>
for more information on why you should verify our releases.</p>
Modified: websites/staging/jackrabbit/trunk/content/embedded-repository.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/embedded-repository.html (original)
+++ websites/staging/jackrabbit/trunk/content/embedded-repository.html Mon Dec 31 12:22:48 2012
@@ -35,7 +35,7 @@ the standard JCR API to access and manag
<p>This page describes how to embed Jackrabbit in your application.</p>
<p>{toc:minLevel=2}</p>
<p><a name="EmbeddedRepository-Jackrabbitdependencies"></a></p>
-<h2 id="jackrabbit_dependencies">Jackrabbit dependencies</h2>
+<h2 id="jackrabbit-dependencies">Jackrabbit dependencies</h2>
<p>To use Jackrabbit in embedded mode you need to make sure that the JCR API
and all required Jackrabbit libraries are included in your classpath. If
you use <a href="http://maven.apache.org/">Maven 2</a>
@@ -123,7 +123,7 @@ with some other dependencies of our appl
to consider switching to a deployment model that uses separate class
loaders for your application and the Jackrabbit content repository.</p>
<p><a name="EmbeddedRepository-Startingtherepository"></a></p>
-<h2 id="starting_the_repository">Starting the repository</h2>
+<h2 id="starting-the-repository">Starting the repository</h2>
<p>Once you have your classpath configured you can start the repository with
the following piece of code.</p>
<p>{code:java}
@@ -156,7 +156,7 @@ Repository repository = RepositoryImpl.c
<p>This will forcibly close all open sessions and make sure that all
repository content is safely stored on disk.</p>
<p><a name="EmbeddedRepository-TheTransientRepositoryclass"></a></p>
-<h2 id="the_transientrepository_class">The TransientRepository class</h2>
+<h2 id="the-transientrepository-class">The TransientRepository class</h2>
<p>Jackrabbit comes with a <a href="http://jackrabbit.apache.org/api/1.5/org/apache/jackrabbit/core/TransientRepository.html">TransientRepository</a>
class that makes it even easier to get started with a content repository.
This class is especially handy for quick prototyping, but using the
@@ -226,7 +226,7 @@ collected before a remote client connect
<p>See the <a href="repository-server.html">Repository Server</a>
page for instructions on how to access such a remote repository.</p>
<p><a name="EmbeddedRepository-Embeddedrepositoryinawebapplication"></a></p>
-<h2 id="embedded_repository_in_a_web_application">Embedded repository in a web application</h2>
+<h2 id="embedded-repository-in-a-web-application">Embedded repository in a web application</h2>
<p>If your want to embed Jackrabbit in a web application, you can use the
classes in the jackrabbit-jcr-servlet library to avoid the above startup
and shutdown code. To do this, you first need to include
Modified: websites/staging/jackrabbit/trunk/content/first-hops-with-apache-jackrabbit.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/first-hops-with-apache-jackrabbit.html (original)
+++ websites/staging/jackrabbit/trunk/content/first-hops-with-apache-jackrabbit.html Mon Dec 31 12:22:48 2012
@@ -30,7 +30,7 @@ API. Once you have finished hopping thro
all set to continue on your own with the official JCR specification and the
documentation on this site.</p>
<p><a name="FirstHopswithApacheJackrabbit-Hop0:Gettingstarted"></a></p>
-<h2 id="hop_0_getting_started">Hop 0: Getting started</h2>
+<h2 id="hop-0-getting-started">Hop 0: Getting started</h2>
<p>Before you can start using Jackrabbit, you need to have it installed on
your computer. You can do this either by downloading a binary release and
all the required dependencies or by building the Jackrabbit sources.</p>
@@ -61,40 +61,37 @@ to compile and run the example classes.
following log4j.properties file to the current directory to avoid warnings
of missing log configuration. If you want to see the internal Jackrabbit
log, just change the log level to INFO or even DEBUG.</p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>log4j.properties</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>log4j.properties</B></DIV><DIV class="codeContent panelContent">
log4j.logger.org.apache.jackrabbit=WARN,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
-
-{tip}
+ log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout</p>
+<p>{tip}
If you have build Jackrabbit from sources with Maven 1.x, you can get all
the runtime dependencies (and some extra libraries) copied to target/lib by
running maven copy-deps in the Jackrabbit project directory.
-{tip}
-
+{tip}</p>
<p>{tip}
You probably have an error in your classpath if you get a
ClassNotFoundException message when trying to compile or run the examples
below.
{tip}</p>
<p><a name="FirstHopswithApacheJackrabbit-Hop1:LoggingintoJackrabbit"></a></p>
-<h2 id="hop_1_logging_in_to_jackrabbit">Hop 1: Logging in to Jackrabbit</h2>
+<h2 id="hop-1-logging-in-to-jackrabbit">Hop 1: Logging in to Jackrabbit</h2>
<p>Once you are done with the setup tasks, we can start doing some real work.
As a warm-up we'll create a Jackrabbit content repository and start a login
session for accessing it. The full example application that does this is
shown below, with line-by-line explanations following shortly after.</p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>FirstHop.java</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>FirstHop.java</B></DIV><DIV class="codeContent panelContent">
import javax.jcr.Repository;
import javax.jcr.Session;
- import org.apache.jackrabbit.core.TransientRepository;
+ import org.apache.jackrabbit.core.TransientRepository;</p>
+<div class="codehilite"><pre><span class="o">/**</span>
+ <span class="o">*</span> <span class="n">First</span> <span class="n">hop</span> <span class="n">example</span><span class="o">.</span> <span class="n">Logs</span> <span class="n">in</span> <span class="n">to</span> <span class="n">a</span> <span class="n">content</span> <span class="n">repository</span> <span class="ow">and</span> <span class="n">prints</span> <span class="n">a</span>
+ <span class="o">*</span> <span class="n">status</span> <span class="n">message</span><span class="o">.</span>
+ <span class="o">*/</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">FirstHop</span> <span class="p">{</span>
-/**
- * First hop example. Logs in to a content repository and prints a
- * status message.
- */
- public class FirstHop {
-
-<div class="codehilite"><pre> <span class="o">/**</span>
+ <span class="o">/**</span>
<span class="o">*</span> <span class="n">The</span> <span class="n">main</span> <span class="n">entry</span> <span class="n">point</span> <span class="n">of</span> <span class="n">the</span> <span class="n">example</span> <span class="n">application</span><span class="o">.</span>
<span class="o">*</span>
<span class="o">*</span> <span class="nv">@param</span> <span class="n">args</span> <span class="n">command</span> <span class="n">line</span> <span class="n">arguments</span> <span class="p">(</span><span class="n">ignored</span><span class="p">)</span>
@@ -257,7 +254,7 @@ Repository interface for a list of the s
REP_NAME_DESC descriptor contains the name of the repository
implementation, in this case "Jackrabbit".</p>
<p><a name="FirstHopswithApacheJackrabbit-Hop2:Workingwithcontent"></a></p>
-<h2 id="hop_2_working_with_content">Hop 2: Working with content</h2>
+<h2 id="hop-2-working-with-content">Hop 2: Working with content</h2>
<p>The main function of a content repository is allow applications to store
and retrieve content. The content in a JCR content repository consists of
structured or unstructured data modeled as a hierarchy of nodes with
@@ -265,19 +262,18 @@ properties that contain the actual data.
<p>The following example application first stores some content to the
initially empty content repository, then retrieves the stored content and
outputs it, and finally removes the stored content.</p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>SecondHop.java</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>SecondHop.java</B></DIV><DIV class="codeContent panelContent">
import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.jcr.Node;
- import org.apache.jackrabbit.core.TransientRepository;
-
-/**
- * Second hop example. Stores, retrieves, and removes example content.
- */
- public class SecondHop {
+ import org.apache.jackrabbit.core.TransientRepository;</p>
+<div class="codehilite"><pre><span class="o">/**</span>
+ <span class="o">*</span> <span class="n">Second</span> <span class="n">hop</span> <span class="n">example</span><span class="o">.</span> <span class="n">Stores</span><span class="p">,</span> <span class="n">retrieves</span><span class="p">,</span> <span class="ow">and</span> <span class="n">removes</span> <span class="n">example</span> <span class="n">content</span><span class="o">.</span>
+ <span class="o">*/</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">SecondHop</span> <span class="p">{</span>
-<div class="codehilite"><pre> <span class="o">/**</span>
+ <span class="o">/**</span>
<span class="o">*</span> <span class="n">The</span> <span class="n">main</span> <span class="n">entry</span> <span class="n">point</span> <span class="n">of</span> <span class="n">the</span> <span class="n">example</span> <span class="n">application</span><span class="o">.</span>
<span class="o">*</span>
<span class="o">*</span> <span class="nv">@param</span> <span class="n">args</span> <span class="n">command</span> <span class="n">line</span> <span class="n">arguments</span> <span class="p">(</span><span class="n">ignored</span><span class="p">)</span>
@@ -505,13 +501,13 @@ topmost "hello" node to get rid of all t
be explicitly saved for the content to be removed from the persistent
storage.</p>
<p><a name="FirstHopswithApacheJackrabbit-Hop3:Importingcontent"></a></p>
-<h2 id="hop_3_importing_content">Hop 3: Importing content</h2>
+<h2 id="hop-3-importing-content">Hop 3: Importing content</h2>
<p>TODO: Update to match the style of previous hops.</p>
<p>To add content a bit more efficiently, you may want to try JCR's import
facilities, such as Session.importXML. The following XML document by
Elliotte Rusty Harold provides an interesting example that demonstrates a
repository's namespace capabilities:</p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>test.xml</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>test.xml</B></DIV><DIV class="codeContent panelContent">
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:mathml="http://www.w3.org/1998/Math/MathML">
<xhtml:head><xhtml:title>Three Namespaces</xhtml:title></xhtml:head>
@@ -553,33 +549,31 @@ repository's namespace capabilities:</p>
<mathml:power/>
<mathml:ci> b </mathml:ci>
<mathml:cn> 2 </mathml:cn>
- </mathml:apply>
+ </mathml:apply> <br />
</mathml:apply>
</mathml:apply>
</mathml:apply>
</mathml:math>
<xhtml:hr/>
- <xhtml:p>Last Modified January 10, 2002</xhtml:p>
+ <xhtml:p>Last Modified January 10, 2002</xhtml:p> <br />
</xhtml:body>
- </xhtml:html>
-
+ </xhtml:html></p>
<p>The third example application shown below will import the XML file called
test.xml from the current directory into a new content repository node
called importxml. Once the XML content is imported, the application
recursively dumps the contents of the entire workspace using the simple
dump() method.</p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>ThirdHop.java</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>ThirdHop.java</B></DIV><DIV class="codeContent panelContent">
import javax.jcr.*;
import org.apache.jackrabbit.core.TransientRepository;
- import java.io.FileInputStream;
-
-/**
- * Third Jackrabbit example application. Imports an example XML file
- * and outputs the contents of the entire workspace.
- */
- public class ThirdHop {
+ import java.io.FileInputStream;</p>
+<div class="codehilite"><pre><span class="o">/**</span>
+ <span class="o">*</span> <span class="n">Third</span> <span class="n">Jackrabbit</span> <span class="n">example</span> <span class="n">application</span><span class="o">.</span> <span class="n">Imports</span> <span class="n">an</span> <span class="n">example</span> <span class="n">XML</span> <span class="n">file</span>
+ <span class="o">*</span> <span class="ow">and</span> <span class="n">outputs</span> <span class="n">the</span> <span class="n">contents</span> <span class="n">of</span> <span class="n">the</span> <span class="n">entire</span> <span class="n">workspace</span><span class="o">.</span>
+ <span class="o">*/</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">ThirdHop</span> <span class="p">{</span>
-<div class="codehilite"><pre> <span class="sr">/** Runs the ThirdHop example. */</span>
+ <span class="sr">/** Runs the ThirdHop example. */</span>
<span class="n">public</span> <span class="n">static</span> <span class="n">void</span> <span class="n">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span>
</pre></div>
Modified: websites/staging/jackrabbit/trunk/content/first-hops.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/first-hops.html (original)
+++ websites/staging/jackrabbit/trunk/content/first-hops.html Mon Dec 31 12:22:48 2012
@@ -30,7 +30,7 @@ have finished hopping through this docum
continue on your own with the official JCR specification and the
documentation on this site. </p>
<p><a name="FirstHops-Hop0:Gettingstarted"></a></p>
-<h2 id="hop_0_getting_started">Hop 0: Getting started</h2>
+<h2 id="hop-0-getting-started">Hop 0: Getting started</h2>
<p>The easiest way to get started with Jackrabbit is to <a href="downloads.html">download</a>
the runnable [Standalone Server]
jar. In addition to running it, you can also put it in your classpath to
@@ -69,23 +69,22 @@ You probably have an error in your class
examples below.
{note} </p>
<p><a name="FirstHops-Hop1:LoggingintoJackrabbit"></a></p>
-<h2 id="hop_1_logging_in_to_jackrabbit">Hop 1: Logging in to Jackrabbit</h2>
+<h2 id="hop-1-logging-in-to-jackrabbit">Hop 1: Logging in to Jackrabbit</h2>
<p>So let's get started. As a warm-up we'll create a Jackrabbit content
repository and start a login session for accessing it. The full example
application that does this is shown below, with line-by-line explanations
following shortly after. </p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>FirstHop.java</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>FirstHop.java</B></DIV><DIV class="codeContent panelContent">
import javax.jcr.Repository;
import javax.jcr.Session;
- import org.apache.jackrabbit.core.TransientRepository;
-
-/**
- * First hop example. Logs in to a content repository and prints a
- * status message.
- */
- public class FirstHop {
-
+ import org.apache.jackrabbit.core.TransientRepository; </p>
<div class="codehilite"><pre><span class="o">/**</span>
+<span class="o">*</span> <span class="n">First</span> <span class="n">hop</span> <span class="n">example</span><span class="o">.</span> <span class="n">Logs</span> <span class="n">in</span> <span class="n">to</span> <span class="n">a</span> <span class="n">content</span> <span class="n">repository</span> <span class="ow">and</span> <span class="n">prints</span> <span class="n">a</span>
+<span class="o">*</span> <span class="n">status</span> <span class="n">message</span><span class="o">.</span>
+<span class="o">*/</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">FirstHop</span> <span class="p">{</span>
+
+<span class="o">/**</span>
<span class="o">*</span> <span class="n">The</span> <span class="n">main</span> <span class="n">entry</span> <span class="n">point</span> <span class="n">of</span> <span class="n">the</span> <span class="n">example</span> <span class="n">application</span><span class="o">.</span>
<span class="o">*</span>
<span class="o">*</span> <span class="nv">@param</span> <span class="n">args</span> <span class="n">command</span> <span class="n">line</span> <span class="n">arguments</span> <span class="p">(</span><span class="n">ignored</span><span class="p">)</span>
@@ -225,7 +224,7 @@ implementation level and the supported o
REP_NAME_DESC descriptor contains the name of the repository
implementation, in this case "Jackrabbit". </p>
<p><a name="FirstHops-Hop2:Workingwithcontent"></a></p>
-<h2 id="hop_2_working_with_content">Hop 2: Working with content</h2>
+<h2 id="hop-2-working-with-content">Hop 2: Working with content</h2>
<p>The main function of a content repository is allow applications to store
and retrieve content. The content in a JCR content repository consists of
structured or unstructured data modeled as a hierarchy of nodes with
@@ -233,19 +232,18 @@ properties that contain the actual data.
<p>The following example application first stores some content to the
initially empty content repository, then retrieves the stored content and
outputs it, and finally removes the stored content. </p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>SecondHop.java</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>SecondHop.java</B></DIV><DIV class="codeContent panelContent">
import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.jcr.Node;
- import org.apache.jackrabbit.core.TransientRepository;
-
-/**
- * Second hop example. Stores, retrieves, and removes example content.
- */
- public class SecondHop {
-
+ import org.apache.jackrabbit.core.TransientRepository; </p>
<div class="codehilite"><pre><span class="o">/**</span>
+<span class="o">*</span> <span class="n">Second</span> <span class="n">hop</span> <span class="n">example</span><span class="o">.</span> <span class="n">Stores</span><span class="p">,</span> <span class="n">retrieves</span><span class="p">,</span> <span class="ow">and</span> <span class="n">removes</span> <span class="n">example</span> <span class="n">content</span><span class="o">.</span>
+<span class="o">*/</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">SecondHop</span> <span class="p">{</span>
+
+<span class="o">/**</span>
<span class="o">*</span> <span class="n">The</span> <span class="n">main</span> <span class="n">entry</span> <span class="n">point</span> <span class="n">of</span> <span class="n">the</span> <span class="n">example</span> <span class="n">application</span><span class="o">.</span>
<span class="o">*</span>
<span class="o">*</span> <span class="nv">@param</span> <span class="n">args</span> <span class="n">command</span> <span class="n">line</span> <span class="n">arguments</span> <span class="p">(</span><span class="n">ignored</span><span class="p">)</span>
@@ -433,13 +431,13 @@ topmost "hello" node to get rid of all t
added and changed content. Like before, the transient changes need to be
explicitly saved for the content to be removed from the persistent storage. </p>
<p><a name="FirstHops-Hop3:Importingcontent"></a></p>
-<h2 id="hop_3_importing_content">Hop 3: Importing content</h2>
+<h2 id="hop-3-importing-content">Hop 3: Importing content</h2>
<p>TODO: Update to match the style of previous hops. </p>
<p>To add content a bit more efficiently, you may want to try JCR's import
facilities, such as Session.importXML. The following XML document by
Elliotte Rusty Harold provides an interesting example that demonstrates a
repository's namespace capabilities: </p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>test.xml</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>test.xml</B></DIV><DIV class="codeContent panelContent">
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:mathml="http://www.w3.org/1998/Math/MathML">
<xhtml:head><xhtml:title>Three Namespaces</xhtml:title></xhtml:head>
@@ -489,25 +487,23 @@ repository's namespace capabilities: </p
<xhtml:hr/>
<xhtml:p>Last Modified January 10, 2002</xhtml:p>
</xhtml:body>
- </xhtml:html>
-
+ </xhtml:html> </p>
<p>The third example application shown below will import the XML file called
test.xml from the current directory into a new content repository node
called importxml. Once the XML content is imported, the application
recursively dumps the contents of the entire workspace using the simple
dump() method. </p>
-<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>ThirdHop.java</B></DIV><DIV class="codeContent panelContent">
+<p><DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV class="codeHeader panelHeader" style="border-bottom-width: 1px;border-bottom-style: solid;"><B>ThirdHop.java</B></DIV><DIV class="codeContent panelContent">
import javax.jcr.*;
import org.apache.jackrabbit.core.TransientRepository;
- import java.io.FileInputStream;
-
-/**
- * Third Jackrabbit example application. Imports an example XML file
- * and outputs the contents of the entire workspace.
- */
- public class ThirdHop {
+ import java.io.FileInputStream; </p>
+<div class="codehilite"><pre><span class="o">/**</span>
+<span class="o">*</span> <span class="n">Third</span> <span class="n">Jackrabbit</span> <span class="n">example</span> <span class="n">application</span><span class="o">.</span> <span class="n">Imports</span> <span class="n">an</span> <span class="n">example</span> <span class="n">XML</span> <span class="n">file</span>
+<span class="o">*</span> <span class="ow">and</span> <span class="n">outputs</span> <span class="n">the</span> <span class="n">contents</span> <span class="n">of</span> <span class="n">the</span> <span class="n">entire</span> <span class="n">workspace</span><span class="o">.</span>
+<span class="o">*/</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">ThirdHop</span> <span class="p">{</span>
-<div class="codehilite"><pre><span class="o">/**</span>
+<span class="o">/**</span>
<span class="o">*</span> <span class="n">The</span> <span class="n">main</span> <span class="n">entry</span> <span class="n">point</span> <span class="n">of</span> <span class="n">the</span> <span class="n">example</span> <span class="n">application</span><span class="o">.</span>
<span class="o">*</span>
<span class="o">*</span> <span class="nv">@param</span> <span class="n">args</span> <span class="n">command</span> <span class="n">line</span> <span class="n">arguments</span> <span class="p">(</span><span class="n">ignored</span><span class="p">)</span>
Modified: websites/staging/jackrabbit/trunk/content/frequently-asked-questions.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/frequently-asked-questions.html (original)
+++ websites/staging/jackrabbit/trunk/content/frequently-asked-questions.html Mon Dec 31 12:22:48 2012
@@ -27,12 +27,12 @@
<p><a name="FrequentlyAskedQuestions-General"></a></p>
<h2 id="general">General</h2>
<p><a name="FrequentlyAskedQuestions-WhatisJCR?"></a></p>
-<h3 id="what_is_jcr">What is JCR?</h3>
+<h3 id="what-is-jcr">What is JCR?</h3>
<p>JCR is the acronym of the Content Repository for Java technology API, a standard interface for accessing content repositories. JCR version 1.0 was specified in Java Specification Request 170 (<a href="http://jcp.org/en/jsr/detail?id=170">JSR 170</a>
), and version 2.0 is currently under work in [JSR 283|http://jcp.org/en/jsr/detail?id=283]
.</p>
<p><a name="FrequentlyAskedQuestions-Whatisacontentrepository?"></a></p>
-<h3 id="what_is_a_content_repository">What is a content repository?</h3>
+<h3 id="what-is-a-content-repository">What is a content repository?</h3>
<p>A content repository is an information management system that provides
various services for storing, accessing, and managing content. In addition
to a hierarchically structured storage, common services of a content
@@ -41,7 +41,7 @@ monitoring. A content repository is not
although most existing CMSs contain a custom content repository
implementation, often based on the file system or a relational database.</p>
<p><a name="FrequentlyAskedQuestions-WhatisApacheJackrabbit?"></a></p>
-<h3 id="what_is_apache_jackrabbit">What is Apache Jackrabbit?</h3>
+<h3 id="what-is-apache-jackrabbit">What is Apache Jackrabbit?</h3>
<p>Apache Jackrabbit is a fully featured content repository that implements
the entire JCR API. The Jackrabbit project was started when Day Software,
the JSR-170 specification lead, licensed their initial implementation of
@@ -49,21 +49,21 @@ the JCR reference implementation. The Ja
official reference implementation (RI) and technology compatibility kit
(TCK) released along with the final JCR API.</p>
<p><a name="FrequentlyAskedQuestions-WhatdoIdoifIhaveaquestion?"></a></p>
-<h3 id="what_do_i_do_if_i_have_a_question">What do I do if I have a question?</h3>
+<h3 id="what-do-i-do-if-i-have-a-question">What do I do if I have a question?</h3>
<p>Please ask questions on the <a href="http://jackrabbit.apache.org/mailing-lists.html">Jackrabbit mailing lists</a>
. There is the users list for questions around using JCR and Jackrabbit and
the dev list for the development of Jackrabbit itself and for people
starting to extend Jackrabbit or other advanced topics.</p>
<p><a name="FrequentlyAskedQuestions-BuildingJackrabbit"></a></p>
-<h2 id="building_jackrabbit">Building Jackrabbit</h2>
+<h2 id="building-jackrabbit">Building Jackrabbit</h2>
<p><a name="FrequentlyAskedQuestions-HowdoIbuildtheApacheJackrabbitsources?"></a></p>
-<h3 id="how_do_i_build_the_apache_jackrabbit_sources">How do I build the Apache Jackrabbit sources?</h3>
+<h3 id="how-do-i-build-the-apache-jackrabbit-sources">How do I build the Apache Jackrabbit sources?</h3>
<p>See the <a href="building-jackrabbit.html">Building Jackrabbit</a>
page for detailed build instructions.</p>
<p><a name="FrequentlyAskedQuestions-UsingJackrabbit"></a></p>
-<h2 id="using_jackrabbit">Using Jackrabbit</h2>
+<h2 id="using-jackrabbit">Using Jackrabbit</h2>
<p><a name="FrequentlyAskedQuestions-HowdoIdoXwithJCR/Jackrabbit?"></a></p>
-<h3 id="how_do_i_do_x_with_jcrjackrabbit">How do I do X with JCR/Jackrabbit?</h3>
+<h3 id="how-do-i-do-x-with-jcrjackrabbit">How do I do X with JCR/Jackrabbit?</h3>
<p>See the JCR specification, the JCR API documentation, or the Examples page
on the Jackrabbit wiki for information on how to perform various operation
using the JCR API.</p>
@@ -71,13 +71,13 @@ using the JCR API.</p>
covered by the JCR API, see the Examples page on the wiki, the Jackrabbit
javadocs, or contact the Jackrabbit mailing list.</p>
<p><a name="FrequentlyAskedQuestions-HowdoIusetransactionswithJCR?"></a></p>
-<h3 id="how_do_i_use_transactions_with_jcr">How do I use transactions with JCR?</h3>
+<h3 id="how-do-i-use-transactions-with-jcr">How do I use transactions with JCR?</h3>
<p>See the mailing list announcement for a simple example on using the JTA
support in Jackrabbit. For a more complete explanation of the transaction
features, please see section 8.1 Transactions of the JCR
specification.</p>
<p><a name="FrequentlyAskedQuestions-HowdoIcreatenewworkspacesinJackrabbit?"></a></p>
-<h3 id="how_do_i_create_new_workspaces_in_jackrabbit">How do I create new workspaces in Jackrabbit?</h3>
+<h3 id="how-do-i-create-new-workspaces-in-jackrabbit">How do I create new workspaces in Jackrabbit?</h3>
<p>The JCR 2.0 API has two <a href="http://www.day.com/maven/jsr170/javadocs/jcr-2.0/javax/jcr/Workspace.html#createWorkspace(java.lang.String)">Workspace.createWorkspace()</a>
methods for that.</p>
<p>The JCR 1.0 API does not contain features for creating or managing
@@ -95,12 +95,12 @@ repository instance to access the new wo
JCR API and to cast the instance to the JackrabbitWorkspace interface. You
can then use the createWorkspace(String) method to create new workspaces.</p>
<p><a name="FrequentlyAskedQuestions-HowdoIdeleteaworkspaceinJackrabbit?"></a></p>
-<h3 id="how_do_i_delete_a_workspace_in_jackrabbit">How do I delete a workspace in Jackrabbit?</h3>
+<h3 id="how-do-i-delete-a-workspace-in-jackrabbit">How do I delete a workspace in Jackrabbit?</h3>
<p>There is currently no programmatic way to delete workspaces. You can delete
a workspace by manually removing the workspace directory when the
repository instance is not running.</p>
<p><a name="FrequentlyAskedQuestions-HowdoIdeployJackrabbitintoTomcat?"></a></p>
-<h3 id="how_do_i_deploy_jackrabbit_into_tomcat">How do I deploy Jackrabbit into Tomcat?</h3>
+<h3 id="how-do-i-deploy-jackrabbit-into-tomcat">How do I deploy Jackrabbit into Tomcat?</h3>
<ul>
<li>Download <a href="http://www.day.com/maven/javax.jcr/jars/jcr-1.0.jar">jcr-1.0.jar</a>
and put it into <em><tomcat-install-dir>/shared/lib</em>.</li>
@@ -110,7 +110,7 @@ repository instance is not running.</p>
<em>http://</em><em>localhost:8080/jackrabbit-webapp-<version>/</em></li>
</ul>
<p><a name="FrequentlyAskedQuestions-Accesscontrol"></a></p>
-<h2 id="access_control">Access control</h2>
+<h2 id="access-control">Access control</h2>
<p>h3. How do I use LDAP, Kerberos, or some other authentication mechanism <br />
with Jackrabbit?</p>
<p>Jackrabbit uses the Java Authentication and Authorization Service (JAAS)
@@ -119,16 +119,16 @@ LoginModule implementation (e.g. the Log
thecom.sum.security.auth.modulepackage) for authentication. See the JAAS
documentation for configuration instructions.</p>
<p><a name="FrequentlyAskedQuestions-HowdoImanagetheaccessrightsofauthenticatedusers?"></a></p>
-<h3 id="how_do_i_manage_the_access_rights_of_authenticated_users">How do I manage the access rights of authenticated users?</h3>
+<h3 id="how-do-i-manage-the-access-rights-of-authenticated-users">How do I manage the access rights of authenticated users?</h3>
<p>The current JackrabbitSimpleAccessManager class only supports three access
levels: anonymous, normal, and system. Anonymous users have read
access while normal and system users have full read-write access.
You need to implement a custom AccessManager class to get more fine-grained
access control.</p>
<p><a name="FrequentlyAskedQuestions-Persistencemanagers"></a></p>
-<h2 id="persistence_managers">Persistence managers</h2>
+<h2 id="persistence-managers">Persistence managers</h2>
<p><a name="FrequentlyAskedQuestions-Whatisapersistencemanager?"></a></p>
-<h3 id="what_is_a_persistence_manager">What is a persistence manager?</h3>
+<h3 id="what-is-a-persistence-manager">What is a persistence manager?</h3>
<p>A persistence manager (PM) is an internal Jackrabbit component
that handles the persistent storage of content nodes and
properties. Each workspace of a Jackrabbit content repository <br />
@@ -148,7 +148,7 @@ persistence manager classes that cover
needs. There are also a few contributed persistence managers that
give additional flexibility.</p>
<p><a name="FrequentlyAskedQuestions-WhatisaJackrabbitfilesystem?"></a></p>
-<h3 id="what_is_a_jackrabbit_file_system">What is a Jackrabbit file system?</h3>
+<h3 id="what-is-a-jackrabbit-file-system">What is a Jackrabbit file system?</h3>
<p>A Jackrabbbit file system (FS) is an internal component that <br />
implements standard file system operations on top of some underlying <br />
storage mechanism (a normal file system, a database, a webdav server, <br />
@@ -159,7 +159,7 @@ Jackrabbit both as subcomponents of the
for general storage needs (for example to store the full text
indexes).</p>
<p><a name="FrequentlyAskedQuestions-CanIuseapersistencemanagertoaccessanexistingdatasource?"></a></p>
-<h3 id="can_i_use_a_persistence_manager_to_access_an_existing_data_source">Can I use a persistence manager to access an existing data source?</h3>
+<h3 id="can-i-use-a-persistence-manager-to-access-an-existing-data-source">Can I use a persistence manager to access an existing data source?</h3>
<p>No. The persistence manager interface was never intended as being <br />
a general SPI that you could implement in order to integrate <br />
external data sources with proprietary formats (e.g. a customers <br />
@@ -168,7 +168,7 @@ leave room for future performance optimi
affect the rest of the implementation (e.g. by storing the raw
data in a b-tree based database instead of individual file).</p>
<p><a name="FrequentlyAskedQuestions-Howsmartshouldapersistencemanagerbe?"></a></p>
-<h3 id="how_smart_should_a_persistence_manager_be">How smart should a persistence manager be?</h3>
+<h3 id="how-smart-should-a-persistence-manager-be">How smart should a persistence manager be?</h3>
<p>A persistence manager should not be intelligent, i.e. it should
not interpret the content it is managing. The only thing it
should care about is to efficiently, consistently, and reliably
@@ -202,7 +202,7 @@ Examples:</p>
<p><a name="FrequentlyAskedQuestions-CanIusetheLucenefieldsyntaxinjcr:contains()?"></a></p>
-<h3 id="can_i_use_the_lucene_field_syntax_in_jcrcontains">Can I use the Lucene field syntax in jcr:contains()?</h3>
+<h3 id="can-i-use-the-lucene-field-syntax-in-jcrcontains">Can I use the Lucene field syntax in jcr:contains()?</h3>
<p>No, you cannot. Even though Jackrabbit uses a Lucene index, the fields for
JCR properties do not map 1:1 to Lucene fields. Instead you can use the
following:</p>
@@ -228,7 +228,7 @@ absolute XPath must either begin with //
match anything at all.
{quote}</p>
<p><a name="FrequentlyAskedQuestions-HowdoIforceaconsistencycheckonthesearchindex?"></a></p>
-<h3 id="how_do_i_force_a_consistency_check_on_the_search_index">How do I force a consistency check on the search index?</h3>
+<h3 id="how-do-i-force-a-consistency-check-on-the-search-index">How do I force a consistency check on the search index?</h3>
<p>Forcing a consistency check may be useful when you think the index is
inconsistent. You need to add two parameters to the SearchIndex section in
the workspace.xml configuration file:</p>
@@ -240,7 +240,7 @@ the workspace.xml configuration file:</p
<p>Then restart Jackrabbit and watch the log file for possible repair
messages. Don't forget to remove the parameters again when you are done.</p>
<p><a name="FrequentlyAskedQuestions-Whyisthesizeofmyqueryresult-1?"></a></p>
-<h3 id="why_is_the_size_of_my_query_result_-1">Why is the size of my query result -1?</h3>
+<h3 id="why-is-the-size-of-my-query-result-1">Why is the size of my query result -1?</h3>
<p>A JCR implementation may return -1 when the size is unknown. Starting with
2.0 Jackrabbit will return -1 for some query statements when there is
potential for a more optimized query execution. If you still want a size
Modified: websites/staging/jackrabbit/trunk/content/getting-started-with-apache-jackrabbit.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/getting-started-with-apache-jackrabbit.html (original)
+++ websites/staging/jackrabbit/trunk/content/getting-started-with-apache-jackrabbit.html Mon Dec 31 12:22:48 2012
@@ -49,19 +49,19 @@ mailing list, filing bug reports for any
documentation and code. See the How the ASF works page for background <br />
information on the Apache Software Foundation and the way we work.</p>
<p><a name="GettingStartedwithApacheJackrabbit-ContentRepositoryforJavaTechnologyAPI(JCR)"></a></p>
-<h2 id="content_repository_for_java_technology_api_jcr">Content Repository for Java Technology API (JCR)</h2>
+<h2 id="content-repository-for-java-technology-api-jcr">Content Repository for Java Technology API (JCR)</h2>
<p>Jackrabbit is a complete implementation of the JCR API, so the <br />
primary API for Jackrabbit application developers is to be found in
the JCR section of the Documentation.</p>
<p><a name="GettingStartedwithApacheJackrabbit-JackrabbitarchitectureandDeploymentModels"></a></p>
-<h2 id="jackrabbit_architecture_and_deployment_models">Jackrabbit architecture and Deployment Models</h2>
+<h2 id="jackrabbit-architecture-and-deployment-models">Jackrabbit architecture and Deployment Models</h2>
<p>Find out more about the Jackrabbit Architecture or learn more
about the Jackrabbit deployment Options be it as an embedded
content repository to be delivered with you are application, a
shared repository for example in a J2EE environment or a classical content
repository server setup.</p>
<p><a name="GettingStartedwithApacheJackrabbit-NodeTypes"></a></p>
-<h2 id="node_types">Node Types</h2>
+<h2 id="node-types">Node Types</h2>
<p>To learn about the content modeling system used in Jackrabbit, read the
section on node types.</p>
</div>
Modified: websites/staging/jackrabbit/trunk/content/how-to-map-associations-between-objects.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/how-to-map-associations-between-objects.html (original)
+++ websites/staging/jackrabbit/trunk/content/how-to-map-associations-between-objects.html Mon Dec 31 12:22:48 2012
@@ -32,7 +32,7 @@
some configuration issues, please review the tutorial "[A simple OCM
project with Maven & Eclipse]". </p>
<p><a name="Howtomapassociationsbetweenobjects-TheContentModel"></a></p>
-<h2 id="the_content_model">The Content Model</h2>
+<h2 id="the-content-model">The Content Model</h2>
<p>We will extend the content model created in the previous tutorial <a href="5'-with-jackrabbit-ocm.html">5' with Jackrabbit OCM</a>
. Each PressRelease is made by an Author and it is possible to add some
references (URL). </p>
@@ -85,7 +85,7 @@ Collection</p>
<p>Right now, the support of Map is limited to the usage of String for the key
because the map key will be used as the Node name.</p>
<p><a name="Howtomapassociationsbetweenobjects-Howarethoseobjectsstoredintherepository?"></a></p>
-<h2 id="how_are_those_objects_stored_in_the_repository_">How are those objects stored in the repository ?</h2>
+<h2 id="how-are-those-objects-stored-in-the-repository">How are those objects stored in the repository ?</h2>
<p>For this tutorial each java class is mapped into the "nt:unstructured" node
type. Making this kind of mapping is quite flexible because it does not
imply specific repository configuration. There is no constraints in the JCR
@@ -132,7 +132,7 @@ Here is an example of the correspoding J
<p><a name="Howtomapassociationsbetweenobjects-Downloadthetutorialcode"></a></p>
-<h2 id="download_the_tutorial_code">Download the tutorial code</h2>
+<h2 id="download-the-tutorial-code">Download the tutorial code</h2>
<p>You can download the OCM project from <a href="^beans_and_collections.zip.html">here</a></p>
</div>
<div id="end"></div>
Modified: websites/staging/jackrabbit/trunk/content/index-readers.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/index-readers.html (original)
+++ websites/staging/jackrabbit/trunk/content/index-readers.html Mon Dec 31 12:22:48 2012
@@ -58,7 +58,7 @@ of the parent node. When a UUIDDocId is
reader, which allows it to get the document number for the UUID and cache
it for later reuse.</p>
<p><a name="Indexreaders-OverwritingDocId"></a></p>
-<h2 id="overwriting_docid">Overwriting DocId</h2>
+<h2 id="overwriting-docid">Overwriting DocId</h2>
<p>It may happen that a PlainDocId is present in the cache of a
CachingIndexReader but must be considered invalid in the context of a call.
CachingIndexReader.getParent() may be called from a ReadOnlyIndexReader
@@ -99,7 +99,7 @@ forces the underlying native lucene inde
committing changes whithout closing the index reader is otherwise not
possible using the plain lucene index reader.</p>
<p><a name="Indexreaders-Combiningtheindexsegments"></a></p>
-<h2 id="combining_the_index_segments">Combining the index segments</h2>
+<h2 id="combining-the-index-segments">Combining the index segments</h2>
<p>{center}!index-readers-per-query-handler.jpg!{center}</p>
<p><a name="Indexreaders-CachingMultiIndexReader"></a></p>
<h2 id="cachingmultiindexreader">CachingMultiIndexReader</h2>
Modified: websites/staging/jackrabbit/trunk/content/issue-tracker.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/issue-tracker.html (original)
+++ websites/staging/jackrabbit/trunk/content/issue-tracker.html Mon Dec 31 12:22:48 2012
@@ -31,7 +31,7 @@ and is readable by everyone. A Jira acco
and to comment on existing issues. Use the <a href="https://issues.apache.org/jira/secure/Signup!default.jspa">registration form</a>
to request an account if you do not already have one.</p>
<p><a name="IssueTracker-Issueworkflow"></a></p>
-<h2 id="issue_workflow">Issue workflow</h2>
+<h2 id="issue-workflow">Issue workflow</h2>
<p>When an issue is created, it's in the <em>Open</em> state. This is the time for
describing the issue and discussing possible ways of solving it. If a
proposed patch is attached, then the issue can optionally be moved to the
@@ -56,10 +56,10 @@ be reopened (since the release can obvio
Potential regressions or other related problems should be tracked in
separate followup issues.</p>
<p><a name="IssueTracker-Issuecontents"></a></p>
-<h2 id="issue_contents">Issue contents</h2>
+<h2 id="issue-contents">Issue contents</h2>
<p>See below for guidelines on how to use the various fields in an issue.</p>
<p><a name="IssueTracker-Issuetype"></a></p>
-<h3 id="issue_type">Issue type</h3>
+<h3 id="issue-type">Issue type</h3>
<p>When creating a new issue, select the issue type based as follows:</p>
<table>
<tr><th> Issue type </th><th> Description </th></tr>
@@ -85,13 +85,13 @@ infrastructure. </td></tr>
</table>
<p><a name="IssueTracker-Issuesummary,environmentanddescription"></a></p>
-<h3 id="issue_summary_environment_and_description">Issue summary, environment and description</h3>
+<h3 id="issue-summary-environment-and-description">Issue summary, environment and description</h3>
<p>The issue summary should be a short and clear statement that indicates the
scope of the issue. You are probably being too verbose if you exceed the
length of the text field. Use the Environment and Description fields to
provide more detailed information.</p>
<p><a name="IssueTracker-Issuepriority"></a></p>
-<h3 id="issue_priority">Issue priority</h3>
+<h3 id="issue-priority">Issue priority</h3>
<p>Issue priority should be set according to the following:</p>
<table>
<tr><th> Issue priority </th><th> Description </td></tr>
Modified: websites/staging/jackrabbit/trunk/content/jackrabbit-api.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/jackrabbit-api.html (original)
+++ websites/staging/jackrabbit/trunk/content/jackrabbit-api.html Mon Dec 31 12:22:48 2012
@@ -29,12 +29,12 @@ contains the interface extensions that A
addition to the standard JCR API. You can use these interfaces to access
Jackrabbit-specific functionality.</p>
<p><a name="JackrabbitAPI-APIdocumentation"></a></p>
-<h2 id="api_documentation">API documentation</h2>
+<h2 id="api-documentation">API documentation</h2>
<ul>
<li><a href="http://jackrabbit.apache.org/api/1.4/org/apache/jackrabbit/api/package-summary.html">jackrabbit-api 1.4</a></li>
</ul>
<p><a name="JackrabbitAPI-ExternalDependencies"></a></p>
-<h2 id="external_dependencies">External Dependencies</h2>
+<h2 id="external-dependencies">External Dependencies</h2>
<ul>
<li><a href="jcr.html">JCR</a></li>
</ul>
Modified: websites/staging/jackrabbit/trunk/content/jackrabbit-architecture.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/jackrabbit-architecture.html (original)
+++ websites/staging/jackrabbit/trunk/content/jackrabbit-architecture.html Mon Dec 31 12:22:48 2012
@@ -36,7 +36,7 @@ Content Application Layer, an API Layer
Implementation Layer.</p>
<p>!overview.png!</p>
<p><a name="JackrabbitArchitecture-ContentApplications"></a></p>
-<h2 id="content_applications">Content Applications</h2>
+<h2 id="content-applications">Content Applications</h2>
<p>Content Applications interact through the JSR-170 API with the Content
Repository Implementation. There are numerous applications that are
available for JSR-170 repositories, some of them are very generic (like a
@@ -69,7 +69,7 @@ range from a "DVD Collection Management"
"Workflow and BPM" but also possibly complete next generation "Enterprise
Resource Planning Systems".</p>
<p><a name="JackrabbitArchitecture-ContentRepositoryAPI"></a></p>
-<h2 id="content_repository_api">Content Repository API</h2>
+<h2 id="content-repository-api">Content Repository API</h2>
<p>The Content Repository API Layer is split into two major sections.</p>
<ul>
<li>The Content Repository API defined by JSR-170</li>
@@ -83,7 +83,7 @@ use of the non-JSR-170 APIs provided by
<p>The boxes in the architecture chart do not symbolize package names or class
names directly but mostly semantically grouped blocks of functionality.</p>
<p><a name="JackrabbitArchitecture-ContentRepositoryImplementation"></a></p>
-<h2 id="content_repository_implementation">Content Repository Implementation</h2>
+<h2 id="content-repository-implementation">Content Repository Implementation</h2>
<p>The content Repository Implementation portion of the architecture chart
reflects the major building blocks of the jackrabbit content repository
implementation.</p>
Modified: websites/staging/jackrabbit/trunk/content/jackrabbit-configuration.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/jackrabbit-configuration.html (original)
+++ websites/staging/jackrabbit/trunk/content/jackrabbit-configuration.html Mon Dec 31 12:22:48 2012
@@ -65,7 +65,7 @@ folder with a workspace.xml file to crea
note that depending on the [persistence manager|#Persistence configuration]
you will also have to setup a database and configure the access to it).</p>
<p><a name="JackrabbitConfiguration-Repositoryconfiguration"></a></p>
-<h2 id="repository_configuration">Repository configuration</h2>
+<h2 id="repository-configuration">Repository configuration</h2>
<p>The repository configuration file, typically called <em>repository.xml</em>,
specifies global options like security, versioning and clustering settings.
A default workspace configuration template is also included in the
@@ -135,7 +135,7 @@ repository home directory. This keeps yo
nicely contained within a single directory tree.
{tip} </p>
<p><a name="JackrabbitConfiguration-Beanconfigurationelements"></a></p>
-<h3 id="bean_configuration_elements">Bean configuration elements</h3>
+<h3 id="bean-configuration-elements">Bean configuration elements</h3>
<p>Most of the entries in the configuration file are based on the following
generic JavaBean configuration pattern. Such configuration specifies that
the repository should use an instance of the specified class with the
@@ -148,7 +148,7 @@ specified properties for the named funct
<p><a name="JackrabbitConfiguration-Configurationvariables"></a></p>
-<h3 id="configuration_variables">Configuration variables</h3>
+<h3 id="configuration-variables">Configuration variables</h3>
<p>Jackrabbit supports configuration variables of the form <em>${name}</em>. These
variables can be used to avoid hardcoding specific options in the
configuration files. The following variables are available in all
@@ -164,7 +164,7 @@ configuration.</li>
) it has been possible to use system properties or any application-specific
settings as configuration variables.</p>
<p><a name="JackrabbitConfiguration-Securityconfiguration"></a></p>
-<h2 id="security_configuration">Security configuration</h2>
+<h2 id="security-configuration">Security configuration</h2>
<p>The security configuration element is used to specify authentication and
authorization settings for the repository. The structure of the security
configuration element is:</p>
@@ -198,7 +198,7 @@ everyone except anonymous users.</p>
). This class is designed for use with the [JBoss Application Server|http://www.jboss.org/jbossas/]
, where it maps JBoss roles to Jackrabbit permissions.</p>
<p><a name="JackrabbitConfiguration-Workspaceconfiguration"></a></p>
-<h2 id="workspace_configuration">Workspace configuration</h2>
+<h2 id="workspace-configuration">Workspace configuration</h2>
<p>A Jackrabbit repository contains one or more workspaces that are each
configured in a separate <em>workspace.xml</em> configuration file. The
<em>Workspaces</em> element of the repository configuration specifies where and
@@ -267,7 +267,7 @@ element in the repository configuration
workspaces.
{note}</p>
<p><a name="JackrabbitConfiguration-Versioningconfiguration"></a></p>
-<h2 id="versioning_configuration">Versioning configuration</h2>
+<h2 id="versioning-configuration">Versioning configuration</h2>
<p>The version histories of all versionable nodes are stored in a
repository-wide version store configured in the <em>Versioning</em> element of
the repository configuration. The versioning configuration is much like
@@ -298,11 +298,11 @@ configuration.</p>
}}: Locking configuration for concurrent access to workspace content.</li>
</ul>
<p><a name="JackrabbitConfiguration-Searchconfiguration"></a></p>
-<h2 id="search_configuration">Search configuration</h2>
+<h2 id="search-configuration">Search configuration</h2>
<p>See the <a href="http://wiki.apache.org/jackrabbit/Search">Search</a>
page on the Jackrabbit wiki.</p>
<p><a name="JackrabbitConfiguration-Persistenceconfiguration"></a></p>
-<h2 id="persistence_configuration">Persistence configuration</h2>
+<h2 id="persistence-configuration">Persistence configuration</h2>
<p>The Persistence Manager is one of the most important parts of the
configuration, because it actually takes care of storing the nodes and
properties. There are various very different implementations, but most of
@@ -324,7 +324,7 @@ higher level, and expects to be in full
connection.
{note}</p>
<p><a name="JackrabbitConfiguration-Filesystemconfiguration"></a></p>
-<h2 id="file_system_configuration">File system configuration</h2>
+<h2 id="file-system-configuration">File system configuration</h2>
<p>Early versions on Jackrabbit were designed to abstract their persistence
mechanism using a virtual file system layer defined in the <a href="http://jackrabbit.apache.org/api/1.5/org/apache/jackrabbit/core/fs/FileSystem.html">FileSystem</a>
interface. This low-level approach didn't work that well in practice, and
@@ -339,18 +339,18 @@ configuration element. See the main file
LocalFileSystem implementation that simply maps abstract file system
accesses to the specified directory within the native file system.</p>
<p><a name="JackrabbitConfiguration-Clusterconfiguration"></a></p>
-<h2 id="cluster_configuration">Cluster configuration</h2>
+<h2 id="cluster-configuration">Cluster configuration</h2>
<p>See the <a href="http://wiki.apache.org/jackrabbit/Clustering">Clustering</a>
page on the Jackrabbit wiki.</p>
<p><a name="JackrabbitConfiguration-Datastoreconfiguration"></a></p>
-<h2 id="data_store_configuration">Data store configuration</h2>
+<h2 id="data-store-configuration">Data store configuration</h2>
<p>See the <a href="http://wiki.apache.org/jackrabbit/DataStore">DataStore</a>
page on the Jackrabbit wiki.</p>
<p><a name="JackrabbitConfiguration-Itemstatelockingconfiguration"></a></p>
-<h2 id="item_state_locking_configuration">Item state locking configuration</h2>
+<h2 id="item-state-locking-configuration">Item state locking configuration</h2>
<p>TODO</p>
<p><a name="JackrabbitConfiguration-Passwordsinconfiguration(asofJackrabbit2.3)"></a></p>
-<h2 id="passwords_in_configuration_as_of_jackrabbit_23">Passwords in configuration (as of Jackrabbit 2.3)</h2>
+<h2 id="passwords-in-configuration-as-of-jackrabbit-23">Passwords in configuration (as of Jackrabbit 2.3)</h2>
<p>When using a database-backed persistence manager or another component, you
usually need to include the database password in Jackrabbit configuration.
If you don't want to store such passwords in plain text inside the
Modified: websites/staging/jackrabbit/trunk/content/jackrabbit-core-1.4.1.html
==============================================================================
--- websites/staging/jackrabbit/trunk/content/jackrabbit-core-1.4.1.html (original)
+++ websites/staging/jackrabbit/trunk/content/jackrabbit-core-1.4.1.html Mon Dec 31 12:22:48 2012
@@ -36,7 +36,7 @@ full list of changes in this release.</p
<p>See the Apache Jackrabbit website at http://jackrabbit.apache.org/ for more
information.</p>
<p><a name="jackrabbit-core1.4.1-ReleaseContents"></a></p>
-<h2 id="release_contents">Release Contents</h2>
+<h2 id="release-contents">Release Contents</h2>
<p>Unlike previous Jackrabbit releases that contained a full set of
components, this patch release only contains the jackrabbit-core component.
The component is distributed both as a source archive and a pre-compiled
@@ -59,7 +59,7 @@ Java 1.4 or higher:</p>
signature. The public key used for the signatures can be found in the KEYS
file.</p>
<p><a name="jackrabbit-core1.4.1-Changesandknownissuesinthisrelease"></a></p>
-<h2 id="changes_and_known_issues_in_this_release">Changes and known issues in this release</h2>
+<h2 id="changes-and-known-issues-in-this-release">Changes and known issues in this release</h2>
<p>All the changes and known issues in this release are listed below. The
issue identifier and title is listed for each change and known issue. You
can look up individual issues for more details in the Jackrabbit issue