JBoss.org
Community Documentation
Prev
Next
Part I. eXoJCR
Table of Contents
1. Introduction in eXoJCR
1.1. JCR (JSR-170) API main concepts
1.1.1. Data model
2. Why use JCR?
2.1. What is JCR?
2.2. Why use JCR?
2.3. What does eXo do?
2.4. Further Reading
3. eXo JCR Implementation
3.1. Related Documents
3.2. How it works
3.3. Workspace Data Model
4. Advantages of eXo JCR
4.1. Advantages for application developers:
4.2. Advantages for managers
5. Compatibility Levels
5.1. Introduction
5.2. Level 1
5.3. Level 2
5.4. Optional features
6. Using JCR
6.1. 1 Using eXo JCR in an application
6.1.1. Obtaining a Repository object
6.1.2. JCR Session common considerations
6.2. JCR Application practices
6.2.1. Simplifying the management of a multi-workspace application
6.2.2. Reusing SessionProvider
7. JCR Extensions
7.1. JCR Service Extensions
7.1.1. Concept
7.1.2. Implementation
7.1.3. Configuration
7.2. Related Pages
8. eXo JCR Application Model
9. NodeType Registration
9.1. Interfaces and methods
9.1.1. ExtendedNodeTypeManager
9.1.2. NodeTypeValue
9.1.3. NodeDefinitionValue
9.1.4. PropertyDefinitionValue
9.1.5. ItemDefinitionValue
9.2. Node type registration
9.2.1. Run time registration from xml file.
9.2.2. Run time registration using NodeTypeValue.
9.3. Changing existing node type
9.4. Removing node type
9.5. Practical How to
9.5.1. Adding new PropertyDefinition
9.5.2. Adding new child NodeDefinition
9.5.3. Changing or removing existing PropertyDefinition or child NodeDefinition
9.5.4. Changing the list of super types
10. Registry Service
10.1. Concept
10.2. The API
10.3. Configuration
11. Namespace altering
11.1. Adding new namespace
11.2. Changing existing namespace
11.3. Removing existing namespace
12. Node Types and Namespaces
12.1. Introduction
12.2. Node Types definition
12.3. Namespaces definition
13. eXo JCR configuration
13.1. Related documents
13.2. Portal and Standalone configuration
13.3. JCR Configuration
13.4. Repository service configuration (JCR repositories configuration)
13.5. Repository configuration:
13.6. Workspace configuration:
13.7. Workspace data container configuration:
13.8. Value Storage plugin configuration (for data container):
13.9. Initializer configuration (optional):
13.10. Cache configuration:
13.11. Query Handler configuration:
13.12. Lock Manager configuration:
13.13. Help application to prohibit the use of closed sessions
13.14. Getting the effective configuration at Runtime of all the repositories
14. Multilanguage support in eXo JCR RDB backend
14.1. Introduction
14.2. Oracle
14.3. DB2
14.4. MySQL
14.5. PostgreSQL
15. How to host several JCR instances on the same database instance?
15.1. Concepts
15.2. LockManager configuration
15.3. HibernateService configuration
16. Search Configuration
16.1. XML Configuration
16.2. Configuration parameters
16.3. Global Search Index
16.3.1. Global Search Index Configuration
16.3.2. Customized Search Indexes and Analyzers
16.4. Indexing Adjustments
16.4.1. IndexingConfiguration
16.4.2. Indexing rules
16.4.3. Indexing Aggregates
16.4.4. Property-Level Analyzers
16.4.5. Advanced features
17. JCR Configuration persister
17.1. Idea
17.2. Usage
18. JDBC Data Container Config
18.1. Introduction
18.2. General recommendations for database configuration
18.2.1. DB2 configuration
18.2.2. MySQL configuration
18.2.3. PostgreSQL configuration
18.2.4. MS SQL configuration
18.2.5. Sybase configuration
18.2.6. Oracle configuration
18.3. Multi-database Configuration
18.4. Single-database configuration
18.4.1. Configuration without DataSource
18.4.2. Dynamic Workspace Creation
18.5. Simple and Complex queries
18.6. Forse Query Hints
18.7. Notes for Microsoft Windows users
19. External Value Storages
19.1. Introduction
19.2. Tree File Value Storage
19.3. Simple File Value Storage
19.4. Content Addressable Value storage (CAS) support
19.5. Disabling value storage
20. Workspace Data Container
21. REST Services on Groovy
21.1. Concept
21.2. Usage
22. Configuring JBoss AS with eXo JCR in cluster
22.1. Launching Cluster
22.1.1. Deploying eXo JCR to JBoss As
22.1.2. Configuring JCR to use external configuration
22.2. Requirements
22.2.1. Environment requirements
22.2.2. Configuration requirements
22.3. How properly stop the node
23. JBoss Cache configuration
23.1. JBoss cache configuration for indexer, lock manager and data container
23.2. JGroups configuration
23.3. Allow to share JBoss Cache instances
23.4. Shipped JBoss Cache configuration templates
23.4.1. Data container template
23.4.2. Lock manager template
23.4.3. Query handler (indexer) template
24. LockManager configuration
24.1. Introduction
24.2. LockManagerImpl
24.3. CacheableLockManagerImpl
24.3.1. Configuration
24.3.2. Simple JbossCache Configuration
24.3.3. Template JBossCache Configuration
24.3.4. Data Types in Different Databases
24.3.5. Lock migration from 1.12.x
25. QueryHandler configuration
25.1. Indexing in clustered environment
25.2. Configuration
25.2.1. Query-handler configuration overview
25.2.2. Standalone strategy
25.2.3. Cluster-ready indexing strategies
25.2.4. JBoss-Cache template configuration
25.3. Asynchronous reindexing
25.3.1. On startup indexing
25.3.2. Hot Asynchronous Workspace Reindexing via JMX
25.3.3. Notices
25.4. Advanced tuning
25.4.1. Lucene tuning
26. JBossTransactionsService
26.1. Introduction
26.2. Configuration
27. TransactionManagerLookup
27.1. Configuration
28. Infinispan integration
28.1. Components configuration requirements
28.2. Workspaces configuration requirements
28.3. Shipped Infinispan Cache configuration templates
28.3.1. Data container template
28.3.2. Lock manager template
28.3.3. Query handler (indexer) template
29. RepositoryCreationService
29.1. Intro
29.2. Dependencies
29.3. How it works
29.4. Configuration
29.5. RepositoryCreationService Interface
29.6. Conclusions and restrictions
30. JCR Query Usecases
30.1. Intro
30.2. Query Lifecycle
30.2.1. Query Creation and Execution
30.2.2. Query Result Processing
30.2.3. Scoring
30.3. Query result settings
30.4. Type Constraints
30.5. Property Constraints
30.6. Path Constraint
30.7. Ordering specifing
30.8. Fulltext Search
30.9. Indexing rules and additional features
30.10. Query Examples
30.10.1. SetOffset and SetLimit
30.10.2. Finding All Nodes
30.10.3. Finding Nodes by Primary Type
30.10.4. Finding Nodes by Mixin Type
30.10.5. Property Comparison
30.10.6. LIKE Constraint
30.10.7. Escaping in LIKE Statements
30.10.8. NOT Constraint
30.10.9. AND Constraint
30.10.10. OR Constraint
30.10.11. Property Existence Constraint
30.10.12. Finding Nodes in a Case-Insensitive Way
30.10.13. Date Property Comparison
30.10.14. Node Name Constraint
30.10.15. Multivalue Property Comparison
30.10.16. Exact Path Constraint
30.10.17. Child Node Constraint
30.10.18. Finding All Descendant Nodes
30.10.19. Sorting Nodes by Property
30.10.20. Ordering by Descendant Nodes Property (XPath only)
30.10.21. Ordering by Score
30.10.22. Ordering by Path or Name
30.10.23. Fulltext Search by Property
30.10.24. Fulltext Search by All Properties in Node
30.10.25. Ignoring Accent Symbols. New Analyzer Setting.
30.10.26. Finding nt:file node by content of child jcr:content node
30.10.27. Changing Priority of Node
30.10.28. Removing Nodes Property From Indexing Scope
30.10.29. Regular Expression as Property Name in Indexing Rules
30.10.30. High-lighting Result of Fulltext Search
30.10.31. Searching By Synonim
30.10.32. Checking the spelling of Phrase
30.10.33. Finding Similar Nodes
30.11. Tips and tricks
30.11.1. XPath queries containing node names starting with a number
31. Searching Repository Content
31.1. Introduction
31.2. Bi-directional RangeIterator (since 1.9)
31.3. Fuzzy Searches (since 1.0)
31.4. SynonymSearch (since 1.9)
31.5. High-lighting (Since 1.9)
31.5.1. DefaultXMLExcerpt
31.5.2. DefaultHTMLExcerpt
31.5.3. How to use it
31.6. SpellChecker
31.6.1. How do I use it?
31.7. Similarity (Since 1.12)
32. Fulltext Search And Affecting Settings
32.1. Property content indexing
32.2. Lucene Analyzers
32.3. How are different properties indexed?
32.4. Fulltext search query examples
32.5. Different analyzers in action
33. JCR API Extensions
33.1. "Lazy" child nodes iteration
33.1.1. Concept
33.1.2. API and usage
33.1.3. Configuration
33.1.4. Implementation notices
34. WebDAV
34.1. Related documents
34.2. Introduction
34.3. Configuration
34.4. Screenshots
34.4.1. MS Internet Explorer
34.4.2. Dav Explorer
34.4.3. Xythos Drive
34.4.4. Microsoft Office 2003
34.4.5. Ubuntu Linux
34.5. Comparison table of WebDav and JCR commands
34.6. Restrictions
34.6.1. Windows 7
34.6.2. Microsoft Office 2010
35. FTP
35.1. Introdution
35.2. Configuration Parameters
35.2.1. command-port:
35.2.2. data-min-port & data-max-port
35.2.3. system
35.2.4. client-side-encoding
35.2.5. def-folder-node-type
35.2.6. def-file-node-type
35.2.7. def-file-mime-type
35.2.8. cache-folder-name
35.2.9. upload-speed-limit
35.2.10. download-speed-limit
35.2.11. timeout
36. eXo JCR Backup Service
36.1. Concept
36.2. How it works
36.2.1. Implementation details
36.2.2. Work basics
36.3. Configuration
36.4. RDBMS backup
36.5. Usage
36.5.1. Performing a Backup
36.5.2. Performing a Restore
36.5.3. Repository and Workspace initialization from backup
36.6. Scheduling (experimental)
36.7. Restore existing workspace or repository
36.8. Restore a workspace or a repository using original configuration
36.9. Backup set portability
37. HTTPBackupAgent and backup client
37.1. Introduction
37.2. HTTPBackupAgent
37.2.1. HTTPBackupAgent methods
37.2.2. HTTPBackupAgent Configuration
37.3. Backup Client
37.4. Backup Client Usage
37.4.1. Building application
37.4.2. Running application
37.4.3. Getting information about backup service
37.4.4. Starting full backup
37.4.5. Starting full and incremental backup on a single workspace
37.4.6. Getting information about the current backups (in progress)
37.4.7. Getting information about the current backup by 'backup_id'
37.4.8. Stopping backup by "backup_id"
37.4.9. Getting information about the completed (ready to restore) backups
37.4.10. Restoring to workspace
37.4.11. Getting information about the current restore
37.4.12. Restoring workspace and remove exists workspace
37.4.13. Restoring workspace from backup set
37.4.14. Restoring workspace from backup set and remove exists workspace
37.4.15. Restoring workspace with original configuation
37.4.16. Restoring workspace with original configuation and remove exists workspace
37.4.17. Restoring workspace from backup set with original configuation
37.4.18. Restoring workspace from backup set with original configuation and remove exists workspace
37.4.19. Restoring repository
37.4.20. Restoring repository and remove exists repository
37.4.21. Restoring repository from backup set
37.4.22. Restoring repository from backup set and remove exists repository
37.4.23. Restoring repository with original configuation
37.4.24. Restoring repository with original configuation and remove exists repository
37.4.25. Restoring repository from backup set with original configuation
37.4.26. Restoring repository from backup set with original configuation and remove exists repository
37.5. Full example about creating backup and restoring it for workspace 'backup'
37.5.1. Creating backup
37.5.2. Getting information about current backups
37.5.3. Stopping backup by id
37.5.4. Deleting the workspace "backup" and close opened sessions on this workspace
37.5.5. Restoring the workspace "backup"
37.5.6. Getting information about restore for workspace /repository/backup
37.6. Full example about creating backup and restoring it for repository 'repository'
37.6.1. Creating backup
37.6.2. Getting information about current backups
37.6.3. Stopping backup by id
37.6.4. Deleting the repository "repository" and close all opened sessions
37.6.5. Restoring the repository "repository"
37.6.6. Getting information about restore for repository 'repository'
38. Use external backup tool
38.1. Repository suspending
38.2. Backup
38.3. Repository resuming
39. eXo JCR statistics
39.1. Statistics on the Database Access Layer
39.2. Statistics on the JCR API accesses
39.3. Statistics Manager
40. Checking repository integrity and consistency
40.1. JMX-based consistency tool
41. JTA
42. The
JCA
Resource Adapter
42.1. Overview
42.2. The
SessionFactory
42.3. Configuration
42.4. Deployment
43. Access Control
43.1. Standard Action Permissions
43.2. eXo Access Control
43.2.1. Principal and Identity
43.2.2. ACL
43.2.3. Notes
43.2.4. Example
43.2.5. Java API
44. Access Control Extension
44.1. Prerequisites
44.2. Overview
44.3. Access Context Action
44.4. The Invocation Context
44.5. Custom Extended Access Manager
44.6. Example of a custom Access Manager
45. Link Producer Service
46. Binary Values Processing
46.1. Configuration
46.2. Usage
46.3. Value implementations
47. JCR Resources:
48. JCR Workspace Data Container (architecture contract)
48.1. Goals
48.2. Concepts
48.2.1. Container and connection
48.2.2. Value storages
48.2.3. Lifecycle
48.2.4. Value storage lifecycle
48.3. Requirements
48.3.1. Read operations
48.3.2. Write operations
48.3.3. State operations
48.3.4. Validation of write operations
48.3.5. Consistency of save
48.4. Value storages API
48.4.1. Storages provider:
48.4.2. Value storage plugin
48.4.3. Value I/O channel
48.4.4. Transaction support via channel
49. How-to implement Workspace Data Container
49.1. Short intro about Workspace data container implementation practices:
49.2. Notes on Value storage usage:
50. DBCleanService
50.1. Description
50.2. Need to clean only single workspace
50.3. Need to clean the whole repository
51. JCR Performance Tuning Guide
51.1. Introduction
51.2. JCR Performance and Scalability
51.2.1. Cluster configuration
51.2.2. JCR Clustered Performance
51.3. Performance Tuning Guide
51.3.1. JBoss AS Tuning
51.3.2. JCR Cache Tuning
51.3.3. Clustering
51.3.4. JVM parameters
Prev
Reference Guide / eXo JCR
Top of page
Front page
Next
Chapter 1. Introduction in eXoJCR