Apache Jackrabbit Oak 1.1.7 发布了,Apache Jackrabbit 是由 Apache Foundation 提供的 JSR-170 的开放源码实现..
随着内容管理应用程序的日益普及,对用于内容仓库的普通、标准化 API 的需求已凸现出来。Content Repository for Java Technology API (JSR-170) 的目标就是提供这样一个接口。JSR-170 的一个主要优点是,它不绑定到任何特定的底层架构。例如,JSR-170 实现的后端数据存储可以是文件系统、WebDAV 仓库、支持 XML 的系统,甚至还可以是 SQL 数据库。此外,JSR-170 的导出和导入功能允许一个集成器在内容后端与 JCR 实现之间无缝地切换。
该版本包含诸多改进,详细列表:
<pre>Sub-task
[OAK-2456] – Periodic update of suggestor index from the full text
index
[OAK-2473] – ACL checks on suggestions
[OAK-2495] – Shared DataStore GC support for FileDataStore
[OAK-2514] – Shared DataStore GC framework support
[OAK-2526] – Provide support for persisted Solr configuration
[OAK-2564] – SessionMBean should provide information about pending
refresh
Bug
[OAK-2024] – Error when accessing /oak:index/rep:policy/reindex
property via JCR
[OAK-2225] – MultipleMoveTest doesn't restore ACEs properly
causing later tests to fail
[OAK-2294] – Corrupt repository after concurrent version
operations
[OAK-2295] – Using "order by jcr:score" slows down queries by a
few orders of magnitude
[OAK-2475] – Query Filter looses property constraints for multiple
and conditions for same property
[OAK-2482] – oak-mongo.js does not escape special characters for
regular expressions
[OAK-2486] – TokenProviderImpl.createToken should always create
valid node
[OAK-2488] – Node.getMixinNodeTypes can revive deleted node mixins
[OAK-2489] – Remove useless configPath in embedded SolrServer
provider
[OAK-2493] – DataStore GC: Fix incorrect tests
[OAK-2503] – DataStore: Cleanup tests
[OAK-2508] – ACL filtering on spellchecks
[OAK-2513] – algorithm with O(n!) in mongoMk rebase – not
finishing in years
[OAK-2515] – SolrQueryIndex blindly executes a 2nd query to check
there are no more results
[OAK-2521] – SegmentDataStoreBlobGCTest failing at some places
[OAK-2524] – Error while configuring analyzer by composition
[OAK-2525] – SharedDataStoreUtilsTest failing on travis
[OAK-2528] – Entries in _commitRoot not purged
[OAK-2531] – Suggest field doesn't get stored if it has only one
value
[OAK-2535] – TARMK Cold Standby allow cleanup on standby instance
[OAK-2536] – OakSolrConfigurationProviderService used.properties
initialization fails
[OAK-2541] – TARMK Cold Standby marks the sync as stopped on first
error
[OAK-2558] – Wrong interpretation of SegmentNodeStoreService
configuration values
[OAK-2559] – Lucene index rules should be case insensitive
[OAK-2567] – AsyncIndex should update the run status after the
merge has completed
Improvement
[OAK-2176] – Support for using query engine for search suggestions
[OAK-2340] – LucenePropertyIndex should support pure nodeType
based query
[OAK-2432] – Allow querying on jcr:primaryType property if that
property is indexed
[OAK-2483] – Avoid building suggest/spellcheck dictionary at query
time
[OAK-2485] – Add validating commit hook for login tokens
[OAK-2487] – DataStoreBlobStore: Merge test
MongoDataStoreBlobStoreTest into DataStoreBlobStoreTest
[OAK-2490] – Make it possible to use the PermissionProvider from
within query indexes
[OAK-2491] – Improve OAK-2465 avoiding ArithmeticException
altogether
[OAK-2501] – add more trace-logging to mongoMk to debug
performance issues
[OAK-2516] – Add user information in audit events in oak
[OAK-2519] – remove CachingDocumentStore interface
[OAK-2523] – Provide a default Tika Config similar to JR2 config
[OAK-2534] – Add missing Apache Jackrabbit qualifiers to OSGi
services metatype
[OAK-2537] – Support using Solr index for sorted queries
[OAK-2542] – Update RecordUsageAnalyser to reflect changes in
segment format
[OAK-2546] – allow configuring subcaches of documentnodestore
individually
[OAK-2548] – Spellcheck/suggest queries should return no results
if no index can handle them
[OAK-2553] – Add builder to file store
[OAK-2554] – Make AbstractServiceTracker.stop() idempotent
[OAK-2561] – Add option to oak-run check runmode to check
consistency of binary properties
New Feature
[OAK-2504] – oak-run debug should list a breakdown of space usage
per record type
[OAK-2517] – Support IS NULL based property restrictions in
LucenePropertyIndex</pre>