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.
See the Factory Configuration of the section called “CRX Sling Client Repository”.
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 14. 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. |
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 15. 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:
|
| jasper. displaySourceFragments. name | jasper.displaySourceFragments.name |
Configuration of the OSGi Management Console.
Table 16. 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 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 17. 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 18. 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:
|
Global configuration setup for the Sling OSGi LogService implementation.
Table 19. 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 20. 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:
|
| 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:
|
| Active Poll Interval | Interval between the polling checks to confirm that the repository is still active. 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 idle | Maximum number of currently idle sessions to keep in the pool. 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:
|
| Anonymous UserId | User name of the anonymous account. Default:
|
| Default Workspace | Default workspace to be used within the CRX repository. |
| Pool max active | Maximum number of sessions which can be concurrently active. 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:
|
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 21. 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 22. 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.
The Authorization Header Authentication Handler implements the authorization steps based on the Authorization header of the HTTP request. This authenticator should eventually support both BASIC and DIGEST authentication methods.
Table 23. Authorization Header Authentication Handler
| Parameter | Comments |
|---|---|
| Path name | Default:
|
| Realm name | Default: |
These settings are used to configure group membership of the anonymous user at start-up.
Table 24. 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 25. 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 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 26. 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 27. 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:
|
Controls the WCM debug mode, which can be used when developing components.
Table 28. 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 29. 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 30. 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:
|
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 31. HTML Library Manager
| Parameter | Comments |
|---|---|
| Workspace | JCR workspace in which the manager will look for client libraries. 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:
|
Again this is primarily of interest to developers as it concatenates js/css file collections into larger files for efficient HTTP communication.
Table 32. HTML Library Servlet
| Parameter | Comments |
|---|---|
| sling.servlet.resourceTypes.name | Default:
|
| Debug | This specifies that js/css files will be served individually (instead of concatenating them) for better client-side debugging. Default:
|
| Minify | Compress js/css files using the YUI compressor (used for whitespace removal and other such features). Default:
|
| Gzip | Use gzip compression for delivering js/css files. Default:
|
Defines the mail service to be used when sending emails.
Table 33. 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 34. 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. |
| HTTP Realm name | Name of the HTTP realm - this name is displayed in the login window seen by the user. Default: |
See the section called “Syndication Agent” under Factory Configurations.
See the section called “Syndication Agent” under Factory Configurations.
These settings are for the use of Day Management AG.
These settings are for the use of Day Management AG.
Performs link checking for both internal and external links, though the configuration only affects external links.
Table 35. Link Checker Task
| Parameter | Comments |
|---|---|
| scheduler.period.name | |
| good_link_test_interval.name | |
| bad_link_test_interval.name | |
| link_unused_interval.name | |
| proxy.host.name | The proxy is used for checking external links. |
| proxy.port.name | |
| proxy.user.name | |
| proxy.password.name | |
| proxy.ntlm.host.name | The host name required for NTLM authentication. |
| proxy.ntlm.domain.name | The domain name required for NTLM authentication. |
These settings are for the use of Day Management AG.
Table 36. Language Manager
| Parameter | Comments |
|---|---|
| langmgr.languages.enabled.name | Defaults: en, de, fr, es |
| langmgr.country.default.name | Defaults: en_US, de_DE, fr_FR, es_ES |
These settings are for the use of Day Management AG.
Table 37. WCM Workflow Service
| Parameter | Comments |
|---|---|
| Event Topics Name | Default:
|
| Workflow Model Path | Workflow model used for a request for activation. Default:
|
| Workflow Model Path | Workflow model used for a request for deactivation. Default:
|
These settings are for the use of Day Management AG.
These settings are for the use of Day Management AG.
These settings are for the use of Day Management AG.
These settings are for the use of Day Management AG.
These settings are for the use of Day Management AG.
These settings are for the use of Day Management AG.
These settings are for the use of Day Management AG.
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 38. 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. |
Used to create and configure an instance of a syndication agent.
Table 39. Syndication Agent
| Parameter | Comments |
|---|---|
| Name | A unique name for the syndication agent. |
| Status | The status of this syndication agent; either enabled or disabled. Default:
|
| Serialization Type | The type of serialization. |
| Transport Type | The transportation type to be used. |
| Transport Parameters | Parameters fro the replication. |
| Transport Host | The target host of the replication. |
| Transport Port | The target port of the replication. |
| Transport User | The user name to be used for replication. |
| Transport Password | The password of the above account. |
| Retries | The number of retries if the replication fails. Default: -1 Note: -1 represents infinity. |
| Retry Delay | The delay (waiting time) between two retries. Default:
|
| Private | This flag indicates that this syndication agent is a special agent which should not be used during a usual replication operation. Default:
|
| Log Level | The log level for the syndication agent. Default:
|
![[Important]](../resources/important.png)
![[Note]](../resources/note.png)