moved internal documentation from htdocs/doc2 to doc

This commit is contained in:
following
2012-08-05 18:25:28 +02:00
parent adba6adb24
commit 556091dce4
13 changed files with 220 additions and 0 deletions
View File
+141
View File
@@ -0,0 +1,141 @@
<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>
+38
View File
@@ -0,0 +1,38 @@
<html>
<body>
<h1>Opencaching source code documentation</h1>
<p>
Documentation is grouped into the following main parts:<br />
<br />
<ul>
<li>License</li>
<li>Administraton</li>
<li>Database</li>
<li>Code</li>
<li>API</li>
</ul>
If you are interested in writing 3rd party applications, you
only need to know the licensing and API documentation.<br />
However, some knowledge of the database schema may be heplfull.<br />
<br />
Before reading other documents, you may want to inform youself about
the <a href="directories.html">directory structure</a>.<br />
</p>
<h2>License</h2>
<p>
<a href="license.txt">License</a>
</p>
<h2>Administraton</h2>
<h2>Database</h2>
<h2>Code</h2>
<a href="repository.html">Repository usage</a><br />
<a href="directories.html">Directory structure</a><br />
<h2>API</h2>
</body>
</html>
+41
View File
@@ -0,0 +1,41 @@
<html>
<body>
<h1>Repository usage</h1>
<h2>SVN update</h2>
<p>
When doing an SVN update watch for changes in the following files:
<ul>
<li>code/config/*</li>
<li>code/htdocs/config2/settings-dist.inc.php</li>
<li>code/htdocs/doc/sql/*</li>
<li>code/htdocs/lib/settings-dist.inc.php</li>
<li>code/htdocs/documentation/*</li>
</ul>
In most cases you have to review the changes and update your configuration
or database. The update is done manually.
<ul>
<li>Changes in the setting files may have to be modified in the local config file.</li>
<li>
Changes in SQL table definitions have to be installed in the database via
phpmyadmin. If there is a new table SQL file, you can create the new column
or modify the existing column.<br />
<br />
If data.sql changes, you have to execute it with mysql binary
<pre>cat data.sql | mysql -uroot -p &lt;database&gt;</pre>
If maintain.php changes, you have to execute it with you webbrowser.<br />
<br />
</li>
<li>
Changes in the documentation should be reviewed, of course.
</li>
</ul>
</p>
<h2>SVN commit</h2>
<p>
Commit your changes to the dev branch when you have finished the developlment.<br />
When these changes have been tested, they will be merged into the trunk.
</p>
</body>
</html>
Binary file not shown.