Software components
System components
Main Website The main website is written in PHP and uses MySQL as the database. This is not the central ECDB database though, it's only the database that stores the web site's contents. It also stores the so-called "BIG" table, which was the main source of data for online "Golden Standards" reports.
The reports There is a section of reports, which were ported from former Lotus Notes website to PHP. They rely on the <link linkend="bigtable">BIG table.
Data Entry form and new reports
Overview
There is a separate part of the website, that is written in <link linkend="python">Python, and contains:
The Data Entry Form
The new reports
Basic Score Report
Quality of Care Charts
Complications Report
This part of the website uses <ulink url="https://www.eactscongenitaldb.org/db/"> https://www.eactscongenitaldb.org/db/
address. It uses separate session handling, which means, that
user has to log in in this section separately. The second
logging in is hidden from the user, as the authentication data
is stored in the links leading from PHP part to the Python
part. The distadvantage of it is that if user logs out of PHP
site, the Python part doesn't know about that and user remains
logged.
The files
This part of the website has it's own directory subtree.
doc -- the documentation directory
html -- this directory is the served over the WWW
sql -- contains the SQL scripts, the database structure and
some queries
tools -- contains the tools for doing specific tasks, e.g. importing data from
<link linkend="echdd6">echdd6 application.
Report Generator
Report Generator is a tool that is designed to generate sets of reports, basing on the XML report definition file.
Software involved
<sect3 id="linux">
GNU/Linux
GNU/Linux is used as the operating system on the central database
server.
GNU/Linux is a free Unix-type operating system originally created
by Linus Torvalds with the assistance of developers around the world.
Developed under the <ulink url="http://www.gnu.org">GNU General
Public License , the source code for Linux is freely available to
everyone.
Apart from the fact that it's freely distributed, GNU/Linux's
functionality, adaptability and robustness, has made it the main
alternative for proprietary Unix and Microsoft operating systems. IBM,
Hewlett-Packard and other giants of the computing world have embraced
GNU/Linux and support its ongoing development. More than a decade after
its initial release, GNU/Linux is being adopted worldwide as a server
platform primarily. Its use as a home and office desktop operating
system is also on the rise.
<sect3 id="postgres"> PostgreSQL PostgreSQL is an object-relational database management system (ORDBMS) based on POSTGRES, Version 4.2, developed at the University of California at Berkeley Computer Science Department. POSTGRES pioneered many concepts that only became available in some commercial database systems much later. PostgreSQL is an open-source descendant of this original Berkeley code. It supports SQL92 and SQL99 and offers many modern features:
complex queries
foreign keys
triggers
views
transactional integrity
multiversion concurrency control
Also, PostgreSQL can be extended by the user in many ways, for
example by adding new
data types
functions
operators
aggregate functions
index methods
procedural languages
And because of the liberal license, PostgreSQL can be used,
modified, and distributed by everyone free of charge for any purpose, be
it private, commercial, or academic.
<sect3 id="python"> Python Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface. The Python implementation is portable: it runs on many brands of UNIX, on Windows, OS/2, Mac, Amiga, and many other platforms. You can learn more about Python on it's website <ulink url="http://www.python.org"> http://www.python.org
<sect3 id="php">
PHP
PHP is a widely-used general-purpose scripting language that is
especially suited for Web development and can be embedded into HTML.