oc-server3/doc/directories.html
2012-08-06 18:16:26 +02:00

141 lines
5.1 KiB
HTML

<html>
<body>
<h1>Directory structure</h1>
<p><em>This documentation is outdated.</em></p>
<h2>Preface</h2>
<p>
The overall directory structure seems to be complex and redudant.
The reason for this is that we still have to support the directory structure of
previous source codes. Some of these directories can be removed in future
when the old source codes have been updated to use the current template
engine. Some other directories should be kept in future, because some
geocache listings or other website may reference to files inside that
directories. This document will first explain the currently intended directory
structure and after that explain the obsolete directories. You should only
use the new directory structure in new developments.<br />
<br />
All directories in this document will reference to trunk as base directory.
Other branches and tags should use the same directory structure.
</p>
<h2>Directories</h2>
<h3>code</h3>
<p>
All files that have to be uploaded to the webserver are contained in this
directory.
</p>
<h3>code/bin</h3>
<p>
Command line utilities for Opencaching administration and utlilities used
by the PHP code. This directory should only contain the binary itself. Config
files and libraries should be placed in the appropriate directory.
</p>
<h3>code/config</h3>
<p>
Contains configuration files. The source code is delivered with an default
configuration (settings-dist.inc.php). In the local webserver configuration
(settings.inc.php) only values have to be included that differ from the default
configuration. An example of this configuration is delivered with
(settings-sample.inc.php).
</p>
<h3>code/htdocs</h3>
<p>
This directory should be the document root of the apache configuration. Only
these files have to be accessible for web users.
</p>
<h3>code/lib</h3>
<p>
Contains Opencaching business logic files and classes.<br />
Subdirectories may be created for storing a set of classes that contain to
the same functionality like "search modules".
</p>
<h3>code/template</h3>
<p>
Smarty HTML templates.
</p>
<h3>code/upload</h3>
<p>
Directory containing all files that the users have uploaded. A seperate
structure of subdirectories may be created for each upload functionality
(e.g. GPX files or images).
</p>
<h3>code/webcache</h3>
<p>
Directory for caching files used to generate or speed up site processing.
Like compiled smarty files or caching of the menu structure.
</p>
<h3>documentation</h3>
<p>
See <a href="../index.html">documentation</a> for details.
</p>
<h3>resource</h3>
<p>
Contains files that were used to generate images and other "generated content".<br />
Subdirectory structure may be used where appropriate.
</p>
<h2>Obsolete directories</h2>
<p>
Existing sources have been copied to code/htdocs because in previous codes, there
was no strict seperation between "inside" and "ouside" the public accessbile root
directory of the web server.
</p>
<p>
There are 2 template engines used in the opencaching source code.<br />
The first one is a self-written template engine (refered as "old") and the
second one is smarty (refered as "new").<br />
You can determine what source code is used when you
look into the first code lines of the file. If the soruce file
includes "lib/common.inc.php" the old template system is used. If it includes
"lib2/web.inc.php", the new template engine is used.<br />
Directories ending with "2" belong to the new template engine. Directories
without a "2" at the end belong the the old template engine.
</p>
<h3>code/htdocs/cache</h3>
<h3>code/htdocs/cache2</h3>
<h3>code/htdocs/cache2/smarty/cache</h3>
<h3>code/htdocs/cache2/smarty/compiled</h3>
<h3>code/htdocs/cache2/translate</h3>
<h3>code/htdocs/config2</h3>
<h3>code/htdocs/doc</h3>
<h3>code/htdocs/doc/sql/static-data</h3>
<h3>code/htdocs/doc/sql/stored-proc</h3>
<h3>code/htdocs/doc/sql/tables</h3>
<h3>code/htdocs/doc2</h3>
<h3>code/htdocs/doc2/images</h3>
<h3>code/htdocs/download</h3>
<h3>code/htdocs/html</h3>
<h3>code/htdocs/images</h3>
<h3>code/htdocs/lang/de/ocstyle</h3>
<h3>code/htdocs/lang/de/ocstyle/email</h3>
<h3>code/htdocs/lang/de/ocstyle/images</h3>
<h3>code/htdocs/lang/de/ocstyle/js</h3>
<h3>code/htdocs/lang/de/ocstyle/lib</h3>
<h3>code/htdocs/lib</h3>
<h3>code/htdocs/lib2</h3>
<h3>code/htdocs/lib2/logic</h3>
<h3>code/htdocs/resource2/misc</h3>
<h3>code/htdocs/resource2/ocstyle</h3>
<h3>code/htdocs/resource2/tinymce</h3>
<h3>code/htdocs/statpics</h3>
<h3>code/htdocs/templates/mail</h3>
<h3>code/htdocs/templates/ocstyle</h3>
<h3>code/htdocs/templates/ocstyle/articles</h3>
<h3>code/htdocs/util</h3>
<h3>code/htdocs/util2</h3>
<h3>code/htdocs/xml</h3>
</body>
</html>