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
- Research groups
- Computer Science Courses
- Software projects
- Special events or projects
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: Thu May 22 09:08:57 2008 |