You are on page 1of 8

TERENA-NORDUnet Networking Conference (TNNC) 1999

A Concept for an Electronic Magazine


Alexander von Berg
Helmut Pralle
University of Hanover, Institute for Computer Networks and Distributed Systems
Schlosswender Strasse 5, D-30159 Hannover, Germany
E-Mail: {berg,pralle}@rvs.uni-hannover.de

Abstract
This paper describes the concept for an electronic magazine (EZine) based on the World Wide Web.
The project aims at creating an electronic magazine as the online version of an already existing printed
scientific magazine, which will primarily supply the content. The articles in this EZine contain various
types of media, including text, images, audio, video and 3D objects. A keyword search as well as
subscription is supported. Articles can be accessed by the readers via collections or via search
mechanisms. The paper gives an overview of the general design of the EZine and focuses on some key
aspects of the concept.
Keywords
electronic multimedia magazine, hypermedia, Web development
1. Introduction and motivation
Electronic magazines and newspapers in the World Wide Web have gained a great popularity in the
past two or three years. Nearly every major magazine and newspaper has a Web site, where either
some selected or all of the articles can be read. EZines are offering many advantages over
conventional printed magazines. Articles can be published without delay and can be instantly accessed
from all over the world. Comfortable searching mechanisms and individual collections of articles,
depending on the readers interests, can be provided. Interactive services like discussion groups or chat
can be integrated. But one of the most important features of electronic magazines is the ability to
integrate various types of media like audio, video and virtual reality (3D) objects.
In a former project [7] we have created HTML versions of the issues of a printed magazine. In a
semiautomatic process a QuarkXPress document containing the complete issue was converted to
HTML files while the TIFF and EPS images were converted and scaled to GIF files. The result were
static HTML pages, which were linked together and contained exactly the same articles as the printed
issues. This approach had some serious disadvantages concerning the conversion process itself, as well
as the functionality of the final electronic magazine. The semiautomatic conversion relied on the exact
use of format templates in the QuarkXPress document. Any modification of the templates led to wrong
classification of paragraphs, which had to be corrected manually. The manual part of the conversion
process grew steadily, while the automatic part remained the same. Further, there was no easy way to
add additional articles that were not part of a printed issue. The final electronic magazine offered none

1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999

of the special features mentioned above, apart from a context search and some information about the
authors.
The current project aims at creating an electronic magazine that will exploit the possibilities offered by
the World Wide Web and that will have flexible mechanisms for creating and managing articles with a
limited amount of manual processing.
2. Analysis
The requirements for this new electronic magazine can be divided into requirements for the
functionality as seen by the reader and requirements for the administration tool. To the reader the
EZine should offer articles that contain text as well as different kinds of multimedia elements like
audio, video and 3D objects. Additional information about the authors, their affiliation and their
further articles should be provided. Articles have to be accessible by topic, by date, by author and via a
context search. A user should be able to subscribe to the EZine by providing a profile of his interests,
and should then receive a notification when matching articles are published.
The administration tool should provide a system independent front-end with a graphical user interface.
The system must store the articles with the multimedia elements themselves as well as meta
information about the articles and the authors. The administration tool must enable the editor to add,
modify and delete this data.
3. Design
There are several methodologies for designing and developing Web applications today. They have
different strengths and weaknesses and are intended for different types of applications. For this
project, RMM (Relationship Management Methodology [1]) has been chosen. RMM is specially
useful for the design of highly structured and complex hypermedia systems with a high volatility of
information [5]. This is often a characteristic of database applications. Furthermore RMM uses entityrelationship diagrams, which are also commonly used in database design.
As the central element of the EZine a relational database (Oracle) has been chosen. This guarantees a
reliable, scalable and flexible basis for the application. The database holds all textual data and meta
information as well as references to the multimedia files, such as images, audio clips, videos and 3D
objects. Storing the multimedia files in the database as BLOBs (binary large objects) has been
considered too inefficient, because the access rates are much higher, if the multimedia elements are
stored in the file system.
The database structure determines type and range of the stored data. It is described by entityrelationship diagrams, which represent the objects and their relations to each other. The data of the
EZine are to be kept as complete as possible in the database, in contrast to applications, that store only
the meta data in a database, while keeping the articles as HTML files in the file system. The advantage
of our design is that by changing the query functions, the layout and the structure of the generated
HTML files can be easily modified without the need to edit hundreds or thousands of HTML files.
The following requirements are to be made on the database structure:

redundancy must be as small as possible


high flexibility for different queries
easily expandable

The avoidance of redundancy is important on the one hand for storage space reasons, on the other
hand, because redundant data may lead to inconsistencies. The second requirement means that the
database structure must permit different views on the data. The views of the data must be changeable
by the user and may not be limited by the database structure. The third requirement is mandatory for

1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999

software designs. Extensions to the software may not be too costly and must not lead to
incompatibilities.
In the first step of the database design, the objects of which the EZine consists, have to be identified.
These objects are implemented as database tables. Each object is stored in one table and all data of an
object are collected in this table. If extensions or modifications of an object become necessary, only
one table must be modified. The relations between the objects are defined in relation tables. In these
relation tables only references to the objects are stored, not the object data themselves. This helps to
avoid redundancies.
The database structure is not constantly determined. In the course of development modifications have
and will become necessary. At the moment the identified objects are:

article
paragraph
author
media file
institution
contact
topic

The objects article, paragraph and media file are described below.
The object article contains all article data except the actual text. These are title, subtitle, date, and a
status flag. The text is stored, divided into paragraphs, in the object paragraph and linked with the
article by a relation table.
Figure 1 shows the entity-relationship diagram of the object article. A unique identifier (ID) is
assigned to each article, by which relations to other objects are defined. The date field contains the
creation date of the article. The status field indicates whether the article is already complete or is still
in the edition phase.
ID

Article

Status

Date

Title
Subtitle

Figure 1: Entity-relationship diagram of the object article


The object paragraph contains the actual text of the articles. The entity-relationship diagram is shown
in Figure 2. The references to additional media such as audio clips and videos are stored in a relation
table. Structural information can be stored by using different types of paragraphs, for example for
enumeration or engaged text. The type information is stored in another relation table. New paragraph
types can be added at any time. The base paragraph type contains an optional intermediate heading,
optional media files and the text. The relation of a paragraph to an article is stored in a relation table
together with a sequence number that determines the order of the paragraphs within the article. By
modifying the sequence number paragraphs can be moved around within the article.

1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999

Paragraph

ID

Text
Heading

Figure 2: Entity-relationship diagram of the object paragraph


The object media file, Figure 3, contains a reference to the media file in the file system, the MIME
type of the media element as described by [1] and the mandatory identifier. A relation table connects a
media file with a certain paragraph and contains an optional caption or title. This is stored together
with the relation, in order to let the media file be reused in other articles or paragraphs with a different
caption.
Media File

ID

MIME type
Filename

Figure 3: Entity-relationship diagram of the object media file


4. Implementation
A Web server (Apache) with a PHP module and a relational database (Oracle) form the technical base
of the EZine. PHP is a scripting language, which can be integrated as a module into the Apache Web
server. The PHP instructions are inserted into HTML code and are processed by the Web server
module, before the HTML page is sent to the browser. The output of a PHP instruction is HTML code
which is inserted in the same place on the page. The PHP module permits the access to the database by
a set of special instructions. The advantage of PHP is the possibility to easily make modifications to
the scripts. Therefore PHP was predominantly used during the development of the EZine. A
disadvantage, which adheres however to all interpreted languages, is slower speed of operation in
comparison to compiled programs. Therefore many PHP routines were rewritten as CGI programs in
C++, as soon as the algorithms, the SQL queries and the HTML outputs were implemented and tested.
By the use of C++ classes for encasing the database accesses and the HTML outputs this was possible
at small expenditure of time. These CGI programs have the additional advantage not to be bound to a
certain Web server.
These CGI programs share a common basic structure illustrated in Figure 4. The program code can be
divided into four functional parts implemented as a set of C++ classes. The class HTMLTags creates
the output of the programs as an HTML page, that is returned as the result of the CGI request. By
derivation one gets classes which produce HTML pages of any special layout. The class CgiEnv
provides access to the CGI interface. CgiEnv supplies the GGI variables, the call method and further
information to the program. CgiEnv handles also the HTTP upload [5] of files and supplies the file
names. The Ora++ classes handle the communication with the Oracle database. SQL instructions are
used to query and modify the database tables. The Ora++ classes use the Oracle Call Interface (OCI).
The Properties class provides access to general parameters of the programs and allows their
modification. The Properties objects are initialized by configuration files which are read upon
instantiation.

1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999

Application Code
Ora++
HtmlTags

Properties

CgiEnv
DB-API (OCI)

File System

Operating System
Figure 4: Structure of the CGI programs
The administration tool for tasks like adding, changing or deleting data has been implemented as an
HTML form based Web application. It consists of a set of CGI programs of the type described above
for each object, except for the paragraph object. This is handled transparently by the CGI program for
the article object. Depending on the CGI variables supplied by the request, different functions are
executed. For example, in the simplest case without CGI variables a list of the stored instances of the
object is displayed. Figure 5 shows the list of authors in the administration tool.

Figure 5: List of authors


5. Article creation
The creation of articles takes several steps in contrast to the other objects. First, heading and
subheading are input, authors, contact persons and topic are selected from lists. In the second step the
selected authors are assigned to their institutions. The information collected so far is sent to the Web
server and stored in the database. Thus a new article is created, which however contains no text yet.
The next step is adding the paragraphs. In this phase a working view of the article is displayed in
HTML format (see Figure 6). HTML links, that generate CGI request, enable the editor to add
1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999

paragraphs at any appropriate position, to edit existing paragraphs, to add media files and so on. Every
modification refreshes the working view of the article, so that the editor can instantly check the result.
Another HTML link generates a presentation preview that shows how the article would look like to the
reader.

Figure 6: Working view of an article


6. Media files
Media files are transferred to the Web server by HTTP upload and stored in the file system. The
integration of multimedia content into an EZine makes special demands on the management system. In
most cases a format conversion is necessary which transforms the data supplied by the author into
formats suitable for the publication in the Web. The audio and video formats produced by the user are
usually defined by the tools available on his local system and often differ from the standards used for
publication. The format conversion is made by the management system of the EZine, without
bothering the user with it. Ideally, the user should be able to deliver data of any kind of audio and
video format, which would then be automatically converted into the required format. Practically, some
widely used audio and video formats can be supported.
The management system stores the filename and the MIME type of the media file in the database. This
meta information can be queried during article creation and suitable media files can be chosen and
integrated into the article.
7. The readers view
Articles can be accessed by the readers in different ways. There are collections of articles grouped by
topic and sorted by date or by author. For readers of the printed magazine there are collections which
resemble the printed issues. While these are dynamically created lists, there is also the possibility to
make a keyword search over all articles. The matching articles of a search are grouped together and
1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999

displayed in a separate two frame browser window with a content index on the left and the chosen
article on the right (see Figure 7).

Figure 7: Presentation view of an article


The reader will be given a way to subscribe to the EZine. This means, a reader creates a profile
containing his email address and the topics he is interested in. At regular intervals a search is
performed for each reader profile and matching new articles are grouped together for the reader in a
collection with a unique URL. This URL of his personalized issue of the EZine is then sent to the
reader via email.
8. Results
The implementation of this EZine is still in progress. By now, the main parts of the application are
working and already about 40 articles can be accessed. The URL of the EZine is http://www.dfnexpo.de/DFN-Zine/. The articles of each issue of the printed magazine are instantly published in the
EZine as well. The current work focuses on the integration of multimedia elements and the
implementation of reader profile management and subscription.
9. Future work
Topics of future work could be support for different output formats, like XML [2] or SMIL [3], and
enhanced navigation interfaces, e. g. 3D navigation tools.
Acknowledgements
This work is part of the DFN-Expo project funded by DFN-Verein (German Research Network) and
the Federal Ministry for Education and Research (BMBF).
References
[1] Borenstein N., and N. Freed, Multipurpose Internet Mail Extensions (MIME) Part Two: Media
Types, RFC 2046, November 1996
1999, RRZN/RVS University of Hanover

TERENA-NORDUnet Networking Conference (TNNC) 1999

[2] Bray T., Paoli J., Sperberg-McQueen C.M.,editors, Extensible Markup Language (XML) 1.0,
W3C Recommendation 10-February-1998, available at http://www.w3.org/TR/REC-xml/
[3] Bugaj, S. et. al., editors, Synchronized Multimedia Integration Language (SMIL) 1.0
Specification, W3C Recommendation 15-June-1998, available at http://www.w3.org/TR/RECsmil/
[4] Isakowitz T., Stohr E. A. and Balasubramanian P., RMM: A Methodology for Structured
Hypermedia Design, Communications of the ACM, August 1995
[5] Lowe D. B., Hall W., Hypermedia and the Web, Wiley, 1998
[6] Nebel E., Masinter L., Form-based File Upload in HTML, RFC 1867, November 1995
[7] Pralle, H. et. al., RTB Nord Project: Online documents, RRZN/RVS University of Hanover, 19941996, http://www.rtb-nord.uni-hannover.de/onlinedokumente/

Vitae
Alexander von Berg studied electrical engineering at the University of Hanover and received his
diploma in 1996. Since 1996 he is staff member at the Institute for Computer Networks and
Distributed Systems at the University of Hanover. Until end of 1996 he worked at the project Online
Documents. Since 1997 he is involved in the project Development of advanced online presentation
technologies. He has developed several information systems based on the WWW and RDBMS,
especially electronic newspapers and magazines. His major interests include distributed information
systems and high speed data communication.
Helmut Pralle, University Professor, Dr.-Ing., studied engineering sciences at the Technische
Hochschule Karlsruhe and Hanover. Afterwards he started to work as an assistant at the Institute for
Applied Mathematics in the Division for Electronic Calculation and at the Computer Centre of the
Technical University of Hanover. He received his doctorate in Control Theory in 1967. From 1968 to
1971 Head of the Computer Centre of the University of Hanover, since 1971 Director of the Regional
Computing Centre of Lower Saxony. 1986 he got the Chair of the Institute for Computer Networks
and Distributed Systems at the Department of Electrical Engineering and Information Technology of
Hanover. Since 1996 member of the administrative council and the executive committee of the DFN
Association. He delivers expert reports and vocational guidance for the German Research Council
(DFG), ministries and the industry. His major interests include distributed information systems and
high-speed data communication.

1999, RRZN/RVS University of Hanover

You might also like