s.py work
[systematiki.git] / Documentation / documentation.html
blobe0e89bd62d0c1afb4b22b5666e60e0b753acf0ce
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
5 <head>
6 <meta http-equiv="Content-Type"
7 content="application/xhtml+xml; charset=utf-8" />
8 <title>Systematiki</title>
9 <style type="text/css" media="all">
10 @import "./style/base.css";
11 </style>
12 </head>
14 <body>
16 <div class="box bhead">
17 <p style="float: right;">
18 &lt; <a href="past/index.html">Past</a> &gt; &nbsp;
19 &lt; <b>Present</b> &gt; &nbsp;
20 &lt; <a href="future/index.html">Future</a> &gt; &nbsp;
21 </p>
22 <h1>Systematiki</h1>
23 </div>
25 <div class="box bside">
26 <p><a href="index.html">Introduction</a></p>
27 <p><a href="development.html">Development</a></p>
28 <p><a href="tutorial.html">Tutorial</a></p>
29 <p><a href="documentation.html">Documentation</a></p>
30 <p><a href="past-present.html">Past and Present</a></p>
31 </div>
33 <div class="box bmain">
34 <h2>The Big Picture</h2>
35 <p>This document describes some decisions I (Felix Rabe) took while
36 developing Systematiki.</p>
38 <p>Systematiki is a data-centric application with two big unknown variables:</p>
40 <h3>How the data will be stored (&quot;Back-end&quot;)</h3>
41 <p>The initial data storage is a dummy database that resides in memory and
42 contains example data. This is quick and dirty and easy to implement.
43 Later, do we want data to be stored in a database
44 (like MySQL or PostgreSQL) or on the filesystem?
45 Systematiki should provide for both options. Also, we'd like to have
46 transparent (TCP) network access to a remote server.</p>
48 <h3>How the data will be presented (&quot;Front-end&quot;)</h3>
49 <p>The possible uses of the data provided above should not be limited to
50 only one presentation / editor / GUI / whatever provided by the Systematiki
51 project. The Systematiki code should provide for an editor GUI and a
52 (TCP) network server.</p>
54 <h3>The result</h3>
55 <p><i>(Also see the old
56 <a href="past/architecture.svg">architecture illustration</a>.)</i></p>
57 <p>Systematiki is divided into a front-end and a back-end, glued together
58 by <tt>systematiki.py</tt>. All back-ends
59 share a common API such that all back-ends are usable with all front-ends
60 (and vice versa).</p>
62 <h2>Glossary</h2>
63 <p><i>(Also see the old
64 <a href="past/prototype-2.html">proto2 glossary</a>.)</i></p>
65 <p><b>API</b><br/>
66 Application Programming Interface. The back-ends have a common API.</p>
67 <p><b>Back-end</b><br/>
68 A software module that retrieves and stores data in some kind of a database,
69 e.g. MySQL, filesystem, or TCP network.</p>
70 <p><b>Front-end</b><br/>
71 A software module that makes back-end data available to either the user or
72 another application, e.g. over the network.</p>
74 <h2>Systematiki and Python</h2>
75 <p>Systematiki (including front-end and back-end) is implemented in Python.
76 The front-end/back-end split means that one or both of those ends can
77 interact with (bind to) another programming language. Where this is not
78 possible, Systematiki can always be accessed over the network or by other
79 IPC mechanisms, limited only by what people cared to implement.</p>
81 <h2>Configuring Systematiki</h2>
82 <p><i>(Also see the old
83 <a href="past/server-configuration.html">server configuration</a>
84 proposal.)</i></p>
85 <p><tt>systematiki.py</tt> can <i>only</i> be configured using command-line
86 arguments. Other means of configuration (GUI, configuration files) can
87 be provided later with external wrapper scripts / programs.</p>
88 </div>
90 <div class="box bfoot">
91 <p>Software for browsing, searching, and editing semantically linked data.</p>
92 </div>
94 </body>
96 </html>