Systemic Semiotic Design Practice:
Download
Report
Transcript Systemic Semiotic Design Practice:
BUSS 909
Office Automation & Intranets
Lecture 12
Advanced Systems:
Dynamic Generation of Web Pages,
Embedded Servers
Clarke, R. J (2000) L909-12:
1
Agenda (1)
we consider some advanced web
systems which are either available or
possible and useful
all use as a basis some form of Common
Gateway Interface (CGI) which are
capabilities available in all web servers
some of these advanced web systems
are currently under development in the
Dept. Business Systems Clarke, R. J (2000) L909-12: 2
Agenda (2)
the following topics are discussed:
dynamic page generation (also known
as dynamic documents) in order to
introduce basic CGI concepts
embedded web servers which can be
very useful for certain applicationsexample provided is of a genre
prototyping tool
Clarke, R. J (2000) L909-12:
3
Agenda (3)
intelligent hypertext systems that can
provide users with previews of
documents prior to jumping to them
dynamic site structure- we have
described the utility of generating
pages on the fly using CGI (in this
lecture) and Server Side Includes
(discussed elsewhere) but it is possible
and useful to also have site structure
change dynamically
Clarke, R. J (2000) L909-12:
4
Dynamic Page Generation
Clarke, R. J (2000) L909-12:
5
Dynamic Page Generation
Definition
another name for this is dynamic
documents
documents can be generated ‘on the
fly’ from information that is being:
constantly updated, or
generated algorithmically
the result of a search
Clarke, R. J (2000) L909-12:
6
Dynamic Page Generation
Utility
widely used on the web as:
gateways to other information systems
and applications
used to process the input from forms
and image maps
within a web resource, links may be
created to virtual documents which
when requested are generated before
being served
Clarke, R. J (2000) L909-12:
7
Dynamic Page Generation
Gateways and Forms
not all information services fit the
Web authoring mold in which static
files are placed in directories
sometimes the information must be
generated dynamically from a
database
gateways are used to solve these
problems by providing an extension
mechanism for the Web Server
Clarke, R. J (2000) L909-12:
8
Dynamic Page Generation
Common Gateway Interface Specification
the interface between the server and
the programs that generate dynamic
documents is defined by the
Common Gateway Interface (CGI)
specification
a related mechanism for generating
‘dynamic’ information (described
previously) is the Server Side Include
Clarke, R. J (2000) L909-12:
9
Dynamic Page Generation
Gateways and Forms
gateways take an information source
that doesn’t fit the web authoring mold
making it look to the browser like a file
on the Web Server
in practice, the gateway is just a script
or program invoked by your web
server- accepting user input data
through the Web Server and can
output HTML
Clarke, R. J (2000) L909-12:
10
Dynamic Page Generation
Gateways and Forms
forms are used in WWW as a way of
collecting input to a script or program
on your server
form scripts are closely related to
gateways- these scripts pass data to
and from the Web server
Common Gateway Interface (CGI) is a
mechanism for communicating between
a gateway and web server
Clarke, R. J (2000) L909-12:
11
Dynamic Page Generation
Common Gateway Interface Specification
CGI specification describes how
HTTP servers interact with external
gateway programs
these external gateway programscalled CGI scripts- can be written in
almost any language including Perl,
AWK and C, Visual Basic etc.
Clarke, R. J (2000) L909-12:
12
Dynamic Page Generation
CGI Operation
Information is passed to CGI scripts
via environmental variables and in
the input stream
CGI scripts are written to output a HTML
document, with MIME headers
server sends the output to the clients’
browser and the MIME headers tell the
browser how to display the document
Clarke, R. J (2000) L909-12:
13
Dynamic Page Generation
Environmental Variables (Ford 1995, 145-146)
QUERY_STRING
CONTENT_TYPE
CONTENT_LENGTH
PATH_INFO
PATH_TRANSLATED
GATEWAY_INTERFACE
REMOTE_ADDR
REMOTE_HOST
REMOTE_USER
AUTH_TYPE
REMOTE_IDENT
If the URL contains a query string, this variable is
set to that query string
This variable is set if data is attached to the request
and passed in the standard input stream. It
indicates the MIME type of that data
If data is attached it can be read from the standard
input of the script. This variable gives the length of
the data
Contains any data included in the URL, after the
sub-string identifying the script
Contains the information given in PATH_INFO, with
the Web root directory path prepended
Identifies the version of the CGI specification the
server is using
The Internet address of the host machine making
the request
The name of the machine making the request, if it
can be determined
The name of the authenticated user, if the server
supports user authentication and the script is
protected
The authentication method used- only if the script is
protected
If the server and the remote machine support the
ident protocol, this variable contains the name of the
remote user making the request Clarke, R. J (2000) L909-12:
14
PATH_TRANSLATED
GATEWAY_INTERFACE
Contains the information given in PATH_INFO, with
the Web root directory path prepended
Identifies the version of the CGI specification the
server is using
The Internet address of the host machine making
the request
The name of the machine making the request, if it
can be determined
The name of the authenticated user, if the server
supports user authentication and the script is
protected
The authentication method used- only if the script is
protected
If the server and the remote machine support the
ident protocol, this variable contains the name of the
remote user making the request
Indicates the method by which the request was
made. For HTTP requests this is one of the HTTP
request methods: GET, PUT, POST or HEAD
Contains the virtual path of the script being
executed
Set to the host-name of the system on which the
server is running. This can be the true host-name,
an alias, or a numeric Internet address
The port number on which the request was received
Set to the name and version of the protocol with
which the request was made
Identifies the server software being used, giving the
name and version
Indicates the MIME content types that the browser
is willing to accept
A string identifying the web client. This is usually the
name and version of the browser but may include
other information such as the fact that the request
was made through a proxy
Dynamic Page Generation
REMOTE_ADDR
REMOTE_HOST
Environmental Variables (Ford 1995, 145-146)
REMOTE_USER
AUTH_TYPE
REMOTE_IDENT
REQUEST_METHOD
SCRIPT_NAME
SERVER_NAME
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
HTTP_ACCEPT
HTTP_USER_AGENT
Clarke, R. J (2000) L909-12:
15
Dynamic Page Generation
CGI Security Concerns
CGI scripts can open up potential
security loopholes in web
applications
this is because they have the ability
to access information from outside
the usual web directory hierarchy
must be considered potentially
untrustworthy
Clarke, R. J (2000) L909-12:
16
Dynamic Page Generation
Example: Tutorial Preference System
Clarke, R. J (2000) L909-12:
17
Dynamic Page Generation
Verify Tutorial Preferences Screen
Clarke, R. J (2000) L909-12:
18
Dynamic Page Generation
HTML Tags: <FORM…/FORM>
requests are generally gathered using a
<FORM> tag which includes attributes:
ACTION: URL specifying the location to
which the contents of the form are to be sentgenerally a CGI script
METHOD: selects variations in the protocol
eg. GET or POST
ENCTYPE: specifies the format of the
submitted data (if necessary)
Clarke, R. J (2000) L909-12:
19
Dynamic Page Generation
Verify Tutorial Preferences <FORM>
<CENTER><H2>FACULTY OF COMMERCE<BR>TUTORIAL PREFERENCE SYSTEM
<P> Verify Tutorial Preference</H2></CENTER>
<FORM METHOD=“POST” ACTION= “/cgi-bin/tps-cgi”>
<INPUT TYPE “hidden” NAME=“state” VALUE=“13”>
<INPUT TYPE “hidden” NAME=“chksum” VALUE=“91wlyrn”>
<P><BR><UL>
<B>PLEASE ENTER YOUR STUDENT NUMBER: </B>
<INPUT TYPE=“text” NAME=“studnum” MAXLENGTH=“7” SIZE=“7”>
<B>PLEASE ENTER YOUR BIRTHDATE (ddmmyy): </B>
<INPUT TYPE=“password” NAME=“dob” MAXLENGTH=“6” SIZE=“6”>
<CENTER>
<B>EXIT your web browser after viewing your tutorial preferences,
<BR> otherwise anyone using this computer after you will be able to access your information </B>
<P>
<INPUT TYPE=submit VALUE=“Click Here to Continue”>
<INPUT TYPE=reset VALUE=“Click Here to Clear Entries”><P>
</CENTER>
</FORM>
Clarke, R. J (2000) L909-12:
20
Dynamic Page Generation
Information Flow
when the user enters text on a Form
and hits the return key, the web
browser sends keystrokes captured
by the user to the web server (for
example NCSA web server is called
http daemon or httpd server)
the web server accepts input, starts
up the gateway and hands the input
to the gateway via CGI
Clarke, R. J (2000) L909-12:
21
Dynamic Page Generation
Information Flow
the users keystrokes are passed to
the gateway either via:
environmental variables, called the GET
method or,
using standard input, called the POST
method
the gateway then parses the input
and processes it (eg. sends a
retrieval command to a database)
Clarke, R. J (2000) L909-12:
22
Dynamic Page Generation
Information Flow
the gateway may generate HTML
output (via a template)
the HTML output is returned to the
web server to either:
pass on to the client, or
it may save the data in a file or
database, or
may send the information to someone
via email
Clarke, R. J (2000) L909-12:
23
Dynamic Page Generation
Gateway Scripts
may be scripts or programs written in
C/C++, Perl, tcl, the C shell or the Bourne
Shell:
Perl
tcl stands for tool command language and is
pronounced ‘tickle’
C shell and Bourne shell are interactive
command interpreter and command
programming language for UNIX
Clarke, R. J (2000) L909-12:
24
Dynamic Page Generation
CGI Gateway Scripts- HTML output
CGI gateways that generate HTML
output are required to preface the
HTML output to stdout with the
following line:
Content-type: text/html
this line must be followed by a blank
line before the first <HTML>tag is
sent
Clarke, R. J (2000) L909-12:
25
Dynamic Page Generation
CGI Gateway Scripts- Non-HTML output
the gateway need not generate HTML
it could return the URL of another file,
indictating to the browser that it
should get a file- this is called URL
redirection
CGI gateways using URL redirection
write the following line to stdout:
Location: URL
Clarke, R. J (2000) L909-12:
26
Dynamic Page Generation
Information Flow
(2) CGI
(1) Form
Web
Browser
Web
Server
(5) HTML
(3) Gateway
Script or Program
Database
(4) HTML
Clarke, R. J (2000) L909-12:
27
Embedded Web Servers
Clarke, R. J (2000) L909-12:
28
Embedded Web Servers
Traditional Client-Server Model
So far our discussions in this course
have centred on a traditional clientserver model for web systems
client sends a request to a remote
server, and eventually
a response is returned to the client
based on the operation of the remote
server
Clarke, R. J (2000) L909-12:
29
Embedded Web Servers
Client-side Servers
so useful is this arrangement that we
rarely question it- but it is not
necessary to have a server running
remotely
rather it may be useful to have one or
many temporary web servers
instantiated and executed client-side
Clarke, R. J (2000) L909-12:
30
Embedded Web Servers
Case Tool for Genre Analysis- GASP
genre can be applied to analysing
the structure of workpractices
(Clarke 2000)
to speed up the description of
workpractices a case tool is being
developed in Dept. Business Systems
system is called Genre and Action
Sequence Processor (GASP) uses an
client side or embedded web server
Clarke, R. J (2000) L909-12:
31
Embedded Web Servers
Case Tool for Genre Analysis- GASP
users and analysts jointly build up a
genre sequences consisting of a set
of nodes and links
the nodes are web pages which may
contain textual descriptions, forms etc
describing a stage in a workpractice
alternatively nodes may contain video
clips of action collected in the field
Clarke, R. J (2000) L909-12:
32
Embedded Web Servers
Operation of GASP
the nodes and links are dynamically
created client-side using an
embedded server
users make requests to the embedded
server for a requested page
but the page is generated only when it
is needed from a directed graph of the
genre which is stored in a name space
Clarke, R. J (2000) L909-12:
33
Embedded Web Servers
Operation of GASP
state information about the users’
traversal of the genre digraph is
stored in the URL, and
ultimately written to a database when the
user reaches the end-of-sequence symbol
for the digraph or when the system times
out
stored traversals are the basis for
usability analysis!
Clarke, R. J (2000) L909-12:
34
Embedded Web Servers
GASP as a CASE Environment
GASP can form part of CASE
environment using distributed web
technologies
by configuring GASP to echo its
activity to a proxy server, a project
manager would be able to see
exactly what the users and analysts
are doing in real time
Clarke, R. J (2000) L909-12:
35
Embedded Web Servers
GASP as a CASE Environment
GASP
Proxy Server
Browser 1
Dynamic
Server
HTTP
Procedure
HTTP 1
Browser 2
Dynamic
Server
HTTP 2
HTTP n
Dynamic
Server
Application
Clarke, R. J (2000) L909-12:
36
Intelligent Hypertext System
Clarke, R. J (2000) L909-12:
37
Intelligent Hypertext System
Need to Understand Textual Resources
in Lecture 10, we discussed issues
relating to text resources:
re-purposing texts to hypertexts can disrupt
the communicative utility of the former (see
also T909-10.DOC)
throughout this course we showed how
understanding texts could help us create
widgets enabling users to traverse large
hyper-documents while simultaneously
reducing screen ‘real estate’
Clarke, R. J (2000) L909-12:
38
Intelligent Hypertext System
Inability to Preview prior to Jumping
one aspect of the WWW which is a
problem is that users are not able to
preview textual resources prior to
jumping to them
promotes superficial and inefficient
reading practices- ‘skim, scroll and
peck’ (Clarke 1995)
increases the number of hits on server,
increases user frustration etc.
Clarke, R. J (2000) L909-12:
39
Intelligent Hypertext System
Preview prior to Jump Feature
the ability to preview prior to jumping to
a resource would provide users with
much greater control over what they
retrieved
this is frustrating because this
capability has been available on the
earliest microcomputer-based hypertext
systems (eg. Hypercard, Supercard on
the Apple Macintosh etc.)
Clarke, R. J (2000) L909-12:
40
Intelligent Hypertext System
Thematic & Information Resources of Texts
the texture resource that readers need in
order to predict what will occur next in a
text is referred to as theme
usually associated with theme is the
texture-forming resource called
information in which subsequent ‘new’
meanings can be created in a text from
previously accumulated ‘given’ meanings
Clarke, R. J (2000) L909-12:
41
Intelligent Hypertext System
Preview features emphasise Theme
each intranet text for which previews
are required, would need to have
encoded:
various themes at the level of the clause
various hyper-Themes at the level of
the paragraph, and
the so-called macro-Theme at the level
of an overall abstract for a text
Clarke, R. J (2000) L909-12:
42
Intelligent Hypertext System
Determining Thematic Resources
it is unlikely that we will ever be able to
completely automate the analysis of
texts for thematic resources
tools are available to support a linguist to
conduct this kind of textual analysis (see
Michael O’Toole’s SFL WWW Site), but
it only needs to be done once for each
hyper-document and then only needs to be
repeated each time the document is
amended
Clarke, R. J (2000) L909-12:
43
Intelligent Hypertext System
Encoding Thematic Information (1)
the results of thematic analysis need to
be encoded in the hyper-document
the thematic analysis must:
move with the document
must be copied whenever the document is
duplicated within the originating web site
must not interfere with the rendering or
processing of the document on other sites
Clarke, R. J (2000) L909-12:
44
Intelligent Hypertext System
Encoding Thematic Information (2)
HTML standard of adding user content
to a document is by using META tags:
there are conventional uses of this tag (eg.
Description, Keywords) but there is no
explicit standardisation limiting what can
be encoded into a hyper-document using
this tag
meta information is not displayed in the
browser- users don’t know it exists unless
they View Page Source
Clarke, R. J (2000) L909-12:
45
Intelligent Hypertext System
Encoding Thematic Information (3)
thematic resources are organised into
chains which flow through a text
each text will have a pattern of themes
called a thematic progression (examples
of which include simple, multiple, and
zig-zag)
how to efficiently encode these chains
into META tags will form the basis of a
Masters project (anyone interested?)
Clarke, R. J (2000) L909-12:
46
Intelligent Hypertext System
Encoding Thematic Information (4)
once the chain encoding is developed, it
is likely to be applicable to other
resources as well- including information
each text only needs to knows about its
own thematic structure
providing the thematic preview of a
document referenced by, or reachable
from, the current one is conducted as a
server-side process
Clarke, R. J (2000) L909-12:
47
Intelligent Hypertext System
Encoding Thematic Information (4)
it is assumed that all documents in
the intranet have encoded in them,
the required thematic and associated
information resources
this involves some additional
preparation work during re-purposing
or document creation, but the
resulting increase in functionality
would be well worth it
Clarke, R. J (2000) L909-12:
48
Intelligent Hypertext System
Encoding Thematic Information (5)
<HTML>
<HEAD>
<TITLE>Current Document</TITLE>
<META NAME = "macro-Theme" CONTENT = "mt_text_description">
<META NAME = "hyper-Theme" CONTENT = "ht_paragraph_description">
<META NAME = "Theme" CONTENT = "t_clause_description">
<META NAME = "New" CONTENT = "n_text_description">
<META NAME = "hyper-New" CONTENT = "hn_text_description">
<META NAME = "macro-New" CONTENT = "mn_text_description">
</HEAD>
<BODY>
:
:
<A HREF="diffdoc.doc">Different Document</A>
:
:
<P></P>
</BODY>
</HTML>
Clarke, R. J (2000) L909-12:
49
Intelligent Hypertext System
Suggested Architecture (1)
if the user rolls their mouse over a
link to an encoded document
1
as is normally the case, clicking the left
arrow key, enables the user to
immediately jump to that document, but
clicking the right arrow key, opens up
the usual menu of choices (Edit Linked
Item, View Linked Item etc) but also
displays at the top of this list an option
called “About this Item”
Clarke, R. J (2000) L909-12:
50
Intelligent Hypertext System
Suggested Architecture (2)
the ‘About this Item’ option is not a
standard option on this menu- it is
included by the Intranet operators
adding menu items themselves is a
relatively straightforward configuration
detail when using the Netscape browser
it is something that is easily setup for
Intranet developers
Clarke, R. J (2000) L909-12:
51
Intelligent Hypertext System
Suggested Architecture (3)
2
clicking on the ‘About this Item’
option sends a GET URL request to
run the Theme CGI program on the
web server, along with the
document pointed to by the link
as part of the operation of the
Theme CGI program, a META tag
parser is run on that document
Clarke, R. J (2000) L909-12:
52
Intelligent Hypertext System
Suggested Architecture (4)
the Theme CGI program sends back
a response in the form of a
3
dynamically generated hyperdocument consisting of the output of
the META tag parser
a dependent window is opened in the
users browser to display the hyperdocument- options can be selected
for pulling up required information
Clarke, R. J (2000) L909-12:
53
Intelligent Hypertext System
Suggested Architecture (5)
the users could select from a range
of available options depending on
the what text resources were
encoded in the document’s META
tags, including:
Abstract: encoded macro-Theme
Topics: encoded hyper-Themes
Information: encoded hyper-New
Summary: encoded macro-New
Clarke, R. J (2000) L909-12:
54
Intelligent Hypertext System
Web
Server
<HTML>
<HEAD>
<TITLE>Current Document</TITLE>
<META NAME = "macro-Theme" CONTENT = "mt_text_description">
<META NAME = "hyper-Theme" CONTENT = "ht_paragraph_description">
<META NAME = "Theme" CONTENT = "t_clause_description">
<META NAME = "New" CONTENT = "n_text_description">
<META NAME = "hyper-New" CONTENT = "hn_text_description">
<META NAME = "macro-New" CONTENT = "mn_text_description">
</HEAD>
Get URL
<BODY>
:
:
<A HREF="diffdoc.doc">Different Document</A>
:
2
:
<P></P>
</BODY>
</HTML>
Meta Tag
Parser
3
About this Item
1
Abstract
Topics
Information
Summary
Clarke, R. J (2000) L909-12:
55
Scalable/Dynamic Site Structure
Clarke, R. J (2000) L909-12:
56
Scalable Site Structure
Scalable Web Sites
some web hosting service companies
understand that corporate sites must
be scalable- that is the entire site can
change its scale or size
small companies may only initially need a
small web presence...
...but over several years they may then
need to add more extensive e-commerce,
and extranet capabilities
Clarke, R. J (2000) L909-12:
57
Scalable Site Structure
Scalable Web Sites
we will describe an overview of the
technology being developed by a new
company called Loudcloud
founded by some senior former
employees of Netscape including its cofounder Marc Andreessen...
...and former Netscape/AOL executives
Ben Horowitz, Tim Howes and In Sik Rhee
www.loudcloud.com/company/index.html
Clarke, R. J (2000) L909-12:
58
Scalable Site Structure
Scalable Web Sites
Loudcloud uses a technology it has
developed called Opsware™ automation
technology to enable sites to be scaled
due to planned or unexpected massive
increases in demand
Opsware supports that allocation of
additional Capacity On Demand within
minutes of a request!
Clarke, R. J (2000) L909-12:
59
Scalable Site Structure
Scalable Web Sites
a customer can dynamically add or delete
services as required- Loudcloud refers to
these as Smart Cloud™ technologies
Smart Clouds are predefined components
LoudCloud can do all this because it
controls the construction and hosting of
each web site it supports
each web site is heavily ‘instrumented’ and
centrally controlled
Clarke, R. J (2000) L909-12:
60
Scalable Site Structure
Loudcloud’s Scalable Web Sites
Internet Business
Application
Smart CloudTM Services
OpswareTM Technology
Operational Environment
A companies Internet Applications are
built on top of Loudcloud’s architecture
Each internet service referred to as a
Smart Cloud, is built on to of Opsware
automation technology
Opsware technology automates manual
tasks including:
capacity scaling
system configuration & provisioning
site versioning
A range of hardware and systems
software can be used to support
Loudcloud’s environment
Clarke, R. J (2000) L909-12:
61
Scalable Site Structure
Scale to fit load requests (hits)
Add or delete services
Clarke, R. J (2000) L909-12:
62
Dynamic Site Structure
Rationale (1)
there is a related but perhaps even
more radical possibility than to
having scalable web sites- one which
has a great deal of promise
commercially
we can extend the idea of dynamic
web pages to that of having dynamic
web sites- sites that change their
structure to accommodate use
Clarke, R. J (2000) L909-12:
63
Dynamic Site Structure
Rationale (2)
experience with developing web sites
should suggest to you that content
determines the structure of the web
sites
assumption that web sites should have
a static web structure- one which does
not change over time, or alternatively
that it is either not useful, or too much
bother to change the site structure
Clarke, R. J (2000) L909-12:
64
Dynamic Site Structure
this is the case even when we use:
Dynamic HTML (DHTML), and
JavaScript to produce pages which
appear to be changing
or even when we generate pages-ondemand, that is dynamic generated
pages as a consequence of searches,
database queries etc.
Clarke, R. J (2000) L909-12:
65
Dynamic Site Structure
in Lecture 9, we discussed installation of a
web server which focussed on the NCSA
httpd Server, and was tested by installing an
Apache Server for Windows/NT on zathros
at the Department of Business Systems
recall that we will also need to Configure,
Manage and Analyse the Server Log Files
which grow as a consequence of accesses
made by users of the web server
Clarke, R. J (2000) L909-12:
66
Dynamic Site Structure
if we study what users are accessing on
the web server then we can re-organise
the site structure to assist users in their
requests for pages and resources
this would result in more quickly or more
easily serving requests for resources
this may also permit more users to be
served by a web site
Clarke, R. J (2000) L909-12:
67
Dynamic Site Structure
re-organising web sites, in order to
promote functionality based on
analysing the requests by users, is
currently being done by some
consultants in Australia
usually this leads to an improved but
none-the-less static site structure
which enables users to more easily
access resources
Clarke, R. J (2000) L909-12:
68
Dynamic Site Structure
Necessity for Structural Change
changing the site structure can be useful:
over the long-term, site structures do and
should evolve as its uses are being further
refined or redefined (form should follow
function)
in the short-term, usage patterns may change
diurnally. For example, intensive webdatabase queries for local workers during the
day time, and FTP requests by overseas
workers during the evening.
Clarke, R. J (2000) L909-12:
69
Dynamic Site Structure
Technical Feasibility
it is technically feasible to generate a
redirect page which:
informs users that a page has moved
with a reminder to bookmark the new
location- you have probably
encountered this already, or which
automatically redirects a user to the
new location- sometimes without a user
being aware that this has occurred
Clarke, R. J (2000) L909-12:
70
Dynamic Site Structure
Approach (1)
although there are no technical
impediments to changing site structure,
and some justification for doing it, the
question becomes how to best change
the site structure?
as mentioned earlier it requires access
to the Server Log file, and a willingness
to set up this file to record as much as
possible about user requests
Clarke, R. J (2000) L909-12:
71
Dynamic Site Structure
Approach (2)
the page hits for each user session
must be recorded using the Site Log
these records of user sessions can
identify the parts of the site structure
hierarchy being intensively used
the analysis would likely proceed by
creating a weighted tree of usage
across the site topology
Clarke, R. J (2000) L909-12:
72
Dynamic Site Structure
Approach (3)
just as with dynamic web pages on
primarily static sites, not all sections
or weblets in a web site will need to
have a dynamic site structure
the key to implementing efficient
dynamic site structure is to isolate
those parts of a site topology that
will need to be changed
Clarke, R. J (2000) L909-12:
73
Dynamic Site Structure
Approach (4)
for those parts of the site structure
that require routine change, serverside system programs may need to:
rearrange web pages at the terminal
nodes or leaves of the weighted tree
provide additional intermediate nodes in
the form of additional pages
need to change, verify and manage
internal links between pages to remove
the possibility of bad links
Clarke, R. J (2000) L909-12:
74
Dynamic Site Structure
Pattern Recognition, Neural Nets
required usability analysis could be
implemented by applying pattern
recognition techniques
suggestive of neural network technologiesweb site usage learnt by example- there are
research opportunities in this work!
great deal of money to be made as this
information on user behaviour is just a form
of consumer profiling
Clarke, R. J (2000) L909-12:
75
Dynamic Site Structure
Analogous Approach found in HCI
this process is analogous to applying
so-called usability analysis- developed
in HCI for improving user interfaces
this involves analysing session transcripts
for evidence of repeating sequences of
keystrokes during the operation of a system
identify the most frequently occurring runs,
then reducing or removing them while
providing the same functionality
Clarke, R. J (2000) L909-12:
76
Dynamic Site Structure
Outsourcing to Portal Sites
to create dynamic site structure there
must be tight integration between the
Site Logs and the Web Site itself
if organisations want this feature, but
don’t want to implement it themselves,
they will need to outsource their entire
web site operation and maintenance
to a Portal Site
Clarke, R. J (2000) L909-12:
77
Dynamic Site Structure
Relevant Example ...
a dynamic site structure could in
principle be useful for an educational
web site like the one being
developed to support BUSS909
at the moment, students must click
on a Lectures link to get a list of all
Lecture files, then select the week or
topic in order to select one file from a
maximum of 14 files
Clarke, R. J (2000) L909-12:
78
Dynamic Site Structure
… Relevant Example ...
students could click on a link called
Current Lecture, which retrieves the
file relevant to the current week:
the previous lectures could be
accessed via a section page called
Previous Lectures
the Future lectures could be accessed
via a section page called Future
Lectures
Clarke, R. J (2000) L909-12:
79
Dynamic Site Structure
… Relevant Example ...
we might implement this if
the Site Log files indicated that students
were accessing the same file repeatedlyan indication that they did not know
which was current
under the assumption that all lecture
files were to made available prior to
delivery- not the case at the moment!
Clarke, R. J (2000) L909-12:
80
Dynamic Site Structure
Static Site Structure
Dynamic Site Structure
User request activity high medium low
Lectures, Past Lectures, Future Lectures
fewer incorrect hits but the site structure
would need to be revised weekly
L
L
Week 2
1
2
3
P
Week 3
L
1
3
2
F
4
5
Week 3
1
2
3
4
L
Week 4
L
P
4
F
Week 4
1
2
3
4
5
1
2
3
5
6
Clarke, R. J (2000) L909-12:
81
Acknowledgements
the author gratefully acknowledges discussions with Joshua
Fan, Department of Business Systems, who suggested the web
architecture necessary for implementing the Intelligent Hypertext
System and also for alerting the author to the possibility of
Portal Services providing organisations with web hosting
services that would provide for the restructuring of web sites
the architecture of GASP is being jointly developed as part of an
ongoing project between Rodney Clarke with Tony McGrath,
Wandering Albatross Consulting
Clarke, R. J (2000) L909-12:
82
References
Clarke, R. J. (1995) “WWW Page Metaphor considered Harmful”
Proceedings of OZCHI’95, University of Wollongong
Clarke (2000) “An Information System in its Organisational
Contexts: A Systemic Semiotic Longitudinal Case Study”
Unpublished PhD Dissertation, Department of Information
Systems, University of Wollongong
Fan, Joshua (1999) Personal Communication
Ford, A. (1995) Spinning the Web: How to Provide Information
on the Internet London: International Thomson Computer Press
McGrath, T. (1999) Personal Communication
Schwartz, R. L. (1999) “Programming with Perl: Step-by Step
Link Verification” Web Techniques 4 (3) March 1999, 30-34
Clarke, R. J (2000) L909-12:
83