Quasi's Bundle
git-svn-id: https://svn.libreccm.org/ccm/trunk@1405 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
bc257ca637
commit
cfc341c617
|
|
@ -0,0 +1,5 @@
|
||||||
|
2011-09-15:
|
||||||
|
===========
|
||||||
|
|
||||||
|
Initial Release, based on ccm-ldn-aplaws which tailors CCM for use by UK
|
||||||
|
Local Authorities.
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||||
|
name="ccm-quasi-bundle"
|
||||||
|
prettyName="Scientific CMS based on CCM"
|
||||||
|
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-navigation" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-portalworkspace" version="6.6.1" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-subsite" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-ldn-search" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-ldn-terms" version="6.6.0" relation="ge"/>
|
||||||
|
</ccm:dependencies>
|
||||||
|
|
||||||
|
<ccm:directories>
|
||||||
|
<!-- pdl is empty and not used, buf required because we use sql for
|
||||||
|
some update3 scripts. -->
|
||||||
|
<ccm:directory name="pdl"/>
|
||||||
|
<ccm:directory name="src"/>
|
||||||
|
<ccm:directory name="sql"/>
|
||||||
|
</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 CCM software to use for scientific
|
||||||
|
research organisations creating Scientific CMS.
|
||||||
|
- 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/.../bundle)
|
||||||
|
- provide a default theme, which meets accessibility requirements and
|
||||||
|
overwrites the default, table based design (cf. web/.../themes)
|
||||||
|
|
||||||
|
CCM 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>
|
||||||
|
|
@ -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.
|
||||||
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
BUNDLE_NAME=aplaws-plus-zes-devel
|
||||||
|
BUNDLE_PRETTY_NAME="APLAWS+ ZeS Devel Bundle"
|
||||||
|
VERSION=1.1.2devel
|
||||||
|
RELEASE=1
|
||||||
|
|
@ -0,0 +1,126 @@
|
||||||
|
# Scientific CMS devel bundle integration.properties
|
||||||
|
#
|
||||||
|
waf.bebop.base_page=com.arsdigita.aplaws.ui.SimplePage
|
||||||
|
waf.categorization.show_internal_name=true
|
||||||
|
waf.dispatcher.default_expiry=60
|
||||||
|
|
||||||
|
waf.kernel.data_permission_check_enabled=false
|
||||||
|
waf.kernel.primary_user_identifier=email
|
||||||
|
waf.kernel.supported_languages=de,en
|
||||||
|
waf.kernel.language_independent_item=true
|
||||||
|
;waf.kernel.language_independent_code=de
|
||||||
|
|
||||||
|
; security.properties:
|
||||||
|
waf.auto_registration_on=false
|
||||||
|
|
||||||
|
; Searches for localized style sheet (among others)
|
||||||
|
waf.templating.stylesheet_resolver=com.arsdigita.templating.PatternStylesheetResolver
|
||||||
|
waf.templating.stylesheet_paths=/WEB-INF/resources/scientificCMS-stylesheet-paths.txt
|
||||||
|
|
||||||
|
core.ui.pagemap.root_page_url=navigation/
|
||||||
|
core.ui.pagemap.workspace_url=navigation/
|
||||||
|
core.ui.pagemap.user_redirect_url=content/content-center-redirect.jsp
|
||||||
|
|
||||||
|
; workflow configuration
|
||||||
|
waf.workflow.simple.alerts_enabled=true
|
||||||
|
waf.workflow.simple.alerts_sender=root@localhost.localdomain
|
||||||
|
|
||||||
|
; Configures the xml processing
|
||||||
|
waf.xml.xsl_transformer=xalan
|
||||||
|
waf.xml.activate_full_date_formatter=true
|
||||||
|
|
||||||
|
# ccm-cms parameters
|
||||||
|
|
||||||
|
com.arsdigita.cms.category_authoring_add_form=com.arsdigita.aplaws.ui.ItemCategoryPicker
|
||||||
|
|
||||||
|
com.arsdigita.cms.default_folder_template_path=/default/aplaws-folder.jsp
|
||||||
|
com.arsdigita.cms.default_item_template_path=/default/aplaws-item.jsp
|
||||||
|
com.arsdigita.cms.default_template_resolver_class=com.arsdigita.subsite.dispatcher.SubsiteItemTemplateResolver
|
||||||
|
|
||||||
|
; Configure dhtml editor for use in cms content-center
|
||||||
|
com.arsdigita.cms.dhtml_editor_config=Xinha.Config,/assets/xinha/CCMcmsXinhaConfig.js
|
||||||
|
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=false
|
||||||
|
com.arsdigita.cms.hide_templates_tab=false
|
||||||
|
com.arsdigita.cms.hide_timezone=false
|
||||||
|
com.arsdigita.cms.hide_udct_ui=false
|
||||||
|
|
||||||
|
com.arsdigita.cms.use_section_categories=false
|
||||||
|
com.arsdigita.cms.use_streamlined_creation=true
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-cms-types-event parameters
|
||||||
|
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.event.start_year=2000
|
||||||
|
com.arsdigita.cms.contenttypes.event.end_year_delta=5
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-cms-types-newsitem parameters
|
||||||
|
com.arsdigita.cms.contenttypes.newsitem.hide_homepage=true
|
||||||
|
com.arsdigita.cms.contenttypes.newsitem.start_year=2000
|
||||||
|
com.arsdigita.cms.contenttypes.newsitem.end_year_delta=5
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-navigation application
|
||||||
|
com.arsdigita.navigation.category_menu_show_grand_children=false
|
||||||
|
com.arsdigita.navigation.default_cat_root_path=/navigation/
|
||||||
|
com.arsdigita.navigation.default_template=/templates/ccm-navigation/navigation/sci-default.jsp
|
||||||
|
com.arsdigita.navigation.templates_file=bundle/navigation/sci-templates.txt
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-ldn-search application
|
||||||
|
com.arsdigita.london.search.show_sponsored_links=true
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-ldn-subsite application
|
||||||
|
com.arsdigita.subsite.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-themedirector application
|
||||||
|
themedirector.default_theme_context=
|
||||||
|
# themedirector.default_theme_manifest=ccm-zes-aplaws.web.mf
|
||||||
|
themedirector.default_theme_path=themes/static/aplaws-generic
|
||||||
|
themedirector.file_extensions=bmp css gif jpeg jpg js png xml xsl
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-quasi-bundle (Loader only)
|
||||||
|
#com.arsdigita.bundle.loader.category_files=bundle/categories/sci-nav-domain-1.00.xml,bundle/categories/sci-nav-hierarchy-1.00.xml
|
||||||
|
|
||||||
|
# =============================================================================================
|
||||||
|
# runtime specific configurations
|
||||||
|
|
||||||
|
waf.admin.email=webmaster@scientificCMS.org
|
||||||
|
waf.admin.name.given=SCI
|
||||||
|
waf.admin.name.family=Administrator
|
||||||
|
waf.admin.password=sci2000
|
||||||
|
waf.admin.password.question=12345
|
||||||
|
waf.admin.password.answer=6
|
||||||
|
|
||||||
|
waf.runtime.jdbc_url=jdbc\:postgresql\://localhost/ccm?user\=ccm&password\=ccm
|
||||||
|
waf.runtime.jdbc_pool_size=30
|
||||||
|
|
||||||
|
waf.web.server=localhost\:8080
|
||||||
|
|
||||||
|
|
||||||
|
# =============================================================================================
|
||||||
|
# devel specific configurations
|
||||||
|
waf.debug=true
|
||||||
|
waf.bebop.fancy_xsl_errors=true
|
||||||
|
|
||||||
|
|
@ -0,0 +1,168 @@
|
||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
|
||||||
|
<!-- project.xml SCI devel - containing only modules used for ScientificCMS -->
|
||||||
|
|
||||||
|
<ccm:project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||||
|
ccmVersion="6.1"
|
||||||
|
name="ScientificCMS"
|
||||||
|
prettyName="Scientific CMS"
|
||||||
|
version="1-1-6"
|
||||||
|
release="devel"
|
||||||
|
webxml="web-sci.xml"
|
||||||
|
webapp="ROOT"
|
||||||
|
xsi:schemaLocation="http://ccm.redhat.com/ccm-project file:tools-ng/common/xsd/project.xsd">
|
||||||
|
|
||||||
|
<ccm:build>
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Scientific CMS set of CORE packages -->
|
||||||
|
<!-- NONE can be omitted for technical reasons / internal dependencies -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<!-- Main apps -->
|
||||||
|
<ccm:application name="ccm-core"/>
|
||||||
|
<ccm:application name="ccm-cms"/>
|
||||||
|
|
||||||
|
<!-- Content Assets -->
|
||||||
|
<ccm:application name="ccm-cms-assets-imagestep"/>
|
||||||
|
<ccm:application name="ccm-cms-assets-relatedlink"/>
|
||||||
|
|
||||||
|
<!-- Content Types -->
|
||||||
|
<ccm:application name="ccm-cms-types-article"/>
|
||||||
|
<ccm:application name="ccm-cms-types-filestorageitem"/>
|
||||||
|
<ccm:application name="ccm-cms-types-formitem"/>
|
||||||
|
<ccm:application name="ccm-cms-types-formsectionitem"/>
|
||||||
|
|
||||||
|
<!-- Applications -->
|
||||||
|
<ccm:application name="ccm-navigation"/>
|
||||||
|
<!-- ccm-portalworkspace depends on ccm-subsite -->
|
||||||
|
<ccm:application name="ccm-portalworkspace"/>
|
||||||
|
<ccm:application name="ccm-subsite"/>
|
||||||
|
|
||||||
|
<ccm:application name="ccm-themedirector"/>
|
||||||
|
|
||||||
|
<!-- LDN extension -->
|
||||||
|
<ccm:application name="ccm-ldn-search"/>
|
||||||
|
<ccm:application name="ccm-ldn-shortcuts"/>
|
||||||
|
<ccm:application name="ccm-ldn-terms"/>
|
||||||
|
<ccm:application name="ccm-ldn-util"/>
|
||||||
|
|
||||||
|
<!-- SCI extension -->
|
||||||
|
<ccm:application name="ccm-quasi-bundle"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Scientific CMS OPTIONAL packages -->
|
||||||
|
<!-- Various combinations of these packages make up specific editions -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<!-- Content Assets -->
|
||||||
|
<ccm:application name="ccm-cms-assets-fileattachment"/>
|
||||||
|
<ccm:application name="ccm-cms-assets-notes"/>
|
||||||
|
|
||||||
|
<!-- Content Types -->
|
||||||
|
<ccm:application name="ccm-cms-types-address"/>
|
||||||
|
<ccm:application name="ccm-cms-types-bookmark"/>
|
||||||
|
<ccm:application name="ccm-cms-types-contact"/>
|
||||||
|
<ccm:application name="ccm-cms-types-event"/>
|
||||||
|
<ccm:application name="ccm-cms-types-image"/>
|
||||||
|
<ccm:application name="ccm-cms-types-mparticle"/>
|
||||||
|
<ccm:application name="ccm-cms-types-newsitem"/>
|
||||||
|
<ccm:application name="ccm-cms-types-person"/>
|
||||||
|
|
||||||
|
<!-- Applications -->
|
||||||
|
<ccm:application name="ccm-cms-publicpersonalprofile"/>
|
||||||
|
<ccm:application name="ccm-portalserver"/>
|
||||||
|
|
||||||
|
<!-- LDN extension -->
|
||||||
|
<!-- temporyrily excluded because configuration has to be cleared
|
||||||
|
<ccm:application name="ccm-ldn-rss"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- SCI extension -->
|
||||||
|
<!--
|
||||||
|
<ccm:application name="ccm-sci-personalprojects"/>
|
||||||
|
-->
|
||||||
|
<ccm:application name="ccm-sci-personalpublications"/>
|
||||||
|
<ccm:application name="ccm-sci-publications"/>
|
||||||
|
|
||||||
|
<ccm:application name="ccm-sci-types-member"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Scientific CMS potential ADD-ONS packages -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<!-- Content Types -->
|
||||||
|
<!--
|
||||||
|
<ccm:application name="ccm-cms-types-agenda"/>
|
||||||
|
<ccm:application name="ccm-cms-types-faqitem"/>
|
||||||
|
<ccm:application name="ccm-cms-types-glossaryitem"/>
|
||||||
|
<ccm:application name="ccm-cms-types-htmlform"/>
|
||||||
|
<ccm:application name="ccm-cms-types-inlinesite"/>
|
||||||
|
<ccm:application name="ccm-cms-types-job"/>
|
||||||
|
<ccm:application name="ccm-cms-types-legalnotice"/>
|
||||||
|
<ccm:application name="ccm-cms-types-minutes"/>
|
||||||
|
<ccm:application name="ccm-cms-types-organization"/>
|
||||||
|
<ccm:application name="ccm-cms-types-pressrelease"/>
|
||||||
|
<ccm:application name="ccm-cms-types-service"/>
|
||||||
|
<ccm:application name="ccm-cms-types-siteproxy"/>
|
||||||
|
<ccm:application name="ccm-cms-types-xmlfeed"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Applications -->
|
||||||
|
<!--
|
||||||
|
<ccm:application name="ccm-auth-http"/>
|
||||||
|
<ccm:application name="ccm-bookmarks"/>
|
||||||
|
<ccm:application name="ccm-docmgr"/>
|
||||||
|
-->
|
||||||
|
<ccm:application name="ccm-docrepo"/>
|
||||||
|
<ccm:application name="ccm-forum"/>
|
||||||
|
<ccm:application name="ccm-forum-categorised"/>
|
||||||
|
<!--
|
||||||
|
<ccm:application name="ccm-weblog"/>
|
||||||
|
<ccm:application name="ccm-webpage"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- LDN extension -->
|
||||||
|
<!--
|
||||||
|
<ccm:application name="ccm-ldn-exporter"/>
|
||||||
|
<ccm:application name="ccm-ldn-freeform"/>
|
||||||
|
<ccm:application name="ccm-ldn-importer"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
</ccm:build>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- Scientific CMS list of OBSOLETE modules -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<!-- Content Types -->
|
||||||
|
<!-- Without known funcionality
|
||||||
|
<ccm:application name="ccm-cms-types-motditem"/> -->
|
||||||
|
|
||||||
|
<!-- Applications -->
|
||||||
|
<!-- currently doesn't work for unknown reason
|
||||||
|
<ccm:application name="ccm-simplesurvey"/> -->
|
||||||
|
<!-- Without known funcionality
|
||||||
|
<ccm:application name="ccm-formbuilder-pdf"/>
|
||||||
|
<ccm:application name="ccm-user-preferences"/> -->
|
||||||
|
|
||||||
|
<!-- LDN extension -->
|
||||||
|
<!-- Conflicts with ccm-quasi-bundle (this package) -->
|
||||||
|
<!-- <ccm:application name="ccm-ldn-aplaws"/> -->
|
||||||
|
<!-- In it's current implementation very ldn / aplaws specific
|
||||||
|
<ccm:application name="ccm-ldn-atoz"/>
|
||||||
|
<ccm:application name="ccm-ldn-dublin"/> -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- tools will be downloaded from trunk, but does not
|
||||||
|
contain java code to be compiled!
|
||||||
|
<ccm:application name="tools"/> -->
|
||||||
|
|
||||||
|
</ccm:project>
|
||||||
|
|
@ -0,0 +1,539 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
|
||||||
|
version="2.4">
|
||||||
|
|
||||||
|
<display-name>Scientific CMS</display-name>
|
||||||
|
<description>Content and Collaboration Management for Scientific Institutions</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
|
||||||
|
<filter>
|
||||||
|
<filter-name>secured</filter-name>
|
||||||
|
<filter-class>com.arsdigita.web.SecureFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
-->
|
||||||
|
<!-- Initialize Profiler timers
|
||||||
|
NOT USED with 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.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>/*</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-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>portalworkspace-files</servlet-name>
|
||||||
|
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>template-path</param-name>
|
||||||
|
<param-value>/templates/ccm-portalworkspace</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-navigation</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>file-resolver</param-name>
|
||||||
|
<param-value>com.arsdigita.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-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-themedirector - 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-themedirector</param-value>
|
||||||
|
</init-param>
|
||||||
|
</servlet>
|
||||||
|
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>ThemeDownload</servlet-name>
|
||||||
|
<servlet-class>com.arsdigita.themedirector.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.themedirector.dispatcher.InternalThemePrefixerServlet
|
||||||
|
</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>prefix</param-name>
|
||||||
|
<param-value>/theme</param-value>
|
||||||
|
</init-param>
|
||||||
|
</servlet>
|
||||||
|
<!-- module ccm-themedirector - servlet declarations END -->
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
MODULES SERVLET MAPPINGS SECTION
|
||||||
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 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>portalworkspace-files</servlet-name>
|
||||||
|
<url-pattern>/ccm-portalworkspace/files/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>navigation-files</servlet-name>
|
||||||
|
<url-pattern>/ccm-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-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-themedirector - 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-themedirector - 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>
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
Subdirectory <cat> may optionally contain one or more local site specific
|
||||||
|
import xml files for Terms domain categories.
|
||||||
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Document : domain-nav-sci-1.00.xml
|
||||||
|
Created on : 8. Aug. 2007, 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="STD-NAV"
|
||||||
|
title="Sci Navigation List"
|
||||||
|
version="1.00" released="2007-08-10">
|
||||||
|
|
||||||
|
<terms:term id="1000" name="Institut" inAtoZ="false"/>
|
||||||
|
<terms:term id="1200" name="Abteilungen" inAtoZ="false"/>
|
||||||
|
<terms:term id="1220" name="Abteilung 1" inAtoZ="false"/>
|
||||||
|
<terms:term id="1240" name="Abteilung 2" inAtoZ="false"/>
|
||||||
|
<terms:term id="1260" name="Abteilung 3" inAtoZ="false"/>
|
||||||
|
<terms:term id="1280" name="Abteilung 4" inAtoZ="false"/>
|
||||||
|
<terms:term id="1300" name="Abteilung 5" inAtoZ="false"/>
|
||||||
|
<terms:term id="1400" name="Mitglieder" inAtoZ="false"/>
|
||||||
|
<terms:term id="1600" name="Bibliothek" inAtoZ="false"/>
|
||||||
|
<terms:term id="1800" name="Ankündigungen" inAtoZ="false"/>
|
||||||
|
|
||||||
|
<terms:term id="3000" name="Forschung" inAtoZ="false"/>
|
||||||
|
<terms:term id="3200" name="Projekte" inAtoZ="false"/>
|
||||||
|
<terms:term id="3400" name="Veröffentlichungen" inAtoZ="false"/>
|
||||||
|
<terms:term id="3420" name="Publikationen" inAtoZ="false"/>
|
||||||
|
<terms:term id="3440" name="Arbeitspapiere" inAtoZ="false"/>
|
||||||
|
<terms:term id="3460" name="Schriftenreihe" inAtoZ="false"/>
|
||||||
|
<terms:term id="3480" name="Sci Report" inAtoZ="false"/>
|
||||||
|
<terms:term id="3500" name="Jahresberichte" inAtoZ="false"/>
|
||||||
|
<terms:term id="3600" name="Kolloquium" inAtoZ="false"/>
|
||||||
|
<terms:term id="3800" name="Jour Fix" inAtoZ="false"/>
|
||||||
|
<terms:term id="4000" name="Tagungen" inAtoZ="false"/>
|
||||||
|
|
||||||
|
<terms:term id="5000" name="Lehre und Studium" inAtoZ="false"/>
|
||||||
|
<terms:term id="5200" name="Masterstudiengang Sci" inAtoZ="false"/>
|
||||||
|
<terms:term id="5400" name="Weitere Lehre" inAtoZ="false"/>
|
||||||
|
|
||||||
|
<terms:term id="9002" name="Archiv" inAtoZ="false"/>
|
||||||
|
<terms:term id="9200" name="Informative Links" inAtoZ="false"/>
|
||||||
|
|
||||||
|
</terms:domain>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,229 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Document : hierarchy-nav-sci-1.00.xml
|
||||||
|
Created on : 8. Aug. 2007, 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:orderedPair>
|
||||||
|
<!-- narrower terms, first level -->
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="1200"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="1280"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="1200"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="1300"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
<!-- narrower terms, second level END -->
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="1000"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="1400"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="1000"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="1600"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="1000"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="1800"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="1000"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="9002"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="1000"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="9200"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<!-- narrower terms, second level -->
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="3400"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="3420"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="3400"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="3440"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="3400"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="3460"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="3400"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="3480"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="3400"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="3500"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
<!-- narrower terms, second level END -->
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="3000"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="4000"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="5000"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="5200"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
<terms:orderedPair>
|
||||||
|
<terms:source>
|
||||||
|
<terms:term id="5000"/>
|
||||||
|
</terms:source>
|
||||||
|
<terms:destination isDefault="true" isPreferred="true">
|
||||||
|
<terms:term id="5200"/>
|
||||||
|
</terms:destination>
|
||||||
|
</terms:orderedPair>
|
||||||
|
|
||||||
|
</terms:hierarchy>
|
||||||
|
|
@ -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
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
ScientificCMS Default Items Page,Sci Default Navigation Index Page ordering items in ascending order,/templates/ccm-ldn-navigation/navigation/sci-default.jsp
|
||||||
|
ScientificCMS Recent Items Page,Sci List of items ordered with most recent first,/templates/ccm-ldn-navigation/navigation/sci-recent.jsp
|
||||||
|
ScientificCMS A-Z Items,Sci List of items paginated as A-Z,/templates/ccm-ldn-navigation/navigation/sci-atoz.jsp
|
||||||
|
ScientificCMS Events Page,Sci Events Page ordering events in ??? order,/templates/ccm-ldn-navigation/navigation/sci-events.jsp
|
||||||
|
ScientificCMS Portal Page,Sci Portal Page for embedding a portal page as navigation leaves page,/templates/ccm-ldn-navigation/navigation/sci-portal.jsp
|
||||||
|
ScientificCMS Portal Welcome Page,Sci Portal page meant as site welcome page,/templates/ccm-ldn-navigation/navigation/sci-portal-welcome.jsp
|
||||||
|
ScientificCMS Navigation Welcome Page,Sci site welcome page created by navigation root term,/templates/ccm-ldn-navigation/navigation/sci-welcome.jsp
|
||||||
|
ScientificCMS Specializing Items List,Sci Specialising List item page,/templates/ccm-ldn-navigation/navigation/SpecializingList.jsp
|
||||||
|
ScientificCMS Publications List,Sci publications listing page,/templates/ccm-ldn-navigation/navigation/SciPublicationList.jsp
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
Subdirectory <cat> may optionally contain one or more local site specific
|
||||||
|
import xml files for Terms domain categories.
|
||||||
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
Subdirectory <nav> may optionally contain navigation item templates for
|
||||||
|
navigation index pages which either overwrite or ammend those templates
|
||||||
|
which are default for ccm-quasi-bundle and stored in
|
||||||
|
/web/templates/ccm-navigation/navigation
|
||||||
|
|
||||||
|
Templates of the same name in this subdirectory just overwrite the
|
||||||
|
default files. Templates of different names are stored in addition
|
||||||
|
to the default template files. In the later case a developer must
|
||||||
|
provide a customised template.txt file replacing the default file
|
||||||
|
/src/WEB-INF/navigation/sci-templates.txt
|
||||||
|
This file must be specified in parameter
|
||||||
|
com.arsdigita.navigation.templates_file
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
Bundle subdir themes
|
||||||
|
|
||||||
|
Purpose:
|
||||||
|
This subdir may optionally contain theme files which either replace part of the
|
||||||
|
theme or add files to the theme provided as default for ScientificCMS and this
|
||||||
|
way adopt the theme for site specific design.
|
||||||
|
|
||||||
|
All files and subdirectories all copied asis to the applications ~/themes
|
||||||
|
directory in its document (context) root.
|
||||||
|
|
||||||
|
It is the responsibility of developer / system integrator to ensure all files
|
||||||
|
are copied to the right location and the theme works with the modification. No
|
||||||
|
functionality or consistency check is perfordmed!
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Just a dummy file for test purpose during development.
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
Subdirectory <nav> may optionally contain navigation item templates for
|
||||||
|
navigation index pages which either overwrite or ammend those templates
|
||||||
|
which are default for ccm-quasi-bundle and stored in
|
||||||
|
/web/templates/ccm-navigation/navigation
|
||||||
|
|
||||||
|
Templates of the same name in this subdirectory just overwrite the
|
||||||
|
default files. Templates of different names are stored in addition
|
||||||
|
to the default template files. In the later case a developer must
|
||||||
|
provide a customised template.txt file replacing the default file
|
||||||
|
/src/WEB-INF/navigation/sci-templates.txt
|
||||||
|
This file must be specified in parameter
|
||||||
|
com.arsdigita.navigation.templates_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.
|
||||||
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
BUNDLE_NAME=aplaws-plus-shp
|
||||||
|
BUNDLE_PRETTY_NAME="APLAWS+ SHP Standard Bundle"
|
||||||
|
VERSION=1.0.5devel
|
||||||
|
RELEASE=1
|
||||||
|
|
@ -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 *~
|
||||||
|
|
@ -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 & 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
|
|
@ -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>
|
||||||
|
|
@ -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.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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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.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.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.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.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.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.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.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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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 *~
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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
|
|
@ -0,0 +1 @@
|
||||||
|
DOCNAME=rhea-dpg-aplaws-en
|
||||||
|
|
@ -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>
|
||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
|
||||||
|
<ccm:application name="aplaws-custom"
|
||||||
|
prettyName="The APLAWS customization and styling package"
|
||||||
|
version="1.0.0"
|
||||||
|
release="1">
|
||||||
|
|
||||||
|
<ccm:dependancies>
|
||||||
|
<!-- <ccm:requires name="core" version="5.0.0"/> -->
|
||||||
|
</ccm:dependancies>
|
||||||
|
|
||||||
|
<ccm:contacts>
|
||||||
|
<!--
|
||||||
|
<ccm:contact uri="http://www.redhat.com/software/ccm" type="website"/>
|
||||||
|
<ccm:contact uri="mailto:cms@redhat.com" type="support"/>
|
||||||
|
-->
|
||||||
|
</ccm:contacts>
|
||||||
|
|
||||||
|
<ccm:description>
|
||||||
|
The aplaws-custom package customizes the APLAWS system.
|
||||||
|
</ccm:description>
|
||||||
|
|
||||||
|
</ccm:application>
|
||||||
|
</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><ccm:application></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><ccm:dependancies></command>,
|
||||||
|
<command><ccm:contacts></command>, and
|
||||||
|
<command><ccm:description></command></title>
|
||||||
|
|
||||||
|
<para>The <command><ccm:dependancies></command>,
|
||||||
|
<command><ccm:contacts></command> and
|
||||||
|
<command><ccm:description></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>
|
||||||
|
|
@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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>
|
||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
|
||||||
|
<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">
|
||||||
|
|
||||||
|
<!-- List all project specific applications here -->
|
||||||
|
<ccm:build>
|
||||||
|
<ccm:application name="aplaws_<userinput>borough</userinput>" prettyName="aplaws_<userinput>borough</userinput>" buildOrder="1"/>
|
||||||
|
</ccm:build>
|
||||||
|
|
||||||
|
<!-- List all shared, pre-built applications here -->
|
||||||
|
<ccm:prebuilt>
|
||||||
|
<!--<ccm:application name="cms" version="5.0.0" buildOrder="1"/> -->
|
||||||
|
</ccm:prebuilt>
|
||||||
|
|
||||||
|
</ccm:project>
|
||||||
|
</computeroutput>
|
||||||
|
</screen>
|
||||||
|
|
||||||
|
<para>The attributes of the <command><ccm:project></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><ccm:build></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><ccm:prebuilt></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><ccm:project></command> refer to the
|
||||||
|
extended applications development package, the
|
||||||
|
<command>name</command> and <command>version</command>
|
||||||
|
attributes of <command><ccm:prebuilt></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>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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 & 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 <IfDefine
|
||||||
|
HAVE_SSL> 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>
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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 \
|
||||||
|
$*
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Create an HTML document with index and figures in place.
|
||||||
|
# This is done by:
|
||||||
|
|
||||||
|
# 1. Converting from SGML to HTML
|
||||||
|
# 2. Generating an SGML index based on the HTML
|
||||||
|
# 3. Converting from SGML to HTML (taking into account the index this time)
|
||||||
|
# 4. Copying figures from original source tree into the output directory
|
||||||
|
|
||||||
|
# The end result is a directory tree ready for publishing/packaging/whatever...
|
||||||
|
|
||||||
|
# Point to the CSS and standard admon graphics. Note that these paths use
|
||||||
|
# the "dsssl-stylesheets" symlink to point to the latest dsssl stuff...
|
||||||
|
|
||||||
|
FINAL_INDEX=generated-index.sgml
|
||||||
|
#ADMON_GRAPHICS=/usr/share/sgml/docbook/dsssl-stylesheets/images/*.gif
|
||||||
|
ADMON_GRAPHICS=../rh-sgml/stylesheet-images/*.gif
|
||||||
|
INDEXFILE=INDEX$$
|
||||||
|
|
||||||
|
# Convert to HTML, generating the HTML.index file that we'll use to
|
||||||
|
# create an SGML index...
|
||||||
|
|
||||||
|
echo Running $SGML_JADE...
|
||||||
|
|
||||||
|
$SGML_JADE -t sgml -V html-index $SGML_ARGUMENTS
|
||||||
|
|
||||||
|
# Generate the index, fixing up the problem of bogus empty closing tags (</>)...
|
||||||
|
|
||||||
|
echo Indexing...
|
||||||
|
perl /usr/bin/collateindex.pl -g -i generated-index -o ../$FINAL_INDEX HTML.index
|
||||||
|
|
||||||
|
# Not sure if these are still needed; when we first tried collateindex;
|
||||||
|
# it threw "</>" in the generated index in certain cases...
|
||||||
|
|
||||||
|
cat ../$FINAL_INDEX | sed 's,^[ ]*</>[ ]*$,,' > ../$INDEXFILE
|
||||||
|
mv -f ../$INDEXFILE ../$FINAL_INDEX
|
||||||
|
|
||||||
|
# Nuke the HTML.index file; we don't need it anymore...
|
||||||
|
|
||||||
|
rm -f HTML.index
|
||||||
|
|
||||||
|
echo Rerunning $SGML_JADE...
|
||||||
|
|
||||||
|
$SGML_JADE -t sgml $SGML_ARGUMENTS
|
||||||
|
|
||||||
|
echo -n "Copying admon graphics..."
|
||||||
|
mkdir ./stylesheet-images
|
||||||
|
cp ${ADMON_GRAPHICS} ./stylesheet-images/
|
||||||
|
echo "Done!"
|
||||||
|
|
||||||
|
if [ -d ../figs/ ]
|
||||||
|
then
|
||||||
|
echo -n "Moving figures..."
|
||||||
|
(cd ../ ; tar chf - figs/) | (tar xf -)
|
||||||
|
echo "Done!"
|
||||||
|
echo -n "Cleaning CVS..."
|
||||||
|
find ./figs/ -type d -name "CVS"|xargs rm -rf
|
||||||
|
echo -n "EPS..."
|
||||||
|
find ./figs/ -type f -name "*eps"|xargs rm -f
|
||||||
|
echo -n " .xvpics..."
|
||||||
|
find ./figs/ -type d -name ".xvpics"|xargs rm -rf
|
||||||
|
echo -n "directories..."
|
||||||
|
find ./figs/ -type d -empty|xargs rm -rf
|
||||||
|
echo "Done!"
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
#Makefile for Red Hat Documentation
|
||||||
|
#Created by Tammy Fox <tfox@redhat.com>
|
||||||
|
#Copyright Red Hat Inc. 2001
|
||||||
|
|
||||||
|
include Makefile.local
|
||||||
|
|
||||||
|
TOP = $(shell pwd)
|
||||||
|
PRINTENTITY = SET-FOR-PRINT
|
||||||
|
LANG = en
|
||||||
|
SGMLFILE = $(DOCNAME).sgml
|
||||||
|
HTMLSCRIPT = db2indexed-html
|
||||||
|
VERSION = $(shell awk '/Version:/ { print $$2 }' $(DOCNAME).spec)
|
||||||
|
RELEASE = $(shell awk '/Release:/ { print $$2 }' $(DOCNAME).spec)
|
||||||
|
get-ext = $(subst .,,$(suffix $(1)))
|
||||||
|
|
||||||
|
SPLITTER = java -cp ../docs-stuff/classes/ com.redhat.ccm.documentation.Splitter
|
||||||
|
|
||||||
|
sedexpr = -e 's/^\(<!ENTITY \+% \+$2 \+"\)\(INCLUDE\|IGNORE\)\(">\)/\1$1\3/'
|
||||||
|
|
||||||
|
incl = $(call sedexpr,INCLUDE,$1)
|
||||||
|
ignore = $(call sedexpr,IGNORE,$1)
|
||||||
|
|
||||||
|
inclsedcmd = sed $(call incl,$1) $2
|
||||||
|
ignoresedcmd = sed $(call ignore,$1) $2
|
||||||
|
|
||||||
|
all: sgml html ps pdf rpm
|
||||||
|
|
||||||
|
sgml:
|
||||||
|
ifdef SPLITTERDIRS
|
||||||
|
$(SPLITTER) build $(shell find $(SPLITTERDIRS) -type f -not -name "*~" -not -name "\#*")
|
||||||
|
find build/ -type f -exec ln -sf {} \;
|
||||||
|
endif
|
||||||
|
|
||||||
|
html: sgml
|
||||||
|
$(call ignoresedcmd,$(PRINTENTITY),$(SGMLFILE)) > $(DOCNAME)-temp.sgml
|
||||||
|
$(HTMLSCRIPT) --output $(DOCNAME) $(DOCNAME)-temp.sgml
|
||||||
|
@rm $(DOCNAME)-temp.sgml
|
||||||
|
@rm -rf $(DOCNAME)-$(VERSION)
|
||||||
|
@mv $(DOCNAME) $(DOCNAME)-$(VERSION)
|
||||||
|
|
||||||
|
ps pdf: sgml $(SGMLFILE)
|
||||||
|
@rm -f $(DOCNAME).$@
|
||||||
|
$(MAKE) $(addsuffix .$@,$(basename $(SGMLFILE)))
|
||||||
|
|
||||||
|
%.ps %.pdf:
|
||||||
|
$(call inclsedcmd,$(PRINTENTITY),$(SGMLFILE)) > $(DOCNAME)-temp.sgml
|
||||||
|
db2indexed-$(call get-ext,$@) $(notdir $(DOCNAME)-temp.sgml)
|
||||||
|
@rm $(DOCNAME)-temp.sgml
|
||||||
|
@mv $(DOCNAME)-temp.$(call get-ext,$@) $(DOCNAME)-$(VERSION)-$(RELEASE).$(call get-ext,$@)
|
||||||
|
|
||||||
|
tarball: html
|
||||||
|
@cp -f ../docs-stuff/icon/docs.png $(DOCNAME)-$(VERSION)
|
||||||
|
@tar cvjf $(DOCNAME)-$(VERSION).tbz $(DOCNAME)-$(VERSION)/*
|
||||||
|
@echo "The archive is in $(DOCNAME)-$(VERSION).tbz"
|
||||||
|
|
||||||
|
zip: html
|
||||||
|
@cp -f ../docs-stuff/icon/docs.png $(DOCNAME)-$(VERSION)
|
||||||
|
@zip -r $(DOCNAME)-$(VERSION).zip $(DOCNAME)-$(VERSION)/*
|
||||||
|
@echo "The archive is in $(DOCNAME)-$(VERSION).zip"
|
||||||
|
|
||||||
|
srpm: tarball
|
||||||
|
@rpmbuild -ts $(DOCNAME)-$(VERSION).tbz
|
||||||
|
@echo "SRPM created"
|
||||||
|
|
||||||
|
rpm: tarball
|
||||||
|
@rpmbuild -bb --define "_sourcedir `pwd`" $(DOCNAME).spec
|
||||||
|
@echo "RPM created"
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@rm -rfv *.ps *.pdf *.tex *.out *.log html $(DOCNAME) $(DOCNAME)-$(VERSION) $(DOCNAME).junk *.tbz generated-index.sgml build
|
||||||
|
find . -maxdepth 1 -lname "build/*" -exec rm {} \;
|
||||||
|
|
||||||
|
zipclean: clean
|
||||||
|
@rm -f *.zip
|
||||||
|
|
||||||
|
splitter: classes/com/redhat/ccm/documentation/Splitter.class
|
||||||
|
|
||||||
|
classes/com/redhat/ccm/documentation/Splitter.class: src/com/redhat/ccm/documentation/Splitter.java
|
||||||
|
@mkdir -p classes
|
||||||
|
javac -d classes src/com/redhat/ccm/documentation/Splitter.java
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
#empty
|
||||||
|
|
@ -0,0 +1,127 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
RH_STYLESHEET=`dirname $0`/stylesheets/RHL7/redhat-html.dsl
|
||||||
|
|
||||||
|
HTML_STYLESHEET=/usr/lib/sgml/stylesheets/nwalsh-modular/test/docbook.css
|
||||||
|
ADMON_GRAPHICS=/usr/lib/sgml/stylesheets/nwalsh-modular/images/*.gif
|
||||||
|
FINAL_INDEX=generated-index.sgml
|
||||||
|
|
||||||
|
output=db2html-dir
|
||||||
|
TMPDIR=DBTOHTML_OUTPUT_DIR$$
|
||||||
|
INDEXFILE=INDEX$$
|
||||||
|
TMPSTYLE=`dirname $0`/stylesheets/STYLE$$
|
||||||
|
HTM_EXTENSIONS=0
|
||||||
|
|
||||||
|
# Process any options...
|
||||||
|
|
||||||
|
while getopts ":3" opt; do
|
||||||
|
case $opt in
|
||||||
|
3 ) HTM_EXTENSIONS=1 ;;
|
||||||
|
\? ) echo "Usage: `basename $0` [options] [filename.sgml]" >&2
|
||||||
|
echo "Options:" >&2
|
||||||
|
echo " -3 -- create HTML output with .htm file extensions" >&2
|
||||||
|
exit 1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $(($OPTIND - 1))
|
||||||
|
|
||||||
|
if [ $# -gt 2 ] || [ $# -lt 1 ]
|
||||||
|
then
|
||||||
|
echo "Usage: `basename $0` [options] [filename.sgml]" >&2
|
||||||
|
echo "Options:" >&2
|
||||||
|
echo " -3 -- create HTML output with .htm file extensions" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $# -eq 1 ]
|
||||||
|
then
|
||||||
|
if [ ! -r $1 ]
|
||||||
|
then
|
||||||
|
echo Cannot read \"$1\". Exiting. >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if echo $1 | egrep -i '\.sgml$|\.sgm$' >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
# now make sure that the output directory is always a subdirectory
|
||||||
|
# of the current directory
|
||||||
|
input_file=`basename $1`
|
||||||
|
output="`echo $input_file | sed 's,\.sgml$,,;s,\.sgm$,,'`"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $HTM_EXTENSIONS -eq 1 ]
|
||||||
|
then
|
||||||
|
# We need to take the normal stylesheet, and hack a temporary version to use...
|
||||||
|
cat $RH_STYLESHEET | sed 's/^[ ]*"\.html"[ ]*)[ ]*$/ ".htm")/' > $TMPSTYLE
|
||||||
|
# Point to the new temporary stylesheet...
|
||||||
|
RH_STYLESHEET=$TMPSTYLE
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir $TMPDIR
|
||||||
|
SAVE_PWD=`pwd`
|
||||||
|
if [ $1 = `basename $1` ]; then
|
||||||
|
echo Running jade...
|
||||||
|
RH_STYLESHEET="`echo $RH_STYLESHEET | sed 's,^\([^/]\),\.\./\1,'`"
|
||||||
|
(cd $TMPDIR; jade -t sgml -ihtml -d ${RH_STYLESHEET} -V html-index ../$1; cd $SAVE_PWD)
|
||||||
|
|
||||||
|
# Generate the index, fixing up the problem of bogus empty closing tags (</>)...
|
||||||
|
|
||||||
|
for index_script in /usr/bin/collateindex.pl /usr/lib/sgml/stylesheets/nwalsh-modular/bin/collateindex.pl
|
||||||
|
do
|
||||||
|
if [ -f $index_script ]; then
|
||||||
|
echo Indexing...
|
||||||
|
perl $index_script -g -o $FINAL_INDEX $TMPDIR/HTML.index
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Not sure if these are still needed; when we first tried collateindex, it threw "</>"
|
||||||
|
# in the generated index in certain cases...
|
||||||
|
|
||||||
|
cat $FINAL_INDEX | sed 's,^[ ]*</>[ ]*$,,' > $INDEXFILE
|
||||||
|
mv -f $INDEXFILE $FINAL_INDEX
|
||||||
|
|
||||||
|
# We should now have a good index; clean up and rerun...
|
||||||
|
|
||||||
|
echo Rerunning jade...
|
||||||
|
rm -rf $TMPDIR
|
||||||
|
mkdir $TMPDIR
|
||||||
|
(cd $TMPDIR; jade -t sgml -ihtml -d ${RH_STYLESHEET} ../$1; cd $SAVE_PWD)
|
||||||
|
else
|
||||||
|
|
||||||
|
# Yeah, I know it's ugly, but...
|
||||||
|
|
||||||
|
echo Rerun this script from the directory containing your SGML... >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d ${output}.junk ]
|
||||||
|
then
|
||||||
|
/bin/rm -rf ${output}.junk
|
||||||
|
fi
|
||||||
|
if [ -d ${output} ]
|
||||||
|
then
|
||||||
|
mv $output ${output}.junk
|
||||||
|
fi
|
||||||
|
echo "Copying cascading stylesheet and admon graphics..."
|
||||||
|
cp ${HTML_STYLESHEET} ${TMPDIR}/
|
||||||
|
mkdir ${TMPDIR}/stylesheet-images
|
||||||
|
cp ${ADMON_GRAPHICS} ${TMPDIR}/stylesheet-images
|
||||||
|
|
||||||
|
echo Moving figures and cleaning up random stuff...
|
||||||
|
|
||||||
|
if [ -d figs/ ]
|
||||||
|
then
|
||||||
|
tar cf - figs/ | (cd $TMPDIR; tar xf -)
|
||||||
|
find $TMPDIR/figs/ -type d -name "CVS"|xargs rm -rf
|
||||||
|
find $TMPDIR/figs/ -type f -name "*eps"|xargs rm -f
|
||||||
|
find $TMPDIR/figs/ -type d -name ".xvpics"|xargs rm -rf
|
||||||
|
find $TMPDIR/figs/ -type d -empty|xargs rm -rf
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f $TMPSTYLE
|
||||||
|
|
||||||
|
mv ${TMPDIR} $output
|
||||||
|
|
||||||
|
rm -rf $TMPDIR
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,400 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
CSS stylesheet for the HTML versions of Red Hat Documentation
|
||||||
|
Created by Tammy Fox <tfox@redhat.com>
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-family: helvetica, arial,sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
/* needed so buttons created with css don't bleed into text */
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.book, body.article, body.chapter, body.part, body.preface, body.sect1, body.index, body.colophon, body.glossary, body.reference, body.refentry {
|
||||||
|
font-family: helvetica, arial,sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
background-color: #ffffff;
|
||||||
|
margin: 0;
|
||||||
|
padding : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p, td, th, .variablelist {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
/* left must be 0 so it lines up */
|
||||||
|
margin : 10px 0px 10px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.article p {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
/* if in article made from XML left must be 10 so it lines up */
|
||||||
|
margin : 10px 10px 10px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 90%;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.note, table.tip, table.important, table.caution, table.warning {
|
||||||
|
width: 95%;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
border: 2px solid #B0C4DE;
|
||||||
|
background-color: #F0F8FF;
|
||||||
|
color: #000000;
|
||||||
|
/* padding inside table area */
|
||||||
|
padding: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* set width smaller is IE is happy */
|
||||||
|
ul table.note, ul table.tip, ul table.important, ul table.caution, ul table.warning, ol table.note, ol table.t\ip, ol table.important, ol table.caution, ol table.warning {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.computeroutput, .command {
|
||||||
|
font-family: courier, courier new, monospace;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.userinput {
|
||||||
|
font-family: courier, courier new, monospace;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.screen {
|
||||||
|
width: 95%;
|
||||||
|
font-family: courier, courier new, monospace;
|
||||||
|
font-size: 12pt;
|
||||||
|
border: 2px solid #A9A9A9;
|
||||||
|
background-color: #DCDCDC;
|
||||||
|
color: #000000;
|
||||||
|
padding: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
margin-top: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.calstable {
|
||||||
|
width: 95%;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
background-color: #DCDCDC;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.calstable td {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
border: 1px solid #A9A9A9;
|
||||||
|
background-color: #DCDCDC;
|
||||||
|
color: #000000;
|
||||||
|
padding: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
margin-top: 2px;
|
||||||
|
margin : 0px 0px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.calstable th {
|
||||||
|
border: 2px solid #A9A9A9;
|
||||||
|
background-color: #A9A9A9;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navheader, .navfooter {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
/* need top margin so title line isn't touching the top */
|
||||||
|
margin : 10px 20px 0px 20px;
|
||||||
|
font-family: helvetica, arial,sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.navheader hr, div.navfooter hr {
|
||||||
|
background-color: #CCCCCC;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
height: 1px;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.navheader table, div.navfooter table {
|
||||||
|
width: 95%;
|
||||||
|
background-color: #ffffff;
|
||||||
|
margin: 0px 0px 0px 0px;
|
||||||
|
padding: 0;
|
||||||
|
font-family: helvetica, arial,sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
body>div.navheader table, body>div.navfooter table {
|
||||||
|
/* Hidden from IE */
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* top hr on index page is not in a div so it needs div margins */
|
||||||
|
hr {
|
||||||
|
background-color: #CCCCCC;
|
||||||
|
margin: 0px 10px 0px 10px;
|
||||||
|
height: 1px;
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2, h2.indexdiv {
|
||||||
|
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3
|
||||||
|
{
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 1.4em;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4
|
||||||
|
{
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5
|
||||||
|
{
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
h6 {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:link {
|
||||||
|
color: #000066;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited
|
||||||
|
{
|
||||||
|
color: #333399;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* not in a div, so need standard left margin */
|
||||||
|
.footnotes {
|
||||||
|
width: 95%;
|
||||||
|
margin : 10px 20px 10px 20px;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.preface, div.colophon, div.chapter, div.appendix, div.index, div.partintro, div.legalnotice, div.glossary, div.refnamediv, div.refsect1 {
|
||||||
|
margin : 0px 20px 0px 20px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* A, B, etc. in Index */
|
||||||
|
div.indexdiv {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.titlepage {
|
||||||
|
margin : 0px 10px 0px 10px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* div.sect1 for an article doesn't have the extra padding from a div.chapter */
|
||||||
|
div.article div.sect1 {
|
||||||
|
margin : 0px 10px 0px 10px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* div.sect1 on same page as div.chapter, etc. with margins and padding already */
|
||||||
|
div.chapter div.sect1, div.preface div.sect1, div.appendix div.sect1, div.colophon div.sect1 {
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* on separate page without div.chapter, so need same padding */
|
||||||
|
div.sect1 {
|
||||||
|
margin : 0px 20px 0px 20px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* same as dev.sect1 except no padding because div.sect1 doesn't end before div.sect2, etc.*/
|
||||||
|
div.sect2, div.sect3, div.sect4 {
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* chapter, preface, and colophon titles don't have a class */
|
||||||
|
h1 {
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 18pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1.sect1, h2.sect1 {
|
||||||
|
/* already in div.sect1, so no margins */
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 18pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2.sect2, h2.title {
|
||||||
|
/* already in div.sect1, so no margins */
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 16pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3.sect3, h3.title {
|
||||||
|
/* already in div.sect1, so no margins */
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 14pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
h4.sect4, h5.sect5, h6.sect6 {
|
||||||
|
/* already in div.sect1, so no margins */
|
||||||
|
margin : 0px 0px 0px 0px;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* book and article titles on index.html page and part title pages */
|
||||||
|
h1.title {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 22pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
margin : 10px 10px 10px 10px;
|
||||||
|
/* add padding so title is not touching top margin */
|
||||||
|
padding: 10 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.refentry h1 {
|
||||||
|
margin: 0 0 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.glossary h1 {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 22pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #990000;
|
||||||
|
margin : 10px 10px 10px 0px;
|
||||||
|
/* add padding so title is not touching top margin */
|
||||||
|
padding: 10 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 18pt;
|
||||||
|
color:#666666;
|
||||||
|
font-weight: bold;
|
||||||
|
margin : 10px 10px 10px 10px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
b.othername {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 18pt;
|
||||||
|
color:#666666;
|
||||||
|
font-weight: bold;
|
||||||
|
margin : 10px 10px 10px 10px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copyright, .affiliation {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
color:#666666;
|
||||||
|
margin : 10px 10px 10px 10px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
isbn.isbn {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
color:#666666;
|
||||||
|
margin : 10px 10px 10px 10px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
padding: 0;
|
||||||
|
margin : 10px 20px 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.citetitle {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
color:#666666;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.qandaset big {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
color: #990000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author {
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
font-size: 12pt;
|
||||||
|
color:#990000;
|
||||||
|
font-weight: bold;
|
||||||
|
margin : 10px;
|
||||||
|
line-height: 1.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* make guibuttons look like real buttons */
|
||||||
|
.guibutton {
|
||||||
|
color: #000000;
|
||||||
|
font-family: helvetica, arial, sans-serif;
|
||||||
|
background-color: #DCDCDC;
|
||||||
|
padding: 1px 3px;
|
||||||
|
font-size: 10pt;
|
||||||
|
border: outset 2px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -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/indexed-html \
|
||||||
|
-d $STUFFPATH/stylesheets/redhat.dsl#html \
|
||||||
|
-o $OUTPUTDIR \
|
||||||
|
$*
|
||||||
|
|
@ -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-pdf \
|
||||||
|
-d $STUFFPATH/stylesheets/redhat.dsl#print \
|
||||||
|
$*
|
||||||
|
|
||||||
|
# Remove temp directory
|
||||||
|
echo -n Removing temp directory $PWD/$FILENAME-tmp...
|
||||||
|
rm -rf $PWD/$FILENAME-tmp
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
|
@ -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!
|
||||||
|
|
||||||
|
|
@ -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 PS with generated index
|
||||||
|
jw -f docbook \
|
||||||
|
-b $STUFFPATH/indexed-ps \
|
||||||
|
-d $STUFFPATH/stylesheets/redhat.dsl#print \
|
||||||
|
$*
|
||||||
|
|
||||||
|
# Remove temp directory
|
||||||
|
echo -n Removing temp directory $PWD/$FILENAME-tmp...
|
||||||
|
rm -rf $PWD/$FILENAME-tmp
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
|
@ -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 PDF with generated index
|
||||||
|
jw -f docbook \
|
||||||
|
-b $STUFFPATH/indexed-training-pdf \
|
||||||
|
-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!
|
||||||
|
|
||||||
|
|
@ -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!
|
||||||
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
#! /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
|
||||||
|
|
||||||
|
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 PDF with generated index
|
||||||
|
jw -f docbook \
|
||||||
|
-b $STUFFPATH/indexedpg-pdf \
|
||||||
|
-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!
|
||||||
|
|
||||||
|
|
@ -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!
|
||||||
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#! /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
|
||||||
|
|
||||||
|
jw -f docbook \
|
||||||
|
-b html \
|
||||||
|
-d $STUFFPATH/stylesheets/redhat-nochunks.dsl#html \
|
||||||
|
--nochunks \
|
||||||
|
$*
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
@ -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 "—"))))
|
||||||
|
|
||||||
|
(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-------------------------------
|
||||||
|
|
@ -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---------------------------
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# convert image to Encapsulated Postscript, with possible scaling of width
|
||||||
|
#
|
||||||
|
|
||||||
|
# Downloaded from http://people.redhat.com/dcm/
|
||||||
|
#
|
||||||
|
# Modified by tfox for Red Hat Documentation - default to width of 4
|
||||||
|
#
|
||||||
|
|
||||||
|
$width = "4";
|
||||||
|
|
||||||
|
if ($ARGV[0] =~ /^--width=(.+)$/) {
|
||||||
|
$width = $1;
|
||||||
|
shift (@ARGV);
|
||||||
|
}
|
||||||
|
|
||||||
|
#print "width =",$width,"\n";
|
||||||
|
|
||||||
|
#print "argv =",$ARGV[0],"\n";
|
||||||
|
|
||||||
|
$infile = $ARGV[0];
|
||||||
|
|
||||||
|
if (!(-e $infile)) {
|
||||||
|
print "File doesn't exist\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$imagesz = `identify $ARGV[0]`;
|
||||||
|
|
||||||
|
($name, $type, $size, $rest) = split / /, $imagesz, 4;
|
||||||
|
#print "split:", $name, " ", $type, " ", $size, " ", $rest, "\n";
|
||||||
|
#print "size = ",$size,"\n";
|
||||||
|
|
||||||
|
($x, $y) = split /x/, $size, 2;
|
||||||
|
($y, $rest) = split /\+/, $y, 2;
|
||||||
|
|
||||||
|
#print $x," by ",$y, "\n";
|
||||||
|
|
||||||
|
#
|
||||||
|
# if width set, we need to scale
|
||||||
|
#
|
||||||
|
|
||||||
|
if ($width != "") {
|
||||||
|
$scale = $width * (72.0/$x);
|
||||||
|
} else {
|
||||||
|
$scale = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$scale = 72.0/$scale;
|
||||||
|
#print "scale = ",$scale,"\n";
|
||||||
|
|
||||||
|
$outfile = $infile;
|
||||||
|
$outfile =~ s/\.gif/\.png/;
|
||||||
|
|
||||||
|
print $infile," ",$outfile,"\n";
|
||||||
|
system("convert -type TrueColor $infile $outfile");
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
|
|
@ -0,0 +1,63 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# convert image to Encapsulated Postscript, with possible scaling of width
|
||||||
|
#
|
||||||
|
# Example: img2eps --width=3 myfile.gif
|
||||||
|
# (width in inches)
|
||||||
|
#
|
||||||
|
|
||||||
|
$width = "";
|
||||||
|
|
||||||
|
if ($ARGV[0] =~ /^--width=(.+)$/) {
|
||||||
|
$width = $1;
|
||||||
|
shift (@ARGV);
|
||||||
|
}
|
||||||
|
|
||||||
|
#print "width =",$width,"\n";
|
||||||
|
|
||||||
|
#print "argv =",$ARGV[0],"\n";
|
||||||
|
|
||||||
|
$infile = $ARGV[0];
|
||||||
|
|
||||||
|
if (!(-e $infile)) {
|
||||||
|
print "File doesn't exist\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$imagesz = `identify $ARGV[0]`;
|
||||||
|
|
||||||
|
($name, $type, $size, $rest) = split / /, $imagesz, 4;
|
||||||
|
#print "split:", $name, " ", $type, " ", $size, " ", $rest, "\n";
|
||||||
|
#print "size = ",$size,"\n";
|
||||||
|
|
||||||
|
($x, $y) = split /x/, $size, 2;
|
||||||
|
($y, $rest) = split /\+/, $y, 2;
|
||||||
|
|
||||||
|
#print $x," by ",$y, "\n";
|
||||||
|
|
||||||
|
#
|
||||||
|
# if width set, we need to scale
|
||||||
|
#
|
||||||
|
|
||||||
|
if ($width != "") {
|
||||||
|
$scale = $width * (72.0/$x);
|
||||||
|
} else {
|
||||||
|
$scale = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$scale = 72.0/$scale;
|
||||||
|
#print "scale = ",$scale,"\n";
|
||||||
|
|
||||||
|
$tmpfile = $infile;
|
||||||
|
$tmpfile =~ s/\.gif/\.ept/;
|
||||||
|
|
||||||
|
$outfile = $infile;
|
||||||
|
$outfile =~ s/\.gif/\.eps/;
|
||||||
|
|
||||||
|
#print $infile," ",$outfile,"\n";
|
||||||
|
system("convert $infile tmpimage.pgm");
|
||||||
|
#system("giftopnm $infile | ppmtopgm > tmpimage.pgm");
|
||||||
|
system("convert -density $scale tmpimage.pgm $tmpfile");
|
||||||
|
system("mv -f $tmpfile $outfile");
|
||||||
|
system("rm -f tmpimage.pgm");
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Modified by Tammy Fox <tfox@redhat.com> for Red Hat Documentation
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Generate the index, fixing up the problem of bogus empty closing tags (</>)...
|
||||||
|
|
||||||
|
FINAL_INDEX=generated-index.sgml
|
||||||
|
INDEXFILE=INDEX$$
|
||||||
|
|
||||||
|
# Convert to HTML, generating the HTML.index file that we'll use to
|
||||||
|
# create an SGML index...
|
||||||
|
|
||||||
|
echo Running $SGML_JADE...
|
||||||
|
$SGML_JADE -t sgml -V html-index -i html -d $STUFFPATH/stylesheets/redhat.dsl#html ../${SGML_FILE_NAME}.sgml
|
||||||
|
|
||||||
|
# Generate the index, fixing up the problem of bogus empty closing tags (</>)...
|
||||||
|
|
||||||
|
echo Indexing...
|
||||||
|
if [ $LANG = "it_IT" ]; then
|
||||||
|
SYMBOL="-s Simboli"
|
||||||
|
elif [ $LANG = "es_ES" ]; then
|
||||||
|
SYMBOL="-s Símbolos"
|
||||||
|
else
|
||||||
|
SYMBOL=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
perl /usr/bin/collateindex.pl -g $SYMBOL -i generated-index -o ../$FINAL_INDEX HTML.index
|
||||||
|
|
||||||
|
|
||||||
|
# Not sure if these are still needed; when we first tried collateindex;
|
||||||
|
# it threw "</>" in the generated index in certain cases...
|
||||||
|
|
||||||
|
cat ../$FINAL_INDEX | sed 's,^[ ]*</>[ ]*$,,' > ../$INDEXFILE
|
||||||
|
mv -f ../$INDEXFILE ../$FINAL_INDEX
|
||||||
|
|
||||||
|
echo Rerunning $SGML_JADE...
|
||||||
|
|
||||||
|
$SGML_JADE -t sgml -i html -d $STUFFPATH/stylesheets/redhat.dsl#html ../${SGML_FILE_NAME}.sgml
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Create an HTML document with index and figures in place.
|
||||||
|
# This is done by:
|
||||||
|
|
||||||
|
# 1. Converting from SGML to HTML
|
||||||
|
# 2. Generating an SGML index based on the HTML
|
||||||
|
# 3. Converting from SGML to HTML (taking into account the index this time)
|
||||||
|
# 4. Copying figures from original source tree into the output directory
|
||||||
|
|
||||||
|
# The end result is a directory tree ready for publishing/packaging/whatever...
|
||||||
|
|
||||||
|
# Make sure we have an absolute path to the backend, DSSSL stylesheet, and CSS
|
||||||
|
|
||||||
|
STUFFPATH=`dirname $0`
|
||||||
|
if [ -n "${STUFFPATH##/*}" ]
|
||||||
|
then
|
||||||
|
STUFFPATH=$PWD/$STUFFPATH
|
||||||
|
fi
|
||||||
|
|
||||||
|
FINAL_INDEX=generated-index.sgml
|
||||||
|
INDEXFILE=INDEX$$
|
||||||
|
CSSFILE=$STUFFPATH/css/rhdocs-man.css
|
||||||
|
|
||||||
|
# Convert to HTML, generating the HTML.index file that we'll use to
|
||||||
|
# create an SGML index...
|
||||||
|
|
||||||
|
echo Running $SGML_JADE...
|
||||||
|
|
||||||
|
$SGML_JADE -t sgml -V html-index $SGML_ARGUMENTS
|
||||||
|
|
||||||
|
# Generate the index, fixing up the problem of bogus empty closing tags (</>)...
|
||||||
|
|
||||||
|
echo Indexing...
|
||||||
|
if [ $LANG = "it_IT" ]; then
|
||||||
|
SYMBOL="-s Simboli"
|
||||||
|
elif [ $LANG = "es_ES" ]; then
|
||||||
|
SYMBOL="-s Símbolos"
|
||||||
|
else
|
||||||
|
SYMBOL=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
perl /usr/bin/collateindex.pl -g $SYMBOL -i generated-index -o ../$FINAL_INDEX HTML.index
|
||||||
|
|
||||||
|
# Not sure if these are still needed; when we first tried collateindex;
|
||||||
|
# it threw "</>" in the generated index in certain cases...
|
||||||
|
|
||||||
|
cat ../$FINAL_INDEX | sed 's,^[ ]*</>[ ]*$,,' > ../$INDEXFILE
|
||||||
|
mv -f ../$INDEXFILE ../$FINAL_INDEX
|
||||||
|
|
||||||
|
# Nuke the HTML.index file; we don't need it anymore...
|
||||||
|
|
||||||
|
rm -f HTML.index
|
||||||
|
|
||||||
|
echo Rerunning $SGML_JADE...
|
||||||
|
|
||||||
|
$SGML_JADE -t sgml $SGML_ARGUMENTS
|
||||||
|
|
||||||
|
echo -n "Copying admon graphics..."
|
||||||
|
if [ ! -d ./stylesheet-images ]; then
|
||||||
|
mkdir -p ./stylesheet-images
|
||||||
|
fi
|
||||||
|
cp $STUFFPATH/stylesheet-images/*.png ./stylesheet-images/
|
||||||
|
echo "Done!"
|
||||||
|
|
||||||
|
if [ -d ../figs/ ]
|
||||||
|
then
|
||||||
|
echo -n "Moving figures..."
|
||||||
|
(cd ../ ; tar chf - figs/) | (tar xf -)
|
||||||
|
echo "Done!"
|
||||||
|
echo -n "Cleaning CVS..."
|
||||||
|
find ./figs/ -type d -name "CVS"|xargs rm -rf
|
||||||
|
echo -n "EPS..."
|
||||||
|
find ./figs/ -type f -name "*eps"|xargs rm -f
|
||||||
|
echo -n ".xvpics..."
|
||||||
|
find ./figs/ -type d -name ".xvpics"|xargs rm -rf
|
||||||
|
echo -n ".dia..."
|
||||||
|
find ./figs/ -type f -name "*dia"|xargs rm -rf
|
||||||
|
echo -n "directories..."
|
||||||
|
find ./figs/ -type d -empty|xargs rm -rf
|
||||||
|
echo "Done!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "Adding css..."
|
||||||
|
cp $CSSFILE rhdocs-man.css
|
||||||
|
#addcss.py *.html
|
||||||
|
echo "Done!"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Modified by Tammy Fox <tfox@redhat.com> for Red Hat Documentation
|
||||||
|
|
||||||
|
# Support for Asian Languages by Paul Gampe <pgampe@redhat.com>
|
||||||
|
|
||||||
|
JADETEX="jadetex"
|
||||||
|
|
||||||
|
CJK="no"
|
||||||
|
if [ $LANG = "ja_JP" -o $LANG = "zh_TW" \
|
||||||
|
-o $LANG = "zh_CN" -o $LANG = "ko_KR" ]; then
|
||||||
|
echo "Enabling Asian Language Support via jadetex-cjk"
|
||||||
|
JADETEX="jadetex-cjk"
|
||||||
|
CJK="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert to TeX
|
||||||
|
$SGML_JADE -t tex -o ${SGML_FILE_NAME}.tex $SGML_ARGUMENTS
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert from TeX to DVI
|
||||||
|
$JADETEX ${SGML_FILE_NAME}.tex >${SGML_FILE_NAME}.out
|
||||||
|
if [ $? -ne 0 -a $CJK != "yes" ]
|
||||||
|
then
|
||||||
|
cat ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
|
||||||
|
# If there are unresolved references, re-run jadetex, twice
|
||||||
|
INDEX_CNT=0
|
||||||
|
INDEX_MAX=5
|
||||||
|
while egrep '^LaTeX Warning: There were undefined references.$' ${SGML_FILE_NAME}.log >/dev/null 2>&1
|
||||||
|
do
|
||||||
|
if [ $INDEX_CNT -gt $INDEX_MAX ] ; then
|
||||||
|
echo "Could not resolve undefined references after $INDEX_MAX tries"
|
||||||
|
exit 1
|
||||||
|
fi;
|
||||||
|
echo "$INDEX_CNT: re-running $JADETEX to resolve undefined references"
|
||||||
|
$JADETEX ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
INDEX_CNT=`expr $INDEX_CNT + 1`
|
||||||
|
done
|
||||||
|
#Keep log file - tfox
|
||||||
|
#rm ${SGML_FILE_NAME}.log
|
||||||
|
rm ${SGML_FILE_NAME}.aux
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
|
||||||
|
if [ "$CJK" = "no" ]; then
|
||||||
|
# Convert from DVI to PostScript
|
||||||
|
echo -n Converting to PS...
|
||||||
|
dvips -T 5.49in,8.26in -q ${SGML_FILE_NAME}.dvi -o ${SGML_FILE_NAME}.ps
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
# Convert from PS to PDF
|
||||||
|
echo -n Converting to PDF...
|
||||||
|
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a5 -sOutputFile=${SGML_FILE_NAME}.pdf ${SGML_FILE_NAME}.ps
|
||||||
|
rm ${SGML_FILE_NAME}.ps
|
||||||
|
else
|
||||||
|
dvipdfm -p a5 ${SGML_FILE_NAME}.dvi > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Modified by Tammy Fox <tfox@redhat.com> for Red Hat Documentation
|
||||||
|
|
||||||
|
# Support for Asian Languages by Paul Gampe <pgampe@redhat.com>
|
||||||
|
|
||||||
|
JADETEX="jadetex"
|
||||||
|
|
||||||
|
CJK="no"
|
||||||
|
if [ $LANG = "ja_JP" -o $LANG = "zh_TW" \
|
||||||
|
-o $LANG = "zh_CN" -o $LANG = "ko_KR" ]; then
|
||||||
|
echo "Enabling Asian Language Support via jadetex-cjk"
|
||||||
|
JADETEX="jadetex-cjk"
|
||||||
|
CJK="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert to TeX
|
||||||
|
$SGML_JADE -t tex -o ${SGML_FILE_NAME}.tex $SGML_ARGUMENTS
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert from TeX to DVI
|
||||||
|
$JADETEX ${SGML_FILE_NAME}.tex >${SGML_FILE_NAME}.out
|
||||||
|
if [ $? -ne 0 -a $CJK != "yes" ]
|
||||||
|
then
|
||||||
|
cat ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
|
||||||
|
# If there are unresolved references, re-run jadetex, twice
|
||||||
|
INDEX_CNT=0
|
||||||
|
INDEX_MAX=5
|
||||||
|
while egrep '^LaTeX Warning: There were undefined references.$' ${SGML_FILE_NAME}.log >/dev/null 2>&1
|
||||||
|
do
|
||||||
|
if [ $INDEX_CNT -gt $INDEX_MAX ] ; then
|
||||||
|
echo "Could not resolve undefined references after $INDEX_MAX tries"
|
||||||
|
exit 1
|
||||||
|
fi;
|
||||||
|
echo "$INDEX_CNT: re-running $JADETEX to resolve undefined references"
|
||||||
|
$JADETEX ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
INDEX_CNT=`expr $INDEX_CNT + 1`
|
||||||
|
done
|
||||||
|
#Keep log file - tfox
|
||||||
|
#rm ${SGML_FILE_NAME}.log
|
||||||
|
rm ${SGML_FILE_NAME}.aux
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
|
||||||
|
if [ "$CJK" = "no" ]; then
|
||||||
|
# Convert from DVI to PostScript
|
||||||
|
echo -n Converting to PS...
|
||||||
|
dvips -T 5.49in,8.26in -q ${SGML_FILE_NAME}.dvi -o ${SGML_FILE_NAME}.ps
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
# Convert from PS to PDF
|
||||||
|
echo -n Converting to PDF...
|
||||||
|
gs -q -dNOPAUSE -dBATCH \
|
||||||
|
-dEncodeGrayImages=false -dAntiAliasGrayImages=true \
|
||||||
|
-sDEVICE=pdfwrite -sPAPERSIZE=a5 -sOutputFile=${SGML_FILE_NAME}.pdf ${SGML_FILE_NAME}.ps
|
||||||
|
|
||||||
|
rm ${SGML_FILE_NAME}.ps
|
||||||
|
else
|
||||||
|
dvipdfm -p a5 ${SGML_FILE_NAME}.dvi > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Modified by Tammy Fox <tfox@redhat.com> for Red Hat Documentation
|
||||||
|
|
||||||
|
# Convert to TeX
|
||||||
|
$SGML_JADE -t tex -o ${SGML_FILE_NAME}.tex $SGML_ARGUMENTS
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert from TeX to DVI
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >${SGML_FILE_NAME}.out
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
cat ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
|
||||||
|
# If there are unresolved references, re-run jadetex, twice
|
||||||
|
if egrep '^LaTeX Warning: There were undefined references.$' ${SGML_FILE_NAME}.log >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
fi
|
||||||
|
#Keep log file - tfox
|
||||||
|
#rm ${SGML_FILE_NAME}.log
|
||||||
|
rm ${SGML_FILE_NAME}.aux
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
|
||||||
|
# Convert from DVI to PostScript
|
||||||
|
echo -n Converting to PS...
|
||||||
|
dvips -T 5.49in,8.26in -k -q ${SGML_FILE_NAME}.dvi -o ${SGML_FILE_NAME}.ps
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Modified by Tammy Fox <tfox@redhat.com> for Red Hat Documentation
|
||||||
|
|
||||||
|
# Convert to TeX
|
||||||
|
$SGML_JADE -t tex -o ${SGML_FILE_NAME}.tex $SGML_ARGUMENTS
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert from TeX to DVI
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >${SGML_FILE_NAME}.out
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
cat ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
|
||||||
|
# If there are unresolved references, re-run jadetex, twice
|
||||||
|
if egrep '^LaTeX Warning: There were undefined references.$' ${SGML_FILE_NAME}.log >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
fi
|
||||||
|
#Keep log file - tfox
|
||||||
|
#rm ${SGML_FILE_NAME}.log
|
||||||
|
rm ${SGML_FILE_NAME}.aux
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
|
||||||
|
# Convert from DVI to PostScript
|
||||||
|
echo -n Converting to PS...
|
||||||
|
dvips -T 8.5in,11in -q ${SGML_FILE_NAME}.dvi -o ${SGML_FILE_NAME}.ps
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
# Convert from PS to PDF
|
||||||
|
echo -n Converting to PDF...
|
||||||
|
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=letter -sOutputFile=${SGML_FILE_NAME}.pdf ${SGML_FILE_NAME}.ps
|
||||||
|
rm ${SGML_FILE_NAME}.ps
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Modified by Tammy Fox <tfox@redhat.com> for Red Hat Documentation
|
||||||
|
|
||||||
|
# Convert to TeX
|
||||||
|
$SGML_JADE -t tex -o ${SGML_FILE_NAME}.tex $SGML_ARGUMENTS
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert from TeX to DVI
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >${SGML_FILE_NAME}.out
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
cat ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
|
||||||
|
# If there are unresolved references, re-run jadetex, twice
|
||||||
|
if egrep '^LaTeX Warning: There were undefined references.$' ${SGML_FILE_NAME}.log >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
fi
|
||||||
|
#Keep log file - tfox
|
||||||
|
#rm ${SGML_FILE_NAME}.log
|
||||||
|
rm ${SGML_FILE_NAME}.aux
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
|
||||||
|
# Convert from DVI to PostScript
|
||||||
|
echo -n Converting to PS...
|
||||||
|
dvips -T 8.5in,11in -k -q ${SGML_FILE_NAME}.dvi -o ${SGML_FILE_NAME}.ps
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.dvi
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Modified by Tammy Fox <tfox@redhat.com> for Red Hat Documentation
|
||||||
|
|
||||||
|
# Convert to TeX
|
||||||
|
$SGML_JADE -t tex -o ${SGML_FILE_NAME}.tex $SGML_ARGUMENTS
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert from TeX to DVI
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >${SGML_FILE_NAME}.out
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
cat ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
|
||||||
|
# If there are unresolved references, re-run jadetex, twice
|
||||||
|
if egrep '^LaTeX Warning: There were undefined references.$' ${SGML_FILE_NAME}.log >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
fi
|
||||||
|
#Keep log file - tfox
|
||||||
|
#rm ${SGML_FILE_NAME}.log
|
||||||
|
rm ${SGML_FILE_NAME}.aux
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
|
||||||
|
echo ${DVI_PAGES}
|
||||||
|
|
||||||
|
# Convert from DVI to PostScript
|
||||||
|
echo -n Converting to PS...
|
||||||
|
dvips -T 5.49in,8.26in -pp ${DVI_PAGES} -q ${SGML_FILE_NAME}.dvi -o ${SGML_FILE_NAME}-pg${DVI_PAGES}.ps
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
# rm ${SGML_FILE_NAME}.dvi
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
#rm ${SGML_FILE_NAME}.dvi
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
# Convert from PS to PDF
|
||||||
|
echo -n Converting to PDF...
|
||||||
|
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a5 -sOutputFile=${SGML_FILE_NAME}-pg${DVI_PAGES}.pdf ${SGML_FILE_NAME}-pg${DVI_PAGES}.ps
|
||||||
|
rm ${SGML_FILE_NAME}-pg${DVI_PAGES}.ps
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
# Based on original from Eric Bischoff <eric@caldera.de>
|
||||||
|
|
||||||
|
# Modified by Tammy Fox <tfox@redhat.com> for Red Hat Documentation
|
||||||
|
|
||||||
|
# Convert to TeX
|
||||||
|
$SGML_JADE -t tex -o ${SGML_FILE_NAME}.tex $SGML_ARGUMENTS
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Convert from TeX to DVI
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >${SGML_FILE_NAME}.out
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
cat ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
rm ${SGML_FILE_NAME}.out
|
||||||
|
|
||||||
|
# If there are unresolved references, re-run jadetex, twice
|
||||||
|
if egrep '^LaTeX Warning: There were undefined references.$' ${SGML_FILE_NAME}.log >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
jadetex ${SGML_FILE_NAME}.tex >/dev/null
|
||||||
|
fi
|
||||||
|
#Keep log file - tfox
|
||||||
|
#rm ${SGML_FILE_NAME}.log
|
||||||
|
rm ${SGML_FILE_NAME}.aux
|
||||||
|
rm ${SGML_FILE_NAME}.tex
|
||||||
|
|
||||||
|
echo ${DVI_PAGES}
|
||||||
|
|
||||||
|
# Convert from DVI to PostScript
|
||||||
|
echo -n Converting to PS...
|
||||||
|
dvips -T 5.49in,8.26in -k -pp ${DVI_PAGES} -q ${SGML_FILE_NAME}.dvi -o ${SGML_FILE_NAME}-pg${DVI_PAGES}.ps
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
# rm ${SGML_FILE_NAME}.dvi
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
#rm ${SGML_FILE_NAME}.dvi
|
||||||
|
echo Done!
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# convert image to Encapsulated Postscript, with possible scaling of width
|
||||||
|
#
|
||||||
|
|
||||||
|
# Downloaded from http://people.redhat.com/dcm/
|
||||||
|
#
|
||||||
|
# Modified by tfox for Red Hat Documentation - default to width of 4
|
||||||
|
#
|
||||||
|
# Modified by tfox for Red Hat Documentation - if eps exists, use same scaling
|
||||||
|
#
|
||||||
|
|
||||||
|
if ($ARGV[0] =~ /^--width=(.+)$/) {
|
||||||
|
$width = $1;
|
||||||
|
shift (@ARGV);
|
||||||
|
}
|
||||||
|
|
||||||
|
#print "width =",$width,"\n";
|
||||||
|
|
||||||
|
#print "argv =",$ARGV[0],"\n";
|
||||||
|
|
||||||
|
$infile = $ARGV[0];
|
||||||
|
|
||||||
|
$outfile = $infile;
|
||||||
|
$outfile =~ s/\.png/\.eps/;
|
||||||
|
|
||||||
|
if (!(-e $infile)) {
|
||||||
|
print "File doesn't exist\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(-e $outfile)) {
|
||||||
|
# print "EPS File doesn't exist\n";
|
||||||
|
#default width to 4 if it is not specified
|
||||||
|
if ($width == "") {
|
||||||
|
$width = "4";
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
#if eps exists AND no width is specified, use existing scaling
|
||||||
|
if ($width == "") {
|
||||||
|
print "scaling $infile based on existing EPS\n";
|
||||||
|
$epsimagesz = `identify $outfile`;
|
||||||
|
#print "epsimagesz=", $epsimagesz,"\n";
|
||||||
|
|
||||||
|
($epsname, $epstype, $epssize, $epsrest) = split / /, $epsimagesz, 4;
|
||||||
|
# print "epssplit:", $epsname, " ", $epstype, " ", $epssize, " ", $epsrest, "\n";
|
||||||
|
#print "epssize = ",$epssize,"\n";
|
||||||
|
|
||||||
|
($epsx, $epsy) = split /x/, $epssize, 2;
|
||||||
|
($epsy, $epsrest) = split /\+/, $epsy, 2;
|
||||||
|
|
||||||
|
#print $epsx," by ",$epsy, "\n";
|
||||||
|
$width = $epsx/72.0;
|
||||||
|
#print "epswidth=", $width, "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$imagesz = `identify $ARGV[0]`;
|
||||||
|
#print "imagesz=", $imagesz,"\n";
|
||||||
|
|
||||||
|
($name, $type, $size, $rest) = split / /, $imagesz, 4;
|
||||||
|
#print "split:", $name, " ", $type, " ", $size, " ", $rest, "\n";
|
||||||
|
#print "size = ",$size,"\n";
|
||||||
|
|
||||||
|
($x, $y) = split /x/, $size, 2;
|
||||||
|
($y, $rest) = split /\+/, $y, 2;
|
||||||
|
|
||||||
|
#print $x," by ",$y, "\n";
|
||||||
|
|
||||||
|
|
||||||
|
# if width set, we need to scale
|
||||||
|
if ($width != "") {
|
||||||
|
$scale = $width * (72.0/$x);
|
||||||
|
} else {
|
||||||
|
$scale = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$scale = 72.0/$scale;
|
||||||
|
#print "scale = ",$scale,"\n";
|
||||||
|
|
||||||
|
#print $infile," ",$outfile,"\n";
|
||||||
|
system("convert $infile tmpimage.pgm");
|
||||||
|
#system("giftopnm $infile | ppmtopgm > tmpimage.pgm");
|
||||||
|
system("convert -density $scale -colorspace gray tmpimage.pgm $outfile");
|
||||||
|
system("rm tmpimage.pgm");
|
||||||
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue