1 / 31

Publishing ISIS-databases on the WWW

Publishing ISIS-databases on the WWW. An introduction by E. de Smet Univ. of Antwerp. Why ?. the WWW is the most wide-spread data-medium nowadays software to access the web is freely available, very powerful and user-friendly no software distribution problem no training needed

koto
Télécharger la présentation

Publishing ISIS-databases on the WWW

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Publishing ISIS-databases on the WWW An introductionby E. de SmetUniv. of Antwerp

  2. Why ? • the WWW is the most wide-spread data-medium nowadays • software to access the web is freely available, very powerful and user-friendly • no software distribution problem • no training needed • ‘everybody does it’

  3. How ? 2 different ways : • ‘static’ publication : • create print-format with embedded HTML (e.g. WinISIS PFT-wizard) • print your database using that format to a file • put that file on a WWW-server • … That’s it ! • ‘dynamic’ publication : real-time access to data in database and ‘on-the-fly’ generation of database-pages

  4. Static : exercise with WinISIS • Open your database with WinISIS • Use ‘Print Format Assistant’ to create PFT with HTML-codes (add ‘<HR>’ at end) • Print your whole database using this PFT • FILE/Current Browse Set • Output to ASCII-file (Windows-ANSI) • Use other options (e.g. sort) at choice • Open result file with your browser : that’s it !

  5. Static publishing • Easy, simple solution, but : • Problems : • whole database or each record in a web-page ? • updating of the data ? • do you want all your records to be indexed by the WWW-search engines ? • do you want searching your database only possible as a general WWW-search ? • providing only one print-format ? • …

  6. Dynamic Publishing • each web-page dealing with your database is produced by a script which involves accessing the database, retrieving the data and formatting them into HTML-output • sophisticated approach : ‘database-driven’ dynamic HTML-pages • advantages : up-to-date, more flexible

  7. The principles of dynamic database-publishing on the web • the user enters search specifications into a ‘form’ in a webpage (HTML forms) • the variables in the form are transmitted as a string to the server • the (web-)server passes through to database-server (e.g. for ISIS : wwwisis, openisis or isis3w) • database-server acts according to specifications and delivers HTML-formatted data • Webserver returns the HTML as a ‘normal’ page to browser of the ‘client’

  8. The ‘client-server’ architecture • The client is the end-user’s PC running a WWW-browser (IE, Netscape, Opera, Mozilla/Firefox…) • The server is a computer running a WWW-server (Apache, IIS, Xitami…) • client and server interact using the CGI-protocol or ‘server-side scripts’ (ASP, PHP)

  9. The CGI-protocol • CGI = Common Gateway Interface • a mechanism is agreed to put variables as ‘name/value-pairs’ into a string sent to the server which puts them into the ‘environment memory space’ for other applications to retrieve them • a mechanism allows to run an executable software on the server, e.g. wwwisis.exe or openisis.exe • this CGI-compatible software can read the variables from that memory and act upon them

  10. e.g. : WWWISIS • produced by BIREME, based on their CISIS-tools (MX for Master/Xrf and MZ for IF manipulations) • can read CGI-variables and puts them into a ‘virtual ISIS-record’ where they become fields and subfields with tags • these fields can be used to process data, e.g. the ‘Boolean search command’ : “BOOL=“ • can format ISIS-data into HTML and send them back to the requesting WWW-server (who forwards to end-user)

  11. WWWISIS : some history • 1st (and 2nd) generation needed ‘CGI-scripts’ to translate CGI-variables into WWWISIS-commands • v. 3 introduced ‘virtual record’ which reads directly from CGI-environment • v.4 and 5 : ‘WXIS’ uses own script language : ‘ISIS-scripting’ -> more powerful, controllable • More general PHP-scripting is not possible

  12. Implementation possibilities • With wwwisis (Bireme) as the webdatabase-server : • GenISIS : full application generator available • WWWIRIS : JavaScript used to build HTML • With isis3w (FAO/Poland) webdatabase-server : • WEBLIS with HTP-templates and ISISDLL • With PHP/OpenISIS : PHP used to build the web-pages and CGI-commands, • IGLOO

  13. Application building : GENISIS • GenISIS : French product, now provided by UNESCO and also available in English • 2 versions : WWW and CD publishing • CD-publishing with stand-alone viewer but same application-interface • WWW-publishing needs web-server and browser, installation best with Apache running • Actual version : v3 (French, also English but documentation lagging bit behind) • Form creation by interactive form-editor, easy!

  14. GenISIS : implementation procedure • Installation form install-file for Web or CD • Application building with ‘GenISISWEB’ (or GenISISCD, but in French) executables • Three elements in ‘creation’ : • Query form (fields, indexes and page lay-out) • List-format (internal default available !) • Detailed format (internal default available !) • ‘Exporting’ or saving application to finalise • Testing on ‘localhost’ or ‘127.0.0.1’, with numbered folders in ‘wwwroot\wwwisis’-folder for each application • E.g. http://127.0.0.1/wwwisis/appli.htm for list of your applications • Make sure Apache is running (\Program Files\Apache Group\Apache\apache.exe -> black window minised)

  15. WWWIRIS : interface for WWWISIS • web-version of IRIS-interface for ISIS/DOS • main features : • multi-lingual • multi-database • 3 interfaces (form, Q&E, command) • multi-stage presentation : shortlist->details • Z39.50 -like ‘interaction’ simulated • can also allow data-entry (create, edit, delete) - password protected and logged

  16. WWWIRIS • the WWWIRIS main form : • HTML written by JAVASCRIPT to generate forms (language-, database-, format-, interface-and batch-selection and search statement) • two frames : left=static (‘remembers’ interaction variables), right=dynamic data display • this is the only ‘normal’ static HTML-file on the server • JavaScript allows form to be dynamic

  17. HTML forms • Interactive input on webpages, e.g. to define a search statement, with ‘action’ (e.g. <form name="paraForm" method="post" action="wwwi32.exe/[ctttype=text/html]/[in=wis.in]/">) • Input types : • <INPUT TYPE="text" SIZE=66 VALUE="" NAME="qString“> • <input type=button value=“GO!”> • <INPUT TYPE=TEXTBOX NAME=“abstract” SIZE="78" ROWS="2" WRAP="ON" > • <TEXTAREA NAME=“ABSTRACT” ROWS=22 WRAP=ON COLS=64> • <INPUT TYPE=“hidden” NAME=“USERID”> • <SELECT multiple name="descriptors">' • '<option>listitem1</option>' • '<option>listitem2</option>‘ </SELECT> back to 'principles'

  18. WWWIRIS (2) • all form-variables are sent to ‘WWWISIS-scripts’ (*.wis) which list the command-line variables on which WWWISIS operates into external (small) files, e.g. ‘WIS.WIS’ : • 'db='v4000/, • 'cipar='v4000'.cpr'/, • 'uctab=ansi.tab'/, • 'gizmo='v4001/, • if v3003='index' then @indx.wis else if v3003='editrec' then @edit.wis • else if v3003='newrec' then @newrec.wis else if v3003='deleterec' then • @delete.wis else if v3003='record' then @record.wis else @list.wis • fi,fi,fi,fi,fi

  19. Why JAVASCRIPT ? • normal HTML is still ‘static’, e.g. to write a menu on databases : <select> <option>db1</option> <option>db2</option> </select> • in JS : db1, db2..dbi are stored in array-variables and these can be written as :for (i=0; i<dbs.length; i++) { dbOG=dbOG+'<option'+ ' value='+dbs[i][0]+'>'+dbs[i][6]+'</option>'; }

  20. WWWIRIS : implementation • Adapt ‘wirvars.js’ with text-editor • Messages for each language • Database-parameters for all db’s/languages in arrays, see wwwiris.doc • Adapt ‘wirmenu.htm’ with text-editor • Cgi-path in ‘action=‘ parameter • A HREF’s and logo, to ‘local taste’ • Create ldbnsh.pft (see given model) • Create ldbnfu.pft (e.g. using WinISIS assistant)

  21. WIRVARS.JS • This file lists all database-specific variables into JavaScript-arrays, e.g. dbs[0][0]=new Array(); dbs[0][0][0]='ARTIC'; dbs[0[[0][6]='ARTICLES'; dbs[0][0][1]=new Array(); dbs[0][0][2]=new Array(); dbs[0][0][1][0]='TW=';dbs[0][2][0]='Title words'; dbs[0][0][1][2]='AU=';dbs[0][2][1]='Authors'; dbs[0][0][1][2]='TI=';dbs[0][2][2]='Title'; dbs[0][0][1][3]='DE=';dbs[0][2][3]='Descriptors'; -> Dbs[0][1] is second database for first language etc. • WWWIRIS.HTM reads this file as first part of it

  22. WWWIRIS.HTM • WWWIRIS is the starting page, containing the main search form (form, Q&E or command) and all the JS-functions for the interface, e.g. editRec puts ‘edit-modus’ and queryString into left frame-vars : function editRec(n) { with (window.menu.document.paraForm) { elements[3].value='editrec'; elements[5].value=queryString(); elements[6].value=n; target='cont'; submit(); } }

  23. HTML-forms in JavaScript • example : the ‘command’-interface writes a ‘textarea’ input object : if (curIT=="Command") { writeln("<p><textarea name='qString' rows=5 cols=60 wrap=virtual onChange='top.advSearch=value'>"); writeln(advSearch+"</textarea><BR>"); writeln('<p><input type=button value="SEARCH" onClick="top.runQuery();"><br><hr>'); writeln(dbs[curDB][10]); }

  24. The WWWIRIS-program logics (1) • the user selects language, database, interface, display format and batch-no. • according to interface selected, the user specifies the search command, possibly consulting search-dictionary • the ‘form’ interface allows multiple Boolean search commands to be combined

  25. The form interface

  26. The command-interface

  27. The Quick & Easy interface

  28. WWWIRIS program logics (2) • after the search command has been ‘sent’, the interface decides whether a dictionary-window, a shortlist-window, a full record-window or an editing window is requested • all variables are either sent as ‘normal’ (i.e. shown on the left frame lMENU.HTM) or as ‘hidden’ : <form name="paraForm" method="post" action="/../wwwi32.exe/[ctttype=text/html]/[in=wis.in]/"> <input type=hidden name='n^t4000'> <input type=hidden name='lang^t5000' value='e'> <input type=hidden name='b^t3005' value=''> <input type=hidden name='mfn^t3006' value=''> </form>

  29. WWWIRIS program logics (3) • dedicated scripts for dictionary, shortlist, record-display and editing exist : resp. • indx.wis • list.wis • record.wis • edit.wis and upd.wis • all defining their own ‘variables’, e.g. PFT • Hidden variables imitate ‘interactive interface’

  30. WWWIRIS program logics (4) • the dynamic pages are generated by ISIS-PFT’s using : • HTML-tags • HTML-forms • hyperlinks (A HREF=http://|mailto:// etc.) • pictures <IMG>, background <BGCOLOR> etc. • other calls, e.g. to PHP/MySQL : • '<form method="POST" action="/SAPPHP/newrequest.php" TARGET="_top">', • '<input type="hidden" name="sapid" value="',v1^a,v1^b'">',/ • '<input type="hidden" name="title" value="'v200'">',/ • '</form>'

  31. WWWIRIS logics (5) • data entry : ISIS MFN’s are displayed with all fields in text-input elements of a form, e.g. : '<B>TITLE ARTICLE</B> [200]<P>Enter full title of the article<BR>'/ '<INPUT TYPE=text NAME=TITLE^t6200 size=85 value="'V200'"><P>'/ '<P>‘ • note : quotes ‘_’ because they are actually PFT-literals ! • vars are sent to WWWISIS with ‘new’, ‘proc’ and ‘update’ commands‘, • e.g. ‘proc=‘ parameter : proc= ‘D022D310','A022#'date'#','A062#'v6062'#',|A310#|v6310|#|,

More Related