[Bknr-cvs] r1801 - trunk/projects/bknr-website/website/templates

bknr at bknr.net bknr at bknr.net
Tue Jan 24 11:04:26 UTC 2006


Author: hhubner
Date: 2006-01-24 05:04:26 -0600 (Tue, 24 Jan 2006)
New Revision: 1801

Added:
   trunk/projects/bknr-website/website/templates/applications.xml
   trunk/projects/bknr-website/website/templates/bknr.xsl
   trunk/projects/bknr-website/website/templates/contact.xml
   trunk/projects/bknr-website/website/templates/development-style.xml
   trunk/projects/bknr-website/website/templates/documentation.xml
   trunk/projects/bknr-website/website/templates/getting.xml
   trunk/projects/bknr-website/website/templates/home.xml
   trunk/projects/bknr-website/website/templates/license.xml
   trunk/projects/bknr-website/website/templates/platforms.xml
   trunk/projects/bknr-website/website/templates/user-error.xml
   trunk/projects/bknr-website/website/templates/why-no-db.xml
Removed:
   trunk/projects/bknr-website/website/templates/applications.bknr
   trunk/projects/bknr-website/website/templates/contact.bknr
   trunk/projects/bknr-website/website/templates/development-style.bknr
   trunk/projects/bknr-website/website/templates/documentation.bknr
   trunk/projects/bknr-website/website/templates/getting.bknr
   trunk/projects/bknr-website/website/templates/home.bknr
   trunk/projects/bknr-website/website/templates/license.bknr
   trunk/projects/bknr-website/website/templates/platforms.bknr
   trunk/projects/bknr-website/website/templates/technology.bknr
   trunk/projects/bknr-website/website/templates/toplevel.bknr
   trunk/projects/bknr-website/website/templates/user-error.bknr
   trunk/projects/bknr-website/website/templates/why-no-db.bknr
Modified:
   trunk/projects/bknr-website/website/templates/menu.xml
Log:
Switch to XSLT based documentation.


Deleted: trunk/projects/bknr-website/website/templates/applications.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/applications.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/applications.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Applications"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
-
-<h1>Applications</h1>
-<p>The following public web sites are based on BKNR (in order of going on-line):
-<ul>
- <li><a target="_new" href="http://eboy.com/">eboy</a></li>
- <li><a target="_new" href="http://createrainforest.org/">Create Rainforest</a></li>
- <li><a target="_new" href="http://quickhoney.com">Quickhoney</a></li>
- <li><a target="_new" href="http://lisp-ecoop05.bknr.net">LISP ECOOP05 Workshop</a></li>
-</ul>
-<p>Of course, this web site uses BKNR, too!</p>
-</p>
-</bknr:toplevel>

Copied: trunk/projects/bknr-website/website/templates/applications.xml (from rev 1800, trunk/projects/bknr-website/website/templates/applications.bknr)
===================================================================
--- trunk/projects/bknr-website/website/templates/applications.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/applications.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="applications">
+ <h1>Applications</h1>
+ <p>The following public web sites are based on BKNR (in order of going on-line):
+  <ul>
+   <li><a target="_new" href="http://eboy.com/">eboy</a></li>
+   <li><a target="_new" href="http://createrainforest.org/">Create Rainforest</a></li>
+   <li><a target="_new" href="http://quickhoney.com">Quickhoney</a></li>
+   <li><a target="_new" href="http://lisp-ecoop05.bknr.net">LISP ECOOP05 Workshop (now in archive mode)</a></li>
+  </ul>
+ </p>
+</page>
\ No newline at end of file

Added: trunk/projects/bknr-website/website/templates/bknr.xsl
===================================================================
--- trunk/projects/bknr-website/website/templates/bknr.xsl	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/bknr.xsl	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:param name="mode">xml</xsl:param>
+
+ <xsl:output method="html"
+             indent="yes"
+             omit-xml-declaration="yes"
+             doctype-public="-//W3C//DTD HTML 4.0 Strict//EN" />
+
+ <xsl:template match="/page">
+
+  <html
+   xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+      <title>BKNR - <xsl:value-of select="@name"/></title>
+      <link rel="stylesheet" type="text/css" href="../static/styles.css" />
+      <script src="../static/javascript.js" language="javascript" type="text/javascript"> </script>
+    </head>
+  
+    <body>
+      <div id="banner">
+        <div id="title">BKNR Lisp Application Environment</div>
+        <div id="logo">
+          <a href="http://bknr.net/" target="_new">
+  	  <img width="88" height="31" alt="BKNR Logo" src="/image/bknr-logo.png" border="0" />
+  	</a>
+        </div>
+      </div>
+      <div id="body">
+        <div id="system-column">
+          <xsl:call-template name="menu">
+            <xsl:with-param name="current" select="@name"/>
+          </xsl:call-template>
+        </div>
+        <div id="content">
+          <xsl:copy-of select="." />
+        </div>
+      </div>
+    </body>
+  </html>
+ </xsl:template>
+
+ <xsl:template name="menu">
+  <xsl:param name="current"/>
+  <div class="site-menu">
+   <xsl:for-each select="document('menu.xml')/menu/item">
+    <xsl:choose>
+     <xsl:when test="@url = $current">
+      <div class="site-menu-active">
+       <xsl:value-of select="@title"/>
+      </div>
+     </xsl:when>
+     <xsl:otherwise>
+      <div class="site-menu-inactive">
+       <a href="{@url}.{$mode}"><xsl:value-of select="@title"/></a>
+      </div>
+     </xsl:otherwise>
+    </xsl:choose>
+   </xsl:for-each>
+ </div>
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

Deleted: trunk/projects/bknr-website/website/templates/contact.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/contact.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/contact.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Contact"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
-
-<h1>Contact</h1>
-
-<p>If you intend to use BKNR or parts of it, we'd love to hear from
-you!</p>
-
-<p>To get in touch, please send mail to the developer's mailing list
-at bknr-devel at common-lisp dot net.  You may also <a
-href="http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel">subscribe</a>
-to the mailing list if you are interested in participating.</p>
-
-</bknr:toplevel>

Copied: trunk/projects/bknr-website/website/templates/contact.xml (from rev 1800, trunk/projects/bknr-website/website/templates/contact.bknr)
===================================================================
--- trunk/projects/bknr-website/website/templates/contact.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/contact.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="contact">
+ <h1>Contact</h1>
+
+ <p>If you intend to use BKNR or parts of it, we'd love to hear from
+ you!</p>
+
+ <p>To get in touch, please send mail to the developer's mailing list
+ at bknr-devel at common-lisp dot net.  You may also <a
+ href="http://common-lisp.net/cgi-bin/mailman/listinfo/bknr-devel">subscribe</a>
+ to the mailing list if you are interested in participating.</p>
+</page>
\ No newline at end of file

Deleted: trunk/projects/bknr-website/website/templates/development-style.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/development-style.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/development-style.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="BKNR technology"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
-
-<h2>BKNR programming style</h2>
-<p>
-All BKNR application data is handled in main memory.  Internally,
-applications do not use secondary store like data bases or files.  Are
-application data structures are kept in the data structures provided
-by Common Lisp.
-</p>
-<p>
-All destructive operation on the persistent heap need to be explicit
-and are synchronized.  A transaction is never aborted nor may it fail.
-Thus, it is vital to check preconditions before starting a destructive
-operation.  Within a transaction, application code must properly
-handle all possible errors and gracefully return.  Errors unhandled in
-transaction code are considered fatal and cause the persistence system
-to stop.
-</p>
-<p>
-Applications may either define their own, named transactions or they
-may use the provided CLOS layer which groups accesses to slots of
-persistent objects to atomic transactions.
-</p>
-<p>
-BKNR persistence sequentializes all destructive operations on the
-persistent heap.  As all data is in RAM when a transaction starts
-executing, it is never stalled by having to wait for necessary data to
-arrive.  Thus, the need for preempting transaction code arises much
-less frequently than in traditional systems in which transactions had
-to access slow disks in order to collect the data to be processed.
-</p>
-<p>
-Some applications require precondition checks which must be processed
-atomically together with the associated transaction code.
-Applications must guard such precondition checks with a store lock in
-order to block other transaction code from executing.
-</p>
-<p>
-Transaction code must be used only to change the persistent state of a
-system.  No I/O operations must be performed within transaction code.
-Transactions may produce log output, but it they may not use (possibly
-blocking) communications mechanisms to other processes.
-</p>
-<h2>Areas of research</h2>
-<h3>Performance</h3>
-<p>
-For high-performance stores, some optimizations will be worthwile.
-The single most time consuming operation while executing transactions
-is the appending to the transaction log file.  At the moment, this is
-done using a synchronous write to the opened Unix file, which takes
-significant time.
-</p>
-<p>
-Not all operations need to be absolutely safe, and it might be
-worthwile to change the default execution mode of the store to be as
-follows: Processing other transactions or non-transaction code may
-continue as soon as the transaction log entry of the current operation
-has been constructed in RAM and the transaction application code has
-been executed.  The transaction system will then asynchronously write
-the transaction to the transaction log.  Non-transactional application
-code can continue executing while the log entry is being commited to
-disk.  Depending on the safety needs of the application, log entries
-could also be buffered in a queue to achive higher peak transaction
-rates, trading safety for speed.  If safety is required, fast stable
-store (e.g. battery-backed RAM) can increase the speed of synchronous
-log writes.
-</p>
-<h2>Locking API</h2>
-<p>
-Current applications do not require sophisticated locking.  To support
-such applications, a locking API might make sense.
-</p>
-<h2>Replication</h2>
-<p>
-Hot-standby servers using the BKNR datastore are conceptually simple.
-Full commit safety requires a slightly more involved commit
-coordination on the distributed servers than doing the log replication
-after the commit has locally finished.  Many applications will be able
-to loose one or even a few transactions should the system crash.
-</p>
-</bknr:toplevel>

Copied: trunk/projects/bknr-website/website/templates/development-style.xml (from rev 1800, trunk/projects/bknr-website/website/templates/development-style.bknr)
===================================================================
--- trunk/projects/bknr-website/website/templates/development-style.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/development-style.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="development-style">
+ <h2>BKNR programming style</h2>
+ <p>
+ All BKNR application data is handled in main memory.  Internally,
+ applications do not use secondary store like data bases or files.  Are
+ application data structures are kept in the data structures provided
+ by Common Lisp.
+ </p>
+ <p>
+ All destructive operation on the persistent heap need to be explicit
+ and are synchronized.  A transaction is never aborted nor may it fail.
+ Thus, it is vital to check preconditions before starting a destructive
+ operation.  Within a transaction, application code must properly
+ handle all possible errors and gracefully return.  Errors unhandled in
+ transaction code are considered fatal and cause the persistence system
+ to stop.
+ </p>
+ <p>
+ Applications may either define their own, named transactions or they
+ may use the provided CLOS layer which groups accesses to slots of
+ persistent objects to atomic transactions.
+ </p>
+ <p>
+ BKNR persistence sequentializes all destructive operations on the
+ persistent heap.  As all data is in RAM when a transaction starts
+ executing, it is never stalled by having to wait for necessary data to
+ arrive.  Thus, the need for preempting transaction code arises much
+ less frequently than in traditional systems in which transactions had
+ to access slow disks in order to collect the data to be processed.
+ </p>
+ <p>
+ Some applications require precondition checks which must be processed
+ atomically together with the associated transaction code.
+ Applications must guard such precondition checks with a store lock in
+ order to block other transaction code from executing.
+ </p>
+ <p>
+ Transaction code must be used only to change the persistent state of a
+ system.  No I/O operations must be performed within transaction code.
+ Transactions may produce log output, but it they may not use (possibly
+ blocking) communications mechanisms to other processes.
+ </p>
+ <h2>Areas of research</h2>
+ <h3>Performance</h3>
+ <p>
+ For high-performance stores, some optimizations will be worthwile.
+ The single most time consuming operation while executing transactions
+ is the appending to the transaction log file.  At the moment, this is
+ done using a synchronous write to the opened Unix file, which takes
+ significant time.
+ </p>
+ <p>
+ Not all operations need to be absolutely safe, and it might be
+ worthwile to change the default execution mode of the store to be as
+ follows: Processing other transactions or non-transaction code may
+ continue as soon as the transaction log entry of the current operation
+ has been constructed in RAM and the transaction application code has
+ been executed.  The transaction system will then asynchronously write
+ the transaction to the transaction log.  Non-transactional application
+ code can continue executing while the log entry is being commited to
+ disk.  Depending on the safety needs of the application, log entries
+ could also be buffered in a queue to achive higher peak transaction
+ rates, trading safety for speed.  If safety is required, fast stable
+ store (e.g. battery-backed RAM) can increase the speed of synchronous
+ log writes.
+ </p>
+ <h2>Locking API</h2>
+ <p>
+ Current applications do not require sophisticated locking.  To support
+ such applications, a locking API might make sense.
+ </p>
+ <h2>Replication</h2>
+ <p>
+ Hot-standby servers using the BKNR datastore are conceptually simple.
+ Full commit safety requires a slightly more involved commit
+ coordination on the distributed servers than doing the log replication
+ after the commit has locally finished.  Many applications will be able
+ to loose one or even a few transactions should the system crash.
+ </p>
+</page>
\ No newline at end of file

Deleted: trunk/projects/bknr-website/website/templates/documentation.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/documentation.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/documentation.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Documentation"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
-
-<h1>Documentation</h1>
-
-<p>The following documentation in PDF format is available:</p>
-
-<ul>
-
- <li>The <a href="/pdf/datastore-manual" target="bknr_pdf">datastore
- manual</a> describes the persistence mechanism including the
- CLOS-based indexing facility</li>
-
- <li>The KlammerScript <a href="/pdf/js-manual"
- target="bknr_pdf">manual</a> and <a href="/pdf/js-reference"
- target="bknr_pdf">reference</a> describe the Lisp to Javascript
- converter</li>
-
-</ul>
-
-<p>Kudos to Manuel for writing the documentation!</p>
-
-</bknr:toplevel>

Copied: trunk/projects/bknr-website/website/templates/documentation.xml (from rev 1800, trunk/projects/bknr-website/website/templates/documentation.bknr)
===================================================================
--- trunk/projects/bknr-website/website/templates/documentation.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/documentation.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="documentation">
+ <h1>Documentation</h1>
+ 
+ <p>The following documentation in PDF format is available:</p>
+ 
+ <ul>
+ 
+  <li>The <a href="/pdf/datastore-manual" target="bknr_pdf">datastore
+  manual</a> describes the persistence mechanism including the
+  CLOS-based indexing facility</li>
+ 
+  <li>The KlammerScript <a href="/pdf/js-manual"
+  target="bknr_pdf">manual</a> and <a href="/pdf/js-reference"
+  target="bknr_pdf">reference</a> describe the Lisp to Javascript
+  converter</li>
+ 
+ </ul>
+ 
+ <p>Kudos to Manuel for writing the documentation!</p>
+</page>
\ No newline at end of file

Deleted: trunk/projects/bknr-website/website/templates/getting.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/getting.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/getting.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Getting BKNR"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
-
- <h1>Getting BKNR</h1>
-
- <p>Currently, there is are no formal releases of the BKNR
- environment.  We are working with a <a
- href="http://subversion.tigris.org" target="_new">Subversion</a>
- repository which is publicy accessible.</p>
-
- <p>The BKNR repository contains the framework, all software packages
- used by BKNR as well as well as several real-world applications which
- have been deployed in the internet.  The application sources are
- provided as example material.</p>
-
- <h2>Using Subversion</h2>
-
- <p>To check out the current state of the repository, please install
- the <a href="http://subversion.tigris.org" target="_new">Subversion</a> client on your machine and type</p>
-
- <blockquote>
-  <tt>
- svn co svn://common-lisp.net/project/bknr/svn/trunk <b><i>bknr-svn</i></b>
-  </tt>
- </blockquote>
-
- <p>This will store the source tree in the <tt><b><i>bknr-svn</i></b></tt>
- directory of your local file system.  You may specify a different path
- if you wish.</p>
-
- <!--
-
- <h2>Tar balls</h2>
-
- <p>If you cannot install Subversion or if you just want to have a
-   look at BKNR, you can download the automatically generated
-   snapshot:
-   <ul>
-     <li><a href="/snapshots/bknr.tar.bz2">BKNR core and modules</a></li>
-     <li><a href="/snapshots/bknr-thirdparty.tar.bz2">BKNR third party packages</a></li>
-   </ul>
-   The snapshot is automatically re-generated every night from the Subversion repository.
- </p>
-
- -->
-
-</bknr:toplevel>

Copied: trunk/projects/bknr-website/website/templates/getting.xml (from rev 1800, trunk/projects/bknr-website/website/templates/getting.bknr)
===================================================================
--- trunk/projects/bknr-website/website/templates/getting.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/getting.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="getting">
+ <h1>Getting BKNR</h1>
+
+ <p>Currently, there is are no formal releases of the BKNR
+ environment.  We are working with a <a
+ href="http://subversion.tigris.org" target="_new">Subversion</a>
+ repository which is publicy accessible.  A big thanks to the folks at
+ <a href="http://common-lisp.net/" target="_new">common-lisp.net</a>
+ for hosting our project!</p>
+
+ <p>The BKNR repository contains the framework, all software packages
+ used by BKNR as well as well as several real-world applications which
+ have been deployed in the internet.  The application sources are
+ provided as example material.</p>
+
+ <h2>Using Subversion</h2>
+
+ <p>To check out the current state of the repository, please install
+ the <a href="http://subversion.tigris.org"
+ target="_new">Subversion</a> client on your machine and type</p>
+
+ <blockquote>
+  <tt>
+ svn co svn://common-lisp.net/project/bknr/svn/trunk <b><i>bknr-svn</i></b>
+  </tt>
+ </blockquote>
+
+ <p>This will store the source tree in the <tt><b><i>bknr-svn</i></b></tt>
+ directory of your local file system.  You may specify a different path
+ if you wish.</p>
+
+ <!--
+
+ <h2>Tar balls</h2>
+
+ <p>If you cannot install Subversion or if you just want to have a
+   look at BKNR, you can download the automatically generated
+   snapshot:
+   <ul>
+     <li><a href="/snapshots/bknr.tar.bz2">BKNR core and modules</a></li>
+     <li><a href="/snapshots/bknr-thirdparty.tar.bz2">BKNR third party packages</a></li>
+   </ul>
+   The snapshot is automatically re-generated every night from the Subversion repository.
+ </p>
+
+ -->
+</page>
\ No newline at end of file

Deleted: trunk/projects/bknr-website/website/templates/home.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/home.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/home.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="BKNR Home"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
-
-<h1>Welcome to BKNR!</h1>
-
-<p>Welcome to the Website of BKNR, the Common Lisp Web Application
-environment.  This website aims to introduce the BKNR platform as well
-as provide you with pointers to the software itself.</p>
-
-<h2>What is BKNR?</h2>
-<p>
-
-BKNR is a set of Common Lisp libraries which together form an
-environment suitable for serving HTTP clients from a persistent Lisp
-system.
-
-It's major components are:
-<ul>
-<li>Persistence mechanism based on transaction logging, supporting
-immutable binary large objects and CLOS persistence.</li>
-<li>XML processing facilities</li>
-<li>HTTP application environment with session handling and template engine</li>
-</ul>
-</p>
-
-<h3>Persistence</h3>
-<p>
-Persistence in BKNR is achived using a transaction logging mechanism.
-All operations which change the persistent image of a system are
-explicitely written to a transaction log file.  When the system
-crashes, the persistent state can be recovered by rolling forward the
-transaction log.  The transaction log is held in a simple binary
-format in order to get acceptable restart times for larger datasets.
-</p>
-<p>
-The persistence mechanism supports a snapshot API which allows the
-persistent object system to write all currently active objects to a
-sequential file.
-</p>
-<p>
-The Persistent object subsystem provides for ID generation of objects.
-Object IDs of persistent objects are written to the transaction log.
-Persistent objects are never garbage collected and need to be deleted
-by the application if they are no longer in use.
-</p>
-<p>
-BKNR supports automated indices for CLOS instances.  They are
-implemented in a MOP metaclass and compatible with the BKNR metaclass
-for persistent objects.
-</p>
-<h3>XML processing</h3>
-<p>
-BKNR integrates the Closure XML (CXML) parser using a CLOS metaclass
-to provide for reading and writing XML files of objects.  Combined
-metaclasses are provided in order to allow for combinations like
-indexed+persistent or indexed+xml.
-</p>
-<p>
-CXML is also used for XHTML generation and XHTML template processing.
-User-defined element handlers can be added to the XHTML generation to
-support application-specific generation of dynamic content.
-</p>
-<h3>Web application environment</h3>
-<p>
-BKNR uses the portable aserve web server implementation as HTTP
-server.  It provides for a handler dispatch mechanism based on CLOS
-objects and generic functions to provide for routing requests to
-objects and HTML form handling.
-</p>
-<p>
-Session handling through cookies is supported, as well is a simple
-web-based CMS for maintaining user accounts and other application
-information.
-</p>
-<p>
-A CSS and Javascript generation library supports in-source-code
-generation of complete web pages using a lisp-like syntax.
-</p>
-<h3>Other Libraries</h3>
-<p>
-Except for the graphics processing library used, all server-side
-components of BKNR are implemented in Common Lisp.  All components are
-Open Source.  All software outside of the thirdparty/ tree in the BKNR
-repository are distributed under a BSD-style open source license.  The
-thirdparty/ tree contains a number of publicly available Common Lisp
-libraries which are used by BKNR.
-</p>
-BKNR has been co-developed with a number of real-world applications.
-Much of the application code has been kept in the central source code
-repository and evolved through a number of API and framework changes. 
-
-
-BKNR started while implementing a
-web site for <a href="http://eboy.com">eboy</a>, a group of graphics
-artists who wanted to have a dynamic web site for publishing their
-works.  Their new, fully dynamic web site was implemented in CMU
-Common Lisp
-
-
-</bknr:toplevel>

Added: trunk/projects/bknr-website/website/templates/home.xml
===================================================================
--- trunk/projects/bknr-website/website/templates/home.xml	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/home.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="home">
+  <h1>Welcome to BKNR!</h1>
+  
+  <p>Welcome to the Website of BKNR, the Common Lisp Web Application
+  environment.  This website aims to introduce the BKNR platform as well
+  as provide you with pointers to the software itself.</p>
+  
+  <h2>What is BKNR?</h2>
+  <p>
+  
+  BKNR is a set of Common Lisp libraries which together form an
+  environment suitable for serving HTTP clients from a persistent Lisp
+  system.
+  
+  It's major components are:
+  <ul>
+  <li>Persistence mechanism based on transaction logging, supporting
+  immutable binary large objects and CLOS persistence.</li>
+  <li>XML processing facilities</li>
+  <li>HTTP application environment with session handling and template engine</li>
+  </ul>
+  </p>
+  
+  <h3>Persistence</h3>
+  <p>
+  Persistence in BKNR is achived using a transaction logging mechanism.
+  All operations which change the persistent image of a system are
+  explicitely written to a transaction log file.  When the system
+  crashes, the persistent state can be recovered by rolling forward the
+  transaction log.  The transaction log is held in a simple binary
+  format in order to get acceptable restart times for larger datasets.
+  </p>
+  <p>
+  The persistence mechanism supports a snapshot API which allows the
+  persistent object system to write all currently active objects to a
+  sequential file.
+  </p>
+  <p>
+  The Persistent object subsystem provides for ID generation of objects.
+  Object IDs of persistent objects are written to the transaction log.
+  Persistent objects are never garbage collected and need to be deleted
+  by the application if they are no longer in use.
+  </p>
+  <p>
+  BKNR supports automated indices for CLOS instances.  They are
+  implemented in a MOP metaclass and compatible with the BKNR metaclass
+  for persistent objects.
+  </p>
+  <h3>XML processing</h3>
+  <p>
+  BKNR integrates the Closure XML (CXML) parser using a CLOS metaclass
+  to provide for reading and writing XML files of objects.  Combined
+  metaclasses are provided in order to allow for combinations like
+  indexed+persistent or indexed+xml.
+  </p>
+  <p>
+  CXML is also used for XHTML generation and XHTML template processing.
+  User-defined element handlers can be added to the XHTML generation to
+  support application-specific generation of dynamic content.
+  </p>
+  <h3>Web application environment</h3>
+  <p>
+  BKNR uses the portable aserve web server implementation as HTTP
+  server.  It provides for a handler dispatch mechanism based on CLOS
+  objects and generic functions to provide for routing requests to
+  objects and HTML form handling.
+  </p>
+  <p>
+  Session handling through cookies is supported, as well is a simple
+  web-based CMS for maintaining user accounts and other application
+  information.
+  </p>
+  <p>
+  A CSS and Javascript generation library supports in-source-code
+  generation of complete web pages using a lisp-like syntax.
+  </p>
+  <h3>Other Libraries</h3>
+  <p>
+  Except for the graphics processing library used, all server-side
+  components of BKNR are implemented in Common Lisp.  All components are
+  Open Source.  All software outside of the thirdparty/ tree in the BKNR
+  repository are distributed under a BSD-style open source license.  The
+  thirdparty/ tree contains a number of publicly available Common Lisp
+  libraries which are used by BKNR.
+  </p>
+  BKNR has been co-developed with a number of real-world applications.
+  Much of the application code has been kept in the central source code
+  repository and evolved through a number of API and framework changes. 
+  
+  
+  BKNR started while implementing a
+  web site for <a href="http://eboy.com">eboy</a>, a group of graphics
+  artists who wanted to have a dynamic web site for publishing their
+  works.  Their new, fully dynamic web site was implemented in CMU
+  Common Lisp
+</page>
\ No newline at end of file

Deleted: trunk/projects/bknr-website/website/templates/license.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/license.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/license.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="BKNR License"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
- <p>Copyright (c) 2003,2004,2005, BKNR (Hans Hübner, Manuel Odendahl)<br />
- All rights reserved.</p>
- 
- <p>Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:</p>
- 
- <ul>
- 
-         <li>Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.</li>
- 
-         <li>Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.</li>
- 
-         <li>Neither the name BKNR nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.</li>
- 
- </ul>
- 
- <p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
-</bknr:toplevel>

Copied: trunk/projects/bknr-website/website/templates/license.xml (from rev 1800, trunk/projects/bknr-website/website/templates/license.bknr)
===================================================================
--- trunk/projects/bknr-website/website/templates/license.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/license.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="license">
+ <p>Copyright (c) 2003,2004,2005, BKNR (Hans Hübner, Manuel Odendahl)<br />
+ All rights reserved.</p>
+ 
+ <p>Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:</p>
+ 
+ <ul>
+ 
+         <li>Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.</li>
+ 
+         <li>Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.</li>
+ 
+         <li>Neither the name BKNR nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.</li>
+ 
+ </ul>
+ 
+ <p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
+</page>
\ No newline at end of file

Modified: trunk/projects/bknr-website/website/templates/menu.xml
===================================================================
--- trunk/projects/bknr-website/website/templates/menu.xml	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/menu.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,12 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<menus>
-  <menu name="main">
-    <item url="/home" title="Home" />
-    <item url="/applications" title="Applications" />
-    <item url="/platforms" title="Platforms" />
-    <item url="/documentation" title="Documentation" />
-    <item url="/license" title="License" />
-    <item url="/getting" title="Getting BKNR" />
-    <item url="/contact" title="Contact" />
-  </menu>
-</menus>
\ No newline at end of file
+<menu name="main">
+ <item url="home" title="Home" />
+ <item url="applications" title="Applications" />
+ <item url="platforms" title="Platforms" />
+ <item url="documentation" title="Documentation" />
+ <item url="license" title="License" />
+ <item url="getting" title="Getting BKNR" />
+ <item url="contact" title="Contact" />
+</menu>

Deleted: trunk/projects/bknr-website/website/templates/platforms.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/platforms.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/platforms.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="Platforms"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
-
-<h1>BKNR platforms</h1>
-
-<p>BKNR is developed using the <a
-href="http://www.cons.org/cmucl/">CMU Common Lisp</a> compiler on the
-<a href="http://freebsd.org/">FreeBSD</a> operting system.  It is
-known to run on CMUCL on Linux, and the datastore components have been
-tested on the <a href="http://franz.com/products/allegrocl/">Allegro
-Common Lisp</a> compiler.  Portability is not our main concern, but we
-will accept portability patches if they do not affect the mainline
-development too much.</p>
-
-<p>That said, most of the components are written in portable Common
-Lisp, but some of the application modules depend on CMUCL extensions.</p>
-
-</bknr:toplevel>

Copied: trunk/projects/bknr-website/website/templates/platforms.xml (from rev 1800, trunk/projects/bknr-website/website/templates/platforms.bknr)
===================================================================
--- trunk/projects/bknr-website/website/templates/platforms.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/platforms.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="platforms">
+ <h1>BKNR platforms</h1>
+ 
+ <p>BKNR is developed using the <a
+ href="http://www.cons.org/cmucl/">CMU Common Lisp</a> compiler on the
+ <a href="http://freebsd.org/">FreeBSD</a> operting system.  It is
+ known to run on CMUCL on Linux, and the datastore components have been
+ tested on the <a href="http://franz.com/products/allegrocl/">Allegro
+ Common Lisp</a> compiler.  Portability is not our main concern, but we
+ will accept portability patches if they do not affect the mainline
+ development too much.</p>
+ 
+ <p>That said, most of the components are written in portable Common
+ Lisp, but some of the application modules depend on CMUCL extensions.</p>
+ 
+</page>

Deleted: trunk/projects/bknr-website/website/templates/technology.bknr
===================================================================

Deleted: trunk/projects/bknr-website/website/templates/toplevel.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/toplevel.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/toplevel.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr-website="http://bknr.net"
-  xmlns:bknr="http://bknr.net"
-  xmlns:menu="http://bknr.net/menu"
-  >
-  <head>
-    <title>BKNR - $(title)</title>
-    <link rel="stylesheet" type="text/css" href="/static/styles.css" />
-    <script src="/static/javascript.js" language="javascript" type="text/javascript"> </script>
-  </head>
-
-  <body>
-    <div id="banner">
-      <div id="title">BKNR Lisp Application Environment</div>
-      <div id="logo">
-        <a href="http://common-lisp.net/project/bknr/home.html" target="_new">
-	  <img width="88" height="31" alt="BKNR Logo" src="/image/bknr-logo" border="0" />
-	</a>
-      </div>
-    </div>
-    <div id="body">
-      <div id="system-column">
-        <menu:site-menu config="menu.xml"
-	                menu-name="main"
-			container-class="site-menu"
-	                active-class="site-menu-active"
-		        inactive-class="site-menu-inactive" />
-<!--
-        <div id="login">
-          <bknr-website:login-widget />
-        </div>
- -->
-      </div>
-      <div id="content">
-        <bknr:tag-body />
-      </div>
-    </div>
-  </body>
-</html>

Deleted: trunk/projects/bknr-website/website/templates/user-error.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/user-error.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/user-error.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  xmlns:menu="http://bknr.net/menu"
-  >
-Your request could not be processed because an error occured:
-<pre>
-$(error-message)
-</pre>
-</html>
\ No newline at end of file

Copied: trunk/projects/bknr-website/website/templates/user-error.xml (from rev 1800, trunk/projects/bknr-website/website/templates/user-error.bknr)

Deleted: trunk/projects/bknr-website/website/templates/why-no-db.bknr
===================================================================
--- trunk/projects/bknr-website/website/templates/why-no-db.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/why-no-db.bknr	2006-01-24 11:04:26 UTC (rev 1801)
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<bknr:toplevel
-  template="toplevel"
-  title="BKNR technology"
-  xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:bknr="http://bknr.net"
-  xmlns:bknr-website="http://bknr.net"
-  >
-
-<h1>Requirements for a persistence mechanism</h1>
-<p>
-We want a persistence mechanism which is closely integrated into our
-programming language.  Persistence is something we want to assume as
-being available which writing applications, and it should be as
-unintrusive as possible.  Applications should use standard programming
-language mechanisms to access all data.
-</p>
-<p>
-The persistence mechanism should ensure that all appplication data in
-the system is safe against system crashes.  If the system crashes, the
-application and all it's data should be restartable into a consistent
-state.  The amount of work which can be lost due to a unplanned system
-failure should be low.
-</p>
-<p>
-The persistence mechanism should make the amount of data which
-constitutes the persistent state of the application transparent.  It
-should provide for mechanisms to duplicate the current state in order
-to move it from one machine or software release to another.
-</p>
-<h1>Does a "Database system" help?</h1>
-<p>
-The two most popular database families today are relational databases
-with SQL as query language, and embedded database facilities like
-Berkeley DB which provides for indexed access to tables stored on
-disk.  They have in common that they assume that the primary location
-of data is on-disk and that applications have to read and write data
-from and to disk in order to perform their tasks.
-</p>
-<p>
-Database systems, when they were invented, served as an address
-extension to the applications.  Applications could operate on data
-sets which were to large for in-memory processing, providing
-persistence at the same time.
-</p>
-<p>
-In addition, SQL databases provide for a language neutral query
-language that allow flexible querying of the application data.  This
-facility is useful in multi-language environments and to facilitate
-database queries through third-party applications.
-</p>
-<p>
-Todays main memories and processing speed redefine the environment in
-which applications are created.  Memory is no longer a very scarce
-resource, and memory sizes have generally grown much faster than the
-amount of application data that needs to be processed.  Thus,
-on-demand loading of application from disk can (and should) be totally
-avoided by always having the complete data set in memory.
-</p>
-<h2>Properties of the BKNR persistence mechanism</h2>
-<p>
-All Disk access by the persistence mechanism is sequential.  During
-normal operation, the transaction log is sequentially appended to.
-During snapshot, the snapshot file of the object subsystem is
-sequentially written.  During restore, the snapshot and transaction
-log files are sequentially read.
-</p>
-<p>
-All files used by BKNR are immutable.  A file is never changed, but
-only created, read or deleted.
-</p>
-<p>
-The time needed to restore from a crash consists of the time needed to
-read the sequential log file, to parse it's content and to execute the
-applications' transaction code.
-</p>
-</bknr:toplevel>

Copied: trunk/projects/bknr-website/website/templates/why-no-db.xml (from rev 1800, trunk/projects/bknr-website/website/templates/why-no-db.bknr)
===================================================================
--- trunk/projects/bknr-website/website/templates/why-no-db.bknr	2006-01-24 08:48:40 UTC (rev 1800)
+++ trunk/projects/bknr-website/website/templates/why-no-db.xml	2006-01-24 11:04:26 UTC (rev 1801)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="bknr.xsl" ?>
+<page name="why-no-db">
+ <h1>Requirements for a persistence mechanism</h1>
+ <p>
+ We want a persistence mechanism which is closely integrated into our
+ programming language.  Persistence is something we want to assume as
+ being available which writing applications, and it should be as
+ unintrusive as possible.  Applications should use standard programming
+ language mechanisms to access all data.
+ </p>
+ <p>
+ The persistence mechanism should ensure that all appplication data in
+ the system is safe against system crashes.  If the system crashes, the
+ application and all it's data should be restartable into a consistent
+ state.  The amount of work which can be lost due to a unplanned system
+ failure should be low.
+ </p>
+ <p>
+ The persistence mechanism should make the amount of data which
+ constitutes the persistent state of the application transparent.  It
+ should provide for mechanisms to duplicate the current state in order
+ to move it from one machine or software release to another.
+ </p>
+ <h1>Does a "Database system" help?</h1>
+ <p>
+ The two most popular database families today are relational databases
+ with SQL as query language, and embedded database facilities like
+ Berkeley DB which provides for indexed access to tables stored on
+ disk.  They have in common that they assume that the primary location
+ of data is on-disk and that applications have to read and write data
+ from and to disk in order to perform their tasks.
+ </p>
+ <p>
+ Database systems, when they were invented, served as an address
+ extension to the applications.  Applications could operate on data
+ sets which were to large for in-memory processing, providing
+ persistence at the same time.
+ </p>
+ <p>
+ In addition, SQL databases provide for a language neutral query
+ language that allow flexible querying of the application data.  This
+ facility is useful in multi-language environments and to facilitate
+ database queries through third-party applications.
+ </p>
+ <p>
+ Todays main memories and processing speed redefine the environment in
+ which applications are created.  Memory is no longer a very scarce
+ resource, and memory sizes have generally grown much faster than the
+ amount of application data that needs to be processed.  Thus,
+ on-demand loading of application from disk can (and should) be totally
+ avoided by always having the complete data set in memory.
+ </p>
+ <h2>Properties of the BKNR persistence mechanism</h2>
+ <p>
+ All Disk access by the persistence mechanism is sequential.  During
+ normal operation, the transaction log is sequentially appended to.
+ During snapshot, the snapshot file of the object subsystem is
+ sequentially written.  During restore, the snapshot and transaction
+ log files are sequentially read.
+ </p>
+ <p>
+ All files used by BKNR are immutable.  A file is never changed, but
+ only created, read or deleted.
+ </p>
+ <p>
+ The time needed to restore from a crash consists of the time needed to
+ read the sequential log file, to parse it's content and to execute the
+ applications' transaction code.
+ </p>
+</page>
\ No newline at end of file




More information about the Bknr-cvs mailing list