Nuxeo Enterprise Platform - Version 5.1 and 5.2

The Reference guide

Julien Anguenot, Eric Barroca, Benoit Delbosc, Thierry Delprat, Damien Dupraz, Laurent Doguin, Alain Escaffre, Stefane Fermigier, Laurent Godard, Olivier Grisel, Florent Guillaume, Solen Guitter, Jean-Marc Orliaguet, Narcis Paslaru, Georges Racinet, Thibault Soulcie, Bogdan Stefanescu, Anahide Tchertchian, Quentin Lamerand, M.-A. Darche, Julien Carsique, Catalin Baican, Stephane Lacoin, Thomas Roger

5.1 / 5.2

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2; with Invariant Section “Commercial Support”, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available at the URL: http://www.gnu.org/copyleft/fdl.html


Table of Contents

I. Introduction
1. Preface
1.1. What this Book Covers
1.2. What this book doesn't cover
1.3. Target Audience
1.4. About Nuxeo
1.5. About Open Source
2. Introduction
2.1. Enterprise Content Management
2.1.1. Why ECM?
2.2. The Nuxeo ECM platform
2.3. Introduction FAQ
2.3.1. What are Nuxeo EP 5, Nuxeo EP and Nuxeo RCP?
2.4. Intended audience
2.5. What this book covers
3. Getting Started
3.1. Overview
3.2. Prerequisites
3.3. Eclipse Plugins v Command Line
3.4. Learning from the project sample
3.5. Setting up the sample project
3.5.1. Some handy environment settings
3.5.2. Checking the sample project out of mercurial
3.5.3. Initialize the Eclipse workspace
3.5.4. Setting up your project for importing into Eclipse
3.5.5. Importing the sample project into Eclipse
3.5.6. Running JUnit tests on the sample code
3.5.7. Building the jar file from the sample project
3.5.8. Deploying the jar file to the Nuxeo server
3.5.9. Starting the nuxeo server
3.5.10. Viewing your changes via the UI
3.5.11. Using Ant
3.6. Understanding the sample code
3.6.1. Two types of changes
3.6.2. The layout of our sample project
3.6.3. A bit about extension points
3.6.4. Declaring the 'Book' document type
3.6.5. Displaying book documents
3.6.6. Actions, tabs and behavior
3.6.7. Making book documents indexable and searchable
3.6.8. Enabling drag&drop creation (plus creating our own extension points)
3.6.9. Regulating book states
3.6.10. Workflow
3.6.11. Listening for events
3.7. Starting a new project
3.8. Using Documentation
3.9. Other IDEs: IntelliJ IDEA and NetBeans
3.9.1. IDEA
3.9.2. NetBeans
4. General Overview
4.1. Introduction
4.1.1. Architecture Goals
4.1.2. Main concepts and design
4.2. Nuxeo 5 Architecture Overview
4.3. Nuxeo Runtime: the Nuxeo EP component model
4.3.1. The motivations for the runtime layer
4.3.2. Extensible component model
4.3.3. Flexible deployment system
4.4. Nuxeo EP layered architecture
4.4.1. Layers in Nuxeo EP
4.4.2. API and Packaging impacts
4.5. Core Layer overview
4.5.1. Features of Nuxeo Core
4.5.2. Nuxeo Core main modules
4.5.3. Schemas and document types
4.5.4. The life cycle associated with documents
4.5.5. Security model
4.5.6. Core events system
4.5.7. Query system
4.5.8. Versioning system
4.5.9. Repository and SPI Model
4.5.10. DocumentModel
4.5.11. Proxies
4.5.12. Core API
4.6. Service Layer overview
4.6.1. Role of services in Nuxeo EP architecture
4.6.2. Services implementation patterns
4.6.3. Platform API
4.6.4. Adapters
4.6.5. Some examples of Nuxeo EP services
4.7. Web presentation layer overview
4.7.1. Technology choices
4.7.2. Componentized web application
5. Schemas and Documents
5.1. Introduction
5.1.1. Concepts
5.2. Schemas
5.3. Core Document Types
5.4. ECM Document Types
5.4.1. Label and Icon
5.4.2. Default view
5.4.3. Layout
5.4.4. Containment rules
5.4.5. Hidden cases
5.4.6. Summary
II. Platform Services
6. Exception Handling
6.1. Introduction
6.2. Extension Points
6.2.1. requestdump
6.2.2. listener
6.2.3. errorhandlers
7. Actions, Views, Navigation URLs and JSF tags
7.1. Introduction
7.2. Actions
7.2.1. Concepts
7.2.2. Manage actions
7.3. Views
7.3.1. UI Views
7.3.2. Manage views
7.4. Navigation URLs
7.4.1. Document view codec service
7.4.2. URL policy service
7.4.3. Additional configuration
7.4.4. URL JSF tags
7.5. Nuxeo Document Lists Manager
7.6. Nuxeo File Manager
7.7. Nuxeo JSF tags
8. Layouts
8.1. Introduction
8.1.1. Layouts
8.1.2. Widgets
8.1.3. Widget types
8.1.4. Modes
8.2. Manage layouts
8.2.1. Layout registration
8.2.2. Layout definition
8.2.3. Widget definition
8.2.4. EL expressions in layouts and widgets
8.3. Document layouts
8.4. Layout display
8.5. Standard widget types
8.5.1. text
8.5.2. int
8.5.3. secret
8.5.4. textarea
8.5.5. datetime
8.5.6. template
8.5.7. file
8.5.8. htmltext
8.5.9. selectOneDirectory
8.5.10. selectManyDirectory
8.5.11. list
8.5.12. checkbox
8.6. Custom templates
8.6.1. Custom layout template
8.6.2. Custom widget template
8.6.3. Builtin templates to handle complex properties
8.7. Custom widget types
8.8. Generic layout usage
9. Event Listeners and Scheduling
9.1. Introduction
9.2. Concepts
9.3. Adding an event listener
9.4. Upgrading an event listener
9.5. Adding an event
9.6. From CoreEvents to JMS Messages
9.7. Adding a JMS message listener
9.8. Scheduling
10. User Notification Service
10.1. Introduction
10.2. Notification concept
10.3. Notification channels
10.4. E-mail notifications
11. Indexing & Searching
11.1. Introduction
11.2. Configuration
11.2.1. Concepts
11.2.2. The indexableDocType extension point
11.2.3. The resource extension point
11.2.4. Field configuration
11.2.5. Text fields and analyzers
11.2.6. Boolean attributes
11.2.7. Schema resources and fields without configuration
11.2.8. Schema resources
11.2.9. Automatic fields configuration
11.3. Programmatic Searching
11.3.1. Fields and literals
11.3.2. WHERE statements
11.4. The Compass plugin
11.4.1. Configuring Compass
11.4.2. Global configuration
11.4.3. Mappings for Nuxeo
11.4.4. Text fields behavior
11.5. Building a search UI with QueryModel
12. Look and feel
12.1. Introduction
12.2. Principle
12.3. Mechanism
12.3.1. The Elements
12.3.2. The format
12.3.3. The negotiation
12.3.4. The engine
12.3.5. Resource management
12.3.6. Application
12.4. Customizing the theme
12.4.1. Modifying the current theme using theme-default.xml
12.4.2. Modifying the current theme
12.4.3. Adding a new theme and its pages
13. Authentication, Users & Groups Management
13.1. Introduction
13.2. Users and Groups configuration
13.2.1. Schemas
13.2.2. Directories
13.2.3. UserManager
13.2.4. User Management Interface
13.3. Authentication
13.3.1. Authentication Framework Overview
13.3.2. Pluggable JAAS Login Module
13.3.3. Pluggable Web Authentication Filter
14. Security Policy Service
14.1. Introduction
14.2. Architecture
14.3. Policy contributions
14.3.1. Core policy contribution
14.3.2. Search policy contribution
15. Workflow & jBPM
15.1. Workflow in Nuxeo 5.1
15.1.1. Deploying process definitions
15.2. Workflow from Nuxeo 5.2: the jBPM Service
15.2.1. Introduction
15.2.2. jBPM service configuration
15.2.3. Document management
15.2.4. Default processes
15.2.5. Nuxeo jBPM How-to
16. Document Versioning
16.1. Setting the version of a document
16.2. Modifying automatically the version of a document
16.3. Accessing document from previous version
16.4. The versioning service implementation
17. Audit Service
17.1. Introduction
17.2. Features
17.3. Architecture
17.4. Retrieving entries
17.5. Contributing the audit service
17.5.1. Recording new events types
17.5.2. Recording additional informations
18. Tag Service
18.1. Introduction
18.2. Features
18.3. Architecture
19. Directories and Vocabularies
19.1. Introduction
19.2. Directory with a Relational Database Management System (SQL) server as backend
19.3. Directory with an LDAP server as backend
19.3.1. Server definition
19.3.2. Directory declaration
19.4. Handling references between directory entries
19.4.1. References defined by a many-to-many SQL table
19.4.2. Static reference as a dn-valued LDAP attribute
19.4.3. Dynamic reference as a ldapUrl-valued LDAP attribute
19.4.4. LDAP tree reference
19.4.5. Defining inverse references
19.5. Combining multiple directories into a single virtual directory
19.5.1. Multi-directory sources
19.5.2. Sub-directories
19.6. The Directory API
19.7.
19.7.1. Building custom option lists in forms with directories
19.7.2. Vocabularies/Directories management
20. Binary content
20.1. Introduction
20.2. Standard blob management
20.3. External blob management
20.4. About BlobHolder
21. Mimetype detection
21.1. Introduction
21.2. MimetypeRegistry
21.3. Mimetype sniffing
21.4. Invoking the mimetype detection
22. Content Transformation
22.1. Introduction
22.2. Plugins module
22.2.1. Creating a plugin
22.2.2. Declaring a plugin module
22.2.3. Using a transform plugin
22.3. Available transforms
22.3.1. Document conversion
22.3.2. Pdfbox
22.3.3. OLE objects extraction
22.3.4. Office files merger
22.3.5. XSL Transformation
23. Nuxeo Conversion Service
23.1. Conversion Service vs Transformation Service
23.1.1. Motivations for this API changes
23.1.2. What has been improved
23.1.3. About compatibility
23.2. Using Conversion Service
23.2.1. built-in converters
23.2.2. Conversion Service API
23.2.3. Configuring converter service
23.2.4. Contributing converters
23.2.5. Converters based on external command line tools
24. Relations
24.1. Introduction
24.2. Concepts
24.3. Configuration
24.3.1. Graph instances
24.3.2. Resource adapters
24.4. Manage relations
24.5. Display relations
24.6. Architecture overview
25. Placeful Configuration
25.1. Introduction
25.2. Using Placeful Configuration
25.3. Contributing a placeful configuration
25.4. Available storage
25.4.1. In memory storage
25.4.2. Directory storage
25.5. Exemple of extension definition
26. Content Template Service
26.1. Introduction
26.2. Contributing a content factory
26.2.1. Factory Binding
26.2.2. Template
26.2.3. ACL
26.3. How to Register your own Factory
27. Monitoring Nuxeo
27.1. Integrating Nuxeo monitoring in your management system
27.1.1. Inventory (nx:*,management=inventory)
27.1.2. Metric (nx:*,metric=*,management=metric)
27.1.3. Quality (nx:*,usecase=*,management=usecase)
27.2. Integrating management in nuxeo server
27.2.1. nuxeo-runtime-management
27.2.2. nuxeo-platform-management
27.2.3. nuxeo-webengine-management
27.3. Contributing management
27.3.1. Publishing
27.3.2. Providing shortcuts
27.3.3. Reporting quality
III. Core Services
28. Nuxeo Runtime
28.1. Overview
28.1.1. Main Goals
28.1.2. Main Features
28.2. What is OSGi?
28.3. OSGi Support
28.3.1. Supported Features
28.3.2. Unsupported Features
28.3.3. Planned Features
28.4. Component Model
28.4.1. What are components?
28.4.2. Main Features
28.4.3. Planned Features
28.4.4. Adapting Components
28.4.5. Flexible Model
28.4.6. Component Life Cycle
28.4.7. Component Extensibility
28.5. Supported Host Platforms
28.5.1. JBoss Integration
28.5.2. Eclipse Integration
28.6. Using Nuxeo Runtime
28.6.1. Creating Components
28.6.2. Using components
28.6.3. XML Component Descriptors
28.7. Integration tests for Nuxeo Runtime applications
28.7.1. The NXRuntimeTestCase base class
28.7.2. Frequent patterns
28.8. Detailed Architecture
28.9. References
29. Nuxeo Core Documentation
29.1. TODO: BS
29.2. Overview
29.2.1. Main goals
29.2.2. Nuxeo Core Components
29.3. Nuxeo Core Architecture
29.3.1. Model Layer (or Internal API)
29.3.2. Implementation Layer
29.3.3. Facade Layer (or Public API)
29.3.4. Deployment
29.3.5. Client Session
29.4. The Repository Model
29.4.1. Document and Schemas
29.4.2. Document Facets
29.4.3. Document Annotations
29.4.4. Document Access Control
29.4.5. Life Cycle
29.4.6. Query Engine
29.4.7. The Public API
29.4.8. Integration with Applications Servers
29.5. Extension Points
29.5.1. Session Factories
29.5.2. LifeCycle Managers
30. Nuxeo Core Import / Export API
30.1. Export Format
30.1.1. document.xml format
30.1.2. Inlining Blobs
30.2. Document Pipe
30.3. Document Reader
30.4. Document Writer
30.5. Document Transformer
30.6. API Examples
30.6.1. Exporting data from a Nuxeo repository to a Zip archive
30.6.2. Importing data from a Zip archive to a Nuxeo repository
30.6.3. Export a single document as an XML with blobs inlined.
31. Nuxeo Event Service
31.1. Nuxeo event model
31.1.1. Event
31.1.2. EventContext
31.1.3. EventListener
31.1.4. Transactions and Events
31.1.5. EventBundle
31.1.6. PostCommitEventListener
31.2. Using Events
31.2.1. Firing Events
31.2.2. Contributing an EventListener
31.2.3. Contributing a PostCommitEventListener
31.3. JMS and Nuxeo Events
31.3.1. JMS integration
31.3.2. Enabling JMS bridge
31.3.3. From 5.1 event model to 5.2
32. Experimental Topics
32.1. Introduction
32.2. Runtime Support for Scripting Languages
32.2.1. Introduction
32.2.2. Supported languages
32.2.3. Running a Script
IV. SOA, Web Services and various integration solutions
33. The Nuxeo Restlet API
33.1. Restlet Integration
33.1.1. Restlet types in Nuxeo 5
33.1.2. Restlet URL and parameters mapping
33.1.3. Contributing a new restlet
33.2. Nuxeo default restlets
33.2.1. Browse restlet
33.2.2. Export restlet
33.2.3. Lock restlet
33.2.4. Plugin upload restlet
33.3. Nuxeo RestPack
33.3.1. Installing the RestPack
33.3.2. Restlets included in the RestPack
33.4. Nuxeo WebEngine Restlets
34. Nuxeo HTTP client
34.1. HTTP Client Library
34.2. HTTP client authentication
35. Web services
35.1. Audit web service
35.2. Remoting web service
35.3. Indexing gateway service
35.4. Metro web services
36. Nuxeo JSR 168 Integration
36.1. Overview
36.2. Testing Nuxeo Portlets
36.2.1. Prerequisites
36.2.2. Generate a sample project with nuxeo-archetype-portlet archetype
36.2.3. Test the newly created portlet
36.3. Developping Nuxeo Portlets
36.3.1. NuxeoPortlet class
36.3.2. Project from nuxeo-archetype-portlet archetype
36.3.3. portlet.xml
36.3.4. Restlets
36.4. Available portlets
36.4.1. Nuxeo Search Portlet
37. Desktop integration tools
37.1. Drag and drop browser extensions
37.1.1. Server side import service: the FileManagerService
37.1.2. Microsoft Internet Explorer plugin
37.1.3. Mozilla Firefox plugin
37.2. Online document editing with LiveEdit
37.2.1. Functional overview
37.2.2. Functional use cases
37.2.3. Architectural overview
37.2.4. The Web Service component
37.2.5. More on editor launch
37.2.6. More on pre- and post-editing actions
37.3. Configuring LiveEdit links
37.3.1. Configuration policies
37.3.2. Changing the configuration policy
38. Nuxeo WebDAV interface
38.1. WebDAV clients
38.1.1. Path vs displayName
38.1.2. Filesystem resource vs Nuxeo DocumentModel artifact
38.1.3. MS Web Folder client
38.2. Fooling WebDAV clients
38.2.1. Available hacks
38.2.2. Configuring Nuxeo WebDAV connector for each client.
38.3. Nuxeo EP WebDAV implementation
38.3.1. Nuxeo EP WebDAV-specific features
38.3.2. Known limitations
38.4. Using the Nuxeo WebDAV connector
38.4.1. Installing the WebDAV connector
38.4.2. Connecting a client to Nuxeo WebDAV connector
39. Reporting: Eclipse BIRT Driver
39.1. Overview
39.2. How to use it
39.3. Tomcat integration HOWTO
40. Nuxeo Flex Connector
40.1. Overview
40.2. Development environment
40.3. Build and Deploy
40.3.1. Sample Overview
40.4. Dive In
40.4.1. Data Services Configuration
40.4.2. Your First Flex application
40.4.3. Granite DS configuration
V. Administration overview
41. OS requirements, existing and recommended configuration
41.1. Required software
41.2. Recommended configuration
41.2.1. Hardware configuration
41.2.2. Default configuration
41.2.3. For optimal performances
41.3. Known working configurations
41.3.1. OS
41.3.2. JVM
41.3.3. Storage backends
41.3.4. LDAP
42. SMTP Server configuration
43. RDBMS Storage and Database Configuration
43.1. Storages in Nuxeo EP
43.2. Installing the JDBC driver
43.3. Configuring Nuxeo Core Storage
43.3.1. Visible Content Store configuration
43.3.2. JCR backend configuration
43.3.3. Set up your RDBMS
43.3.4. Start Nuxeo EP
43.4. Configuring Storage for other Nuxeo Services
43.4.1. Configuring datasources
43.4.2. Relation service configuration
43.4.3. Tag service configuration
43.4.4. Compass search engine dialect configuration
43.5. Setting up a new repository configuration
43.5.1. Add the new repository configuration
43.5.2. Declare the new repository to the platform
44. LDAP Integration
44.1. For users/groups storage backend
45. OpenOffice.org server installation
45.1. Installation
45.1.1. Start server
45.1.2. Parameters
45.1.3. Installing an extension
45.1.4. Notes
45.2. Running OpenOffice as a Daemon
45.2.1. Nuxeo OOo Daemon
45.2.2. Configuring Nuxeo OOo Daemon
46. Run Nuxeo EP with a specific IP binding
47. Backup, restore and reset
47.1. Backup
47.2. Backup before an upgrade
47.3. Restore
47.4. Reset
48. Offline client synchronization
48.1. Working environment
48.2. Use case
48.3. User guide
48.4. How does it work?
49. Replication tool
49.1. Functional Objective
49.2. Use cases
49.3. User guide
49.4. How does it work?
50. The Nuxeo Shell
50.1. Overview
50.2. User Manual
50.2.1. Command Options
50.2.2. Commands
50.3. Troubleshooting
50.3.1. Check listened IP
50.3.2. Check connected server
50.3.3. Multi-machine case
50.4. Extending the shell
50.4.1. Registering New Custom Commands
50.4.2. Java Code for the new commands
50.4.3. Building the shell plugin
50.4.4. Deploying the shell plugin
VI. Core developer guide
51. Coding and Design Guidelines
51.1. Introduction
51.2. External Coding Standards
51.3. Some points that need attention
51.3.1. Java code formating
51.3.2. XML code formatting
51.3.3. Design
51.3.4. Unit tests
51.3.5. Security
51.3.6. Naming convention
51.3.7. Information hiding
51.3.8. Use modern Java features
51.3.9. Logging
51.3.10. Documentation: Comments and Javadoc
51.3.11. Deprecation
51.4. Methodology tips
51.4.1. Use the power of your IDE (and its plugins)
51.4.2. Refactor
51.5. Important references
52. Development Tools and Process
52.1. Mercurial usage
52.1.1. Overview and online documentation
52.1.2. Nuxeo common usage
52.1.3. Best practices
52.1.4. Useful scripts, commands and tips
52.1.5. Advanced usage and specific use cases
52.2. Code Quality with Eclipse Plugins
52.2.1. Using Checkstyle
52.2.2. Using TPTP
52.2.3. Using FindBugs
52.3. Profiling with NetBeans Profiler
52.4. NXPointDoc Documentation tool
52.4.1. Documenting a component
52.4.2. Creating the NxPointDoc site
52.4.3. Browsing NxPointDoc
52.5. Quality Assurance with continuous integration
52.5.1. Rules and means
52.5.2. Quality directives for Nuxeo developers
52.6. Release process
52.6.1. Overview
52.6.2. Continuous integration coverage
52.6.3. Help testing release candidates
53. Packaging Nuxeo EAR
53.1. Introduction
53.2. Basic project structure
53.3. The EAR module
53.3.1. Assembly descriptor
53.3.2. Add some resources
53.4. Improve usability
53.4.1. Thanks to Maven
53.4.2. Thanks to Ant
53.5. Recommended multi-machine packagings
53.5.1. Bi-machine: stateful/stateless
54. Release Management
54.1. Introduction
54.2. Let's release!
54.2.1. Remove all dependencies on SNAPSHOT versions
54.2.2. Checkout the code and clean your repository
54.2.3. Test the release
54.2.4. Perform the release
54.2.5. You're done
VII. Add-ons
55. Add-ons
55.1. Introduction
56. Nuxeo Annotation Service
56.1. Introduction
56.1.1. W3C Annotea
56.1.2. Logical architecture overview
56.1.3. XPointer integration and extension.
56.2. Annotation Service Core
56.2.1. Overview
56.2.2. Implementation
56.2.3. Storage
56.2.4. uriResolver
56.2.5. urlPatternFilter
56.2.6. metadata
56.2.7. permissionManager and permissionMapper
56.2.8. annotabilityManager
56.2.9. UID Generation
56.2.10. Event management
56.3. NXAS Repository Plugin
56.3.1. Overview
56.3.2. Default contribution
56.3.3. Extension Point
56.3.4. documentEventListener
56.3.5. securityManager
56.3.6. jcrLifecycleEventId and graphManagerEventListener
56.4. NXAS Web
56.4.1. Overview
56.4.2. Extension Point
56.4.3. Configuration
56.5. Annotation Service Facade
56.6. Annotation Service HTTP Gateway
56.6.1. Overview
56.7. References
57. Virtual Navigation
57.1. Virtual Navigation
57.1.1. Virtual Navigation presentation
57.1.2. Virtual Navigation configuration
58. Metadata Extraction Service
58.1. Introduction
58.2. Metadata extraction module
58.2.1. Defining a contribution for metadata extraction
58.2.2. Specifying input parameters
58.2.3. Chaining extractions
58.2.4. Creating a plugin for metadata extraction
58.2.5. Using a metadata extraction plugin
59. Unicity Service
59.1. How does it works ?
59.2. What you need:
59.3. Configuration
59.4. Snippets
60. Nuxeo Mail Service
60.1. Presentation
60.2. Basic Use
60.2.1. Configuration
60.3. Advanced Use
61. Imaging
61.1. Introduction
61.2. Imaging API
61.3. Imaging transform
61.4. Imaging web
61.5. Imaging core
62. Nuxeo Preview Addon
62.1. Overview
62.2. Installing the Preview Addon
62.2.1. Deploy the Addon
62.2.2. Configure Transformers
62.3. Extensions and Pluggability
62.3.1. Pluggable Adapters
62.3.2. Pluggable HTML Transformers
62.4. Previews and URLs
63. Nuxeo Tiling service Addon
63.1. Overview
63.2. How tiles are defined and computed
63.3. Installing the picture tiling Addon
63.3.1. Requirements
63.3.2. Deploy the addon
63.3.3. Configuration
63.4. Testing the tiling service
63.4.1. URL and restAPI
63.4.2. simple test client
64. Nuxeo DocumentLink Addon
64.1. Overview
64.2. How does it work
64.3. DocumentLink and Repository
64.4. Using DocumentLink
64.4.1. Using the adapter
64.4.2. Using the DocRepository
65. Nuxeo Search Center
65.1. Overview
65.2. Installing and testing the search center
65.2.1. Building from source
65.2.2. Deploying on a Nuxeo server
65.2.3. Using the Search Center
65.3. How does it work
65.3.1. The GWT client
65.3.2. The JAX-RS server
65.3.3. The SearchCenterService
65.4. How to customize the list of available filters
65.4.1. FilterWidgets
65.4.2. FilterSets
65.5. How to build new GWT filter widgets
65.5.1. Setting up a GWT eclipse development environment
65.5.2. Existing filter widgets
65.5.3. TODO: layout and extension points
VIII. Annexes
A. FAQs
A.1. Deployment and Operations
B. Detailed Development Software Installation Instructions
B.1. Installing Java 5
B.1.1. Using the Sun Java Development Kit (Windows and linux)
B.1.2. Using a package management systems (Linux)
B.1.3. Manual installation (Linux)
B.1.4. Setting up JAVA_HOME (Windows, Linux, Mac OS)
B.2. Installing Ant
B.3. Installing Maven
B.3.1. What is Maven?
B.3.2. Installing Maven
B.3.3. Generate a new project with the nuxeo-archetype-start archetype
B.4. Installing JBoss AS
B.4.1. JBoss AS listening ports customization
B.4.2. Affected JBoss services
B.5. Installing a Subversion client
B.5.1. Generic subversion clients with linux
B.5.2. Windows
B.6. Installing mercurial
B.6.1. Linux
B.6.2. Windows
B.6.3. Mac OS
B.6.4. Setting a username
B.6.5. Activating pre-integrated extensions
B.6.6. Using forest
B.7. Chapter Key Point
C. Commercial Support
C.1. About Us
C.2. Contact information
C.2.1. General
C.2.2. Europe
C.2.3. USA