Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
File locking wikipedia , lookup
Expense and cost recovery system (ECRS) wikipedia , lookup
Business intelligence wikipedia , lookup
Information privacy law wikipedia , lookup
Object storage wikipedia , lookup
Concurrency control wikipedia , lookup
Computer file wikipedia , lookup
Web analytics wikipedia , lookup
Semantic Web wikipedia , lookup
Relational model wikipedia , lookup
Clusterpoint wikipedia , lookup
TERENA-NORDUnet Networking Conference (TNNC) 1999 1 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 2 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 3 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 4 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 5 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 6 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 reader’s 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 7 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 8 [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