<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE artikkel PUBLIC "-//infoweb.ntnu.no//DTD Infoweb 1.0//NO"
	"http://infoweb.orakel.ntnu.no/infoweb.dtd">
<artikkel spraak="en">
<tittel>Technical information on Infoweb</tittel>
<forfatter>havardda</forfatter>
<sammendrag>A short summary on how the Infoweb was made, what technologies are in use and what specific
programs the developers are using/recommending.
</sammendrag>
<hoveddel>
<os2>Open (and free) source</os2>
<avsnitt>Hand in hand with the wide-spreading of the internet, is the
concept of open source. You may or may not have heard of it (probably 
the former), but this is not the right forum to discuss the fenomena
in general. For those interested in  this somewhat revolutionary 
software production model, closer inspection of the operating system
<ekstern uri="http://www.linux.org/">linux</ekstern>, itself a true 
open source project, and maybe the biggest advocate
of open source as far as the public opinion is concerned. 
</avsnitt>
<avsnitt>The Infoweb documentation system is created by open source 
software products and relies on open source programs and products in all 
levels. In some sort of acknowledgement, we have made Infoweb open source,
too. We will offer a proper distribution model in time, until then the 
source code can only be accessed through <dataord>CVS</dataord>. Please feel
free to <epost adresse="infoweb-dev@infoweb.ntnu.no">contact the 
developers</epost> if you are curious and want a peek at the source code of
Infoweb.</avsnitt>

<os2>Technologies that run the Infoweb</os2>
<os3>php/apache</os3>
<avsnitt><ekstern uri="http://www.php.net/">php</ekstern> and <ekstern
uri="http://httpd.apache.org/">the apache webserver</ekstern> complete each
other in an unsupersedable way, allthough they are totally separate projects.
</avsnitt>
<avsnitt>The Infoweb web server is an apache webserver, and a fairly recent 
copy of php provides all web dynamics.</avsnitt>

<os3>Python</os3>
<avsnitt><ekstern uri="http://www.python.org/">Python</ekstern> has quickly become a popular tool,
much thanks to the growth of the Internet, but also due to its intuitive programming approach. 
It is an object oriented script language, and one of its distinctive treats is its strict 
requirements to the formatting of the program code.</avsnitt>
<avsnitt>All command line utilities, as well as the programs that are run through the e-mail
interface are written in Python.</avsnitt>

<os3>xml</os3>
<avsnitt>The format of the Infoweb articles is <ekstern uri="http://www.w3.org/XML/">xml</ekstern>
and a whole new <dataord>dtd</dataord> has been created, which all articles has to conform to.
[<ekstern uri="/infoweb.dtd">infoweb.dtd</ekstern>].</avsnitt> 
<avsnitt>For web presentation, we use the internal xml and domxml extensions of php. For command
line tools and xml validation we use <ekstern uri="http://www.garshol.priv.no/download/software/xmlproc/">xmlproc</ekstern>
 (Python) and <ekstern uri="http://www.cogsci.ed.ac.uk/~richard/rxp.html">rxp</ekstern>.</avsnitt>

<os3>xsl/t</os3>
<avsnitt><ekstern uri="http://www.w3.org/TR/xslt11/">xsl/t</ekstern> is a part of all the tools that
together complete the xml framework, and makes it possible to <trykk>transfom</trykk> xml markup 
to a different xml markup, to html markup or to plain text, based on certain rules.
</avsnitt>
<avsnitt>The Infoweb project employs xsl/t to transform articles (written in xml) to a format
suitable for web (html). The xsl/t processor in use is called "Sablotron" and is developed by
<ekstern uri="http://www.gingerall.com/">Gingerall</ekstern>, and has a php extension.</avsnitt>

<os3>mysql</os3>
<avsnitt><ekstern uri="http://www.mysql.com/">mysql</ekstern> is a small and efficient 
<dataord>RDBMS</dataord> database, developed by swedes at <ekstern 
uri="http://www.tcx.se/">TcX AB</ekstern>.
</avsnitt>
<avsnitt>We store the articles in a mysql database, and retrieve them by the use of the mysql 
functions in php and the <ekstern uri="http://sourceforge.net/projects/mysql-python">python-mysql module for 
python</ekstern>.</avsnitt>


<os3>miscellany</os3>
<avsnitt>Both our development and production computers are run by <ekstern 
uri="http://www.novell.com/linux/">SUSE GNU/linux</ekstern>. Programmering is mainly done using Emacs,
where we use major-modes for php, python, xml, xslt and dtds. We also use
an in-house developed Infoweb major mode. To control our development and maintain our source
code, we use <ekstern uri="http://www.cvshome.org/">cvs</ekstern> extensively, and <ekstern 
uri="http://viewcvs.sourceforge.net/">ViewCVS</ekstern> is a really neat tool to partner cvs. For 
internationalisation (currently translation between English and Norwegian only), 
<ekstern uri="http://www.gnu.org/software/gettext/gettext.html">GNU gettext</ekstern> is invaluable, and a super
tool to go with it is <ekstern uri="http://i18n.kde.org/tools/kbabel/">KBabel</ekstern>.
</avsnitt>

<os3>further information</os3>
<avsnitt>Please do <epost adresse="infoweb-dev@infoweb.ntnu.no">contact us</epost> if you 
have questions or inquiries about the Infoweb project, we will be more than happy to answer 
all your questions. </avsnitt>

<!-- os3>GPL</os3 -->

</hoveddel>
</artikkel>