Information Technology Reference
In-Depth Information
view is extended in order to retrieve only those authors who have a publication
at the selected conference.
In general, the sequence of views to be extended is determined by starting with
the view in which the tag selection occurred and then following the relationships
in a breadth-first manner. Note that this propagation algorithm was designed to
work with data models that can be represented as connected and acyclic graphs.
However, if there were cycles, endless loops are avoided because the framework
keeps track of the views already extended. If there is a viewer showing a database
relation not connected to any other, this viewer is independent and therefore
cannot be synchronised.
As users continue selecting tags, the cumulated selections are propagated in-
dividually and in the same order as they were made by the users. Finally, if users
make multiple disjunctive selections at once, the WHERE clause of the respective
view is extended with all selection criteria combined in a disjunctive manner.
Similarly, if a tag representing a range is selected, all values contained in this
range are taken as disjunctive selection criteria.
6
Implementation
We now present how the framework was implemented in the form of a web
application. We used a standard Client/Server setup consisting of HTML, CSS
and JavaScript on the client side and PHP and MySQL on the server side. The
web application provides an administration page where developers can input and
execute a browser specification in extended SQL to generate a new browser that
is then available from a new URL. Users may then interact with the browser as
described in the previous sections.
Figure 8 shows the PHP classes which are involved in the creation of a browser
as well as in processing user interactions at runtime. The specification of a
browser in extended SQL is handled by the method generateBrowser declared
in the LanguageProcessor class as follows. First, the information required to
generate the HTML document template is extracted, which includes the number
of viewers, their names and contained views. This information is passed on to
the generate method defined in the BrowserGenerator class in order to create
the client-side browser interface. It consists of the top bar for the breadcrumb
navigation, the viewers with their names, the views and the dropdown menus
for the selection of alternative views, the placeholders for the tag clouds and the
bottom bar for the result sets.
SQLViewManager
LanguageProcessor
update(List<Selection>): List<SQLView>
- update-propagate(SQLView)
generateBrowser(ExtendedSQL): URL
BrowserGenerator
TagCloudGenerator
generate(ExtendedSQL): Document
generate(Type, SQLView): TagCloud
Fig. 8. Classes implementing the framework
 
Search WWH ::




Custom Search