Information Technology Reference
In-Depth Information
Second, the SQL view definitions are extracted from the extended SQL. The
respective views are created in the database and their names are stored in a sep-
arate database relation from where they can be accessed at application runtime.
Finally, a new folder is created on the server, containing the generated browser
interface and a PHP script
index.php
responsible for processing user tag selec-
tions and returning viewer contents where tag clouds reflecting user selections are
dynamically updated at runtime. The URL returned by the
generateBrowser
method in the
LanguageProcessor
class points to this folder. The generated
browser interface can then be tailored and styled according to specific applica-
tion requirements.
The initial tag clouds presented to the users consist of tags that are HTML
links. These links point to the
index.php
file created for the current browser, and
the selection to be carried out when a particular link is chosen by the user is
appended as a query string. The following example URL is the target of a link
associated to the
CAiSE
tag in the
Conferences
viewer.
index.php?Conferences=CAiSE
Such a request is processed on the server side by the
SQLViewManager
class. Its
method
update
takes the selection contained in the query string as a param-
eter and performs the update propagation algorithm described in the previous
section. As a result of this update propagation, all extended SQL views reflect-
ing the user selection are created. For each of these extended SQL views, the
generate
method in the
TagCloudGenerator
class creates an updated tag cloud
which is merged with the document template and returned to the client. The
URLs in the links of these updated tag clouds contain the previous selection in
the query string as well as the subsequent selection they represent. For example,
the URL of a link associated to the author
Matthias Geel
wouldbewrittenas
follows.
index.php?Conferences=CAiSE&Authors=Matthias%20Geel
For each tag selection specified by a user, the URLs of the links in the updated
tag clouds are extended in order to contain all previous selections as well as the
one to be carried out if the link was followed.
Similarly, the breadcrumb navigation consists of links pointing to the URLs
previously requested. Due to the fact that our implementation follows a stateless
approach, the implementation of the breadcrumb navigation is a simple manner
of creating URLs including the respective query strings.
In order to support multiple disjunctive tag selections at once, the user can
switch to a
multi select
mode. In this mode, the selection of a tag does not
immediately initiate a request to the server. Instead, a search button is added
to the browser interface which triggers the request to the server when the user
is finished selecting tags.
7 Discussion
We have presented a general framework that supports the configuration of search
interfaces for browsing and querying data collections using multiple synchronised