Julien Garcia Gonzalez | 20 Feb 15:42 2015
Picon

CryptedCredential on TransientRepository ::

Hello,

I would like to connect by a crypted way to my transient repository, 
actually it's working with SimpleCredential.

But when I tried CryptedCredential I get this exception:

javax.jcr.LoginException: LoginModule ignored Credentials
     at 
org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1493)
     at 
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:381)
     at 
org.apache.jackrabbit.commons.AbstractRepository.login(AbstractRepository.java:123)

I'm doing this:

repository.login(newCryptedSimpleCredentials(newSimpleCredentials("admin","admin".toCharArray())));

Here is the security configuration in the xml:

<SecurityappName="Jackrabbit">
     <SecurityManagerclass="org.apache.jackrabbit.core.DefaultSecurityManager"workspaceName="security"/>
     <AccessManagerclass="org.apache.jackrabbit.core.security.DefaultAccessManager"/>
     <LoginModuleclass="org.apache.jackrabbit.core.security.simple.SimpleLoginModule">
         <paramname="anonymousId"value="anonymous"/>
         <paramname="adminId"value="admin"/>
     </LoginModule>
</Security>

(Continue reading)

Dirk Högemann | 19 Feb 09:54 2015

Versioning behaviour

Hello,

I have a question regarding JackRabbits versioning behaviour.
I have two ways to change content in my repository (full versioning):

1. checkout Node, change Properties, checkin Node: Results in a version
history like 1.1, 1.2, 1.3 and so on
2. session.importXml(the application logic determines the target UUID for
the imported xml): This results in versions like 2.0, 3.0

I thought the second kind kind of behaviour would only occur if I use
different workspaces - which is not the case (by my intention).

Anyway: What I need is a linear version history (1.1, 1.2, 1.3 OR
1.0..2.0...), not a mixed one.

Is it possible to force this behaviour? (for example by manipulating the
imported XML)

Best regards and thanks for any hints...
Dirk
Prasad Bodapati | 17 Feb 11:20 2015

Oracle Cluster configuration tablespace is variable is not resolved.

Hi,

I have been trying to configure Jackrabbit with Oracle. I get exception while schema check is performed for version table in cluster.

While the cluster configuration is being initialized.It calls the init() method in DataBaseJournal class. In there it calls checkLocalRevisionSchema(); That method in turns call CheckSchemaOperation .run() to check whether the LOCAL_REVISIONS table exists if not it creates it. At first time it does not have the table so it tries to create the table with query

create table ${schemaObjectPrefix}JOURNAL (REVISION_ID number(20,0) NOT NULL, JOURNAL_ID varchar(255), PRODUCER_ID varchar(255), REVISION_DATA blob) ${tablespace}

 

Before executing the query the variable c${schemOBjectPrefix} is replaced with PBVP_Journal but the  ${tablespace} is being replaced. I am not sure what I am doing wrong. I did

The whole repository.xml is attached.

 

My file system and persistence manager configuration looks like

 

<Versioning rootPath="${rep.home}/version">

<FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">

                                             <param name="driver" value="javax.naming.InitialContext"/>

                                             <param name="url" value="java:/jcr/repositoryDB"/>

                                             <param name="schemaObjectPrefix" value="PBVP_version_"/>

                                             <param name="schema" value="oracle"/>

                                             <param name="tablespace" value="default"/>

                              </FileSystem>

                              <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager">

                                             <param name="driver" value="javax.naming.InitialContext"/>

                                             <param name="url" value="java:/jcr/repositoryDB"/>

                                             <param name="databaseType" value="oracle"/>

                                             <param name="schemaObjectPrefix" value="PBVP_version_"/>

                                             <param name="bundleCacheSize" value="32"/>

                                             <param name="tableSpace" value="default"/>

                              </PersistenceManager>

</Versioning>

 

My cluster configuration looks like

 

 

<Cluster id="node1" syncDelay="2000">

                              <Journal class="org.apache.jackrabbit.core.journal.OracleDatabaseJournal">

                                             <param name="revision" value="${rep.home}/revision.log"/>

                                             <param name="driver" value="javax.naming.InitialContext"/>

                                             <param name="url" value="java:/jcr/repositoryDB"/>

                                             <param name="schemaObjectPrefix" value="PBVP_journal_"/>

                                             <param name="databaseType" value="oracle"/>

                                             <param name="schemaCheckEnabled" value="false"/>

                                             <param name="tablespace" value="default"/>

                              </Journal>

               </Cluster>

 

 

 

 

 

 

Thanks & Regards

Prasad Bodapati, Software Engineer

Pitney Bowes Software

6 Hercules Way, Leavesden Park, Watford, Herts WD25 7GS

D: +441923 279174 | M: +447543399223 www.pb.com/software

 

prasad.bodapati <at> pb.com

 

Every connection is a new opportunity™

 

 

 

Please consider the environment before printing or forwarding this email. If you do print this email, please recycle the paper.

 

This email message may contain confidential, proprietary and/or privileged information. It is intended only for the use of the intended recipient(s). If you have received it in error, please immediately advise the sender by reply email and then delete this email message. Any disclosure, copying, distribution or use of the information contained in this email message to or by anyone other than the intended recipient is strictly prohibited.

 



Torgeir Veimo | 11 Feb 14:31 2015
Picon

finding node with parent specified as uuid (oak 1.1.6)

Is there a way in oak, with xpath queries, to find a node with a
specific parent, given that the parent node is only identified using
the id?

In jackrabbit, I can do something like

//element(*)[../ <at> jcr:uuid = '7e13f9c0-8f79-418e-9f5b-312d1226ee40' ]

but this doesn't work with oak. (Or maybe I'm just missing some index
configuration?)

--

-- 
-Tor

Torgeir Veimo | 10 Feb 14:59 2015
Picon

no results from full-text index (oak 1.1.6)

My lucene full-text index is configured as per examples as;

        NodeBuilder index = IndexUtils.getOrCreateOakIndex(builder);
        index.child("lucene")
                .setProperty("jcr:primaryType",
"oak:QueryIndexDefinition", Type.NAME)
                .setProperty("type", "lucene")
                .setProperty("async", "async")

.setProperty(PropertyStates.createProperty("includePropertyTypes",
ImmutableSet.of(PropertyType.TYPENAME_STRING,
PropertyType.TYPENAME_BINARY), Type.STRINGS))

.setProperty(PropertyStates.createProperty("excludePropertyNames",
ImmutableSet.of("jcr:createdBy", "jcr:lastModifiedBy"), Type.STRINGS))
                .setProperty("reindex", true);

But it doesn't provide any results. From my understanding, this
definition will index any STRING and BINARY property type,

Trying a query like //*[jcr:contains(., 'test')] doesn't work, even
though I've got nodes with test in string properties.

--

-- 
-Tor

Torgeir Veimo | 10 Feb 14:22 2015
Picon

xpath -> sql2 conversion fails, oak 1.1.6

The XPATH query

/jcr:root/content/companies/sortlandsavisa-5449/positions/test-stilling-5619/applications/application-Y7y8[1]/element(*,ka:asset)[ <at> ka:assetType
= 'comment'] order by  <at> jcr:score

fails to convert properly to sql2 (with oak 1.1.6). Somehow "1(*)is
not null" is added as a selector.

javax.jcr.query.InvalidQueryException: java.text.ParseException:

/jcr:root/content/companies/sortlandsavisa-5449/positions/test-stilling-5619/applications/application-Y7y8[1]/element(*,ka:asset)[ <at> ka:assetType
= 'comment'] order by  <at> jcr:score converted to SQL-2 Query:

select b.[jcr:path] as [jcr:path], b.[jcr:score] as [jcr:score], b.*
from [nt:base] as a inner join [ka:asset] as b on ischildnode(b, a)
where 1(*)is not null and issamenode(a,
'/content/companies/sortlandsavisa-5449/positions/test-stilling-5619/applications/application-Y7y8')
and b.[ka:assetType] = 'comment' order by b.[jcr:score]

/* xpath: /jcr:root/content/companies/sortlandsavisa-5449/positions/test-stilling-5619/applications/application-Y7y8[1]/element(*,ka:asset)[ <at> ka:assetType
= 'comment'] order by  <at> jcr:score */;

expected: NOT, (

Is the XPATH query above wrong?

--

-- 
-Tor

Torgeir Veimo | 10 Feb 11:08 2015
Picon

oak index configuration

I am struggling with messages such as

20:04:13,598 WARN  query.Cursors$TraversingCursor.fetchNext() - line
312 [0:0:0:0:0:0:0:1] - Traversed 7000 nodes with filter
Filter(query=select c.[jcr:path] as [jcr:path], c.[jcr:score] as
[jcr:score], c.* from [nt:base] as a inner join [nt:base] as b on
isdescendantnode(b, a) inner join [ka:asset] as c on ischildnode(c, b)
where name(a) = 'content' and isdescendantnode(a, '/') and
c.[ka:assetType] = 'company' order by c.[jcr:score] /* xpath:
/jcr:root//content//* /element(*,ka:asset)[ <at> ka:assetType = 'company' ]
order by  <at> jcr:score */, path=//*); consider creating an index or
changing the query

/jcr:root//content//*/element(*,ka:asset)[ <at> ka:assetType = 'company' ]
order by  <at> jcr:score

My indexes are set up with

        NodeBuilder index = IndexUtils.getOrCreateOakIndex(builder);
        index.child("lucene")
                .setProperty("jcr:primaryType",
"oak:QueryIndexDefinition", Type.NAME)
                .setProperty("type", "lucene")
                .setProperty("async", "async")

.setProperty(PropertyStates.createProperty("includePropertyTypes",
ImmutableSet.of(PropertyType.TYPENAME_STRING,
PropertyType.TYPENAME_BINARY), Type.STRINGS))

.setProperty(PropertyStates.createProperty("excludePropertyNames",
ImmutableSet.of("jcr:createdBy", "jcr:lastModifiedBy"), Type.STRINGS))
                .setProperty("reindex", true);

        createDefinition("jcr:path", index);
        createDefinition("ka:assetType", index);
        createDefinition("ka:state", index);
        createDefinition("ka:tags", index);
        createDefinition("ka:id", index);
        createDefinition("ka:principal", index);
        createDefinition("ka:owner", index);
        createDefinition("ka:expire", index);
        createDefinition("title", index);
    }

    private void createDefinition(String definition, NodeBuilder index) {
        IndexUtils.createIndexDefinition(index, definition, true, false,

org.elasticsearch.common.collect.ImmutableList.of(definition), null)
                .setProperty("reindex-async", true)
                .setProperty("reindex", true);

Am wondering, is the query syntax somewhat wrong? Am not sure if the
//*/ in the path is correct?

--

-- 
-Tor

Davide Giannella | 9 Feb 10:55 2015
Picon

[ANNOUNCE] Apache Jackrabbit Oak 1.1.6 released

The Apache Jackrabbit community is pleased to announce the release of
Apache Jackrabbit Oak 1.1.6. The release is available for download at:

  http://jackrabbit.apache.org/downloads.html

See the full release notes below for details about this release.

Release Notes -- Apache Jackrabbit Oak -- Version 1.1.6

Introduction
------------

Jackrabbit Oak is a scalable, high-performance hierarchical content
repository designed for use as the foundation of modern world-class
web sites and other demanding content applications.

Apache Jackrabbit Oak 1.1.6 is an unstable release cut directly from
Jackrabbit Oak trunk, with a focus on new features and other improvements.
For production use we recommend the latest stable 1.0.11 release.

The Oak effort is a part of the Apache Jackrabbit project.
Apache Jackrabbit is a project of the Apache Software Foundation.

Changes in Oak 1.1.6
---------------------

Sub-task

    [OAK-2329] - Use LuceneQuery parser to create query from fulltext
    string
    [OAK-2417] - reduce primary key size in RDBBlobStore
    [OAK-2421] - Clean up orphaned branches
    [OAK-2446] - make DELETEDONCE an indexed property
    [OAK-2447] - implement DELETEDONCE as indexed property in RDB
    [OAK-2455] - Support for invoking suggestor via Query
    [OAK-2457] - Suggestor support within Oak Lucene
    [OAK-2458] - support RDB persistence in oak-run modes console and
    server
    [OAK-2467] - Suggestor support within Oak Solr

Bug

    [OAK-1709] - Diff cache entry too large
    [OAK-1799] - Create a benchmark for Full text search with Solr
    [OAK-2369] - DataStoreWrapperBackend not updated to latest
    extensions added to Backend interface
    [OAK-2389] - issues with JsopBuilder.encode and .escape
    [OAK-2418] - int overflow with orderby causing huge slowdown
    [OAK-2425] - DefaultSolrServerProvider should use
    ConcurrentUpdateSS for indexing
    [OAK-2426] - [LucenePropertyIndex] full-text search on first level
    relative node returns no result
    [OAK-2427] - XPath to SQL-2 conversion fails due to escaping error
    [OAK-2429] - MissingIndexProviderStrategy too eager to set the
    reindex flag
    [OAK-2430] - TARMK Cold Standby size increase due to checkpoints
    copy
    [OAK-2433] - IllegalStateException for ValueMap on _revisions
    [OAK-2434] - Lucene AND query with a complex OR phrase returns
    incorrect result
    [OAK-2435] - UpdateOp.Key.equals() incorrect
    [OAK-2436] - LucenePropertyIndex throws IllegalStateException: No
    query created for filter when using order by jcr:score
    [OAK-2439] - IndexPlanner returning plan for queries involving
    jcr:score
    [OAK-2441] - Regression with Node.getPrimaryNodeType and
    getMixinNodeTypes wrt Jackrabbit 2.x
    [OAK-2442] - NoSuchElementException thrown by NodeDocument
    [OAK-2449] - offline compaction (via oak-run) broken
    [OAK-2450] - MongoDocumentStore fails for DELETED_ONCE indexed
    property
    [OAK-2465] - Long overflow in PermissionEntryProviderImpl

Improvement

    [OAK-2105] - Review padding for blobs collection
    [OAK-2175] - Support for rep:spellcheck
    [OAK-2177] - Configurable Analyzer in Lucene index
    [OAK-2179] - Rep:similar support in Lucene index
    [OAK-2181] - Create whitelist / blacklist of properties to be
    indexed / filtered for Solr index
    [OAK-2252] - make generic VersionGCSupport perform better
    [OAK-2296] - Update sql2.txt test to account for name property
    presence in non test nodes
    [OAK-2341] - Use approx counters property index costs even when
    path restriction is available
    [OAK-2372] - TARMK Cold Standby improve test cases for FSDS
    mirroring
    [OAK-2415] - Improve logging in repository migration in upgrade
    [OAK-2422] - Improve logging in Lucene indexer
    [OAK-2448] - Do not create nodeChildren cache entry for leaf
    [OAK-2451] - Avoid clean up in XmlImportTest benchmark
    [OAK-2452] - Avoid lookup of conflicting node with
    ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW
    [OAK-2453] - Move MongoDiffCache to mongo package
    [OAK-2454] - Upgrade: reduce implementation dependency
    [OAK-2459] - Pre-populate version storage with intermediate nodes
    [OAK-2462] - reduce code duplication between
    Utils.getSelectedDocuments and MissingLastRevCandidateIterator
    [OAK-2463] - Provide support for providing custom Tika config
    [OAK-2464] - Optimize read of known non-existing children
    [OAK-2469] - Restrict the maximum number of terms that will be
    indexed for a single field
    [OAK-2470] - Support for maxExtractLength while parsing binaries
    with Tika
    [OAK-2471] - Include index name in the log from LuceneIndexEditor

New Feature

    [OAK-1658] - Similar (rep:similar) support for Solr
    [OAK-1990] - Utility js methods to manage Oak data in Mongo
    [OAK-2220] - Support for atomic counters (non-clustered)

Task

    [OAK-2431] - Avoid wrapping of LuceneIndexProvider with
    AggregateIndexProvider in tests
    [OAK-2438] - Evaluate support for must(must_not(x)) query with
    Lucene

In addition to the above-mentioned changes, this release contains
all changes included in previous Apache Jackrabbit Oak 1.0.x releases.

For more detailed information about all the changes in this and other
Oak releases, please see the Oak issue tracker at

  https://issues.apache.org/jira/browse/OAK

Release Contents
----------------

This release consists of a single source archive packaged as a zip file.
The archive can be unpacked with the jar tool from your JDK installation.
See the README.md file for instructions on how to build this release.

The source archive is accompanied by SHA1 and MD5 checksums and a PGP
signature that you can use to verify the authenticity of your download.
The public key used for the PGP signature can be found at
http://www.apache.org/dist/jackrabbit/KEYS.

About Apache Jackrabbit Oak
---------------------------

Jackrabbit Oak is a scalable, high-performance hierarchical content
repository designed for use as the foundation of modern world-class
web sites and other demanding content applications.

The Oak effort is a part of the Apache Jackrabbit project.
Apache Jackrabbit is a project of the Apache Software Foundation.

For more information, visit http://jackrabbit.apache.org/oak

About The Apache Software Foundation
------------------------------------

Established in 1999, The Apache Software Foundation provides organizational,
legal, and financial support for more than 140 freely-available,
collaboratively-developed Open Source projects. The pragmatic Apache License
enables individual and commercial users to easily deploy Apache software;
the Foundation's intellectual property framework limits the legal exposure
of its 3,800+ contributors.

For more information, visit http://www.apache.org/

Torgeir Veimo | 9 Feb 03:54 2015
Picon

OR child axis query fails in oak 1.1.5

This query fails in oak 1.1.5 (invalid syntax: java.text.ParseException)

 //element(*,ka:asset)[./*/ <at> ka:principal =
'a5cbcf8f-a86c-4826-b78c-a9b941e24ff1' or  <at> ka:owner =
'a5cbcf8f-a86c-4826-b78c-a9b941e24ff1' ] order by  <at> jcr:score

this one doesn't

 //element(*,ka:asset)[ <at> ka:owner =
'a5cbcf8f-a86c-4826-b78c-a9b941e24ff1'] order by  <at> jcr:score

nor this one

 //element(*,ka:asset)[./*/ <at> ka:principal =
'a5cbcf8f-a86c-4826-b78c-a9b941e24ff1' ] order by  <at> jcr:score

is it not possible to combine such queries in oak 1.1.5? The query
works ok in oak 1.0.9.

--

-- 
-Tor

Marcel Reutegger | 6 Feb 23:09 2015
Picon

[ANNOUNCE] Apache Jackrabbit 2.9.1 released

The Apache Jackrabbit community is pleased to announce the release of
Apache Jackrabbit 2.9.1. The release is available for download at:

 http://jackrabbit.apache.org/downloads.html

See the full release notes below for details about this release.

Release Notes -- Apache Jackrabbit -- Version 2.9.1

Introduction
------------

This is Apache Jackrabbit(TM) 2.9.1, a fully compliant implementation of the
Content Repository for Java(TM) Technology API, version 2.0 (JCR 2.0) as
specified in the Java Specification Request 283 (JSR 283).

Apache Jackrabbit 2.9 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 latest stable 2.8 release.

Changes in Jackrabbit 2.9.1
------------------------------

Improvements

  [JCR-3803] Local cache contention lead to performance degradation
  [JCR-3804] [jackrabbit-aws] Allow http communication to S3
  [JCR-3810] StreamWrapper can attempt to reset other types of InputStreams
  [JCR-3815] Local Cache Purge Cause Performance Issues
  [JCR-3817] [jackrabbit-aws-ext] Performance of operation degrades
while running DS GC
  [JCR-3818] Use SimpleFSDirectory by default
  [JCR-3825] Use RepositoryFactory for first hops
  [JCR-3826] AbstractPrincipalProvider cachesize is not configurable
  [JCR-3838] [aws-ext] Proactive & Asynchronous caching of binary when
its metadata is accessed from S3
  [JCR-3843] [jackrabbit-aws-ext] Support S3 in Franfurt Datacenter
  [JCR-3844] JcrRemotingServlet does not log full stacktrace
  [JCR-3845] Have AuthorizableQueryManager Support Specifying Sort
Ignore Case Mode

Bug fixes

  [JCR-3274] jackrabbit-standalone-2.4.0.jar Populate does not work
  [JCR-3805] LocalCache doesn't build up properly in JDK 7.
  [JCR-3809] ConnectionHelper swallows exception when it fails to
reset binary streams after a failed SQL statement execution
  [JCR-3816] [aws-ext]S3DS not able update lastModified of record > 5GB
  [JCR-3821] SeededSecureRandom thread can prevent Jackrabbit from shutting down
  [JCR-3839] [aws-ext] Regression to JCR-3734 Slow local cache built-up time
  [JCR-3840] NodeTypeDefDiff does not take same-name child type
definitions into account

Tasks
  [JCR-3830] Allow for privilege discovery in jcr-server
  [JCR-3833] Compatibility with Java 8

Sub-tasks

  [JCR-2113] JSR 283 Access Control Management (JCR-2003 - JCR2SPI /
SPI: Add support for JCR 2.0)

In addition to the above-mentioned changes, this release contains
all the changes included up to the Apache Jackrabbit 2.9.0 release.

For more detailed information about all the changes in this and other
Jackrabbit releases, please see the Jackrabbit issue tracker at

    https://issues.apache.org/jira/browse/JCR

Release Contents
----------------

This release consists of a single source archive packaged as a zip file.
The archive can be unpacked with the jar tool from your JDK installation.
See the README.txt file for instructions on how to build this release.

The source archive is accompanied by SHA1 and MD5 checksums and a PGP
signature that you can use to verify the authenticity of your download.
The public key used for the PGP signature can be found at
https://svn.apache.org/repos/asf/jackrabbit/dist/KEYS.

About Apache Jackrabbit
-----------------------

Apache Jackrabbit is a fully conforming implementation of the Content
Repository for Java Technology API (JCR). A content repository is a
hierarchical content store with support for structured and unstructured
content, full text search, versioning, transactions, observation, and
more.

For more information, visit http://jackrabbit.apache.org/

About The Apache Software Foundation
------------------------------------

Established in 1999, The Apache Software Foundation provides organizational,
legal, and financial support for more than 140 freely-available,
collaboratively-developed Open Source projects. The pragmatic Apache License
enables individual and commercial users to easily deploy Apache software;
the Foundation's intellectual property framework limits the legal exposure
of its 3,800+ contributors.

For more information, visit http://www.apache.org/

Trademarks
----------

Apache Jackrabbit, Jackrabbit, Apache, the Apache feather logo, and the Apache
Jackrabbit project logo are trademarks of The Apache Software Foundation.

Vitali Fichtner | 3 Feb 10:21 2015

xpath jcr:contains NullPointerException

Hello,

i´m using jackrabbit 2.8.0. I´m trying to make a free text search on
node properties.

Here is my example:

/jcr:root/a/b/*[jcr:contains(.,'foo')]/*/*/jcr:content[tags='tagA']

This query finds me all files (nodes) with the tag "tagA" and the term "foo"
in the parent node. This works quite good if the term "foo" is available,
if it is not present it crashes and I get the following
NullPointerException:

....

at
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at
org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.calculateChildren(ChildAxisQuery.java:450)
at
org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.nextDoc(ChildAxisQuery.java:396)
at org.apache.lucene.search.Scorer.score(Scorer.java:89)
at
org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.calculateChildren(ChildAxisQuery.java:450)
at
org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.nextDoc(ChildAxisQuery.java:396)
at org.apache.lucene.search.Scorer.score(Scorer.java:89)
....

Do you have any idea, how to fix it?  Is my xpath query wrong?

Thanks!

Vitali

Gmane