View System Documentation - Files
Directory Structure and Overview
This page describes the basic file directory structures and lists special
non site specific files. Dynamically generated or site specific content
type files are not documented but the directory structure describes the
types of files that are stored within. This directory structure is based
on a starting path of the Java application server's "webapps" directory.
Contained within this "webapps" directory are all the applications that exist
for that app server. In the case of the IBIS-PH View application/system
this is typically "ibisph-view".
Naming Convention
The
Naming Conventions page shows
a more detailed definition of all conventions. Below is a quick file overview.
User defined data files which are generated by or maintained by content managers
are in the xml directory and are of the "MixedCase.xml" form. All other files
and directory names are considered "system" files with most being of the
"lower_case.ext" form. Exceptions to this rule are Java class files as the
Java language standard dictates this, the Javascript files, XSLTs, and some
CSS files. The WEB-INF and META-INF directory names are also mandated by the
Java Web Application standard. The intent of this naming standard is to provide
content managers a clue as to the files they can/should maintain. The system
files that are all lower case are named this way to help when deploying
the app to case sensitive operating systems like Unix/Linux.
Note that the site specific XSLT files are lower case and that the CSS files
have some files lower and some mixed. This is by design again to provide
some insight on what that file contains and its intended usage. Even though
these files are site specific they typically do not change and should be
maintained by a web designer and not a typical content manager type user.
[Java App Server dir]/webapps/ibisph-viewApplication's directory structure - rootcss
HTML Cascading Style Sheet (CSS) files
image
All static images used by the site. The root of this directory
contains general images like the header graphic, site URL icons etc.
button
Graphical button images. This includes the submit, reset,
and save buttons.
menu
Graphical menu related images. This includes the left
navigation tab and top menu tabs.
tree
Graphical collapsible tree images. This includes the folder,
document, and missing images.
js
All Javascript files used by the site. Each file is named according
to the type of object definition contained within. The IBIS-PH View
script files are not a collection of generic functions. This functionality
is incorporated into an object.
map
Javascript needed to control the interactive SVG map graphic.
jsp
System information, test, and error jsps
META-INF
Standard webapp directory. This directory can contain a "context.xml"
file which will add approp context definitions thus not requiring
an IT system admin to have to manually set any context elements
in the app server. This folder can also optionally contain a
"MANIFEST.MF" file which specifies additional meta information
for the JAR. See MANIFEST.MF file. For example, MANIFEST.MF can
be used to extend the CLASSPATH used by the EJB module see Accessing
the Stubs JAR from the EJB Module. This directory is not served/accessible
by clients. The contents are visible to servlet code via the getResource()
and getResourceAsStream() calls on the ServletContext.
See: http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html
WEB-INF
Standard webapp directory which contains all the IBIS-PH View
Java Class files, dependent Java library archives (JAR files),
property and Spring configuration XML files.
web.xml
Standard web app config file. Contains servlet mapping,
filter mapping, HTTP error handling, mime type configuration
and more.
javascript:return(false);config
Contains the "site_specific properties" file
and the Spring bean XML configuration files.
common_agileblox_chart_properties.acxml
Basic AgileBlox Chart properties. This includes colors,
fonts, chart width etc.
javascript:return(false);site_specific.properties
Contains IBIS-Q URL property, sys admin email address,
the admin app's IP address used to filter/ID the requester
for security reasons, and the logger control/levels.
javascript:return(false);spring
Contains the Spring bean definition XML control files.
chart.xml
Chart related definitions.
javascript:return(false);common.xml
IBIS-PH View System's common Spring properties. These
properties are used by several different modules/packages
within the system. These common properties include core
base XML/XSLT paths, common controllers, logging control
etc.
javascript:return(false);community.xml
"Community Profile" specific module related Spring
definitions resources, controllers, and views.
javascript:return(false);dispatcher_servlet.xml
Spring MVC Dispatcher Servlet Properties.
These properties configure which controller
handle to which request(s) (URL mapping).
javascript:return(false);home.xml
Home Page specific definitions.
javascript:return(false);indicator.xml
Indicator Profile type page specific definitions.
javascript:return(false);phom.xml
PHOM report specific Spring configs
javascript:return(false);publications.xml
Publication Pages specific Spring configs
javascript:return(false);secure.xml
Secure page specific definitions.
javascript:return(false);security.xml
Spring Security configuration/definitions.
javascript:return(false);query.xml
Query page specific definitions.
javascript:return(false);view.xml
Generic View XML/XSLT controller configuration definitions.
javascript:return(false);lib
Contains the dependent Java object libraries (jar files)
abchart.jar
AgileBlox SVG chart package/objects.
javascript:return(false);batik*.jar
Batik objects - converts SVG to raster/bitmaps images.
javascript:return(false);dom4j*.jar
Package that is used
when creating and working with XML elements. This code
simplifies creating and manipulating the XML document
elements and facilitates Xpath selections.
javascript:return(false);ibisph-view-v*.jar
IBIS-PH Java objects.
view/control/Overview.htmljaxen*.jar
XPath engine required/used by the dom4j code.
javascript:return(false);saxon9.jar
XSLT Processor package.
javascript:return(false);saxon9-dom4j.jar
Package that allows
Saxon to interface with dom4j XML documents
javascript:return(false);spring*.jar
Spring bean and MVC packages
javascript:return(false);xercesImpl*.jap
DOM SAX JAXP Parser
used by Batik, Saxon (XSLT) and anything that does DOM
javascript:return(false);xml
Container for all XML data files. See the
XML Model page for more information.
charts.xml
Valid chart definitions. This XML file is currently only
used by the Query Result page to display the available
charts that can be selected. It is at the root of the XML
files because (1) it is published via the Data Admin app
and (2) it can be useful for those wanting to allow the
Indicator Profile pages the ability to choose a different
chart.
javascript:return(false);org_units.xml
Valid values organization unit information which is also
published via the Data Admin system. The XSLT looks up this
information based on the ORG_UNIT_NAME element value
contained within Indicator Profile XMLs and Query Module XMLs.
javascript:return(false);community
Community profile related available community definitions,
indicator profile set definitions, comparative values,
and valid indicator profiles by community type.
files
FILES/FILE type element files. This includes query module
and selection lists, a PAGE type file list, and a list of
the system's XSLTs.
home
Home related XML files.
SiteMapSelection.xml
SELECTIONS structure that contains the site map organized
by topic.
javascript:return(false);html_content
Container for HTML_CONTENT type XML files. This includes
all static type "Home" pages on the site.
indicator
Indicator HTML_TYPE type XML files as well as the Admin System
published Indicator Profile files. This also include a
prototype Indicator Profile set definition.
categorized_index.xml
Categorized index XML structure. This structure is specified
and published via the Data Admin system.
javascript:return(false);published_profiles.xml
XML structure which is a list of published indicator profiles.
This file is updated via a publish controller.
javascript:return(false);html_content
Container for HTML_CONTENT type XML files. This includes
all static type "Indicator Profile Report" pages on the site.
profile
Container for all indicator and indicator view XML files.
map
Map related data files. This includes map layer definitions
used by the map.xslt. It also contains any "Map" PAGE type
files.
choropleths.xml
Defines the values and colors to be used for shading a
map based on the measure value.
javascript:return(false);layer
Container for all the map layer files (SVG).
menu
Contains the menu SECTION/SELECTIONS/SELECTION definitions. These
files are used by the XSLT code to define the static menu navigation
menu items.
phom
PHOM related content. This includes any PAGE type XML element
files as well as the page.xml file that lists the sequence of
the pages that should be shown in the online PHOM report.
pages.xml
General list structure that defines the HTML_CONTENT
pages as well as the profile view pages that comprise
the PHOM report.
javascript:return(false);html_content
Container for HTML_CONTENT type XML files. This includes
all static type "PHOM" report pages on the site.
publications
PHOM related content. This includes any PAGE type XML element
files as well as the page.xml file that lists the sequence of
the pages that should be shown in the online PHOM report.
OPHAPubsList.xml
XML structure that contains the OPHA publications. This
list has the topical title as well as a date so that both
indexes can be generated from this one list file.
javascript:return(false);html_content
Container for HTML_CONTENT type XML files. This includes
all static type "Publication" pages on the site.
query
Contains query module definitions, query selection definitions,
and query related PAGE element definitions.
html_content
Container for HTML_CONTENT type XML files. This includes
all static type "Query" pages on the site.
module
Container directory for all query module files.
xslt
Container for all XSLT (XML Stylesheet) files. See the
XSLT Design Documentation
page for more information.
_ibis.xsltjavascript:return(false);html
Container directory for all HTML producing XSLTs.
community
Community profile related XSLTs.
home
Home related XSLTs.
indicator
Indicator HTML_CONTENT, Profile, and Index related XSLTs.
phom
PHOM related XSLTs.
publications
Publications HTML_CONTENT and OPHA index related XSLTs.
query
Contains query module builder, selection definitions,
query result, HTML_CONTENT element definitions,
and query module report XSLT code.
svg
Container directory for all SVG producing XSLTs.
query
SVG Query XSLTs.
Map.xslt
XSLT that produces the SVG map.
javascript:return(false);xml
Container directory for all XML producing XSLTs.
query/module
Query related XMLs.
ConfigurationIncludeCriteriaExclude.xslt
XSLT that handles query module XML ibis:includes.
javascript:return(false);