OpenCms provides a source code distribution that you can use to build the OpenCms core. This is only needed if you want to add your own core extensions. To develop the usual kind of website functionality, you should use the OpenCms module mechanism which is much easier to start with and also better documented. Before even considering starting to work on the core, you definitely should have written some OpenCms modules to understand the separation between a module and and a core extension.
The OpenCms core comes with the best possible documentation: The source code itself ;-) This is really not something for the novice Java developer. However, if you have some experience in Java, Java Servlets, JDBC, and XML in general you might take a look. As said before, you should also have already a firm understanding of the OpenCms module API.
Since this is rather deep stuff targeted rather at experts than at beginners, we will not explain every detail of the process. You have been warned.
Note: In case you are using the Eclipse Platform for development, you don't need an installation of Ant, it is included in Eclipse.
Apache Ant is a Java based build tool. In theory it is kind of like make without make's wrinkles. You need Ant version 1.6 or later to build the OpenCms core. Ant is part of the Jarkarta Apache Project and can be downloaded here. Please check the Ant documentation to make sure you understand the basic principles behind Ant.
Ant installation is described in the Ant manual. It requires that you have set up your path to Java correctly. Make sure Ant runs before proceeding.
Check out the latest OpenCms source distribution from the CVS repository as described here. It contains all classes necessary to build the OpenCms core. You will then end up with the following structure in your work directory:
/opencms
/modules <= Module resources
/src <= Start of the OpenCms source tree
/src-components <= Component sources (Upload applet, Ant tasks)
/src-modules <= Module sources
/test <= JUnit test classes
/webapp <= Contains the webapp files for Tomcat
/webapp/WEB-INF/lib <= the necessary libaries
build.xml <= This is needed by Ant
In case you want to use the Oracle database, you need the Oracle JDBC driver which you can download from the Oracle Technology Network (http://www.oracle.com). You have to register there to get the driver.
The file you need is the JDBC driver called
classes12.zip. Place the file in the directory
/lib of the OpenCms output folder. If you don't have this file, the OpenCms Oracle
Driver (package
org.opencms.db.oracle) is not compiled, which is ok if you don't run on Oracle.
Ok this is the easy part. Call up a commandline, move to the
/opencms directory (where the file
build.xml resides) of the OpenCms source tree. In your commandline, enter the
following:
ant war
That's it! This will build a complete OpenCms distribution. Your
work directory will look like this after Ant is finished:
/opencms <= Unchanged
/ExternalComponents <= Unchanged
/build
/classes <= Will contain the compiled OpenCms classes
/opencms <= This is the standard .war directory layout
/WEB-INF
/lib
/oclib
/META-INF
/zip <= The OpenCms distribution file will be placed here
/pdf
The final result of the compilation will be a ZIP file which will be placed in the
/zip directory. This ZIP is exactly the same layout as the OpenCms binary
distributions, so it will contain the
opencms.war archive.
Now that you have your new OpenCms binary distribution, you simply need to follow the Server installation guide for your server setup. Please make sure you don't mess up any existing installation. Best have a separate machine that is used only for testing and development.
There are several more targets in the
build.xml that might be useful for you. Here's a short overview:
war
opencms.war, but does not create the binary distribution ZIP file.srcdist
tomcat.dist
TOMCAT_HOME or
CATALINA_HOME), calling this target will have Ant updating the OpenCms classes on your
machine. This is done by replacing the files in the Tomcat
webapps/opencms directory. If you have renamed
opencms.war, or if your Tomcat is not installed the usual way, this probably will not
work.setup
tomcat.dist: It depends on
tomcat.dist, but will also update the OpenCms database, provided you run MySQL on your
development machine. This is useful if you do changes to the OpenCms Workplace template files.
CAUTION: This drops your complete database without further notice. Don't use until you know
what you do.Sep 12, 2008 - The first OpenCms Sprint was held September 9-10, 2008 in the KOMED convention center in Cologne, Germany. A total of 10 developers attended the Sprint. Results and Proceedings of the Sprint are now available for download.
Aug 29, 2008 - OCEE for OpenCms offers Support for LDAP, Clustering, Replication and improved performance. The latest OCEE release version 2.1 is a major update that introduces a number of new features for OpenCms 7.
Aug 28, 2008 - The next open source module in the Alkacon OAMP series has been released. The OAMP Comments module allows to add highly configurable blog like comment options to all template based pages in OpenCms.
Jul 21, 2008 - Our very first OpenCms development sprint event will happen September 9 to 10, 2008 in Cologne, Germany. Sprints are a gathering of OpenCms developers who want to activly shape the future of OpenCms.
Do you want to take a quick test drive of OpenCms to get an impression of its great features? Try out the OpenCms Live Demo website available at http://demo.opencms.org
© Alkacon Software GmbH - http://www.alkacon.com - Terms of use - Impressum