Apache Felix “is a community effort to implement the OSGi R4 Service Platform, which includes the OSGi framework and standard services”.
OSGi is a fundamental element in the Technology stack of CQ5, and is used to control bundles and their configuration.
The Apache Felix Web Management Console offers a selection of tabs for controlling the OSGi bundles:
Bundles: used for installing bundles
Components: used for controlling the status of components required for CQ5
Configuration: used for configuring the OSGi bundles, and is therefore the underlying mechanism for configuring CQ system parameters
![]() | Important |
|---|---|
Any changes made are immediately applied to the running system. No restart is required. |
It can be accessed from ../system/console/components;
for example
http://localhost:4502/system/console/components.
The Bundles tab is the mechanism for
installing the OSGi bundles required for CQ5.

Using this tab you can:
- Install or Update
You can
Browseto find the file containing your bundle and specify whether it shouldStartimmediately and at whichStart Level.- Refresh Packages
Refreshes the list displayed.
- Start
Starts a bundle according to the start level specified.
- Stop
Stops the bundle.
- Uninstall
Uninstalls the bundle from the system.
- see the status
The list specifies the current status of the bundle; clicking on the name of a specific bundle with show further information.
The Components tab allow you to Enable
and/or Disable the various components.
Clicking on the name of a particular component will also display further information on its status.

![]() | Important |
|---|---|
Enabling, or disabling, a component will only apply until CRX is restarted. The start state is defined within the component descriptor, which is generated during development and stored in the bundle at bundle creation time. |
The Configuration tab is used for
configuring the OSGi bundles, and is therefore the underlying
mechanism for configuring CQ5 system parameters.

There are two types of configurations available from the drop down lists on this screen:
- Configurations
Allows you to update the existing configurations. These have a Persistent Identity (PID) and can be either:
standard and integral to CQ5; these are required, if deleted the values return to the default settings.
instances created from Factory Configurations; these instances are created by the user, deletion removes the instance.
- Factory Configurations
Allows you to create an instance of the required functionality object.
This will be allocated a Persistent Identity and then listed in the Configurations drop down list.
Selecting any entry from the lists will display the parameters related to that configuration.
You can then:
- Save
Save the changes made.
For a Factory Configuration this will create a new instance with a Persistent Identity. The new instance will then be listed under Configurations.
- Reset
Reset the parameters shown on screen to those saved last.
- Delete
Delete the current configuration. If standard, the parameters are returned to the default settings. If created from a Factory Configuration, then the specific instance is deleted.
This section deals with the configuration details of specific bundles and/or instances of bundles required for CRX.
Configuration of the OSGi Management Console.
Table 15. OSGi Management Console
| Parameter | Comments |
|---|---|
| User Name | The name of the user allowed to access the OSGi Management Console. This must match a valid account registered in CRX. To disable authentication clear this value. Default:
|
| Realm | The name of the HTTP Authentication Realm. Default: |
| Root URI | The root path to the OSGi Management Console.
This is used when starting the console; for example, using
the default:
Default:
|
| Default Page | The name of the default configuration page when invoking the OSGi Management console. The console has several pages, or tabs. This value specifies which will be shown when the console is started. Default:
|
| Password | The password for the user allowed to access the OSGi Management Console. This must match the password as registered in CRX. Upon initial installation you should change the password of the account used to access the OSGi Management Console. After that it should be changed in compliance with security guidelines at the customer site. Default:
|
The ResourceBundleProvider service loads the messages from the repository. Here you may configure how the provider accesses the repository.
If the user name field is left empty, the provider accesses the repository anonymously. Otherwise the user name and password specified are used to access the repository.
Failing to access the repository, effectively disables the provider.
Table 16. JCR ResourceBundle Provider
| Parameter | Comments |
|---|---|
| Password | The password required for the specified user name. Must be valid for accessing CRX. This field is only used if the user name field is not empty. |
| User Name | The user name to be used for accessing the repository, which must be a valid CRX user. If this field is empty, the provider accesses the repository as the anonymous user. |
| Default Locale | If no locale can be resolved, then this will be used as the default. The value specified must be in a form acceptable to the java.util.Locale class. |
Configuration of the Java Script Handler.
Table 17. OSGi Management Console
| Parameter | Comments |
|---|---|
| Source Encoding | The encoding to be used to read the source files. Default: |
| Source VM | Java Specification to be used to read the source files. Default:
|
| Target VM | Java Specification to be used to generate the compiled output. Default:
|
| Development Mode | Defines whether scripting is to be used in development mode (will result in a check for modification on every access). Allowed Values:
Default:
|
| Compilation Location | Defines the directory to be used when compiling Java files. Default:
|
| Modification Check Interval | Specifies the time interval between checks for modification on a given Java file. Setting
this to Default:
|
| Generate Debug Info | Defines whether the class file should be compiled with debugging information. Allowed
Values: Default:
|
The Request Authenticator extracts user authentication details from the request. It does this in conjunction with authentication handlers which are registered as separate services; for example, the HTTP Authorization header handler.
Table 18. Request Authenticator
| Parameter | Comments |
|---|---|
| Impersonation Cookie | The name of the HTTP Cookie used to set the user to be impersonated. This cookie will always be a session cookie. Default:
|
| Impersonation Parameter | The name of the request parameter initiating impersonation. Setting the specified request parameter to a user id will:
Default:
|
| Allow Anonymous Access | Specifies whether access will default to anonymous if no credentials are provided. This is primarily of interest for the publish instance. The default value is
“ When disabled, access to the repository is only allowed if valid credentials are provided. Default:
|
Specifies the information required for the Resource Resolver to perform mappings between the request URL and resource paths.
Table 19. Resource Resolver
| Parameter | Comments |
|---|---|
| Allow Direct Mapping | Specifies whether to add a direct URL mapping to the front of the mapping list. Default:
|
| Virtual URLs | A list of virtual URLs and their mappings to real URLs. Mappings are applied on the complete request URL only. The format used is
Default:
|
| URL Mappings | A list of mappings to apply to URLs. Incoming mappings are applied to request URLs, mapping them to Content paths. Outgoing mappings are applied to map Content paths to URLs used on subsequent requests. The format used is
Mappings are applied in configuration order by comparing and replacing URL prefixes. Defaults:
“ |
| Resource Search Path | The list of absolute path prefixes which can be applied (to find resources) when the path has been specified with a relative path. Defaults:
“ Note:
If an empty path is specified a single entry path of
“ |
| Resource Regexps | A list of regular expression substitutions that will be applied to a URL before the resource resolving. The purpose is to replace any characters which should not occur in the path. The format for definition is <regexp>|<replacement string> ; i.e. the regexp is separated from the replacement string by the | (pipe) character. Standard regular expressions are used. The default
For each regexp you need to specify a regexp which will perform the reverse substitution - see Map Regexps. Default:
|
| Map Regexps | A list of regular expression substitutions that will be applied to a resource before mapping to the URL. The purpose is to replace any characters which should not occur in the path. See Resource Regexps above for further details. Default:
|
See the Factory Configuration of the section called “CRX Sling Client Repository”.
The JSP Script Handler supports development of JSP scripts used to render response content on behalf of ScriptComponents.
Internally the Jasper 5.5.20 JSP Engine is used, together with the Eclipse Java Compiler to compile generated Java code into Java class files. Some settings of Jasper may be configured as specified below.
![]() | Note |
|---|---|
JSP scripts are expected in the JCR repository. Generated Java source and class files will be written to the JCR repository below the configured Compilation Location. |
Table 20. JSP Script Handler
| Parameter | Comments |
|---|---|
| Compilation Check Interval | If Default:
|
| Generate Debug Info | Indicates whether the class file will be compiled with debugging information. Use of debugging information can impact the performance. Default:
|
| Development Mode | Specifies whether Jasper is used in development mode (will check for JSP modification on every access). These checks may impact performance. Default:
|
| Tag Pooling | Determines whether tag handler pooling is enabled. Default:
|
| Plugin Class-ID | Indicates the class-id value to be sent to
Internet Explorer when using
Default:
|
| Char Array Strings | Specifies whether text strings will be generated as char arrays. Note: This can improve performance in some cases. Default:
|
| Keep Generated Java | Should we keep the generated Java source code for each page instead of deleting it? true or false. Default:
|
| Mapped Content | Specifies whether static content (one print statement per input line) will be generated. This output can then be used to ease debugging. Default:
|
| Modification Check Interval | Checks for the modification of a given JSP file (and all its dependent files) will be performed only once every interval. This parameter specifies the interval in number of seconds. i.e. 4 indicates that the check will occur once every 4 seconds. Setting this to 0 will cause the JSP to be checked on every access. Default: |
| Check Modified JSPs | Specifies whether Jasper will check for modified JSPs. Default:
|
| Compilation Location | Defines the scratch directory to be used when compiling JSP pages. Default: The work
directory for the current web application. i.e.
|
| Trim Spaces | Specifies whether white spaces in the template text (between actions and/or directives) will be trimmed. Default:
|
| Display Source Fragments | Specifies whether a source fragment should be included in exception messages, for display to the developer. |
Global configuration setup for the Sling OSGi LogService implementation.
Table 21. Sling Logging Configuration
| Parameter | Comments |
|---|---|
| Log Level | The log level setting used by the root logger. Possible values are: Trace, Debug, Information, Warnings, Error. Default:
|
| Log File | The name of the log file, with directory path. If this is empty, the log messages are output to standard output (the console). If
this path is relative it is resolved to below
|
| Number of Log Files | This specifies the number of versions of a log files to be kept. When the size of the log file reaches the configured maximum (see Maximum Log File Size), the existing log file is moved and a new version created. Default:
|
| Maximum Log File Size | The maximum size of a log file. If the specified size is reached, then the log file is moved and a new version is created. This size may be specified with size indicators KB, MB and GB (case insensitive). Default:
|
| Message Pattern | The Message Pattern is used to format the log messages. This is a
If the log call includes a
“ Default:
|
This section deals with the Factory Configuration details of bundles required for CRX. Using these, you can configure and create specific instances of such bundles.
Implements a sling repository that accesses an underlying CRX.
Table 22. CRX Sling Client Repository
| Parameter | Comments |
|---|---|
| JNDI Provider URL | Specifies the DNS host name and service port number of the machine that is running the JNDI service Default:
|
| JNDI Initial Factory | Defines the initial context factory. Default:
|
| Repository Name | Name of the CRX repository to be accessed. Default:
|
| Default Workspace | Default workspace to be used within the CRX repository. |
| Anonymous UserId | User name of the anonymous account. Default:
|
| Anonymous Password | Password for the anonymous account. Default:
|
| Admin UserId | User name of the administration account to be used to access the repository. This must match a valid account on the repository. Default:
|
| Admin Password | Password for the administration account to be used for accessing the repository. This password must match the password of the account on the repository. Default:
|
| Active Poll Interval | Interval between the polling checks to confirm that the repository is still active. Default:
|
| Inactive Poll Interval | If it has been determined that the repository is not active, then this interval is used for polling until it is active again. Default:
|
| Pool max wait | Specifies the time to wait for a new session to be allocated if the session pool is full. If no session can be allocated after the specified time, the session request is aborted and a log entry made. Default:
|
| Pool max active | Maximum number of sessions which can be concurrently active. Default:
|
| Pool max idle | Maximum number of currently idle sessions to keep in the pool. Default:
|
The Logging Logger controls which log messages are written, and into which file. A Logger works together with a Logging Writer.
You can create and configure a new instance of a Sling Logging Logger, with levels, patterns and destinations. Creating a new instance can be used to set an additional logging level.
![]() | Note |
|---|---|
The “ |
Table 23. Sling Logging Logger Configuration
| Parameter | Comments |
|---|---|
| Log Level | The log level setting used by the root logger. Possible values are: Trace, Debug, Information, Warnings, Error. Default:
|
| Log File | The name of the log file, including directory path. If this is empty, logging messages are output to standard output (the console). If
this path is relative, it is resolved below
Default:
|
| Message Pattern | The Message Pattern is used to format the log messages. This is a
If the log call includes a
“ Default:
|
| Categories | A list of categories applicable for the new instance of the logger. Each category applies
to any child category unless configured otherwise; e.g. a
category of |
Configure a Logger Writer for Sling Logging. This takes the messages from the Sling Logging Logger, writes them to file, and controls the versioning of the log files.
![]() | Note |
|---|---|
The “ |
Table 24. Sling Logging Writer Configuration
| Parameter | Comments |
|---|---|
| Log File | The name of the log file, including directory path. If this is empty, logging messages are output to standard output (the console). If
this path is relative, it is resolved below
Default:
|
| Number of Log Files | This specifies the number of versions of a log files to be kept. When the size of the log file reaches the configured maximum (see Maximum Log File Size), the existing log file is moved and a new version created. Default:
|
| Maximum Log File Size | The maximum size of a log file. If the specified size is reached, then the log file is moved and a new version is created. This size may be specified with size indicators KB, MB and GB (case insensitive). Default:
|
This section deals with the configuration details of specific bundles and/or instances of bundles required for CQ.
These settings are used to configure group membership of the anonymous user at start-up.
Table 25. CQ Anonymous Membership set-up
| Parameter | Comments |
|---|---|
| Groups Anonymous has to be member of | At start-up, adds anonymous to these groups. Default:
|
| Groups Anonymous must not be member of | At start-up, removes anonymous from these groups. Default:
|
These settings are used to resolve the theme based on the handle-mapping configuration.
Table 26. CQ Default Theme Resolver
| Parameter | Comments |
|---|---|
| Handle Mapping | Specifies the pattern to be used for mapping from handles to themes.
Default:
|
| Default Theme | Path of the default theme, to be used if none can be applied from the mappings above. Default:
|
The HTML Library Manager is primarily of interest to developers, as it provides methods for including js and/or css files stored in the repository, also resolving the categories and dependencies.
Table 27. CQ HTML Library Manager
| Parameter | Comments |
|---|---|
| Minify | Compress js/css files using the YUI compressor (for whitespace removal etc.) Default:
|
| Debug | Serve js/css files individually (instead of concatenating them) for better client-side debugging. Default:
|
| Gzip | Use gzip compression for delivering js/css files. Default:
|
| Timing | Enable JS load timing. This
requires the function
Default:
|
| Firebug Lite Path | Path in the workspace where the
The script should make sure it does not activate if the real firebug is present. Default:
|
| Debug Console | Enables a client-side debug console. This
will include the Default:
|
| Debug Init Script | A Javascript snippet for enabling debugging and/or show the console. Default:
|
Performs link checking for both internal and external links, though the configuration only affects external links.
Table 28. CQ Link Checker Task
| Parameter | Comments |
|---|---|
| Scheduler Period | scheduler.period.description |
| Good Link Test Interval | The interval in hours to check good links. |
| Bad Link Test Interval | The interval in hours to check bad links. |
| link_unused_interval.name | link_unused_interval.description |
| Proxy Host | Optional proxy for accessing/checking external links. |
| Proxy Port | Optional proxy port for accessing/checking external links. |
| Proxy User | Optional user for proxy authentication. |
| Proxy Password | Optional password for proxy authentication. |
| connection.timeout.name | connection.timeout.description |
| NTLM Proxy Host | When using NTLM proxy authentication,set this property to the name of the host where CQ5 is running. |
| NTLM Proxy Domain | The domain name required for NTLM authentication. When using NTLM proxy authentication,set this property to the name of the NT domain that the specified user belongs to. |
The Locale Resolver reads the user's preferred language from their account properties. This is then used to determine the locale for requests.
If no user language has been defined, then the locale defaults to the language configured for this Service - see below.
Table 29. CQ Preference Locale Resolver
| Parameter | Comments |
|---|---|
| Request default language | Specifies the language to be selected for the request if the user does not have a language preference set, or the preference cannot be resolved. Default:
|
| Preference Name | Specifies where the user's language preference is held. Default:
|
Resolves and maintains the themes stored inside a Repository.
Table 30. CQ Repository Theme Registration
| Parameter | Comments |
|---|---|
| Theme Root | Path where the themes are stored. Default:
|
| Default Theme Name | Name of the default theme. Default:
|
| Root Nodetype Name | Name of the NodeTypes to be used for folders. Default:
|
Maps any requests to "/" to an entry page.
Table 31. CQ Root Mapping
| Parameter | Comments |
|---|---|
| Target Path | Redirects requests to "/" to the specified path. Defaults: author:
publish:
|
Controls the WCM debug mode, which can be used when developing components.
Table 32. CQ WCM Debug Filter
| Parameter | Comments |
|---|---|
| Enabled | Controls whether the WCM debug mode is enabled. Default:
|
This controls the WCM mode for component and edit context; which injects javascript for editing. This enables an author to edit or preview the component settings on a page.
Table 33. CQ WCM Filter
| Parameter | Comments |
|---|---|
| WCM Mode | This controls the WCM mode for component and edit context; injects javascript for editing. You can select between Edit, Disabled and Preview.
Default:
|
This manages:
access to workflow sessions
the lifecycle of the workflow engine.
Table 34. Communiqué 5 Workflow Service
| Parameter | Comments |
|---|---|
| Model Path | Specifies the location used for storing models. Default:
|
| Instances Path | Specifies the location used for storing instances. Default:
|
| Workspace | Specifies the workspace (in the repository) which will be used for workflows. Default:
|
| Job Retry Count | Specifies how often execution of a job will be attempted before it is abandoned. |
| Superuser | List of superusers and administrators accounts which have access to the Workflow Engine. Default:
|
| Workflow Group | Group containing all users that can participate in a workflow. Note: This group must be assigned to any user account required to access workflows. Default:
|
Defines the mail service to be used when sending emails.
Table 35. Mail Service
| Parameter | Comments |
|---|---|
| SMTP server host name | The SMTP to be used to send messages. Default:
|
| SMTP server port | The port number used when connecting to the SMTP server. Default:
|
| SMTP user | The user name used for SMTP authentication. |
| SMTP password | The password for the above account. |
| “From” address | The email address shown in the “From:” field of emails sent by the mail service. |
| Debug email | If enabled, interactions with the SMTP server are output (in dump format) to the console that runs Sling. Default:
|
This handler implements the authorization steps needed for single sign on systems like siteminder or IIS NTLM.
Table 36. Single Sign-on Authentication Handler
| Parameter | Comments |
|---|---|
| Path name | |
| Header Names | The header names that might contain a user ID. |
| Cookie Names | The cookie names that might contain a user ID. |
| Parameter Names | The parameter names that might contain a user ID. |
| ID Format | The format the user ID is encoded with. Currently only Default:
|
| HTTP Realm name | Name of the HTTP realm - this name is displayed in the login window seen by the user. Default: |
This section deals with the Factory Configuration details of bundles required for CQ. Using these, you can configure and create specific instances of such bundles.
Provides JDBC Datasources for the Datasource Pool Service. This is of interest to the developers when developing functionality to access the database.
Table 37. JDBC Connections Pool
| Parameter | Comments |
|---|---|
| Pool size | Maximum number of connections that this pool can open. Default:
|
| Readonly by default? | Specifies whether JDBC connections will be set to readonly mode by default. Default:
|
| Password | Password for the account used for JDBC authentication (see Username). |
| Datasource name | Name of the data source. |
| Pool wait (msec) | The maximum wait time, in milliseconds, before throwing an exception if all pooled Connections are in use. Default:
|
| JDBC driver class | Java class name of the JDBC driver to use Default:
|
| JDBC connection URI | URI of the JDBC connection to use. Default:
|
| Username | User name to use for JDBC authentication. |
| Autocommit by default? | Specifies whether JDBC connections are set to autocommit mode by default. |
| Validation query | Optional JDBC query used to validate connections. |
![[Important]](../resources/important.png)
![[Note]](../resources/note.png)