skip navigation

This page looks better in modern browsers. Please upgrade.

Brown Home Brown Home Brown Home Brown CS

The Web

Web Space

The Department administers its own web site at www.cs.brown.edu for the use of CS faculty, staff and students. The web provides information about department programs, research, people and facilities. In addition, space in the web is created for the following:

Personal home pages are created and removed automatically along with user accounts for faculty, staff, graduate students and undergraduate concentrators only. All other web space requests should be directed to the webmaster.

Internal Web vs. External Web

There are actually two webs. The internal web is served by the machine web-int, located inside the department's firewall, and is available only to machines on the department's local network. The url is

http://web-int/

The outside web is served by the machine www.cs.brown.edu (also known as web-ext) which is outside the firewall. It maintains its own copy of the web on a local disk that is refreshed nightly from inside the firewall. Web authors may update their own pages at any time using the webupdate command. The external web's url is

http://www.cs.brown.edu/

Privacy

In some cases, web authors may wish to restrict access to certain documents. There are two ways to do this. Authors can control which files are pushed onto the outside web, thereby limiting access to department users only. This is accomplished by the privacy mechanism of the webupdate command, and has the added benefit that especially sensitive files never get outside the firewall.

Other Access Controls

Web authors may also use the access control features of the web server itself. A page in this web describes how to password-protect your web pages and another explains how to restrict access to the Brown campus.

Note: Indexing Exposes Files!

Note that the search engine indexer that runs each night traverses the web filesystem, not the web itself. So it indexes both files that are linked and files that are not linked. This means that someone searching on the right keywords can get to pages you have not otherwise linked into the web.

You can tell the indexer not to index any files in a particular directory by creating (in that directory) a file named ".noindex". The indexer will also skip directories that contain a file named ".htaccess".

CGI Commands

Web authors can use various general-purpose CGI commands provided by the staff, or they can write their own. Any department user can install a CGI command in

/pro/web/cgi-bin

and use it immediately. CGI commands can present security problems for the outside web, however, so to make a CGI command available on the outside web, contact the webmaster. Be ready to explain what it does, how it works, and what possible security issues there may be. If the CGI is written in perl, please run the taint checks on it.

If there is a general-purpose CGI you would like that isn't available, contact the webmaster.

Dynamic Content - Beyond CGI

Web application developers will find the resources they need on a set of web servers separate from the primary cs web site.

Web Pages Can Say "Fix Me!"

You can tell your web pages to remind you when they're out-of-date. Use the meta maintain tag in your pages set up automatic email reminders. For instance, you can have a web page send you a reminder that it needs to be revised at the start of every semester. Or you can tell it to let you know if it becomes older than some other file on the filesystem.

Users of the department look & feel can use the <maintain> tag.

Authoring Web Pages

The HTML files that comprise our web are located in

/pro/web/web

The structure of these web files mirrors the structure of the web as it is presented to a browser. To create new pages, simply create HTML files and directories here. These files are immediately accessible via the internal web. Run webupdate to copy the files to the outside web.

There are a number of ways to author a web page.

HTML

You can use a text editor, and write the content and HTML markup by hand.

HTML is a fairly simple language. It uses a simple syntax and has relatively few tags (commands). It is well within the grasp of most non-technical users. There are, however, a boatload of smarmy techniques employed by savvy web designers to create the fancy pages we are accustomed to seeing. Most of these work around the limited functionality and simplicity of HTML. So creating simple web pages by hand using HTML is easy. Creating fancy ones is not.

To get started with HTML, pick up a book such as HTML: The Definitive Guide from O'Reilly & Associates. There are several copies available in the department. You can also get the latest official HTML spec, along with many other useful documents from www.w3.org, the World Wide Web Consortium. It is always helpful and instructive to look at other people's pages. Most browsers let you view the HTML source of whatever page you are looking at.

Generating HTML

You can generate HTML from some other format.

HTML can be generated from LaTeX documents, framemaker documents, TeXinfo documents, and many, many others. The point here is that you ought to have a reason for authoring the document in its native format, because many of these HTML generators have very limited features, do a poor job, or require touching up by hand. Trying to avoid learning HTML is not a good reason.

WYSIWYG HTML Editors

There are quite a number of these around, although not too many for unix platforms. Hopefully this will improve over time.

Netscape Composer is an easy-to-use editor, but with a very limited set of features. Also, it produces ugly HTML, which may or may not be of concern. Composer is probably only for the really HTML-averse, who do not need to manage more than a few simple pages.

The best HTML editors are only available under Windows. Fortunately, CS Department users have access to Windows and, if they're willing to deal with some minor cross-platform issues, can use them to author pages for the department web.

Developing Pages Off-Site

You may choose to develop your web pages on your own computer system, using any tools you wish. To install them in the department web, you must copy them inside the CS Department's firewall, to /pro/web/web/.../yoursite. See the Remote Access page for information about connecting directly from home, or the Removable Media page to see how you might use a floppy to transfer your files.

Pages with the Department Look & Feel

The main department pages are authored using an HTML preprocessing system called Website Meta Language (WML). These "department-style" pages use a templating system, which separates page content from design and navigation. Authoring pages this way feels natural to computer people, and probably somewhat unnatural to non-computer people.

There is online a brief guide to help local authors use WML and local templates to produce department-style pages easily.


Page Owner: John Bazik Last Modified: Fri Jan 20 16:43:08 2006