ccm-bundle hinzugefügt, wird bundle f. LibreCMS und Nicht-SCI Seiten.
git-svn-id: https://svn.libreccm.org/ccm/trunk@1268 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
acc72a0b5c
commit
e54358ed23
|
|
@ -0,0 +1,45 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
|
||||||
|
name="ccm-bundle"
|
||||||
|
prettyName="LibreCMS 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-ldn-subsite" 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-ldn-terms" version="6.6.0" relation="ge"/>
|
||||||
|
<ccm:requires name="ccm-ldn-search" version="6.6.0" relation="ge"/>
|
||||||
|
</ccm:dependencies>
|
||||||
|
|
||||||
|
<ccm:directories>
|
||||||
|
<!-- pdl is empty and not used, but required because we use sql for
|
||||||
|
some update 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 as a general Content
|
||||||
|
Management and Collaboration system - LibreCMS.
|
||||||
|
- 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,143 @@
|
||||||
|
# Scientific CMS demo bundle integration.properties
|
||||||
|
#
|
||||||
|
waf.bebop.base_page=com.arsdigita.aplaws.ui.SimplePage
|
||||||
|
#
|
||||||
|
; dhtml editor to use (system wide)
|
||||||
|
; Xinha is default
|
||||||
|
; default: Xinha editor & src=/assets/xinha/XinhaLoader.js
|
||||||
|
#waf.bebop.dhtml_editor=FCKeditor
|
||||||
|
|
||||||
|
waf.categorization.show_internal_name=true
|
||||||
|
|
||||||
|
waf.dispatcher.default_expiry=3600
|
||||||
|
;
|
||||||
|
waf.kernel.data_permission_check_enabled=false
|
||||||
|
waf.kernel.primary_user_identifier=email
|
||||||
|
; if you activate screen_name, forum loader does not work.
|
||||||
|
; waf.kernel.primary_user_identifier=screen_name
|
||||||
|
waf.kernel.supported_languages=de,en
|
||||||
|
|
||||||
|
; 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.london.subsite.dispatcher.SubsiteItemTemplateResolver
|
||||||
|
|
||||||
|
; Configure dhtml editor for use in cms content-center
|
||||||
|
; Xinha is default and should work out of the box
|
||||||
|
; com.arsdigita.cms.dhtml_editor_config=XinhaConfig,/assets/xinha/XinhaConfig.js
|
||||||
|
; as a temporary measure a different configuration file which includes a link selection box for CCM items
|
||||||
|
; and CCM images should be specified:
|
||||||
|
com.arsdigita.cms.dhtml_editor_config=XinhaConfig,/assets/xinha/CCMcmsXinhaConfig.js
|
||||||
|
|
||||||
|
; to use FCKeditor:
|
||||||
|
; com.arsdigita.cms.dhtml_editor_config=FCKEditor.Config.StyleDefault?,/assets/fckeditor/config/fckconfigOpenCCM.js
|
||||||
|
; com.arsdigita.cms.dhtml_editor_config=XinhaConfig,/assets/xinha/XinhaConfig.js
|
||||||
|
; com.arsdigita.cms.dhtml_editor_hidden_buttons=
|
||||||
|
; com.arsdigita.cms.dhtml_editor_plugins=TableOperations,CSS
|
||||||
|
com.arsdigita.cms.dhtml_editor_plugins=
|
||||||
|
|
||||||
|
com.arsdigita.cms.disable_item_pfs=true
|
||||||
|
|
||||||
|
com.arsdigita.cms.hide_admin_tabs=true
|
||||||
|
com.arsdigita.cms.hide_folder_index_checkbox=true
|
||||||
|
com.arsdigita.cms.hide_launch_date=true
|
||||||
|
com.arsdigita.cms.hide_templates_tab=true
|
||||||
|
com.arsdigita.cms.hide_timezone=true
|
||||||
|
com.arsdigita.cms.hide_udct_ui=true
|
||||||
|
|
||||||
|
com.arsdigita.cms.use_section_categories=false
|
||||||
|
com.arsdigita.cms.use_streamlined_creation=true
|
||||||
|
|
||||||
|
|
||||||
|
# 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.london.subsite.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-ldn-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-sci-bundle (Loader only)
|
||||||
|
#com.arsdigita.bundle.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-sci?user\=sci&password\=sci47web&stringtype\=unspecified
|
||||||
|
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,166 @@
|
||||||
|
<?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:application name="ccm-portalworkspace"/>
|
||||||
|
<ccm:application name="ccm-themedirector"/>
|
||||||
|
|
||||||
|
<!-- LDN extension -->
|
||||||
|
<ccm:application name="ccm-ldn-search"/>
|
||||||
|
<ccm:application name="ccm-ldn-shortcuts"/>
|
||||||
|
<ccm:application name="ccm-ldn-subsite"/>
|
||||||
|
<ccm:application name="ccm-ldn-terms"/>
|
||||||
|
<ccm:application name="ccm-ldn-util"/>
|
||||||
|
|
||||||
|
<!-- SCI extension -->
|
||||||
|
<ccm:application name="ccm-sci-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-sci-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,540 @@
|
||||||
|
<?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
|
||||||
|
NOT USED with ZeS
|
||||||
|
<filter>
|
||||||
|
<filter-name>secured</filter-name>
|
||||||
|
<filter-class>com.arsdigita.web.SecureFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
-->
|
||||||
|
<!-- Initialize Profiler timers
|
||||||
|
NOT USED with ZeS standard / production
|
||||||
|
<filter>
|
||||||
|
<filter-name>profiler</filter-name>
|
||||||
|
<filter-class>com.arsdigita.profiler.ProfilerFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<filter>
|
||||||
|
<filter-name>shortcuts</filter-name>
|
||||||
|
<filter-class>com.arsdigita.london.shortcuts.ShortcutFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
|
||||||
|
<filter>
|
||||||
|
<filter-name>subsite</filter-name>
|
||||||
|
<filter-class>com.arsdigita.london.subsite.SubsiteFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
|
||||||
|
<!-- NOT USED HERE
|
||||||
|
<filter-mapping>
|
||||||
|
<filter-name>secured</filter-name>
|
||||||
|
<url-pattern>/*</url-pattern>
|
||||||
|
</filter-mapping>
|
||||||
|
|
||||||
|
<filter-mapping>
|
||||||
|
<filter-name>profiler</filter-name>
|
||||||
|
<url-pattern>/*</url-pattern>
|
||||||
|
</filter-mapping>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<filter-mapping>
|
||||||
|
<filter-name>subsite</filter-name>
|
||||||
|
<url-pattern>/*</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-ldn-subsite</param-value>
|
||||||
|
</init-param>
|
||||||
|
</servlet>
|
||||||
|
<!-- module ccm-ldn-subsite - servlet declarations END -->
|
||||||
|
|
||||||
|
<!-- module ccm-ldn-terms - servlet declarations BEGIN -->
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>terms-files</servlet-name>
|
||||||
|
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>template-path</param-name>
|
||||||
|
<param-value>/templates/ccm-ldn-terms</param-value>
|
||||||
|
</init-param>
|
||||||
|
</servlet>
|
||||||
|
<!-- module ccm-ldn-terms - servlet declarations END -->
|
||||||
|
|
||||||
|
<!-- module ccm-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-ldn-subsite/files/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
<!-- module ccm-ldn-subsite - servlet mappings END -->
|
||||||
|
|
||||||
|
<!-- module ccm-ldn-terms - servlet mappings BEGIN -->
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>terms-files</servlet-name>
|
||||||
|
<url-pattern>/ccm-ldn-terms/files/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
<!-- module ccm-ldn-terms - servlet mappings END -->
|
||||||
|
|
||||||
|
<!-- module ccm-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-navigation/navigation/sci-default.jsp
|
||||||
|
ScientificCMS Recent Items Page,Sci List of items ordered with most recent first,/templates/ccm-navigation/navigation/sci-recent.jsp
|
||||||
|
ScientificCMS A-Z Items,Sci List of items paginated as A-Z,/templates/ccm-navigation/navigation/sci-atoz.jsp
|
||||||
|
ScientificCMS Events Page,Sci Events Page ordering events in ??? order,/templates/ccm-navigation/navigation/sci-events.jsp
|
||||||
|
ScientificCMS Portal Page,Sci Portal Page for embedding a portal page as navigation leaves page,/templates/ccm-navigation/navigation/sci-portal.jsp
|
||||||
|
ScientificCMS Portal Welcome Page,Sci Portal page meant as site welcome page,/templates/ccm-navigation/navigation/sci-portal-welcome.jsp
|
||||||
|
ScientificCMS Navigation Welcome Page,Sci site welcome page created by navigation root term,/templates/ccm-navigation/navigation/sci-welcome.jsp
|
||||||
|
ScientificCMS Specializing Items List,Sci Specialising List item page,/templates/ccm-navigation/navigation/SpecializingList.jsp
|
||||||
|
ScientificCMS Publications List,Sci publications listing page,/templates/ccm-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-sci-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-sci-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.london.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-zes-devel
|
||||||
|
BUNDLE_PRETTY_NAME="APLAWS+ ZeS Devel Bundle"
|
||||||
|
VERSION=1.1.2devel
|
||||||
|
RELEASE=1
|
||||||
|
|
@ -0,0 +1,143 @@
|
||||||
|
# Scientific CMS devel bundle integration.properties
|
||||||
|
#
|
||||||
|
waf.bebop.base_page=com.arsdigita.aplaws.ui.SimplePage
|
||||||
|
#
|
||||||
|
; dhtml editor to use (system wide)
|
||||||
|
; Xinha is default
|
||||||
|
; default: Xinha editor & src=/assets/xinha/XinhaLoader.js
|
||||||
|
#waf.bebop.dhtml_editor=FCKeditor
|
||||||
|
|
||||||
|
waf.categorization.show_internal_name=true
|
||||||
|
|
||||||
|
waf.dispatcher.default_expiry=3600
|
||||||
|
;
|
||||||
|
waf.kernel.data_permission_check_enabled=false
|
||||||
|
waf.kernel.primary_user_identifier=email
|
||||||
|
; if you activate screen_name, forum loader does not work.
|
||||||
|
; waf.kernel.primary_user_identifier=screen_name
|
||||||
|
waf.kernel.supported_languages=de,en
|
||||||
|
|
||||||
|
; 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.london.subsite.dispatcher.SubsiteItemTemplateResolver
|
||||||
|
|
||||||
|
; Configure dhtml editor for use in cms content-center
|
||||||
|
; Xinha is default and should work out of the box
|
||||||
|
; com.arsdigita.cms.dhtml_editor_config=XinhaConfig,/assets/xinha/XinhaConfig.js
|
||||||
|
; as a temporary measure a different configuration file which includes a link selection box for CCM items
|
||||||
|
; and CCM images should be specified:
|
||||||
|
com.arsdigita.cms.dhtml_editor_config=XinhaConfig,/assets/xinha/CCMcmsXinhaConfig.js
|
||||||
|
|
||||||
|
; to use FCKeditor:
|
||||||
|
; com.arsdigita.cms.dhtml_editor_config=FCKEditor.Config.StyleDefault?,/assets/fckeditor/config/fckconfigOpenCCM.js
|
||||||
|
; com.arsdigita.cms.dhtml_editor_config=XinhaConfig,/assets/xinha/XinhaConfig.js
|
||||||
|
; com.arsdigita.cms.dhtml_editor_hidden_buttons=
|
||||||
|
; com.arsdigita.cms.dhtml_editor_plugins=TableOperations,CSS
|
||||||
|
com.arsdigita.cms.dhtml_editor_plugins=
|
||||||
|
|
||||||
|
com.arsdigita.cms.disable_item_pfs=true
|
||||||
|
|
||||||
|
com.arsdigita.cms.hide_admin_tabs=true
|
||||||
|
com.arsdigita.cms.hide_folder_index_checkbox=true
|
||||||
|
com.arsdigita.cms.hide_launch_date=true
|
||||||
|
com.arsdigita.cms.hide_templates_tab=true
|
||||||
|
com.arsdigita.cms.hide_timezone=true
|
||||||
|
com.arsdigita.cms.hide_udct_ui=true
|
||||||
|
|
||||||
|
com.arsdigita.cms.use_section_categories=false
|
||||||
|
com.arsdigita.cms.use_streamlined_creation=true
|
||||||
|
|
||||||
|
|
||||||
|
# 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.london.subsite.root_category_picker=com.arsdigita.london.terms.ui.RootCategoryPicker
|
||||||
|
|
||||||
|
|
||||||
|
# ccm-ldn-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-sci-bundle (Loader only)
|
||||||
|
#com.arsdigita.bundle.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-sci?user\=sci&password\=sci47web&stringtype\=unspecified
|
||||||
|
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,166 @@
|
||||||
|
<?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:application name="ccm-portalworkspace"/>
|
||||||
|
<ccm:application name="ccm-themedirector"/>
|
||||||
|
|
||||||
|
<!-- LDN extension -->
|
||||||
|
<ccm:application name="ccm-ldn-search"/>
|
||||||
|
<ccm:application name="ccm-ldn-shortcuts"/>
|
||||||
|
<ccm:application name="ccm-ldn-subsite"/>
|
||||||
|
<ccm:application name="ccm-ldn-terms"/>
|
||||||
|
<ccm:application name="ccm-ldn-util"/>
|
||||||
|
|
||||||
|
<!-- SCI extension -->
|
||||||
|
<ccm:application name="ccm-sci-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-sci-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,540 @@
|
||||||
|
<?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
|
||||||
|
NOT USED with ZeS
|
||||||
|
<filter>
|
||||||
|
<filter-name>secured</filter-name>
|
||||||
|
<filter-class>com.arsdigita.web.SecureFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
-->
|
||||||
|
<!-- Initialize Profiler timers
|
||||||
|
NOT USED with ZeS standard / production
|
||||||
|
<filter>
|
||||||
|
<filter-name>profiler</filter-name>
|
||||||
|
<filter-class>com.arsdigita.profiler.ProfilerFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<filter>
|
||||||
|
<filter-name>shortcuts</filter-name>
|
||||||
|
<filter-class>com.arsdigita.london.shortcuts.ShortcutFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
|
||||||
|
<filter>
|
||||||
|
<filter-name>subsite</filter-name>
|
||||||
|
<filter-class>com.arsdigita.london.subsite.SubsiteFilter</filter-class>
|
||||||
|
</filter>
|
||||||
|
|
||||||
|
<!-- NOT USED HERE
|
||||||
|
<filter-mapping>
|
||||||
|
<filter-name>secured</filter-name>
|
||||||
|
<url-pattern>/*</url-pattern>
|
||||||
|
</filter-mapping>
|
||||||
|
|
||||||
|
<filter-mapping>
|
||||||
|
<filter-name>profiler</filter-name>
|
||||||
|
<url-pattern>/*</url-pattern>
|
||||||
|
</filter-mapping>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<filter-mapping>
|
||||||
|
<filter-name>subsite</filter-name>
|
||||||
|
<url-pattern>/*</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-ldn-subsite</param-value>
|
||||||
|
</init-param>
|
||||||
|
</servlet>
|
||||||
|
<!-- module ccm-ldn-subsite - servlet declarations END -->
|
||||||
|
|
||||||
|
<!-- module ccm-ldn-terms - servlet declarations BEGIN -->
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>terms-files</servlet-name>
|
||||||
|
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>template-path</param-name>
|
||||||
|
<param-value>/templates/ccm-ldn-terms</param-value>
|
||||||
|
</init-param>
|
||||||
|
</servlet>
|
||||||
|
<!-- module ccm-ldn-terms - servlet declarations END -->
|
||||||
|
|
||||||
|
<!-- module ccm-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-ldn-subsite/files/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
<!-- module ccm-ldn-subsite - servlet mappings END -->
|
||||||
|
|
||||||
|
<!-- module ccm-ldn-terms - servlet mappings BEGIN -->
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>terms-files</servlet-name>
|
||||||
|
<url-pattern>/ccm-ldn-terms/files/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
<!-- module ccm-ldn-terms - servlet mappings END -->
|
||||||
|
|
||||||
|
<!-- module ccm-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-sci-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-sci-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.london.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,23 @@
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>TextOnlyServlet</servlet-name>
|
||||||
|
<display-name>Text Only Servlet</display-name>
|
||||||
|
<servlet-class>
|
||||||
|
com.arsdigita.web.InternalPrefixerServlet
|
||||||
|
</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>prefix</param-name>
|
||||||
|
<param-value>/text</param-value>
|
||||||
|
</init-param>
|
||||||
|
</servlet>
|
||||||
|
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>PrintFriendlyServlet</servlet-name>
|
||||||
|
<display-name>Printer Friendly Output Servlet</display-name>
|
||||||
|
<servlet-class>
|
||||||
|
com.arsdigita.web.InternalPrefixerServlet
|
||||||
|
</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>prefix</param-name>
|
||||||
|
<param-value>/print</param-value>
|
||||||
|
</init-param>
|
||||||
|
</servlet>
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>TextOnlyServlet</servlet-name>
|
||||||
|
<url-pattern>/text/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>PrintFriendlyServlet</servlet-name>
|
||||||
|
<url-pattern>/print/*</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
--
|
||||||
|
-- Copyright (C) 2011 Peter Boy All Rights Reserved.
|
||||||
|
--
|
||||||
|
-- This library is free software; you can redistribute it and/or
|
||||||
|
-- modify it under the terms of the GNU Lesser General Public License
|
||||||
|
-- as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
-- the License, or (at your option) any later version.
|
||||||
|
--
|
||||||
|
-- This library is distributed in the hope that it will be useful,
|
||||||
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
-- Lesser General Public License for more details.
|
||||||
|
--
|
||||||
|
-- You should have received a copy of the GNU Lesser General Public
|
||||||
|
-- License along with this library; if not, write to the Free Software
|
||||||
|
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--
|
||||||
|
-- $DateTime: 2011/11/10 23:15:09 $
|
||||||
|
-- $Id: upd_nav_templates_table pboy $
|
||||||
|
|
||||||
|
-- Internal use at Bremen University only!
|
||||||
|
-- Updates various university sites from als ccm-xxx-aplaws to scm-sci-bundle
|
||||||
|
|
||||||
|
-- Update new path
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'packages/navigation/templates'
|
||||||
|
,'templates/ccm-navigation/navigation')
|
||||||
|
where url like '%packages/navigation/templates%';
|
||||||
|
|
||||||
|
|
||||||
|
-- AAP: update jsp names
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'aap-atoz','sci-atoz'),
|
||||||
|
description=replace(description,'AAP','SCI'),
|
||||||
|
title=replace(title,'AAP','SCI')
|
||||||
|
where url like '%aap-atoz%';
|
||||||
|
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'aap-default' ,'sci-default'),
|
||||||
|
description=replace(description,'AAP','SCI'),
|
||||||
|
title=replace(title,'AAP','SCI')
|
||||||
|
where url like '%aap-default%';
|
||||||
|
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'aap-portal' ,'sci-portal'),
|
||||||
|
description=replace(description,'AAP','SCI'),
|
||||||
|
title=replace(title,'AAP','SCI')
|
||||||
|
where url like '%aap-portal%';
|
||||||
|
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'aap-recent' ,'sci-recent'),
|
||||||
|
description=replace(description,'AAP','SCI'),
|
||||||
|
title=replace(title,'AAP','SCI')
|
||||||
|
where url like '%aap-recent%';
|
||||||
|
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'aap-welcome' ,'sci-welcome'),
|
||||||
|
description=replace(description,'AAP','SCI'),
|
||||||
|
title=replace(title,'AAP','SCI')
|
||||||
|
where url like '%aap-welcome%';
|
||||||
|
|
||||||
|
|
||||||
|
-- IAW: update jsp names
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'iaw-atoz','sci-atoz'),
|
||||||
|
description=replace(description,'IAW','SCI'),
|
||||||
|
title=replace(title,'IAW','SCI')
|
||||||
|
where url like '%iaw-atoz%';
|
||||||
|
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'iaw-default' ,'sci-default'),
|
||||||
|
description=replace(description,'IAW','SCI'),
|
||||||
|
title=replace(title,'IAW','SCI')
|
||||||
|
where url like '%iaw-default%';
|
||||||
|
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'iaw-portal' ,'sci-portal'),
|
||||||
|
description=replace(description,'IAW','SCI'),
|
||||||
|
title=replace(title,'IAW','SCI')
|
||||||
|
where url like '%iaw-portal%';
|
||||||
|
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'iaw-recent' ,'sci-recent'),
|
||||||
|
description=replace(description,'IAW','SCI'),
|
||||||
|
title=replace(title,'IAW','SCI')
|
||||||
|
where url like '%iaw-recent%';
|
||||||
|
|
||||||
|
update nav_templates
|
||||||
|
set url=replace(url,'iaw-welcome' ,'sci-welcome'),
|
||||||
|
description=replace(description,'IAW','SCI'),
|
||||||
|
title=replace(title,'IAW','SCI')
|
||||||
|
where url like '%iaw-welcome%';
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
--
|
||||||
|
-- Copyright (C) 2011 Peter Boy All Rights Reserved.
|
||||||
|
--
|
||||||
|
-- This library is free software; you can redistribute it and/or
|
||||||
|
-- modify it under the terms of the GNU Lesser General Public License
|
||||||
|
-- as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
-- the License, or (at your option) any later version.
|
||||||
|
--
|
||||||
|
-- This library is distributed in the hope that it will be useful,
|
||||||
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
-- Lesser General Public License for more details.
|
||||||
|
--
|
||||||
|
-- You should have received a copy of the GNU Lesser General Public
|
||||||
|
-- License along with this library; if not, write to the Free Software
|
||||||
|
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--
|
||||||
|
-- $Id: upd_system_tables.sql pboy $
|
||||||
|
|
||||||
|
-- adjust various system tables to the new name of application (ccm-sci-bundle)
|
||||||
|
|
||||||
|
alter table init_requirements drop constraint init_requirements_init_f_cmmdn ;
|
||||||
|
|
||||||
|
alter table init_requirements drop constraint init_require_requ_init_f_i6rgg ;
|
||||||
|
|
||||||
|
update inits
|
||||||
|
set class_name=replace(class_name,'arsdigita.aplaws', 'arsdigita.bundle')
|
||||||
|
where class_name like '%arsdigita.aplaws%' ;
|
||||||
|
|
||||||
|
update init_requirements
|
||||||
|
set init=replace(init,'arsdigita.aplaws', 'arsdigita.bundle')
|
||||||
|
where init like '%arsdigita.aplaws%' ;
|
||||||
|
|
||||||
|
update init_requirements
|
||||||
|
set required_init=replace(required_init,'arsdigita.aplaws', 'arsdigita.bundle')
|
||||||
|
where required_init like '%arsdigita.aplaws%' ;
|
||||||
|
|
||||||
|
ALTER TABLE ONLY init_requirements
|
||||||
|
ADD CONSTRAINT init_requirements_init_f_cmmdn FOREIGN KEY (init)
|
||||||
|
REFERENCES inits (class_name) MATCH SIMPLE
|
||||||
|
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
|
||||||
|
ALTER TABLE init_requirements
|
||||||
|
ADD CONSTRAINT init_require_requ_init_f_i6rgg FOREIGN KEY (required_init)
|
||||||
|
REFERENCES inits (class_name) MATCH SIMPLE
|
||||||
|
ON UPDATE NO ACTION ON DELETE NO ACTION;
|
||||||
|
|
||||||
|
|
||||||
|
-- update application_types
|
||||||
|
-- set object_type=replace(object_type,'london.portal', 'portalworkspace')
|
||||||
|
-- where object_type like '%london.portal%' ;
|
||||||
|
|
||||||
|
-- table applications doesn't require an update
|
||||||
|
|
||||||
|
-- update apm_package_types
|
||||||
|
-- set package_key=replace(package_key,'workspace', 'portalworkspace')
|
||||||
|
-- where package_key like 'workspace' ;
|
||||||
|
|
||||||
|
-- table apm_packages doesn't require an update either
|
||||||
|
-- table site_nodes doesn't require an update either
|
||||||
|
|
||||||
|
|
||||||
|
-- update application type in acs_objects
|
||||||
|
update acs_objects
|
||||||
|
set (object_type,default_domain_class) =
|
||||||
|
(replace(object_type,'arsdigita.aplaws', 'arsdigita.bundle') ,
|
||||||
|
replace(default_domain_class,'arsdigita.aplaws', 'arsdigita.bundle') )
|
||||||
|
where object_type like '%arsdigita.aplaws%' ;
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
--
|
||||||
|
-- Copyright (C) 2011 Peter Boy All Rights Reserved.
|
||||||
|
--
|
||||||
|
-- This library is free software; you can redistribute it and/or
|
||||||
|
-- modify it under the terms of the GNU Lesser General Public License
|
||||||
|
-- as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
-- the License, or (at your option) any later version.
|
||||||
|
--
|
||||||
|
-- This library is distributed in the hope that it will be useful,
|
||||||
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
-- Lesser General Public License for more details.
|
||||||
|
--
|
||||||
|
-- You should have received a copy of the GNU Lesser General Public
|
||||||
|
-- License along with this library; if not, write to the Free Software
|
||||||
|
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--
|
||||||
|
-- $DateTime: 2011/11/10 23:15:09 $
|
||||||
|
-- $Id: oracle-se-0.0.0-6.6.0 pboy $
|
||||||
|
|
||||||
|
-- Internal use at Bremen University only!
|
||||||
|
-- Updates various university sites from als ccm-xxx-aplaws to scm-sci-bundle
|
||||||
|
|
||||||
|
@@ default/0.0.0-6.6.0/upd_system_tables.sql
|
||||||
|
@@ default/0.0.0-6.6.0/upd_nav_templates_table.sql
|
||||||
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
--
|
||||||
|
-- Copyright (C) 2011 Peter Boy All Rights Reserved.
|
||||||
|
--
|
||||||
|
-- This library is free software; you can redistribute it and/or
|
||||||
|
-- modify it under the terms of the GNU Lesser General Public License
|
||||||
|
-- as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
-- the License, or (at your option) any later version.
|
||||||
|
--
|
||||||
|
-- This library is distributed in the hope that it will be useful,
|
||||||
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
-- Lesser General Public License for more details.
|
||||||
|
--
|
||||||
|
-- You should have received a copy of the GNU Lesser General Public
|
||||||
|
-- License along with this library; if not, write to the Free Software
|
||||||
|
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--
|
||||||
|
-- $DateTime: 2011/11/10 23:15:09 $
|
||||||
|
-- $Id: postgres-0.0.0-6.6.0 pboy $
|
||||||
|
|
||||||
|
\echo Red Hat Enterprise ccm-sci-bundle 0.0.0 -> 6.6.0 Upgrade Script (PostgreSQL)
|
||||||
|
|
||||||
|
-- Internal use at Bremen University only!
|
||||||
|
-- Updates various university sites from als ccm-xxx-aplaws to scm-sci-bundle
|
||||||
|
|
||||||
|
begin;
|
||||||
|
|
||||||
|
\i default/0.0.0-6.6.0/upd_system_tables.sql
|
||||||
|
\i default/0.0.0-6.6.0/upd_nav_templates_table.sql
|
||||||
|
|
||||||
|
commit;
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
# -*- text -*-
|
||||||
|
# This file locates stylesheets, if you are using the
|
||||||
|
# "PatternStylesheetResolver". Please read the Javadoc for that file for
|
||||||
|
# the full story.
|
||||||
|
|
||||||
|
# Output type is for things such as text/javascript
|
||||||
|
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::-::outputtype::-::locale::.xsl
|
||||||
|
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::-::outputtype::.xsl
|
||||||
|
|
||||||
|
# Grabs custom item xsl for CMS
|
||||||
|
http://::host::/__ccm__/servlet/content-item/index.xsl?oid=::item_template_oid::&delegated=::item_delegated_url::
|
||||||
|
|
||||||
|
# added by Quasimodo
|
||||||
|
# Theme with single entry point (e.g Mandalay)
|
||||||
|
http://::host::/resource/::webapp::/themes/::themedir::/::theme::/start.xsl
|
||||||
|
|
||||||
|
# Theme, with optional locale & prefix
|
||||||
|
http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::prefix::-::locale::.xsl
|
||||||
|
http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::prefix::.xsl
|
||||||
|
|
||||||
|
# Theme, with optional locale
|
||||||
|
http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::-::locale::.xsl
|
||||||
|
http://::host::/resource/::webapp::/themes/::themedir::/::theme::/::application::-::url::.xsl
|
||||||
|
|
||||||
|
# APLAWS generic default, with locale and prefix
|
||||||
|
# XXX change ROOT -> ccm-ldn-aplaws
|
||||||
|
http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::prefix::-::locale::.xsl
|
||||||
|
http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::prefix::.xsl
|
||||||
|
http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::url::-::prefix::-::locale::.xsl
|
||||||
|
http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::url::-::prefix::.xsl
|
||||||
|
|
||||||
|
# APLAWS generic default, with locale
|
||||||
|
# XXX change ROOT -> ccm-ldn-aplaws
|
||||||
|
http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::-::locale::.xsl
|
||||||
|
http://::host::/resource/ROOT/themes/static/aplaws-generic/::application::-::url::.xsl
|
||||||
|
http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::url::-::locale::.xsl
|
||||||
|
http://::host::/resource/ROOT/__ccm__/themes/aplaws-generic/::application::-::url::.xsl
|
||||||
|
|
||||||
|
# Global default, from application's own web app
|
||||||
|
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::-::locale::.xsl
|
||||||
|
http://::host::/resource/::webapp::/__ccm__/apps/::application::/xsl/::url::.xsl
|
||||||
|
|
||||||
|
# Global default, from application's own web app - relocated version >= 6.6.1
|
||||||
|
http://::host::/resource/ROOT/themes/heirloom/apps/::application::/xsl/::url::-::locale::.xsl
|
||||||
|
http://::host::/resource/ROOT/themes/heirloom/apps/::application::/xsl/::url::.xsl
|
||||||
|
http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::-::locale::.xsl
|
||||||
|
http://::host::/resource/::webapp::/themes/heirloom/apps/::application::/xsl/::url::.xsl
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<registry>
|
||||||
|
<!-- Config specifies the name of the class which handles configuration
|
||||||
|
properties and the directory and file name of the config parameters
|
||||||
|
in registry. -->
|
||||||
|
<!-- currently nothing to config
|
||||||
|
<config class="com.arsdigita.bundle.BundleConfig"
|
||||||
|
storage="ccm-sci-bundle/bundle.properties"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
</registry>
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
<load>
|
||||||
|
<requires>
|
||||||
|
<table name="inits"/>
|
||||||
|
<table name="acs_objects"/>
|
||||||
|
<initializer class="com.arsdigita.core.Initializer"/>
|
||||||
|
<table name="cms_items"/>
|
||||||
|
<initializer class="com.arsdigita.cms.Initializer"/>
|
||||||
|
<initializer class="com.arsdigita.london.terms.Initializer"/>
|
||||||
|
<initializer class="com.arsdigita.london.subsite.Initializer"/>
|
||||||
|
<initializer class="com.arsdigita.portalworkspace.Initializer"/>
|
||||||
|
<initializer class="com.arsdigita.london.search.Initializer"/>
|
||||||
|
</requires>
|
||||||
|
<provides>
|
||||||
|
<!--
|
||||||
|
<table name=""/>
|
||||||
|
-->
|
||||||
|
<initializer class="com.arsdigita.bundle.Initializer"/>
|
||||||
|
</provides>
|
||||||
|
<scripts>
|
||||||
|
<data class="com.arsdigita.bundle.Loader"/>
|
||||||
|
</scripts>
|
||||||
|
</load>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<upgrade>
|
||||||
|
<version from="0.0.0" to="6.6.0">
|
||||||
|
<script sql="ccm-sci-bundle/upgrade/::database::-0.0.0-6.6.0.sql"/>
|
||||||
|
</version>
|
||||||
|
</upgrade>
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2002-2005 Runtime Collective Ltd. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.aplaws;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
public class Aplaws {
|
||||||
|
public static final String versionId =
|
||||||
|
"$Id: Aplaws.java 1297 2006-08-25 18:17:50Z apevec $";
|
||||||
|
|
||||||
|
private static final Logger LOG = Logger.getLogger(Aplaws.class);
|
||||||
|
|
||||||
|
private static AplawsConfig aplawsConfig = new AplawsConfig();
|
||||||
|
|
||||||
|
static {
|
||||||
|
aplawsConfig.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final AplawsConfig getAplawsConfig() {
|
||||||
|
return aplawsConfig;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2002-2005 Runtime Collective Ltd. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.aplaws;
|
||||||
|
|
||||||
|
import com.arsdigita.runtime.AbstractConfig;
|
||||||
|
import com.arsdigita.util.parameter.Parameter;
|
||||||
|
import com.arsdigita.util.parameter.BooleanParameter;
|
||||||
|
import com.arsdigita.util.parameter.StringParameter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AplawsConfig
|
||||||
|
*
|
||||||
|
* @version $Revision: 1.2 $ $Date: 2005/01/07 19:01:40 $
|
||||||
|
* @version $Id: AplawsConfig.java 1565 2007-04-18 16:46:14Z apevec $
|
||||||
|
*/
|
||||||
|
public class AplawsConfig extends AbstractConfig {
|
||||||
|
|
||||||
|
private final Parameter m_ajaxExpandAllBranches = new BooleanParameter(
|
||||||
|
"com.arsdigita.aplaws.ajax_expand_on_all_branches",
|
||||||
|
Parameter.OPTIONAL,
|
||||||
|
Boolean.FALSE);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public AplawsConfig() {
|
||||||
|
register(m_ajaxExpandAllBranches);
|
||||||
|
loadInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean ajaxExpandAllBranches () {
|
||||||
|
return ((Boolean)get(m_ajaxExpandAllBranches)).booleanValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
com.arsdigita.aplaws.ajax_expand_on_all_branches.title=Use Ajax on all branch expansions
|
||||||
|
com.arsdigita.aplaws.ajax_expand_on_all_branches.purpose=Use Ajax on all branches, or bring back entire subtree on expansion of top level root
|
||||||
|
com.arsdigita.aplaws.ajax_expand_on_all_branches.example=true|false
|
||||||
|
com.arsdigita.aplaws.ajax_expand_on_all_branches.format=[boolean]
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle;
|
||||||
|
|
||||||
|
import com.arsdigita.categorization.Categorization;
|
||||||
|
import com.arsdigita.runtime.CompoundInitializer;
|
||||||
|
import com.arsdigita.runtime.DomainInitEvent;
|
||||||
|
import com.arsdigita.templating.PatternStylesheetResolver;
|
||||||
|
|
||||||
|
import com.arsdigita.london.terms.TermCategoryListener;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The CCM bundle initializer.
|
||||||
|
*
|
||||||
|
* @version $Id: Initializer.java 1232 2006-06-22 12:01:30Z sskracic $
|
||||||
|
*/
|
||||||
|
public class Initializer extends CompoundInitializer {
|
||||||
|
|
||||||
|
private static Logger s_log = Logger.getLogger
|
||||||
|
(Initializer.class.getName());
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Package Implementation of {@link Initializer#init(DomainInitEvent)}.
|
||||||
|
*
|
||||||
|
* @param evt
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void init(DomainInitEvent evt) {
|
||||||
|
super.init(evt);
|
||||||
|
|
||||||
|
Categorization.addCategoryListener(new TermCategoryListener());
|
||||||
|
|
||||||
|
PatternStylesheetResolver.registerPatternGenerator(
|
||||||
|
"webapp",
|
||||||
|
new WebAppPatternGenerator()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,307 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle;
|
||||||
|
|
||||||
|
import com.arsdigita.london.terms.Domain;
|
||||||
|
import com.arsdigita.london.terms.importer.Parser;
|
||||||
|
|
||||||
|
import com.arsdigita.categorization.Category;
|
||||||
|
import com.arsdigita.categorization.RootCategoryCollection;
|
||||||
|
import com.arsdigita.cms.ContentSection;
|
||||||
|
import com.arsdigita.cms.SecurityManager;
|
||||||
|
import com.arsdigita.cms.ui.role.RoleFactory;
|
||||||
|
import com.arsdigita.loader.PackageLoader;
|
||||||
|
import com.arsdigita.kernel.Role;
|
||||||
|
import com.arsdigita.kernel.RoleCollection;
|
||||||
|
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
|
||||||
|
import com.arsdigita.persistence.DataQuery;
|
||||||
|
import com.arsdigita.runtime.ScriptContext;
|
||||||
|
import com.arsdigita.util.parameter.Parameter;
|
||||||
|
import com.arsdigita.util.parameter.StringArrayParameter;
|
||||||
|
import com.arsdigita.web.Application;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loader executes nonrecurring at install time and loads (installs and
|
||||||
|
* initializes) the ScientificCMS integration module persistently into database.
|
||||||
|
*
|
||||||
|
* Creates category domains in the terms application according to
|
||||||
|
* configuration files and adds jsp templates to navigation.
|
||||||
|
*
|
||||||
|
* @author Justin Ross <jross@redhat.com>
|
||||||
|
* @author Peter Boy <pboy@barkhof.uni-bremen.de>
|
||||||
|
* @version $Id: Loader.java 755 2005-09-02 13:42:47Z sskracic $
|
||||||
|
*/
|
||||||
|
public class Loader extends PackageLoader {
|
||||||
|
|
||||||
|
/** Logger instance for debugging */
|
||||||
|
private static final Logger s_log = Logger.getLogger(Loader.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of comma separated sets of application instance specifications,
|
||||||
|
* optionally used to create arbitrary custom application instances
|
||||||
|
* according to local sites requirements.
|
||||||
|
* It's the developers / administrators responsibility to ensure all
|
||||||
|
* necessary application types have been created previously.
|
||||||
|
* Example:
|
||||||
|
* "FULL_QUALIFIED_CLASS_NAME : URL : TITLE ,
|
||||||
|
* FULL_QUALIFIED_CLASS_NAME : URL : TITLE ,
|
||||||
|
* .... ,
|
||||||
|
* FULL_QUALIFIED_CLASS_NAME : URL : TITLE "
|
||||||
|
*/
|
||||||
|
private Parameter m_customApplicationInstances = new StringArrayParameter(
|
||||||
|
"com.arsdigita.bundle.local_app_instances",
|
||||||
|
Parameter.OPTIONAL, null
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Comma separated list of fully qualified filenames, each file containing
|
||||||
|
* a set of Terms domain catagories definitions. These form an initial set
|
||||||
|
* of category tree(s), at minimum for navigation, optionally additional
|
||||||
|
* domains.
|
||||||
|
* Files are stored as part of the jar, so classloader can find them.
|
||||||
|
*/
|
||||||
|
private Parameter m_categoryFiles = new StringArrayParameter(
|
||||||
|
"com.arsdigita.bundle.category_files",
|
||||||
|
Parameter.REQUIRED,new String[]{
|
||||||
|
"bundle/categories/sci-nav-domain-1.00.xml",
|
||||||
|
"bundle/categories/sci-nav-hierarchy-1.00.xml" }
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of comma separated sets of domain mappings.
|
||||||
|
* It's the developers / administrators responsibility to ensure all
|
||||||
|
* necessary category domains have been imported previously and are spelled
|
||||||
|
* correctly. The list may contain set for different domain key and/or
|
||||||
|
* different applications and contexts. If an domain key requires several
|
||||||
|
* applications, repeat the key and specify a different application and/or
|
||||||
|
* context
|
||||||
|
* Example:
|
||||||
|
* "DOMAIN_KEY_1 : APP_URL_1 [: CONTEXT_1] ,
|
||||||
|
* DOMAIN_KEY_1 : APP_URL_2 [: CONTEXT_1] ,
|
||||||
|
* DOMAIN_KEY_2 : APP_URL_1 [: CONTEXT] ,
|
||||||
|
* .... ,
|
||||||
|
* DOMAIN_KEY_n : APP_URL_n [: CONTEXT_n] "
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Parameter m_domainMappings = new StringArrayParameter(
|
||||||
|
"com.arsdigita.bundle.domain_mappings",
|
||||||
|
Parameter.REQUIRED,new String[]{ "STD-NAV:/navigation/",
|
||||||
|
"STD-NAV:/content/",
|
||||||
|
"STD-NAV:/portal/" }
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
public Loader() {
|
||||||
|
|
||||||
|
// Register defined parameters to the context by adding
|
||||||
|
// the parameter to a map of parameters
|
||||||
|
register(m_customApplicationInstances);
|
||||||
|
register(m_categoryFiles);
|
||||||
|
register(m_domainMappings);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void run(final ScriptContext ctx) {
|
||||||
|
|
||||||
|
/* Create site specific custom applications instances of arbitrary
|
||||||
|
* type specified by optional configuration parameter.
|
||||||
|
* Typically used to create additional navigation instances for alternativ
|
||||||
|
* navigation tree(s) or additional content sections.
|
||||||
|
*/
|
||||||
|
String[] customApplicationInstances = (String[]) get(m_customApplicationInstances);
|
||||||
|
if ( customApplicationInstances != null) {
|
||||||
|
|
||||||
|
for (int i = 0 ; i < customApplicationInstances.length ; i++) {
|
||||||
|
|
||||||
|
final String aCustomApplicationInstance = customApplicationInstances[i];
|
||||||
|
|
||||||
|
StringTokenizer tok = new StringTokenizer( aCustomApplicationInstance, ":" );
|
||||||
|
String type = null; // full qualified class name
|
||||||
|
String url = null; // url fragment (last part)
|
||||||
|
String title = null; // title of new application instance
|
||||||
|
String parent = null; // parent class name
|
||||||
|
for ( int j = 0; tok.hasMoreTokens(); j++ ) {
|
||||||
|
if ( 0 == j ) {
|
||||||
|
type = tok.nextToken();
|
||||||
|
} else if ( 1 == j ) {
|
||||||
|
url = tok.nextToken();
|
||||||
|
} else if ( 2 == j ) {
|
||||||
|
title = tok.nextToken();
|
||||||
|
} else if ( 3 == j ) {
|
||||||
|
parent = tok.nextToken();
|
||||||
|
} else {
|
||||||
|
parent = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Application.createApplication(type, url, title, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Import from the categories definition files: Create Terms domains
|
||||||
|
* and populate them with categories
|
||||||
|
* (alternatively this could be delegated to terms.Loader because it's
|
||||||
|
* all Terms)
|
||||||
|
* Creates one or more Terms domains, but NO domain mapping for navigation.
|
||||||
|
* Therefore, registerDomains is required for /navigation/ otherwise
|
||||||
|
* the systems throws NPE for ccm/navigation.
|
||||||
|
*/
|
||||||
|
String[] files = (String[]) get(m_categoryFiles);
|
||||||
|
final Parser parser = new Parser();
|
||||||
|
// for each filename in the array of files containing categories
|
||||||
|
for (int i = 0 ; i < files.length ; i++) {
|
||||||
|
final String file = files[i];
|
||||||
|
if (s_log.isInfoEnabled()) {
|
||||||
|
s_log.info("Process " + file);
|
||||||
|
}
|
||||||
|
/* Import a Terms category domain. */
|
||||||
|
parser.parse(Thread.currentThread().getContextClassLoader().
|
||||||
|
getResourceAsStream(file));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Creates domain mappings according to configuration file. By default
|
||||||
|
* at least one domain mapping for standard navigation is created,
|
||||||
|
* otherwise navigation wouldn't work.
|
||||||
|
* IOt is the developers / administrators responsibility that KEY is
|
||||||
|
* existent, i.e. previously importet in the previous step.
|
||||||
|
*/
|
||||||
|
String[] domainMappings = (String[]) get(m_domainMappings);
|
||||||
|
for (int i = 0 ; i < domainMappings.length ; i++) {
|
||||||
|
|
||||||
|
final String aDomainMapping = domainMappings[i];
|
||||||
|
|
||||||
|
StringTokenizer tok = new StringTokenizer( aDomainMapping, ":" );
|
||||||
|
String key = null;
|
||||||
|
String app = null;
|
||||||
|
String context = null;
|
||||||
|
for ( int j = 0; tok.hasMoreTokens(); j++ ) {
|
||||||
|
if ( 0 == j ) {
|
||||||
|
key = tok.nextToken();
|
||||||
|
} else if ( 1 == j ) {
|
||||||
|
app = tok.nextToken();
|
||||||
|
} else if ( 2 == j ) {
|
||||||
|
context = tok.nextToken();
|
||||||
|
} else {
|
||||||
|
context = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
registerDomain(key, app, context);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// registerServicesTemplate("/services/"); wird nicht gebraucht
|
||||||
|
|
||||||
|
} // end run method
|
||||||
|
|
||||||
|
|
||||||
|
// public void registerServicesTemplate(String appURL) {
|
||||||
|
// Application app = Application.retrieveApplicationForPath(appURL);
|
||||||
|
// Assert.exists(app, Application.class);
|
||||||
|
// Category root = Category.getRootForObject(app);
|
||||||
|
// Assert.exists(root, Category.class);
|
||||||
|
//
|
||||||
|
// Template template = Template.create(
|
||||||
|
// "APLAWS Services",
|
||||||
|
// "APLAWS ESD Toolkit Services",
|
||||||
|
// "/packages/navigation/templates/aplaws-services.jsp");
|
||||||
|
//
|
||||||
|
// new TemplateMapping( template,
|
||||||
|
// root,
|
||||||
|
// Template.DEFAULT_DISPATCHER_CONTEXT,
|
||||||
|
// Template.DEFAULT_USE_CONTEXT );
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines the Terms domain using domainKey as well as the application
|
||||||
|
* instance using appURL and then creates a domain mapping using context
|
||||||
|
* as domain context.
|
||||||
|
*
|
||||||
|
* Uses Package com.arsdigita.london.terms.Domain (!)
|
||||||
|
*
|
||||||
|
* @param domainKey
|
||||||
|
* @param appURL
|
||||||
|
* @param context
|
||||||
|
*/
|
||||||
|
public void registerDomain(String domainKey,
|
||||||
|
String appURL,
|
||||||
|
String context) {
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("Mapping domain " + domainKey + " to app " + appURL
|
||||||
|
+ " in context " + context);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Determine Domain and Application objects, both MUST exist! */
|
||||||
|
Domain domain = Domain.retrieve(domainKey);
|
||||||
|
Application app = Application.retrieveApplicationForPath(appURL);
|
||||||
|
|
||||||
|
/* Create domain mapping */
|
||||||
|
domain.setAsRootForObject(app, context);
|
||||||
|
|
||||||
|
/* Create permissions and roles for content-center applications only */
|
||||||
|
if (app instanceof ContentSection) {
|
||||||
|
RoleCollection coll = ((ContentSection) app).getStaffGroup().getOrderedRoles();
|
||||||
|
Set adminRoles = new HashSet();
|
||||||
|
Set categorizeRoles = new HashSet();
|
||||||
|
while (coll.next()) {
|
||||||
|
Role role = coll.getRole();
|
||||||
|
final DataQuery privs = RoleFactory.getRolePrivileges(
|
||||||
|
app.getID(), role.getGroup().getID());
|
||||||
|
while (privs.next()) {
|
||||||
|
String priv = (String) privs.get(RoleFactory.PRIVILEGE);
|
||||||
|
if (priv.equals(SecurityManager.CMS_CATEGORY_ADMIN)) {
|
||||||
|
adminRoles.add(role);
|
||||||
|
} else if (priv.equals(SecurityManager.CMS_CATEGORIZE_ITEMS)) {
|
||||||
|
categorizeRoles.add(role);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
RootCategoryCollection catCollection = Category.getRootCategories(((ContentSection) app));
|
||||||
|
while (catCollection.next()) {
|
||||||
|
Iterator adminIter = adminRoles.iterator();
|
||||||
|
while (adminIter.hasNext()) {
|
||||||
|
((Role) adminIter.next()).grantPermission(catCollection.getCategory(),
|
||||||
|
PrivilegeDescriptor.ADMIN);
|
||||||
|
}
|
||||||
|
Iterator categorizeIter = categorizeRoles.iterator();
|
||||||
|
while (categorizeIter.hasNext()) {
|
||||||
|
((Role) categorizeIter.next()).grantPermission(catCollection.getCategory(),
|
||||||
|
Category.MAP_DESCRIPTOR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,374 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle;
|
||||||
|
|
||||||
|
import com.arsdigita.xml.Element;
|
||||||
|
|
||||||
|
import com.arsdigita.persistence.metadata.ObjectType;
|
||||||
|
import com.arsdigita.persistence.metadata.Property;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Stack;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
public class ObjectTypeSchemaGenerator extends ObjectTypeTraversal {
|
||||||
|
|
||||||
|
private static final Logger logger = Logger.getLogger(ObjectTypeSchemaGenerator.class);
|
||||||
|
private boolean m_wrapRoot = false;
|
||||||
|
private boolean m_wrapObjects = false;
|
||||||
|
private boolean m_wrapAttributes = false;
|
||||||
|
private Stack m_history = new Stack();
|
||||||
|
private HashMap m_elements = new HashMap();
|
||||||
|
// The xs:element
|
||||||
|
private Element m_element;
|
||||||
|
// The (optional) xs:complexType
|
||||||
|
private Element m_type;
|
||||||
|
// The (optional) xs:sequence
|
||||||
|
private Element m_sequence;
|
||||||
|
// The (optional property
|
||||||
|
private Property m_property;
|
||||||
|
private Stack m_properties = new Stack();
|
||||||
|
private Element m_root;
|
||||||
|
private String m_rootName;
|
||||||
|
public static final String SCHEMA_PREFIX = "xs:";
|
||||||
|
public static final String SCHEMA_NS =
|
||||||
|
"http://www.w3.org/2001/XMLSchema";
|
||||||
|
private static HashMap s_types = new HashMap();
|
||||||
|
|
||||||
|
static {
|
||||||
|
logger.debug("Static initalizer starting...");
|
||||||
|
s_types.put(String.class, "xs:string");
|
||||||
|
s_types.put(Boolean.class, "xs:boolean");
|
||||||
|
s_types.put(Integer.class, "xs:integer");
|
||||||
|
s_types.put(BigDecimal.class, "xs:double");
|
||||||
|
logger.debug("Static initalizer finished.");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static String lookupType(Class klass) {
|
||||||
|
if (s_types.containsKey(klass)) {
|
||||||
|
return (String) s_types.get(klass);
|
||||||
|
}
|
||||||
|
return "xs:string";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerType(Class klass, String type) {
|
||||||
|
s_types.put(klass, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObjectTypeSchemaGenerator(String rootName,
|
||||||
|
String namespace) {
|
||||||
|
m_root = new Element(SCHEMA_PREFIX + "schema",
|
||||||
|
SCHEMA_NS);
|
||||||
|
m_rootName = rootName;
|
||||||
|
|
||||||
|
// Set the namespace for nodes defined by the schema
|
||||||
|
m_root.addAttribute("targetNamespace", namespace);
|
||||||
|
// Set the default namespace for unqualified nodes
|
||||||
|
m_root.addAttribute("xmlns", namespace);
|
||||||
|
// All nodes in an instance doc conforming to the schema
|
||||||
|
// must be qualified
|
||||||
|
m_root.addAttribute("elementFormDefault", "qualified");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Element getRoot() {
|
||||||
|
return m_root;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines XML output for root object.
|
||||||
|
* If set to true a separate element will
|
||||||
|
* be output for the root object, if false,
|
||||||
|
* then the element passed into the constructor
|
||||||
|
* will be used.
|
||||||
|
*/
|
||||||
|
public void setWrapRoot(boolean value) {
|
||||||
|
m_wrapRoot = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines XML output used for objects.
|
||||||
|
* If set to true, then a wrapper XML element
|
||||||
|
* will be generated for the association,
|
||||||
|
* and then individual elements generated for
|
||||||
|
* each object. If false then no wrapper
|
||||||
|
* XML element will be produced.
|
||||||
|
*/
|
||||||
|
public void setWrapObjects(boolean value) {
|
||||||
|
m_wrapObjects = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines XML output used for scalar
|
||||||
|
* attributes. If set to true, then each
|
||||||
|
* attribute is output as a separate element,
|
||||||
|
* otherwise, attributes are output as simple
|
||||||
|
* attributes.
|
||||||
|
*/
|
||||||
|
public void setWrapAttributes(boolean value) {
|
||||||
|
m_wrapAttributes = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the processing of an object
|
||||||
|
* starts
|
||||||
|
*/
|
||||||
|
protected void beginObject(ObjectType obj,
|
||||||
|
String path) {
|
||||||
|
// XXX deal with revisited objects - xs:choice possibly
|
||||||
|
|
||||||
|
if (m_type != null && m_sequence == null) {
|
||||||
|
Element sequence = m_type.newChildElement(SCHEMA_PREFIX + "sequence",
|
||||||
|
SCHEMA_NS);
|
||||||
|
m_sequence = sequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
Element parent;
|
||||||
|
String name;
|
||||||
|
if (m_element == null) {
|
||||||
|
if (m_wrapRoot) {
|
||||||
|
Element element = m_root.newChildElement(SCHEMA_PREFIX
|
||||||
|
+ "element",
|
||||||
|
SCHEMA_NS);
|
||||||
|
element.addAttribute("name", m_rootName);
|
||||||
|
|
||||||
|
Element type = element.newChildElement(SCHEMA_PREFIX
|
||||||
|
+ "complexType",
|
||||||
|
SCHEMA_NS);
|
||||||
|
Element sequence = type.newChildElement(SCHEMA_PREFIX
|
||||||
|
+ "sequence",
|
||||||
|
SCHEMA_NS);
|
||||||
|
|
||||||
|
parent = sequence;
|
||||||
|
name = nameFromPath(path);
|
||||||
|
} else {
|
||||||
|
parent = m_root;
|
||||||
|
name = m_rootName;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
parent = m_sequence;
|
||||||
|
if (m_wrapObjects) {
|
||||||
|
name = "object";
|
||||||
|
} else {
|
||||||
|
name = nameFromPath(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Element element = parent.newChildElement(SCHEMA_PREFIX + "element",
|
||||||
|
SCHEMA_NS);
|
||||||
|
element.addAttribute("name", name);
|
||||||
|
|
||||||
|
if (m_property != null) {
|
||||||
|
if (m_property.isNullable()) {
|
||||||
|
element.addAttribute("minOccurs", "0");
|
||||||
|
}
|
||||||
|
if (m_property.isCollection()) {
|
||||||
|
element.addAttribute("maxOccurs", "unbounded");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Element type = element.newChildElement(SCHEMA_PREFIX + "complexType",
|
||||||
|
SCHEMA_NS);
|
||||||
|
|
||||||
|
Element oid = type.newChildElement(SCHEMA_PREFIX + "attribute",
|
||||||
|
SCHEMA_NS);
|
||||||
|
oid.addAttribute("name", "oid");
|
||||||
|
oid.addAttribute("type", "xs:string");
|
||||||
|
|
||||||
|
// Add to the path -> element map, not that we use this info yet
|
||||||
|
m_elements.put(path, element);
|
||||||
|
|
||||||
|
// Preserve context
|
||||||
|
m_history.push(new Element[]{m_element, m_type, m_sequence});
|
||||||
|
|
||||||
|
m_element = element;
|
||||||
|
m_type = type;
|
||||||
|
m_sequence = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the procesing of an object
|
||||||
|
* completes
|
||||||
|
*/
|
||||||
|
protected void endObject(ObjectType obj,
|
||||||
|
String path) {
|
||||||
|
Element[] saved = (Element[]) m_history.pop();
|
||||||
|
m_element = saved[0];
|
||||||
|
m_type = saved[1];
|
||||||
|
m_sequence = saved[2];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when an attribute is encountered
|
||||||
|
*/
|
||||||
|
protected void handleAttribute(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property) {
|
||||||
|
if (m_wrapAttributes) {
|
||||||
|
if (m_sequence == null) {
|
||||||
|
Element sequence = m_type.newChildElement(SCHEMA_PREFIX
|
||||||
|
+ "sequence",
|
||||||
|
SCHEMA_NS);
|
||||||
|
m_sequence = sequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
Element element = new Element(SCHEMA_PREFIX + "element",
|
||||||
|
SCHEMA_NS);
|
||||||
|
element.addAttribute("name", property.getName());
|
||||||
|
// XXX pdl type -> xs type mapping
|
||||||
|
element.addAttribute("type", lookupType(property.getJavaClass()));
|
||||||
|
|
||||||
|
if (property.isNullable()) {
|
||||||
|
element.addAttribute("minOccurs", "0");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add to element
|
||||||
|
m_sequence.addContent(element);
|
||||||
|
|
||||||
|
// Add to the path -> element map
|
||||||
|
m_elements.put(path, element);
|
||||||
|
} else {
|
||||||
|
Element element = new Element(SCHEMA_PREFIX + "attribute",
|
||||||
|
SCHEMA_NS);
|
||||||
|
element.addAttribute("name", property.getName());
|
||||||
|
// XXX pdl type -> xs type mapping
|
||||||
|
element.addAttribute("type", lookupType(property.getJavaClass()));
|
||||||
|
|
||||||
|
if (property.isRequired()) {
|
||||||
|
element.addAttribute("use", "required");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add to element
|
||||||
|
m_type.addContent(element);
|
||||||
|
|
||||||
|
// Add to the path -> element map
|
||||||
|
m_elements.put(path, element);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the processing of a role
|
||||||
|
* starts
|
||||||
|
*/
|
||||||
|
protected void beginRole(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property) {
|
||||||
|
if (m_wrapObjects) {
|
||||||
|
if (m_sequence == null) {
|
||||||
|
Element sequence = m_type.newChildElement(SCHEMA_PREFIX
|
||||||
|
+ "sequence",
|
||||||
|
SCHEMA_NS);
|
||||||
|
m_sequence = sequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
Element element = m_sequence.newChildElement(SCHEMA_PREFIX
|
||||||
|
+ "element",
|
||||||
|
SCHEMA_NS);
|
||||||
|
element.addAttribute("name", property.getName());
|
||||||
|
if (property.isNullable()) {
|
||||||
|
element.addAttribute("minOccurs", "0");
|
||||||
|
}
|
||||||
|
|
||||||
|
Element type = element.newChildElement(SCHEMA_PREFIX + "complexType",
|
||||||
|
SCHEMA_NS);
|
||||||
|
Element sequence = type.newChildElement(SCHEMA_PREFIX + "sequence",
|
||||||
|
SCHEMA_NS);
|
||||||
|
|
||||||
|
// Preserve context
|
||||||
|
m_history.push(new Element[]{m_element, m_type, m_sequence});
|
||||||
|
|
||||||
|
m_element = element;
|
||||||
|
m_type = type;
|
||||||
|
m_sequence = sequence;
|
||||||
|
}
|
||||||
|
m_properties.push(m_property);
|
||||||
|
m_property = property;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the procesing of a role
|
||||||
|
* completes
|
||||||
|
*/
|
||||||
|
protected void endRole(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property) {
|
||||||
|
if (m_wrapObjects) {
|
||||||
|
Element[] saved = (Element[]) m_history.pop();
|
||||||
|
m_element = saved[0];
|
||||||
|
m_type = saved[1];
|
||||||
|
m_sequence = saved[2];
|
||||||
|
}
|
||||||
|
m_property = (Property) m_properties.pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the processing of an association
|
||||||
|
* starts
|
||||||
|
*/
|
||||||
|
protected void beginAssociation(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property) {
|
||||||
|
if (m_wrapObjects) {
|
||||||
|
if (m_sequence == null) {
|
||||||
|
Element sequence = m_type.newChildElement(SCHEMA_PREFIX
|
||||||
|
+ "sequence",
|
||||||
|
SCHEMA_NS);
|
||||||
|
m_sequence = sequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
Element element = m_sequence.newChildElement(SCHEMA_PREFIX
|
||||||
|
+ "element",
|
||||||
|
SCHEMA_NS);
|
||||||
|
element.addAttribute("name", property.getName());
|
||||||
|
if (property.isNullable()) {
|
||||||
|
element.addAttribute("minOccurs", "0");
|
||||||
|
}
|
||||||
|
|
||||||
|
Element type = element.newChildElement(SCHEMA_PREFIX + "complexType",
|
||||||
|
SCHEMA_NS);
|
||||||
|
Element sequence = type.newChildElement(SCHEMA_PREFIX + "sequence",
|
||||||
|
SCHEMA_NS);
|
||||||
|
|
||||||
|
// Preserve context
|
||||||
|
m_history.push(new Element[]{m_element, m_type, m_sequence});
|
||||||
|
|
||||||
|
m_element = element;
|
||||||
|
m_type = type;
|
||||||
|
m_sequence = sequence;
|
||||||
|
}
|
||||||
|
m_properties.push(m_property);
|
||||||
|
m_property = property;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the procesing of an association
|
||||||
|
* completes
|
||||||
|
*/
|
||||||
|
protected void endAssociation(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property) {
|
||||||
|
if (m_wrapObjects) {
|
||||||
|
Element[] saved = (Element[]) m_history.pop();
|
||||||
|
m_element = saved[0];
|
||||||
|
m_type = saved[1];
|
||||||
|
m_sequence = saved[2];
|
||||||
|
}
|
||||||
|
m_property = (Property) m_properties.pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,358 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle;
|
||||||
|
|
||||||
|
import com.arsdigita.util.Assert;
|
||||||
|
|
||||||
|
import com.arsdigita.persistence.metadata.ObjectType;
|
||||||
|
import com.arsdigita.persistence.metadata.Property;
|
||||||
|
import com.arsdigita.persistence.metadata.MetadataRoot;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
// XXX this class is pretty similar to DomainObjectTraversal
|
||||||
|
// and it would be nice to figure out a way to let them share
|
||||||
|
// some of their logic (provided it didn't cripple / obfuscate
|
||||||
|
// the API).
|
||||||
|
|
||||||
|
// At minimum the process for registering & looking up hierachical
|
||||||
|
// adapters can be shared. Also the mangling of names / paths.
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>This class provides a general purpose framework for iterating
|
||||||
|
* over a domain object's properties, processing attributes and
|
||||||
|
* traversing associations as required.</p>
|
||||||
|
*
|
||||||
|
* <p>Subclasses should implement the startXXX and endXXX methods to
|
||||||
|
* provide whatever processing logic they require upon encountering
|
||||||
|
* attributes, roles, associations and objects.</p>
|
||||||
|
*
|
||||||
|
* <p>The {@link com.arsdigita.domain.ObjectTypeTraversalAdapter}
|
||||||
|
* provides a means to control which properties are processed and,
|
||||||
|
* most importantly, which associations are traversed. When
|
||||||
|
* registering an adapter, a 'use context' is supplied allowing
|
||||||
|
* different adapters to be used according to the requirements of any
|
||||||
|
* implementing subclass. It is recommended that the use context be
|
||||||
|
* based on the fully qualified name of the class using
|
||||||
|
* ObjectTypeTraversal, e.g.,
|
||||||
|
* com.arsdigita.cms.ui.ObjectTypeRenderer.</p>
|
||||||
|
*
|
||||||
|
* <p>The path argument provided to the adapter and the startXXX ad
|
||||||
|
* endXXX methods indicates which associations are currently being
|
||||||
|
* traversed. The first element in the path is always '/object'. If it
|
||||||
|
* then starts to traverse the 'rootCategory' association, the path
|
||||||
|
* will become '/object/rootCategory'. For self-recursive
|
||||||
|
* associations, rather than building up a long repeating string, the
|
||||||
|
* path will be shortened by adding a '+' for each element that is
|
||||||
|
* repeated. For example, '/object/container+' indicates that the
|
||||||
|
* container association has been followed two or more times.</p>
|
||||||
|
*/
|
||||||
|
public abstract class ObjectTypeTraversal {
|
||||||
|
|
||||||
|
private static HashMap s_adapters = new HashMap();
|
||||||
|
|
||||||
|
private static final Logger s_log = Logger.getLogger(ObjectTypeTraversal.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a traversal adapter for an object type in a given
|
||||||
|
* context.
|
||||||
|
*
|
||||||
|
* @param type the object type whose items will be traversed
|
||||||
|
* @param adapter the adapter for controlling object traversal
|
||||||
|
* @param context the context in which the adapter should be used
|
||||||
|
*/
|
||||||
|
public static void registerAdapter(ObjectType type,
|
||||||
|
ObjectTypeTraversalAdapter adapter,
|
||||||
|
String context) {
|
||||||
|
s_adapters.put(new AdapterKey(type, context), adapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregisteres a traversal adapter for an object type in a
|
||||||
|
* given context
|
||||||
|
*
|
||||||
|
* @param type the object type whose items will be traversed
|
||||||
|
* @param context the context in which the adapter should be used
|
||||||
|
*/
|
||||||
|
public static void unregisterAdapter(ObjectType type,
|
||||||
|
String context) {
|
||||||
|
s_adapters.remove(new AdapterKey(type, context));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a traversal adapter for an object type in a given
|
||||||
|
* context.
|
||||||
|
*
|
||||||
|
* @param type the object type whose items will be traversed
|
||||||
|
* @param adapter the adapter for controlling object traversal
|
||||||
|
* @param context the context in which the adapter should be used
|
||||||
|
*/
|
||||||
|
public static void registerAdapter(String type,
|
||||||
|
ObjectTypeTraversalAdapter adapter,
|
||||||
|
String context) {
|
||||||
|
registerAdapter(MetadataRoot.getMetadataRoot().getObjectType(type),
|
||||||
|
adapter,
|
||||||
|
context);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregisteres a traversal adapter for an object type in a
|
||||||
|
* given context
|
||||||
|
*
|
||||||
|
* @param type the object type whose items will be traversed
|
||||||
|
* @param context the context in which the adapter should be used
|
||||||
|
*/
|
||||||
|
public static void unregisterAdapter(String type,
|
||||||
|
String context) {
|
||||||
|
unregisterAdapter(MetadataRoot.getMetadataRoot().getObjectType(type),
|
||||||
|
context);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the traversal adapter for an object type in a given
|
||||||
|
* context.
|
||||||
|
*
|
||||||
|
* @param type the object type to lookup
|
||||||
|
* @param context the adapter context
|
||||||
|
*/
|
||||||
|
public static ObjectTypeTraversalAdapter lookupAdapter(ObjectType type,
|
||||||
|
String context) {
|
||||||
|
return (ObjectTypeTraversalAdapter)s_adapters
|
||||||
|
.get(new AdapterKey(type, context));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the closest matching traversal adapter for an object type
|
||||||
|
* in a given context. The algorithm looks for an exact match, then
|
||||||
|
* considers the supertype, and the supertype's supertype. If no match
|
||||||
|
* could be found at all, returns null
|
||||||
|
*
|
||||||
|
* @param type the object type to search for
|
||||||
|
* @param context the adapter context
|
||||||
|
*/
|
||||||
|
public static ObjectTypeTraversalAdapter findAdapter(ObjectType type,
|
||||||
|
String context) {
|
||||||
|
ObjectTypeTraversalAdapter adapter = null;
|
||||||
|
while (adapter == null && type != null) {
|
||||||
|
adapter = lookupAdapter(type, context);
|
||||||
|
type = type.getSupertype();
|
||||||
|
}
|
||||||
|
return adapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Walks over properties of a domain object, invoking
|
||||||
|
* methods to handle assoications, roles and attributes.
|
||||||
|
*
|
||||||
|
* @param obj the domain object to traverse
|
||||||
|
* @param context the context for the traversal adapter
|
||||||
|
*/
|
||||||
|
public void walk(String type,
|
||||||
|
String context) {
|
||||||
|
walk(MetadataRoot.getMetadataRoot().getObjectType(type),
|
||||||
|
context);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Walks over properties of a domain object, invoking
|
||||||
|
* methods to handle assoications, roles and attributes.
|
||||||
|
*
|
||||||
|
* @param obj the domain object to traverse
|
||||||
|
* @param context the context for the traversal adapter
|
||||||
|
*/
|
||||||
|
public void walk(ObjectType type,
|
||||||
|
String context) {
|
||||||
|
Assert.exists(type, ObjectType.class);
|
||||||
|
|
||||||
|
ObjectTypeTraversalAdapter adapter = findAdapter(type,
|
||||||
|
context);
|
||||||
|
Assert.exists(adapter, ObjectTypeTraversalAdapter.class);
|
||||||
|
walk(adapter, type, "/object");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void walk(ObjectTypeTraversalAdapter adapter,
|
||||||
|
ObjectType type,
|
||||||
|
String path) {
|
||||||
|
beginObject(type, path);
|
||||||
|
|
||||||
|
if (s_log.isInfoEnabled()) {
|
||||||
|
s_log.info("Walking " + path + " type: " + type.getQualifiedName());
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Iterator i = type.getProperties(); i.hasNext(); ) {
|
||||||
|
Property prop = (Property) i.next();
|
||||||
|
String propName = prop.getName();
|
||||||
|
|
||||||
|
if (!adapter.processProperty(type,
|
||||||
|
appendToPath(path, prop.getName()),
|
||||||
|
prop)) {
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("Skipping property " + propName);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("Process property " + propName + " type " + prop.getType().getQualifiedName());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prop.isAttribute()) {
|
||||||
|
handleAttribute(type, path, prop);
|
||||||
|
} else {
|
||||||
|
if (!prop.isCollection()) {
|
||||||
|
beginRole(type, path, prop);
|
||||||
|
|
||||||
|
walk(adapter,
|
||||||
|
(ObjectType)prop.getType(),
|
||||||
|
appendToPath(path, propName));
|
||||||
|
|
||||||
|
endRole(type, path, prop);
|
||||||
|
} else {
|
||||||
|
beginAssociation(type, path, prop);
|
||||||
|
|
||||||
|
Property roleProp = prop.getAssociatedProperty();
|
||||||
|
|
||||||
|
walk(adapter,
|
||||||
|
(ObjectType)prop.getType(),
|
||||||
|
appendToPath(path, propName));
|
||||||
|
|
||||||
|
endAssociation(type, path, prop);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
endObject(type, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the processing of an object
|
||||||
|
* starts
|
||||||
|
*/
|
||||||
|
protected abstract void beginObject(ObjectType obj,
|
||||||
|
String path);
|
||||||
|
/**
|
||||||
|
* Method called when the procesing of an object
|
||||||
|
* completes
|
||||||
|
*/
|
||||||
|
protected abstract void endObject(ObjectType obj,
|
||||||
|
String path);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when an attribute is encountered
|
||||||
|
*/
|
||||||
|
protected abstract void handleAttribute(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the processing of a role
|
||||||
|
* starts
|
||||||
|
*/
|
||||||
|
protected abstract void beginRole(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the procesing of a role
|
||||||
|
* completes
|
||||||
|
*/
|
||||||
|
protected abstract void endRole(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the processing of an association
|
||||||
|
* starts
|
||||||
|
*/
|
||||||
|
protected abstract void beginAssociation(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method called when the procesing of an association
|
||||||
|
* completes
|
||||||
|
*/
|
||||||
|
protected abstract void endAssociation(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property property);
|
||||||
|
|
||||||
|
|
||||||
|
protected String appendToPath(String path,
|
||||||
|
String name) {
|
||||||
|
if (path.endsWith("/" + name)) {
|
||||||
|
path = path + "+";
|
||||||
|
} else if (!path.endsWith("/" + name + "+")) {
|
||||||
|
path = path + "/" + name;
|
||||||
|
}
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String nameFromPath(String path) {
|
||||||
|
int index = path.lastIndexOf("/");
|
||||||
|
Assert.isTrue(index >= 0, "Path starts with /");
|
||||||
|
|
||||||
|
if (path.endsWith("+")) {
|
||||||
|
return path.substring(index + 1, path.length() - 2);
|
||||||
|
} else {
|
||||||
|
return path.substring(index + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String parentFromPath(String path) {
|
||||||
|
int index = path.lastIndexOf("/");
|
||||||
|
Assert.isTrue(index >= 0, "Path starts with /");
|
||||||
|
|
||||||
|
if (index == 0) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
return path.substring(0, index - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class AdapterKey {
|
||||||
|
private ObjectType m_type;
|
||||||
|
private String m_context;
|
||||||
|
|
||||||
|
public AdapterKey(ObjectType type,
|
||||||
|
String context) {
|
||||||
|
m_type = type;
|
||||||
|
m_context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (o instanceof AdapterKey) {
|
||||||
|
AdapterKey k = (AdapterKey)o;
|
||||||
|
return k.m_type.equals(m_type) &&
|
||||||
|
k.m_context.equals(m_context);
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int hashCode() {
|
||||||
|
return m_type.hashCode() + m_context.hashCode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle;
|
||||||
|
|
||||||
|
import com.arsdigita.persistence.metadata.Property;
|
||||||
|
import com.arsdigita.persistence.metadata.ObjectType;
|
||||||
|
|
||||||
|
// XXX this class is pretty similar to DomainObjectTraversal
|
||||||
|
// and it would be nice to figure out a way to let them share
|
||||||
|
// some of their logic (provided it didn't cripple / obfuscate
|
||||||
|
// the API).
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>This interface is used to control traversal of domain
|
||||||
|
* objects. Whenever a property is encountered, the {@link
|
||||||
|
* #processProperty} method will be called to determine whether or not
|
||||||
|
* to continue processing the object. The most important use for this
|
||||||
|
* is to prevent the needless (and potentially infinite) traversal of
|
||||||
|
* associations between objects, but it can also be used to filter out
|
||||||
|
* certain attributes.</p>
|
||||||
|
*
|
||||||
|
* <p>Instances of this class need to be registered using the
|
||||||
|
* DomainObjectTraversal.registerAdapter method.</p>
|
||||||
|
*
|
||||||
|
* @see com.arsdigita.domain.DomainObjectTraversal
|
||||||
|
* @see com.arsdigita.domain.SimpleDomainObjectTraversalAdapter
|
||||||
|
* @version $Id: ObjectTypeTraversalAdapter.java 287 2005-02-22 00:29:02Z sskracic $
|
||||||
|
*/
|
||||||
|
public interface ObjectTypeTraversalAdapter {
|
||||||
|
/**
|
||||||
|
* Invoked to determine whether to process a property.
|
||||||
|
* Should return true to allow processing to commence,
|
||||||
|
* false to prevent it.
|
||||||
|
*
|
||||||
|
* @param obj the object type currently being processed
|
||||||
|
* @param path the path to the current domain object from
|
||||||
|
* the root object being traversed
|
||||||
|
* @param prop the property about to be processed
|
||||||
|
* @return true if the property should be processed
|
||||||
|
*/
|
||||||
|
public boolean processProperty(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property prop);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,151 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import com.arsdigita.persistence.metadata.Property;
|
||||||
|
import com.arsdigita.persistence.metadata.ObjectType;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a general purpose traversal adaptor
|
||||||
|
* that allows/denies processing of a property
|
||||||
|
* based on the path to the property, and its
|
||||||
|
* presence in an inclusion/exclusion set.
|
||||||
|
*
|
||||||
|
* Instances of this class can be configured using
|
||||||
|
* the ObjectTypeTraversalInitializer
|
||||||
|
*
|
||||||
|
* <p>See <code>com.arsdigita.cms.installer.ObjectTypeTraversalInitializer</code>.
|
||||||
|
*/
|
||||||
|
public class SimpleObjectTypeTraversalAdapter
|
||||||
|
implements ObjectTypeTraversalAdapter {
|
||||||
|
|
||||||
|
private static final Logger s_log =
|
||||||
|
Logger.getLogger(SimpleObjectTypeTraversalAdapter.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rule that indicates the set of properties should be treated
|
||||||
|
* as an inclusion list. ie, don't allow any properties except
|
||||||
|
* those listed. This is the default for associations
|
||||||
|
*/
|
||||||
|
public final static int RULE_INCLUDE = 0;
|
||||||
|
/**
|
||||||
|
* Rule that indicates the set of properties should be treated
|
||||||
|
* as an exclusion list. ie, allow through all properties,
|
||||||
|
* except those listed. This is the default for attributes.
|
||||||
|
*/
|
||||||
|
public final static int RULE_EXCLUDE = 1;
|
||||||
|
|
||||||
|
private HashSet m_attr = new HashSet();
|
||||||
|
private HashSet m_assoc = new HashSet();
|
||||||
|
|
||||||
|
private int m_attrRule = RULE_EXCLUDE;
|
||||||
|
private int m_assocRule = RULE_INCLUDE;
|
||||||
|
|
||||||
|
private SimpleObjectTypeTraversalAdapter m_parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new traversal adapter, with no parent
|
||||||
|
* delegate. If no explicit rule is present it will
|
||||||
|
* return false if RULE_INCLUDE is set, or true if
|
||||||
|
* RULE_EXCLUDE is set.
|
||||||
|
*/
|
||||||
|
public SimpleObjectTypeTraversalAdapter() {
|
||||||
|
this(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new traversal adapter, extending the rules
|
||||||
|
* defined by a parent. If there is no explicit rule
|
||||||
|
* for the property questioned, it will delegate the
|
||||||
|
* query to the parent.
|
||||||
|
* @param parent the parent adapter to delegate to
|
||||||
|
*/
|
||||||
|
public SimpleObjectTypeTraversalAdapter(
|
||||||
|
SimpleObjectTypeTraversalAdapter parent
|
||||||
|
) {
|
||||||
|
m_parent = parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the rule for processing attributes
|
||||||
|
*
|
||||||
|
* @param rule the new processing rule
|
||||||
|
*/
|
||||||
|
public void setAttributeRule(int rule) {
|
||||||
|
m_attrRule = rule;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the rule for processing associations
|
||||||
|
*
|
||||||
|
* @param rule the new processing rule
|
||||||
|
*/
|
||||||
|
public void setAssociationRule(int rule) {
|
||||||
|
m_assocRule = rule;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a property to the attribute property set.
|
||||||
|
*
|
||||||
|
* @param path the full path to the property
|
||||||
|
*/
|
||||||
|
public void addAttributeProperty(String prop) {
|
||||||
|
m_attr.add(prop);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a property to the association property set.
|
||||||
|
*
|
||||||
|
* @param path the full path to the property
|
||||||
|
*/
|
||||||
|
public void addAssociationProperty(String prop) {
|
||||||
|
m_assoc.add(prop);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines whether or not to allow processing
|
||||||
|
* of a property, based on the property set and
|
||||||
|
* the processing rule
|
||||||
|
*/
|
||||||
|
public boolean processProperty(ObjectType obj,
|
||||||
|
String path,
|
||||||
|
Property prop) {
|
||||||
|
if (prop.isAttribute()) {
|
||||||
|
boolean result = m_attr.contains(path);
|
||||||
|
s_log.debug("Check attr " + path + " contains " +
|
||||||
|
result + " " + m_attrRule);
|
||||||
|
if (!result && m_parent != null) {
|
||||||
|
s_log.debug("No explicit rule, delegating to parent");
|
||||||
|
return m_parent.processProperty(obj, path, prop);
|
||||||
|
}
|
||||||
|
return m_attrRule == RULE_INCLUDE ? result : !result;
|
||||||
|
} else {
|
||||||
|
boolean result = m_assoc.contains(path);
|
||||||
|
s_log.debug("Check assoc " + path + " contains " +
|
||||||
|
result + " " + m_attrRule);
|
||||||
|
if (!result && m_parent != null) {
|
||||||
|
s_log.debug("No explicit rule, delegating to parent");
|
||||||
|
return m_parent.processProperty(obj, path, prop);
|
||||||
|
}
|
||||||
|
return m_assocRule == RULE_INCLUDE ? result : !result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle;
|
||||||
|
|
||||||
|
|
||||||
|
import com.arsdigita.web.Application;
|
||||||
|
import com.arsdigita.web.Web;
|
||||||
|
import com.arsdigita.templating.PatternGenerator;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates a set of patterns corresponding to the current
|
||||||
|
* web application prefix
|
||||||
|
*/
|
||||||
|
public class WebAppPatternGenerator implements PatternGenerator {
|
||||||
|
|
||||||
|
private static final Logger s_log =
|
||||||
|
Logger.getLogger(WebAppPatternGenerator.class);
|
||||||
|
|
||||||
|
public String[] generateValues(String key,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
Application app = Web.getContext().getApplication();
|
||||||
|
String ctx = app == null ? null : app.getContextPath();
|
||||||
|
|
||||||
|
if (app == null ||
|
||||||
|
ctx == null ||
|
||||||
|
"".equals(ctx)) {
|
||||||
|
return new String[] { Web.ROOT_WEBAPP };
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ctx.startsWith("/")) {
|
||||||
|
ctx = ctx.substring(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new String[] { ctx };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2005 Runtime Collective Ltd. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.cms.CMS;
|
||||||
|
import com.arsdigita.cms.ContentBundle;
|
||||||
|
import com.arsdigita.cms.ContentItem;
|
||||||
|
import com.arsdigita.cms.ContentPage;
|
||||||
|
import com.arsdigita.kernel.ACSObject;
|
||||||
|
import com.arsdigita.london.navigation.Navigation;
|
||||||
|
import com.arsdigita.london.terms.ui.AbstractAssignedTerms;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
public class AssignedIndexItemTerms extends AbstractAssignedTerms {
|
||||||
|
|
||||||
|
private static final Logger s_log = Logger.getLogger(AssignedIndexItemTerms.class);
|
||||||
|
|
||||||
|
protected ACSObject getObject(PageState state) {
|
||||||
|
|
||||||
|
ACSObject obj = Navigation.getConfig().getDefaultModel().getObject();
|
||||||
|
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("Dealing with item " + obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.cms.CMS;
|
||||||
|
import com.arsdigita.kernel.ACSObject;
|
||||||
|
import com.arsdigita.london.terms.ui.AbstractAssignedTerms;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Invoked by jsp
|
||||||
|
* (e.g. packages/content-section/templates/default/aplaws-item.jsp)
|
||||||
|
*/
|
||||||
|
public class AssignedItemTerms extends AbstractAssignedTerms {
|
||||||
|
|
||||||
|
protected ACSObject getObject(PageState state) {
|
||||||
|
return CMS.getContext().getContentItem().getParent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.navigation.Navigation;
|
||||||
|
import com.arsdigita.navigation.NavigationModel;
|
||||||
|
|
||||||
|
import com.arsdigita.persistence.SessionManager;
|
||||||
|
import com.arsdigita.persistence.DataCollection;
|
||||||
|
|
||||||
|
import com.arsdigita.domain.DomainObjectFactory;
|
||||||
|
|
||||||
|
import com.arsdigita.categorization.Category;
|
||||||
|
import com.arsdigita.util.Assert;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
|
||||||
|
import com.arsdigita.portalworkspace.Workspace;
|
||||||
|
import com.arsdigita.portalworkspace.ui.WorkspaceSelectionModel;
|
||||||
|
|
||||||
|
public class CategoryPortalSelectionModel extends WorkspaceSelectionModel {
|
||||||
|
|
||||||
|
protected Workspace getDefaultWorkspace(PageState state) {
|
||||||
|
NavigationModel model = Navigation.getConfig().getDefaultModel();
|
||||||
|
Category cat = model.getCategory();
|
||||||
|
Assert.exists(cat);
|
||||||
|
|
||||||
|
DataCollection workspaces
|
||||||
|
= SessionManager.getSession().retrieve(
|
||||||
|
Workspace.BASE_DATA_OBJECT_TYPE);
|
||||||
|
workspaces.addEqualsFilter("categories.id", cat.getID());
|
||||||
|
|
||||||
|
if (workspaces.next()) {
|
||||||
|
Workspace wk = (Workspace)DomainObjectFactory
|
||||||
|
.newInstance(workspaces.getDataObject());
|
||||||
|
workspaces.close();
|
||||||
|
return wk;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.bundle.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.london.terms.Term;
|
||||||
|
import com.arsdigita.london.terms.ui.AbstractTermDetails;
|
||||||
|
import com.arsdigita.persistence.DataCollection;
|
||||||
|
import com.arsdigita.persistence.SessionManager;
|
||||||
|
import com.arsdigita.london.navigation.Navigation;
|
||||||
|
import com.arsdigita.categorization.Category;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.domain.DomainObjectFactory;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
public class CategoryTermDetails extends AbstractTermDetails {
|
||||||
|
|
||||||
|
private static final Logger s_log = Logger.getLogger(CategoryTermDetails.class);
|
||||||
|
|
||||||
|
protected Term getTerm(PageState state) {
|
||||||
|
Category cat = Navigation.getConfig().getDefaultModel()
|
||||||
|
.getCategory();
|
||||||
|
|
||||||
|
if (cat == null) {
|
||||||
|
s_log.debug("No category found, skiping term");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
DataCollection terms = SessionManager.getSession()
|
||||||
|
.retrieve(Term.BASE_DATA_OBJECT_TYPE);
|
||||||
|
terms.addEqualsFilter(Term.MODEL + "." + Category.ID,
|
||||||
|
cat.getID());
|
||||||
|
|
||||||
|
if (terms.next()) {
|
||||||
|
Term term = (Term)DomainObjectFactory
|
||||||
|
.newInstance(terms.getDataObject());
|
||||||
|
terms.close();
|
||||||
|
if (s_log.isInfoEnabled()) {
|
||||||
|
s_log.info("Found term " + term + " for category " + cat);
|
||||||
|
}
|
||||||
|
return term;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("No term found for category " + cat);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001 ArsDigita Corporation. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the ArsDigita Public
|
||||||
|
* License (the "License"); you may not use this file except in
|
||||||
|
* compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.arsdigita.com/ADPL.txt
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.aplaws.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.AbstractSingleSelectionModel;
|
||||||
|
import com.arsdigita.portalworkspace.ui.PortalSelectionModel;
|
||||||
|
import com.arsdigita.portalworkspace.WorkspacePage;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||||
|
import com.arsdigita.domain.DomainObject;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
public class HomepagePortalSelectionModel extends AbstractSingleSelectionModel
|
||||||
|
implements PortalSelectionModel {
|
||||||
|
|
||||||
|
/** Private logger instance for debugging */
|
||||||
|
private static Logger s_log = Logger.getLogger(
|
||||||
|
HomepagePortalSelectionModel.class);
|
||||||
|
|
||||||
|
private HomepageWorkspaceSelectionModel m_workspace;
|
||||||
|
private int m_column;
|
||||||
|
|
||||||
|
public HomepagePortalSelectionModel(HomepageWorkspaceSelectionModel workspace,
|
||||||
|
int column) {
|
||||||
|
m_workspace = workspace;
|
||||||
|
m_column = column;
|
||||||
|
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("Constructor HomepageWorkspaceSelectionModel " + " [" +
|
||||||
|
"Workspace: " + m_workspace + "," +
|
||||||
|
"Columns: " + column + "]");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onCustomize(PageState state) {
|
||||||
|
m_workspace.onCustomize(state, m_column);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onReset(PageState state) {
|
||||||
|
m_workspace.onReset(state, m_column);
|
||||||
|
}
|
||||||
|
|
||||||
|
public HomepageWorkspaceSelectionModel getWorkspaceModel() {
|
||||||
|
return m_workspace;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getSelectedKey(PageState state) {
|
||||||
|
return getSelectedPortal(state).getID();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSelectedKey(PageState state,
|
||||||
|
Object key) {
|
||||||
|
throw new UnsupportedOperationException("cannot set key");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSelectedObject(PageState state,
|
||||||
|
DomainObject key) {
|
||||||
|
throw new UnsupportedOperationException("cannot set object");
|
||||||
|
}
|
||||||
|
|
||||||
|
public ParameterModel getStateParameter() {
|
||||||
|
throw new UnsupportedOperationException("not state param");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DomainObject getSelectedObject(PageState state) {
|
||||||
|
return getSelectedPortal(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
public WorkspacePage getSelectedPortal(PageState state) {
|
||||||
|
return m_workspace.getPortal(state, m_column);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,174 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001 ArsDigita Corporation. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the ArsDigita Public
|
||||||
|
* License (the "License"); you may not use this file except in
|
||||||
|
* compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.arsdigita.com/ADPL.txt
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.aplaws.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.SimpleContainer;
|
||||||
|
import com.arsdigita.bebop.ActionLink;
|
||||||
|
import com.arsdigita.bebop.Page;
|
||||||
|
import com.arsdigita.bebop.event.ActionEvent;
|
||||||
|
import com.arsdigita.bebop.event.ActionListener;
|
||||||
|
import com.arsdigita.portalworkspace.ui.PersistentPortal;
|
||||||
|
import com.arsdigita.portalworkspace.Workspace;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.xml.Element;
|
||||||
|
import com.arsdigita.portalworkspace.ui.PortalConstants;
|
||||||
|
import com.arsdigita.kernel.permissions.PermissionService;
|
||||||
|
import com.arsdigita.kernel.permissions.PermissionDescriptor;
|
||||||
|
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
|
||||||
|
import com.arsdigita.kernel.Party;
|
||||||
|
import com.arsdigita.kernel.Kernel;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class HomepageWorkspace extends SimpleContainer {
|
||||||
|
|
||||||
|
/** Private logger instance for debugging */
|
||||||
|
private static Logger s_log = Logger.getLogger(
|
||||||
|
HomepageWorkspace.class);
|
||||||
|
|
||||||
|
private HomepagePortalSelectionModel m_model;
|
||||||
|
private ActionLink m_reset;
|
||||||
|
private ActionLink m_browse;
|
||||||
|
private ActionLink m_edit;
|
||||||
|
private PersistentPortal m_browser;
|
||||||
|
private PersistentPortal m_editor;
|
||||||
|
private boolean m_customizable;
|
||||||
|
private boolean m_readOnly;
|
||||||
|
private String m_name;
|
||||||
|
|
||||||
|
public HomepageWorkspace() {
|
||||||
|
super("portal:homepageWorkspace", PortalConstants.PORTAL_XML_NS);
|
||||||
|
m_customizable = false;
|
||||||
|
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("Constructor HomepageWorkspace finished. " );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setModel(HomepagePortalSelectionModel model) {
|
||||||
|
m_model = model;
|
||||||
|
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("setModel: " + m_model );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCustomizable(boolean customizable) {
|
||||||
|
m_customizable = customizable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReadOnly(boolean readOnly) {
|
||||||
|
m_readOnly = readOnly;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
m_name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addWidgets() {
|
||||||
|
m_edit = new ActionLink("customize");
|
||||||
|
m_browse = new ActionLink("browse");
|
||||||
|
m_reset = new ActionLink("reset");
|
||||||
|
m_reset.setConfirmation("Are you sure you wish to reset this column? " +
|
||||||
|
"This will permanently remove all portlets.");
|
||||||
|
|
||||||
|
m_browser = new PersistentPortal(m_model,
|
||||||
|
m_name,
|
||||||
|
PortalConstants.MODE_DISPLAY);
|
||||||
|
m_editor = new PersistentPortal(m_model,
|
||||||
|
m_name,
|
||||||
|
PortalConstants.MODE_EDITOR);
|
||||||
|
|
||||||
|
m_edit.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
PageState state = e.getPageState();
|
||||||
|
setDisplayMode(state, false);
|
||||||
|
|
||||||
|
m_model.onCustomize(state);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
m_browse.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
PageState state = e.getPageState();
|
||||||
|
setDisplayMode(state, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
m_reset.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
PageState state = e.getPageState();
|
||||||
|
setDisplayMode(state, true);
|
||||||
|
|
||||||
|
m_model.onReset(state);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
add(m_edit);
|
||||||
|
add(m_browse);
|
||||||
|
add(m_reset);
|
||||||
|
add(m_editor);
|
||||||
|
add(m_browser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisplayMode(PageState state,
|
||||||
|
boolean browse) {
|
||||||
|
if (m_readOnly) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_browse.setVisible(state, !browse);
|
||||||
|
m_reset.setVisible(state, !browse);
|
||||||
|
m_edit.setVisible(state, browse);
|
||||||
|
m_browser.setVisible(state, browse);
|
||||||
|
m_editor.setVisible(state, !browse);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void register(Page page) {
|
||||||
|
super.register(page);
|
||||||
|
|
||||||
|
page.setVisibleDefault(m_browse, false);
|
||||||
|
page.setVisibleDefault(m_reset, false);
|
||||||
|
page.setVisibleDefault(m_edit, !m_readOnly);
|
||||||
|
page.setVisibleDefault(m_browser, true);
|
||||||
|
page.setVisibleDefault(m_editor, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void generateXML(PageState state,
|
||||||
|
Element parent) {
|
||||||
|
Party party = Kernel.getContext().getParty();
|
||||||
|
Workspace global = m_model.getWorkspaceModel().getGlobalWorkspace(state);
|
||||||
|
PermissionDescriptor admin =
|
||||||
|
new PermissionDescriptor(PrivilegeDescriptor.ADMIN,
|
||||||
|
global,
|
||||||
|
party);
|
||||||
|
boolean hasAdmin = PermissionService.checkPermission(admin);
|
||||||
|
boolean userWorkspaces = Workspace.getConfig().getCreateUserWorkspaces();
|
||||||
|
|
||||||
|
if (party == null || m_readOnly ||
|
||||||
|
(!hasAdmin && !m_customizable) || (!hasAdmin && !userWorkspaces)) {
|
||||||
|
m_reset.setVisible(state, false);
|
||||||
|
m_browse.setVisible(state, false);
|
||||||
|
m_edit.setVisible(state, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
super.generateXML(state, parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,287 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001 ArsDigita Corporation. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the ArsDigita Public
|
||||||
|
* License (the "License"); you may not use this file except in
|
||||||
|
* compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.arsdigita.com/ADPL.txt
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.aplaws.ui;
|
||||||
|
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.RequestLocal;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
|
||||||
|
|
||||||
|
import com.arsdigita.kernel.Party;
|
||||||
|
import com.arsdigita.kernel.User;
|
||||||
|
import com.arsdigita.kernel.Kernel;
|
||||||
|
import com.arsdigita.kernel.permissions.PermissionService;
|
||||||
|
import com.arsdigita.kernel.permissions.PermissionDescriptor;
|
||||||
|
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
|
||||||
|
|
||||||
|
import com.arsdigita.portalworkspace.Workspace;
|
||||||
|
import com.arsdigita.portalworkspace.WorkspacePage;
|
||||||
|
import com.arsdigita.portalworkspace.WorkspacePageCollection;
|
||||||
|
|
||||||
|
import com.arsdigita.london.subsite.Subsite;
|
||||||
|
|
||||||
|
import com.arsdigita.util.Assert;
|
||||||
|
import com.arsdigita.util.UncheckedWrapperException;
|
||||||
|
|
||||||
|
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
||||||
|
public class HomepageWorkspaceSelectionModel {
|
||||||
|
private RequestLocal m_loaded = new RequestLocal();
|
||||||
|
private RequestLocal m_global = new RequestLocal();
|
||||||
|
private RequestLocal m_personal = new RequestLocal();
|
||||||
|
private RequestLocal m_left = new RequestLocal();
|
||||||
|
private RequestLocal m_middle = new RequestLocal();
|
||||||
|
private RequestLocal m_right = new RequestLocal();
|
||||||
|
private RequestLocal m_custom = new RequestLocal();
|
||||||
|
|
||||||
|
private static Logger s_log = Logger.getLogger
|
||||||
|
(HomepageWorkspaceSelectionModel.class.getName());
|
||||||
|
|
||||||
|
public WorkspacePage getPortal(PageState state,
|
||||||
|
int column) {
|
||||||
|
if (!Boolean.TRUE.equals(m_loaded.get(state))) {
|
||||||
|
loadWorkspacePages(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (column == 0) { // Always global portal
|
||||||
|
return (WorkspacePage)m_left.get(state);
|
||||||
|
} else if (column == 1) { // Always global portal
|
||||||
|
return (WorkspacePage)m_middle.get(state);
|
||||||
|
} else if (column == 2) { // Personal portal, fallback on global
|
||||||
|
Party party = (Party)Kernel.getContext().getParty();
|
||||||
|
WorkspacePage right = (WorkspacePage)m_right.get(state);
|
||||||
|
PermissionDescriptor admin =
|
||||||
|
new PermissionDescriptor(PrivilegeDescriptor.ADMIN,
|
||||||
|
right,
|
||||||
|
party);
|
||||||
|
// Always ensure admin gets global portal
|
||||||
|
// don't use custom portals if asked not to
|
||||||
|
if (m_custom.get(state) == null ||
|
||||||
|
PermissionService.checkPermission(admin) ||
|
||||||
|
!Workspace.getConfig().getCreateUserWorkspaces()) {
|
||||||
|
s_log.debug("Returning global portal");
|
||||||
|
return (WorkspacePage)m_right.get(state);
|
||||||
|
} else {
|
||||||
|
s_log.debug("Returning personal portal");
|
||||||
|
return (WorkspacePage)m_custom.get(state);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new UncheckedWrapperException("column out of range (0..2)");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onCustomize(PageState state,
|
||||||
|
int column) {
|
||||||
|
if (!Boolean.TRUE.equals(m_loaded.get(state))) {
|
||||||
|
loadWorkspacePages(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
Party party = (Party)Kernel.getContext().getParty();
|
||||||
|
|
||||||
|
Assert.exists(party, Party.class);
|
||||||
|
|
||||||
|
// When customizing right column, may need to clone
|
||||||
|
// for a personal portal
|
||||||
|
// don't use custom portals if asked not to
|
||||||
|
if (column == 2 &&
|
||||||
|
Workspace.getConfig().getCreateUserWorkspaces()) {
|
||||||
|
Workspace global = getTopWorkspace();
|
||||||
|
|
||||||
|
WorkspacePage right = (WorkspacePage)m_right.get(state);
|
||||||
|
PermissionDescriptor admin =
|
||||||
|
new PermissionDescriptor(PrivilegeDescriptor.ADMIN,
|
||||||
|
right,
|
||||||
|
party);
|
||||||
|
if (PermissionService.checkPermission(admin)) {
|
||||||
|
s_log.debug("Party has admin on global portal");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_custom.get(state) != null) {
|
||||||
|
s_log.debug("Party has custom portal already");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
s_log.debug("Looking for custom column 2");
|
||||||
|
|
||||||
|
Workspace custom = null;
|
||||||
|
try {
|
||||||
|
custom = global.retrieveSubworkspaceForParty(party);
|
||||||
|
s_log.debug("Found exsting personal workspce");
|
||||||
|
} catch (DataObjectNotFoundException ex) {
|
||||||
|
s_log.debug("Created new personal workspace");
|
||||||
|
custom = Workspace.createWorkspace(
|
||||||
|
"personal-" + party.getID(),
|
||||||
|
"Personal Workspace for " + party.getDisplayName(),
|
||||||
|
global,
|
||||||
|
(User)party
|
||||||
|
);
|
||||||
|
}
|
||||||
|
s_log.debug("Looking for portal");
|
||||||
|
m_personal.set(state, custom);
|
||||||
|
WorkspacePageCollection portals = custom.getPages();
|
||||||
|
portals.addOrder(WorkspacePage.SORT_KEY);
|
||||||
|
WorkspacePage portal;
|
||||||
|
if (portals.next()) {
|
||||||
|
s_log.debug("Found portal");
|
||||||
|
portal = portals.getPage();
|
||||||
|
portals.close();
|
||||||
|
} else {
|
||||||
|
s_log.debug("Create portal");
|
||||||
|
portal = custom.addPage("Custom", "Custom page");
|
||||||
|
}
|
||||||
|
m_custom.set(state, portal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void onReset(PageState state,
|
||||||
|
int column) {
|
||||||
|
if (!Boolean.TRUE.equals(m_loaded.get(state))) {
|
||||||
|
loadWorkspacePages(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
Party party = Kernel.getContext().getParty();
|
||||||
|
|
||||||
|
Assert.exists(party, Party.class);
|
||||||
|
|
||||||
|
WorkspacePage clear = null;
|
||||||
|
|
||||||
|
// don't use custom portals if asked not to
|
||||||
|
if (column == 2 &&
|
||||||
|
Workspace.getConfig().getCreateUserWorkspaces()) {
|
||||||
|
// If we find a custom workspace, then delete it,
|
||||||
|
// otherwise just clear the portlets.
|
||||||
|
Workspace global = getTopWorkspace();
|
||||||
|
Workspace custom = null;
|
||||||
|
try {
|
||||||
|
custom = global.retrieveSubworkspaceForParty(party);
|
||||||
|
Assert.isTrue(custom.getParty() != null &&
|
||||||
|
custom.getParty().equals(party),
|
||||||
|
"party is not null and not admin");
|
||||||
|
s_log.debug("Found exsting personal workspce");
|
||||||
|
custom.delete();
|
||||||
|
m_custom.set(state, null);
|
||||||
|
} catch (DataObjectNotFoundException ex) {
|
||||||
|
clear = (WorkspacePage)m_right.get(state);
|
||||||
|
}
|
||||||
|
} else if (column == 1) {
|
||||||
|
clear = (WorkspacePage)m_middle.get(state);
|
||||||
|
} else if (column == 0) {
|
||||||
|
clear = (WorkspacePage)m_left.get(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clear != null) {
|
||||||
|
clear.clearPortlets();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Workspace getGlobalWorkspace(PageState state) {
|
||||||
|
if (!Boolean.TRUE.equals(m_loaded.get(state))) {
|
||||||
|
loadWorkspacePages(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (Workspace)m_global.get(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Workspace getPersonalWorkspace(PageState state) {
|
||||||
|
if (!Boolean.TRUE.equals(m_loaded.get(state))) {
|
||||||
|
loadWorkspacePages(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (Workspace)m_personal.get(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadWorkspacePages(PageState state) {
|
||||||
|
Workspace global = getTopWorkspace();
|
||||||
|
m_global.set(state, global);
|
||||||
|
|
||||||
|
WorkspacePage left = null;
|
||||||
|
WorkspacePage middle = null;
|
||||||
|
WorkspacePage right = null;
|
||||||
|
|
||||||
|
WorkspacePageCollection portals = global.getPages();
|
||||||
|
portals.addOrder(WorkspacePage.SORT_KEY);
|
||||||
|
while (portals.next()) {
|
||||||
|
WorkspacePage portal = portals.getPage();
|
||||||
|
|
||||||
|
if (portal.getSortKey() == 0) {
|
||||||
|
left = portal;
|
||||||
|
} else if (portal.getSortKey() == 1) {
|
||||||
|
middle = portal;
|
||||||
|
} else if (portal.getSortKey() == 2) {
|
||||||
|
right = portal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (left == null) {
|
||||||
|
left = global.addPage("Left", "Left hand page");
|
||||||
|
}
|
||||||
|
if (middle == null) {
|
||||||
|
middle = global.addPage("Middle", "Middle page");
|
||||||
|
}
|
||||||
|
if (right == null) {
|
||||||
|
right = global.addPage("Right", "Right hand page");
|
||||||
|
}
|
||||||
|
m_left.set(state, left);
|
||||||
|
m_middle.set(state, middle);
|
||||||
|
m_right.set(state, right);
|
||||||
|
|
||||||
|
|
||||||
|
Party party = (Party)Kernel.getContext().getParty();
|
||||||
|
m_custom.set(state, null);
|
||||||
|
if (party != null) {
|
||||||
|
Workspace custom = null;
|
||||||
|
try {
|
||||||
|
custom = global.retrieveSubworkspaceForParty(party);
|
||||||
|
} catch (DataObjectNotFoundException ex) {
|
||||||
|
// nada
|
||||||
|
}
|
||||||
|
if (custom != null) {
|
||||||
|
portals = custom.getPages();
|
||||||
|
portals.addOrder(WorkspacePage.SORT_KEY);
|
||||||
|
if (portals.next()) {
|
||||||
|
WorkspacePage portal = portals.getPage();
|
||||||
|
m_custom.set(state, portal);
|
||||||
|
}
|
||||||
|
portals.close();
|
||||||
|
}
|
||||||
|
s_log.debug("Is there a custom portal ?" + custom +
|
||||||
|
" - " + m_custom.get(state));
|
||||||
|
m_personal.set(state, custom);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_loaded.set(state, Boolean.TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Workspace getTopWorkspace() {
|
||||||
|
if (Subsite.getContext().hasSite()) {
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("Return a subsite front page");
|
||||||
|
}
|
||||||
|
return (Workspace)Subsite.getContext().getSite().getFrontPage();
|
||||||
|
} else {
|
||||||
|
if (s_log.isDebugEnabled()) {
|
||||||
|
s_log.debug("Return the main front page");
|
||||||
|
}
|
||||||
|
return (Workspace)Kernel.getContext().getResource();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.aplaws.ui;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
||||||
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
|
import com.arsdigita.categorization.ui.ACSObjectCategoryForm;
|
||||||
|
import com.arsdigita.cms.CMS;
|
||||||
|
import com.arsdigita.cms.ContentItem;
|
||||||
|
import com.arsdigita.cms.ui.authoring.*;
|
||||||
|
import com.arsdigita.kernel.ACSObject;
|
||||||
|
import com.arsdigita.london.terms.ui.ACSObjectCategoryPicker;
|
||||||
|
import com.arsdigita.london.terms.ui.TermWidget;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p> cms specific Concrete implementation of
|
||||||
|
* <code>com.arsdigita.aplaws.ui.ACSObjectCategoryPicker</code>. </p>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p>Activated by pointing the parameter
|
||||||
|
* <code>com.arsdigita.cms.category_authoring_add_form<</code> to it.</p>
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
public class ItemCategoryPicker extends ACSObjectCategoryPicker {
|
||||||
|
|
||||||
|
private static final Logger s_log = Logger.getLogger(ItemCategoryPicker.class);
|
||||||
|
// private static final class s_picker = this ;
|
||||||
|
|
||||||
|
public ItemCategoryPicker(BigDecimalParameter root,
|
||||||
|
StringParameter mode) {
|
||||||
|
super(root, mode);
|
||||||
|
s_log.debug("instantiating ItemCategoryPicker");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @see com.arsdigita.aplaws.ui.ACSObjectCategoryPicker#getForm(
|
||||||
|
com.arsdigita.bebop.parameters.BigDecimalParameter,
|
||||||
|
com.arsdigita.bebop.parameters.StringParameter)
|
||||||
|
*/
|
||||||
|
protected ACSObjectCategoryForm getForm(BigDecimalParameter root,
|
||||||
|
StringParameter mode) {
|
||||||
|
s_log.debug("getForm");
|
||||||
|
return new ItemCategoryForm(root, mode, new TermWidget(mode, this));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @see com.arsdigita.aplaws.ui.ACSObjectCategoryPicker#getObject()
|
||||||
|
*/
|
||||||
|
protected ACSObject getObject(PageState state) {
|
||||||
|
ContentItem item = CMS.getContext().getContentItem();
|
||||||
|
return item.getParent();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.aplaws.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.bebop.Label;
|
||||||
|
import com.arsdigita.dispatcher.DispatcherHelper;
|
||||||
|
import com.arsdigita.xml.Document;
|
||||||
|
import com.arsdigita.xml.Element;
|
||||||
|
import com.arsdigita.web.Web;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Special implementation of <code>com.arsdigita.ui.SimplePage</code> as
|
||||||
|
* the base page to serve bebop pages.</p>
|
||||||
|
*
|
||||||
|
* <p>Activated by pointing the parameter <code>waf.bebop.base_page</code>
|
||||||
|
* to it.</p>
|
||||||
|
*/
|
||||||
|
public class SimplePage extends com.arsdigita.ui.SimplePage {
|
||||||
|
|
||||||
|
public SimplePage(String application,
|
||||||
|
Label title,
|
||||||
|
String id) {
|
||||||
|
super(application, title, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Element generateXMLHelper(PageState state,
|
||||||
|
Document parent) {
|
||||||
|
Element page = super.generateXMLHelper(state, parent);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO: What specific funcionality is added here and what is
|
||||||
|
* its purpose and why is the bebop standard implementation
|
||||||
|
* insufficient.
|
||||||
|
*
|
||||||
|
* Two xml attributes are added in addition to the bebop standard
|
||||||
|
* implementation.
|
||||||
|
*/
|
||||||
|
if (Web.getContext().getRequestURL() != null) {
|
||||||
|
page.addAttribute("url", Web.getContext().getRequestURL().toString());
|
||||||
|
|
||||||
|
page.addAttribute("textOnly", "/text".equals(
|
||||||
|
DispatcherHelper
|
||||||
|
.getDispatcherPrefix(state.getRequest()))
|
||||||
|
? "1" : "0"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2.1 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.arsdigita.aplaws.ui;
|
||||||
|
|
||||||
|
import com.arsdigita.london.terms.Domain;
|
||||||
|
import com.arsdigita.london.terms.ui.AbstractTermItemSummary;
|
||||||
|
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import com.arsdigita.bebop.Page;
|
||||||
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
|
|
||||||
|
public class TermItemSummary extends AbstractTermItemSummary {
|
||||||
|
|
||||||
|
private StringParameter m_key;
|
||||||
|
private String m_defaultKey = "LGSL";
|
||||||
|
|
||||||
|
public TermItemSummary() {
|
||||||
|
m_key = new StringParameter("key");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void register(Page p) {
|
||||||
|
super.register(p);
|
||||||
|
|
||||||
|
p.addGlobalStateParam(m_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDefaultDomain(String key) {
|
||||||
|
m_defaultKey = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Domain getDomain(PageState state) {
|
||||||
|
String key = (String)state.getValue(m_key);
|
||||||
|
|
||||||
|
if (key == null) {
|
||||||
|
key = m_defaultKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Domain.retrieve(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,137 @@
|
||||||
|
/*
|
||||||
|
* FCKeditor - The text editor for internet
|
||||||
|
* Copyright (C) 2003-2005 Frederico Caldeira Knabben
|
||||||
|
*
|
||||||
|
* Licensed under the terms of the GNU Lesser General Public License:
|
||||||
|
* http://www.opensource.org/licenses/lgpl-license.php
|
||||||
|
*
|
||||||
|
* For further information visit:
|
||||||
|
* http://www.fckeditor.net/
|
||||||
|
*
|
||||||
|
* File Name: fckconfigOpenCCM.js
|
||||||
|
* Editor configuration settings for use in admin interface in APLAWS/OpenCCM.
|
||||||
|
* This configuration is designed to match the following goals:
|
||||||
|
* - Easy useage of the editor
|
||||||
|
* - Clean HTML output, this means for example that no deprected elements are useable from the editor
|
||||||
|
*
|
||||||
|
* This file is organized in the same way as the page of the FCKEditor documentation showing all config options.
|
||||||
|
* The page can be found here: http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Configuration_Options
|
||||||
|
*
|
||||||
|
* - Semantic HTML output. This means that elements like <em> are prefered against such as <b>
|
||||||
|
* This config is loaded from the Javascript in the calling page using AFTER the
|
||||||
|
* default fckconfig.js is loaded.
|
||||||
|
*
|
||||||
|
* File Authors:
|
||||||
|
* Chris Burnett (orginale fckeditordefaultstyle.js for APLAWS)
|
||||||
|
* Jens Pelzetter
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* **************************************************************************************************************** */
|
||||||
|
|
||||||
|
|
||||||
|
/* Editor Behavior
|
||||||
|
--------------- */
|
||||||
|
|
||||||
|
FCKConfig.AutoDetectPasteFromWord = false ; //Paste Word text directly to the editor (only IE)
|
||||||
|
FCKConfig.CleanWordKeepsStructure = true ; //Prefer to keep HTML structure, not layout
|
||||||
|
FCKConfig.DocType = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' ;
|
||||||
|
FCKConfig.ForcePasteAsPlainText = true ; //Text pasted in from another app will appear as plain text
|
||||||
|
|
||||||
|
|
||||||
|
/* Styles
|
||||||
|
------ */
|
||||||
|
|
||||||
|
FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'config/fckconfigOpenCCM.xml' ; //Some styles
|
||||||
|
|
||||||
|
/* HTML Output
|
||||||
|
----------- */
|
||||||
|
|
||||||
|
FCKConfig.FormatOutput = true ; //Format output code
|
||||||
|
FCKConfig.FormatSource = true ;
|
||||||
|
|
||||||
|
/* User interface
|
||||||
|
-------------- */
|
||||||
|
|
||||||
|
FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','TableCell','Table','Form'] ;
|
||||||
|
FCKConfig.ImageDlgHideLink = true ;
|
||||||
|
FCKConfig.ImageDlgHideAdvanced = true ;
|
||||||
|
FCKConfig.ShowDropDialog = true ;
|
||||||
|
FCKConfig.ToolbarSets["AplawsBasic"] = [
|
||||||
|
['Style','-','OrderedList','UnorderedList','Subscript', 'Superscript', '-','SpellCheck','Link','Unlink','RemoveFormat','-','ImageButton', '-', 'AdvToolbar', 'About']
|
||||||
|
] ;
|
||||||
|
|
||||||
|
FCKConfig.ToolbarSets["AplawsAdvanced"] = [
|
||||||
|
['Style','-','OrderedList','UnorderedList','Subscript', 'Superscript'],
|
||||||
|
['Cut','Copy','Paste','PasteText','PasteWord','Undo','Redo','RemoveFormat'],
|
||||||
|
['Find','Replace','SelectAll', '-','SpellCheck'],
|
||||||
|
'/',
|
||||||
|
['Link','Unlink','Anchor','-','Source'],
|
||||||
|
['SimpleToolbar']
|
||||||
|
] ;
|
||||||
|
|
||||||
|
|
||||||
|
// Replace the Advanced toolbar with AplawsAdvanced & setup the Basic toolbar to use the AplawsBasic toolbar
|
||||||
|
// The two toolbars are used to support the dynamic toolbar switching plugin.
|
||||||
|
// Set the Default to be the Basic version so that the editor loads the basic toolbar on startup.
|
||||||
|
|
||||||
|
FCKConfig.ToolbarSets["Advanced"] = FCKConfig.ToolbarSets["AplawsAdvanced"] ;
|
||||||
|
FCKConfig.ToolbarSets["Basic"] = FCKConfig.ToolbarSets["AplawsBasic"] ;
|
||||||
|
FCKConfig.ToolbarSets["Default"] = FCKConfig.ToolbarSets["Basic"] ;
|
||||||
|
|
||||||
|
/* Advanced
|
||||||
|
-------- */
|
||||||
|
FCKConfig.FirefoxSpellChecker = true ;
|
||||||
|
FCKConfig.SpellChecker = 'ieSpell' ; // 'ieSpell' | 'SpellerPages'
|
||||||
|
FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/rel/ieSpellSetup211325.exe' ;
|
||||||
|
|
||||||
|
/* File Browser and Updoader
|
||||||
|
------------------------- */
|
||||||
|
|
||||||
|
FCKConfig.LinkBrowser = true ;
|
||||||
|
FCKConfig.LinkBrowserURL = "/ccm/content/admin/search.jsp?useURL=true&widget=getElementById('txtUrl')" ;
|
||||||
|
FCKConfig.LinkBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; // 70%
|
||||||
|
FCKConfig.LinkBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70%
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
FCKConfig.ToolbarSets["AplawsBasic"] = [
|
||||||
|
['Style','-','Bold','OrderedList','UnorderedList','-','SpellCheck','Link','Unlink','RemoveFormat','-','AdvToolbar']
|
||||||
|
] ;
|
||||||
|
|
||||||
|
FCKConfig.ToolbarSets["AplawsAdvanced"] = [
|
||||||
|
['Style','-','Bold','OrderedList','UnorderedList'],
|
||||||
|
['Cut','Copy','Paste','PasteText','PasteWord','Undo','Redo','RemoveFormat'],
|
||||||
|
['Find','Replace','SelectAll', '-','SpellCheck'],
|
||||||
|
'/',
|
||||||
|
['UniversalKey'],
|
||||||
|
['Link','Unlink','Anchor','-','Source'],
|
||||||
|
['SimpleToolbar']
|
||||||
|
] ;
|
||||||
|
|
||||||
|
|
||||||
|
// Replace the Advanced toolbar with AplawsAdvanced & setup the Basic toolbar to use the AplawsBasic toolbar
|
||||||
|
// The two toolbars are used to support the dynamic toolbar switching plugin.
|
||||||
|
// Set the Default to be the Basic version so that the editor loads the basic toolbar on startup.
|
||||||
|
|
||||||
|
FCKConfig.ToolbarSets["Advanced"] = FCKConfig.ToolbarSets["AplawsAdvanced"] ;
|
||||||
|
FCKConfig.ToolbarSets["Basic"] = FCKConfig.ToolbarSets["AplawsBasic"] ;
|
||||||
|
FCKConfig.ToolbarSets["Default"] = FCKConfig.ToolbarSets["Basic"] ;
|
||||||
|
|
||||||
|
|
||||||
|
FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'config/fckconfigstyledefault.xml' ;
|
||||||
|
FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','TableCell','Table','Form'] ;
|
||||||
|
|
||||||
|
FCKConfig.SpellChecker = 'ieSpell' ; // 'ieSpell' | 'SpellerPages'
|
||||||
|
FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/rel/ieSpellSetup211325.exe' ;
|
||||||
|
|
||||||
|
FCKConfig.ImageDlgHideLink = true ;
|
||||||
|
FCKConfig.ImageDlgHideAdvanced = true ;
|
||||||
|
|
||||||
|
FCKConfig.FlashDlgHideAdvanced = true ;
|
||||||
|
|
||||||
|
FCKConfig.LinkBrowser = true ;
|
||||||
|
FCKConfig.LinkBrowserURL = "/ccm/content/admin/search.jsp?useURL=true&widget=getElementById('txtUrl')" ;
|
||||||
|
FCKConfig.LinkBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; // 70%
|
||||||
|
FCKConfig.LinkBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70%
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
|
||||||
|
|
||||||
|
<Styles>
|
||||||
|
<Style name="Heading 3" element="h3" />
|
||||||
|
<Style name="Heading 4" element="h4" />
|
||||||
|
<Style name="Heading 5" element="h5" />
|
||||||
|
<Style name="Heading 6" element="h6" />
|
||||||
|
<Style name="Emphasized" element="em" />
|
||||||
|
<Style name="Strong emphasized" element="strong" />
|
||||||
|
<Style name="Body Text" element="p" />
|
||||||
|
</Styles>
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
|
||||||
|
/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */
|
||||||
|
/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/examples/XinhaConfig.js */
|
||||||
|
xinha_init=null;
|
||||||
|
xinha_config=null;
|
||||||
|
xinha_init=xinha_init?xinha_init:function(){
|
||||||
|
xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"];
|
||||||
|
xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","Linker","SuperClean","TableOperations"];
|
||||||
|
if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
xinha_config=xinha_config?xinha_config():new Xinha.Config();
|
||||||
|
xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"];
|
||||||
|
xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins);
|
||||||
|
Xinha.startEditors(xinha_editors);
|
||||||
|
};
|
||||||
|
Xinha.addOnloadHandler(xinha_init);
|
||||||
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.web.URL"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.web.RedirectSignal"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
// throw new RedirectSignal(URL.there(request, "/navigation/"), false);
|
||||||
|
throw new RedirectSignal(URL.there(request, "/portal/"), false);
|
||||||
|
</jsp:scriptlet>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page
|
||||||
|
import="com.arsdigita.navigation.NavigationModel,
|
||||||
|
com.arsdigita.navigation.cms.CMSNavigationModel"/>
|
||||||
|
|
||||||
|
<jsp:declaration>
|
||||||
|
NavigationModel model = new CMSNavigationModel();
|
||||||
|
</jsp:declaration>
|
||||||
|
|
||||||
|
<define:page name="itemPage" application="content-section"
|
||||||
|
title="APLAWS" cache="true">
|
||||||
|
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.category.Path)categoryPath)
|
||||||
|
.setModel(model);
|
||||||
|
</jsp:scriptlet>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.category.Menu)categoryMenu)
|
||||||
|
.setModel(model);
|
||||||
|
</jsp:scriptlet>
|
||||||
|
<define:component name="itemXML"
|
||||||
|
classname="com.arsdigita.cms.dispatcher.ContentPanel"/>
|
||||||
|
|
||||||
|
<define:component name="relatedItems"
|
||||||
|
classname="com.arsdigita.navigation.ui.RelatedItems"/>
|
||||||
|
|
||||||
|
<define:component name="assignedTerms"
|
||||||
|
classname="com.arsdigita.bundle.ui.AssignedItemTerms"/>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<define:page name="autoCategories" pageClass="com.arsdigita.cms.ui.authoring.EmptyPage" title="autoCategories" cache="true">
|
||||||
|
|
||||||
|
<define:component name="autoTerms"
|
||||||
|
classname="com.arsdigita.aplaws.ui.AutoTerms"/>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<define:page name="childCategories"
|
||||||
|
pageClass="com.arsdigita.cms.ui.authoring.EmptyPage"
|
||||||
|
title="childCategories"
|
||||||
|
cache="true">
|
||||||
|
|
||||||
|
<!-- Class had been moved from ccm-ldn-aplaws to ccm-ldn-terms in
|
||||||
|
order to avoid dependencies between modules, ccm-forum-categorised
|
||||||
|
and a specific kind of the integration module ccm-???-aplaws.
|
||||||
|
<define:component name="catSubtree"
|
||||||
|
classname="com.arsdigita.aplaws.ui.CategorySubtree"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<define:component name="catSubtree"
|
||||||
|
classname="com.arsdigita.london.terms.ui.CategorySubtree"/>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((Object)null).hashCode();
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="person"
|
||||||
|
application="content"
|
||||||
|
title="person4Homepages"
|
||||||
|
cache="false">
|
||||||
|
|
||||||
|
<define:component name="personList"
|
||||||
|
classname="com.arsdigita.london.navigation.ui.object.ComplexObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.GenericPerson");
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).getRenderer().setSpecializeObjects(true);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).getDefinition().setDescendCategories(true);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).getDefinition().setExcludeIndexObjects(false);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).getDefinition().setFilterCategory(false);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).getRenderer().setPageSize(99999);
|
||||||
|
if((request.getParameterMap().get("DaBInId") != null) && (((String[])request.getParameterMap().get("DaBInId")).length > 0)) {
|
||||||
|
String[] params = (String[]) request.getParameterMap().get("DaBInId");
|
||||||
|
String dabinid = params[0];
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) personList).setSQLFilter(String.format("pageDescription LIKE '%%DaBInId={%s}%%'", dabinid));
|
||||||
|
}
|
||||||
|
|
||||||
|
</jsp:scriptlet>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="publications"
|
||||||
|
application="content"
|
||||||
|
title="Publications4Homepages"
|
||||||
|
cache="false">
|
||||||
|
|
||||||
|
<define:component name="projectList"
|
||||||
|
classname="com.arsdigita.london.navigation.ui.object.ComplexObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.SciProject");
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).getRenderer().setSpecializeObjects(true);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).getDefinition().setDescendCategories(true);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).getDefinition().setExcludeIndexObjects(false);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).getDefinition().setFilterCategory(false);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).getDefinition().setAddOrder("title");
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).getRenderer().setSpecializeObjectsContext("sciProjectList");
|
||||||
|
if((request.getParameterMap().get("DaBInId") != null) && (((String[])request.getParameterMap().get("DaBInId")).length > 0)) {
|
||||||
|
String[] params = (String[]) request.getParameterMap().get("DaBInId");
|
||||||
|
String dabinid = params[0];
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).setSQLFilter(String.format("persons.pageDescription LIKE '%%DaBInId={%s}%%'", dabinid));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) projectList).getRenderer().setPageSize(99999);
|
||||||
|
</jsp:scriptlet>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="publications"
|
||||||
|
application="content"
|
||||||
|
title="Publications4Homepages"
|
||||||
|
cache="false">
|
||||||
|
|
||||||
|
<define:component name="publicationList"
|
||||||
|
classname="com.arsdigita.london.navigation.ui.object.ComplexObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Publication");
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).getRenderer().setSpecializeObjects(true);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).getDefinition().setDescendCategories(true);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).getDefinition().setExcludeIndexObjects(false);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).getDefinition().setFilterCategory(false);
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).getDefinition().addOrder("yearOfPublication desc");
|
||||||
|
if((request.getParameterMap().get("DaBInId") != null) && (((String[])request.getParameterMap().get("DaBInId")).length > 0)) {
|
||||||
|
String[] params = (String[]) request.getParameterMap().get("DaBInId");
|
||||||
|
String dabinid = params[0];
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).setSQLFilter(String.format("authors.pageDescription LIKE '%%DaBInId={%s}%%'", dabinid));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) publicationList).getRenderer().setPageSize(99999);
|
||||||
|
</jsp:scriptlet>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper" />
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
|
||||||
|
String returnURL = request.getParameter("returnURL");
|
||||||
|
|
||||||
|
if ( returnURL == null ) {
|
||||||
|
returnURL = "/";
|
||||||
|
}
|
||||||
|
|
||||||
|
String mode = request.getParameter("textOnly");
|
||||||
|
if ("1".equals(mode)) {
|
||||||
|
if (!returnURL.startsWith("/text")) {
|
||||||
|
returnURL = "/text" + returnURL;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (returnURL.startsWith("/text")) {
|
||||||
|
returnURL = returnURL.substring(5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
response.sendRedirect(returnURL);
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
Information for administrators and developers:
|
||||||
|
|
||||||
|
This directory contains Navigation item pages specifically crafted for
|
||||||
|
Scientific CMS. The are activated by a customized template.txt file list.
|
||||||
|
|
||||||
|
These file may be overwritten or ammended by site specific templates stored
|
||||||
|
in den bundles subdirectory. In case of additional templates a customised
|
||||||
|
template.txt must be provided and activated in the integrations.properties
|
||||||
|
configuration file.
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.ui.object.CustomizableObjectList"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="defaultItemPage" application="navigation"
|
||||||
|
title="Navigation" cache="false">
|
||||||
|
<define:component name="greetingItem"
|
||||||
|
classname="com.arsdigita.navigation.ui.GreetingItem"/>
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="itemList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.CustomizableObjectList"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
CustomizableObjectList objList = (CustomizableObjectList) itemList;
|
||||||
|
objList.setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
objList.setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
objList.setCustomName("SciPublicationsList");
|
||||||
|
objList.getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Publication");
|
||||||
|
objList.getDefinition().setDescendCategories(false);
|
||||||
|
objList.addTextFilter("title", "title");
|
||||||
|
objList.addTextFilter("authors.surname", "author");
|
||||||
|
objList.addSelectFilter("yearOfPublication", "yearOfPublication", true, true, true, true);
|
||||||
|
objList.addSortField("title", "title asc");
|
||||||
|
objList.addSortField("yearAsc", "yearOfPublication asc");
|
||||||
|
objList.addSortField("yearDesc", "yearOfPublication desc");
|
||||||
|
objList.addSortField("authors", "authors.surname asc, authors.givenname asc");
|
||||||
|
objList.getDefinition().addOrder(objList.getOrder(request.getParameter("sort")));
|
||||||
|
|
||||||
|
objList.getRenderer().setPageSize(20);
|
||||||
|
objList.getRenderer().setSpecializeObjects(true);
|
||||||
|
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:component name="assignedTerms"
|
||||||
|
classname="com.arsdigita.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||||
|
|
||||||
|
</define:page>
|
||||||
|
<show:all/>
|
||||||
|
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
<jsp:directive.page import="org.apache.log4j.Logger"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="defaultItemPage" application="navigation"
|
||||||
|
title="Navigation" cache="false">
|
||||||
|
<define:component name="greetingItem"
|
||||||
|
classname="com.arsdigita.navigation.ui.GreetingItem"/>
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="itemList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.ComplexObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) itemList).getRenderer().setPageSize(20);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) itemList).getRenderer().setSpecializeObjects(true);
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:component name="assignedTerms"
|
||||||
|
classname="com.arsdigita.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||||
|
</define:page>
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="atozItemPage" application="navigation"
|
||||||
|
title="Navigation" cache="true">
|
||||||
|
|
||||||
|
<define:component name="greetingItem"
|
||||||
|
classname="com.arsdigita.navigation.ui.GreetingItem"/>
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="itemList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.AtoZObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getDefinition().setDescendCategories(false);
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getDefinition().addOrder("title");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getRenderer().setPageSize(20);
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getRenderer().addAttribute("objectType");
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getRenderer().addAttribute( "title");
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getRenderer().addAttribute( "definition");
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getRenderer().addAttribute( "summary");
|
||||||
|
((com.arsdigita.navigation.ui.object.AtoZObjectList) itemList).getRenderer().addAttribute( "lead");
|
||||||
|
</jsp:scriptlet>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="defaultItemPage" application="navigation"
|
||||||
|
title="Navigation" cache="true">
|
||||||
|
|
||||||
|
<define:component name="greetingItem"
|
||||||
|
classname="com.arsdigita.navigation.ui.GreetingItem"/>
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="itemList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.SimpleObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false);
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30);
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "definition");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "summary");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "lead");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "description");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "eventDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "startDate" );
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "endDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate");
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:component name="assignedTerms"
|
||||||
|
classname="com.arsdigita.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||||
|
|
||||||
|
</define:page>
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="defaultItemPage" application="navigation"
|
||||||
|
title="Navigation" cache="true">
|
||||||
|
|
||||||
|
<define:component name="greetingItem"
|
||||||
|
classname="com.arsdigita.navigation.ui.GreetingItem"/>
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="eventList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.ComplexObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Event");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setSQLFilter("(endDate >= :today and (endTime > :time or endTime is null)) or (endDate is null and startDate >= :today)");
|
||||||
|
|
||||||
|
// Java ist mal wieder kompliziert. Man braucht ein Calender-Object, damit man Datumsarithmetik betreiben kann. java.util.Calendar ist allerdings // abstract. Deshalb muß man java.util.GregorianCalendar verwenden. Dann kann man mit der add-Methode verschiedene Felder manipulieren. // Aber Achtung - die add-Method liefert void zurück. Daher kann man das nicht alles in einer Zeile machen. Also Variablen anlegen. // Komplizierter geht's wohl nicht mehr.
|
||||||
|
java.util.GregorianCalendar now = new java.util.GregorianCalendar();
|
||||||
|
java.util.Date today = (new java.util.GregorianCalendar(now.get(java.util.GregorianCalendar.YEAR),
|
||||||
|
now.get(java.util.GregorianCalendar.MONTH),
|
||||||
|
now.get(java.util.GregorianCalendar.DATE))).getTime();
|
||||||
|
// Im Event-CT ist das Datum als SQL-Type Date eingetragen, die Uhrzeit aber als SQL-Typ timestamptz. Leider wird von ccm im letzten
|
||||||
|
// das Datum nicht gesetzt, so daß der Timestamp immer eine Uhrzeit am 1.1.1970 angibt. Das ist ziemlich bescheuert und macht hier
|
||||||
|
// diesen kompliezierten Vergleich notwendig. Sonst könnte man einfach mit dem aktuellen Timestamp vergleichen.
|
||||||
|
java.util.Date time = (new java.util.GregorianCalendar(70,0,1, // this is 01.01.1970 - start of UNIX timestamp
|
||||||
|
now.get(java.util.GregorianCalendar.HOUR_OF_DAY),
|
||||||
|
now.get(java.util.GregorianCalendar.MINUTE),
|
||||||
|
now.get(java.util.GregorianCalendar.SECOND))).getTime();
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setParameter("today", today);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setParameter("time", time);
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setDescendCategories(true);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().addOrder("startDate");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("objectType");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("title");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("lead");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("eventDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("launchDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("startDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("endDate");
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:component name="assignedTerms"
|
||||||
|
classname="com.arsdigita.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||||
|
|
||||||
|
</define:page>
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<%-- JSP template to use a portal page as index page in navigation --%>
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.aplaws.ui.CategoryPortalSelectionModel"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="portalsPage" application="navigation"
|
||||||
|
title="Navigation" cache="true">
|
||||||
|
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="portalWorkspace"
|
||||||
|
classname="com.arsdigita.portalworkspace.ui.WorkspaceViewer"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.portalworkspace.ui.WorkspaceViewer) portalWorkspace).setWorkspaceModel(new CategoryPortalSelectionModel());
|
||||||
|
</jsp:scriptlet>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<!-- JSP template to use a portal page as index page in navigation -->
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.aplaws.ui.CategoryPortalSelectionModel"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="portalsPage" application="navigation"
|
||||||
|
title="Navigation" cache="true">
|
||||||
|
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="portalWorkspace"
|
||||||
|
classname="com.arsdigita.portalworkspace.ui.WorkspaceViewer"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.portalworkspace.ui.WorkspaceViewer) portalWorkspace).setWorkspaceModel(new CategoryPortalSelectionModel());
|
||||||
|
</jsp:scriptlet>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="recentItemPage" application="navigation"
|
||||||
|
title="Navigation" cache="true">
|
||||||
|
|
||||||
|
<define:component name="greetingItem"
|
||||||
|
classname="com.arsdigita.navigation.ui.GreetingItem"/>
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="itemList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.SimpleObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false);
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("id");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30);
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "definition");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "summary");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "lead");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "eventDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "startDate" );
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "endDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute( "newsDate");
|
||||||
|
|
||||||
|
</jsp:scriptlet>
|
||||||
|
</define:page>
|
||||||
|
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
|
|
@ -0,0 +1,121 @@
|
||||||
|
<jsp:root
|
||||||
|
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||||
|
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||||
|
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||||
|
version="1.2">
|
||||||
|
|
||||||
|
<!-- JSP template for the ZeS welcome / start page using navigation -->
|
||||||
|
|
||||||
|
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.Navigation"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
|
||||||
|
<jsp:scriptlet>
|
||||||
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
if (age == 0) {
|
||||||
|
DispatcherHelper.cacheDisable(response);
|
||||||
|
} else {
|
||||||
|
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||||
|
}
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:page name="defaultItemPage" application="navigation"
|
||||||
|
title="Navigation" cache="true">
|
||||||
|
|
||||||
|
<define:component name="greetingItem"
|
||||||
|
classname="com.arsdigita.navigation.ui.GreetingItem"/>
|
||||||
|
<define:component name="categoryPath"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Path"/>
|
||||||
|
<define:component name="categoryMenu"
|
||||||
|
classname="com.arsdigita.navigation.ui.category.Menu"/>
|
||||||
|
<define:component name="itemList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.SimpleObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false);
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("parent.categories.link.sortKey");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(30);
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("objectType");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("title");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("eventDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("launchDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("startDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("endDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.SimpleObjectList) itemList).getRenderer().addAttribute("newsDate");
|
||||||
|
</jsp:scriptlet>
|
||||||
|
<define:component name="eventList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.ComplexObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Event");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setSQLFilter("(endDate >= :today and (endTime > :time or endTime is null)) or (endDate is null and startDate >= :today)");
|
||||||
|
|
||||||
|
// Java ist mal wieder kompliziert. Man braucht ein Calender-Object, damit man Datumsarithmetik betreiben kann. java.util.Calendar ist allerdings // abstract. Deshalb muß man java.util.GregorianCalendar verwenden. Dann kann man mit der add-Methode verschiedene Felder manipulieren. // Aber Achtung - die add-Method liefert void zurück. Daher kann man das nicht alles in einer Zeile machen. Also Variablen anlegen. // Komplizierter geht's wohl nicht mehr.
|
||||||
|
java.util.GregorianCalendar now = new java.util.GregorianCalendar();
|
||||||
|
java.util.Date today = (new java.util.GregorianCalendar(now.get(java.util.GregorianCalendar.YEAR),
|
||||||
|
now.get(java.util.GregorianCalendar.MONTH),
|
||||||
|
now.get(java.util.GregorianCalendar.DATE))).getTime();
|
||||||
|
// Im Event-CT ist das Datum als SQL-Type Date eingetragen, die Uhrzeit aber als SQL-Typ timestamptz. Leider wird von ccm im letzten
|
||||||
|
// das Datum nicht gesetzt, so daß der Timestamp immer eine Uhrzeit am 1.1.1970 angibt. Das ist ziemlich bescheuert und macht hier
|
||||||
|
// diesen kompliezierten Vergleich notwendig. Sonst könnte man einfach mit dem aktuellen Timestamp vergleichen.
|
||||||
|
java.util.Date time = (new java.util.GregorianCalendar(70,0,1, // this is 01.01.1970 - start of UNIX timestamp
|
||||||
|
now.get(java.util.GregorianCalendar.HOUR_OF_DAY),
|
||||||
|
now.get(java.util.GregorianCalendar.MINUTE),
|
||||||
|
now.get(java.util.GregorianCalendar.SECOND))).getTime();
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setParameter("today", today);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).setParameter("time", time);
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().setDescendCategories(true);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getDefinition().addOrder("startDate");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().setPageSize(5);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("objectType");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("title");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("lead");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("eventDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("launchDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("startDate");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) eventList).getRenderer().addAttribute("endDate");
|
||||||
|
</jsp:scriptlet>
|
||||||
|
<define:component name="newsList"
|
||||||
|
classname="com.arsdigita.navigation.ui.object.ComplexObjectList"/>
|
||||||
|
<jsp:scriptlet>
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.NewsItem");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).setSQLFilter("newsDate > :oldNewsDate");
|
||||||
|
|
||||||
|
// Java ist mal wieder kompliziert. Man braucht ein Calender-Object, damit man Datumsarithmetik betreiben kann. java.util.Calendar ist allerdings
|
||||||
|
// abstract. Deshalb muß man java.util.GregorianCalendar verwenden. Dann kann man mit der add-Methode verschiedene Felder manipulieren.
|
||||||
|
// Aber Achtung - die add-Method liefert void zurück. Daher kann man das nicht alles in einer Zeile machen. Also Variablen anlegen.
|
||||||
|
// Komplizierter geht's wohl nicht mehr.
|
||||||
|
java.util.GregorianCalendar oldDate = new java.util.GregorianCalendar();
|
||||||
|
oldDate.add(java.util.Calendar.MONTH, -2);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).setParameter("oldNewsDate", oldDate.getTime());
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getDefinition().setDescendCategories(true);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getDefinition().addOrder("newsDate desc");
|
||||||
|
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getRenderer().setPageSize(5);
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("objectType");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("title");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("lead");
|
||||||
|
((com.arsdigita.navigation.ui.object.ComplexObjectList) newsList).getRenderer().addAttribute("newsDate");
|
||||||
|
</jsp:scriptlet>
|
||||||
|
|
||||||
|
<define:component name="assignedTerms"
|
||||||
|
classname="com.arsdigita.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||||
|
|
||||||
|
</define:page>
|
||||||
|
<show:all/>
|
||||||
|
</jsp:root>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue