InomHitta mer dokumentationSupportresurser som ingår | Ladda ner denna bok i PDF (551 KB)
Chapter 7 Community TemplateThis chapter contains the following sections: Overview of the Community TemplateThis section contains the following: What Is A Community Template?A community template is comprised of a set of services (channels) and the visual layout. However, the layout is not always dictated by the community template as in the case with wiki community template where the layout is dictated by the wiki itself. Community templates define (in the role display profile document) the type of services available for the community, the default settings for each service, and the container(s) that bind the services. Physically, a community template is a properties file, and image, plus one or more display profile documents. There may be up to three display profile documents, one per community role (such as OWNER, VISITOR or MEMBER). Each role template defines services and the layout associated with the particular role. The content of the role template is represented in a display profile document. In essence, a community template contains the logic for handling different roles (one display profile document per role) and depending on the role, you get a different set of services and a different layout. Communities are created from a community template. The system may have any number of community templates. In the Community Sample, end users choose a community template when they create a community. What Are the Available Templates?The Portal Server software includes:
Custom templates can be added to the system. See Creating and Modifying a Template for more information. How Are The Templates Stored?The community templates are stored on filesystem. Community templates are stored in PortalServer-DataDir/portals/portal-ID/communitytemplates directory (referred to as communityTemplateBaseDir). Note that this means that each Portal (in a multi-portal deployment environment) will/must have its own set of community templates. The resource bundle in communityTemplateBaseDir defines the meta-data associated with each template. In addition, each template has its own directory where the role templates are stored. Example 7–1 Sample communityTemplateBaseDir
communityTemplateBaseDir -+-- template1 -+-- owner.xml
| |
| +-- member.xml
| |
| +-- visitor.xml
|
-+-- template2 -+-- owner.xml
| |
| +-- member.xml
| |
| +-- visitor.xml
|
-+-- template3 -+-- owner.xml
| |
| +-- member.xml
| |
| +-- visitor.xml
|
+-- template1.properties
|
+-- template1_en.properties
|
+-- template1_fr.properties
|
+-- template2.properties
|
+-- template3.properties
|
+-- template3_en_US.properties
|
+-- ...
How Are The Templates Managed?The portal administrator can add a new community template, update an existing community template, archive and restore community templates on the system, and export community templates from one portal instance to others and/or keep them in sync. Template Syntax and SemanticsEach template is made up of one or more role templates (member.xml, owner.xml, visitor.xml) in XML format. The template directory includes the XML files for the roles that it will serve; for example, member.xml for the community member, owner.xml for the community owner, and visitor.xml for the community visitor. Each role template is a display profile document for community users in that role. The file must be based on the display profile DTD. <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd"> <DisplayProfile version="1.0" priority="%COMMUNITY_DP_PRIORITY%"> <Properties/> <Channels> <Container name="%COMMUNITY_CONTAINER%" provider="JSPTableContainerProvider"> <Properties> <String name="title" value="%COMMUNITY_NAME%"/> <String name="description" value="%COMMUNITY_DESCRIPTION%"/> <Boolean name="compileToRealPath" value="true"/> </Properties> <Available>...</Available> <Selected>...</Selected> <Channels>...</Channels> </channels> <Providers/> </DisplayProfile> The tokens (surrounded by %), described below, in the display profile are dynamically replaced by actual values by the template engine when a community is created.
Template Descriptor FileEach template includes a resource bundle properties file which defines the meta-data associated with that template. The resource bundle is referred to as the descriptor file that can be localized. Each template descriptor file (must) define the following properties:
Example 7–2 Sample Descriptor File
Creating and Modifying a TemplateTo create a new or modify an existing template, following the instructions in this section. You can create a template in one of the following three ways:
|
cd PortalServer-DataDir/portals/portal-ID/communitytemplates mkdir NewTemplate cp 2column/* NewTemplate/ |
Modify the role based display profile documents in the new template directory as needed.
For more information on the role based display profile documents, see Template Syntax and Semantics.
Create and edit the properties file to include the properties described in Template Descriptor File and save the file.
For example, to create a new properties files for the new template, type:
cp 2colimn.properties NewTemplate.properties |
Or,
touch NewTemplate.properties |
In order to see the newly added template, log out of any current portal session and re-login to see the change.
Go to the communityTemplateBaseDir/template directory and open the file you wish to modify.
Log out of any current portal session and re-login to see the change.
In a muti-portal environment (when there are more than one portal on the system), use PAR mechanism (as opposed to directly editing files in communityTemplateBaseDir) so that the change of community templates can be applied across multiple portals.This will allow all the portals to have the same set of community templates. If you do not wish to have synchronized environment across portals, use the instructions outlined in To Create a New Template for Single Portal Environment.
Either use psadmin export --type desktop to export desktop data (which includes community templates) and then export it so the content can be edited or, create a new PAR structure from scratch with only the community templates and no other desktop data.
Follow instructions in To Create a New Template for Single Portal Environment to edit content.
Create a new PAR file which contains:
-+-- META-INF -- MANIFEST.MF
|
+-- pbfiles -+-- communityTemplateBaseDir -+-- template1 -+-- owner.xml
| | |
| | +-- member.xml
| | |
| | +-- visitor.xml
| |
| +-- template1.properties
| |
| +-- template1_en.properties
| |
| +-- template1_fr.properties
| |
| +-- ...
|
+-- static -- community -- images -- template1.gif
Edit or add content as needed.
Create a new PAR file.
Use psadmin import subcommand to import the PAR content across all portals.
If you exported all desktop data, note that psadmin export subcommand will export all desktop data; if you create a new PAR structure from scratch with only the community templates, the command will only export community templates.
For more information, see the psadmin export in Sun Java System Portal Server 7 Command-Line Reference.