Advanced WWW page production
Many Mac/PC based programs exist to produce sophisticated Web pages that make use of numerous features. The sections below cover some of these features, describing what they do and how you might use them without needing special software.
Producing graphics
Stills
Graphics production shouldn't be a problem. Many WWW graphics are in GIF format, though the PNG format is safer and better for non-photographic images. The JPEG format is commonly used for photos. Adding images to a web page is easy. You should reduce the size of the image file so that the resolution is just sufficient for your purpose.
- Transparent/Interlaced GIFs
- Converting GIF images to JPEG
- Icon Bank
- Stanford's Graphics for your pages
- Free Engineering Images
Animation
There are many formats for moving images, which makes it difficult to reliably offer moving images.
Advanced HTML
With HTML 4 came "Cascading Style Sheets" (like Word's styles). These aid design and make possible some effects that can't be done in other ways. However, not all browsers handle them well. Even before HTML 4, Forms were available. They're easy enough to use but processing the replies can be harder.
- HTML4 stylesheets
- 101 things you never knew you could do with stylesheets (Martin Lucas-Smith)
- Cascading Style Sheets (from Index DOT Html)
- CSS tutorial
- CSS/edge
- CSS Layout Techniques: for Fun and Profit
- the complete CSS Guide
- Introduction to HTML Forms
- META lines in HTML files
- character sets
CGI Scripts, Perl and Counters
Sometimes (when a form is processed, for example) it's useful for a page to call a program on the server's machine. Though these programs (Common Gateway Interface scripts) can be written in many languages, perl is popular because it's an interpreted language and also has modules aimed at internet use. Note that for security reasons on the Teaching System you can't have your own CGI scripts.
- Apache/Perl Integration Project (speeds up the running of perl scripts from WWW pages)
- CGI scripts and HTML forms (gives lots of background information)
- CGI security
- www.statcounter.com is used by some people here. It's a hit counter facility that also offers real-time detailed web statistics.
- Google Analytics is a popular method for gathering statistics about access to your web pages.
Scripting
If straight HTML doesn't provide enough facilities you can enhance the language. These enhancements can be processed by the server ("server-side scripting") or by the browser ("client-side scripting").
- You can only use server-side scripting if the webserver is configured so that your pages can use the feature. Ask your provider what's available, or if you're running your own apache server, see what's been configured in. On the Teaching System's www2.eng we don't provide these facilities, but on our other servers (www.eng, www-g.eng, etc) some of these facilities are supported (though you won't be able to mix PHP and SSIs on one page).
- You can only use client-side scripting if the user's browser is configured to cope. Given the security anxieties associated with these features, it's understandable for users to disable them.
Amongst the options are
- Server-Side Includes - these offer a way to add date information to pages, and include other HTML pages; useful for adding standard headers, etc. Easy to use but rather limited.
- PHP - Server-side. Powerful, and integrates with databases. However, see our PHP security page.
- Java - Client-side. Complete applications with graphics can be written in java.
- Javascript - Client-side. Popular for special effects. Along with HTML4 features it can produce so-called "Dynamic HTML"
- Active Server Pages - Server-side, for Windows machines.
Databases
Scripted WWW front-ends exist for some databases. Using such a front end spares developers having to learn/buy a new database program, and provides a reasonable interface.
Note that there's a drive towards the unification of CUED databases, so staff may wish to consult others before committing themselves to a database program. The database that admin will use is likely to be oracle.
Options that have been used within CUED include
- the perl DBI (database interface). It is a robust method that allows easy connections between web pages and almost any database.
- mSQL and mySQL - two free/cheap databases for which there are many pre-created web front ends using PHP, etc.
XML
The Extensible Markup Language is intended to be the future language for WWW pages.
Virtual Reality Modeling Language (VRML)
See the VRML Repository. Floppy's VRML Guide is very useful too.
MathML and Maths
If you create documents with LaTeX, then latex2html will create a little GIF for each maths character (see the LaTeX Maths and Graphics for an example). It's not beautiful, but unless you can create PDF (Acrobat) files (or Postscript files), a perfect option doesn't exist. People are working on MathML (released as a W3C Recommendation on the 7th April 1998) as a way to display maths on the WWW. Look at W3's site for news and a MathML testsuite.
See also the Producing HTML and PDF files with LaTeX document and Writing Math on the Web (Brian Hayes).
Wikis, Chatrooms, Calendars, Google apps
The department has a license for Calcium, a configurable calendar and resource-booking facility.
Before you think of writing your own sophisticated facility, or try to use a free product, see if CamTools does what you want. It offers Kwikis, Chatrooms, , Calendars, Discussion boards, DropBoxes, Quizzes, etc. Contact webadmin if you have queries - others in the department may already have a solution to your problem.
The Computing Service provides a University (Raven-authenticated) Google Apps for Education service
Mashups
Not as bad as they sound - see our Web Mashups page.