IAW bundle und div. Kleinigkeiten

git-svn-id: https://svn.libreccm.org/ccm/trunk@262 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2009-09-12 00:10:03 +00:00
parent 38eb28fca4
commit 8a27bd0907
245 changed files with 27142 additions and 70 deletions

View File

@ -29,9 +29,12 @@ import java.sql.SQLException;
import org.apache.log4j.BasicConfigurator; import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/**
*
* @version $Id: LoadSQLPlusScript.java 287 2005-02-22 00:29:02Z sskracic $
*/
public class LoadSQLPlusScript { public class LoadSQLPlusScript {
public static final String versionId = "$Id: LoadSQLPlusScript.java 287 2005-02-22 00:29:02Z sskracic $ by $Author: sskracic $, $DateTime: 2004/08/16 18:10:38 $";
private static final Logger s_log = private static final Logger s_log =
Logger.getLogger(LoadSQLPlusScript.class); Logger.getLogger(LoadSQLPlusScript.class);

View File

@ -34,13 +34,11 @@ import org.apache.log4j.Logger;
* SQLLoader * SQLLoader
* *
* @author Rafael H. Schloming <rhs@mit.edu> * @author Rafael H. Schloming <rhs@mit.edu>
* @version $Revision: #9 $ $Date: 2004/08/16 $ * @version $Id: SQLLoader.java 1839 2009-03-05 07:50:52Z terry $
**/ **/
public abstract class SQLLoader { public abstract class SQLLoader {
public final static String versionId = "$Id: SQLLoader.java 1839 2009-03-05 07:50:52Z terry $ by $Author: terry $, $DateTime: 2004/08/16 18:10:38 $";
private static final Logger s_log = Logger.getLogger(SQLLoader.class); private static final Logger s_log = Logger.getLogger(SQLLoader.class);
private Connection m_conn; private Connection m_conn;

View File

@ -41,11 +41,10 @@ import com.arsdigita.persistence.metadata.ObjectType;
* Represents a user. * Represents a user.
* *
* @author Phong Nguyen * @author Phong Nguyen
* @version 1.0 * @version $Id: User.java 1586 2007-05-31 13:05:10Z chrisgilbert23 $
**/ **/
public class User extends Party { public class User extends Party {
public static final String versionId = "$Id: User.java 1586 2007-05-31 13:05:10Z chrisgilbert23 $ by $Author: chrisgilbert23 $, $DateTime: 2004/08/16 18:10:38 $";
private PersonName m_name; private PersonName m_name;
private boolean m_external; private boolean m_external;

View File

@ -0,0 +1,6 @@
2007-08-06:
./ccm-shp-aplaws/src/WEB-INF/content-types/c...types/aplaws-mparticle-item.jsp
<define:page name="itemPage" application="content changed to
<define:page name="itemPage" application="content-section"
as is all other contenttyp jsp pages. Requires corresponding modification
in the theme!

View File

@ -0,0 +1,45 @@
<?xml version="1.0"?>
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
name="ccm-iaw-aplaws"
prettyName="IAW-APLAWS"
version="6.6.0"
release="1"
webapp="ROOT">
<ccm:dependencies>
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-cms" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-ldn-subsite" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-ldn-portal" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-ldn-terms" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-ldn-navigation" version="6.6.0" relation="ge"/>
<ccm:requires name="ccm-ldn-search" version="6.6.0" relation="ge"/>
</ccm:dependencies>
<ccm:directories>
<ccm:directory name="pdl"/>
<ccm:directory name="src"/>
</ccm:directories>
<ccm:contacts>
<ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/>
<ccm:contact uri="mailto:rhea@redhat.com" type="support"/>
</ccm:contacts>
<ccm:description>
Service module which tailors the aplaws software to a specific purpose
and/or a specific site.
- setting up a categorization / terms system (cf. load.java)
- integrate custom spezific jsp's
- setting up custom specific configuration parameters (cf. the bundles)
- overwrite default classes by custom specific ones (cf. src/.../aplaws)
- provide a default theme, which meets accessibility requirements and
overwrites the default, table based design (cf. web/.../themes)
This modules tailors APLAWS for use at the "Institut fuer Arbeit und
Wirtschaft (IAW), University of Bremen, Germany.
APLAWS is a collaboration and content management system which is based upon
the Red Hat Web Application Framework, which is a platform for writing
database-backed web applications in Java.
</ccm:description>
</ccm:application>

View File

@ -0,0 +1,9 @@
* Thu Sep 22 2005 Alan Pevec <apevec@redhat.com>
- Build all APLAWS+ bundles from the common set of templates.
* Mon Feb 21 2005 Alan Pevec <apevec@redhat.com>
- Requires applications.
* Mon Jan 26 2004 Daniel Berrange <berrange@redhat.com>
- Initial build.

View File

View File

@ -0,0 +1,4 @@
BUNDLE_NAME=aplaws-plus-zes-devel
BUNDLE_PRETTY_NAME="APLAWS+ ZeS Devel Bundle"
VERSION=1.0.5devel
RELEASE=1

View File

@ -0,0 +1,80 @@
# Main apps
ccm-core
ccm-cms
# Content assets
ccm-cms-assets-fileattachment
ccm-cms-assets-notes
ccm-cms-assets-relatedlink
# Content types
# -- ccm-cms-types-address
# -- ccm-cms-types-agenda
ccm-cms-types-article
ccm-cms-types-baseAddress
ccm-cms-types-baseContact
ccm-cms-types-bookmark
# -- ccm-cms-types-contact
# -- ccm-cms-types-esdservice
ccm-cms-types-event
# -- faqitem wird bei IAW nicht gebraucht
# -- ccm-cms-types-faqitem
ccm-cms-types-filestorageitem
ccm-cms-types-formitem
ccm-cms-types-formsectionitem
ccm-cms-types-genericorganization
# -- glossaryitem wird bei IAW nicht gebraucht
# -- ccm-cms-types-glossaryitem
# -- ccm-cms-types-htmlform
# -- ccm-cms-types-inlinesite
# -- ccm-cms-types-job
# -- ccm-cms-types-legalnotice
# -- ccm-cms-types-minutes
# -- ccm-cms-types-motditem
ccm-cms-types-mparticle
ccm-cms-types-newsitem
# -- ccm-cms-types-organization
# -- ccm-cms-types-pressrelease
# -- ccm-cms-types-service
ccm-cms-types-organizationalunit
ccm-cms-types-person
ccm-cms-types-siteproxy
ccm-cms-types-researchnetwork
# -- xmlfeed wird ebenfalls nicht gebraucht
# -- ccm-cms-types-xmlfeed
# Applications
# ------------
# -- ccm-auth-http
# -- ccm-bookmarks
# -- ccm-docmngr ## temp., produces errors in build
# -- ccm-formbuilder-pdf
ccm-forum
ccm-simplesurvey
ccm-user-preferences
# -- ccm-weblog
# -- ccm-webpage
# ldn extensions
# --------------
# -- ccm-ldn-aplaws
# -- ccm-ldn-atoz
# -- ccm-ldn-dublin
# -- ccm-ldn-exporter
# -- ccm-ldn-freeform
ccm-ldn-image-step
# -- ccm-ldn-importer
ccm-ldn-navigation
ccm-ldn-portal
ccm-ldn-rss
ccm-ldn-search
ccm-ldn-shortcuts
ccm-ldn-subsite
ccm-ldn-terms
ccm-ldn-theme
ccm-ldn-util
# zes extensions
ccm-iaw-aplaws

View File

@ -0,0 +1,114 @@
waf.bebop.base_page=com.arsdigita.aplaws.ui.SimplePage
; dhtml editor to use (system wide)
waf.bebop.dhtml_editor=Xinha
waf.bebop.dhtml_editor_src=/assets/xinha/XinhaLoader.js
waf.categorization.show_internal_name=true
waf.categorization.supported_languages=de,en
waf.dispatcher.default_expiry=3600
;
waf.kernel.data_permission_check_enabled=false
waf.kernel.primary_user_identifier=email
; if you activate screen_name, forum loader doesn't work.
; waf.kernel.primary_user_identifier=screen_name
; security.properties:
waf.auto_registration_on=false
waf.pagemap.root=navigation/
waf.pagemap.workspace=navigation/
waf.pagemap.login_redirect=content/content-center-redirect.jsp
; Searches for localized style sheet (among others)
waf.templating.stylesheet_resolver=com.arsdigita.templating.PatternStylesheetResolver
waf.templating.stylesheet_paths=/WEB-INF/resources/aplaws-stylesheet-paths.txt
; Configures the xml processing
waf.xml.xsl_transformer=xalan
waf.xml.activate_full_date_formatter=true
com.arsdigita.cms.category_authoring_add_form=com.arsdigita.aplaws.ui.ItemCategoryPicker
com.arsdigita.cms.default_item_template_path=/default/aplaws-item.jsp
com.arsdigita.cms.default_folder_template_path=/default/aplaws-folder.jsp
com.arsdigita.cms.default_template_resolver_class=com.arsdigita.london.subsite.dispatcher.SubsiteItemTemplateResolver
; Configure dhtml editor for use in cms content-center
com.arsdigita.cms.dhtml_editor_config=XinhaConfig,/assets/xinha/XinhaConfig.js
com.arsdigita.cms.dhtml_editor_hidden_buttons=
; com.arsdigita.cms.dhtml_editor_plugins=TableOperations,CSS
com.arsdigita.cms.dhtml_editor_plugins=
com.arsdigita.cms.disable_item_pfs=true
com.arsdigita.cms.hide_admin_tabs=true
com.arsdigita.cms.hide_folder_index_checkbox=true
com.arsdigita.cms.hide_launch_date=true
com.arsdigita.cms.hide_templates_tab=true
com.arsdigita.cms.hide_timezone=true
com.arsdigita.cms.hide_udct_ui=true
com.arsdigita.cms.use_section_categories=false
com.arsdigita.cms.use_streamlined_creation=true
com.arsdigita.cms.contenttypes.event.hide_cost=true
com.arsdigita.cms.contenttypes.event.hide_date_description=false
com.arsdigita.cms.contenttypes.event.hide_event_type=true
com.arsdigita.cms.contenttypes.event.hide_link_to_map=true
com.arsdigita.cms.contenttypes.event.hide_main_contributor=true
com.arsdigita.cms.contenttypes.event.use_html_date_description=false
com.arsdigita.cms.contenttypes.newsitem.hide_homepage=true
com.arsdigita.cms.contenttypes.mparticle.template=/WEB-INF/content-types/com/arsdigita/cms/contenttypes/aplaws-mparticle-item.jsp
com.arsdigita.cms.contenttypes.siteproxy.defaulttemplate=/WEB-INF/content-types/com/arsdigita/cms/contenttypes/aplaws-siteproxy-item.jsp
; Forum application
com.arsdigita.forum.show_new_tabs=true
com.arsdigita.forum.use_wysiwyg_editor=true
com.arsdigita.forum.allow_quick_finish=true
com.arsdigita.forum.disable_page_caching=true
; atoz currently not in use
; com.arsdigita.london.atoz.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker
; com.arsdigita.london.navigation.category_menu_show_grand_children=false
com.arsdigita.london.navigation.category_menu_show_grand_children_min=2
com.arsdigita.london.navigation.category_menu_show_grand_children=adaptive
com.arsdigita.london.navigation.category_menu_show_grand_children_limit=1
com.arsdigita.london.navigation.category_menu_show_grand_children_max=4
com.arsdigita.london.navigation.category_menu_show_nephews=false
com.arsdigita.london.navigation.default_cat_root_path=/navigation/
com.arsdigita.london.navigation.default_template=/packages/navigation/templates/iaw-default.jsp
com.arsdigita.london.search.show_sponsored_links=true
com.arsdigita.london.subsite.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker
com.arsdigita.london.theme.default_theme_context=
com.arsdigita.london.theme.default_theme_manifest=ccm-ldn-theme.web.mf
com.arsdigita.london.theme.default_theme_path=__ccm__/themes/aplaws-generic
com.arsdigita.london.theme.file_extensions=bmp gif jpeg jpg png css js png xsl xml
; =============================================================================================
; devel specific configurations
waf.runtime.jdbc_url=jdbc\:postgresql\://localhost/iaw?user\=iaw&password\=iaw24
waf.runtime.jdbc_pool_size=80
waf.web.server=localhost\:8080
; waf.web.server=iaw.barkhof.uni-bremen.de\:80
waf.admin.email=webmaster@iaw.uni-bremen.de
waf.admin.name.given=IAW
waf.admin.name.family=Administrator
waf.admin.password=nge2015
waf.admin.password.question=12345
waf.admin.password.answer=6
; waf.debug=true
; waf.bebop.fancy_xsl_errors=true

View File

@ -0,0 +1,561 @@
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
<web-app>
<display-name>CCM ZeS</display-name>
<description>Content and Collaboration Management</description>
<!-- path and filename of the log4j user accessible config file
WEB-INF/conf/log4j.properties is the built-in default value -->
<context-param>
<param-name>log4j-conf-file</param-name>
<param-value>WEB-INF/conf/log4j.properties</param-value>
</context-param>
<!-- Require secure connection by redirect to host-port part
of parameter waf.web.secure_server
NOT USED with ZeS
<filter>
<filter-name>secured</filter-name>
<filter-class>com.arsdigita.web.SecureFilter</filter-class>
</filter>
-->
<!-- Initialize Profiler timers
NOT USED with ZeS standard / production
<filter>
<filter-name>profiler</filter-name>
<filter-class>com.arsdigita.profiler.ProfilerFilter</filter-class>
</filter>
-->
<filter>
<filter-name>shortcuts</filter-name>
<filter-class>com.arsdigita.london.shortcuts.ShortcutFilter</filter-class>
</filter>
<filter>
<filter-name>subsite</filter-name>
<filter-class>com.arsdigita.london.subsite.SubsiteFilter</filter-class>
</filter>
<!-- NOT USED HERE
<filter-mapping>
<filter-name>secured</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>profiler</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
<filter-mapping>
<filter-name>subsite</filter-name>
<url-pattern>/ccm/*</url-pattern>
<!-- please check: with or w/o ccm?
<url-pattern>/*</url-pattern>
-->
</filter-mapping>
<filter-mapping>
<filter-name>shortcuts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Context Listener
required and used to initialize the runtime environment before any other
task is performed or any servlet initialized.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<listener>
<listener-class>com.arsdigita.web.CCMApplicationContextListener</listener-class>
</listener>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BASE SERVLET DECLARATIONS SECTION
basically requirred by ccm-core
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<servlet>
<servlet-name>reg</servlet-name>
<servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class>
<init-param>
<param-name>uri</param-name>
<param-value>/</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>legacy-dispatcher</servlet-name>
<servlet-class>com.arsdigita.sitenode.SiteNodeDispatcher</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet>
<servlet-name>ccm-dispatcher</servlet-name>
<servlet-class>com.arsdigita.web.DispatcherServlet</servlet-class>
<init-param>
<param-name>fallback-servlet</param-name>
<param-value>legacy-dispatcher</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>legacy-adapter</servlet-name>
<servlet-class>com.arsdigita.web.LegacyAdapterServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>cache-manager</servlet-name>
<servlet-class>com.arsdigita.caching.CacheServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>db-test</servlet-name>
<servlet-class>com.arsdigita.web.monitoring.DBTestServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>versioning-log</servlet-name>
<servlet-class>com.arsdigita.versioning.VersioningServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>oid-redirect</servlet-name>
<servlet-class>com.arsdigita.web.OIDRedirectServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>resource-resolver</servlet-name>
<servlet-class>com.arsdigita.web.ResourceServlet</servlet-class>
</servlet>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ADDITIONAL SERVLET DECLARATIONS SECTION
basically requirred by ccm-cms
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<servlet>
<servlet-name>content-section</servlet-name>
<servlet-class>com.arsdigita.cms.ContentSectionServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>content-type-xsl</servlet-name>
<servlet-class>com.arsdigita.cms.dispatcher.ContentTypeXSLServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>content-item-xsl</servlet-name>
<servlet-class>com.arsdigita.cms.dispatcher.ContentItemXSLServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>template-xsl</servlet-name>
<servlet-class>com.arsdigita.cms.dispatcher.TemplateXSLServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>TextOnlyServlet</servlet-name>
<display-name>Text Only Servlet</display-name>
<servlet-class>
com.arsdigita.web.InternalPrefixerServlet
</servlet-class>
<init-param>
<param-name>prefix</param-name>
<param-value>/text</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>PrintFriendlyServlet</servlet-name>
<display-name>Printer Friendly Output Servlet</display-name>
<servlet-class>
com.arsdigita.web.InternalPrefixerServlet
</servlet-class>
<init-param>
<param-name>prefix</param-name>
<param-value>/print</param-value>
</init-param>
</servlet>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MODULES SERVLET DECLARATIONS SECTION
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- module ccm-ldn-atoz - servlet definitions BEGIN
NOT USED with ZeS
<servlet>
<servlet-name>atoz-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-atoz</param-value>
</init-param>
</servlet>
module ccm-ldn-atoz - servlet definitions END -->
<!-- module ccm-forum - servlet declarations BEGIN -->
<servlet>
<servlet-name>forum-main</servlet-name>
<servlet-class>com.arsdigita.forum.ForumServlet</servlet-class>
</servlet>
<!-- module ccm-forum - servlet declarations END -->
<servlet>
<servlet-name>portal-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-portal</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>navigation-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-navigation</param-value>
</init-param>
<init-param>
<param-name>file-resolver</param-name>
<param-value>com.arsdigita.london.navigation.NavigationFileResolver</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>portlet-type-xsl</servlet-name>
<servlet-class>com.arsdigita.dispatcher.PortletTypeXSLServlet</servlet-class>
</servlet>
<!-- module ccm-ldn-rss - servlet declaration BEGIN -->
<servlet>
<servlet-name>rss-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-rss</param-value>
</init-param>
<init-param>
<param-name>file-resolver</param-name>
<param-value>com.arsdigita.london.rss.RSSFileResolver</param-value>
</init-param>
</servlet>
<!-- module ccm-ldn-rss - servlet declaration END -->
<!-- module ccm-ldn-search - servlet declarations BEGIN -->
<servlet>
<servlet-name>worker</servlet-name>
<servlet-class>com.arsdigita.london.search.SearchWorkerServlet</servlet-class>
<load-on-startup>4</load-on-startup>
</servlet>
<servlet>
<servlet-name>search-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-search</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>
org.apache.axis.transport.http.AxisServlet
</servlet-class>
</servlet>
<!-- module ccm-ldn-search - servlet declarations END -->
<!-- module ccm-ldn-shortcuts - servlet definitions -->
<servlet>
<servlet-name>shortcuts-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-shortcuts</param-value>
</init-param>
</servlet>
<!-- module ccm-ldn-subsite - servlet declarations BEGIN -->
<servlet>
<servlet-name>subsite-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-subsite</param-value>
</init-param>
</servlet>
<!-- module ccm-ldn-subsite - servlet declarations END -->
<!-- module ccm-ldn-terms - servlet declarations BEGIN -->
<servlet>
<servlet-name>terms-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-terms</param-value>
</init-param>
</servlet>
<!-- module ccm-ldn-terms - servlet declarations END -->
<!-- module ccm-ldn-themes - servlet declarations BEGIN -->
<servlet>
<servlet-name>theme-files</servlet-name>
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
<init-param>
<param-name>template-path</param-name>
<param-value>/templates/ccm-ldn-theme</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>ThemeDownload</servlet-name>
<servlet-class>com.arsdigita.london.theme.dispatcher.ThemeDownloadServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ThemePreviewServlet</servlet-name>
<display-name>Servlet to allow admins to preview look/feel</display-name>
<servlet-class>
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
</servlet-class>
<init-param>
<param-name>prefix</param-name>
<param-value>/theme</param-value>
</init-param>
</servlet>
<!-- module ccm-ldn-themes - servlet declarations END -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MODULES SERVLET MAPPINGS SECTION
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- module ccm-ldn-atoz - servlet mappings BEGIN
NOT USED HERE
<servlet-mapping>
<servlet-name>atoz-files</servlet-name>
<url-pattern>/ccm-ldn-atoz/files/*</url-pattern>
</servlet-mapping>
module ccm-ldn-atoz - servlet mappings END -->
<!-- module ccm-forum - servlet mappings BEGIN -->
<servlet-mapping>
<servlet-name>forum-main</servlet-name>
<url-pattern>/forum-main/main/*</url-pattern>
</servlet-mapping>
<!-- module ccm-forum - servlet mappings END -->
<servlet-mapping>
<servlet-name>portlet-type-xsl</servlet-name>
<url-pattern>/__ccm__/servlet/portlet-type/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>portal-files</servlet-name>
<url-pattern>/ccm-ldn-portal/files/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>navigation-files</servlet-name>
<url-pattern>/ccm-ldn-navigation/files/*</url-pattern>
</servlet-mapping>
<!-- module ccm-ldn-rss - servlet mappings -->
<servlet-mapping>
<servlet-name>rss-files</servlet-name>
<url-pattern>/ccm-ldn-rss/files/*</url-pattern>
</servlet-mapping>
<!-- module ccm-ldn-search - servlet mappings BEGIN -->
<servlet-mapping>
<servlet-name>search-files</servlet-name>
<url-pattern>/ccm-ldn-search/files/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<!-- module ccm-ldn-search - servlet mappings END -->
<!-- module ccm-ldn-shortcuts - servlet mappings -->
<servlet-mapping>
<servlet-name>shortcuts-files</servlet-name>
<url-pattern>/ccm-ldn-shortcuts/files/*</url-pattern>
</servlet-mapping>
<!-- module ccm-ldn-subsite - servlet mappings BEGIN -->
<servlet-mapping>
<servlet-name>subsite-files</servlet-name>
<url-pattern>/ccm-ldn-subsite/files/*</url-pattern>
</servlet-mapping>
<!-- module ccm-ldn-subsite - servlet mappings END -->
<!-- module ccm-ldn-terms - servlet mappings BEGIN -->
<servlet-mapping>
<servlet-name>terms-files</servlet-name>
<url-pattern>/ccm-ldn-terms/files/*</url-pattern>
</servlet-mapping>
<!-- module ccm-ldn-terms - servlet mappings END -->
<!-- module ccm-ldn-theme - servlet mappings BEGIN -->
<servlet-mapping>
<servlet-name>theme-files</servlet-name>
<url-pattern>/theme-files/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ThemeDownload</servlet-name>
<url-pattern>/theme-files/download/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ThemePreviewServlet</servlet-name>
<url-pattern>/theme/*</url-pattern>
</servlet-mapping>
<!-- module ccm-ldn-themes - servlet mappings END -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BASE SERVLET MAPPINGS SECTION
basically requirred by ccm-core
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<servlet-mapping>
<servlet-name>reg</servlet-name>
<url-pattern>/__ccm__/null/reg/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ccm-dispatcher</servlet-name>
<url-pattern>/ccm/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>legacy-adapter</servlet-name>
<url-pattern>/__ccm__/servlet/legacy-adapter/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>cache-manager</servlet-name>
<url-pattern>/expireCache/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>db-test</servlet-name>
<url-pattern>/dbtest</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>versioning-log</servlet-name>
<url-pattern>/versioning/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>oid-redirect</servlet-name>
<url-pattern>/redirect/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resource-resolver</servlet-name>
<url-pattern>/resource/*</url-pattern>
</servlet-mapping>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ADDITIONAL SERVLET MAPPINGS SECTION
basically requirred by ccm-cms
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<servlet-mapping>
<servlet-name>content-section</servlet-name>
<url-pattern>/__ccm__/servlet/content-section/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>content-item-xsl</servlet-name>
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>content-type-xsl</servlet-name>
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>template-xsl</servlet-name>
<url-pattern>/__ccm__/servlet/template/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>TextOnlyServlet</servlet-name>
<url-pattern>/text/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PrintFriendlyServlet</servlet-name>
<url-pattern>/print/*</url-pattern>
</servlet-mapping>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ERROR PAGES
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<error-page>
<exception-type>com.arsdigita.dispatcher.AccessDeniedException</exception-type>
<location>/error/access-denied.jsp</location>
</error-page>
<error-page>
<exception-type>com.arsdigita.dispatcher.ObjectNotFoundException</exception-type>
<location>/error/object-not-found.jsp</location>
</error-page>
<error-page>
<exception-type>com.arsdigita.kernel.permissions.PermissionException</exception-type>
<location>/error/permission-denied.jsp</location>
</error-page>
<error-page>
<exception-type>com.arsdigita.persistence.DbNotAvailableException</exception-type>
<location>/error/db-not-available.jsp</location>
</error-page>
<error-page>
<exception-type>com.arsdigita.db.DbNotAvailableException</exception-type>
<location>/error/db-not-available.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error/general.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Error</exception-type>
<location>/error/general.jsp</location>
</error-page>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TAG LIBS
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<taglib>
<taglib-uri>/WEB-INF/bebop-show.tld</taglib-uri>
<taglib-location>/WEB-INF/bebop-show.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/bebop-define.tld</taglib-uri>
<taglib-location>/WEB-INF/bebop-define.tld</taglib-location>
</taglib>
</web-app>

View File

@ -0,0 +1,9 @@
* Thu Sep 22 2005 Alan Pevec <apevec@redhat.com>
- Build all APLAWS+ bundles from the common set of templates.
* Mon Feb 21 2005 Alan Pevec <apevec@redhat.com>
- Requires applications.
* Mon Jan 26 2004 Daniel Berrange <berrange@redhat.com>
- Initial build.

View File

@ -0,0 +1,4 @@
BUNDLE_NAME=aplaws-plus-shp
BUNDLE_PRETTY_NAME="APLAWS+ SHP Standard Bundle"
VERSION=1.0.5devel
RELEASE=1

View File

@ -0,0 +1,10 @@
schemas = $(wildcard *.xsd)
all: app-schemas.html
app-schemas.html: app-schemas.htmc $(schemas) $(xmldocs)
htmltoc.pl $< > $@
clean:
rm -f app-schemas.html *.bak *~

View File

@ -0,0 +1,141 @@
<html>
<head>
<!-- WARNING -->
<title>APLAWS-II: Application Schemas</title>
<style>
.schema {
border: 1px solid black;
margin: 1em;
padding: 1em;
background: rgb(192,230,230);
}
</style>
</head>
<body bgcolor="white" text="black">
<h1>APLAWS-II: Application Schemas</h1>
<p>
<big><strong><em>Final 1 November 2003</em></strong></big>
</p>
<!-- TABLE OF CONTENTS -->
<!-- SECTION Introduction -->
<p>
This document provides the XML Schemas for the principle public facing
applications in APLAWS. The schemas describe the XML that is generated
by UI components prior to being fed into the XSLT transformer. Since the
precise combination of components that can be present in a particular
JSP page can vary from install to install, these schemas don't document
an entire page, but rather, each individual component that can be plugged
into a page.
</p>
<p>
The official specification for XML schemas can be found at the
<a href="http://www.w3.org/XML/Schema">W3C</a> site. For a gentler introduction, the O'Reilly
<a href="http://www.oreilly.com/catalog/xmlschema/">XML Schema book</a> is recommended reading.
</p>
<!-- SECTION Navigation -->
<p>
Category navigation components may be present on any
page in the site, since they provide things such as
the list of top level categories, breadcrumb trail,
etc.
</p>
<pre class="schema">
<!-- INSERT navigation.xsd -->
</pre>
<!-- SECTION Directory -->
<p>
The directory page in APLAWS, commonly found at /content/directory.jsp
contains a summary of top two levels of navigation categories.
</p>
<pre class="schema">
<!-- INSERT directory.xsd -->
</pre>
<!-- SECTION Services -->
<p>
The services page in APLAWS, commonly found at /content/services.jsp,
is little more than a placeholder for designers to hook on to.
</p>
<pre class="schema">
<!-- INSERT services.xsd -->
</pre>
<!-- SECTION Site Map -->
<p>
The sitemap page in APLAWS, commonly found at /content/sitemap.jsp
is little more than a placeholder for designers to hook on to.
</p>
<pre class="schema">
<!-- INSERT sitemap.xsd -->
</pre>
<!-- SECTION Portals -->
<p>
The portals schema describes the generic framework for browsing
workspaces &amp; portals. Each portlet type will have its own schema
to describe what XML it generates.
</p>
<pre class="schema">
<!-- INSERT portal.xsd -->
</pre>
<!-- SECTION Forums -->
<p>
The schema for forums only describes the components that are used to
present information about messages. It does not cover the Bebop forms
and administrative UI components.
</p>
<pre class="schema">
<!-- INSERT forum.xsd -->
</pre>
<!-- SECTION Search -->
<p>
The schema for search describes the XML document used to represent
the result list and the filter metadata which can be used to build
a query form in HTML.
</p>
<pre class="schema">
<!-- INSERT search.xsd -->
</pre>
<!-- SECTION A-Z -->
<p>
The A-Z application is a framework for providing a list of
topics and items paginated by letter.
</p>
<pre class="schema">
<!-- INSERT atoz.xsd -->
</pre>
<!-- FOOTER Daniel Berrange (berrange@redhat.com) -->
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,90 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://xmlns.redhat.com/atoz/1.0"
elementFormDefault="qualified"
targetNamespace="http://xmlns.redhat.com/atoz/1.0">
<xs:element name="atoz">
<xs:annotation>
<xs:documentation xml:lang="en">
The AtoZ provides a pluggable letter paginated
listing of topics and optionally items with a
topic
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.atoz.ui.AtoZPane</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="letter" minOccurs="26" maxOccurs="26">
<xs:complexType>
<xs:attribute name="isSelected" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:element name="provider" type="provider" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="entryList">
<xs:annotation>
<xs:documentation xml:lang="en">
This type is a base for an element containing
child entries, either topics or items.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice>
<xs:element name="atomicEntry" type="atomicEntry"/>
<xs:element name="compoundEntry" type="compoundEntry"/>
</xs:choice>.
</xs:sequence>
</xs:complexType>
<xs:complexType name="provider">
<xs:annotation>
<xs:documentation xml:lang="en">
A provider is a module which generates A-Z entries.
A category provider may generate a list of items
corresponding to navigation categories.
</xs:documentation>
</xs:annotation>
<xs:extension base="entryList">
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
</xs:extension>
</xs:complexType>
<xs:complexType name="atomicEntry">
<xs:annotation>
<xs:documentation xml:lang="en">
An atomic entry is a leaf-node in the A-Z, representing
a single item (or page of content) in the A-Z. As such
it has a URL pointing to the location of the item.
</xs:documentation>
</xs:annotation>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
<xs:attribute name="url" type="xs:anyURI"/>
</xs:complexType>
<xs:complexType name="compoundEntry">
<xs:annotation>
<xs:documentation xml:lang="en">
A compound entry can be thought of as a topic,
with a title and description. It will contain
a number of child entries, representing either
sub-topics or items.
</xs:documentation>
</xs:annotation>
<xs:extension base="entryList">
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
</xs:extension>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,59 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://www.arsdigita.com/cms/1.0"
elementFormDefault="qualified"
targetNamespace="http://www.arsdigita.com/cms/1.0">
<xs:element name="directory">
<xs:annotation>
<xs:documentation xml:lang="en">
The directory component displays a summary of the first two
levels of the navigation category heirarchy. The categoryID
attribute can be used to link to
$context-prefix/navigation/category.jsp?categoryID=XXX
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.navigation.ui.DirectoryComponent</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="directoryL1Category" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="directoryL2Category" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="title" type="xs:string">
<xs:attribute name="description" type="xs:string" use="optional">
<xs:attribute name="categoryID" type="xs:integer">
</xs:complexType>
</xs:element>
<xs:element name="directoryItem" minOccurs="0" maxOccurs="3">
<xs:annotation>
<xs:documentation xml:lang="en">
The first two items are instances of the 'Fixed Promo'
content type in the current category. The third item
is a 'Fixed Promo' item from the subcategory.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="title" type="xs:string">
<xs:attribute name="path" type="xs:anyURI">
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="title" type="xs:string">
<xs:attribute name="description" type="xs:string" use="optional">
<xs:attribute name="categoryID" type="xs:integer">
</xs:complexType>
</xs:element>
</sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,312 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns="http://xmlns.redhat.com/forums/1.0"
elementFormDefault="qualified"
targetNamespace="http://xmlns.redhat.com/forums/1.0">
<xs:element name="forum" type="forumComponent">
<xs:complexType name="forumComponent">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.ForumComponent</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="forumMode" minOccurs="0" maxOccurs="unbounded" type="forumMode"/>
<xs:choice>
<xs:choice>
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.ForumUserView</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="forumOptions" type="forumOptions"/>
<xs:element name="topicSelector" type="topicSelector"/>
<xs:element name="threadList" type="threadList"/>
</xs:sequence>
<xs:element name="bebop:form" type="bebopForm">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.NewPostForm</gen:class>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice>
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.CategoryView</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="topicOptions" type="topicOptions"/>
<xs:element name="topicList" type="topicList"/>
</xs:sequence>
<xs:element name="bebop:form" type="bebopForm">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.CategoryAddForm</gen:class>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:sequence>
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.ForumAlertsView</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:element name="forumAlerts" type="forumAlerts"/>
<xs:element name="threadAlerts" type="threadAlerts"/>
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.admin.ModerationView</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:element name="bebop:form" type="bebopForm"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="threadComponent">
<xs:choice>
<xs:element name="bebop:form" type="bebopForm">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.EditPostForm</gen:class>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="bebop:form" type="bebopForm">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.ReplyToPostForm</gen:class>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="bebop:form" type="bebopForm">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.RejectionForm</gen:class>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:sequence>
<xs:element name="threadOptions" type="threadOptions"/>
<xs:element name="threadDisplay" type="threadDisplay"/>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:complexType name="forumMode">
<xs:annotation>
<xs:documentation xml:lang="en">
A forum mode refers to one of the alternate
views onto the forum application. The url
attributes provides the link for switching
into the mode.
</xs:documentation>
</xs:annotation>
<xs:attribute name="mode" type="xs:string"/>
<xs:attribute name="url" type="xs:anyURI"/>
<xs:attribute name="selected" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="forumOptions">
<xs:annotation>
<xs:documentation xml:lang="en">
A set of links relating to operations
in the thread list, such as posting
a new message.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="bebop:link" type="bebopLink"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="topicSelector">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.TopicSelector</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="topic">
<xs:sequence>
XXX DOR
</xs:sequence>
</xs:element>
<xs:sequence>
<xs:attribute name="baseURL" type="xs:anyURI"/>
<xs:attribute name="param" type="xs:string"/>
<xs:attribute name="anyTopicID" type="xs:integer"/>
<xs:attribute name="noTopicID" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="threadList">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.ThreadList</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="paginator" type="paginator"/>
<xs:element name="thread" minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
XXX DOR
</xs:sequence>
<xs:attribute name="url" type="xs:anyURI"/>
</xs:element>
<xs:sequence>
</xs:complexType>
<xs:complexType name="topicOptions">
<xs:annotation>
<xs:documentation xml:lang="en">
A set of links relating to operations
in the topic list, such as creating
a new topic.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="bebop:link" type="bebopLink"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="topicList">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.TopicList</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="topicSummary" minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
<xs:element name="id"/>
<xs:element name="name"/>
<xs:element name="latestPost"/>
<xs:element name="numThreads"/>
</xs:sequence>
</xs:element>
<xs:element name="noTopicSummary">
<xs:sequence>
<xs:element name="latestPost"/>
<xs:element name="numThreads"/>
</xs:sequence>
<xs:attribute name="url" type="xs:anyURI"/>
</xs:element>
<xs:sequence>
<xs:attribute name="param" type="xs:string"/>
<xs:attribute name="baseURL" type="xs:anyURI"/>
</xs:complexType>
<xs:complexType name="threadAlertList">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.ThreadAlertList</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="threadAlert" minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
XXX DOR
</xs:sequence>
<xs:attribute name="url" type="xs:anyURI"/>
</xs:element>
<xs:sequence>
</xs:complexType>
<xs:complexType name="forumAlerts">
<xs:element name="bebop:form" type="bebopForm"/>
</xs:complexType>
<xs:complexType name="threadAlerts">
<xs:element name="bebop:form" type="bebopForm"/>
</xs:complexType>
<xs:complexType name="threadOptions">
<xs:annotation>
<xs:documentation xml:lang="en">
A set of links relating to operations
in the thread list, such as alert
subscribe
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="bebop:link" type="bebopLink"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="threadDisplay">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.forum.ui.ThreadList</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="paginator" type="paginator"/>
<xs:element name="message" minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
XXX DOR
</xs:sequence>
<xs:attribute name="approveURL" type="xs:anyURI" use="optional"/>
<xs:attribute name="rejectURL" type="xs:anyURI" use="optional"/>
<xs:attribute name="deleteURL" type="xs:anyURI" use="optional"/>
<xs:attribute name="editURL" type="xs:anyURI" use="optional"/>
<xs:attribute name="replyURL" type="xs:anyURI"/>
</xs:element>
<xs:sequence>
</xs:complexType>
<xs:complexType name="paginator">
<xs:attribute name="param" type="xs:string"/>
<xs:attribute name="baseURL" type="xs:anyURI"/>
<xs:attribute name="pageNumber" type="xs:integer"/>
<xs:attribute name="pageCount" type="xs:integer"/>
<xs:attribute name="pageSize" type="xs:integer"/>
<xs:attribute name="objectBegin" type="xs:long"/>
<xs:attribute name="objectEnd" type="xs:long"/>
<xs:attribute name="objectCount" type="xs:long"/>
</xs:complexType>
<xs:complexType name="bebopForm">
</xs:complexType>
<xs:complexType name="bebopLink">
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,104 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://rhea.redhat.com/schemas/navigation"
elementFormDefault="qualified"
targetNamespace="http://rhea.redhat.com/schemas/navigation">
<xs:complexType name="alphabet">
<xs:sequence>
<xs:element name="letter">
<xs:complexType>
<xs:attribute name="value" type="xs:string"/>
<xs:attribute name="url" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="calendar">
<xs:sequence>
<xs:element name="today">
<xs:complexType>
<xs:attribute name="date" type="xs:string"/>
<xs:attribute name="day" type="xs:string"/>
<xs:attribute name="week" type="xs:string"/>
<xs:attribute name="month" type="xs:string"/>
<xs:attribute name="prettyMonth" type="xs:string"/>
<xs:attribute name="period" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="year">
<xs:complexType>
<xs:sequence>
<xs:element name="month">
<xs:complexType>
<xs:sequence>
<xs:element name="week">
<xs:complexType>
<xs:sequence>
<xs:element name="day">
<xs:complexType>
<xs:attribute name="url" type="xs:string"/>
<xs:attribute name="date" type="xs:string"/>
<xs:attribute name="day" type="xs:string"/>
<xs:attribute name="week" type="xs:string"/>
<xs:attribute name="month" type="xs:string"/>
<xs:attribute name="dayOfWeek" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="url" type="xs:string"/>
<xs:attribute name="rank" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="url" type="xs:string"/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="previousURL" type="xs:string"/>
<xs:attribute name="nextURL" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="previousURL" type="xs:string"/>
<xs:attribute name="nextURL" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="categoryList">
<xs:sequence>
<xs:element name="category" type="object" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="objectList">
<xs:sequence>
<xs:element name="paginator" type="paginator"/>
<xs:element name="object" type="object" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="paginator">
<xs:attribute name="pageNumber" type="xs:integer"/>
<xs:attribute name="pageCount" type="xs:integer"/>
<xs:attribute name="pageSize" type="xs:integer"/>
<xs:attribute name="objectBegin" type="xs:integer"/>
<xs:attribute name="objectEnd" type="xs:integer"/>
<xs:attribute name="objectCount" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="object">
<xs:attribute name="oid" type="xs:string"/>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="description" type="xs:string"/>
<xs:attribute name="url" type="xs:string"/>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,165 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://xmlns.redhat.com/atoz/1.0"
elementFormDefault="qualified"
targetNamespace="http://xmlns.redhat.com/atoz/1.0">
<xs:element name="categoryRoot">
<xs:annotation>
<xs:documentation xml:lang="en">
Outputs the root navigation category
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.navigation.ui.category.Root</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="category" minOccurs="1" maxOccurs="1"/>
</sequence>
</xs:complexType>
</xs:element>
<xs:element name="categoryTopLevel">
<xs:annotation>
<xs:documentation xml:lang="en">
Outputs the first level navigation categories (ie immediate
children of the root).
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.navigation.ui.category.TopLevel</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</xs:complexType>
</xs:element>
<xs:element name="categorySiblings">
<xs:annotation>
<xs:documentation xml:lang="en">
Outputs siblings of the category category (ie, those categories
at the same level as the current category.
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.navigation.ui.category.Siblings</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</xs:complexType>
</xs:element>
<xs:element name="categoryChildren">
<xs:annotation>
<xs:documentation xml:lang="en">
Outputs immediate children of the current category
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.navigation.ui.category.Children</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</xs:complexType>
</xs:element>
<xs:element name="categoryPath">
<xs:annotation>
<xs:documentation xml:lang="en">
Outputs the categories on a path between the root navigation
category (exclusive) and the current category (inclusive).
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.navigation.ui.category.Path</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="category" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</xs:complexType>
</xs:element>
<xs:element name="categoryMenu">
<xs:annotation>
<xs:documentation xml:lang="en">
Outputs the immediate children of all categories between the
root navigation category & the current category (both inclusive).
This is intended for showing a contextually-expanded tree to
the current category.
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.navigation.ui.category.Menu</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="nestedCategory" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</xs:complexType>
</xs:element>
<xs:element name="categoryHierarchy">
<xs:annotation>
<xs:documentation xml:lang="en">
Outputs all categories, starting from the root navigation category
and recursing.
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.london.navigation.ui.category.Hierarchy</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="nestedCategory" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="category">
<xs:annotation>
<xs:documentation xml:lang="en">
Represents the information for a single category. When
generating links to the category page, the url attribute
is the preferred method. The id attribute is merely
present for informational purposes.
</xs:documentation>
</xs:annotation>
<xs:attribute name="id" type="xs:integer"/>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
<xs:attribute name="url" type="xs:anyURI"/>
</xs:complexType>
<xs:complexType name="nestedCategory">
<xs:extension base="category">
<xs:sequence>
<xs:element name="category" type="nestedCategory" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexType
</xs:schema>

View File

@ -0,0 +1,95 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.uk.arsdigita.com/portal/1.0"
xmlns:portlet="http://www.uk.arsdigita.com/portlet/1.0"
xmlns:debug="http://xmlns.redhat.com/waf/bebop/debug/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
elementFormDefault="qualified"
targetNamespace="http://www.uk.arsdigita.com/portal/1.0">
<xs:element name="workspace">
<xs:sequence>
<xs:element name="workspaceDetails" type="workspaceDetails">
<xs:element name="portalList" type="portalList">
<xs:element name="bebop:portal" type="portalDisplay">
</xs:sequence>
</xs:element>
<xs:complexType name="workspaceDetails">
<xs:annotation>
<xs:documentation xml:lang="en">
This outputs metadata about the workspace along with a
summary of permissions.
</xs:documentation>
<xs:appinfo>
<debug:class>com.arsdigita.london.portal.ui.WorkspaceDetails</debug:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="objectType" minOccurs="1" maxOccurs="1"/>
<xs:element name="title" minOccurs="1" maxOccurs="1"/>
<xs:element name="description" minOccurs="0" maxOccurs="1"/>
<xs:element name="primaryURL" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="oid" type="xs:string"/>
<xs:attribute name="canEdit" type="xs:boolean"/>
<xs:attribute name="canAdmin" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="portalList">
<xs:annotation>
<xs:documentation xml:lang="en">
This component generates a summary list of all portals
in a workspace. One use of this is to generate a set
of tabbed panes for switching between portals.
</xs:documentation>
<xs:appinfo>
<debug:class>com.arsdigita.london.portal.ui.PortalList</debug:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="portalDetails" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="objectType" minOccurs="1" maxOccurs="1"/>
<xs:element name="title" minOccurs="1" maxOccurs="1"/>
<xs:element name="description" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="oid" type="xs:string"/>
<xs:attribute name="isSelected" type="xs:boolean"/>
<xs:attribute name="selectAction" type="xs:url"/>
<xs:attribute name="deleteAction" type="xs:url" use="optional"/>
<xs:attribute name="moveLeftAction" type="xs:url" use="optional"/>
<xs:attribute name="moveRightAction" type="xs:url" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="bebop:form"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="portalDisplay">
<xs:annotation>
<xs:appinfo>
<debug:class>com.arsdigita.london.portal.ui.PersistentPortal</debug:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="" minOccurs="" maxOccurs="">
</xs:sequence>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,103 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
xmlns="http://xmlns.redhat.com/core/search/1.0"
elementFormDefault="qualified"
targetNamespace="http://xmlns.redhat.com/core/search/1.0">
<xs:element name="query" type="query"/>
<xs:element name="results" type="results"/>
<xs:complexType name="results">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.search.ui.ResultsPane</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="paginator">
<xs:attribute name="param" type="xs:string"/>
<xs:attribute name="baseURL" type="xs:anyURI"/>
<xs:attribute name="pageNumber" type="xs:integer"/>
<xs:attribute name="pageCount" type="xs:integer"/>
<xs:attribute name="pageSize" type="xs:integer"/>
<xs:attribute name="objectBegin" type="xs:long"/>
<xs:attribute name="objectEnd" type="xs:long"/>
<xs:attribute name="objectCount" type="xs:long"/>
</xs:element>
<xs:element name="documents">
<xs:sequence>
<xs:element name="object" minOccurs="0" maxOccurs="unbounded">
<xs:attribute name="oid" type="xs:string"/>
<xs:attribute name="url" type="xs:string"/>
<xs:attribute name="score" type="xs:string"/>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="summary" type="xs:string" use="optional"/>
<xs:attribute name="locale" type="xs:string"/>
<xs:attribute name="creationDate" type="xs:string" use="optional"/>
<xs:attribute name="creationParty" type="xs:string" use="optional"/>
<xs:attribute name="lastModifiedDate" type="xs:string" use="optional"/>
<xs:attribute name="lastModifiedParty" type="xs:string" use="optional"/>
</xs:element>
</xs:sequence>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="query">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.search.ui.BaseQueryComponent</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="terms">
<xs:sequence>
<xs:element name="error" minOccurs="0" maxOccurs="unbounded">
</xs:sequence>
<xs:attribute name="param" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:element>
<xs:element name="filter" minOccurs="0" maxOccurs="unbounded">
<xs:sequence>
<xs:element name="error" minOccurs="0" maxOccurs="unbounded">
<xs:choice>
<xs:element name="category" type="category" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="objectType" type="objectType" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:sequence>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="category">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.search.ui.filters.CategoryFilterWidget</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:attribute name="oid" type="xs:string"/>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="description" type="xs:string"/>
<xs:attribute name="isSelected" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="objectType">
<xs:annotation>
<xs:appinfo>
<gen:class>com.arsdigita.search.ui.filters.ObjectTypeFilterWidget</gen:class>
</xs:appinfo>
</xs:annotation>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="isSelected" type="xs:string" use="optional"/>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,20 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://www.arsdigita.com/aplaws/1.0"
elementFormDefault="qualified"
targetNamespace="http://www.arsdigita.com/aplaws/1.0">
<xs:element name="services">
<xs:annotation>
<xs:documentation xml:lang="en">
The services component is just a place holder for hooking onto
in XSLT. At this time it contains no content.
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.aplaws.ui.ServicesComponent</gen:class>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,20 @@
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gen="http://xmlns.redhat.com/core/bebop/generator/1.0"
xmlns="http://www.arsdigita.com/aplaws/1.0"
elementFormDefault="qualified"
targetNamespace="http://www.arsdigita.com/aplaws/1.0">
<xs:element name="sitemap">
<xs:annotation>
<xs:documentation xml:lang="en">
The sitemap component is just a place holder for hooking onto
in XSLT. At this time it contains no content.
</xs:documentation>
<xs:appinfo>
<gen:class>com.arsdigita.aplaws.ui.SitemapComponent</gen:class>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/Address">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="address" type="xs:string"/>
<xs:element minOccurs="0" name="postalCode" type="xs:string"/>
<xs:element minOccurs="0" name="phone" type="xs:string"/>
<xs:element minOccurs="0" name="mobile" type="xs:string"/>
<xs:element minOccurs="0" name="fax" type="xs:string"/>
<xs:element minOccurs="0" name="email" type="xs:string"/>
<xs:element minOccurs="0" name="notes" type="xs:string"/>
<xs:element minOccurs="0" name="uri" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/Agenda">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="textAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="agendaDate" type="xs:string"/>
<xs:element minOccurs="0" name="location" type="xs:string"/>
<xs:element minOccurs="0" name="attendees" type="xs:string"/>
<xs:element minOccurs="0" name="subjectItems" type="xs:string"/>
<xs:element minOccurs="0" name="contactInfo" type="xs:string"/>
<xs:element minOccurs="0" name="summary" type="xs:string"/>
<xs:element minOccurs="0" name="creationDate" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/Article">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="textAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="imageCaptions">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="caption" type="xs:string"/>
<xs:element minOccurs="0" name="imageAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="mimeType">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="mimeType" type="xs:string"/>
<xs:element name="label" type="xs:string"/>
<xs:element name="fileExtension" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="width" type="xs:double"/>
<xs:element minOccurs="0" name="height" type="xs:double"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="lead" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/ArticleSection">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="rank" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/Event">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="textAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="startDate" type="xs:string"/>
<xs:element minOccurs="0" name="endDate" type="xs:string"/>
<xs:element minOccurs="0" name="startTime" type="xs:string"/>
<xs:element minOccurs="0" name="endTime" type="xs:string"/>
<xs:element minOccurs="0" name="eventDate" type="xs:string"/>
<xs:element minOccurs="0" name="location" type="xs:string"/>
<xs:element minOccurs="0" name="lead" type="xs:string"/>
<xs:element minOccurs="0" name="mainContributor" type="xs:string"/>
<xs:element minOccurs="0" name="eventType" type="xs:string"/>
<xs:element minOccurs="0" name="mapLink" type="xs:string"/>
<xs:element minOccurs="0" name="cost" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/FAQItem">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="question" type="xs:string"/>
<xs:element name="answer" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/FileStorageItem">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/GlossaryItem">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="definition" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/Job">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="grade" type="xs:string"/>
<xs:element minOccurs="0" name="closingDate" type="xs:string"/>
<xs:element minOccurs="0" name="salary" type="xs:string"/>
<xs:element minOccurs="0" name="body" type="xs:string"/>
<xs:element minOccurs="0" name="refNumber" type="xs:string"/>
<xs:element minOccurs="0" name="department" type="xs:string"/>
<xs:element minOccurs="0" name="jobDescription" type="xs:string"/>
<xs:element minOccurs="0" name="personSpecification" type="xs:string"/>
<xs:element minOccurs="0" name="contactDetails" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/LegalNotice">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="textAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="governmentUID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/MOTDItem">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="message" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,36 @@
SERVER = http://dev.london.redhat.com:9068/
types = Address \
Agenda \
Article \
Event \
FileStorageItem \
Job \
LegalNotice \
Minutes \
MultiPartArticle \
ArticleSection \
NewsItem \
PressRelease \
Service \
FAQItem \
GlossaryItem \
MOTDItem \
Organization
schemas = $(types:%=%.xsd)
all: ct-schemas.html
ct-schemas.html: ct-schemas.htmc $(schemas)
htmltoc.pl $< > $@
%.xsd:
wget -O $@.raw '$(SERVER)aplaws/schema.jsp?type=com.arsdigita.cms.contenttypes.$(@:%.xsd=%)&context=com.arsdigita.cms.dispatcher.SimpleXMLGenerator&wrapAttr=true&wrapRoot=false'
xmllint -format $@.raw > $@
rm $@.raw
clean:
rm -f $(schemas) ct-schemas.html *.bak *~

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/Minutes">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="textAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="minuteNumber" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="actionItem" type="xs:string"/>
<xs:element minOccurs="0" name="attendees" type="xs:string"/>
<xs:element minOccurs="0" name="descriptionOfMinutes" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/MultiPartArticle">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="summary" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/NewsItem">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="textAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="imageCaptions">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="caption" type="xs:string"/>
<xs:element minOccurs="0" name="imageAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="mimeType">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="mimeType" type="xs:string"/>
<xs:element name="label" type="xs:string"/>
<xs:element name="fileExtension" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="width" type="xs:double"/>
<xs:element minOccurs="0" name="height" type="xs:double"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="lead" type="xs:string"/>
<xs:element minOccurs="0" name="newsDate" type="xs:string"/>
<xs:element name="isHomepage" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/Organization">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="link" type="xs:string"/>
<xs:element minOccurs="0" name="contact" type="xs:string"/>
<xs:element minOccurs="0" name="imageID" type="xs:double"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/PressRelease">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="textAsset">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string"/>
<xs:element minOccurs="0" name="content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="contactInfo" type="xs:string"/>
<xs:element minOccurs="0" name="summary" type="xs:string"/>
<xs:element minOccurs="0" name="referenceCode" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://aplaws.org/schemas/content-types/com/arsdigita/cms/contenttypes/Service">
<xs:element name="object">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="objectType" type="xs:string"/>
<xs:element minOccurs="0" name="type">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="label" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="language" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="fileAttachments">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="id" type="xs:double"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="links">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="linkTitle" type="xs:string"/>
<xs:element minOccurs="0" name="linkDescription" type="xs:string"/>
<xs:element name="targetType" type="xs:string"/>
<xs:element minOccurs="0" name="targetURI" type="xs:string"/>
<xs:element minOccurs="0" name="targetItem">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="targetWindow" type="xs:string"/>
<xs:element minOccurs="0" name="linkOrder" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element minOccurs="0" name="launchDate" type="xs:string"/>
<xs:element minOccurs="0" name="dublinCore">
<xs:complexType>
<xs:attribute name="oid" type="xs:string"/>
<xs:sequence>
<xs:element name="version" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element minOccurs="0" name="dcAudience" type="xs:string"/>
<xs:element minOccurs="0" name="dcContributor" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverage" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoveragePostcode" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageSpatialRef" type="xs:string"/>
<xs:element minOccurs="0" name="dcCoverageUnit" type="xs:string"/>
<xs:element minOccurs="0" name="dcDateValid" type="xs:string"/>
<xs:element minOccurs="0" name="dcDisposalReview" type="xs:string"/>
<xs:element minOccurs="0" name="dcLanguage" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalBegin" type="xs:string"/>
<xs:element minOccurs="0" name="dcTemporalEnd" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorOwner" type="xs:string"/>
<xs:element minOccurs="0" name="dcCreatorContact" type="xs:string"/>
<xs:element minOccurs="0" name="dcDescription" type="xs:string"/>
<xs:element minOccurs="0" name="dcIdentifier" type="xs:string"/>
<xs:element minOccurs="0" name="dcPreservation" type="xs:string"/>
<xs:element minOccurs="0" name="dcPublisher" type="xs:string"/>
<xs:element minOccurs="0" name="dcRelation" type="xs:string"/>
<xs:element minOccurs="0" name="dcRights" type="xs:string"/>
<xs:element minOccurs="0" name="dcSource" type="xs:string"/>
<xs:element minOccurs="0" name="dcKeywords" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="summary" type="xs:string"/>
<xs:element minOccurs="0" name="servicesProvided" type="xs:string"/>
<xs:element minOccurs="0" name="openingTimes" type="xs:string"/>
<xs:element minOccurs="0" name="address" type="xs:string"/>
<xs:element minOccurs="0" name="contacts" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@ -0,0 +1,145 @@
<html>
<head>
<!-- WARNING -->
<title>APLAWS-II: Content Type Schemas</title>
<style>
.schema {
border: 1px solid black;
margin: 1em;
padding: 1em;
background: rgb(192,230,230);
}
</style>
</head>
<body bgcolor="white" text="black">
<h1>APLAWS-II: Content Type Schemas</h1>
<p>
<big><strong><em>Final 1 November 2003</em></strong></big>
</p>
<!-- TABLE OF CONTENTS -->
<!-- SECTION Introduction -->
<p>
This document provides XML Schemas for the principle APLAWS
content types. These schemas correspond to the XML generated
for presenting content items for viewing. Other uses of XML
wrt to content types (ie search indexing, import / export) may
use different XML schemas. In addition to the basic content type
attributes, these schemas also describe the XML generated for links,
file attachments and dublin core metadata that are associated with
any content type.
</p>
<p>
The official specification for XML schemas can be found at the
<a href="http://www.w3.org/XML/Schema">W3C</a> site. For a gentler introduction, the O'Reilly
<a href="http://www.oreilly.com/catalog/xmlschema/">XML Schema book</a> is recommended reading.
</p>
<!-- SECTION Content Types -->
<p>
The schemas that follow represent the XML generated by the
<code>com.arsdigita.cms.dispatcher.ContentPanel</code> bebop component.
This is the standard component used on the CMS item.jsp template.
</p>
<!-- SUBSECTION Address -->
<pre class="schema">
<!-- INSERT Address.xsd -->
</pre>
<!-- SUBSECTION Agenda -->
<pre class="schema">
<!-- INSERT Agenda.xsd -->
</pre>
<!-- SUBSECTION Article -->
<pre class="schema">
<!-- INSERT Article.xsd -->
</pre>
<!-- SUBSECTION Event -->
<pre class="schema">
<!-- INSERT Event.xsd -->
</pre>
<!-- SUBSECTION FAQ Item -->
<pre class="schema">
<!-- INSERT FAQItem.xsd -->
</pre>
<!-- SUBSECTION File Storage Item -->
<pre class="schema">
<!-- INSERT FileStorageItem.xsd -->
</pre>
<!-- SUBSECTION Glossary Item -->
<pre class="schema">
<!-- INSERT GlossaryItem.xsd -->
</pre>
<!-- SUBSECTION Job -->
<pre class="schema">
<!-- INSERT Job.xsd -->
</pre>
<!-- SUBSECTION Legal Notice -->
<pre class="schema">
<!-- INSERT LegalNotice.xsd -->
</pre>
<!-- SUBSECTION Minutes -->
<pre class="schema">
<!-- INSERT Minutes.xsd -->
</pre>
<!-- SUBSECTION Multi-part Article -->
<pre class="schema">
<!-- INSERT MultiPartArticle.xsd -->
</pre>
<!-- SUBSUBSECTION Article Section -->
<pre class="schema">
<!-- INSERT ArticleSection.xsd -->
</pre>
<!-- SUBSECTION MOTD Item -->
<pre class="schema">
<!-- INSERT MOTDItem.xsd -->
</pre>
<!-- SUBSECTION News Item -->
<pre class="schema">
<!-- INSERT NewsItem.xsd -->
</pre>
<!-- SUBSECTION Organization -->
<pre class="schema">
<!-- INSERT Organization.xsd -->
</pre>
<!-- SUBSECTION Press Release -->
<pre class="schema">
<!-- INSERT PressRelease.xsd -->
</pre>
<!-- SUBSECTION Service -->
<pre class="schema">
<!-- INSERT Service.xsd -->
</pre>
<!-- FOOTER Daniel Berrange (berrange@redhat.com) -->
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
DOCNAME=rhea-dpg-aplaws-en

View File

@ -0,0 +1,379 @@
<chapter id="ch-application-development">
<title>Application Development</title>
<para>
Once you have your development server up and running you are ready
to start custom development. The
<command>ccm-devel-create.pl</command> creates a skeleton application
directory for your project where you should place your custom code.
You should have a directory for each custom application you develop in
your dev directory and an entry in
<filename>project.xml</filename>. This chapter will detail the layout
of the application directory and configuration files, however the
details of actually writing XSL, Java, PDL, and JSP are beyond the
scope of this document, please refer to the guides on <ulink url="http://ccm.redhat.com">CCM Website</ulink> or other resources.
</para>
<sect1 id="s1-quick-application-development">
<title>Quick Guide for the Impatient</title>
<para>
<orderedlist>
<listitem><para>Log in as your development user and run the command <command>ccm-profile <replaceable>projectname</replaceable>
</command>.</para>
</listitem>
<listitem>
<para>
<command>cddev</command> to change into the development directory.
</para>
</listitem>
<listitem>
<para>
Make the desired code changes
</para>
</listitem>
<listitem>
<para><command>ant deploy</command> to deploy and test the changes.
</para>
</listitem>
<listitem>
<para>If you are using CVS check in the changes.</para>
</listitem>
</orderedlist>
</para>
</sect1>
<sect1 id="s1-application-directory">
<title>An Application Directory</title>
<para>The dev directory will contain one or more application
directories. Each of these directories will be built as a single
unit, but may depend on functionality provided by other
applications.</para>
<para>An application directory contains several
subdirectories:</para>
<sect2 id="s2-application-directory-structure">
<title>Application Directory Structure</title>
<screen>
<computeroutput>
<userinput>application name</userinput>
|
|
+ -- application.xml
|
|
+ -- etc/
| |
| |
| + -- enterprise.init.in
|
|
+ -- web/
| |
| |
| + -- packages
|
|
+ -- src/
| |
| |
| + -- com/arsdigita/
|
|
+ -- pdl/
|
|
+ -- com/arsdigita/
</computeroutput>
</screen>
</sect2>
<sect2 id="s2-app-etc">
<title>etc/</title>
<para>This holds any custom fragments your package will
need to add to the system initializer file,
<filename>enterprise.init</filename>, in a file called
<filename>enterprise.init.in</filename>. When you are
building your project, one of the steps you will take
will be running a task that concatenates all the
appropriate <filename>enterprise.init.in</filename>
fragments together into one master configuration
file.</para>
<para><filename>etc/</filename> might also contain
custom libraries or other special files your package
relies on.</para>
</sect2>
<sect2 id="s2-app-pdl">
<title>pdl/</title>
<para>This directory contains the PDL files for custom data
objects your application creates and uses. If you
explore the <filename>pdl/</filename> directory, you'll
see it is organized like Java packages, with directories
following a package hierarchy. Like Java, PDL code is
organized in packages (called
<emphasis>models</emphasis>), and PDL objects can extend
other PDL objects.</para>
</sect2>
<sect2 id="s2-app-sql">
<title>sql/</title>
<para>This directory contains the custom SQL files
that create, drop,
and upgrade the database schema for your application,
and a single custom create script
(<filename>oracle-se-create.sql</filename>, for example)
for each database you want your application to run on.
SQL files are organized by package and by the database
they are appropriate for. Note that auto generated sql,
which is what most of your sql will be, only appears in
the build and deployment directories, not in this
<filename>sql/</filename> directory.</para>
</sect2>
<sect2 id="s2-app-src">
<title>src/</title>
<para>holds the Java source code for your package. It is
organized according to the standard Java package directory
hierarchy.</para>
</sect2>
<sect2 id="s2-app-test">
<title>test/</title>
<para>This holds <application>Junit</application> and other
test classes for your application.
<filename>test/</filename> will have at least a
<filename>src/</filename> directory underneath it, and it
may have other directories holding non-Java files necessary
for running your application tests.</para>
</sect2>
<sect2 id="s2-app-web">
<title>web/</title>
<para>This holds files from your application that should be
deployed directly to the servlet container's
<emphasis>webapp root</emphasis> (like the document root
for a web server, the webapp root is the directory where the
servlet container looks for Java classes, and for JSPs and
any static files it needs to serve). Under
<filename>web/</filename> you will find a
<filename>packages/</filename> directory; in a complete
application, you might also see a
<filename>STATIC/</filename> or <filename>assets/</filename>
directory for static files like graphics or CSS.</para>
<para>The <filename>packages/</filename> directory under
<filename>web/</filename> deserves a few special words.
<filename>packages/</filename> is the location for the XSL
for your application, and also for any JSPs you may want to
include. Note that a ccm package is
<emphasis>not</emphasis> the same thing as a Java package; a
&CCM; application can contain many &CCM; packages, which can
contain many Java packages. The distinction is that a &CCM;
package is represented by a row in a &CCM; system table, can
be mounted at site nodes and can have its own dispatcher. A
Java package is simply a unit of code organization, and is
not tracked by &CCM; in any way.</para>
<para>XSL stylesheets for a package go under the
<filename>packages/<replaceable>package-name</replaceable>/xsl/</filename>
directory. Custom JSPs go under the
<filename>packages/<replaceable>package-name</replaceable>/www/</filename>
directory.</para>
</sect2>
</sect1>
<sect1 id="s1-application-dot-xml">
<title>The <filename>application.xml</filename> file</title>
<para><filename>application.xml</filename> provides metadata about
an application, primarily for use when building a package.</para>
<sect2 id="s2-sample-application-dot-xml">
<title>Sample <filename>application.xml</filename> file</title>
<screen><computeroutput>
&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;ccm:application name="aplaws-custom"
prettyName="The APLAWS customization and styling package"
version="1.0.0"
release="1"&gt;
&lt;ccm:dependancies&gt;
&lt;!-- &lt;ccm:requires name="core" version="5.0.0"/&gt; --&gt;
&lt;/ccm:dependancies&gt;
&lt;ccm:contacts&gt;
&lt;!--
&lt;ccm:contact uri="http://www.redhat.com/software/ccm" type="website"/&gt;
&lt;ccm:contact uri="mailto:cms@redhat.com" type="support"/&gt;
--&gt;
&lt;/ccm:contacts&gt;
&lt;ccm:description&gt;
The aplaws-custom package customizes the APLAWS system.
&lt;/ccm:description&gt;
&lt;/ccm:application&gt;
</computeroutput>
</screen>
</sect2>
<sect2 id="s2-application-dot-xml">
<title><filename>application.xml</filename> elements</title>
<para>As with <filename>project.xml</filename>, the most commonly
changed parameters are attributes of the top level element,
<command>&lt;ccm:application&gt;</command>:</para>
</sect2>
<sect2 id="s2-ax-name">
<title>name</title>
<para>The machine friendly name of the
application. This is not normally changed once it has
been set.</para>
</sect2>
<sect2 id="s2-ax-pretty-name">
<title>prettyName</title>
<para>The human friendly name of the application.</para>
</sect2>
<sect2 id="s2-ax-version">
<title>version</title>
<para>The version number of the application. This always
consists of 3 numbers, separated by '.', which have
decreasing significance from left to right.</para>
<para>By convention, the first number is the 'very
major' version number. This is normally only changed to
signify a very significant enhancement or change in
functionality. The second number is less major, but
still represents a significant new version. The third
number is the minor version number. You will normally
change this number for bug fixes or minor
enhancements.</para>
<note>
<title>Note</title>
<para>If you specified this application in the
<command>extendsVersion</command> attribute of
<filename>project.xml</filename> then the value you
specify here will be top level version number for
your project.</para>
</note>
</sect2>
<sect2 id="s2-ax-release">
<title>release</title>
<para>The release number specifies a particular build of
a version number.</para>
<para>By convention, you should increase the release
number only if you are correcting something which should
have been in the original release, or something so minor
it could not possibly impact on any other part of the
system, such as a typo. When increasing the version
number, you should reset the release number to 1.</para>
<note>
<title>Note</title>
<para>If you specified this application in the
<command>extendsVersion</command> attribute of
<filename>project.xml</filename> then the value you
specify here will be top level release number for
your project.</para>
</note>
</sect2>
<sect2 id="s2-ax-future">
<title><command>&lt;ccm:dependancies&gt;</command>,
<command>&lt;ccm:contacts&gt;</command>, and
<command>&lt;ccm:description&gt;</command></title>
<para>The <command>&lt;ccm:dependancies&gt;</command>,
<command>&lt;ccm:contacts&gt;</command> and
<command>&lt;ccm:description&gt;</command> elements are placeholders
for future functionality, and are not currently used.</para>
</sect2>
</sect1>
<sect1 id="s1-app-cvs">
<title>Using CVS</title>
<para>
The Concurrent Versions System (CVS) is a powerful file
system-based tool for managing changes made to a code base. It is
particularly useful for tracking changes across time and for
facilitating collaboration of multiple developers on the same
code. This section will provide a brief introduction to CVS and the very basic commands. However it is strongly recommended that you study the CVS manual to take full advantage of this tool.
</para>
<para> CVS works by storing all changes in a central
repository, called the CVS repository. Developers can make copies of
the code from the CVS repository - called a check out - and make
changes to the code. Joe Developer is happy with the changes the the
developer can submit the new changes to the repository (called a check
in). If a Bob Developer comes along and checks out the same code base,
it will now have the changes that Joe made, along with the history of
how Joe changed the code. Because both developers are always referring
to the central CVS repository code changes can be easily shared.
</para>
<para>
CVS can provide you with the following capabilities for your code base:
<itemizedlist>
<listitem><para>Remember what all the previous checked-in
versions of a file contained, using its repository.</para></listitem>
<listitem><para>Show you the difference between what's in your
tree and what's in the repository.</para></listitem>
<listitem><para>Help you merge changes made simultaneously by
multiple authors who might have been unaware of each other's
work.</para></listitem>
<listitem><para>Group a snapshot of currently checked-in
versions of files as a partcular release</para></listitem>
<listitem><para>Revert back to a previous version of the code.</para></listitem>
<listitem><para>Act as a backup and restore facility.</para>
</listitem>
</itemizedlist>
</para>
<sect2 id="s2-cvs-commit">
<title><command>Making changes: cvs commit</command>
</title>
<para>
Once you have made changes to a file you need to notify the repository of your changes. You can do this with the command <command>cvs commit</command>.
</para>
</sect2>
<sect2 id="s2-cvs-update">
<title><command>Retrieving changes: cvs update</command>
</title>
<para>
You can retrieve changes that other developers have made
with the command <command>cvs update</command>. You should always run <command>cvs update</command> before you start working to make sure that the files you are working on are up to date.
</para>
</sect2>
<sect2 id="s2-cvs-help">
<title>CVS Help</title>
<para>
CVS is a very popular software and there is endless online
documentation on how to use it. There is also help available in the manual page for CVS and command line help.
<itemizedlist>
<listitem>
<para>
<ulink url="http://www.cvshome.org/docs/">CVS online documentation.</ulink>
</para>
</listitem>
<listitem><para>man cvs</para></listitem>
<listitem><para><command>cvs --help-options</command>: List of options you can use with CVS.</para></listitem>
<listitem><para><command>cvs --help-commands</command>: List of commands you can use with CVS.</para>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
</chapter>

View File

@ -0,0 +1,468 @@
<chapter id="ch-deploying-to-live">
<title>Building and Deploying A Package</title>
<para>
To install your customized code to the production server you
will need to package the codebase with <firstterm>RPM</firstterm>.
RPM is available for most flavours of UNIX, including
&RHEL; and <trademark>Solaris</trademark>. This section outlines
the steps for building a new RPM and installing it on your production
or staging server.
</para>
<sect1 id="s1-building-package">
<title>Building a package</title>
<para>Deployment to a live server is done by creating a package from a
tested and known good instance and installing it on your live
servers.</para>
<sect2 id="s2-setting-up-instance">
<title>Setting up an Instance</title>
<para>An RPM is built from a staging or development instance. You
will have a dev directory setup which contains all the code you
intend to run on your live server. The first step is to ensure the
quality of the instance you are building from.</para>
<para>First you should do a clean and rebuild of your instance. With
your environment setup for appropriate instance using
<command>ccm-profile</command>, execute the following commands from
the top level dev directory:</para>
<screen>
<command>ccm-stop</command>
<command>ant</command> <option>clean</option>
<command>ant</command> <option>deploy</option>
<command>ccm-start</command>
</screen>
<para>Once this has completed you should test it extensively, but
concentrating specifically on anything you may have changed since
the last build. When you are happy with it, you can create a
package.</para>
</sect2>
<sect2 id="s2-creating-a-package">
<title>Creating a package</title>
<para>Before creating a package, you should first increment the
version or release number as described in <xref
linkend="s2-application-dot-xml">. Be sure to commit your change to CVS
if you are using it.</para>
<para>Creating a package only requires a single command. In the top
level dev directory there will be a file called
<filename>rollingbuild.sh</filename>. To execute it, type:</para>
<screen>
<command>./rollingbuild.sh</command>
</screen>
<para><command>rollingbuild.sh</command> does a complete build from
scratch and can potentially take a long time to run. By default it
also builds more than one type of package. To make it run quicker,
you can use the following command instead:</para>
<screen>
<command>CCM_DIST_NOZIPS=1 ./rollingbuild.sh</command>
</screen>
</sect2>
<sect2>
<title>RPM version</title>
<para>
You will want to increment the release and version numbers of your
packages everytime you create a new build. You can do this
by editing <filename>project.xml</filename> or
<filename>application.xml</filename>. Please see <xref linkend="s2-ax-release"/>.
</para>
<caution>
<para>
If you do not increment the release number you will not
be able to upgrade an existing installation without using the
<command>rpm --force</command> option. You should
<emphasis>always</emphasis> increment the release number no matter how
insignificant the change is. Having good accounting in terms of
releases allows you to revert to older versions.
</para>
</caution>
</sect2>
<sect2 id="s2-file-locations">
<title>File locations</title>
<para><command>rollingbuild.sh</command> creates a number of rpms
which are arranged according to convention. All of the rpms are
created in the directory
<filename>/var/ccm-devel/rpm/<replaceable>username</replaceable>/RPMS/noarch</filename>. The source RPM is in <filename>/var/ccm-devel/rpm/<replaceable>username</replaceable>/SRPMS/</filename></para>
<para>When it finishes, rollingbuild will have created a number of
packages.
<itemizedlist>
<listitem><para>
<filename><replaceable>projectname</replaceable>-x.x.x-x.noarch.rpm</filename> - This is the binary RPM of the code base.
</para></listitem>
<listitem><para>
<filename><replaceable>projectname</replaceable>-servlet-resin-x.x.x-x.noarch.rpm</filename> - This is the RPM for running your project with the Resin servlet container.
</para></listitem>
<listitem><para>
<filename><replaceable>projectname</replaceable>-servlet-tomcat3-x.x.x-x.noarch.rpm</filename> - This is the RPM for running your project with the Tomcat servlet container.
</para></listitem>
<listitem><para>
<filename><replaceable>projectname</replaceable>-devel-tomcat3-x.x.x-x.noarch.rpm</filename> - This is the RPM for creating another project that extends the current project. This will install code in <filename>/usr/share/ccm-devel/project</filename>.
</para></listitem>
<listitem><para>
<filename><replaceable>projectname</replaceable>-doc-x.x.x-x.noarch.rpm</filename> - This is the javadoc generated from your project code. It will include all the APLAWS and &CCM; Javadoc.
</para></listitem>
<listitem><para>
<filename><replaceable>projectname</replaceable>-x.x.x-x.src.noarch.rpm</filename> - This is the source RPM for your project.
</para></listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<sect1 id="s1-install-project">
<title>Installing your RPM</title>
<para>
Once you have created your RPM you will need to install
it on your staging or production machine. Here are the steps for
installing your RPMS, you will need to be logged in as the root user.</para>
<sect2 id="s2-install-quick">
<title>Quick steps for the impatient</title>
<orderedlist>
<listitem><para>Copy two RPMs,
<filename><replaceable>projectname</replaceable>-x.x.x-x.noarch.rpm</filename>,
and
<filename><replaceable>projectname</replaceable>-servlet-resin-x.x.x-x.noarch.rpm</filename>
to your staging server.
</para></listitem>
<listitem><para>
Install the two RPMs at once by running the following command.
<screen>
<command>rpm -Uvh <replaceable>projectname-x.x.x-x.noarch.rpm projectname</replaceable>-servlet-resin-x.x.x-x.noarch.rpm</command>
</screen>
</para></listitem>
<listitem><para>
Copy the file <filename>/etc/<replaceable>projectname</replaceable>.cfg-resin</filename> to <filename>/etc/<replaceable>projectname</replaceable>.cfg</filename>.
</para></listitem>
<listitem><para>
Edit <filename>/etc/<replaceable>projectname</replaceable>.cfg</filename> in the same way you edited <filename>config.vars</filename>.
</para></listitem>
<listitem><para>
Update the configuration files for your server by running <command><replaceable>projectname</replaceable>-configure.pl</command>. This is similar to running <command>ant make-init</command>.
<screen>
/usr/sbin/<replaceable>projectname</replaceable>-configure.pl /etc/<replaceable>projectname</replaceable>.cfg
</screen>
</para></listitem>
<listitem><para>
The server should restart automatically when the configuration files are changed. If this does not happen you can restart the server manually with the init script.
<screen>
/etc/init.d/<replaceable>projectname</replaceable> restart # stop|start
</screen>
</para></listitem>
</orderedlist>
</sect2>
<sect2 id="s2-install-rpm-project">
<title>Installing the RPMS: <filename><replaceable>projectname</replaceable>-x.x.x-x.noarch.rpm</filename></title>
<para>
You will need to install the two RPMs
<filename><replaceable>projectname</replaceable>-x.x.x-x.noarch.rpm</filename>,
and
<filename><replaceable>projectname</replaceable>-servlet-resin-x.x.x-x.noarch.rpm</filename>
together as the two are
interdependent. <filename><replaceable>projectname</replaceable>-x.x.x-x.noarch.rpm</filename>
will install your code in
<filename>/var/www/<replaceable>projectname</replaceable></filename>
where it will be used by your application server. This RPM also
installs the init file
<filename>/etc/init.d/<replaceable>projectname</replaceable></filename>,
the configuration script
<filename>/usr/sbin/<replaceable>projectname</replaceable>-configure.pl</filename>,
and the log directory
<filename>/var/log/<replaceable>projectname</replaceable>.</filename>
</para>
</sect2>
<sect2 id="s2-install-rpm-servlet">
<title>Installing the RPMS: <filename><replaceable>projectname</replaceable>-servlet-resin-x.x.x-x.noarch.rpm</filename></title>
<para>
The servlet RPM will install configuration files and
wrapper scripts for controlling the servlet container. Specifically it will install the following files:
<itemizedlist>
<listitem><para><filename>/usr/share/<replaceable>projectname</replaceable>/bin/resin/run-apache.sh.in</filename></para></listitem>
<listitem><para><filename>/usr/share/<replaceable>projectname</replaceable>/bin/resin/run-resin.sh.in</filename></para></listitem>
<listitem><para><filename>/usr/share/<replaceable>projectname</replaceable>/bin/resin/run.sh.in</filename></para></listitem>
<listitem><para><filename>/usr/share/<replaceable>projectname</replaceable>/conf/resin</filename></para></listitem>
<listitem><para><filename>/usr/share/<replaceable>projectname</replaceable>/conf/resin/httpd-resin-vhost.conf.in</filename></para></listitem>
<listitem><para><filename>/usr/share/<replaceable>projectname</replaceable>/conf/resin/resin-back.conf.in</filename></para></listitem>
<listitem><para><filename>/usr/share/<replaceable>projectname</replaceable>/conf/resin/resin-front.conf.in</filename></para></listitem>
</itemizedlist>
</para>
<para>
These files are templates for your installation. When
you run the command
<command>/usr/sbin/<replaceable>projectname</replaceable>-configure.pl</command>
copies of these files will be placed in
<filename>/var/www/<replaceable>projectname</replaceable>/conf</filename>
and
<filename>/var/www/<replaceable>projectname</replaceable>/bin</filename>. They
will also be edited to reflect the parameters you set in
<filename>/etc/<replaceable>projectname</replaceable>.cfg</filename>
</para>
</sect2>
<sect2 id="s2-project-dot-cfg">
<title>The <filename><replaceable>projectname</replaceable>.cfg</filename></title>
<para>
Once the RPMs are installed you will need to edit the
configuration file for your server. The template for the config file
is
<filename>/etc/<replaceable>projectname</replaceable>.cfg-resin</filename>. Copy
this file to
<filename>/etc/<replaceable>projectname</replaceable>.cfg</filename>
and edit the parameters much like how you edited
<filename>config.vars</filename>. Some of the parameters are not in
<filename>config.vars</filename> and you will need to change the
values depending on how your Resin and HTTP servers are set up. Below
is an example of a configuration file for a production installation
with two Resin application servers and one Apache front end. The
values you need to change in addition to what what you find in
<filename>config.vars</filename> is emphasised with additional
comments. The Resin servers are called resin1.example.com and
resin2.example.com and the Apache server is called apache.example.com.
</para>
<note>
<title><command>hostname</command></title>
<para>The hostnames for the servers need to be exactly
as they appear when you run the <command>hostname</command>
command. If you want to change the default behavior of
<command>hostname</command> to return the short name or the fully
qualified domain name here is what you can do:
</para>
<para>
Edit <filename>/etc/sysconfig/network</filename> and change HOSTNAME
to be the fully qualified domain name. You can also use the gui tools
<command>netconfig</command> and
<command>redhat-config-network</command> to do this. These changes
will only take effect after the machine has been restarted. To change
it at runtime pass an argument to <command>hostname</command> as root.
<screen>
$ hostname resin1.example.com
</screen>
You can test this by running <command>hostname</command> with no
arguments. </para>
</note>
<screen><computeroutput>
##########################################
# APLAWS Master configuration file #
#########################################
servlet-container = resin
## This is set to servlet23 by default but should be resin
<userinput>servlet-webxml = resin</userinput>
# NB: all hostnames used should be
# the fully qualified name as returned
# by the 'hostname' command with no arguments.
####################################
# UNIX system level configuration
# Installation directory for resin
## This should be the directory of your Resin installation
<userinput>resin-home = /opt/resin/2.1.8</userinput>
# Installation directory for this app
app-home = /var/www/aplaws
# Directory containing the base runtime & config files
runtime-home = /usr/share/aplaws
# UNIX accounts to run as
user = servlet
group = servlet
# Whereever you installed JDK 1.3.1
# java-home = /usr/j2se
# java-home = /usr/java/jdk1.3.1
## The java-home should point to $JAVA_HOME
<userinput>java-home = /opt/IBMJava2-131</userinput>
# Userinputly tell java to use more memory
#
# For Sun's JDK, on a machine with 1GB
#jre-args = -J-client -J-Xss128k -J-Xms512m -J-Xmx512m -J-XX:NewSize=128m -J-XX:MaxNewSize=128m
#
# For IBM's JDK on a machine with 256MB
#jre-args = -J-Xms128m -J-Xmx128m
<userinput>jre-args = -J-Xms1536m -J-Xmx1536m</userinput>
# The hostname of the front end apache box
<userinput>apache = apache.example.com</userinput>
# The hostnames of the back end resin boxes
<userinput>resin = resin1.example.com</userinput>
<userinput>resin = resin2.example.com</userinput>
# The SRUN ports for apache to talk to the resin
# boxes. The 'hostname:port' pair designates which
# srun port each resin instance listens on.
# If there is a firewall, between the resin and
# apache boxes, a second 'hostname:port' pair
# specifies the host and port of the firewall
#
# eg1. no firewall
<userinput>srun = resin1.example.com:6802</userinput>
<userinput>srun = resin2.example.com:6802</userinput>
# eg2. with firewall
<userinput>#srun = resin1.example.com:6082, firewall:6802</userinput>
<userinput>#srun = resin2.example.com:6082, firewall:6803</userinput>
# Turn on http listening on either apache
# or resin boxes. Only need http port on
# the resin boxes for debugging purposes
<userinput>http = apache.example.com:80</userinput>
# Only for debugging
<userinput>http = resin1.example.com:8080</userinput>
<userinput>http = resin2.example.com:8080</userinput>
# ACS initialization file
admin-answer = 6
admin-email = admin@example.com
admin-forename = Administrator
admin-password = 123456
admin-question = 12345
admin-surname = Account
cache-expiry = 900
<userinput>cache-peers = "http://resin1.example.com:8080"</userinput>
caching-active = yes
db-pass = aplaws_xyz
db-pool = 150
db-user = aplaws
debug-mode = false
default-locale = en_US
default-scheme = http
developer-support = false
dispatcher-context-path =
dispatcher-servlet-path =
dmi-active = false
dmi-data-model-file = "/WEB-INF/sql/ccm-core/default/dmi/dmi-create.sql"
dmi-xml-files = { "core-dmi.xml", "/WEB-INF/sql/ccm-core" }
<userinput>host-name = apache.example.com</userinput>
<userinput>hostname = apache.example.com</userinput>
jdbc-url = jdbc:postgresql://postgres.example.com/aplaws
log-dir = /var/log/aplaws
log-level = warn
log-size = 1000000
login-stylesheet = login_en.xsl
lucene-index-location = /var/www/aplaws/lib/lucene-index
permissionsDMLChecking = false
search-intermedia-enabled = false
search-lucene-enabled = true
search-lucene-indexer-id = 2
<userinput>server-name = apache.example.com</userinput>
server-port = 80
sitename = APLAWS
smtp-host = localhost
state-dir = /var/www/aplaws/lib
subsite-dispatcher-class = com.arsdigita.ui.login.SubsiteDispatcher
xslt-engine = Saxon
xslt-timeout = 60000
# WCT CMS Initialization File
content-digest-sender = article-digest@example.com
forms-content-digest-sender = forms-digest@foo.com
inso_filter_works = 0
<userinput>publish-to-fs-servers = "http://resin1.example.com/", "http://resin2.example.com/"</userinput>
<userinput>publish-to-fs-source = "http://resin2.example.com/"</userinput>
<userinput>publish-to-fs-this-server = "http://resin2.example.com/"</userinput>
search-engine = lucene
# Version: $Id: building-packages.sgml 287 2005-02-22 00:29:02Z sskracic $ $Date: 2004/07/29 $
adminCanEditPosts = true
authorCanEditPosts = true
digestUserEmail = digests
<userinput>replyHostName = apache.example.com</userinput>
# Navigation initialization file
default-content-section-url = "/content/"
# System Properties
project-name = aplaws
</computeroutput>
</screen>
</sect2>
<sect2 id="s2-aplaws-configure-dot-pl">
<title><command>/usr/sbin/<replaceable>projectname</replaceable>-configure.pl</command></title>
<para>
Once you have edited
<filename>/etc/<replaceable>projectname</replaceable>.cfg-resin</filename>
you can run
<command>/usr/sbin/<replaceable>projectname</replaceable>-configure.pl</command>
to generate the config files and the run scripts for your server to
use. Make sure that you do not get errors after you run this
command. <command>/usr/sbin/<replaceable>projectname</replaceable>-configure.pl</command>
copies files from
<filename>/usr/share/<replaceable>projectname</replaceable>/bin/resin/</filename>
and replaces the parameter values with what you have set in the
configuration file and places them in
<filename>/var/www/<replaceable>projectname</replaceable>/conf</filename>. It
also generates the wrapper run scripts in
<filename>/var/www/<replaceable>projectname</replaceable>/bin</filename>.
</para>
</sect2>
<sect2 id="s2-etc-init-dot-d">
<title><command>/etc/init.d/<replaceable>projectname</replaceable></command></title>
<para>
Once the configuration files and the wrapper scripts are written
you can start, stop, and restart your sever using
<command>/etc/init.d/<replaceable>projectname</replaceable></command>.
The log files are located in your specified directory, by default
<filename>/var/log/<replaceable>projectname</replaceable></filename>. You
should <command>tail -f
/var/log/<replaceable>projectname</replaceable>/*.log</command> to
monitor the progress of your server startup.
</para>
<note>
<title><command>/etc/init.d/<replaceable>projectname</replaceable></command> restart </title>
<para>
When you restart the server the command will pause for a number
of seconds to wait for the application server to completely exit.
</para>
</note>
</sect2>
</sect1>
</chapter>

View File

@ -0,0 +1,259 @@
<chapter id="ch-create-new-project">
<title>Creating a New Project</title>
<para>This section addresses using the APLAWS build tools to create a new
project, or instance of your project. This may be for development or for
use as a staging server. </para>
<note><title>Note:</title>
<para>This section assumes that you have all the necessary tools
installed for a working development area. The steps for setting up a
development environment is beyond the scope of this document. Please
consult the installation guide for details.</para></note>
<sect1 id="s1-quick-steps-setup">
<title>Quick Guide for the Impatient</title>
<orderedlist>
<listitem>
<para>As the root user, create a system login for the
development user (<xref linkend="s1-setup-users"/>).</para>
</listitem>
<listitem>
<para>As the root user, set up the new development user as for
the development
environment with the command <command>ccm-devel-user.sh</command> <replaceable>username</replaceable> (<xref linkend="s2-setup-devel-user"/>)</para>
</listitem>
<listitem>
<para>As the development user, start a new APLAWS project with
the command <command>ccm-devel-create.pl</command> <option>--extends
aplaws aplaws_</option><replaceable>xxx</replaceable> (<xref
linkend="s1-create-project"/>)</para>
</listitem>
<listitem>
<para>
Familiarize yourself with the web directory, the dev
directory, and CVS (<xref linkend="s2-project-directory"/>, <xref
linkend="s2-web-directory"/>, <xref
linkend="s2-shared-source-directory"/>, and <xref
linkend="s2-create-project-cvs"/>).
</para>
</listitem>
</orderedlist>
</sect1>
<sect1 id="s1-setup-users">
<title>Setting up Users</title>
<para>This section should be carried out by the system
administrator. The first step is to create accounts for all users who
will be
developing with APLAWS. This has two steps:</para>
<orderedlist>
<listitem>
<para>Create a system login</para>
</listitem>
<listitem>
<para>Create a &CCM; development area</para>
</listitem>
</orderedlist>
<note>
<title>Note</title>
<para>A user only has to be setup once. Once their system account
and &CCM; development environment have been created, they can create
any number of projects without having to go through this process
again.</para>
</note>
<sect2 id="s2-create-system-login">
<title>Creating a system login</title>
<para>The following commands will create a new user,
set the password for that user and add the user to the
<command>ccm-devel</command> group.</para>
<screen>
<command>useradd</command> <option>-m</option> <replaceable>username</replaceable>
<command>passwd</command> <replaceable>username</replaceable>
<command>gpasswd</command> <option>-a</option> <replaceable>username</replaceable> <option>ccm-devel</option>
</screen>
<note>
<title>Note</title>
<para>These commands are for &RHELAS;. These will be slightly
different on other systems, but the effect must be the
same.</para>
</note>
</sect2>
<sect2 id="s2-setup-devel-user">
<title>Set Up the Development User with the Development Environment</title>
<para>Once a user is created, you need to configure the &CCM; development
area for them. This is done with the
<command>ccm-devel-user.sh</command> command, which must be executed
as <command>root</command>.</para>
<screen>
<command>ccm-devel-user.sh</command> <replaceable>username</replaceable>
</screen>
</sect2>
</sect1>
<sect1 id="s1-create-project">
<title>Starting a new APLAWS project</title>
<para>Login as the development user that was just created for you. To
start a new project, based on APLAWS we use the
<option>--extends</option>. For the project name a good naming scheme
would be to concatenate the word aplaws_ with your organization name, e.g.
<command>aplaws_herefordshire</command>. Putting those two bits together, we
get:</para>
<screen>
<prompt>bash-2.05b$</prompt> <command>ccm-devel-create.pl</command> <option>--extends aplaws aplaws_</option><replaceable>xxx</replaceable>
<computeroutput>
Installation complete; your server will run on port 9005.
</computeroutput>
</screen>
<para>You should make a note of this port number. When you have your
instance running, you will access it at the URL
http://<replaceable>your-server</replaceable>:<replaceable>port</replaceable>/.
<note><title>Note:</title>
<para>The port number of your development server can also be
found in the configuration file for your servlet container. This is
located in
<filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable>/conf.</filename>
</para>
</note>
<note>
<title>Troubleshooting</title>
<para>
If you make a mistake running this command, you can undo the
effects by removing the web and dev directories it created. You
will need to <command>rm -rf </command> the following directories:
<itemizedlist> <listitem>
<para>
<filename>/var/ccm-devel/dev/<replaceable><optional>username</optional></replaceable>
/<replaceable>projectname</replaceable>
</filename>
</para>
</listitem>
<listitem>
<para><filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable></filename></para>
</listitem>
</itemizedlist>
</para>
</note>
</para>
<para>
The <command>ccm-devel-create.pl</command> command creates two
directories for your use. The <emphasis>project web</emphasis> directory and
the <emphasis>project dev</emphasis> directory. From this point on, the project dev directory will be refered to as the <emphasis>dev directory</emphasis>.
It is important that you do
not confuse the two directories,the web directory is for your web
server and should not be modified directly. The
<emphasis>project</emphasis> on the other hand is your dedicated working
area. Since your project will be based on APLAWS also important to
note the function of the <emphasis>shared source</emphasis> directory
where the APLAWS code lives.
</para>
<sect2 id="s2-project-directory">
<title>Dev Directory</title>
<para>The dev directory is located at
<filename>/var/ccm-devel/dev/<replaceable>username</replaceable>/<replaceable>projectname</replaceable></filename>. This
is the directory that will contain all your custom code. When you use
ant to deploy your code, the Java, jsp, and XSL in this directory will
be compiled and placed in the appropriate locations in the web
directory. The contents of this directory is discussed in more detail in the <xref linkend="s1-project-directory"/> section.</para>
</sect2>
<sect2 id="s2-web-directory">
<title>Web Directory</title>
<para> The web directory is located at
<filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable></filename>. This
area is dedicated to your application server. All content in this
directory except for the <filename>conf</filename> subdirectory,
should be reproducible from the contents of the dev directory and the
shared source directories. You should <emphasis>never</emphasis> make
changes directly in this directory. </para>
</sect2>
<sect2 id="s2-shared-source-directory">
<title>Shared Source Directory</title>
<para>
The shared source directory is at
<filename>/usr/share/ccm-devel/projects/<replaceable>aplaws-xxx</replaceable></filename>. This
is where the APLAWS code base lives, the files here should not be
modified, and only used as a reference. The code in this directory and
the code in the <emphasis>project</emphasis> directory is complied and
placed in the <emphasis>web directory</emphasis> for use by the web server.
</para> </sect2>
<sect2 id="s2-create-project-cvs">
<title>CVS</title>
<para>If you installed the <command>ccm-devel-cvs</command> package,
the system will automatically perform some CVS tasks for you.
Namely:</para>
<itemizedlist>
<listitem>
<para>Create a new CVS module</para>
</listitem>
<listitem>
<para>Check out an existing CVS module</para>
</listitem>
</itemizedlist>
<para>When you create a new project the system will check to see if
there is already a CVS module by the same name. For example, of you
created a project called <command>aplaws_camden</command>, it will
look for a CVS module called
<command>aplaws_camden</command>.</para>
<para>Depending on whether or not the CVS module already exists, it
will create or use it as appropriate.</para>
<note>
<title>Note</title>
<para>This is the only way in which CVS is directly used by the
build tools. If have a good understanding of CVS and
have more complicated requirements, it is quite safe to change
the default setup after it has been created.</para>
</note>
<para>
For further reference on CVS please refer to the <ulink
url="http://www.cvshome.org">CVS manual</ulink>.
</para>
</sect2>
</sect1>
</chapter>

View File

@ -0,0 +1,925 @@
<chapter id="ch-development-environment">
<title>The Development Environment</title>
<sect1 id="s1-starting-development">
<title>Starting development</title>
<para>Once you have your project setup, you should use the
commands from the &CCM; build tools to set up your environment variables
and begin development. You should always login as
your development user or <command>su -
<replaceable>developmentuser</replaceable></command>,
<command>ccm-profile <replaceable>projectname</replaceable></command>,
and <command>cddev</command>. Please see <xref
linkend="s2-ccm-profile"> , and <xref linkend="s2-cddev">.
</para> </sect1>
<sect1 id="s1-quick-steps-development">
<title>Quick Development Guide for the impatient</title>
<para> Here is a outline of the steps for starting development the
first time. Each step has a reference link to the detailed
documentation in the later section. While this will get you started,
not all the commands are referenced from this section, you should read
through the whole document to familiarize yourself with the command
set and take full advantage of the build environment.
<orderedlist>
<listitem>
<para>Log in as the development user</para>
</listitem>
</orderedlist>
<orderedlist>
<listitem>
<para>Set up your shell environment variables with the command
<command>ccm-profile <optional>project_name</optional></command>
(<xref linkend="s2-ccm-profile"/>).
</para>
</listitem>
</orderedlist>
<orderedlist>
<listitem>
<para><command>cddev</command> to get to the dev directory
(<xref linkend="s2-cddev"/>).</para>
</listitem>
</orderedlist>
<orderedlist>
<listitem>
<para>Edit <filename>ant.properties</filename> and
<filename>project.xml</filename> (<xref linkend="s2-ant-dot-properties"/>
<xref linkend="s1-project-xml">.</para>
</listitem>
</orderedlist>
<orderedlist>
<listitem>
<para>Generate <filename>config.vars</filename> with the command
<command>ant make-config</command>
(<xref linkend="s1-config-dot-vars"/>,
</para>
</listitem>
</orderedlist>
<orderedlist>
<listitem>
<para>Create server readable configuration file
<filename>enterprise.init</filename> with the command <command>ant
make-init</command> (<xref linkend="s2-ant-make-init"/>).
</para>
</listitem>
<listitem>
<para>
Deploy the code with <command>ant deploy</command> (<xref
linkend="s2-ant-deploy"/>).
</para>
</listitem>
<listitem>
<para>
Load the datamodel by going into the web directory and running
the apropreate create script (<xref linkend="s1-dev-database"/>).
</para>
</listitem>
<listitem>
<para>
Start the server with <command>ccm-start</command>, follow the progress with <command>tailllogs</command>
(<xref linkend="s2-ccm-start"/>, <xref linkend="s2-taillogs"/>).
</para>
</listitem>
</orderedlist>
</para>
</sect1>
<sect1 id="s1-useful-commands">
<title>Useful Commands</title>
<sect2 id="s2-ccm-profile">
<title>ccm-profile</title>
<screen><command>ccm-profile <optional>project_name</optional></command></screen>
<para>This command sets up the environment
variables in your shell. It also makes all
other commands available, and customizes them to work with
a particular project.</para>
<note>
<title>Note</title>
<para>Because <command>ccm-profile</command> creates all
the other build tool commands, it must be run first.
Failing to run <command>ccm-profile</command> will most
likely result in the error <computeroutput>command not
found</computeroutput> when trying to execute any other
build tool command.</para>
</note>
</sect2>
<sect2 id="s2-cddev">
<title>cddev</title>
<para>Change directory to the current project's development
directory. See the section on <xref linkend="s1-project-directory"> for an explanation of its contents.</para>
</sect2>
<sect2 id="s2-cdweb">
<title>cdweb</title>
<para>Change directory to the current project's web
directory. This contains the logs, configuration files and
the deployed web application. Changes are not normally made
directly in this directory or any of its sub-directories.
Rather changes are made automatically by the build
tools.</para>
<warning>
<title>Warning</title>
<para>Making changes directly in the web directory can
cause unpredictable results.</para>
</warning>
</sect2>
<sect2 id="s2-taillogs">
<title>taillogs</title>
<para>The APLAWS server will generate a variety of logs
while it is running. The location of the log files are determined by
the configuration parameter in <filename>config.vars</filename> called
<command>log-dir</command>. Usually this is set to a subdirectory
called <filename>logs</filename> in the dev directory (
<xref linkend="s2-web-directory">). The <command>taillogs</command>
displays new entries in all log files immediately as they are added. To quit, type
<keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>. The log files displayed are located at <filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable>/logs/</filename>.
</para>
<note>
<title>Note</title>
<para>When they grow above a certain size (by default
1MB), log files are rolled, which means the log file is
renamed and a new one is created for new entries. If
this happens to a file while you are viewing it, you
will stop seeing updates. If you suspect this has
happened, stop <command>taillogs</command> and restart
it.</para>
</note>
</sect2>
<sect2 id="s2-tailccm">
<title>tailccm</title>
<para>The same as <command>taillogs</command>, except just
for <filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable>/logs/ccm.log</filename>.</para>
</sect2>
<sect2 id="s2-ccm-start">
<title>ccm-start</title>
<para>Start your instance running. After running this
command you should run <command>tailccm</command> or
<command>taillogs</command> which will show you when the
initialization process has completed.</para>
<para>It is also possible to pass arguments to
<command>ccm-start</command>, which will be passed directly
to the servlet container. For example:</para>
<screen>
<command>ccm-start</command> <option>-Djava.compiler=none</option>
</screen>
<para>This particular example will start the instance with
the JIT compiler switched off.</para>
</sect2>
<sect2 id="s2-ccm-stop">
<title>ccm-stop</title>
<para>Stop the instance.</para>
<warning>
<title>Warning</title>
<para>The <command>ccm-stop</command> command only
signals the servlet container to stop. Depending on
what the instance is doing, it can take a short while
for all processes to actually shut down. You should
take care that all java processes have stopped before
trying to start a new instance, as this can cause
unpredictable results.</para>
</warning>
</sect2>
<sect2 id="s2-ccm-configure.sh">
<title>ccm-configure.sh</title>
<para> If you want to work off of a different
version of APLAWS or want to add a new application you will need to
change your <filename>project.xml</filename>(<xref linkend="s2-project-dot-xml">). You will need to
reconfigure the project area by running
<command>ccm-configure.sh</command>. This command creates or updates
the
<filename>build.xml</filename> file in the
<emphasis>project</emphasis> directory from the information
contained in <filename>project.xml</filename>. It should be
executed every time a change is made to
<filename>project.xml</filename>. </para>
<para>Unlike other commands, you must be in the same
directory as <filename>project.xml</filename> when executing
<command>ccm-configure.sh</command>.</para>
</sect2>
</sect1>
<sect1 id="s1-project-directory">
<title>The Dev Directory</title>
<para>The dev directory is the top level development directory, it is located in <filename>/var/ccm-devel/dev/<replaceable>username</replaceable>/<replaceable>projectname</replaceable></filename>. It
contains information for the build process and all the source code in
subdirectories. The dev directory contains a variety of configuration files for customizing ant, the servlet container, and APLAWS for your project. </para>
<sect2 id="s2-directory-structure">
<title>The Dev Directory Structure</title>
<screen>
/var/ccm-devel/dev/<replaceable>username</replaceable>/<replaceable>projectname</replaceable>
|
|
+--+ project.xml
|
|
+--+ ant.properties
|
|
+--+ config.vars
|
|
+--+ enterprise.init
|
|
+--+ <replaceable>application directory</replaceable>
</screen>
</sect2>
<sect2 id="s2-project-dot-xml">
<title>project.xml</title>
<para>Contains a description of the project and its
components. This file is used to generate build.xml, and
to contains all the metadata required for creating a
project package. It is described fully in the
<xref linkend="s1-project-xml">.</para>
</sect2>
<sect2 id="s2-ant-dot-properties">
<title>ant.properties</title>
<para>This contains information required by
<application>ant</application>, which is used for building
&CCM; projects. The only option which may require alteration
in this file is <command>ccm.servlet.engine</command>. For
APLAWS projects, this should be set to
<option>resin</option>.</para>
</sect2>
<sect2 id="s2-build-dot-xml">
<title>build.xml</title>
<para>This file is used directly by
<application>ant</application>, and should never be edited
directly. It is created automatically by the
<command>ccm-configure.sh</command> command from the
information contained in
<filename>project.xml</filename>.</para>
</sect2>
<sect2 id="s2-config-dot-vars">
<title><filename>config.vars</filename></title>
<para>
This file stores the configuration parameters for your
development server. You will need to generate and edit this file to
before you can get your server running. It is explained in more detail in the <xref linkend="s1-config-dot-vars">.
</para>
</sect2>
<sect2 id="s2-enterprise-dot-init">
<title><filename>enterprise.init</filename></title>
<para>This file is generated from <filename>config.vars</filename> and <filename>enterprise.init.in</filename> files in the application directories. This is the file that the server reads at startup. It is explained in more detail in the <xref linkend="s1-config-dot-vars">.
</para>
</sect2>
</sect1>
<sect1 id="s1-project-xml">
<title>The <filename>project.xml</filename> file</title>
<para>This file describes the project and its components for the
development and package building tools.</para>
<para>Below is a sample <filename>project.xml</filename>
file.</para>
<screen>
<computeroutput>
&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;ccm:project name="aplaws_<userinput>borough</userinput>"
prettyName="APLAWS - <userinput>Borough</userinput>"
type="project"
<userinput>versionFrom="aplaws_<userinput>borough</userinput>"</userinput>
extends="aplaws"
extendsVersion="1.2.15"
<userinput>version="0.8.3"</userinput>
<userinput>release="1"</userinput>
xmlns:ccm="http://ccm.redhat.com/ccm-project"&gt;
&lt;!-- List all project specific applications here --&gt;
&lt;ccm:build&gt;
&lt;ccm:application name="aplaws_<userinput>borough</userinput>" prettyName="aplaws_<userinput>borough</userinput>" buildOrder="1"/&gt;
&lt;/ccm:build&gt;
&lt;!-- List all shared, pre-built applications here --&gt;
&lt;ccm:prebuilt&gt;
&lt;!--&lt;ccm:application name="cms" version="5.0.0" buildOrder="1"/&gt; --&gt;
&lt;/ccm:prebuilt&gt;
&lt;/ccm:project&gt;
</computeroutput>
</screen>
<para>The attributes of the <command>&lt;ccm:project&gt;</command>
tag define the highest level information about the project:</para>
<sect2 id="s2-px-name">
<title>name</title>
<para>The machine friendly name of the project. This is
the name of the package when you create one, the name of
a number of directories created when installing the
package, and the name of the System V service the
package creates.</para>
<para>You will not typically change the value of this
attribute once it has been set.</para>
</sect2>
<sect2 id="s2-px-prettyname">
<title>prettyName</title>
<para>This is a more descriptive name for the project
for use when making a package.</para>
</sect2>
<sect2 id="s2-px-type">
<title>type</title>
<para>This attribute should always have the value
<option>project</option> for APLAWS based
projects.</para>
</sect2>
<sect2 id="s2-px-version-from">
<title>versionFrom</title>
<para>This is the name of an application subdirectory
which contains a file called
<filename>application.xml</filename>. If the
<command>versionFrom</command> attribute is used, the
version number for the package is taken from that file,
instead of <filename>project.xml</filename>. The format
of this file is explained in the
<xref linkend="s2-application-dot-xml">.</para>
<para>For APLAWS this will typically be your "-custom"
directory containing custom styling.</para>
</sect2>
<sect2 id="s2-px-version">
<title>version</title>
<para>This is the version number of the project. The
version number is used when an RPM is built from the development
environment. If the <emphasis>versionFrom</emphasis> attribute exists
it will be ignored and the version numbers in the
<filename>application.xml</filename> will be
used. Please see <xref linkend="s2-ax-version">.</para>
</sect2>
<sect2 id="s2-px-release">
<title>release</title>
<para>This is the release number of the project. The
version number is used when an RPM is built from the development
environment. If the <emphasis>versionFrom</emphasis> attribute exists
it will be ignored and the release number in the
<filename>application.xml</filename> will be used. Please see <xref linkend="s2-ax-release"> </para>
</sect2>
<sect2 id="s2-px-extends">
<title>extends</title>
<para>This is the name of the project you are
extending. In order for this to work, you will have to
have installed the development package for that project.
For example, for aplaws you will have installed a
package called
<filename>aplaws-devel-1.2.<replaceable>xx</replaceable>-<replaceable>y</replaceable></filename>.
</para>
<para>You will not typically change the value of this
attribute once it has been set.</para>
</sect2>
<sect2 id="s2-px-extends-version">
<title>extendsVersion</title>
<para>This is the version of the <emphasis>project which
you are extending</emphasis>. For example, if you
installed <filename>aplaws-devel-1.2.15-3</filename>,
extendsVersion would be set to <option>1.2.15</option>.
Note that the release number ("-3") is omitted.</para>
<para>You will update this value every time you install
a new version of the aplaws-devel package.</para>
</sect2>
<sect2 id="s2-px-ccm-build">
<title>&lt;ccm:build&gt;</title>
<para>In addition to the above attributes, there are 2 sections
where the structure of the application is defined.</para>
<para>This section contains a list of applications which
will be compiled and included in this project. For every
application listed here, there must be an application
subdirectory with the same name in the project
directory.</para>
<para>The <command>buildOrder</command> attribute is
used to define which order the applications should be
built in. If an application uses components provided by
another application you will have to make sure they are
built in the correct order.</para>
<para>Another option not shown in the example above is
the <command>overwrite</command> attribute. If set to
<option>yes</option>, files in this application which
overlap with existing files will overwrite the existing
ones. This is primarily used for overriding XSL
stylesheets. Thus in an APLAWS project, the
application containing custom styling will typically use
this option.</para>
</sect2>
<sect2 id="s2-px-ccm-prebuilt">
<title>&lt;ccm:prebuilt&gt;</title>
<para>This section contains a list of pre-built
applications. These application do not need to be
compiled, but will be deployed and packaged as part of
this project.</para>
<para>In the same way as the <command>extends</command>
and <command>extendsVersion</command> attributes of
<command>&lt;ccm:project&gt;</command> refer to the
extended applications development package, the
<command>name</command> and <command>version</command>
attributes of <command>&lt;ccm:prebuilt&gt;</command>
refer to the development package of a prebuilt
application.</para>
<para>APLAWS projects do not normally use any prebuilt
applications. It is fine for this section to be
empty or, as in the example above, the contents to be
commented out.</para>
</sect2>
</sect1>
<sect1 id="s1-config-dot-vars">
<title>Server Configuration <filename>config.vars</filename> and <filename>enterprise.init</filename></title>
<para>The server initialization file for a &CCM; based project is
called <filename>enterprise.init</filename>. It is generated from a
number of fragments in its component applications usually stored in
<filename>
<replaceable>application</replaceable>/etc/enterprise.init.in
</filename> and from the parameter values set in
<filename>config.vars</filename>. <filename>config.vars</filename>
in turn, is created by pulling all
placeholder variables out of
<filename>enterprise.init.in</filename> fragments in a project's
component applications. <filename>config.vars</filename> and <filename>enterprise.init</filename> does not exist at the beginning of the project. Here are the steps you must take at the beginning of a project.
<orderedlist>
<listitem><para>Run <command> ant make-config </command> (<xref linkend="s2-ant-make-config">) - this will generate <filename>config.vars</filename>.
</para></listitem>
<listitem><para>Edit <filename>config.vars</filename> and set the parameters to suit your project.
</para></listitem>
<listitem><para> Run <command>ant make-init </command> - This will generate
<filename>enterprise.init</filename> from the values in
<filename>config.vars</filename> and the various
<filename>enterprise.init.in</filename> files (<xref
linkend="s2-ant-make-init"/>).
</para></listitem>
</orderedlist>
</para>
<note><title>Note:</title><para>You should always edit <filename>config.vars</filename> and
not <filename>enterprise.init</filename>. The changes you make to
<filename>config.vars</filename> is merged into
<filename>enterprise.init</filename> with the ant command <command>ant
make-init</command> (<xref
linkend="s2-ant-make-init"/>).</para>
</note>
<sect2 id="s2-sample-config-dot-vars">
<title>Sample <filename>config.vars</filename></title>
<para>
APLAWS is designed to be configurable, however you can leave
many of these parameters as they are to get a basic installation. At the bare minimum you will need to edit the following paramters.
<itemizedlist>
<listitem>
<para><command>db-pass</command>: Database password
</para>
</listitem>
<listitem>
<para>
<command>db-user</command>: Database user
</para>
</listitem>
<listitem>
<para>
<command>debug-mode</command>: Determines wheather whitespace is
stripped from the HTML output. This should be set to true for
development.
</para>
</listitem>
<listitem>
<para>
<command>jdbc-url</command>: The JDBC URL to the
database instance. For Oracle this value should match
the entry in
<filename>$ORACLE_HOME/network/admin/tnsnames.ora</filename>. For
Postgres the entry should be
<command>jdbc:postgresql://<userinput>servername</userinput>/<userinput>databasename</userinput>.
</command>
</para>
</listitem>
<listitem>
<para>
<command>log-dir</command>: This should point to
<filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable>/logs</filename>
for the <command>taillogs</command> to work.
</para>
</listitem>
<listitem>
<para>
<command>lucene-index-location</command>: On a
Postgres environment the search engine needs to be set to Lucene. The
index location should be a directory that the development user can
write to, the recommended directory is
<filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable>/lucene.dat</filename>
</para>
</listitem>
<listitem>
<para>
<command>search-lucene-enabled</command>: Set to false
for Oracle, true for a Postgres environment.
</para>
</listitem>
<listitem>
<para>
<command>search-intermedia-enabled</command>: Set to
true for Oracle, false for Postgres.
</para>
</listitem>
<listitem>
<para>
<command>state-dir</command>: The directory where
server state files will be written, this should be a directory that's
writable by the development user. The recommended directory is
<filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable>/run</filename>.
</para>
</listitem>
<listitem>
<para>
<command>xslt-engine</command>: Options are Xalan,
Saxon, and JD.XSLT. The recommended parser is JD.XSLT.
</para>
</listitem>
</itemizedlist>
can leave many of this values as they are. But you will need to change
the values of parameters such as db-pass, db-user, jdbc-url, log-dir,
state-dir. The # sign is a comment marker, below is
an annotated <filename>config.vars</filename>.
</para>
<para>
<screen>
<computeroutput>
# ACS initialization file
admin-answer = 6 # Answer for web admin user's password reminder question
admin-email = admin@example.com # email address of the web admin user
admin-forename = Administrator # Forename of the web admin user
admin-password = 123456 # web admin user's password
admin-question = 12345 # web admin user password reminder question
admin-surname = Account # web admin user's surname
autoRegistration = true # redirect to registration form for unknown email addresses
cache-expiry = 900
cache-peers = # peer servers for multi-tiered environment, leave blank for development
caching-active = yes
<userinput>db-pass = ccm_xyz # Database password</userinput>
db-pool = 10 # database connection pool size
<userinput>db-user = ccm # Database useranme</userinput>
<userinput>debug-mode = true # Turn HTML indentation on/off for development</userinput>
default-locale = en_GB
default-scheme = http
developer-support = false
dispatcher-context-path = # leading URL stub
dispatcher-servlet-path =
dmi-active = false
dmi-data-model-file = "/WEB-INF/sql/ccm-core/default/dmi/dmi-create.sql"
dmi-xml-files = { "core-dmi.xml", "/WEB-INF/sql/ccm-core" }
hostname = ccm.example.com # hostname of the server
<userinput>jdbc-url = jdbc:oracle:oci8:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = ora8) (SRVR = DEDICATED))) #JDBC URL for the database server</userinput>
<userinput>log-dir = /var/ccm-devel/web/username/projectname/logs
# Log directory for the server, this value should point to the logs directory in your web directory</userinput>
log-level = warn
log-size = 1000000
login-stylesheet = login_en.xsl
<userinput>lucene-index-location = /var/ccm-devel/web/username/projectname/lucene
# If the database is Postgres the value should be changed to point to a directory in the web directory.
</userinput>
page-map = WEB-INF/resources/hereford-login-page-map.xml
permissionsDMLChecking = false
rememberLoginByDefault = true
<userinput>search-intermedia-enabled = true
# Change to false on a postgres environment
</userinput>
<userinput>search-lucene-enabled = false
# Change to true on a postgres environment
</userinput>
search-lucene-indexer-id = 0
server-name = localhost
server-port = 8080
<userinput>sitename = My APLAWS site
# name of your website</userinput>
smtp-host = localhost
<userinput>state-dir = /var/ccm-devel/web/username/projectname/state
# Value should point to a writable directory in the web directory
</userinput>
subsite-dispatcher-class = com.arsdigita.ui.login.SubsiteDispatcher
workflow-send-alerts = true
workflow-sender-email = workflow-alerts@example.com
# email notification sender for workflow alerts
workflow-sender-given-name = Workflow # Name of alert sender
workflow-sender-surname = Alerts # Surname of alert sender
<userinput>xslt-engine = JD.XSLT
# XSLT parser, options are Saxon, Xalan, JD.XSLT. JD.XSLT is recommended
</userinput>
<userinput>xslt-timeout = 60
# interval for XSLT, set to a smaller number for development
</userinput>
# CMS initialization file
cms-item-adapters = /WEB-INF/resources/hereford-item-adapters.xml
content-center-map = /WEB-INF/resources/content-center-map.xml
content-digest-sender = article-digest@herefordshire.gov.uk
content-section-name = content
default-folder-template = /default/folder.jsp
default-item-template = /default/item.jsp
default-root-category = true
forms-content-digest-sender = forms-digest@herefordshire.gov.uk
forms-section-name = forms
overdue-alert-interval = 24
overdue-duration = 96
overdue-max-alerts = 5
overdue-send-alerts = false
publish-to-fs-servers = "http://servlet1/", "http://servlet2/"
publish-to-fs-source = "http://servlet1/"
publish-to-fs-this-server = "http://servlet1/"
search-engine = intermedia
template-root = /packages/content-section/templates
# Portal initialization file
portal-url = /portal/
# Forum initialization file, the third item in the forum list of lists is weather the forum is moderated or not
adminCanEditPosts = true
authorCanEditPosts = true
digestUserEmail = digests
forums = {{"forum1", "Forum #1", false, "nasakai@redhat.com", "Forum #1 Moderation" }, {"forum2", "Forum #2", false, "nasakai@redhat.com", "Forum #2 Moderation"}}
replyHostName = devnull.redhat.com
#
search-spider-delay = 60
search-spider-frequency = 0
search-spider-urls = "http://www.redhat.com/", "http://www.example.org/"
# Navigation initialization file
default-content-section-url = "/content/"
related-items-purpose = "DUBLINCORE"
# Noticeboard initialization file
adminCanEditNotices = true
authorCanEditNotices = true
noticeboards = {{"noticeboard", "Noticeboard"}}
#
chat-control-host = localhost
chat-control-port = 8200
chat-public-host = localhost
chat-public-port = 8200
chat-start-server = false
# System Properties
project-name = hereford
</computeroutput>
</screen>
</para>
</sect2>
</sect1>
<sect1 id="s1-deploying-with-ant">
<title>Deploying with Ant</title>
<para>Compilation and deployment of &CCM; and &CCM; based projects is
done using <application>ant</application>. The options you can
give to the <command>ant</command> command are called
<emphasis>targets</emphasis>, and they are defined in the
<filename>build.xml</filename> file. There are two types of ant
targets that you will be using. The first set is the configuration
targets such as <command>ant
make-config</command>, <command>ant
update-config</command>, and <command>ant
make-init</command>. The second set are the
<emphasis>deploy</emphasis> targets : The &CCM; build
tools configures ant to compile or copy the files from the
and the
shared source directory
into the web
directory. The most commonly used deploy targets are the following: <command>ant
deploy-config</command>, <command>ant deploy</command>, and
<command>ant
deploy-<replaceable>application</replaceable></command>.For a complete list for your project, type
<command>ant</command> on its own. Please see <xref linkend="s2-ant-make-config">,<xref
linkend="s2-ant-update-config"/>, <xref
linkend="s2-ant-make-init"/>, <xref linkend="s2-project-directory"/>, <xref linkend="s2-shared-source-directory"/>, <xref linkend="s2-web-directory">, <xref
linkend="s2-ant-deploy-config"/>, <xref
linkend="s2-ant-deploy"/>, <xref linkend="s2-ant-make-init"></para>
<note>
<title>Note</title>
<para>Ant's configuration file is <filename>build.xml</filename>.
This file is automatically generated by
<command>ccm-configure.sh</command> from
<filename>project.xml</filename>. Immediately after creating a
project or making any change to <filename>project.xml</filename>,
you must re-run <command>ccm-configure.sh</command> otherwise ant
will not work as desired.</para>
</note>
<caution>
<para> While you should not need to edit build.xml yourself, if you
would like to find out more, you can refer to the documentation at
the <ulink url="http://ant.apache.org/">ant homepage</ulink>.</para>
</caution>
<note><title>Running ant:</title>
<para> All ant commands must be run from the top level project
directory (the directory that contains
<filename>build.xml</filename>. This should be the directory that you
are in after you execute <command>cddev</command> (<xref
linkend="s2-cddev"/>).</para>
</note>
<sect2 id="s2-ant-make-config">
<title><filename>ant make-config</filename></title>
<para>Generates the configuration file <filename>config.vars</filename> by pulling all
placeholder variables out of
<filename>enterprise.init.in</filename> fragments in a project's
component applications.
</para>
<caution>
<title>Caution</title>
<para>Only run <command>ant</command>
<option>make-config</option>
<emphasis>once</emphasis> as subsequent executions will overwrite any
customizations you have made to your <filename>config.vars</filename>
.
After the initial creation, keep it up-to-date with <command>ant update-config</command> (<xref linkend="s2-ant-update-config">).</para>
</caution>
</sect2>
<sect2 id="s2-ant-update-config">
<title>
<command>ant update-config</command>
</title>
<para>
Examines the <filename>enterprise.init.in</filename> files and adds any new/changed parameters to <filename>config.vars</filename>. This command will preserve the parameter values that you have set.
</para>
</sect2>
<sect2 id="s2-ant-make-init">
<title>ant make-init</title>
<para>This command will generate <filename>enterprise.init</filename> by
concatenated all <filename>enterprise.init.in</filename>
fragments in component applications and substituting values in
<filename>config.vars</filename>.</para>
<note><title>Note:</title>
<para>This only creates <filename>enterprise.init</filename> in
the development directory. For it to be used it must be
deployed. This is one of the tasks performed by the
<command>deploy</command> target, or to deploy it on its own you
can use <command>ant deploy-config</command>
(<xref linkend="s2-ant-deploy-config">) </para>
</note></sect2>
<sect2 id="s2-ant-deploy-config">
<title>
<command>ant deploy-config</command>
</title>
<para> This deploys only configuration information. This includes
<filename>enterprise.init</filename> and
<filename>web.xml</filename>. Use this target if you have made changes
to either of these files, for example by using the
<option>make-init</option> target. This command copies
<filename>enterprise.init</filename> from the dev directory to the
web directory. The file is located at
<filename>/var/ccm-devel/web/<replaceable>username</replaceable>/<replaceable>projectname</replaceable>/webapps/ccm/WEB-INF/resources/enterprise.init</filename>.</para>
</sect2>
<sect2 id="s2-ant-deploy">
<title><command>ant deploy</command></title>
<para>This deploys the entire project including all
applications, the parent project if any and all
configuration information.</para>
</sect2>
<sect2 id="s3-deploy-application">
<title><command>deploy-<replaceable>application</replaceable></command></title>
<para>When you have only made changes to a single
application and don't need to redeploy the whole
project, use this target to deploy just a single
application.</para>
<para>For example, <command>ant</command>
<option>deploy-aplaws-custom</option> will deploy only
the <filename>aplaws-custom</filename>
application.</para>
</sect2>
<sect2 id="s2-ant-clean">
<title><command>ant clean</command></title>
<para>This removes all deployed files and directories,
and all compiled classes from build
directories. In other words this commands removes files in
<filename>webapps/ccm</filename> in the development web directory (<xref
linkend="s2-web-directory"/>). Use
this when you need to be sure that your project is
rebuilt cleanly, for example after changing
<filename>project.xml</filename> or before building a
package for deployment on a live server.</para>
</sect2>
</sect1>
<sect1 id="s1-dev-database">
<title>Setting Up the Database</title>
<para> You will need to have a database instance that you can
use for development. These steps should be conducted by your DBA, the
following is the instructions for Postgres and Oracle environments. If
you need instructions on setting up your database server please see
<xref linkend="s3-pg-createdatabase"/>.
</para>
<sect2 id="s2-pg-load-datamodel">
<title>Loading the Datamodel for Postgres</title>
<para>
<command>cdweb</command> to change to the web directory and
change into <filename>webapps/ccm/WEB-INF/sql</filename>. You will
find a file called <command>postgres-create.sh</command>.
Run this command with your database parameters to load the
datamodel.
<screen>
<computeroutput>
$ sh postgres-create.sh <userinput>dbname</userinput> <userinput>dbusername</userinput> <userinput>db server hostname</userinput>
</computeroutput>
</screen>
</para>
</sect2>
<sect2 id="s2-ora-load-datamodel">
<title>Loading the Datamodel for Oracle</title>
<para>
<command>cdweb</command> to change to the web directory and
change into <filename>webapps/ccm/WEB-INF/sql</filename>. You will
find a file called <command>oracle-create.sh</command>, the
argument for this script should be the database connection
string you use to connect to the database via
<command>sqlplus</command>. For example, if you connect to your Oracle
instance with the following command:
<screen>
<computeroutput>
sqlplus <userinput>my_aplaws/my_aplaws@myoracleserver</userinput>
</computeroutput>
</screen>
Then you should run <command>oracle-create.sh</command> like this:
<screen>
<computeroutput>
$ sh oracle-create.sh <userinput>my_aplaws/my_aplaws@myoracleserver</userinput>
</computeroutput>
</screen>
</para>
</sect2>
</sect1>
</chapter>

View File

@ -0,0 +1,832 @@
<chapter id="ch-installing-aplaws">
<title>Installing APLAWS</title>
<para>APLAWS is normally installed on a four server
high-availability configuration. The web server will contain
Apache and Squid reverse proxy server, and serve as the front
end. Two or more application servers will run the actual APLAWS
codebase, normally using Resin. The database server will have
either a Postgres or an Oracle database installed. The details of
each server configuration is detailed below, however this guide
will not cover OS installation or Oracle database
installation.</para>
<note>
<title>Caution</title>
<para>
There are many steps involved in conducting a full production
installation of APLAWS. While we try to cover everything in as much
detail as possible it is recommended that you have a RedHat engineer
either conduct the installtion or check the installation after
completion.
</para>
</note>
<sect1 id="s1-quick-install-guide">
<title>Quick Guide for the Impatient</title>
<para>Here is what you have to do to conduct a full production
installation of APLAWS. As you can see there are many steps
involved, and many things can go wrong during the
process.</para>
<para>
<orderedlist>
<listitem>
<para>Configure the database server.
<itemizedlist>
<listitem>
<para>Install the database</para>
</listitem>
<listitem>
<para>Create the user and the
tablespace/database</para>
</listitem>
</itemizedlist></para>
</listitem>
<listitem>
<para>Set up the application server
<itemizedlist>
<listitem>
<para>Ensure that you can connect to the database via
psql or sqlplus.</para>
</listitem>
<listitem>
<para>InstallIBMJava2-JRE and IBM-JAVA2-JDK.</para>
</listitem>
<listitem>
<para>Install resin-xxx.rpm</para>
</listitem>
<listitem>
<para>Install aplaws-xxx.noarch.rpm and
aplaws-servlet-resin-xxx.rpm no the application
server.</para>
</listitem>
<listitem>
<para>Configure the APLAWS instance and ensure that
it is serving pages.</para>
</listitem>
</itemizedlist></para>
</listitem>
<listitem>
<para>Configure the web server
<itemizedlist>
<listitem>
<para>Configure Apache virtual hosts so that it is
connecting to the Resin instances via s-run.</para>
</listitem>
<listitem>
<para>Configure Squid to serv as a reverse
proxy.</para>
</listitem>
</itemizedlist></para>
</listitem>
</orderedlist>
</para>
</sect1>
<sect1 id="s1-database-server">
<title>Setting up the database server</title>
<para>APLAWS will run on PostgreSQL or Oracle database
servers.</para>
<sect2 id="s2-postgres-setup">
<title>Installing PostgreSQL server</title>
<para>You will need to install the following RPMS
<itemizedlist>
<listitem>
<para>rh-postgresql-7.3.4-8</para>
</listitem>
<listitem>
<para>rh-postgresql-jdbc-7.3.4-8</para>
</listitem>
<listitem>
<para>rh-postgresql-libs-7.3.4-8</para>
</listitem>
<listitem>
<para>rh-postgresql-server-7.3.4-8</para>
</listitem>
</itemizedlist></para>
</sect2>
<sect2 id="s2-pg-tcp-connection">
<title>Enabling TCP Connection</title>
<para>After installing a PostgreSQL database server you will
need to edit the configuration to enable TCP connections from
the application servers.</para>
<sect3 id="s3-postgres_conf">
<title>
<filename>postgres.conf</filename>
</title>
<para>Edit
<filename>/var/lib/pgpsql/data/postgres.conf</filename>to
set tcpip_socket to true.
<screen>
<computeroutput>
# tcpip_socket = false
tcpip_socket = true
</computeroutput>
</screen></para>
</sect3>
<sect3 id="s3-pg_hba_conf">
<title>
<filename>pg_hba.conf</filename>
</title>
<para>Add parameters to the end of
<filename>/var/lib/pgpsql/data/pg_hba.conf</filename>to
allow connections from the application server. The second
line is an example configuration for an app server with the
IP 172.16.68.0 and a netmask 255.255.255.0. You can set the
policy to be md5 or trust. For more information please
consult the
<ulink url="http://postgresql.org">Postgres Manual</ulink>.
<screen>
<computeroutput>
# Put your actual configuration here
# ----------------------------------
#
# CAUTION: The default configuration allows any local user to connect
# using any PostgreSQL user name, including the superuser, over either
# Unix-domain sockets or TCP/IP. If you are on a multiple-user
# machine, the default configuration is probably too liberal for you.
# Change it to use something other than "trust" authentication.
#
# If you want to allow non-local connections, you need to add more
# "host" records. Also, remember TCP/IP connections are only enabled
# if you enable "tcpip_socket" in postgresql.conf.
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
#local all all trust
#host all all 127.0.0.1 255.255.255.255 trust
# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others)
local all all ident sameuser
host all all 172.16.68.0 255.255.255.0 md5
host all all 127.0.0.1 255.255.255.255 md5
</computeroutput>
</screen>
</para>
</sect3>
<sect3 id="s3-pg-start-database">
<title>Database Startup</title>
<para>Once the configuration is complete you will need to
start the database as the root user.</para>
<screen><computeroutput># service rhdb start</computeroutput></screen>
</sect3>
<sect3 id="s3-pg-createdatabase">
<title>Create User and Database</title>
<para>As the postgres user, you will need to enable plpgsql
for your databse. Then you will need to create an Unicode
database and a user for your APLAWS installation.</para>
<screen><computeroutput>
# su - postgres
$ createlang plpgsql template1
$ createuser aplaws
$ createdb -E unicode aplaws
</computeroutput></screen>
<para>At this point you should test your installation by
logging into the database.</para>
</sect3>
<sect3 id="s3-pg-client">
<title>Client Installation</title>
<para>You will need to install the following RPMS on the
application server.
<itemizedlist>
<listitem>
<para>rh-postgresql-7.3.4-8</para>
</listitem>
<listitem>
<para>rh-postgresql-jdbc-7.3.4-8</para>
</listitem>
<listitem>
<para>rh-postgresql-libs-7.3.4-8</para>
</listitem>
</itemizedlist></para>
<para>Test that you can connect to the database server.
<screen><computeroutput>
$ psql -h <userinput>database server</userinput>-U aplaws aplaws
</computeroutput></screen></para>
</sect3>
</sect2>
</sect1>
<sect1 id="s1-application-server-setup">
<title>Setting up the application server</title>
<sect2 id="s2-app-software">
<title>Required Software</title>
<para>You will need to install the following RPMS on the
application server.
<itemizedlist>
<listitem>
<para>IBMJava2-SDK</para>
</listitem>
<listitem>
<para>IBMJava2-JRE</para>
</listitem>
<listitem>
<para>resin (not versions 2.0 or 2.3)</para>
</listitem>
<listitem>
<para>aplaws-xxx.noarch.rpm</para>
</listitem>
<listitem>
<para>aplaws-servlet-resin-xxx.noarch.rpm</para>
</listitem>
</itemizedlist></para>
<para>For IBMJava and resin you do not need to do anything
beyond simple
<command>rpm -Uvh</command>.</para>
</sect2>
<sect2 id="s2-app-install-rpm-project">
<title>Installing the RPMs</title>
<para>You will need to install the two RPMs
<filename>
<replaceable>
projectname</replaceable>-x.x.x-x.noarch.rpm</filename>, and
<filename>
<replaceable>
projectname</replaceable>-servlet-resin-x.x.x-x.noarch.rpm</filename>together
as the two are interdependent.
<filename>
<replaceable>
projectname</replaceable>-x.x.x-x.noarch.rpm</filename>will
install your code in
<filename>/var/www/
<replaceable>projectname</replaceable></filename>where it
will be used by your application server. This RPM also
installs the init file
<filename>/etc/init.d/
<replaceable>projectname</replaceable></filename>, the
configuration script
<filename>/usr/sbin/
<replaceable>
projectname</replaceable>-configure.pl</filename>, and the
log directory
<filename>/var/log/
<replaceable>projectname</replaceable>.</filename></para>
</sect2>
<sect2 id="s2-web-install-rpm-servlet">
<title>Installing the Project RPMs</title>
<para>The servlet RPM will install configuration files and
wrapper scripts for controlling the servlet container.
Specifically it will install the following files:
<itemizedlist>
<listitem>
<para>
<filename>/usr/share/
<replaceable>
projectname</replaceable>/bin/resin/run-apache.sh.in</filename>
</para>
</listitem>
<listitem>
<para>
<filename>/usr/share/
<replaceable>
projectname</replaceable>/bin/resin/run-resin.sh.in</filename>
</para>
</listitem>
<listitem>
<para>
<filename>/usr/share/
<replaceable>
projectname</replaceable>/bin/resin/run.sh.in</filename>
</para>
</listitem>
<listitem>
<para>
<filename>/usr/share/
<replaceable>
projectname</replaceable>/conf/resin</filename>
</para>
</listitem>
<listitem>
<para>
<filename>/usr/share/<replaceable>projectname</replaceable>/conf/resin/httpd-resin-vhost.conf.in</filename>
</para>
</listitem>
<listitem>
<para>
<filename>/usr/share/
<replaceable>
projectname</replaceable>/conf/resin/resin-back.conf.in</filename>
</para>
</listitem>
<listitem>
<para>
<filename>/usr/share/
<replaceable>
projectname</replaceable>/conf/resin/resin-front.conf.in</filename>
</para>
</listitem>
</itemizedlist></para>
<para>These files are templates for your installation. When
you run the command
<command>/usr/sbin/
<replaceable>
projectname</replaceable>-configure.pl</command>copies of
these files will be placed in
<filename>/var/www/
<replaceable>projectname</replaceable>/conf</filename>and
<filename>/var/www/
<replaceable>projectname</replaceable>/bin</filename>. They
will also be edited to reflect the parameters you set in
<filename>/etc/
<replaceable>projectname</replaceable>.cfg</filename></para>
</sect2>
<sect2 id="s2-app-project-dot-cfg">
<title>The
<filename>
<replaceable>projectname</replaceable>.cfg</filename></title>
<para>Once the RPMs are installed you will need to edit the
configuration file for your server. The template for the
config file is
<filename>/etc/
<replaceable>projectname</replaceable>.cfg-resin</filename>.
Copy this file to
<filename>/etc/
<replaceable>projectname</replaceable>.cfg</filename>and edit
the parameters much like how you edited
<filename>config.vars</filename>. Some of the parameters are
not in
<filename>config.vars</filename>and you will need to change
the values depending on how your Resin and HTTP servers are
set up. Below is an example of a configuration file for a
production installation with two Resin application servers
and one Apache front end. The values you need to change in
addition to what what you find in
<filename>config.vars</filename>is emphasised with additional
comments. The Resin servers are called resin1.example.com and
resin2.example.com and the Apache server is called
apache.example.com.</para>
<note>
<title>
<command>hostname</command>
</title>
<para>The hostnames for the servers need to be exactly as
they appear when you run the
<command>hostname</command>command. If you want to change
the default behavior of
<command>hostname</command>to return the short name or the
fully qualified domain name here is what you can do:</para>
<para>Edit
<filename>/etc/sysconfig/network</filename>and change
HOSTNAME to be the fully qualified domain name. You can
also use the gui tools
<command>netconfig</command>and
<command>redhat-config-network</command>to do this. These
changes will only take effect after the machine has been
restarted. To change it at runtime pass an argument to
<command>hostname</command>as root.
<screen>$ hostname resin1.example.com</screen>You can test
this by running
<command>hostname</command>with no arguments.</para>
</note>
<screen><computeroutput>
##########################################
# APLAWS Master configuration file #
#########################################
servlet-container = resin
## This is set to servlet23 by default but should be resin
<userinput>servlet-webxml = resin</userinput>
# NB: all hostnames used should be
# the fully qualified name as returned
# by the 'hostname' command with no arguments.
####################################
# UNIX system level configuration
# Installation directory for resin
## This should be the directory of your Resin installation
<userinput>resin-home = /opt/resin/2.1.8</userinput>
# Installation directory for this app
app-home = /var/www/aplaws
# Directory containing the base runtime &amp; config files
runtime-home = /usr/share/aplaws
# UNIX accounts to run as
user = servlet
group = servlet
# Whereever you installed JDK 1.3.1
# java-home = /usr/j2se
# java-home = /usr/java/jdk1.3.1
## The java-home should point to $JAVA_HOME
<userinput>java-home = /opt/IBMJava2-131</userinput>
# Userinputly tell java to use more memory
#
# For Sun's JDK, on a machine with 1GB
#jre-args = -J-client -J-Xss128k -J-Xms512m -J-Xmx512m -J-XX:NewSize=128m -J-XX:MaxNewSize=128m
#
# For IBM's JDK on a machine with 256MB
#jre-args = -J-Xms128m -J-Xmx128m
<userinput>jre-args = -J-Xms1536m -J-Xmx1536m</userinput>
# The hostname of the front end apache box
<userinput>apache = apache.example.com</userinput>
# The hostnames of the back end resin boxes
<userinput>resin = resin1.example.com</userinput>
<userinput>resin = resin2.example.com</userinput>
# The SRUN ports for apache to talk to the resin
# boxes. The 'hostname:port' pair designates which
# srun port each resin instance listens on.
# If there is a firewall, between the resin and
# apache boxes, a second 'hostname:port' pair
# specifies the host and port of the firewall
#
# eg1. no firewall
<userinput>srun = resin1.example.com:6802</userinput>
<userinput>srun = resin2.example.com:6802</userinput>
# eg2. with firewall
<userinput>#srun = resin1.example.com:6082, firewall:6802</userinput>
<userinput>#srun = resin2.example.com:6082, firewall:6803</userinput>
# Turn on http listening on either apache
# or resin boxes. Only need http port on
# the resin boxes for debugging purposes
<userinput>http = apache.example.com:80</userinput>
# Only for debugging
<userinput>http = resin1.example.com:8080</userinput>
<userinput>http = resin2.example.com:8080</userinput>
# ACS initialization file
admin-answer = 6
admin-email = admin@example.com
admin-forename = Administrator
admin-password = 123456
admin-question = 12345
admin-surname = Account
cache-expiry = 900
<userinput>cache-peers = "http://resin1.example.com:8080"</userinput>
caching-active = yes
db-pass = aplaws_xyz
db-pool = 150
db-user = aplaws
debug-mode = false
default-locale = en_US
default-scheme = http
developer-support = false
dispatcher-context-path =
dispatcher-servlet-path =
dmi-active = false
dmi-data-model-file = "/WEB-INF/sql/ccm-core/default/dmi/dmi-create.sql"
dmi-xml-files = { "core-dmi.xml", "/WEB-INF/sql/ccm-core" }
<userinput>host-name = apache.example.com</userinput>
<userinput>hostname = apache.example.com</userinput>
jdbc-url = jdbc:postgresql://postgres.example.com/aplaws
log-dir = /var/log/aplaws
log-level = warn
log-size = 1000000
login-stylesheet = login_en.xsl
lucene-index-location = /var/www/aplaws/lib/lucene-index
permissionsDMLChecking = false
search-intermedia-enabled = false
search-lucene-enabled = true
search-lucene-indexer-id = 2
<userinput>server-name = apache.example.com</userinput>
server-port = 80
sitename = APLAWS
smtp-host = localhost
state-dir = /var/www/aplaws/lib
subsite-dispatcher-class = com.arsdigita.ui.login.SubsiteDispatcher
xslt-engine = Saxon
xslt-timeout = 60000
# WCT CMS Initialization File
content-digest-sender = article-digest@example.com
forms-content-digest-sender = forms-digest@foo.com
inso_filter_works = 0
<userinput>publish-to-fs-servers = "http://resin1.example.com/", "http://resin2.example.com/"</userinput>
<userinput>publish-to-fs-source = "http://resin2.example.com/"</userinput>
<userinput>publish-to-fs-this-server = "http://resin2.example.com/"</userinput>
search-engine = lucene
# Version: $Id: installing-aplaws.sgml 287 2005-02-22 00:29:02Z sskracic $ $Date: 2004/01/23 $
adminCanEditPosts = true
authorCanEditPosts = true
digestUserEmail = digests
<userinput>replyHostName = apache.example.com</userinput>
# Navigation initialization file
default-content-section-url = "/content/"
# System Properties
project-name = aplaws
</computeroutput>
</screen>
</sect2>
<sect2 id="s2-app-aplaws-configure-dot-pl">
<title>
<command>/usr/sbin/ <replaceable>projectname</replaceable>-configure.pl</command>
</title>
<para>Once you have edited
<filename>/etc/
<replaceable>
projectname</replaceable>.cfg-resin</filename>you can run
<command>/usr/sbin/
<replaceable>
projectname</replaceable>-configure.pl</command>to generate
the config files and the run scripts for your server to use.
Make sure that you do not get errors after you run this
command.
<command>/usr/sbin/
<replaceable>
projectname</replaceable>-configure.pl</command>copies files
from
<filename>/usr/share/
<replaceable>
projectname</replaceable>/bin/resin/</filename>and replaces
the parameter values with what you have set in the
configuration file and places them in
<filename>/var/www/
<replaceable>projectname</replaceable>/conf</filename>. It
also generates the wrapper run scripts in
<filename>/var/www/
<replaceable>projectname</replaceable>/bin</filename>.
<screen>
<computeroutput>
bash-2.03# /usr/sbin/aplaws-configure.pl /etc/aplaws.cfg Reading /etc/aplaws.cfg
Wrote /var/www/aplaws/dist/WEB-INF/resources/enterprise.init
Wrote /var/www/aplaws/dist/WEB-INF/web.xml
Wrote /var/www/aplaws/bin/run-resin.sh
Wrote /var/www/aplaws/conf/resin.conf
Wrote /var/www/aplaws/bin/run.sh
</computeroutput>
</screen></para>
<para>Here is a list of the files and how they are modified.
<itemizedlist>
<listitem>
<para>
<filename>
/var/www/aplaws/dist/WEB-INF/resources/enterprise.init</filename>:
Initialization file used for the APLAWS server. Contains
settings for the individual APLAWS packages such as
database connection parameters, content types, and
stylesheet engine, i.e. the paramters after
<command># ACS initialization file</command>in
<filename>aplaws.cfg</filename>.</para>
</listitem>
<listitem>
<para>
<filename>
/var/www/aplaws/dist/WEB-INF/web.xml:</filename>:
Configured to work with Resin set by the line:
<command>servlet-container = resin</command>in
<filename>aplaws.cfg</filename>.</para>
</listitem>
<listitem>
<para>
<filename>/var/www/aplaws/bin/run-resin.sh</filename>:
Wrapper script for starting and stopping Resin. Contains
information such as JAVA_HOME, RESIN_HOM, and JVM setting
(e.g.
<command>app-home</command>,
<command>runtime-home</command>,
<command>java-home</command>,
<command>jre-args</command>).</para>
</listitem>
<listitem>
<para>
<filename>/var/www/aplaws/conf/resin.conf</filename>:
Configuration for the Resin servlet container. Contains
information such as s-run port number, http port number,
and maximum number of processes (i.e.
<command>srun</command>,
<command>http</command>.</para>
</listitem>
</itemizedlist></para>
</sect2>
<sect2 id="s2-starting-the-server">
<title>Starting the server</title>
<para>Once the configuration files and the wrapper scripts
are written you can start, stop, and restart your sever using
<command>/etc/init.d/
<replaceable>projectname</replaceable></command>. The log
files are located in your specified directory, by default
<filename>/var/log/
<replaceable>projectname</replaceable></filename>. You should
<command>tail -f /var/log/
<replaceable>projectname</replaceable>/*.log</command>to
monitor the progress of your server startup.</para>
<note>
<title>
<command>/etc/init.d/
<replaceable>
projectname</replaceable></command>restart</title>
<para>When you restart the server the command will pause
for a number of seconds to wait for the application server
to completely exit.</para>
</note>
<para>Once you are happy with your installation you should
set APLAWS to startup automatically at reboot by running
<command>chkconfig aplaws on</command>.</para>
</sect2>
</sect1>
<sect1 id="s1-web-server">
<title>Configuring the Web Server</title>
<sect2 id="s2-web-software">
<title>Required Software</title>
<para>You will need to install the following software to your
webserver.
<itemizedlist>
<listitem><para>resin source (tar.gz)</para></listitem>
<listitem><para>apache</para></listitem>
<listitem><para>apache-devel</para></listitem>
<listitem><para>squid</para></listitem>
<listitem><para>aplaws-xxx.noarch.rpm</para></listitem>
<listitem><para>aplaws-servlet-resin-xxx.noarch.rpm</para></listitem>
</itemizedlist>
</para>
<para>You need Resin sources and apache-devel package because
you will need to compile and install mod_caucho. You should
use Apache and Squid that comes with your Advanced Server.
Even though you will not be serving pages out of Resin on the
web server, you need to install the aplaws packages because
Apache will be serving static files directly from the file
system to improve performance.</para>
</sect2>
<sect2 id="s2-web-mod_caucho">
<title>mod_caucho</title>
<para>First install resin in
<filename>/opt</filename>by untaring the source distribution.
Run the following command to install mod_caucho.
<screen><computeroutput>$ ./configure --with-apache /usr/sbin</computeroutput></screen></para>
<note>
<title>Reference</title>
<para>If you have problems with this section, or have a
non-standard Apache installation consult the manual
<ulink url="http://caucho.com/resin/ref/cse-apache-unix.xtp">
Resin with Apache on Unix</ulink>.</para>
</note>
</sect2>
<sect2 id="s2-web-aplaws-package">
<title>Installing the APLAWS RPMs</title>
<para>You do not need to configure virtual hosting and
mod_caucho manually. Installing and configuring the APLAWs
RPMs will do this for you. Follow the instructions at
<xref linkend="s2-install-rpm-servlet" />and configure and
install the RPMs. When you run the script
<command>/usr/sbin/aplaws-configure.pl
/etc/aplaws.cfg</command>configuration files will be written
to the file system. Here is a list of affected files and
highlights of the changes.
<itemizedlist>
<listitem>
<para>
<filename>/etc/httpd/httpd.conf</filename>: Adds a
directive to include the vhost configuration file
<filename>
/var/www/aplaws/conf/httpd-resin-vhost.conf</filename>.</para>
</listitem>
<listitem>
<para>
<filename>
/var/www/aplaws/conf/httpd-resin-vhost.conf</filename>:
Sets the DocumentRoot to be
<filename>/var/www/aplaws/dist</filename>and the
CauchoConfigFile for mod_caucho as
<filename>
/var/www/aplaws/dist/resin-apache.conf</filename>.</para>
</listitem>
<listitem>
<para>
<filename>resin-apache.conf</filename>: Sets the location
of the application server by defining the IP and the
s-run port that the resin server is listening on.</para>
</listitem>
</itemizedlist></para>
<note>
<title>Check</title>
<para>At this point you should be able to retrive pages
from application server via Apache. Test the connection by
running
<command>wget http://localhost</command>or using
<command>telnet</command>.</para>
</note>
</sect2>
<sect2 id="s2-web-squid">
<title>Configuring SQUID</title>
<para>In this section you will configure Squid to be the web
accelerator for Apache. This step is not required but
strongly recommended as it will significantly increase the
performance of your site.</para>
<para>For virtual hosting to work correctly (particularly
with IE) we need to run both Apache and SQUID on the same
machine and port number. This means we must tell apache on
only bind to 127.0.0.1 and SQUID to only bind to the machines
public ip address.</para>
<sect3 id="s3-web-port-settings">
<title>Setting the Listen ports on Apache and Squid</title>
<para>In /etc/httpd/conf/httpd.conf uncomment and change
<screen><computeroutput>BindAddress *</computeroutput></screen>
to
<screen><computeroutput>BindAddress 127.0.0.1</computeroutput></screen>
Next, uncomment and change
<screen><computeroutput>Listen 80</computeroutput></screen>
To
<screen><computeroutput>Listen 127.0.0.1:80</computeroutput></screen>
Then go down to the &lt;IfDefine
HAVE_SSL&gt; block containin the two Listen statements and
add
<screen><computeroutput>Listen 127.0.0.1:443</computeroutput></screen>
In /etc/squid/squid.conf change
<screen><computeroutput># http_port 3128</computeroutput></screen>
To
<screen><computeroutput>http_port 192.168.168.199:80</computeroutput></screen>
</para>
</sect3>
<sect3 id="s3-web-squid-acl">
<title>Configuring permissions for Squid</title>
<para>The default SQUID config doesn't cache urls with
query parameters in them. This is only for compatability
with badly written CGI scripts that don't send cache
control headers. We do things properly so we need to change
this behaviour. So in the squid config, comment out
<screen><computeroutput>
#hierarchy_stoplist cgi-bin ?
#acl QUERY urlpath_regex cgi-bin \?
#no_cache deny QUERY
</computeroutput></screen>
Turn on referers and useragents so that
log analysis is useful
<screen><computeroutput>
useragent_log /var/log/squid/agent.log
referer_log /var/log/squid/referer.log
</computeroutput></screen>
You'll need our custom version of SQUID
compiled with
<command>--enable-referer-log</command>and
<command>--enable-agent-log options</command>.</para>
<para>Next we add some access control rules to allow public
users to access the cache. Add the following lines near the
other block of acl definitions:
<screen><computeroutput>
acl accel_host dst 127.0.0.1/255.255.255.255
acl accel_host dst 192.168.168.199/255.255.255.255
acl accel_port port 80
</computeroutput></screen>
If the firewall in front of the SQUID
server has a different IP address to the network interface
you need to add that in as well.
<screen><computeroutput>acl accel_host dst 193.132.194.147/255.255.255.255</computeroutput></screen>
Then, allow access to requests matching
these acls. Comment out
<screen><computeroutput>#http_access deny all</computeroutput></screen>
Add in
<screen><computeroutput>
http_access deny !accel_host
http_access deny !accel_port
http_access allow all
</computeroutput></screen>
</para>
</sect3>
<sect3 id="s3-web-squid-misc">
<title>Configureing Squid for HTTP Acceleration</title>
<para>Set the main hostname
<screen><computeroutput>visible_hostname www.stoke.gov.uk</computeroutput></screen>
SQUID limits HTTP file uploads to 1 MB in
size, so we need to increase this to at least 20 MB
otherwise CMS file storage is rather limited in usefulness:
<screen><computeroutput>request_body_max_size 20 MB</computeroutput></screen>
Finally, tell SQUID to be an accellerator
for the apache server:
<screen><computeroutput>httpd_accel_host 127.0.0.1 httpd_accel_port 80</computeroutput></screen>
Finally for virtual hosting to work, we set
<screen><computeroutput>
httpd_accel_single_host on
httpd_accel_uses_host_header on
</computeroutput></screen>
</para>
<note>
<title>Test</title>
<para>This configuration separates the IP and port that
Squid listens to from the Apache port. So if you do
<command>wget -S http://localhost</command>you are
connecting to Apache, if you do
<command>wget -S http://
<userinput>your-external-ip</userinput></command>you are
connecting to Squid. This difference will helpful in
determining the point of failure if you have
problems</para>
</note>
<para>Once you are happy with your installation you should
set Apache and Squid to startup automatically at reboot by using
<command>chkconfig</command>. </para>
</sect3>
</sect2>
</sect1>
</chapter>

View File

@ -0,0 +1,85 @@
<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!-- *************** Control for HTML/print *************** -->
<!-- Set to either "IGNORE" (for HTML) or "INCLUDE" (for print) -->
<!ENTITY % SET-FOR-PRINT "IGNORE">
<!ENTITY % PRIVATE-ONLY "IGNORE">
<!-- *************** Settings for Book ID string *************** -->
<!ENTITY BOOKDATE "2003-06-11-T16:00" -- Date the document was produced -->
<!ENTITY SHORT-TITLE "APLAWS Deployment Guide" -- Short title for this manual -->
<!ENTITY PRODVER "5.2" -- Product version for this manual -->
<!-- *************** Bring in RH-standard entities *************** -->
<!ENTITY % RH-ENTITIES SYSTEM "./rh-sgml/rh-entities.sgml">
%RH-ENTITIES;
<!-- *************** Bring in RHEA specific entities *************** -->
<!ENTITY % RHEA-ENTITIES SYSTEM "./rh-sgml/rhea-entities.sgml">
%RHEA-ENTITIES;
<!-- *************** Set this particular PRODVER *************** -->
<!ENTITY PRODVER "&RHWAFVER;" -- Product version for this manual -->
<!-- *************** Chapter entities... *************** -->
<!ENTITY create-new-project SYSTEM "create-new-project.sgml">
<!ENTITY development-environment SYSTEM "development-environment.sgml">
<!ENTITY building-packages SYSTEM "building-packages.sgml">
<!ENTITY installing-aplaws SYSTEM "installing-aplaws.sgml">
<!ENTITY application-development SYSTEM "application-development.sgml">
]>
<book id="index" lang="en">
<bookinfo>
<title>APLAWS</title>
<subtitle>&SHORT-TITLE;</subtitle>
<!--
<isbn>
N/A
</isbn>
-->
<mediaobject>
<imageobject>
<imagedata fileref="./figs/rhl-common/rhlogo-chapter-title.eps"
format="eps" align="left">
</imageobject>
<imageobject>
<imagedata fileref="./figs/rhl-common/rhlogo-chapter-title.png"
format="png" align="left">
</imageobject>
</mediaobject>
<publisher>
<publishername>
<inlinemediaobject>
<imageobject>
<imagedata fileref="./figs/rhl-common/rhlogo-title.eps"
format="eps">
</imageobject>
<imageobject>
<imagedata fileref="./figs/rhl-common/rhlogo-title.png"
format="png">
</imageobject>
</inlinemediaobject>
</publishername>
</publisher>
<copyright>
<year>2003</year>
<holder>&FORMAL-RHI;</holder>
</copyright>
&BOILERPLATE;
</bookinfo>
<toc>
<title>Table of Contents</title>
</toc>
<!-- The chapters start here... -->
&create-new-project;
&development-environment;
&application-development;
&building-packages;
&installing-aplaws;
</book>

View File

@ -0,0 +1,51 @@
#! /bin/sh
# Make sure we have an absolute path to the backend and stylesheet, as
# jw doesn't like relative paths...
STUFFPATH=`dirname $0`
if [ -n "${STUFFPATH##/*}" ]
then
STUFFPATH=$PWD/$STUFFPATH
fi
# Figure out what our output directory should be called. Note that we
# also check to see if the user explicitly specified an output directory,
# in which case we'll use their choice...
O_OPTION=0
for i in "$@"
do
if [ $O_OPTION = "1" ]
then
OUTPUTDIR=$i
O_OPTION=0
fi
if [ $i = "-o" ]
then
O_OPTION=1
fi
done
# See if the user specified an output directory...
if [ -z $OUTPUTDIR ]
then
# Nope -- default to the name of the SGML file...
OUTPUTDIR="`echo $i | sed 's,\.sgml$,,;s,\.sgm$,,'`"
fi
# Nuke the output directory (if it exists); jw will create it for us...
if [ -d $OUTPUTDIR ]
then
echo -n "Cleaning out $OUTPUTDIR..."
rm -rf $OUTPUTDIR
echo "Done!"
fi
jw -f docbook \
-b $STUFFPATH/31-indexed-html \
-d $STUFFPATH/stylesheets/docbook31/redhat.dsl#html \
-o $OUTPUTDIR \
$*

View File

@ -0,0 +1,59 @@
#!/usr/bin/python
## script to add css to RHL HTML pages
## Copyright (C) 2002 Red Hat, Inc.
## Copyright (C) 2002 Tammy Fox <tfox@redhat.com>
## Author: Tammy Fox
import sys
import string
import os
import re
import tempfile
#grab files specified on command line
html_files = sys.argv[1:]
for file in html_files:
## add header
#open file
f = open(file, "rw")
#read in contents of file
content = f.read()
#reg expression to find BODY tag
replace_this = re.search('</HEAD', content, re.DOTALL | re.IGNORECASE)
css_line="</HEAD><link rel=\"stylesheet\" type=\"text/css\" href=\"rhdocs-man.css\""
path = os.getcwd()
#open temp file
try:
tempfile.tempdir = path
tmpfilename = tempfile.mktemp()
tmpfile = open(tmpfilename, 'w')
os.chmod(tmpfilename, 0664)
except IOError:
print "Error: Can't create temp file"
sys.exit(0)
try:
new_content = re.sub(replace_this.group(), css_line, content)
except:
print "Error: Can't find content to replace in header in " + file
tmpfile.close()
os.remove(tmpfilename)
sys.exit(0)
tmpfile.write(new_content)
#close files
f.close()
tmpfile.close()
#mv temp file to real file
os.rename(tmpfilename, file)

View File

@ -0,0 +1,54 @@
#! /bin/sh
# Make sure we have an absolute path to the backend and stylesheet, as
# jw doesn't like relative paths...
STUFFPATH=`dirname $0`
if [ -n "${STUFFPATH##/*}" ]
then
STUFFPATH=$PWD/$STUFFPATH
fi
#
#Grab name of the SGML file without extension
#
O_OPTION=0
for i in "$@"
do
if [ $O_OPTION = "1" ]
then
FILENAME=$i
O_OPTION=0
fi
if [ $i = "-o" ]
then
O_OPTION=1
fi
done
if [ -z $FILENAME ]
then
# Grab name of the SGML file...
FILENAME="`echo $i | sed 's,\.sgml$,,;s,\.sgm$,,'`"
fi
# Generate index
jw -f docbook \
-b $STUFFPATH/index \
-d $STUFFPATH/stylesheets/redhat.dsl#html \
-o $FILENAME-tmp \
$*
# Generate PDF with generated index
jw -f docbook \
-b $STUFFPATH/indexed-pdfprint \
-d $STUFFPATH/stylesheets/redhat.dsl#print \
$*
# Remove temp directory
echo -n Removing temp directory $PWD/$FILENAME-tmp...
rm -rf $PWD/$FILENAME-tmp
echo Done!

View File

@ -0,0 +1,54 @@
#! /bin/sh
# Make sure we have an absolute path to the backend and stylesheet, as
# jw doesn't like relative paths...
STUFFPATH=`dirname $0`
if [ -n "${STUFFPATH##/*}" ]
then
STUFFPATH=$PWD/$STUFFPATH
fi
#
#Grab name of the SGML file without extension
#
O_OPTION=0
for i in "$@"
do
if [ $O_OPTION = "1" ]
then
FILENAME=$i
O_OPTION=0
fi
if [ $i = "-o" ]
then
O_OPTION=1
fi
done
if [ -z $FILENAME ]
then
# Grab name of the SGML file...
FILENAME="`echo $i | sed 's,\.sgml$,,;s,\.sgm$,,'`"
fi
# Generate index
jw -f docbook \
-b $STUFFPATH/index \
-d $STUFFPATH/stylesheets/redhat-training.dsl#html \
-o $FILENAME-tmp \
$*
# Generate PS with generated index
jw -f docbook \
-b $STUFFPATH/indexed-training-ps \
-d $STUFFPATH/stylesheets/redhat-training.dsl#print \
$*
# Remove temp directory
echo -n Removing temp directory $PWD/$FILENAME-tmp...
rm -rf $PWD/$FILENAME-tmp
echo Done!

View File

@ -0,0 +1,49 @@
#! /bin/sh
# Modified for a specified list of pages by Tammy Fox <tfox@redhat.com>
# Make sure we have an absolute path to the backend and stylesheet, as
# jw doesn't like relative paths...
STUFFPATH=`dirname $0`
if [ -n "${STUFFPATH##/*}" ]
then
STUFFPATH=$PWD/$STUFFPATH
fi
DVI_PAGES=$1
FILENAME=$2
export DVI_PAGES
if [ "$1" == "" ] || [ "$2" == "" ] ; then
echo "Usage: $0 <page-nums> <parent-file>"
echo "example: $0 42-50 rhl-cg-en.sgml"
exit 1
fi
#
#Grab name of the SGML file without extension
#
FILENAME="`echo $FILENAME | sed 's,\.sgml$,,;s,\.sgm$,,'`"
# Generate index
jw -f docbook \
-b $STUFFPATH/index \
-d $STUFFPATH/stylesheets/redhat.dsl#html \
-o $FILENAME-tmp \
${FILENAME}.sgml
# Generate PS with generated index
jw -f docbook \
-b $STUFFPATH/indexedpg-ps \
-d $STUFFPATH/stylesheets/redhat.dsl#print \
${FILENAME}.sgml
# Remove temp directory
echo -n Removing temp directory $PWD/$FILENAME-tmp...
rm -rf $PWD/$FILENAME-tmp
echo Done!

View File

@ -0,0 +1,18 @@
You can modify the background color, foreground color, font used, window size, and more by editing the .Xresources file in your home directory. If this file does not exist, you will need to create it.
Also note that you must type the command
xrdb -merge .Xresources
from your home directory to have X reread this configuration file, and you must restart Emacs before the changes will take effect.
Sample .Xresources file:
emacs.background: Wheat
emacs.f oreground: Black
emacs.pointerColor: Blue
emacs.cursorColor: Red
emacs.bitmapIcon: on
emacs.font: fixed
emacs.geometry: 100x45

View File

@ -0,0 +1,130 @@
This is a copy of Dave Mason's .emacs file. Add the following to your
own:
----------------------begin cut-------------------------
;;
;;MODES
;;
(setq auto-mode-alist (cons '("\\.sgml$" . sgml-mode) auto-mode-alist))
;;(setq auto-mode-alist (cons '("\\.sgm$" . sgml-mode) auto-mode-alist))
;;turn on html-helper-mode
;;don't really need this with psgml, i think
(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
(setq auto-mode-alist (cons '("\\.html$" . html-helper-mode)
auto-mode-alist))
;; turn on auto-fill in `text-mode' and derived modes
;;(mail, news, etc)
(add-hook 'text-mode-hook 'turn-on-auto-fill)
;;
;;SGML!!
;;
;;#############################################################
;;
;;PSGML mode stuff
;;
(autoload 'sgml-mode "psgml" "My Most Major Mode" t)
(setq sgml-mode-hook '(lambda () "Defaults for SGML mode." (turn-on-auto-fill) (setq fill-column 80)))
(defun My-SGML-keymap ()
(local-set-key [(alt i)]
'(lambda ()
(interactive)
(sgml-indent-line)
(sgml-insert-element 'item)
(sgml-indent-line)))
(local-set-key [(alt l)]
'(lambda ()
(interactive)
(sgml-insert-element 'list)
(sgml-insert-element 'item)
(sgml-indent-line)))
(local-set-key [(alt p)]
'(lambda ()
(interactive)
(sgml-indent-line)
(sgml-insert-element 'para)
(sgml-indent-line)))
(local-set-key [(alt -)]
'(lambda ()
(interactive)
(insert "&mdash;"))))
(add-hook 'sgml-mode-hook 'My-SGML-keymap)
;;
;; Fix up indentation of data...
;;
(setq-default sgml-indent-data t)
;;
;; SGML markup faces.
;;
(setq-default sgml-set-face t)
(make-face 'sgml-comment-face)
(make-face 'sgml-doctype-face)
(make-face 'sgml-end-tag-face)
(make-face 'sgml-entity-face)
(make-face 'sgml-ignored-face)
(make-face 'sgml-ms-end-face)
(make-face 'sgml-ms-start-face)
(make-face 'sgml-pi-face)
(make-face 'sgml-sgml-face)
(make-face 'sgml-short-ref-face)
(make-face 'sgml-start-tag-face)
(set-face-foreground 'sgml-comment-face "maroon")
(set-face-foreground 'sgml-doctype-face "dark green")
(set-face-foreground 'sgml-end-tag-face "blue2")
(set-face-foreground 'sgml-entity-face "red2")
(set-face-foreground 'sgml-ignored-face "maroon")
(set-face-background 'sgml-ignored-face "gray90")
(set-face-foreground 'sgml-ms-end-face "maroon")
(set-face-foreground 'sgml-ms-start-face "maroon")
(set-face-foreground 'sgml-pi-face "maroon")
(set-face-foreground 'sgml-sgml-face "maroon")
(set-face-foreground 'sgml-short-ref-face "goldenrod")
(set-face-foreground 'sgml-start-tag-face "blue2")
(setq-default sgml-markup-faces
'((comment . sgml-comment-face)
(doctype . sgml-doctype-face)
(end-tag . sgml-end-tag-face)
(entity . sgml-entity-face)
(ignored . sgml-ignored-face)
(ms-end . sgml-ms-end-face)
(ms-start . sgml-ms-start-face)
(pi . sgml-pi-face)
(sgml . sgml-sgml-face)
(short-ref . sgml-short-ref-face)
(start-tag . sgml-start-tag-face)))
(defun docbook-mode ()
(sgml-mode)
)
;;
;;END SGML STUFF
;;
;;##################################################################
(global-set-key [(f1)] (lambda () (interactive) (manual-
entry (current-word))))
---------------------end cut-------------------------------

View File

@ -0,0 +1,19 @@
Warning: This no longer works with the current version of RHL. Please refer to Xresources.txt.
In your .Xdefaults file, you'll find entries for the display
properties of Emacs. If you wish, you can substitute those entries
with the following, which will give you a larger Emacs window, and
change the default color of the background, cursor and pointer.
----------------begin cut-------------------------
emacs*Background: Wheat
emacs*Foreground: Black
emacs*pointerColor: Blue
emacs*cursorColor: Red
emacs*bitmapIcon: on
emacs*font: fixed
emacs.geometry: 100x45
---------------end cut---------------------------

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:cms="http://www.arsdigita.com/cms/1.0"
xmlns:esd="http://www.esd.org.uk/standards"
xmlns="http://www.esd.org.uk/standards/esdbody"
version="1.0" exclude-result-prefixes="esd xsl">
<xsl:output method="xml"/>
<xsl:param name="esdID"/>
<xsl:param name="assetName"/>
<xsl:template match="text()|comment()|processing-instruction()">
<xsl:copy/>
</xsl:template>
<xsl:template match="/">
<xsl:if test="//a[contains(@href, '.pdf')]">
<cms:item xmlns:cms="http://www.arsdigita.com/cms/1.0">
<xsl:attribute name="oid">
<xsl:value-of select="concat('[com.arsdigita.cms.contenttypes.FileStorageItem:{id=', $esdID, '}]')"/>
</xsl:attribute>
<xsl:variable name="name">
<xsl:call-template name="ConvertToFilename">
<xsl:with-param name="name">
<xsl:value-of select="concat(/esd:ServiceContent/esd:Name, '-form-', $esdID)"/>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<cms:name><xsl:value-of select="$name"/></cms:name>
<cms:language>en</cms:language>
<cms:title><xsl:value-of select="/esd:ServiceContent/esd:Title"/></cms:title>
<xsl:if test="0 = 1">
<xsl:apply-templates select="/esd:ServiceContent/esd:Metadata">
<xsl:with-param name="name">
<xsl:value-of select="$name"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:if>
<cms:file>
<xsl:attribute name="oid">
<xsl:value-of select="concat('[com.arsdigita.cms.FileAsset:{id=', $esdID, '}]')"/>
</xsl:attribute>
<cms:name><xsl:value-of select="$assetName"/></cms:name>
<cms:content file="{$assetName}"/>
</cms:file>
</cms:item>
</xsl:if>
</xsl:template>
<xsl:template match="esd:Metadata">
<xsl:param name="name"/>
<cms:dublinCore>
<xsl:attribute name="oid">
<xsl:value-of select="concat('[com.arsdigita.london.cms.dublin.DublinCoreItem:{id=', $esdID, '}]')"/>
</xsl:attribute>
<cms:name><xsl:value-of select="concat($name, '-dublin-metadata')"/></cms:name>
<cms:dcAudience><xsl:value-of select="esd:Audience"/></cms:dcAudience>
<cms:dcCoverage><xsl:value-of select="normalize-space(string(esd:Coverage.Spatial))"/></cms:dcCoverage>
<cms:dcCoveragePostcode></cms:dcCoveragePostcode>
<cms:dcCoverageSpatialRef></cms:dcCoverageSpatialRef>
<cms:dcCoverageUnit></cms:dcCoverageUnit>
<cms:dcDateValid></cms:dcDateValid>
<cms:dcDisposalReview></cms:dcDisposalReview>
<cms:dcLanguage>en</cms:dcLanguage>
<cms:dcTemporalBegin></cms:dcTemporalBegin>
<cms:dcTemporalEnd></cms:dcTemporalEnd>
<cms:dcCreatorOwner><xsl:value-of select="esd:Creator"/></cms:dcCreatorOwner>
<cms:dcCreatorContact><xsl:value-of select="esd:Creator"/></cms:dcCreatorContact>
<cms:dcPublisher><xsl:value-of select="esd:Publisher"/></cms:dcPublisher>
<cms:dcRights></cms:dcRights>
<cms:dcKeywords><xsl:value-of select="esd:Subject.Keyword"/></cms:dcKeywords>
</cms:dublinCore>
</xsl:template>
<!-- Convert the name to a filename-compatible format -->
<xsl:template name="ConvertToFilename">
<xsl:param name="name"/>
<xsl:call-template name="RemoveApos">
<xsl:with-param name="name" select="translate($name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ /\*?!#%^+=&#34;&#38;&#58;&#59;$,`~', 'abcdefghijklmnopqrstuvwxyz---')"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="RemoveApos">
<xsl:param name="name"/>
<xsl:call-template name="RemoveTripleHyphens">
<xsl:with-param name="name" select='translate($name, "&#39;", "")'/>
</xsl:call-template>
</xsl:template>
<xsl:template name="RemoveTripleHyphens">
<xsl:param name="name"/>
<xsl:choose>
<xsl:when test="contains($name, '---')">
<xsl:call-template name="RemoveTripleHyphens">
<xsl:with-param name="name" select="concat(substring-before($name, '---'), '--', substring-after($name, '---'))"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,7 @@
#!/bin/sh
for i in `find $1 -name '*.xml'`
do
mv $i $i.orig
xsltproc fix-namespace.xsl $i.orig > $i
done

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:esd="http://www.esd.org.uk/standards"
xmlns:esdbody="http://www.esd.org.uk/standards/esdbody"
version="1.0">
<xsl:template match="/">
<xsl:apply-templates select="esd:ServiceContent"/>
</xsl:template>
<xsl:template match="esd:ServiceContent">
<xsl:element name="ServiceContent" namespace="http://www.esd.org.uk/standards">
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="esd:Body">
<xsl:element name="{name()}" namespace="{namespace-uri()}">
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="node()" mode="html"/>
</xsl:element>
</xsl:template>
<xsl:template match="text()|comment()|processing-instruction()">
<xsl:copy/>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{name()}" namespace="{namespace-uri()}">
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
<xsl:template match="text()|comment()|processing-instruction()" mode="html">
<xsl:copy/>
</xsl:template>
<xsl:template match="*" mode="html">
<xsl:element name="{name()}" namespace="http://www.esd.org.uk/standards/esdbody">
<xsl:apply-templates select="@*" mode="html"/>
<xsl:apply-templates select="node()" mode="html"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*" mode="html">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,20 @@
#!/bin/sh
rm -rf xml assets items
mkdir xml assets items
(
cd xml
unzip ../aplaws.zip
)
(
cd assets
unzip ../forms.zip
rm -f *.htm
)
echo Fixing namespaces
./fix-namespace.sh xml
./process-esdservice-xml.pl xml items

View File

@ -0,0 +1,211 @@
#!/usr/bin/perl -w
use strict;
use File::Basename;
use File::Path;
sub usage() {
print "Process a set of ESDService items in UK Government Interchange format\n";
print "into a format suitable for import into the Red Hat CMS.\n\n";
print "Usage: $0 [source dir] [dest dir] <content section>\n";
print " source dir: The directory containing the XML files to process.\n";
print " dest dir: The directory to write the processed files and directories into.\n";
print " content section: The content section that content will be imported to.\n";
print " (optional, defaults to \"content\")\n";
exit(0);
}
if (!$ARGV[1]) {
usage();
}
my $sourceDir = $ARGV[0];
my $destDir = $ARGV[1];
my $contentSection = $ARGV[2] ? $ARGV[2] : "content";
my $xslFile = File::Basename::dirname($0) . "/servicecontent-import.xsl";
my $xslAssetFile = File::Basename::dirname($0) . "/filestorage-import.xsl";
open(TERMS, "> $destDir/term-mapping.xml") || die("Can't open file: $!");
print TERMS <<EOF;
<?xml version="1.0" encoding="UTF-8"?>
<terms:itemMapping xmlns:terms="http://xmlns.redhat.com/london/terms/1.0">
<terms:domain resource="http://www.esd.org.uk/standards/lgsl/2.00/lgsltermslist.xml"/>
EOF
;
# A mapping from DirectoryLevel1 names to a
# DirectoryLevel1 title and hash of DirectoryLevel2 info
my %level1Dirs = ();
for my $xmlSource (glob("$sourceDir/*.xml")) {
my $xmlFile = File::Basename::basename($xmlSource);
open(XMLSOURCE, "< $xmlSource") || die("Couldn't open file: $!");
my $xmlText;
{
local $/ = undef;
$xmlText = <XMLSOURCE>;
}
close(XMLSOURCE);
my $dirLevel1Title = $xmlText;
# Get the value of the DirectoryLevel1 tag
$dirLevel1Title =~ s|.*<ns2:DirectoryLevel1>([^<]*)</ns2:DirectoryLevel1>.*|$1|s;
# Convert it to a filename-friendly format
my $dirLevel1Name = toFilename($dirLevel1Title);
# Same for DirectoryLevel2
my $dirLevel2Title = $xmlText;
$dirLevel2Title =~ s|.*<ns2:DirectoryLevel2>([^<]*)</ns2:DirectoryLevel2>.*|$1|s;
my $dirLevel2Name = toFilename($dirLevel2Title);
my $level1;
if (exists $level1Dirs{$dirLevel1Name}) {
# Get a reference to the level 1 list
$level1 = $level1Dirs{$dirLevel1Name};
} else {
# Create the level 1 list and populate it with
# the level 1 title and an empty hash
$level1 = [$dirLevel1Title, {}];
$level1Dirs{$dirLevel1Name} = $level1;
}
# Get a reference to the hash that will store level 2 info
my $level2 = $level1->[1];
my $level2Files;
if (exists $level2->{$dirLevel2Name}) {
# Get a reference to the list of files in the level 2 dir
$level2Files = $level2->{$dirLevel2Name}->[1];
} else {
# Create a list with the level 2 title and
# an empty list of level 2 files.
$level2Files = [];
$level2->{$dirLevel2Name} = [$dirLevel2Title, $level2Files];
}
my $targetDir = "$destDir/$dirLevel1Name/$dirLevel2Name";
if (! -d $targetDir) {
# Create the destination directory
File::Path::mkpath($targetDir);
}
my $targetFile = "$targetDir/$xmlFile";
my $cleanedXML = $xmlText;
# We need to strip off the "xmlns" attribute or no xsl:templates will match
# $cleanedXML =~ s|xmlns:ns2="http://www.esd.org.uk/standards"||g;
# $cleanedXML =~ s|ns2:||g;
$cleanedXML =~ s|ServiceContent|ns2:ServiceContent|g;
$cleanedXML =~ s|ns3:||g;
$cleanedXML =~ s|xmlns:ns3="http://www.esd.org.uk/standards/esdbody"||g;
# $cleanedXML =~ s| xmlns="http://www.esd.org.uk/standards/xmlschemas/draft/servicecontent.xsd"||g;
open(CLEANEDXML, "> ${targetFile}.tmp") || die("Couldn't open file: $!");
print CLEANEDXML $cleanedXML;
close(CLEANEDXML);
# This assumes the XML file name has the pattern [0-9]+\.xml. We use this rather than a synthetic
# value for the OIDs so we can reliably track which items have already been imported.
my $esdID = $xmlFile;
$esdID =~ s|([0-9]+)\.xml|$1|;
# Process the file using "xsltproc", provided by the libxslt package
system(("xsltproc", "-o", $targetFile, "--param", "esdID", $esdID, $xslFile, "${targetFile}.tmp")) == 0 ||
die("Error processing XML file $xmlSource: $!");
#unlink("${targetFile}.tmp") || die("Could not delete ${targetFile}.tmp: $!");
print "Wrote $targetFile\n";
if ($cleanedXML =~ m|a\s+href="(?:forms/)?(\d+.*.pdf)|) {
my $targetAssetFile = "$targetDir/form-$xmlFile";
system(("xsltproc", "-o", $targetAssetFile, "--param", "esdID", $esdID, "--param", "assetName", "'$1'", $xslAssetFile, "${targetFile}.tmp")) == 0 ||
die("Error processing XML file $xmlSource: $!");
print "Wrote $targetAssetFile\n";
push(@{$level2Files}, "/$dirLevel1Name/$dirLevel2Name/form-$xmlFile");
}
# Append the path to the current file to the level 2 file list
push(@{$level2Files}, "/$dirLevel1Name/$dirLevel2Name/$xmlFile");
my $termID = $xmlText;
# Get the value of the LGSLService tag (if any) and use it to generate the term mapping.
if ($termID =~ s|.*<ns2:LGSLService Id="([0-9]+)">.*?</ns2:LGSLService>.*|$1|s) {
open(OUTPUTXML, "< $targetFile") || die("Couldn't open file: $!");
my $outputXML;
{
local $/ = undef;
$outputXML = <OUTPUTXML>;
}
close(XMLSOURCE);
my $itemName = $outputXML;
# Get the first instance of "cms:item" from the output XML, and use this to generate
# the path to the item.
$itemName =~ s|.*<cms:item [^>]+>\s*<cms:name>([^<]+)</cms:name>.*|$1|s;
print TERMS " <terms:mapping>\n";
print TERMS " <terms:term id=\"$termID\"/>\n";
print TERMS " <terms:item path=\"/$contentSection/generic-content/$dirLevel1Name/$dirLevel2Name/$itemName\"/>\n";
print TERMS " </terms:mapping>\n";
}
}
print TERMS "</terms:itemMapping>\n";
close(TERMS);
# The header for the import index
open(INDEX, "> $destDir/index.xml") || die("Couldn't open file: $!");
print INDEX <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<imp:import xmlns:imp="http://xmlns.redhat.com/waf/london/importer/1.0" source="www.esd.org.uk">
<cms:folder xmlns:cms="http://www.arsdigita.com/cms/1.0" label="Root Folder" name="/" oid="[com.arsdigita.cms.Folder:{id=1}]">
<cms:folder xmlns:cms="http://www.arsdigita.com/cms/1.0" label="Generic Content" name="generic-content" oid="[com.arsdigita.cms.Folder:{id=2}]">
EOF
;
# Generate the import index
my $id = 3;
for my $level1Name (keys %level1Dirs) {
my $level1 = $level1Dirs{$level1Name};
my $level1Title = $level1->[0];
print INDEX " <cms:folder label=\"$level1Title\" name=\"$level1Name\" oid=\"[com.arsdigita.cms.Folder:{id=$id}]\">\n";
$id++;
my $level2 = $level1->[1];
for my $level2Name (keys %{$level2}) {
my $level2Title = $level2->{$level2Name}->[0];
print INDEX " <cms:folder label=\"$level2Title\" name=\"$level2Name\" oid=\"[com.arsdigita.cms.Folder:{id=$id}]\">\n";
$id++;
my $level2Files = $level2->{$level2Name}->[1];
for my $importFile (@{$level2Files}) {
print INDEX " <cms:external source=\"$importFile\"/>\n";
}
print INDEX " </cms:folder>\n";
}
print INDEX " </cms:folder>\n";
}
print INDEX <<EOF
</cms:folder>
</cms:folder>
</imp:import>
EOF
;
close(INDEX);
# Convert the first argument into a filename-friendly format.
# The argument is lowercased, spaces and slashes are converted to
# hyphens, and special characters are removed.
sub toFilename {
my $result = lc(shift);
#$result =~ tr|/\\ *?!%^+=#"&:;,`~$'\s|\-\-\-|d;
$result =~ s/[^-a-zA-Z0-9_]/-/g;
# Replace any instances of "---" we may have generated, because
# 3 hyphens in a ro is just too much.
$result =~ s/-+/-/g;
#$result =~ s|---|--|g;
return $result;
}

View File

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:cms="http://www.arsdigita.com/cms/1.0"
xmlns:esd="http://www.esd.org.uk/standards"
xmlns="http://www.esd.org.uk/standards/esdbody"
version="1.0" exclude-result-prefixes="esd xsl">
<xsl:output method="xml"/>
<xsl:param name="esdID"/>
<xsl:template match="text()|comment()|processing-instruction()">
<xsl:copy/>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="esd:ServiceContent"/>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{name()}">
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
<xsl:template match="esd:ServiceContent">
<cms:item xmlns:cms="http://www.arsdigita.com/cms/1.0">
<xsl:attribute name="oid">
<xsl:value-of select="concat('[com.arsdigita.cms.contenttypes.ESDService:{id=', $esdID, '}]')"/>
</xsl:attribute>
<xsl:variable name="name">
<xsl:call-template name="ConvertToFilename">
<xsl:with-param name="name">
<xsl:value-of select="concat(esd:Name, '-', $esdID)"/>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<cms:name><xsl:value-of select="$name"/></cms:name>
<cms:language>en</cms:language>
<cms:title><xsl:value-of select="esd:Title"/></cms:title>
<xsl:apply-templates select="esd:Metadata">
<xsl:with-param name="name">
<xsl:value-of select="$name"/>
</xsl:with-param>
</xsl:apply-templates>
<cms:textAsset>
<xsl:attribute name="oid">
<xsl:value-of select="concat('[com.arsdigita.cms.TextAsset:{id=', $esdID, '}]')"/>
</xsl:attribute>
<cms:content>
<xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
<xsl:apply-templates select="esd:Body/*"/>
<xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
</cms:content>
</cms:textAsset>
<xsl:if test="//a[contains(@href, '.pdf') and not(starts-with(@href, 'http') or starts-with(@href, 'www.'))]">
<cms:links>
<xsl:attribute name="oid">
<xsl:value-of select="concat('[com.arsdigita.cms.contentassets.RelatedLink:{id=', $esdID, '}]')"/>
</xsl:attribute>
<cms:targetType>internalLink</cms:targetType>
<cms:linkOrder>1</cms:linkOrder>
<cms:linkTitle>PDF Form</cms:linkTitle>
<cms:targetItem>
<xsl:attribute name="oid">
<xsl:value-of select="concat('[com.arsdigita.cms.contenttypes.FileStorageItem:{id=', $esdID, '}]')"/>
</xsl:attribute>
</cms:targetItem>
</cms:links>
</xsl:if>
</cms:item>
</xsl:template>
<xsl:template match="esd:Metadata">
<xsl:param name="name"/>
<cms:dublinCore>
<xsl:attribute name="oid">
<xsl:value-of select="concat('[com.arsdigita.london.cms.dublin.DublinCoreItem:{id=', $esdID, '}]')"/>
</xsl:attribute>
<cms:name><xsl:value-of select="concat($name, '-dublin-metadata')"/></cms:name>
<cms:dcAudience><xsl:value-of select="esd:Audience"/></cms:dcAudience>
<cms:dcCoverage><xsl:value-of select="normalize-space(string(esd:Coverage.Spatial))"/></cms:dcCoverage>
<cms:dcCoveragePostcode></cms:dcCoveragePostcode>
<cms:dcCoverageSpatialRef></cms:dcCoverageSpatialRef>
<cms:dcCoverageUnit></cms:dcCoverageUnit>
<cms:dcDateValid></cms:dcDateValid>
<cms:dcDisposalReview></cms:dcDisposalReview>
<cms:dcLanguage>en</cms:dcLanguage>
<cms:dcTemporalBegin></cms:dcTemporalBegin>
<cms:dcTemporalEnd></cms:dcTemporalEnd>
<cms:dcCreatorOwner><xsl:value-of select="esd:Creator"/></cms:dcCreatorOwner>
<cms:dcCreatorContact><xsl:value-of select="esd:Creator"/></cms:dcCreatorContact>
<cms:dcPublisher><xsl:value-of select="esd:Publisher"/></cms:dcPublisher>
<cms:dcRights></cms:dcRights>
<cms:dcKeywords><xsl:value-of select="esd:Subject.Keyword"/></cms:dcKeywords>
</cms:dublinCore>
</xsl:template>
<!-- Convert the name to a filename-compatible format -->
<xsl:template name="ConvertToFilename">
<xsl:param name="name"/>
<xsl:call-template name="RemoveApos">
<xsl:with-param name="name" select="translate($name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ /\*?!#%^+=&#34;&#38;&#58;&#59;$,`~', 'abcdefghijklmnopqrstuvwxyz---')"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="RemoveApos">
<xsl:param name="name"/>
<xsl:call-template name="RemoveTripleHyphens">
<xsl:with-param name="name" select='translate($name, "&#39;", "")'/>
</xsl:call-template>
</xsl:template>
<xsl:template name="RemoveTripleHyphens">
<xsl:param name="name"/>
<xsl:choose>
<xsl:when test="contains($name, '---')">
<xsl:call-template name="RemoveTripleHyphens">
<xsl:with-param name="name" select="concat(substring-before($name, '---'), '--', substring-after($name, '---'))"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="a">
<xsl:choose>
<xsl:when test="starts-with(@href, 'http://') or starts-with(@href, '#')">
<a href="{@href}">
<xsl:apply-templates select="node()"/>
</a>
</xsl:when>
<xsl:when test="contains(@href, '.htm')">
<a href="/ccm/services/pid.jsp?pid={substring(@href, 0, string-length(@href) - 3)}">
<xsl:apply-templates select="node()"/>
</a>
</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,11 @@
To import this content, run:
ccm-run com.arsdigita.london.importer.cms.ItemImportTool ./items/index.xml ./items/ ./assets/
ccm-run com.arsdigita.london.terms.Importer ./items/term-mapping.xml
To publish this & any other content in the CMS, run
ccm-run com.arsdigita.london.util.cmd.BulkPublish
-- End

View File

@ -0,0 +1,37 @@
<!-- $Id: boilerplate-cm.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<legalnotice id="legalnotice">
<para>
&BOOKID;
</para>
<para>
For <xref linkend="pt-clumanager"> and <xref linkend="pt-appendixes">,
permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.1 or any later
version published by the Free Software Foundation. A copy of the license is
available at <ulink
url="http://www.gnu.org/licenses/fdl.html">http://www.gnu.org/licenses/fdl.html</ulink>.
The content described in this paragraph is copyrighted by <trademark
class="copyright"></trademark> Mission Critical Linux, Inc. (2000),
K.M. Sorenson (2000), and &FORMAL-RHI; (2000-2003).
</para>
<para>
This material in <xref linkend="pt-lvs"> may be distributed only subject to
the terms and conditions set forth in the Open Publication License, V1.0 or
later (the latest version is presently available at <ulink
url="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</ulink>).
Distribution of substantively modified versions of this material is
prohibited without the explicit permission of the copyright holder.
Distribution of the work or derivative of the work in any standard (paper)
book form for commercial purposes is prohibited unless prior permission is
obtained from the copyright holder. The content described in this paragraph
is copyrighted by <trademark class="copyright"></trademark> &FORMAL-RHI;
(2000-2003).
</para>
&BOILERPLATE-TRADEMARKS;
</legalnotice>

View File

@ -0,0 +1,123 @@
<!-- $Id: boilerplate-sh.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<legalnotice id="legalnotice">
<para>
&BOOKID;
</para>
<para>
Copyright <trademark class="copyright"></trademark> 2001, 2002 by
&FORMAL-RHI; This material may be distributed only subject to the terms and
conditions set forth in the Open Publication License, V1.0 or later (the
latest version is presently available at <ulink
url="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</ulink>).
</para>
<para>
Distribution of substantively modified versions of this document is
prohibited without the explicit permission of the copyright holder.
</para>
<para>
Distribution of the work or derivative of the work in any standard (paper)
book form for commercial purposes is prohibited unless prior permission is
obtained from the copyright holder.
</para>
<para>
The admonition graphics (note, tip, important, caution, and warning) were
created by Marianne Pecci <email>goddess@ipass.net</email>. They may be
redistributed with explicit permission from Marianne Pecci and Red Hat, Inc.
</para>
<para>
&RH;, &RHN;, the &RH; "Shadow Man" logo, RPM, Maximum RPM, the RPM logo, Linux
Library, PowerTools, Linux Undercover, RHmember, RHmember More, Rough Cuts,
Rawhide, C2Net and all &RH;-based trademarks and logos are trademarks or registered
trademarks of &FORMAL-RHI; in the United States and other countries.
</para>
<para>
Linux is a registered trademark of Linus Torvalds.
</para>
<para>
Motif and UNIX are registered trademarks of The Open Group.
</para>
<para>
Compaq and the names of Compaq products referenced herein are either
trademarks and/or service marks or registered trademarks and/or service
marks of Compaq.
</para>
<para>
Itanium is a registered trademark of Intel Corporation.
</para>
<para>
Netscape is a registered trademark of Netscape Communications Corporation in
the United States and other countries.
</para>
<para>
Windows is a registered trademark of Microsoft Corporation.
</para>
<para>
SSH and Secure Shell are trademarks of SSH Communications Security, Inc.
</para>
<para>
FireWire is a trademark of Apple Computer Corporation.
</para>
<para>
All other trademarks and copyrights referred to are the property of their
respective owners.
</para>
<para>
This manual, as well as the software described in it, is furnished under
license and may only be used or copied in accordance with the terms of such
license. The information in this manual is furnished for information use
only, is subject to change without notice, and should not be constructed as
a commitment by Red Hat, Inc. Red Hat assumes no responsibly or liability
for any errors or inaccuracies that may appear in this book.
</para>
<para>
Except as permitted by such license, no part of this publication may be
reproduced, stored in a retreival system, or transmitted, in any form or by
any means, electronic, mechanical, recording, or otherwise, without prior
written permission of Red Hat, Inc.
</para>
<para>
Portions of this manual were developed by the Apache Group, and are taken
with permission from the Apache 1.3 User s Guide at
http://www.apache.org/docs. Portions of this manual were developed by the
PHP Documentation Group, and are taken with permission from the PHP 1.3
Manual at http://www.php.net/manual.
</para>
<para>
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org). Some of the cryptographic
software in this product was written by Eric Young
(eay@cryptsoft.com). Remainder copyright C2Net Software, Inc., 1995, 1996,
1997, 1998, 1999, and 2000. All rights reserved.
</para>
<para>
Stronghold Web Server 3.0 Server Setup Guide version 3.0.2
</para>
<para>
Copyright 2001
</para>
<para>
All terms mentioned in this book that are known to be trademarks or service
marks have been approriately capitalized. Red Hat cannot attest to the
accuracy of this information. Use of a term in this book should not be
regarded as affecting the validity of any trademark or service mark.
</para>
</legalnotice>

View File

@ -0,0 +1,77 @@
<para>
&RH;, &RHN;, the &RH; "Shadow Man" logo, RPM, Maximum RPM, the RPM logo, Linux
Library, PowerTools, Linux Undercover, RHmember, RHmember More, Rough Cuts,
Rawhide and all &RH;-based trademarks and logos are trademarks or registered
trademarks of &FORMAL-RHI; in the United States and other countries.
</para>
<para>
Linux is a registered trademark of Linus Torvalds.
</para>
<para>
Motif and UNIX are registered trademarks of The Open Group.
</para>
<!-- bring back if we start writing the Alpha IG again
<para>
Compaq and the names of Compaq products referenced herein are either
trademarks and/or service marks or registered trademarks and/or service
marks of Compaq.
</para>
-->
<para>
Intel and Pentium are registered trademarks of Intel
Corporation. Itanium and Celeron are trademarks of Intel Corporation.
</para>
<para>
AMD, Opteron, Athlon, Duron, and K6 are registered trademarks of Advanced
Micro Devices, Inc.
</para>
<para>
Netscape is a registered trademark of Netscape Communications Corporation in
the United States and other countries.
</para>
<para>
Java and Swing are trademarks or registered trademarks of Sun Microsystems,
Inc. in the U.S. or other countries.
</para>
<para>
Oracle is a registered trademark, and Oracle8i, Oracle9i, and
<emphasis>inter</emphasis>Media are trademarks or registered trademarks of
Oracle Corporation.
</para>
<para>Microsoft and Windows are either registered trademarks or trademarks of
Microsoft Corporation in the United States and/or other countries.
</para>
<para>
SSH and Secure Shell are trademarks of SSH Communications Security, Inc.
</para>
<para>
FireWire is a trademark of Apple Computer Corporation.
</para>
<para>IBM, AS/400, OS/400, RS/6000, S/390, and zSeries are registered
trademarks of International Business Machines Corporation. eServer, iSeries,
and pSeries are trademarks of International Business Machines
Corporation.</para>
<para>
All other trademarks and copyrights referred to are the property of their
respective owners.
</para>
<para>
The GPG fingerprint of the security@redhat.com key is:
</para>
<para>
CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
</para>

View File

@ -0,0 +1,56 @@
<!-- $Id: boilerplate.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<legalnotice id="legalnotice">
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="./figs/rhl-common/rhlogo.eps"
format="eps"
scalefit="1">
</imageobject>
<imageobject>
<imagedata fileref="./figs/rhl-common/rhlogo.png">
</imageobject>
</inlinemediaobject>
&FORMAL-RHI;
</para>
<para>
<address>
<street>1801 Varsity Drive</street>
<city>Raleigh</city> <state>NC</state> <postcode>27606-2072</postcode> <country>USA</country>
<phone>Phone: +1 919 754 3700</phone>
<phone>Phone: 888 733 4281</phone>
<fax>Fax: +1 919 754 3701</fax>
<pob>PO Box 13588</pob>
<city>Research Triangle Park</city> <state>NC</state> <postcode>27709</postcode> <country>USA</country>
</address>
</para>
<para>
&BOOKID;
</para>
<para>
Copyright <trademark class="copyright"></trademark> 2004 by &FORMAL-RHI;
This material may be distributed only subject to the terms and conditions
set forth in the Open Publication License, V1.0 or later (the latest version
is presently available at <ulink
url="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</ulink>).
</para>
<para>
Distribution of substantively modified versions of this document is
prohibited without the explicit permission of the copyright holder.
</para>
<para>
Distribution of the work or derivative of the work in any standard (paper)
book form for commercial purposes is prohibited unless prior permission is
obtained from the copyright holder.
</para>
&BOILERPLATE-TRADEMARKS;
</legalnotice>

View File

@ -0,0 +1,112 @@
<sect1 id="s1-code-conventions">
<title>Code Presentation Conventions</title>
<para>In addition to the standard document conventions covered in <xref
linkend="s1-intro-conventions">, there are some additional conventions
related specifically to discussing source code:
</para>
<variablelist>
<varlistentry>
<term><classname>classname</classname></term>
<listitem>
<para>This is the name of a class in an object-oriented
(<firstterm>OO</firstterm>) programming language. For example, the
class
<classname>com.arsdigita.categorization.CategoryTreeNode</classname>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><methodname>method name</methodname></term>
<listitem>
<para>This is the name of a method in an OO programming language,
e.g. the method <methodname>getBaseDataObjectType</methodname>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><function>function</function></term>
<listitem>
<para>The name of a function or subroutine, as in a programming
language. For example, the function
<function>SecurityLogger.warn()</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>variable name</varname></term>
<listitem>
<para>The name of a variable. For example, the variable
<varname>BASE_DATA_OBJECT_TYPE</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>option</option></term>
<listitem>
<para>An option for a software command or
<methodname>Method</methodname>. For example, a user has been granted
<option>read</option> privileges on an object.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><returnvalue>return value</returnvalue></term>
<listitem>
<para>The value returned by a function. For example, a method returns
<returnvalue>null</returnvalue>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>replaceable</replaceable></term>
<listitem>
<para>Content that may, must or will be replaced by the user or a
program. For example, the code is commented with
<computeroutput>NOTE(<replaceable>n</replaceable>)</computeroutput>,
where <replaceable>n</replaceable> is the number of the
<computeroutput>NOTE</computeroutput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>program listing</term>
<listitem>
<para>A literal listing of all or part of a program. The
<computeroutput>\</computeroutput> character is used to break a line
for printing purposes. You will want to reconnect them back into a
single line, preserving the spacing in the line.
</para>
<programlisting>
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PermissionDescriptor;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
import com.arsdigita.persistence.OID;
OID acsObject = new OID("example.MyACSObject",
new BigDecimal(50));
OID party = new OID("com.arsdigita.kernel.Group", new BigDecimal(5));
PermissionDescriptor perm =
new PermissionDescriptor(PrivilegeDescriptor.READ,
acsObject, party);
PermissionService.grantPermission(perm);
</programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>first term</term>
<listitem>
<para>The first occurrence of a term, such as the first time we
introduce a <firstterm>bulletin-board</firstterm> and note its
abbreviated form, <firstterm>bboard</firstterm>.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>

View File

@ -0,0 +1,16 @@
<!-- $Id: cut-paste.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<sect1 id="s1-intro-copypaste">
<title>Copying and Pasting Text With X</title>
<indexterm>
<primary>copying and pasting text</primary>
<secondary>when using X</secondary>
</indexterm>
<para>
Copying and pasting text is easy using your mouse and the X Window
System. To copy text, simply click and drag your mouse over the text to
highlight it. To paste the text somewhere, click the middle mouse
button in the spot where the text should be placed.
</para>
</sect1>

View File

@ -0,0 +1,325 @@
<!-- $Id: doc-conventions.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<sect1 id="s1-intro-conventions">
<title>Document Conventions</title>
<para>
<indexterm>
<primary>conventions</primary>
<secondary>document</secondary>
</indexterm>
When you read this manual, certain words are represented
in different fonts, typefaces, sizes, and weights. This highlighting is
systematic; different words are represented in the same style to
indicate their inclusion in a specific category. The types of words
that are represented this way include the following:
</para>
<variablelist>
<varlistentry>
<term>
<command>command</command>
</term>
<listitem>
<para>Linux commands (and other operating system commands, when used)
are represented this way. This style should indicate to you that
you can type the word or phrase on the command line and press
<keycap>Enter</keycap> to invoke a command. Sometimes a command
contains words that would be displayed in a different style on their
own (such as file names). In these cases, they are considered to be
part of the command, so the entire phrase is displayed as a command.
For example:
</para>
<para>
Use the <command>cat testfile</command> command to view the
contents of a file, named <filename>testfile</filename>, in the
current working directory.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<filename>file name</filename>
</term>
<listitem>
<para>File names, directory names, paths, and RPM package names are
represented this way. This style should indicate that a
particular file or directory exists by that name on your system. Examples:
</para>
<para>
The <filename>.bashrc</filename> file in your home directory
contains bash shell definitions and aliases for your own use.
</para>
<para>
The <filename>/etc/fstab</filename> file contains information
about different system devices and file systems.
</para>
<para>
Install the <filename>webalizer</filename> RPM if you want to use
a Web server log file analysis program.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<application>application</application>
</term>
<listitem>
<para>This style indicates that the program is an end-user application
(as opposed to system software). For example:
</para>
<para>
Use <application>Mozilla</application> to browse
the Web.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<keycap>key</keycap>
</term>
<listitem>
<para>A key on the keyboard is shown in this style. For example:
</para>
<para>
To use <keycap>Tab</keycap> completion, type in a character and then
press the <keycap>Tab</keycap> key. Your terminal displays the list
of files in the directory that start with that letter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<keycombo>
<keycap>key</keycap>
<keycap>combination</keycap></keycombo>
</term>
<listitem>
<para>A combination of keystrokes is represented in this way. For
example:
</para>
<para>
The <keycombo> <keycap>Ctrl</keycap> <keycap>Alt</keycap>
<keycap>Backspace</keycap></keycombo> key combination exits your
graphical session and return you to the graphical login screen or
the console.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<guilabel>text found on a GUI interface</guilabel>
</term>
<listitem>
<para>A title, word, or phrase found on a GUI interface screen or
window is shown in this style. Text shown in this style is being
used to identify a particular GUI screen or an element on a GUI
screen (such as text associated with a checkbox or field). Example:
</para>
<para>
Select the <guilabel>Require Password</guilabel> checkbox if you
would like your screensaver to require a password before stopping.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<guimenu>top level of a menu on a GUI screen or window</guimenu>
</term>
<listitem>
<para>A word in this style indicates that the word is
the top level of a pulldown menu. If you click on the word on
the GUI screen, the rest of the menu should appear. For example:
</para>
<para>
Under <guimenu>File</guimenu> on a GNOME terminal, the
<guimenuitem>New Tab</guimenuitem> option allows you to open
multiple shell prompts in the same window.
</para>
<para>
If you need to type in a sequence of commands from a GUI menu,
they are shown like the following example:
</para>
<para>
Go to <guimenu>Main Menu Button</guimenu> (on the Panel) =>
<guimenu>Programming</guimenu> => <guimenuitem>Emacs</guimenuitem>
to start the <application>Emacs</application> text editor.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<guibutton>button on a GUI screen or window</guibutton>
</term>
<listitem>
<para>This style indicates that the text can be found on a clickable
button on a GUI screen. For example:
</para>
<para>
Click on the <guibutton>Back</guibutton> button to return to the
webpage you last viewed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>computer output</computeroutput>
</term>
<listitem>
<para>Text in this style indicates text displayed to a shell prompt
such as error messages and responses to commands. For example:
</para>
<para>
The <command>ls</command> command displays the contents of a
directory. For example:
</para>
<screen>
<computeroutput>
Desktop about.html logs paulwesterberg.png
Mail backupfiles mail reports
</computeroutput>
</screen>
<para>
The output returned in response to the command (in this case, the
contents of the directory) is shown in this style.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<prompt>prompt</prompt>
</term>
<listitem>
<para>A prompt, which is a computer's way of signifying that it is ready
for you to input something, is shown in this style.
Examples:
</para>
<para>
<prompt>$</prompt>
</para>
<para>
<prompt>#</prompt>
</para>
<para>
<prompt>[stephen@maturin stephen]$</prompt>
</para>
<para>
<prompt>leopard login:</prompt>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<userinput>user input</userinput>
</term>
<listitem>
<para>Text that the user has to type, either on the command line, or
into a text box on a GUI screen, is displayed in this style. In
the following example, <userinput>text</userinput> is displayed in
this style:
</para>
<para>
To boot your system into the text based installation program, you
must type in the <userinput>text</userinput> command at the
<prompt>boot:</prompt> prompt.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable>replaceable</replaceable></term>
<listitem>
<para>Text used for examples which is meant to be replaced with data
provided by the user is displayed in this style. In the following
example, <replaceable>&lt;version-number&gt;</replaceable> is displayed
in this style:</para>
<para>The directory for the kernel source is
<filename>/usr/src/<replaceable>&lt;version-number&gt;</replaceable>/</filename>,
where <replaceable>&lt;version-number&gt;</replaceable> is the version
of the kernel installed on this system.</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Additionally, we use several different strategies to draw your attention to
certain pieces of information. In order of how critical the information is
to your system, these items are marked as note, tip, important, caution,
or a warning. For example:
</para>
<note>
<title>Note</title>
<para>
Remember that Linux is case sensitive. In other words, a rose is not
a ROSE is not a rOsE.
</para>
</note>
<tip>
<title>Tip</title>
<para>
The directory <filename>/usr/share/doc/</filename> contains additional
documentation for packages installed on your system.
</para>
</tip>
<important>
<title>Important</title>
<para>
If you modify the DHCP configuration file, the changes will not take
effect until you restart the DHCP daemon.
</para>
</important>
<caution>
<title>Caution</title>
<para>
Do not perform routine tasks as root &mdash; use a regular user account
unless you need to use the root account for system administration tasks.
</para>
</caution>
<warning>
<title>Warning</title> <para>Be careful to remove only the necessary
&PROD; partitions. Removing other partitions could result in data loss or
a corrupted system environment.</para>
</warning>
</sect1>

View File

@ -0,0 +1,258 @@
<!-- $Id: rh-entities.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<!-- *************** Shorthand entities *************** -->
<!-- *************** Stuff likely to need changing from time to time *************** -->
<!-- RHL versions -->
<!ENTITY RHLVER "9.0.91" -- its version -->
<!-- RHN versions -->
<!ENTITY RHNVER "3.2"-- the Red Hat Network Basic User Reference Guide version -->
<!ENTITY RHNEVER "3.2"-- the Red Hat Network Workgroup User Reference
Guide version -->
<!-- RHEL versions -->
<!ENTITY RHELVER "3"-- the Red Hat Enterprise Linux version -->
<!ENTITY RHLIA64ASVER "2.1"-- the Red Hat Linux Advanced Server for the Itanium
Processor Installation and Configuration Guide version -->
<!ENTITY RHLIA64AWVER "2.1"-- the Red Hat Linux Advanced Workstation for the
Itanium Processor Installation and Configuration Guide version -->
<!ENTITY ORG "&RHIS;" -- The organization responsible for this manual -->
<!ENTITY LANG "EN" -- ISO Language abbreviation representing manual's language -->
<!-- *************** Setting up print/HTML procesing parameter entities *************** -->
<!ENTITY HTML "HTML" -- Document in HTML -->
<!ENTITY PRINT "Print" -- Document in print -->
<!-- Settings for print... -->
<![ %SET-FOR-PRINT [<!ENTITY % PRINTONLY "INCLUDE">]]>
<![ %SET-FOR-PRINT [<!ENTITY % HTMLONLY "IGNORE">]]>
<![ %SET-FOR-PRINT [<!ENTITY MEDIA "&PRINT;">]]>
<!-- Settings for HTML (or more accurately, not for print)... -->
<!ENTITY % PRINTONLY "IGNORE">
<!ENTITY % HTMLONLY "INCLUDE">
<!ENTITY MEDIA "&HTML;">
<!-- *************** Basic company/product names *************** -->
<!-- Company Names -->
<!ENTITY RH "Red Hat" -- The generic term "Red Hat" -->
<!ENTITY RHI "&RH;" -- The name of the company -->
<!ENTITY FORMAL-RHI "&RH;, Inc." -- Formal version -->
<!ENTITY RHIS "RHI" -- Shorthand version -->
<!-- Products -->
<!ENTITY RHL "&RH; Linux" -- The basic operating system -->
<!ENTITY RHEL "&RH; Enterprise Linux" -- The enterprise operating system -->
<!ENTITY RHLAS "&RHELAS" -- Advanced Server was renamed -->
<!ENTITY RHLAW "&RHELWS" -- Advanced Workstation was renamed -->
<!ENTITY RHCM "&RH; Cluster Manager" -- The Cluster Manager product -->
<!ENTITY RHCS "&RH; Cluster Suite" -- The layered cluster product -->
<!ENTITY RHGFS "&RH; GFS" -- The layered Sistina product -->
<!-- generic without arch -->
<!ENTITY RHELAS "&RHEL; AS" -- The RHEL AS product -->
<!ENTITY RHELWS "&RHEL; WS" -- The RHEL WS product -->
<!ENTITY RHELES "&RHEL; ES" -- The RHEL ES product -->
<!-- *************** Documentation-related entities *************** -->
<!ENTITY KERNVER "2.4.<replaceable>x</replaceable>" -- Referring to the kernel version, semi-generically -->
<!ENTITY RHELKERNVER "2.4.21-1.1931.2.399.ent" -- Used in buildkernel.sgml in CG; could change at
any time; use KERNVER unless you HAVE TO refer to the exact kernel version in RHL -->
<!-- *************** Installation Guides *************** -->
<!ENTITY IG "Installation Guide" -- Generic IG -->
<!ENTITY QIG "Quick &IG;" -- Generic Quick IG for media kits -->
<!-- RHL -->
<!ENTITY RHLIG "&RHL; &IG;" -- Generic RHL IG Reference -->
<!ENTITY RHLIGS "rhl-ig" -- Generic IG: shorthand version -->
<!ENTITY RHLIGX "&RHL; x86 &IG;" -- RHL x86 IG -->
<!ENTITY RHLIGXS "rhl-ig-x86" -- RHL x86 IG: shorthand version -->
<!ENTITY RHLIGA "&RHL; Alpha &IG;" -- Alpha IG -->
<!ENTITY RHLIGAS "rhl-ig-alpha" -- Alpha IG: shorthand version -->
<!ENTITY RHLIGIA64 "&RHL; Itanium &IG;" -- The Itanium IG -->
<!ENTITY RHLIA64S "rhl-ig-itanium" -- Itanium IG: shorthand version -->
<!ENTITY RHLIA64ASS "rhl-ig-as-itanium" -- IG: shorthand version -->
<!ENTITY RHLAWIG "&RHLAW; &IG;" -- The Itanium IG -->
<!ENTITY RHLIA64AWS "rhl-ig-aw-itanium" -- IG: shorthand version -->
<!ENTITY RHLIGS390 "&RHL; for S/390 &IG;" -- The S/390 IG -->
<!ENTITY RHLS390S "rhl-ig-s390" -- for S/390 IG: shorthand version -->
<!-- RHEL -->
<!ENTITY RHELIG "&RHEL; &IG;" -- Generic Ent IG -->
<!ENTITY RHELQIG "&RHEL; &QIG;" -- Generic Ent Quick IG for media kits -->
<!ENTITY X8664 "x86, <trademark>Itanium</trademark>, and AMD64" -- x8664 arch -->
<!ENTITY IGX8664 "&IG; for the &X8664; Architectures" -- X8664 Manual-->
<!ENTITY RHELIGX8664S "rhel-ig-x8664-multi" -- X8664 manual: shorthand version
-->
<!ENTITY QIGX8664 "&QIG; for the &X8664; Architectures" -- X8664 Manual-->
<!ENTITY RHELQIGX8664S "rhel-qig-x8664-multi" -- X8664 manual: shorthand version -->
<!ENTITY PPC "<trademark class='registered'>IBM</trademark> <trademark>eServer</trademark> <trademark>iSeries</trademark> and <trademark class='registered'>IBM</trademark> <trademark>eServer</trademark> <trademark>pSeries</trademark>" -- PPC multi arch -->
<!ENTITY IGPPC "&IG; for the &PPC; Architectures" -- PPC Manual-->
<!ENTITY RHELIGPPCS "rhel-ig-ppc-multi" -- PPC manual: shorthand version -->
<!ENTITY QIGPPC "&QIG; for the &PPC; Architectures" -- PPC Manual-->
<!ENTITY RHELQIGPPCS "rhel-qig-ppc-multi" -- PPC manual: shorthand version -->
<!ENTITY S390 "<trademark class='registered'>IBM</trademark> <trademark class='registered'>S/390</trademark> and <trademark class='registered'>IBM</trademark> <trademark>eServer</trademark> <trademark class='registered'>zSeries</trademark>" -- S390 multi arch -->
<!ENTITY IGS390 "&IG; for the &S390; Architectures" -- S390 Manual-->
<!ENTITY RHELIGS390S "rhel-ig-s390-multi" -- S390 manual: shorthand version -->
<!ENTITY QIGS390 "&QIG; for the &S390; Architectures" -- S390 Manual-->
<!ENTITY RHELQIGS390S "rhel-qig-s390-multi" -- S390 manual: shorthand version -->
<!-- *************** End of Installation Guides *************** -->
<!ENTITY SBS "Step By Step Guide" -- only use in title of manual -->
<!ENTITY RHELSBS "&RHEL; &SBS;" -- use when referencing it in other manuals -->
<!ENTITY RHELSBSS "rhl-sbs" -- Shorthand version, must match bugzilla component name -->
<!ENTITY RG "Reference Guide" -- only use in title of manual -->
<!ENTITY RHELRG "&RHEL; &RG;" -- use when referencing it in other manuals -->
<!ENTITY RHELRGS "rhel-rg" -- shorthand version, must match bugzilla component name -->
<!ENTITY SAG "System Administration Guide" -- only use in title of manual, formerly the Customization Guide -->
<!ENTITY RHELSAG "&RHEL; &SAG;" -- use when referencing it in other manuals -->
<!ENTITY RHELSAGS "rhel-sag" -- shorthand version, must match bugzilla component name -->
<!ENTITY SG "Security Guide" -- only use in title of manual -->
<!ENTITY RHELSG "&RHEL; &SG;" -- use when referencing it in other manuals -->
<!ENTITY RHELSGS "rhel-sg" -- shorthand version, must match bugzilla component name -->
<!ENTITY ISA "Introduction to System Administration" -- only use in title of manual, formerly the SA Primer -->
<!ENTITY RHELISA "&RHEL; &ISA;" -- use when referencing it in other manuals -->
<!ENTITY RHELISAS "rhel-isa" -- shorthand version, must match bugzilla component name -->
<!ENTITY DG "Developer Guide" -- only use in title of manual -->
<!ENTITY RHELDG "&RHEL; &DG; " -- use when referencing it in other manuals -->
<!ENTITY RHELDGS "rhel-dg" -- shorthand version, must match bugzilla component name -->
<!ENTITY NG "Networking Guide" -- only use in title of manual -->
<!ENTITY RHELNG "&RHEL; &NG;" -- use when referencing it in other manuals -->
<!ENTITY RHELNGS "rhel-ng" -- shorthand version, must match bugzilla component name -->
<!ENTITY CMIAG "Configuring and Managing a Cluster" -- only use in title of manual -->
<!ENTITY RHCSG "&RHCS; &CMIAG;" -- use when referencing it in other manuals -->
<!ENTITY RHCSGS "rh-cs" -- shorthand version, must match bugzilla component name -->
<!ENTITY GFSIAG "Administrator's Guide" -- only use in the title of manual -->
<!ENTITY RHGFSG "&RHGFS; &GFSIAG" -- use when referencing it in other manuals -->
<!ENTITY RHGFSGS "rh-gfsg" -- shorthand version, must match bugzilla component name -->
<!ENTITY GFSICO "Installing and Configuring Oracle9i RAC with GFS" -- only use in the title of manual -->
<!ENTITY RHGFSOG "&RHGFS; &GFSICO" -- use when referencing it in other manuals -->
<!ENTITY RHGFSOGS "rh-gfsog" -- shorthand version, must match bugzilla component name -->
<!-- Install class names -->
<!-- FIXME: What have these been renamed to? -->
<!ENTITY RHLASIC "Advanced Server" -- Advanced Server install class-->
<!ENTITY RHLAWIC "Advanced Workstation" -- Advanced Workstation install class-->
<!ENTITY RHELASIC "Server" -- AS install class-->
<!ENTITY RHELWSIC "Workstation" -- WS install class-->
<!ENTITY RHELESIC "Server" -- ES install class-->
<!-- Changeable Terms Used in RHEL manual -->
<!ENTITY PIRANHA "Piranha Configuration Tool">
<!ENTITY PIRANHA-VER "piranha-0.7.0-1">
<!ENTITY PIRANHA-386-RPM "piranha-0.7.0-1.i386.rpm">
<!ENTITY SHARED-SCSI-386-RPM "scsi_reserve-0.7-6.i386.rpm">
<!ENTITY IPVS-386-RPM "ipvsadm-1.18-8.i386.rpm">
<!ENTITY CLUMANAGER-386-RPM "clumanager-1.0.4-1.i386.rpm">
<!-- Red Hat Network -->
<!ENTITY RHN "Red Hat Network" -- RHN documentation -->
<!ENTITY RHNRC "Red Hat Network Registration Client" -- RHN documentation -->
<!ENTITY RHNCC "Red Hat Network Configuration Client" -- RHN documentation -->
<!ENTITY RHNCM "Red Hat Network Configuration Manager" -- RHN documentation -->
<!ENTITY RHUA "Red Hat Update Agent" -- RHN documentation -->
<!ENTITY RHNAPPLET "&RHN; Alert Notification Tool" -- RHN documentation -->
<!ENTITY RHND "Red Hat Network Daemon" -- RHN documentation -->
<!ENTITY DEMO "Demo" -- RHN documentation -->
<!ENTITY BC "Update" -- RHN documentation -->
<!ENTITY ENT "Management" -- RHN documentation -->
<!ENTITY ENONLY "Management RHN" -- To be used on exclusive screenshots -->
<!ENTITY PRO "Provisioning" -- RHN documentation -->
<!ENTITY PROXY "RHN Proxy Server" -- use this to be consistent -->
<!ENTITY SAT "RHN Satellite Server" -- use this to be consistent -->
<!ENTITY OA "Organization Administrator" -- RHN Enterprise documentation -->
<!ENTITY SSM "System Set Manager" -- RHN Enterprise documentation -->
<!-- *************** Generic housekeeping stuff *************** -->
<!ENTITY BOOKID "&SHORT-TITLE;(&LANG)-&PRODVER;-&MEDIA;-&ORG; (&BOOKDATE;)" -- The book ID -->
<!-- *************** Frontmatter boilerplate *************** -->
<!ENTITY BOILERPLATE SYSTEM "boilerplate.sgml">
<!ENTITY BOILERPLATE-CM SYSTEM "boilerplate-cm.sgml">
<!ENTITY BOILERPLATE-TRADEMARKS SYSTEM "boilerplate-trademarks.sgml">
<!-- *************** Common introduction sections *************** -->
<!ENTITY CONVENTIONS SYSTEM "doc-conventions.sgml">
<!ENTITY WEBSITE-REFERENCES SYSTEM "website-references.sgml">
<!ENTITY CUTPASTE SYSTEM "cut-paste.sgml">
<!ENTITY SUPPORT SYSTEM "support.sgml">
<!ENTITY USINGMOUSE SYSTEM "using-mouse.sgml">
<!-- *************** Application Names *************** -->
<!ENTITY RHSETUPAGENT "Setup Agent" -- redhat-setup-agent -->
<!ENTITY RHUSERTOOL "User Manager" -- redhat-config-users -->
<!ENTITY RHKBDTOOL "Keyboard Configuration Tool" -- redhat-config-keyboard -->
<!ENTITY RHXFREE86TOOL "X Configuration Tool" -- redhat-config-xfree86 -->
<!ENTITY RHLANGTOOL "Language Configuration Tool" -- redhat-config-language -->
<!ENTITY RHMOUSETOOL "Mouse Configuration Tool" -- redhat-config-mouse -->
<!ENTITY RHLOGTOOL "Log Viewer" -- redhat-logviewer -->
<!ENTITY RHNETWORKTOOL "Network Administration Tool" -- redhat-config-network -->
<!ENTITY RHNFSTOOL "NFS Server Configuration Tool" -- redhat-config-nfs -->
<!ENTITY RHPRINTERTOOL "Printer Configuration Tool" -- redhat-config-printer -->
<!ENTITY RHROOTPASSTOOL "Root Password Tool" -- redhat-config-rootpassword -->
<!ENTITY RHSAMBATOOL "Samba Server Configuration Tool" -- redhat-config-samba -->
<!ENTITY RHSWITCHMAIL "Mail Transport Agent Switcher" -- redhat-switchmail -->
<!ENTITY RHSECLEVELTOOL "Security Level Configuration Tool" -- redhat-config-securitylevel -->
<!ENTITY RHSWITCHPRINTER "Printer System Switcher" -- redhat-switch-printer -->
<!ENTITY RHSOUNDTOOL "Sound Card Configuration Tool" -- redhat-config-soundcard -->
<!ENTITY RHDATETOOL "Time and Date Properties Tool" -- redhat-config-date -->
<!ENTITY RHKSTOOL "Kickstart Configurator" --redhat-config-kickstart -->
<!ENTITY RHSERVICESTOOL "Services Configuration Tool" -- redhat-config-services -->
<!ENTITY RHHTTPDTOOL "HTTP Configuration Tool" -- redhat-config-httpd -->
<!ENTITY HTTPD "Apache HTTP Server" -- Apache HTTP Server -->
<!ENTITY RHBINDTOOL "Domain Name Service Configuration Tool" -- redhat-config-bind -->
<!ENTITY RHHWTOOL "Hardware Browser" -- hwbrowser -->
<!ENTITY RHRPMTOOL "Package Management Tool" -- redhat-config-packages -->
<!ENTITY RHAUTHTOOL "Authentication Configuration Tool" -- authconfig GTK
application -->
<!ENTITY RHCLUSTERTOOL "Cluster Configuration Tool" -- redhat-config-cluster -->
<!ENTITY RHCLUSTERSTATTOOL "Cluster Status Tool" -- redhat-config-cluster -->
<!ENTITY RHAUTHTOOL-CMD "authconfig-gtk" -- authconfig GUI command -->
<!ENTITY RHAUTHTOOL-CMD-TUI "authconfig" -- authconfig TUI command -->
<!ENTITY RHNETBOOTTOOL "Network Booting Tool" -- redhat-config-netboot -->

View File

@ -0,0 +1,229 @@
<!-- $Id: rhea-colophon.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<colophon id="colophon">
<para>The &PROD; manuals are written in DocBook SGML v4.1 format. The HTML
and PDF formats are produced using custom DSSSL stylesheets and custom
jade wrapper scripts. The DocBook SGML files are primarily written in
<application>Emacs</application> with the help of PSGML mode; additional
authoring and editing has been done with <application>vi</application>
using macros and key mappings.
</para>
<para>Garrett LeSage created the admonition graphics (note, tip, important,
caution, and warning). They may be freely redistributed with the &RH;
documentation.
</para>
<para>The &PROD; Product Documentation Team is:
</para>
<para>
<author>
<firstname>Karsten</firstname>
<surname>Wade</surname>
<affiliation>
<jobtitle>Senior Technical Writer</jobtitle>
</affiliation>
</author> &mdash; Primary Writer/Maintainer of &RHEA; documentation for
&RHWAFX; and &RHECMSX;, for example the <citetitle>&RHWAFIG;</citetitle>,
the <citetitle>&RHWAFDG;</citetitle>, and the
<citetitle>&RHECMSDPG;</citetitle>.
</para>
<para>
<author>
<firstname>Char</firstname>
<surname>James-Tanny</surname>
<affiliation>
<jobtitle>Technical Writer</jobtitle>
</affiliation>
</author> &mdash; Writer of the <citetitle>&RHECMSAG;</citetitle> and the
<citetitle>&RHECMSUG;</citetitle>.
</para>
<para>The &PROD; Product Development Team made significant contributions to
the constructing, authoring, and editing of the entire line of &PROD;
documentation.
</para>
<itemizedlist>
<listitem>
<para>
<author>
<firstname>Archit</firstname>
<surname>Shah</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Bryan</firstname>
<surname>Che</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Dan</firstname>
<surname>Berrange</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Dennis</firstname>
<surname>Gregorovic</surname>
<affiliation>
<jobtitle>Senior Release Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Jon</firstname>
<surname>Orris</surname>
<affiliation>
<jobtitle>Senior QA Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Jim</firstname>
<surname>Parsons</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Justin</firstname>
<surname>Ross</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Rafael</firstname>
<surname>Schloming</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Richard</firstname>
<surname>Li</surname>
<affiliation>
<jobtitle>Director of Software Engineering</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Richard</firstname>
<surname>Su</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Scott</firstname>
<surname>Seago</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Vadim</firstname>
<surname>Nasardinov</surname>
<affiliation>
<jobtitle>Senior Software Engineer</jobtitle>
</affiliation>
</author>
</para>
</listitem>
</itemizedlist>
<para>None of the &PROD; documentation would be possible without the
extremely able assistance of the &RHI; Documentation Technical Lead,
<author>
<firstname>John</firstname>
<surname>Ha</surname>
<affiliation>
<jobtitle>Product Documentation Technical Lead</jobtitle>
</affiliation>
</author>.
</para>
<para>The &PROD; documentation has descended from guides originally written
for ArsDigita. The words, images, and ideas live on from these
contributors:
</para>
<itemizedlist>
<listitem>
<para>
<author>
<firstname>Bob</firstname>
<surname>Donald</surname>
</author>
</para>
</listitem>
<listitem>
<para>
<author>
<firstname>Pete</firstname>
<surname>Su</surname>
</author>
</para>
</listitem>
</itemizedlist>
<!-- translators can add their names here -->
<!-- if you do, uncomment the following paragraph -->
<!--
<para>To make the &PROD; documentation accessible to a worldwide audience,
we rely upon our excellent team of translators:
</para>
-->
</colophon>

View File

@ -0,0 +1,136 @@
<!-- $Id: rhea-entities.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<!-- This is the entities file unique to the RHEA product line. -->
<!-- Unique naming will be used with an eye on clarity and future merging into -->
<!-- the regular rh-sgml/rh-entities.sgml file -->
<!ENTITY PROD "&RHEA;" -- The product line for these manuals -->
<!-- *************** Set general product name *************** -->
<!ENTITY RHEA "Red Hat Applications" -- The product chain for this manual
DEPRECATED -->
<!ENTITY RHA "Red Hat Applications" -- The product chain for this manual -->
<!ENTITY BOILERPLATE-RHA SYSTEM "./boilerplate-rha.sgml">
<!-- *************** Set general entity abbreviations *************** -->
<!ENTITY IG "Installation Guide" -- Abbrev. guide types -->
<!ENTITY DG "Developer Guide" -- Abbrev. guide types -->
<!ENTITY DPG "Deployment Guide" -- Abbrev. guide types -->
<!ENTITY AG "Administrator Guide" -- Abbrev. guide types -->
<!ENTITY UG "User Guide" -- Abbrev. guide types -->
<!ENTITY HG "Hackers Guide" -- Abbrev. guide types -->
<!ENTITY UH "User Help" -- Abbrev. guide types -->
<!ENTITY RN "Release Notes" -- Abbrev. guide types -->
<!-- *************** Web Application Framework (WAF) *************** -->
<!ENTITY WAF "Web Application Framework" -- product name -->
<!ENTITY WAFX "WAF" -- product name short version -->
<!ENTITY RHWAF "&RH; &WAF;" -- long product name -->
<!ENTITY RHWAFX "&RH; &WAFX;" -- short product name -->
<!ENTITY RHWAFVER "&LOCALVER;" -- The version of WAF pulled from the parent file -->
<!ENTITY RHWAFIG "&RH; &WAF; &IG;" -- The WAF Installation Guide -->
<!ENTITY RHWAFIGX "&WAFX; &IG;" -- The short title of the
Installation Guide -->
<!ENTITY RHWAFIGXS "rhea-ig-waf-en" -- Special short title -->
<!ENTITY RHWAFDG "&RH; &WAF; &DG;" -- The WAF Developer Guide -->
<!ENTITY RHWAFDGX "&WAFX; &DG;" -- The short title of the
Developer Guide -->
<!ENTITY RHWAFDGXS "rhea-dg-waf-en" -- Special short title -->
<!ENTITY RHWAFDPG "&RH; &WAFX; &DPG;" -- RHEA WAF Deployment Guide -->
<!ENTITY RHWAFDPGX "&WAFX; &DPG;" -- Deployment Guide Short Title -->
<!ENTITY RHWAFDPGXS "rhea-dpg-waf-en" -- Deployment Guide Special Short Title -->
<!ENTITY RHWAFRN "&RH; &WAF; &RN;" -- long release notes -->
<!ENTITY RHWAFRNX "&RH; &WAFX; &RN;" -- short release notes -->
<!ENTITY RHWAFRNXS "rhea-rn-waf-en" -- Special short title -->
<!-- *************** Content Management System (CMS) *************** -->
<!ENTITY CMS "Content Management System" -- product name -->
<!ENTITY CMSX "CMS" -- product name short version -->
<!ENTITY RHECMS "&RHI; &CMS;" -- long product name -->
<!ENTITY RHECMSX "&RHI; &CMSX;" -- short product name -->
<!ENTITY RHECMSVER "&LOCALVER;" -- The version of CMS pulled from the parent file -->
<!ENTITY RHECMSDG "&RHI; &CMS; &DG;" -- The CMS Developer Guide -->
<!ENTITY RHECMSDGX "&CMSX; &DG;" -- The short title of the
Developer Guide -->
<!ENTITY RHECMSDGXS "rhea-dg-cms-en" -- Special short title -->
<!ENTITY RHECMSDPG "&RHECMS; &DPG;" -- RHE CMS Deployment Guide -->
<!ENTITY RHECMSDPGX "&CMSX; &DPG;" -- Deployment Guide Short Title -->
<!ENTITY RHECMSDPGXS "rhea-dpg-cms-en" -- Deployment Guide Special Short Title -->
<!ENTITY RHECMSRN "&RHI; &CMS; &RN;" -- long release notes -->
<!ENTITY RHECMSNX "&RHI; &CMSX; &RN;" -- short release notes -->
<!ENTITY RHECMSRNXS "rhea-rn-cms-en" -- Special short title -->
<!ENTITY RHECMSAG "&RHI; &CMS; &AG;" -- The CMS Administrator Guide -->
<!ENTITY RHECMSAGX "&CMSX; &AG;" -- The short title of the Administrators Guide -->
<!ENTITY RHECMSAGXS "rhea-ag-cms-en" -- Special short title -->
<!ENTITY RHECMSUG "&RHI; &CMS; &UG;" -- The CMS User Guide -->
<!ENTITY RHECMSUGX "&CMSX; &UG;" -- The short title of the User Guide -->
<!ENTITY RHECMSUGXS "rhea-ug-cms-en" -- Special short title -->
<!-- *************** Portal Server (PS) *************** -->
<!ENTITY PSRV "Portal Server" -- product name for Portal Server -->
<!ENTITY RHEPSRV "&RHI; &PSRV;" -- only product name -->
<!ENTITY RHEPSRVVER "&LOCALVER;" -- The version of Portal Server -->
<!ENTITY RHEPSRVDPG "&RHI; &PSRV; &DPG;" -- RHEA Portal Server Deployment Guide Long Title-->
<!ENTITY RHEPSRVDPGXS "rhea-dpg-psrv-en" -- Deployment Guide special short title
-->
<!ENTITY RHEPSRVDG "&RHEPSRV; &DG;" -- Developer Guide -->
<!ENTITY RHEPSRVDGX "&PSRV; &DG;" -- Developer Guide short title -->
<!ENTITY RHEPSRVDGXS "rhea-dg-psrv-en" -- Developer Guide special short title -->
<!ENTITY RHEPSRVRN "&RHEPSRV; &RN;" -- the release notes -->
<!ENTITY RHEPSRVRNX "&PSRV; &RN;" -- the release notes short title -->
<!ENTITY RHEPSRVRNXS "rhea-rn-psrv-en" -- release notes special short title -->
<!ENTITY RHEPSRVAG "&RHEPSRV; &AG;" -- Administrator Guide -->
<!ENTITY RHEPSRVAGX "&PSRV; &AG;" -- Administrator Guide -->
<!ENTITY RHEPSRVAGXS "rhea-ag-psrv-en" -- Administrator Guide special short title -->
<!-- *************** Collaboration Suite *************** -->
<!ENTITY CA "Collaboration Applications" -- Collaboration Suite product name -->
<!ENTITY RHCA "&RHI; &CA;" -- Collaboration Suite add-on product -->
<!ENTITY RHCAVER "&LOCALVER;" -- product version -->
<!ENTITY RHCARN "&RHI; &CA; &RN;" -- release notes -->
<!ENTITY RHECARNXS "rhea-rn-psrv-en" -- release notes special short title -->
<!-- *************** Other RHEA Entities *************** -->
<!ENTITY WAFJAVADOCURL "http://rhea.redhat.com/documentation/api/ccm-core-6.1.0" --
base URL for all JavaDoc references -->
<!ENTITY CMSJAVADOCURL "http://rhea.redhat.com/documentation/api/ccm-cms-6.1.0" --
base URL for all JavaDoc references -->
<!ENTITY PSRVJAVADOCURL "http://rhea.redhat.com/documentation/api/ccm-portalserver-1.0.0" --
base URL for all JavaDoc references -->
<!-- *************** Entities to Merge Elsewhere *************** -->
<!ENTITY RHEN "&RH; Network" -- Red Hat Network DEPRECATED -->
<!ENTITY RHENX "RHN" -- Red Hat Network short version DEPRECATED -->
<!ENTITY RHN "&RH; Network" -- Red Hat Network real entity -->
<!ENTITY RHNX "RHN" -- Red Hat Network short version real entity -->
<!ENTITY PROXY "&RHENX; Proxy Server" -- use this to be consistent -->
<!ENTITY SAT "&RHENX; Satellite Server" -- use this to be consistent -->
<!ENTITY RHDB "&RH; Database" -- Red Hat Database -->
<!ENTITY RHDBVER "2.1" -- Red Hat Database version -->
<!ENTITY PG "PostgreSQL">
<!-- ******* Crufty But Required To Keep Doxen From Breaking ******** -->
<!-- ************** CCM Entities ***************** -->
<!ENTITY CCM "Content and Collaboration Management" -- CCM base entity -->
<!ENTITY CCMX "CCM" -- CCM base entity short version -->
<!ENTITY RHCCMWCMSVER "1.3" -- current WCMS version -->
<!ENTITY RHCCMT "&RHCCM; Training" -- CCM Training manual -->
<!ENTITY RHCCM "&RH; Content and Collaboration Management" -- the Content and Collaboration Management product -->
<!ENTITY RHCCMWCMSSAG "&RHCCM; WCMS Systems Administrators Guide" -- WCMS SA Guide -->
<!ENTITY RHCCMWCMSSAGS "rhccm-wcms-sag" -- SAG manual: shorthand version -->
<!ENTITY RHCCMWCMSDG "&RHCCM; WCMS Developers Guide" -- WCMS Devel Guide -->
<!ENTITY RHCCMWCMSDGS "rhccm-wcms-dg" -- Devel Guide: shorthand version -->
<!ENTITY RHCCMWCMSUG "&RHCCM; WCMS Users Guide" -- WCMS User Guide -->
<!ENTITY RHCCMWCMSUGS "rhccm-wcms-ug" -- User Guide: shorthand version -->

View File

@ -0,0 +1,29 @@
<!-- $Id: support.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<sect1 id="s1-register">
<title>Sign Up for Support</title>
<para>If you have a variant of &PROD; &PRODVER;, please remember to sign up
for the benefits you are entitled to as a &RH; customer.
</para>
<para>Registration enables access to the &RH; Services you have purchased,
such as technical support and &RHN;. To register your product, go to:</para>
<screen>
<ulink url="http://www.redhat.com/apps/activate/">http://www.redhat.com/apps/activate/</ulink>
</screen>
<note>
<title>Note</title> <para>You must activate your product before attempting
to connect to &RHN;. If your product has not been activated, &RHN; rejects
registration to channels to which the system is not entitled.
</para>
</note>
<para>Good luck, and thank you for choosing &PROD;!</para>
<para>
<emphasis>The &RH; Documentation Team</emphasis>
</para>
</sect1>

View File

@ -0,0 +1,37 @@
<!-- $Id: using-mouse.sgml 287 2005-02-22 00:29:02Z sskracic $ -->
<sect1 id="s1-intro-mouse">
<title>Using the Mouse</title>
<indexterm>
<primary>mouse</primary>
<secondary>how to use</secondary>
</indexterm>
<para>
&PROD; is designed to use a three-button mouse. If you have a two-button
mouse, you should have selected three-button emulation during the
installation process. If you're using three-button emulation, pressing
both mouse buttons at the same time equates to pressing the missing
third (middle) button.
</para>
<para>
In this document, if you are instructed to click with the mouse on
something, that means click the left mouse button. If you need to use
the middle or right mouse button, that will be explicitly stated.
(This will be reversed if you've configured your mouse to be used by a
left handed person.)
</para>
<para>
<indexterm>
<primary>drag and drop</primary>
</indexterm>
The phrase "drag and drop" may be familiar to you. If you're instructed
to drag and drop an item on your GUI desktop, click on something and
hold the mouse button down. While continuing to hold down the mouse
button, drag the item by moving the mouse to a new location. When
you've reached the desired location, release the mouse button to drop
the item.
</para>
</sect1>

View File

@ -0,0 +1,23 @@
<servlet>
<servlet-name>TextOnlyServlet</servlet-name>
<display-name>Text Only Servlet</display-name>
<servlet-class>
com.arsdigita.web.InternalPrefixerServlet
</servlet-class>
<init-param>
<param-name>prefix</param-name>
<param-value>/text</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>PrintFriendlyServlet</servlet-name>
<display-name>Printer Friendly Output Servlet</display-name>
<servlet-class>
com.arsdigita.web.InternalPrefixerServlet
</servlet-class>
<init-param>
<param-name>prefix</param-name>
<param-value>/print</param-value>
</init-param>
</servlet>

View File

@ -0,0 +1,10 @@
<servlet-mapping>
<servlet-name>TextOnlyServlet</servlet-name>
<url-pattern>/text/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PrintFriendlyServlet</servlet-name>
<url-pattern>/print/*</url-pattern>
</servlet-mapping>

View File

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : domain-nav-iaw-1.00.xml
Created on : 3. Sept. 2009, 10:00
Author : pb
Description:
Definition of the terms (categories) in the SHP Navigation Menue.
In hierarchy-nav-shp the structure of the tree will be defined.
-->
<terms:domain xmlns:terms="http://xmlns.redhat.com/london/terms/1.0"
about="http://www.aplaws.org.uk/standards/nav/1.03/termslist.xml"
key="IAW-NAV"
title="IAW Navigation List"
version="1.00" released="2009-08-31">
<terms:term id="1000" name="Forschungsfelder / Leitthemen" inAtoZ="false"/>
<terms:term id="1200" name="Governance" inAtoZ="false"/>
<terms:term id="1220" name="Wirtschaft" inAtoZ="false"/>
<terms:term id="1240" name="Arbeit" inAtoZ="false"/>
<terms:term id="1260" name="Stadt / Region" inAtoZ="false"/>
<terms:term id="1400" name="Maritime Strukturen" inAtoZ="false"/>
<terms:term id="1420" name="Schiffbau" inAtoZ="false"/>
<terms:term id="1440" name="Meerespolitik" inAtoZ="false"/>
<terms:term id="3000" name="Forschungseinheiten" inAtoZ="false"/>
<terms:term id="3200" name="FeA" inAtoZ="false"/>
<terms:term id="3400" name="FeWiF" inAtoZ="false"/>
<terms:term id="3600" name="FeS" inAtoZ="false"/>
<terms:term id="3800" name="FeQua" inAtoZ="false"/>
<terms:term id="5000" name="Projekte" inAtoZ="false"/>
<terms:term id="7000" name="Veröffentlichungen" inAtoZ="false"/>
<terms:term id="7200" name="Publikationen" inAtoZ="false"/>
<terms:term id="7400" name="Schriftenreihe" inAtoZ="false"/>
<terms:term id="7600" name="Arbeits- und Forschungsberichte" inAtoZ="false"/>
<terms:term id="7800" name="Jahresberichte" inAtoZ="false"/>
<terms:term id="8000" name="Sonstige Veröffentlichungen" inAtoZ="false"/>
<terms:term id="9000" name="Veranstaltungen" inAtoZ="false"/>
<terms:term id="9200" name="Kolloquium" inAtoZ="false"/>
<terms:term id="11000" name="Das Institut" inAtoZ="false"/>
<terms:term id="11200" name="Kontakt" inAtoZ="false"/>
<terms:term id="11400" name="Geschichte" inAtoZ="false"/>
<terms:term id="11600" name="Mitglieder" inAtoZ="false"/>
<terms:term id="11800" name="Organisation" inAtoZ="false"/>
<terms:term id="12000" name="Verwaltung" inAtoZ="false"/>
<terms:term id="12200" name="IT Bereich" inAtoZ="false"/>
<terms:term id="12400" name="Netzwerke" inAtoZ="false"/>
<terms:term id="12600" name="DEG" inAtoZ="false"/>
</terms:domain>

View File

@ -0,0 +1,247 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : hierarchy-nav-iaw-1.00.xml
Created on : 3. Sept. 2009, 10:30
Author : pb
Description:
Purpose of the document follows.
-->
<terms:hierarchy xmlns:terms="http://xmlns.redhat.com/london/terms/1.0">
<terms:domain resource="http://www.aplaws.org.uk/standards/nav/1.03/termslist.xml"/>
<!-- set root terms -->
<terms:term id="1000"/>
<terms:term id="3000"/>
<terms:term id="5000"/>
<terms:term id="7000"/>
<terms:term id="9000"/>
<terms:term id="11000"/>
<!-- id=1000 narrower terms, first level -->
<terms:orderedPair>
<terms:source>
<terms:term id="1000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="1200"/>
</terms:destination>
</terms:orderedPair>
<!-- narrower terms, second level -->
<terms:orderedPair>
<terms:source>
<terms:term id="1200"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="1220"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="1200"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="1240"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="1200"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="1260"/>
</terms:destination>
</terms:orderedPair>
<!-- narrower terms, first level -->
<terms:orderedPair>
<terms:source>
<terms:term id="1000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="1400"/>
</terms:destination>
</terms:orderedPair>
<!-- narrower terms, second level -->
<terms:orderedPair>
<terms:source>
<terms:term id="1400"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="1420"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="1400"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="1440"/>
</terms:destination>
</terms:orderedPair>
<!-- id=3000 narrower terms, first level -->
<terms:orderedPair>
<terms:source>
<terms:term id="3000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="3200"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="3000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="3400"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="3000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="3600"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="3000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="3800"/>
</terms:destination>
</terms:orderedPair>
<!-- id=7000 narrower terms, first level -->
<terms:orderedPair>
<terms:source>
<terms:term id="7000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="7200"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="7000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="7400"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="7000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="7600"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="7000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="7800"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="7000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="8000"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="7000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="7200"/>
</terms:destination>
</terms:orderedPair>
<!-- id=9000 narrower terms, first level -->
<terms:orderedPair>
<terms:source>
<terms:term id="9000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="9200"/>
</terms:destination>
</terms:orderedPair>
<!-- id=11000 narrower terms, first level -->
<terms:orderedPair>
<terms:source>
<terms:term id="11000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="11200"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="11000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="11400"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="11000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="11600"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="11000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="11800"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="11000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="12000"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="11000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="12200"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="11000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="12400"/>
</terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source>
<terms:term id="11000"/>
</terms:source>
<terms:destination isDefault="true" isPreferred="true">
<terms:term id="12600"/>
</terms:destination>
</terms:orderedPair>
</terms:hierarchy>

View File

@ -0,0 +1,151 @@
<?xml version="1.0"?>
<terms:domain xmlns:terms="http://xmlns.redhat.com/london/terms/1.0"
about="http://www.aplaws.org.uk/standards/nav/1.03/termslist.xml"
key="APLAWS-NAV"
title="APLAWS Navigation List"
version="1.03" released="2004-03-24">
<terms:term id="1" name="Business" inAtoZ="false"/>
<terms:term id="1007" name="Jobs and careers" inAtoZ="false"/>
<terms:term id="1021" name="Legal services" inAtoZ="false"/>
<terms:term id="1039" name="Leisure and culture" inAtoZ="false"/>
<terms:term id="1286" name="Policing and public safety" inAtoZ="false"/>
<terms:term id="1325" name="Social issues" inAtoZ="false"/>
<terms:term id="1337" name="Transport and streets" inAtoZ="false"/>
<terms:term id="204" name="Education and learning" inAtoZ="false"/>
<terms:term id="281" name="Environment" inAtoZ="false"/>
<terms:term id="3088" name="Council, government and democracy" inAtoZ="false"/>
<terms:term id="3168" name="Obsolete terms" inAtoZ="false"/>
<terms:term id="596" name="Health and social care" inAtoZ="false"/>
<terms:term id="93" name="Community and living" inAtoZ="false"/>
<terms:term id="946" name="Housing" inAtoZ="false"/>
<terms:term id="11" name="Business promotion" inAtoZ="false"/>
<terms:term id="15" name="Business property" inAtoZ="false"/>
<terms:term id="1523" name="Business procurement" inAtoZ="false"/>
<terms:term id="21" name="Business sectors and services" inAtoZ="false"/>
<terms:term id="3100" name="Workers' co-operatives" inAtoZ="false"/>
<terms:term id="3300" name="Business and street trading licences" inAtoZ="false"/>
<terms:term id="3323" name="Business support and advice" inAtoZ="false"/>
<terms:term id="3329" name="Imports and exports" inAtoZ="false"/>
<terms:term id="5" name="Business finance" inAtoZ="false"/>
<terms:term id="59" name="Economic development" inAtoZ="false"/>
<terms:term id="62" name="Employing people" inAtoZ="false"/>
<terms:term id="66" name="Health and safety" inAtoZ="false"/>
<terms:term id="70" name="Trading standards" inAtoZ="false"/>
<terms:term id="8" name="Business opportunities" inAtoZ="false"/>
<terms:term id="1008" name="Finding work" inAtoZ="false"/>
<terms:term id="1017" name="Retirement" inAtoZ="false"/>
<terms:term id="1026" name="Legal advice" inAtoZ="false"/>
<terms:term id="1029" name="Courts" inAtoZ="false"/>
<terms:term id="1037" name="Probation" inAtoZ="false"/>
<terms:term id="1308" name="Police" inAtoZ="false"/>
<terms:term id="1309" name="Prisons" inAtoZ="false"/>
<terms:term id="1326" name="Equal opportunities" inAtoZ="false"/>
<terms:term id="2083" name="Legislation" inAtoZ="false"/>
<terms:term id="3025" name="Civil and human rights" inAtoZ="false"/>
<terms:term id="3441" name="Legal professions" inAtoZ="false"/>
<terms:term id="3442" name="Young offending" inAtoZ="false"/>
<terms:term id="1041" name="Arts and entertainment" inAtoZ="false"/>
<terms:term id="1098" name="Children's activities" inAtoZ="false"/>
<terms:term id="1102" name="Libraries" inAtoZ="false"/>
<terms:term id="1106" name="Local history and heritage" inAtoZ="false"/>
<terms:term id="1113" name="Hobbies and interests" inAtoZ="false"/>
<terms:term id="1132" name="Parks and recreation" inAtoZ="false"/>
<terms:term id="1164" name="Social clubs" inAtoZ="false"/>
<terms:term id="1165" name="Sports" inAtoZ="false"/>
<terms:term id="1248" name="Tourism and travel" inAtoZ="false"/>
<terms:term id="1258" name="Uniformed groups" inAtoZ="false"/>
<terms:term id="1261" name="Young people's activities" inAtoZ="false"/>
<terms:term id="1482" name="Museums and galleries" inAtoZ="false"/>
<terms:term id="1287" name="Accidents, emergencies and safety" inAtoZ="false"/>
<terms:term id="1298" name="Coastguard" inAtoZ="false"/>
<terms:term id="1299" name="Crime and law enforcement" inAtoZ="false"/>
<terms:term id="1310" name="Victim support" inAtoZ="false"/>
<terms:term id="1311" name="Discrimination or harassment" inAtoZ="false"/>
<terms:term id="3454" name="Fire fighting and rescue services" inAtoZ="false"/>
<!-- bug: this appears twice (look up a bit)
<terms:term id="1326" name="Equal opportunities" inAtoZ="false"/>
-->
<terms:term id="1327" name="Identity cards" inAtoZ="false"/>
<terms:term id="1328" name="Immigration and nationality" inAtoZ="false"/>
<terms:term id="1329" name="Sexual orientation" inAtoZ="false"/>
<terms:term id="1331" name="Firearms" inAtoZ="false"/>
<terms:term id="1332" name="Population and migration" inAtoZ="false"/>
<terms:term id="1333" name="Privacy and data protection" inAtoZ="false"/>
<terms:term id="1335" name="Rural communities" inAtoZ="false"/>
<terms:term id="1336" name="Social inclusion" inAtoZ="false"/>
<terms:term id="697" name="Family planning" inAtoZ="false"/>
<terms:term id="1352" name="Public rights of way" inAtoZ="false"/>
<terms:term id="1353" name="Motor vehicles, roads and parking" inAtoZ="false"/>
<terms:term id="1388" name="Public transport" inAtoZ="false"/>
<terms:term id="1402" name="Road and pathway maintenance" inAtoZ="false"/>
<terms:term id="1424" name="Transport planning" inAtoZ="false"/>
<terms:term id="3457" name="Ports and harbours" inAtoZ="false"/>
<terms:term id="3459" name="Waterways" inAtoZ="false"/>
<terms:term id="3461" name="Reservoirs" inAtoZ="false"/>
<terms:term id="205" name="Educational institutions" inAtoZ="false"/>
<terms:term id="206" name="Distance learning" inAtoZ="false"/>
<terms:term id="212" name="Language tuition" inAtoZ="false"/>
<terms:term id="219" name="Adult and community education" inAtoZ="false"/>
<terms:term id="2237" name="Teaching" inAtoZ="false"/>
<terms:term id="238" name="Work based learning" inAtoZ="false"/>
<terms:term id="280" name="Youth service" inAtoZ="false"/>
<terms:term id="3008" name="Higher education" inAtoZ="false"/>
<terms:term id="3345" name="Home education" inAtoZ="false"/>
<terms:term id="3346" name="School library service" inAtoZ="false"/>
<terms:term id="3347" name="Schools and colleges" inAtoZ="false"/>
<terms:term id="3359" name="Education welfare services" inAtoZ="false"/>
<terms:term id="3366" name="Youth support" inAtoZ="false"/>
<terms:term id="3440" name="Job training and development" inAtoZ="false"/>
<terms:term id="284" name="Animal welfare" inAtoZ="false"/>
<terms:term id="3374" name="Land and premises" inAtoZ="false"/>
<terms:term id="3379" name="Pests and nuisance" inAtoZ="false"/>
<terms:term id="3391" name="Pollution" inAtoZ="false"/>
<terms:term id="3393" name="Street care and cleaning" inAtoZ="false"/>
<terms:term id="3400" name="Town centre management" inAtoZ="false"/>
<terms:term id="347" name="Food production and quality" inAtoZ="false"/>
<terms:term id="372" name="Planning" inAtoZ="false"/>
<terms:term id="409" name="Energy" inAtoZ="false"/>
<terms:term id="420" name="Rubbish, waste and recycling" inAtoZ="false"/>
<terms:term id="451" name="Weather" inAtoZ="false"/>
<terms:term id="13" name="Information management" inAtoZ="false"/>
<terms:term id="3116" name="Democratic processes and events" inAtoZ="false"/>
<terms:term id="3344" name="Data protection and freedom of information" inAtoZ="false"/>
<terms:term id="454" name="Central government" inAtoZ="false"/>
<terms:term id="459" name="Councils" inAtoZ="false"/>
<terms:term id="524" name="Elections" inAtoZ="false"/>
<terms:term id="552" name="European affairs" inAtoZ="false"/>
<terms:term id="566" name="International affairs" inAtoZ="false"/>
<terms:term id="569" name="Non-governmental organisations" inAtoZ="false"/>
<terms:term id="584" name="Political parties" inAtoZ="false"/>
<terms:term id="592" name="Public services" inAtoZ="false"/>
<terms:term id="593" name="Regional governments" inAtoZ="false"/>
<terms:term id="178" name="Village newsletters" inAtoZ="false"/>
<terms:term id="462" name="Council documents, facts and figures" inAtoZ="false"/>
<terms:term id="514" name="Petitions" inAtoZ="false"/>
<terms:term id="515" name="Surveys" inAtoZ="false"/>
<terms:term id="597" name="Health and medical care" inAtoZ="false"/>
<terms:term id="631" name="Disabilities" inAtoZ="false"/>
<terms:term id="856" name="Social policy" inAtoZ="false"/>
<terms:term id="860" name="Social services" inAtoZ="false"/>
<terms:term id="107" name="Ethnic communities" inAtoZ="false"/>
<terms:term id="1302" name="Community safety" inAtoZ="false"/>
<terms:term id="1527" name="Life events" inAtoZ="false"/>
<terms:term id="182" name="Twinning" inAtoZ="false"/>
<terms:term id="184" name="Voluntary organisations" inAtoZ="false"/>
<terms:term id="201" name="Volunteering" inAtoZ="false"/>
<terms:term id="3013" name="Neighbourhood and village" inAtoZ="false"/>
<terms:term id="3101" name="Interpreters' services" inAtoZ="false"/>
<terms:term id="3118" name="Charities and citizens' interest groups" inAtoZ="false"/>
<terms:term id="3330" name="Community grants" inAtoZ="false"/>
<terms:term id="3332" name="Faiths, beliefs and religions" inAtoZ="false"/>
<terms:term id="95" name="Consumer advice and protection" inAtoZ="false"/>
<terms:term id="1627" name="Supported and sheltered housing" inAtoZ="false"/>
<terms:term id="2639" name="Private housing" inAtoZ="false"/>
<terms:term id="3424" name="Housing associations and co-operatives" inAtoZ="false"/>
<terms:term id="3426" name="Housing finance" inAtoZ="false"/>
<terms:term id="3430" name="Housing improvement and repairs" inAtoZ="false"/>
<terms:term id="3438" name="Multiple occupancy homes" inAtoZ="false"/>
<terms:term id="952" name="Housing advice" inAtoZ="false"/>
<terms:term id="960" name="Council housing" inAtoZ="false"/>
</terms:domain>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<terms:mapping xmlns:terms="http://xmlns.redhat.com/london/terms/1.0">
<terms:source>
<terms:domain resource="http://www.esd.org.uk/standards/lgcl/1.03/termslist.xml"/>
</terms:source>
<terms:destination>
<terms:domain resource="http://www.aplaws.org.uk/standards/nav/1.03/termslist.xml"/>
</terms:destination>
<terms:orderedPair>
<terms:source><terms:term id="1"/></terms:source>
<terms:destination><terms:term id="1"/></terms:destination>
</terms:orderedPair>
<terms:orderedPair>
<terms:source><terms:term id="1007"/></terms:source>
<terms:destination><terms:term id="1007"/></terms:destination>
</terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1021"/></terms:source><terms:destination><terms:term id="1021"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1039"/></terms:source><terms:destination><terms:term id="1039"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1286"/></terms:source><terms:destination><terms:term id="1286"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1325"/></terms:source><terms:destination><terms:term id="1325"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1337"/></terms:source><terms:destination><terms:term id="1337"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="204"/></terms:source><terms:destination><terms:term id="204"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="281"/></terms:source><terms:destination><terms:term id="281"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3088"/></terms:source><terms:destination><terms:term id="3088"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3168"/></terms:source><terms:destination><terms:term id="3168"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="596"/></terms:source><terms:destination><terms:term id="596"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="93"/></terms:source><terms:destination><terms:term id="93"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="946"/></terms:source><terms:destination><terms:term id="946"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="11"/></terms:source><terms:destination><terms:term id="11"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="15"/></terms:source><terms:destination><terms:term id="15"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1523"/></terms:source><terms:destination><terms:term id="1523"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="21"/></terms:source><terms:destination><terms:term id="21"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3100"/></terms:source><terms:destination><terms:term id="3100"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3300"/></terms:source><terms:destination><terms:term id="3300"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3323"/></terms:source><terms:destination><terms:term id="3323"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3329"/></terms:source><terms:destination><terms:term id="3329"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="5"/></terms:source><terms:destination><terms:term id="5"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="59"/></terms:source><terms:destination><terms:term id="59"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="62"/></terms:source><terms:destination><terms:term id="62"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="66"/></terms:source><terms:destination><terms:term id="66"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="70"/></terms:source><terms:destination><terms:term id="70"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="8"/></terms:source><terms:destination><terms:term id="8"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1008"/></terms:source><terms:destination><terms:term id="1008"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1017"/></terms:source><terms:destination><terms:term id="1017"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1026"/></terms:source><terms:destination><terms:term id="1026"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1029"/></terms:source><terms:destination><terms:term id="1029"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1037"/></terms:source><terms:destination><terms:term id="1037"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1308"/></terms:source><terms:destination><terms:term id="1308"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1309"/></terms:source><terms:destination><terms:term id="1309"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1326"/></terms:source><terms:destination><terms:term id="1326"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="2083"/></terms:source><terms:destination><terms:term id="2083"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3025"/></terms:source><terms:destination><terms:term id="3025"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3441"/></terms:source><terms:destination><terms:term id="3441"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3442"/></terms:source><terms:destination><terms:term id="3442"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1041"/></terms:source><terms:destination><terms:term id="1041"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1098"/></terms:source><terms:destination><terms:term id="1098"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1102"/></terms:source><terms:destination><terms:term id="1102"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1106"/></terms:source><terms:destination><terms:term id="1106"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1113"/></terms:source><terms:destination><terms:term id="1113"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1132"/></terms:source><terms:destination><terms:term id="1132"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1164"/></terms:source><terms:destination><terms:term id="1164"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1165"/></terms:source><terms:destination><terms:term id="1165"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1248"/></terms:source><terms:destination><terms:term id="1248"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1258"/></terms:source><terms:destination><terms:term id="1258"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1261"/></terms:source><terms:destination><terms:term id="1261"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1482"/></terms:source><terms:destination><terms:term id="1482"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1287"/></terms:source><terms:destination><terms:term id="1287"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1298"/></terms:source><terms:destination><terms:term id="1298"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1299"/></terms:source><terms:destination><terms:term id="1299"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1310"/></terms:source><terms:destination><terms:term id="1310"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1311"/></terms:source><terms:destination><terms:term id="1311"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3454"/></terms:source><terms:destination><terms:term id="3454"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1326"/></terms:source><terms:destination><terms:term id="1326"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1327"/></terms:source><terms:destination><terms:term id="1327"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1328"/></terms:source><terms:destination><terms:term id="1328"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1329"/></terms:source><terms:destination><terms:term id="1329"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1331"/></terms:source><terms:destination><terms:term id="1331"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1332"/></terms:source><terms:destination><terms:term id="1332"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1333"/></terms:source><terms:destination><terms:term id="1333"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1335"/></terms:source><terms:destination><terms:term id="1335"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1336"/></terms:source><terms:destination><terms:term id="1336"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="697"/></terms:source><terms:destination><terms:term id="697"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1352"/></terms:source><terms:destination><terms:term id="1352"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1353"/></terms:source><terms:destination><terms:term id="1353"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1388"/></terms:source><terms:destination><terms:term id="1388"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1402"/></terms:source><terms:destination><terms:term id="1402"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1424"/></terms:source><terms:destination><terms:term id="1424"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3457"/></terms:source><terms:destination><terms:term id="3457"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3459"/></terms:source><terms:destination><terms:term id="3459"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3461"/></terms:source><terms:destination><terms:term id="3461"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="205"/></terms:source><terms:destination><terms:term id="205"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="206"/></terms:source><terms:destination><terms:term id="206"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="212"/></terms:source><terms:destination><terms:term id="212"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="219"/></terms:source><terms:destination><terms:term id="219"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="2237"/></terms:source><terms:destination><terms:term id="2237"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="238"/></terms:source><terms:destination><terms:term id="238"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="280"/></terms:source><terms:destination><terms:term id="280"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3008"/></terms:source><terms:destination><terms:term id="3008"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3345"/></terms:source><terms:destination><terms:term id="3345"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3346"/></terms:source><terms:destination><terms:term id="3346"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3347"/></terms:source><terms:destination><terms:term id="3347"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3359"/></terms:source><terms:destination><terms:term id="3359"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3366"/></terms:source><terms:destination><terms:term id="3366"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3440"/></terms:source><terms:destination><terms:term id="3440"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="284"/></terms:source><terms:destination><terms:term id="284"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3374"/></terms:source><terms:destination><terms:term id="3374"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3379"/></terms:source><terms:destination><terms:term id="3379"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3391"/></terms:source><terms:destination><terms:term id="3391"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3393"/></terms:source><terms:destination><terms:term id="3393"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3400"/></terms:source><terms:destination><terms:term id="3400"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="347"/></terms:source><terms:destination><terms:term id="347"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="372"/></terms:source><terms:destination><terms:term id="372"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="409"/></terms:source><terms:destination><terms:term id="409"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="420"/></terms:source><terms:destination><terms:term id="420"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="451"/></terms:source><terms:destination><terms:term id="451"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="13"/></terms:source><terms:destination><terms:term id="13"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3116"/></terms:source><terms:destination><terms:term id="3116"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3344"/></terms:source><terms:destination><terms:term id="3344"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="454"/></terms:source><terms:destination><terms:term id="454"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="459"/></terms:source><terms:destination><terms:term id="459"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="524"/></terms:source><terms:destination><terms:term id="524"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="552"/></terms:source><terms:destination><terms:term id="552"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="566"/></terms:source><terms:destination><terms:term id="566"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="569"/></terms:source><terms:destination><terms:term id="569"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="584"/></terms:source><terms:destination><terms:term id="584"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="592"/></terms:source><terms:destination><terms:term id="592"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="593"/></terms:source><terms:destination><terms:term id="593"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="178"/></terms:source><terms:destination><terms:term id="178"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="462"/></terms:source><terms:destination><terms:term id="462"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="514"/></terms:source><terms:destination><terms:term id="514"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="515"/></terms:source><terms:destination><terms:term id="515"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="597"/></terms:source><terms:destination><terms:term id="597"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="631"/></terms:source><terms:destination><terms:term id="631"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="856"/></terms:source><terms:destination><terms:term id="856"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="860"/></terms:source><terms:destination><terms:term id="860"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="107"/></terms:source><terms:destination><terms:term id="107"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1302"/></terms:source><terms:destination><terms:term id="1302"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1527"/></terms:source><terms:destination><terms:term id="1527"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="182"/></terms:source><terms:destination><terms:term id="182"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="184"/></terms:source><terms:destination><terms:term id="184"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="201"/></terms:source><terms:destination><terms:term id="201"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3013"/></terms:source><terms:destination><terms:term id="3013"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3101"/></terms:source><terms:destination><terms:term id="3101"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3118"/></terms:source><terms:destination><terms:term id="3118"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3330"/></terms:source><terms:destination><terms:term id="3330"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3332"/></terms:source><terms:destination><terms:term id="3332"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="95"/></terms:source><terms:destination><terms:term id="95"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="1627"/></terms:source><terms:destination><terms:term id="1627"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="2639"/></terms:source><terms:destination><terms:term id="2639"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3424"/></terms:source><terms:destination><terms:term id="3424"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3426"/></terms:source><terms:destination><terms:term id="3426"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3430"/></terms:source><terms:destination><terms:term id="3430"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="3438"/></terms:source><terms:destination><terms:term id="3438"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="952"/></terms:source><terms:destination><terms:term id="952"/></terms:destination></terms:orderedPair>
<terms:orderedPair><terms:source><terms:term id="960"/></terms:source><terms:destination><terms:term id="960"/></terms:destination></terms:orderedPair>
</terms:mapping>

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:terms="http://xmlns.redhat.com/london/terms/1.0">
<xsl:template match="terms:domain">
<terms:mapping xmlns:terms="http://xmlns.redhat.com/london/terms/1.0">
<terms:source>
<terms:domain resource="http://www.esd.org.uk/standards/lgcl/1.03/termslist.xml"/>
</terms:source>
<terms:destination>
<terms:domain resource="http://www.aplaws.org.uk/standards/nav/1.03/termslist.xml"/>
</terms:destination>
<xsl:apply-templates />
</terms:mapping>
</xsl:template>
<xsl:template match="terms:term">
<terms:orderedPair>
<terms:source>
<terms:term>
<xsl:attribute name="id">
<xsl:value-of select="@id" />
</xsl:attribute>
</terms:term>
</terms:source>
<terms:destination>
<terms:term>
<xsl:attribute name="id">
<xsl:value-of select="@id" />
</xsl:attribute>
</terms:term>
</terms:destination>
</terms:orderedPair>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,44 @@
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:define="/WEB-INF/bebop-define.tld"
xmlns:show="/WEB-INF/bebop-show.tld"
version="1.2">
<jsp:directive.page
import="com.arsdigita.london.navigation.NavigationModel,
com.arsdigita.london.navigation.cms.CMSNavigationModel"/>
<jsp:declaration>
NavigationModel model = new CMSNavigationModel();
</jsp:declaration>
<define:page name="itemPage" application="content-section"
title="APLAWS" cache="true">
<define:component name="categoryPath"
classname="com.arsdigita.london.navigation.ui.category.Path"/>
<jsp:scriptlet>
((com.arsdigita.london.navigation.ui.category.Path)categoryPath)
.setModel(model);
</jsp:scriptlet>
<define:component name="categoryMenu"
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
<jsp:scriptlet>
((com.arsdigita.london.navigation.ui.category.Menu)categoryMenu)
.setModel(model);
</jsp:scriptlet>
<define:component name="itemXML"
classname="com.arsdigita.cms.dispatcher.ContentPanel"/>
<define:component name="sectionXML"
classname="com.arsdigita.cms.contenttypes.ui.mparticle.ArticleSectionPanel"/>
<define:component name="relatedItems"
classname="com.arsdigita.london.navigation.ui.RelatedItems"/>
<define:component name="assignedTerms"
classname="com.arsdigita.aplaws.ui.AssignedItemTerms"/>
</define:page>
<show:all/>
</jsp:root>

View File

@ -0,0 +1,44 @@
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:define="/WEB-INF/bebop-define.tld"
xmlns:show="/WEB-INF/bebop-show.tld"
version="1.2">
<jsp:directive.page
import="com.arsdigita.london.navigation.NavigationModel,
com.arsdigita.london.navigation.cms.CMSNavigationModel"/>
<jsp:declaration>
NavigationModel model = new CMSNavigationModel();
</jsp:declaration>
<define:page name="SiteProxyItemPage" application="content"
title="CMS" cache="true">
<define:component name="categoryPath"
classname="com.arsdigita.london.navigation.ui.category.Path"/>
<jsp:scriptlet>
((com.arsdigita.london.navigation.ui.category.Path)categoryPath)
.setModel(model);
</jsp:scriptlet>
<define:component name="categoryMenu"
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
<jsp:scriptlet>
((com.arsdigita.london.navigation.ui.category.Menu)categoryMenu)
.setModel(model);
</jsp:scriptlet>
<define:component name="itemXML"
classname="com.arsdigita.cms.dispatcher.ContentPanel"/>
<define:component name="siteProxyItemXML"
classname="com.arsdigita.cms.dispatcher.SiteProxyPanel"/>
<define:component name="relatedItems"
classname="com.arsdigita.london.navigation.ui.RelatedItems"/>
<define:component name="assignedTerms"
classname="com.arsdigita.aplaws.ui.AssignedItemTerms"/>
</define:page>
<show:all/>
</jsp:root>

View File

@ -0,0 +1,37 @@
# -*- text -*-
# This file locates stylesheets, if you are using the
# "PatternStylesheetResolver". Please read the Javadoc for that file for
# the full story.
# Output type is for things such as text/javascript
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::-::outputtype::-::locale::.xsl
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::-::outputtype::.xsl
# Grabs custom item xsl for CMS
http://::host::/__ccm__/servlet/content-item/index.xsl?oid=::item_template_oid::&delegated=::item_delegated_url::
# added by Quasimodo
# Theme with single entry point (e.g Mandalay)
http://::host::/resource/::webapp::/__ccm__/::themedir::/::theme::/start.xsl
# Theme, with optional locale & prefix
http://::host::/resource/::webapp::/__ccm__/::themedir::/::theme::/::application::-::url::-::prefix::-::locale::.xsl
http://::host::/resource/::webapp::/__ccm__/::themedir::/::theme::/::application::-::url::-::prefix::.xsl
# Theme, with optional locale
http://::host::/resource/::webapp::/__ccm__/::themedir::/::theme::/::application::-::url::-::locale::.xsl
http://::host::/resource/::webapp::/__ccm__/::themedir::/::theme::/::application::-::url::.xsl
# APLAWS generic default, with locale and prefix
# XXX change ROOT -> ccm-ldn-aplaws
http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::url::-::prefix::-::locale::.xsl
http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::url::-::prefix::.xsl
# APLAWS generic default, with locale
# XXX change ROOT -> ccm-ldn-aplaws
http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::url::-::locale::.xsl
http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::url::.xsl
# Global default, from application's own web app
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::-::locale::.xsl
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::.xsl

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<registry>
<config class="com.arsdigita.aplaws.AplawsConfig"
storage="ccm-iaw-aplaws/aplaws.properties"/>
</registry>

View File

@ -0,0 +1,22 @@
<load>
<requires>
<table name="inits"/>
<table name="acs_objects"/>
<initializer class="com.arsdigita.core.Initializer"/>
<table name="cms_items"/>
<initializer class="com.arsdigita.cms.Initializer"/>
<initializer class="com.arsdigita.london.terms.Initializer"/>
<initializer class="com.arsdigita.london.subsite.Initializer"/>
<initializer class="com.arsdigita.london.portal.Initializer"/>
<initializer class="com.arsdigita.london.search.Initializer"/>
</requires>
<provides>
<!--
<table name=""/>
-->
<initializer class="com.arsdigita.aplaws.Initializer"/>
</provides>
<scripts>
<data class="com.arsdigita.aplaws.Loader"/>
</scripts>
</load>

View File

@ -0,0 +1,38 @@
/*
* Copyright (C) 2002-2005 Runtime Collective Ltd. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package com.arsdigita.aplaws;
import org.apache.log4j.Logger;
public class Aplaws {
public static final String versionId =
"$Id: Aplaws.java 1297 2006-08-25 18:17:50Z apevec $";
private static final Logger LOG = Logger.getLogger(Aplaws.class);
private static AplawsConfig aplawsConfig = new AplawsConfig();
static {
aplawsConfig.load();
}
public static final AplawsConfig getAplawsConfig() {
return aplawsConfig;
}
}

Some files were not shown because too many files have changed in this diff Show More