JBoss.orgCommunity Documentation

ModeShape

Reference Guide


Target audience
1. Introduction to ModeShape
1.1. Use cases for ModeShape
1.2. What is metadata?
1.3. What is JCR?
1.4. Project roadmap
1.5. ModeShape modules
1.6. Compiling and building
1.7. What's new?
I. ModeShape Core
2. Execution Context
2.1. Security
2.1.1. JAAS
2.1.2. Web application security
2.2. Namespace Registry
2.3. Class Loaders
2.4. MIME Type Detectors
2.5. Text Extractors
2.6. Property factory and value factories
2.7. Summary
3. Graph Model
3.1. Names
3.2. Paths
3.3. Properties
3.4. Values and Value Factories
3.5. Readable, TextEncoder, and TextDecoder
3.6. Locations
3.7. Graph API
3.7.1. Using Workspaces
3.7.2. Working with Nodes
3.8. Requests
3.8.1. Basic Requests
3.8.2. Change Requests
3.8.3. Workspace Read Requests
3.8.4. Workspace Change Requests
3.8.5. Search Requests
3.8.6. Function Requests
3.9. Request processors
3.10. Observation
3.10.1. Observable
3.10.2. Observers
3.10.3. Changes
3.11. Summary
4. Connector Framework
4.1. Connectors
4.2. Out-of-the-box connectors
4.3. Writing custom connectors
4.3.1. Creating the Maven 3 project
4.3.2. Implementing a RepositorySource
4.3.3. Implementing a RepositoryConnection
4.3.4. Testing custom connectors
4.4. Summary
5. Sequencing framework
5.1. Sequencers
5.2. Stream Sequencers
5.3. Path Expressions
5.4. Out-of-the-box Sequencers
5.5. Creating Custom Sequencers
5.5.1. Creating the Maven 3 project
5.5.2. Testing custom sequencers
5.6. Summary
II. ModeShape JCR
6. Configuration
6.1. Configuring ModeShape
6.1.1. Configuration Files
6.1.2. Programmatic Configuration
6.1.3. Loading from a Configuration Repository
6.2. JCR Repository options
6.3. Repository system content
6.4. Query index directory
6.5. Authentication and Authorization
6.5.1. Built-in Providers
6.5.2. Custom Providers
6.6. Clustering
6.6.1. Enabling Clustering in ModeShape
6.6.2. JGroups configuration
6.7. Using ModeShape in Web Applications
6.7.1. Deploying ModeShape to JBoss AS
6.7.2. Deploying ModeShape to Tomcat
6.8. Setting the Classpath
6.8.1. Building against ModeShape via Maven
6.8.2. Add dependencies for logging
6.8.3. Building against ModeShape via JARs
6.9. What's next
7. Using the JCR API with ModeShape
7.1. What's new in JCR 2.0?
7.1.1. Connecting
7.1.2. Identifiers
7.1.3. Binary Values
7.1.4. Node Type Management
7.1.5. Queries
7.1.6. Workspace Management
7.1.7. Observation
7.1.8. Locking
7.1.9. Versioning
7.1.10. Importing and Exporting
7.1.11. Shareable Nodes
7.1.12. Orderable Child Nodes
7.1.13. Paths
7.1.14. getItem(String)
7.2. Obtaining a JCR Repository
7.2.1. Configuration File URLs
7.2.2. Using JNDI URLs
7.2.3. Cleaning Up after JcrRepositoryFactory
7.3. ModeShape's JcrEngine
7.4. Creating JCR Sessions
7.4.1. Using JAAS
7.4.2. Using HTTP Servlet security
7.4.3. Guest (Anonymous) User Access
7.4.4. Using Custom Security
7.5. JCR Specification Support
7.5.1. Required features
7.5.2. Optional features
7.5.3. TCK Compatibility features
7.5.4. JCR Security
7.5.5. Built-In Node Types
7.5.6. Custom Node Type Registration
7.6. Summary
8. Querying and Searching using JCR
8.1. JCR Query API
8.2. JCR XPath Query Language
8.2.1. Column Specifiers
8.2.2. Type Constraints
8.2.3. Property Constraints
8.2.4. Path Constraints
8.2.5. Ordering Specifiers
8.2.6. Miscellaneous
8.3. JCR-SQL Query Language
8.3.1. Queries
8.4. JCR-SQL2 Query Language
8.4.1. Queries
8.4.2. Sources
8.4.3. Joins
8.4.4. Equi-Join Conditions
8.4.5. Same-Node Join Conditions
8.4.6. Child-Node Join Conditions
8.4.7. Descendant-Node Join Conditions
8.4.8. Constraints
8.4.9. And Constraints
8.4.10. Or Constraints
8.4.11. Not Constraints
8.4.12. Comparison Constraints
8.4.13. Between Constraints
8.4.14. Property Existence Constraints
8.4.15. Set Constraints
8.4.16. Full-text Search Constraints
8.4.17. Same-Node Constraint
8.4.18. Child-Node Constraints
8.4.19. Descendant-Node Constraints
8.4.20. Paths and Names
8.4.21. Static Operands
8.4.22. Bind Variables
8.4.23. Subqueries
8.4.24. Dynamic Operands
8.4.25. Ordering
8.4.26. Columns
8.4.27. Limit and Offset
8.4.28. Pseudo-columns
8.4.29. Example JCR-SQL2 queries
8.5. Full-Text Search Language
8.5.1. Full-text Search Language
8.6. JCR Query Object Model (JCR-QOM) API
9. Accessing ModeShape Remotely
9.1. The ModeShape WebDAV Server
9.1.1. Configuring the ModeShape WebDAV Server
9.1.2. Deploying the ModeShape WebDAV Server
9.2. The ModeShape REST Server
9.2.1. Supported Resources and Methods
9.2.2. Configuring the ModeShape REST Server
9.2.3. Deploying the ModeShape REST Server
9.2.4. ModeShape REST Client API
9.3. Repository Providers
9.4. Summary
III. Connector Library
10. In-Memory Connector
11. File System Connector
12. JPA Connector
12.1. Simple Model
13. JCR Connector
14. Federation Connector
14.1. Projections
14.2. Multiple Projections
14.3. Processing flow
14.4. Update operations
14.5. Configuration
14.6. Repository Source properties
15. Subversion Connector
16. JBoss Cache Connector
17. Infinispan Connector
17.1. Considerations for Distributed Sources
18. Disk Connector
19. JDBC Metadata Connector
IV. Sequencer Library
20. Compact Node Type (CND) Sequencer
20.1. Example
21. XML Document Sequencer
21.1. Example
22. XML Schema Document (XSD) Sequencer
22.1. Example
22.2. Node Types
22.3. Configuration
23. Web Service Definition Language (WSDL) 1.1 Sequencer
23.1. Example
23.2. Node Types
23.3. Configuration
24. ZIP File Sequencer
24.1. Example
25. Microsoft Office Document Sequencer
25.1. Example
26. Java Source File Sequencer
27. Java Class File Sequencer
28. Image Sequencer
29. MP3 Sequencer
29.1. Example
30. DDL File Sequencer
30.1. Example
31. Text Sequencers
31.1. Delimited Text Sequencer
31.2. Fixed Width Text Sequencer
32. Teiid Relational Model Sequencer
32.1. UUIDs
32.2. Node Types
32.2.1. XMI Namespace
32.2.2. Core Namespace
32.2.3. Relational Namespace
32.2.4. JDBC Source Namespace
32.2.5. Transformation Namespace
32.3. Default values
32.4. Annotations
32.5. Tags
32.6. Transformation
32.7. Configuration
32.8. Example
33. Teiid VDB Sequencer
33.1. UUIDs and References
33.2. Node Types
33.2.1. VDB Namespace
33.3. Configuration
33.4. Example
V. MIME Type Detector Library
34. Aperture MIME type detector
35. Writing custom detectors
VI. Text Extractor Library
36. Teiid text extractor
37. Tika text extractor
38. Writing custom text extractors
VII. Administration and Monitoring
39. ModeShape Administration Console
39.1. What can be managed and/or monitored?
39.2. Configuration
39.3. Metrics
39.4. Control (Operations)
40. Looking to the future