caudium-commits AT caudium.net
Caudium CVS Commits list

CVS: docs/howto/Caudium_HOWTO CaudiumHOWTO.xml,1.4,1.5


chronological Thread 
  • From: Martin Baehr <mbaehr AT cvs.caudiumforge.net>
  • To: caudium-commits AT caudium.net
  • Subject: CVS: docs/howto/Caudium_HOWTO CaudiumHOWTO.xml,1.4,1.5
  • Date: Mon, 6 Dec 2004 15:25:30 +0100

Update of /cvs/cdp/docs/howto/Caudium_HOWTO
In directory cvs.caudiumforge.net:/tmp/cvs-serv99989

Modified Files:
        CaudiumHOWTO.xml 
Log Message:
updated chapter 2:
some minor changes and mainly removed outdated advantages and disadvantages


Index: CaudiumHOWTO.xml
===================================================================
RCS file: /cvs/cdp/docs/howto/Caudium_HOWTO/CaudiumHOWTO.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CaudiumHOWTO.xml    28 Sep 2003 20:54:51 -0000      1.4
+++ CaudiumHOWTO.xml    6 Dec 2004 14:25:28 -0000       1.5
@@ -186,7 +186,9 @@
        Powerful API.
       </para></listitem>
       <listitem><para>
-       Lots of standard modules distributed with the server, including a 
WebDAV server, the CAMAS web mail application, and the UltraLog log analysis 
tool. The <quote>module</quote> directory in Caudium 1.2 with CAMAS contains 
192 code-only files. Most of the modules are in a single file.
+        Lots of standard modules distributed with the server, including a
+        WebDAV server, the CAMAS web mail application, and the UltraLog log
+        analysis tool. 
       </para></listitem>
       <listitem><para>
        RXML language. RXML stands for Roxen eXtensible Markup Language and 
is a set of tags, containers and simple programming language constructs that 
you put in your HTML source. Those tags and containers will be interpreted at 
run-time by Caudium. This allows non-programmers to do development.
@@ -200,14 +202,52 @@
   <sect1 id="fork">
     <title>Caudium vs Roxen: Why a fork?</title>
     <para>
-    Caudium is backwards compatible with Roxen Challenger 1.3. It has all 
the Roxen 1.3 RXML tags and the Roxen 1.3 API, so, from a technical point of 
view, it is quite the same (although Caudium has many improvements over Roxen 
1.3). The main legal difference between Roxen 1.3 and Caudium is that Roxen 
is property of Roxen Internet Software whereas Caudium is owned by its 
developers, The Caudium Group. There are many functional extensions, 
improvements and bug fixes over the original Roxen 1.3 codebase from which 
Caudium was created. Here you may say it is not a problem since it is under 
GPL. The problem is that even it is licensed under the GPL, RIS may not 
include your patch in its CVS tree, you may not have a CVS account, so you 
can't really do all you want. The main reason for the fork, however, was that 
RIS didn't pay attention to the users' needs, and proceeded to make the new 
versions of the Roxen Web Server largely incompatible with the previous 
versions, to the poi
 nt where one couldn't switch to the new version of the software without much 
effort put into conversion of the old source code. Rewriting huge portions of 
RXML/Pike code just to switch to a new version of the web server seemed to be 
quite counter-productive, and thus the Caudium Project was born.
+    Caudium is backwards compatible with Roxen Challenger 1.3. It has all the
+    Roxen 1.3 RXML tags and the Roxen 1.3 API, so, from a technical point of
+    view, it is quite the same (although Caudium has many improvements over
+    Roxen 1.3). There are many functional extensions,
+    improvements and bug fixes over the original Roxen 1.3 codebase from 
which
+    Caudium was created. The main reason for the fork, however, was
+    that RIS didn't pay attention to the users' needs, and proceeded to make
+    the new versions of the Roxen Web Server largely incompatible with the
+    previous versions, to the point where one couldn't switch to the new
+    version of the software without much effort put into conversion of the 
old
+    source code. Rewriting huge portions of RXML/Pike code just to switch to 
a
+    new version of the web server seemed to be quite counter-productive, and
+    thus the Caudium Project was born.
     </para>
 
   </sect1>
   <sect1 id="apache">
     <title>Comparing Caudium with Apache</title>
     <para>
-      Caudium differs from Apache in many ways including the directory 
structure, programming language, and type of configuration. Caudium has a 
fully integrated web interface, while Apache relies on editing text files 
directly. Moreover, any change to the Apache configuration requires a restart 
of the server, while Caudium sees the changes immediately after you save them 
from the web interface. There are also some differences in the vocabulary 
used in the configuration interface. Another difference is that Apache 1.3 
uses a forked process model while Caudium uses threads or a monolithic 
process model, depending on the features present in the copy of Pike it uses. 
Caudium allows the programmer/user to easily extend the server using 
modules/scripts written in Pike that integrate tightly with the core server 
and, thus, create a more robust, faster and more intuitive entity than an 
Apache server augmented with a set of external dynamically loadable 
libraries. While changing any
 thing in the source code of any Apache extension (or the server itself) 
requires recompilation, relinking and restarting of the whole server, Caudium 
allows one to add/remove/modify code without any interruption of the server 
operation. If you modify a module all you need to do to see the effects of 
your work is to reload the module in question using the configuration 
interface. Caudium's architecture also provides easy means of building highly 
dynamic web pages that use SQL, gdbm, Mird databases, LDAP, dynamically 
generated graphics (including business graphics modules) and more. The same 
effect can be achieved with Apache almost only by using external set of Perl, 
Python, or other language, scripts running as CGI or embedded using a 
dynamically loaded module. While allowing the programmer/designer to use CGI 
modules, Caudium offers more power when the source code is integrated with 
the Caudium core.
+      Caudium differs from Apache in many ways including the directory
+      structure, programming language, and type of configuration. Caudium 
has a
+      fully integrated web interface, while Apache relies on editing text 
files
+      directly. Moreover, any change to the Apache configuration requires a
+      restart of the server, while Caudium sees the changes immediately after
+      you save them from the web interface. There are also some differences 
in
+      the vocabulary used in the configuration interface. Another difference 
is
+      that Apache 1.3 uses a forked process model while Caudium uses threads 
or
+      a monolithic process model, depending on the features present in the 
copy
+      of Pike it uses. Caudium allows the programmer/user to easily extend 
the
+      server using modules/scripts written in Pike that integrate tightly 
with
+      the core server and, thus, create a more robust, faster and more
+      intuitive entity than an Apache server augmented with a set of external
+      dynamically loadable libraries. While changing anything in the source
+      code of any Apache extension (or the server itself) requires
+      recompilation, relinking and restarting of the whole server, Caudium
+      allows one to add/remove/modify code without any interruption of the
+      server operation. If you modify a module all you need to do to see the
+      effects of your work is to reload the module in question using the
+      configuration interface. Caudium's architecture also provides easy 
means
+      of building highly dynamic web pages that use SQL, gdbm, Mird 
databases,
+      LDAP, dynamically generated graphics (including business graphics
+      modules) and more. The same effect can be achieved with Apache almost
+      only by using external set of Perl, Python, or other language, scripts
+      running as CGI or embedded using a dynamically loaded module. While
+      allowing the programmer/designer to use CGI modules, Caudium offers 
more
+      power when the code is integrated with Caudium server itself.
     </para>
 
   </sect1>
@@ -221,13 +261,14 @@
        Mostly written in an interpreted, object-oriented, language - Pike:
         <itemizedlist>
          <listitem><para>
-           Easy to program and extend. Just imagine if you could code 
extensions to the Apache core in PHP or Perl.
+           Easy to program and extend. Just imagine if you could code Apache 
modules in Python or Perl.
          </para></listitem>
          <listitem><para>
            No buffer overflows, segmentation faults or any other problems of 
that nature.
          </para></listitem>
          <listitem><para>
-           RealNetworks is still using Roxen 1.3 as their main web platform 
for its stability and speed.
+            RealNetworks was using Roxen 1.3 as their main web platform for 
its
+            stability and speed.
           </para></listitem>
        </itemizedlist>
       </para></listitem>
@@ -244,13 +285,8 @@
        Backwards compatible with Roxen 1.3.
       </para></listitem>
       <listitem><para>
-       Different. If you are a Linux or BSD user for some time you already 
know the most used is not always the best.
-      </para></listitem>
-      <listitem><para>
-       Caudium won't run under win32 (thus letting us more time for useful 
things). However some people are trying to port it using cygwin without code 
modification.
-      </para></listitem>
-      <listitem><para>
-  Embedded PHP4 support.
+        Different. If you are a Linux or BSD user you may already
+        know the most popular is not always the best.
       </para></listitem>
     </itemizedlist>
   </sect1>
@@ -258,10 +294,8 @@
     <title>Disadvantages of Caudium</title>
     <itemizedlist>
       <listitem><para>
-         Too small of a community, and quite unknown in web server world. 
One example of the problem you may have is if you write Pike code for 
Caudium, and your hosting company doesn't support Pike, and you don't have 
root access to your server. Of course, it is possible to compile Pike on your 
account and run Caudium without the superuser privileges.
-      </para></listitem>
-      <listitem><para>
-        RIS (Roxen Internet Software) owns Pike, but this is likely to 
change in the not-so-distant future.
+         Due to the small size of the Caudium community, hosting providers 
that
+         support Caudium are hard to find
       </para></listitem>
       <listitem><para>
         Needs more testing for exotic modules or modules we don't use often. 
Example of such modules include htaccess support. 
@@ -269,22 +303,32 @@
       <listitem><para>
         Too little documentation. One example is the lack of documentation 
about FastCGI support.
       </para></listitem>
-      <listitem><para>
-        CGI performance on busy CGI based sites was lackluster -- no one 
will take the time to rewrite CGIs.  This seems to be somewhat resolved with 
Pike 7.2/Caudium 1.2.
-      </para></listitem>
       <listitem>
         <para>
-          It is sometimes impossible to get some features when you are a 
normal user because configuration is only accessible with the 
<abbrev>CIF.</abbrev> (Configuration InterFace). And the 
<abbrev>CIF.</abbrev> is accessible only by the admin (this is being taken 
care of in the development series of the server). Here is list of day to day 
problems submitted by Chris Davies:
+          It is sometimes impossible to get some features when you are a 
normal
+          user because configuration is only accessible with the
+          <abbrev>CIF.</abbrev> (Configuration InterFace). And the
+          <abbrev>CIF.</abbrev> is accessible only by the admin (this is 
being
+          taken care of in the development series of the server). Here is a 
list
+          of day to day problems submitted by Chris Davies in 2002:
         </para>
         <blockquote><para>
           Webmasters like to use mod_rewrite in the .htaccess files to 
protect their sites from leeching, etc. Yes, there is referrerdeny and 
browserdeny, but these are accessible to the System Administrator, not the 
casual web user.  On Apache, one can easily specify rules on a per directory 
basis.  This isn't easy in Caudium, however, it is rare that someone would 
have more than two or three different conditions.
         </para></blockquote>
         <blockquote><para>
-          Now, for people that are running their own server, many of these 
issues disappear.  Administration and adding servers is much easier.  I'm not 
sure I agree with the templates, but perhaps an Apache Template could be 
tweaking beyond that to the System Administrator.  In most cases, Apache has 
SSI turned on for shtml files -- getting the exec command enabled to mimic 
this in Caudium is not a task for the beginner.  The maze of options to find 
that one setting will certainly frustrate anyone getting started.
+          Now, for people that are running their own server, many of these
+          issues disappear.  Administration and adding servers is much 
easier.
+          I'm not sure I agree with the templates, but perhaps an Apache
+          Template could be tweaking beyond that to the System Administrator.
+          In most cases, Apache has SSI turned on for shtml files -- getting
+          the exec command enabled to mimic this in Caudium is not a task for
+          the beginner. [but thanks to Caudiums RXML, exec won't be needed in
+          most cases. (the editor)] The maze of options to find that one
+          setting will certainly frustrate anyone getting started.
         </para></blockquote>
       </listitem>
       <listitem><para>
-        A graphical interface is not always the best. To create a virtual 
server with Apache, you have to copy and paste five lines. If you use the 
Caudium Interface it will take you more than one minute. And if you want to 
change Caudium text file directly, you will have to write sed script.
+        Caudium won't run under win32.
       </para></listitem>
     </itemizedlist>
   </sect1>



  • CVS: docs/howto/Caudium_HOWTO CaudiumHOWTO.xml,1.4,1.5, Martin Baehr

Archive powered by MhonArc 2.6.10.

§