Installation Guide
This guide details how to install a deployment version of the OCE
system from the binary distribution.
Certain optional steps (where indicated) require a development
environment to be set up.
Base Installation
The following tasks should be undertaken with a user account
containing Administrator or root privileges.
- Copy all frameworks from the Frameworks directory into
the
Apple third party frameworks directory.
- Mac OS X: /Library/Frameworks
- Windows: $NEXT_ROOT/Local/Library/Frameworks
{where
$NEXT_ROOT is the value of the NEXT_ROOT environment variable}
- Copy all applications from the Applications directory
into the
Apple third party WebObjects application directory.
- Mac OS X: /Library/WebObjects/Applications
- Windows:
$NEXT_ROOT/Local/Library/WebObjects/Applications
- Install the log4j jar file from
the Apache Log4J
distribution
into the Resources/Java subdirectory of the installed
CassiniJava framework.
- Install the commons-codec jar file from the Apache
Commons Codec
distribution
into the Resources/Java subdirectory of the installed
CassiniJava framework.
- (If required) Obtain the JDBC driver jar files for the chosen
database into the Java JRE ext directory.
- Mac OS X: /Library/Java/Extensions
- Windows:
$WEBOBJECTS_JAVA_EXTENSIONS
{where
$WEBOBJECTS_JAVA_EXTENSIONS is the value of the
WEBOBJECTS_JAVA_EXTENSIONS environment variable}
- Set up a suitable blank database.
It is recommended the database be titled OCE.
A database account should be created for the database with SELECT /
INSERT / UPDATE / DELETE / CREATE TABLE / DROP TABLE permissions
granted.
- Configure (or replace) the following EOModels in the frameworks
described below for the database to be used.
OCE-Content framework: OCE_Content.eomodeld
OCE-Navigation framework: OCE_Navigation.eomodeld
OCE-Users framework: OCE_Users.eomodeld
In addition, set the connection dictionary information as required by
the database for each EOModel.
NOTES:
- The default EOModels supplied are set up for use with a
MySQL database.
- Example preconfigured EOModels for other common databases may
be found in the software distribution under ExampleEOModels.
- If the required database is not listed, convert the datatypes
for each EOModel using the "Switch Adaptor" functionality in the
Apple EOModeler application, and carefully check the new database
internal
types.
If in doubt about how to go about this procedure, contact the OCE
distribution lists on SourceForge or Cassini Division for further
advice.
- Set up OCE with a chosen sample database.
The sample sites are listed as indidual directories under ExampleSites.
Open a command-line interface window.
Change directory to the following location:
- Mac OS X:
/Library/WebObjects/Applications/CassiniEOUtil.woa
- Windows:$NEXT_ROOT/Local/Library/WebObjects/Applications/CassiniEOUtil.woa
Build the chosen OCE database as follows:
CassiniEOUtil -import -schemaDrop -schemaCreate -path {sample_database_directory}
-modelPaths {list_of_model_paths}
where:
-
{sample_database_directory}
is the path to the example database.
This will be located in the Database subdirectory of the chosen
sample site.
For example:
D:/OCE/ExampleSites/OCEDemo-Trivial/Database
-
{list_of_model_paths}
is a comma-separated list of paths to the three EOModels (OCE_Content,
OCE_Navigation, OCE_Users).
For example:
D:/Apple/Local/Library/Frameworks/OCE-Content.framework/Resources/OCE-Content.eomodeld,
D:/Apple/Local/Library/Frameworks/OCE-Users.framework/Resources/OCE-Users.eomodeld,
D:/Apple/Local/Library/Frameworks/OCE-Navigation.framework/Resources/OCE-Navigation.eomodeld
Some error messages may be displayed during the import process.
In general, messages of the form "table does not exist" may be ignored;
other messages may indicate genuine errors.
It is a obviously near-impossible task to generalize the all the
responses that could be generated for all possible databases.
Check the OCE SourceForge distribution lists for advice if necessary.
Example invocations:
Windows
CassiniEOUtil.cmd -import -schemaDrop -schemaCreate -path D:/OCE/ExampleSites/OCEDemo-Trivial/Database
-modelPaths "D:/Apple/Local/Library/Frameworks/OCE-Content.framework/Resources/OCE-Content.eomodeld,
D:/Apple/Local/Library/Frameworks/OCE-Users.framework/Resources/OCE-Users.eomodeld,
D:/Apple/Local/Library/Frameworks/OCE-Navigation.framework/Resources/OCE-Navigation.eomodeld"
Mac OS X
./CassiniEOUtil -import -schemaDrop -schemaCreate -path "/oce/ExampleSites/OCEDemo-Trivial/Database"
-modelPaths "/Library/Frameworks/OCE-Content.framework/Resources/OCE-Content.eomodeld,
/Library/Frameworks/OCE-Users.framework/Resources/OCE-Users.eomodeld,
/Library/Frameworks/OCE-Navigation.framework/Resources/OCE-Navigation.eomodeld"
Check the database has been installed correctly by running the OCE-UserAdmin
application.
Start the OCE-UserAdmin web application by running ("double-clicking"
on) the following:
- Mac OS X:
/Library/WebObjects/Applications/OCE-UserAdmin.woa
- Windows:$NEXT_ROOT/Local/Library/WebObjects/Applications/OCE-UserAdmin.woa/OCE-UserAdmin.cmd
After a few moments a web browser window should appear prompting for a
login.
Log in using one of the accounts specified by the chosen sample
database.
(For example: for the OCEDemo-Trivial example site, enter demo,
password demo.)
You should be directed to a new page containing a list of user accounts.
(Optional) Create new user accounts, assigning roles as appropriate.
Now quit the application, closing related browser/terminal windows.
Examine the navigational structure of the example site by running
the OCE-SiteAdmin application.
Start the OCE-SiteAdmin web application by running ("double-clicking"
on) the following:
- Mac OS X:
/Library/WebObjects/Applications/OCE-SiteAdmin.woa
- Windows:$NEXT_ROOT/Local/Library/WebObjects/Applications/OCE-SiteAdmin.woa/OCE-SiteAdmin.cmd
After a few moments a web browser window should appear prompting for a
login.
Log in using one of the accounts specified by the chosen sample
database.
(For example: for the OCEDemo-Trivial example site, enter demo,
password demo.)
You should be directed to a new page containing a top bar with a set of
options.
Click on Edit Organisations and WebSites.
This should take you to a page listing all the current organisations.
Click on the WebSites arrow for a given organisation.
This should take you to a page listing all the current web sites for
the chosen organisation.
Click on the Sections arrow for a given web site.
A hierarchical display of sections should appear.
If you click on Edit Section Details the settings for the root
section of the site will be visible.
Now quit the application, closing related browser/terminal windows.
Configure an instance of OCE-Server to run from JavaMonitor.
(If necessary) Back up the wotaskd site configuration file first:
- Mac OS X:
/Library/WebObjects/Configuration/SiteConfig.xml
- Windows:$NEXT_ROOT/Local/Library/WebObjects/Configuration/SiteConfig.xml
Check the JavaMonitor service/daemon is running.
Access the JavaMonitor front page using a web browser.
(If necessary) Add host machine details.
Configure an instance of OCE-Server to run using JavaMonitor.
(Consult the Apple documentation for how to do this if necessary.)
Start the instance in JavaMonitor (make sure the instance starts
correctly).
(If necessary) Configure a WebObjects adaptor to work with the web
server/wotaskd configuration.
(If necessary) Start the web server.
Try accessing the instance with a suitable URL from a web browser, e.g.:
- Apache:
http://localhost/cgi-bin/WebObjects/OCE-Server
- IIS:http://localhost/scripts/WebObjects.dll/OCE-Server
You should see a page with the following text:
OCE-Server is running.
NOTE: Further instances of OCE-Server may be set up in
JavaMonitor if
desired - the application is fully scalable.
Content Publishing
NOTE: From this point onwards, we recommend referencing the OCE
applications
from the DNS domain for the site being published, e.g.
http://mywebsite.test ,
rather than http://localhost (or similar). This is so that all the
media assets (images etc) will appear and be referenced correctly from
the given domain. If all assets for all sites are shared from one
common directory then this may not be required.