Customizing the LiveCycle Contentspace (Deprecated) User Interface
Adobe LiveCycle Contentspace (Deprecated) is a web application
that allows users to interact with LiveCycle Content Services (deprecated).
Contentspace is built using the Spring Framework, an application
framework, and JavaServer Faces, a user interface framework that
defines a core architecture for an event-driven component-based
model for web application development.
Note: Adobe is migrating Adobe® LiveCycle® Content Services ES customers
to the Content Repository built on the modern, modular CRX architecture,
acquired during the Adobe acquisition of Day Software. The Content
Repository is provided with LiveCycle Foundation and is available
as of the LiveCycle ES4 release.
To customize the Contentspace user interface, you should be familiar
with the following technologies and languages:
The Spring Framework
Java Server Pages
Cascading Style Sheets
You may want to customize the appearance of Contentspace, which
is often referred to as skinning or branding. To customize Contentspace,
you modify various files from the Content Services (deprecated)
EAR file. Before you can modify the files from the EAR file, you
must extract the EAR file to your computer. (See Setting Up to Customize LiveCycle Contentspace (deprecated).)
Details on customizations to these elements are provided:
After you are done customizing Contentspace, you must repackage
the Content Services (deprecated) EAR file and deploy it to the
application server. (See Deploying a Customized Contentspace (Deprecated).)
View full size graphic
- Custom logo
- Custom file type images
- Custom view icons
- Custom background colors
- Custom header fonts
- Custom space icons
- Custom configuration icon
Understanding the Contentspace architecture
LiveCycle Content Services (deprecated) is built using
the Spring Framework, which is a full-stack Java application framework
that aims to make J2EE easier to use. The Spring Framework promotes
good development practices by enabling a POJO (Plain Ordinary Java
Object) programming model.
Contentspace is a web application that allows users to interact
with Content Services (deprecated) and is packaged in the Content
Services (deprecated) EAR file. The Contentspace design is based
on JavaServer Faces, which is a user interface framework that defines
a core architecture for an event-driven, component-based model for
web application development. One of the JavaServer Faces goals is
to make applications easier to customize without rewriting significant
portions of the code. JavaServer Faces is a standard specification
(JSR-252) developed by the Java Community Process with a number
of different public implementations. Contentspace uses the Apache
MyFaces implementation. To customize the Contentspace user interface,
it is recommended that you have an understanding of JavaServer Faces.
In addition to user interface components, JavaServer Faces defines
the following artifacts:
Converters: Perform type conversion between server-side
Java objects and their representation in the user interface. For
example, Date is a converter.
Validators: Perform input validation on values before
they are processed and are associated with a JavaServer Faces user
Event listeners: Registered against events that are
triggered when an action is performed by the user in the user interface,
such as clicking a button, selecting a value from a list, or changing
a value in a field. The result of processing an event determines
the next page that is displayed to the user.
Renderers: Generate the markup for the user interface.
JavaServer Faces is not limited to any markup language and can be
coupled with other renderers to produce different output, such as
HTML or WML.
Actions in Contentspace are configured using an actions framework.
Actions such as edit, view details, update, or copy are examples
of actions exposed in the user interface. The standard user interface
actions and action groups are defined in a provided actions configuration
file using XML code. You can modify icons and display names for
an action by overriding the provided XML code blocks using a configuration
extension file called web-client-config-custom.xml.
The web-client-config-custom.xml is one import file provided
as part of Contentspace. Contentspace is also composed of a number
of other files that you may modify that include:
To better understand and customize the Contentspace user interface,
you should understand the files and folders that you need to reference
or modify. (See Understanding files used to customize the Contentspace user interface.)
Before you begin to modify the Contentspace user interface, you
need to copy the assets from the Content Services (deprecated) EAR
file (see Setting Up to Customize LiveCycle Contentspace (deprecated)) to set up your development
environment. After you are done your customization, you redeploy
an EAR file to your application for testing (see Deploying a Customized Contentspace (Deprecated)).
Understanding files used to customize the Contentspace user interface
Many of the Contentspace user interface customizations
are accomplished by either replacing files with copies of your own
or modifying various XML files to override existing XML files. Other
changes require that you modify CSS or resource files (.properties
files). You should familiarize yourself with some of the files that
you reference and modify to customize the user interface. After
you copy the files from the Content Services (deprecated) EAR file
to your development environment, you have a folder structure with
a number of files.
To modify the Contentspace user interface, you commonly modify
the following list of files and folders:
Note: All folder paths are listed from root level.
Root level is the location you extract the Content Services (deprecated)
WAR file to. The Content Services (deprecated) WAR file is extracted
from the Content Services (deprecated) EAR file.
WEB-INF/faces-config-custom.xml: A file used to
override the Java Server Framework files. You modify this file to
override any JavaServer Faces configuration in Contentspace.
file used to override any Contentspace configuration files and properties.
WEB-INF/classes/alfresco/extension: The folder that
contains most of the files that you use to customize Contentspace.
Files in this folder override the provided configuration files.
images: The folder with all images, which includes
sub-folders that contain logos, icons, and file type images. You
place any custom images into one of the sub-folders and you can
override images by copying your image to specific file names.
css: The folder that contains all the CSS (cascading
style sheets) files used to control colors, fonts, and spacing.
In some cases, you can even override images for specific elements
jsp: The folder contains the JSP files that comprise
jsp/extension: The folder that contains JSP files
you want to include to override default JSP files.
There is also a common set of files that you use as reference
for user interface customizations described in this documentation.
You do not modify these files but you may need to use them to find
blocks of XML code to modify or copy XML blocks and put XML code
in the web-client-config-custom.xml, which is located in the WEB-INF/classes/alfresco/extension
web-client-config.xml: The configuration file
that controls the default settings for Contentspace, including error
pages, login pages, maximum number of items to show in recent spaces,
and default start location. To override actions, you redefine the
configuration setting in the web-client-config-custom.xml file.
web-client-config-actions.xml: The configuration file
that defines actions in Contentspace as well as the images and event
listeners used. To override actions, you redefine the action in
faces-config-beans.xml: The configuration file that
defines the managed beans for user interface components. To override
a managed bean, you redefine the managed bean in the faces-config-custom.xml
faces-config-common: The configuration file that maps
user interface components to renderers. To override the renderers
used by a user interface component, you define it in the faces-config-custom.xml