Learning Nuxeo EP [DRAFT]

The Nuxeo Team
Nuxeo SA

January/February 2009


Table of Contents

1. About This Book [DRAFT]
1.1. This is a DRAFT! Give your opinion!
1.2. Who this book is for
1.3. How To Use This Book
1.4. What you will learn from this book
1.5. Contributors
2. Configuring Your Development Environment [DRAFT]
2.1. This is a DRAFT! Give your opinion!
2.2. A brief glance at the road ahead
2.3. Development environment philosophy and assumptions
2.4. Versions
2.5. Verifying your installations and versions
2.5.1. Verifying Nuxeo EP Server
2.5.2. Verifying Eclipse
3. Running The Nuxeo EP Server [DRAFT]
3.1. This is a DRAFT! Give your opinion!
3.2. Enterprise Content Management
3.3. Exercising the web interface to Nuxeo 5
3.4. Nuxeo and JBoss
3.5. Nuxeo Configuration
3.6. Logging (and JBoss configuration)
4. OSGi Bundles, Components & Extension Points [DRAFT]
4.1. This is a DRAFT! Give your opinion!
4.2. OSGi background
4.3. Components and their life cycle
4.4. Interacting with other components
4.4.1. What exactly is "Nuxeo?"
4.5. Extension Points
4.6. Bundles, components, and extension points in action
4.7. The big picture
5. Your First Bundle: Upcoming [DRAFT]
5.1. This is a DRAFT! Give your opinion!
5.2. The layout of a Nuxeo project
5.2.1. Downloading the example project skeleton
5.3. The objective: Upcoming
5.4. Getting the project into Eclipse
5.5. Creating the Upcoming document type
5.5.1. The manifest file
5.5.2. The contributions
5.5.3. The deployment fragment
5.6. Installing the bundle
5.6.1. Looking at the workspace
5.7. Exercises
6. Improving The Upcoming UI [DRAFT]
6.1. This is a DRAFT! Give your opinion!
6.2. Getting the skeleton for this lesson
6.3. Add a layout
6.3.1. Reminder about building and deploying
6.4. A brief interlude about development with Nuxeo
6.5. Adding An Icon
6.5.1. The deployment fragment
6.6. nuxeo.war
6.7. The big picture, again
6.8. Exercises
7. Internationalization And Localization [DRAFT]
7.1. This is a DRAFT! Give your opinion!
7.2. I18N and l10n
7.2.1. Setting your preferred language and locale
7.3. Finding language files
7.3.1. A word about organization
7.4. Internationalizing the Upcoming document type
7.5. Exercises
8. Events And Event Listeners [DRAFT]
8.1. This is a DRAFT! Give your opinion!
8.2. Java Coding With Nuxeo EP
8.2.1. The Maven v. Eclipse battle, round 2
8.2.2. What Eclipse sees
8.3. Testing Java code
8.4. Events and Event Listeners
8.4.1. Key resources
8.4.2. Highlights of the EventListener code
8.5. The test code
8.5.1. Highlights of testEventIsHandled
8.5.2. Highlights of testDocumentCreationHandled
8.5.3. Why DocumentModel and not Document?
8.6. Other files
8.6.1. The EventListener contribution
8.6.2. log4j.properties
8.7. Back to Maven
8.8. Verifying the event handler in the Nuxeo UI
8.9. Exercises
9. XMap And Logging [DRAFT]
9.1. This is a DRAFT! Give your opinion!
9.2. A brief diversion from upcoming
9.3. A word from our sponsors at OSGi
9.4. XMap: the dirty little secret of extension points
9.5. Converting XML to Java
9.6. Logging
9.7. Exercises
10. Users and Groups [DRAFT]
10.1. This is a DRAFT! Give your opinion!
10.2. Creating the social director
10.2.1. The SocialDirector class
10.3. Services and the big picture
10.4. The UserManager service
10.4.1. Directories
10.4.2. UserManager
10.5. Testing the SocialDirector
10.6. Invoking the SocialDirector
10.7. Exercises
11. Access Control And Security [DRAFT]
11.1. This is a DRAFT! Give your opinion!
11.2. Document Security
11.3. ACE, ACL, ACP, and other acronyms
11.4. The repository and paths
11.4.1. Ordering of ACLs and ACEs
11.5. Seeing access control in action
11.6. For the truly interested (or dangerously curious)
11.7. Granting the social director special powers and other exercises