ArsDigita Archives

Acceptance Test

for the Arsdigita Community System by Tracy Adams
Use this to test an ACS installation. Going through these steps is also a good way to learn the major features of Arsdigita Community System administration.


You should ensure the database has been properly configured and that your AOLserver installation will actually start.
Suggested method:
  • Open up a sqlplus session as the Oracle user your AOLserver will connect as. We want to ensure we've completed the installation step of adding NLS_DATE_FORMAT = "YYYY-MM-DD" to the Oracle instance init file. Make sure the date format is set correctly.
    SQL> select to_date('1-1-2000', 'MM-DD-YYYY') as y2k from dual ;

    If the date did not read "2000-01-01" that installation step failed.

  • Next, make sure that the step of feeding Oracle the data model works. In the same sqlplus session, make sure the country_codes, counties, and states tables were loaded:
    SQL> select table_name from user_tables where lower(table_name) in ('country_codes', 'states', 'counties') ;

    If these three tables do not show up, we failed to properly feed Oracle the data model.

  • Spot-check that database objects created in .../arsdigita/doc/sql exist.
  • If you installed site-wide-search make sure the im_convert PL/SQL proc is there. This procedure converts a search string into a form interMedia understands to perform the search.
    SQL> select im_convert('foo bar') from dual ;
    ( { foo } NEAR { bar })*2.0,about(   foo     bar  )
    If this is not what you see, then you likely failed to properly feed Oracle the data model.
  • Unless you have specified port numbers for both the ns_sock and ns_ssl (if applicable) modules that are greater than 1024, you will need sudo permissions or root access for the following command. As root make sure your server will start
    /webroot/aol30/bin/nsd -fc /webroot/aol30/.ini -r /webroot

    The -f option runs the server in the foreground, so you can easily see any errors that may have occurred when the server was run. If you see any errors indicating the failure of a virtual server to start, this step failed.


You should test basic registration and the login process.
Suggested method:
  • Go to /pvt/home
  • Walk through registering as a new user
  • Go back to /pvt/home and "Log out"
  • Go back to /pvt/home again and log in as the same user

User Administration

You should test adding a user, searching for users, modifying user data, banning or deleting a user, and spamming a class of users.
Suggested method:
  • Go to /admin/users
  • Create a test user
  • Search for a class of users (which includes the test user)
  • View the list of matching users and edit the user data for the new test user
  • Spam a (small) group of users.
  • Delete the test user
  • Ban the test user
  • Nuke the test user

Bboard System

You should test setting up a bboard, posting a message, alerts, and searching.
Suggested method:
  • Create a test bboard
  • Sign up for an instantaneous alert
  • Post a message
  • Respond to your message
  • Search for your message (Note that you must wait for the index to be rebuilt before you'll actually see your new posting. Or you can do it manually by going to SQL*Plus and typing alter index sws_ctx_index rebuild parameters('sync').)
  • Deactivate the test bboard (you can leave it for later testing)

Classified Ads

You should test setting up a domain, posting/editing and ad, alerts, hot auctions and searching.
Suggested Method:
  • Go to /admin/gc and create a domain. Make sure you add a least one category.
  • Go to /gc and add an instant alert.
  • Post an ad.
  • Edit your ad.
  • Place a bid on the ad.
  • Search for your ad.
  • Deactivate your domain (you can leave it for later testing).


You should test adding new downloads, upload versions of existing downloads, adding rules to all versions/specific version of a download, edit/remove download data, download a file, view download history.
Suggested Method:
  • Add a new download
  • Upload a new version of the download
  • Add a rule to the download
  • Edit the download data
  • Go to user pages and download the version
  • Go back to admin pages and view the download history
  • Remove the version
  • Remove the whole download

User searchers

The searches you made in the bboard and classified ads should have been logged. View the user searches section in the admin pages to verify.


You should test story posting, story approval, and story editing (for both site-wide and group scope). You can also test the interface into the general comments module.
Suggested Method:
  • Add a story
  • Approve the story in the admin pages (depends on policy)
  • Add a comment to the story
  • Approve the comment in the admin pages (depends on policy)
  • Revoke approval for the story in the admin pages. The story should not appear the user pages.


You should test adding an event, approving events, and adding comments.
Suggested Method:
  • Add a category through the admin pages
  • Add an event through the user pages
  • Approve the event (depends on policy)
  • Comment on the event
  • Approve comment (depends on policy)
  • Revoke approval on the news story so the item does not show up


  • Turn on curriculum in the parameters file.
  • Create some curriculum items from the site-wide admin pages
  • View the curriculum and visit some of the pages.
  • Make the curriculum disappear by visiting all the pages
  • Visit /curriculum to turn it back on again and to view the reasons.

Neighbor to Neighbor

You should test creating a domain and subcategory, adding and approving a posting, adding and adding and approving a comment, and searching. Suggested Method:
  • Create a domain
  • Create a subcategory
  • Add a posting
  • Approve the posting (depends on policy)
  • Add a comment
  • Approve the comment (depends on policy)
  • Search for posting
  • Inactivate the domain (you can leave it for later testing)

Stolen equipment registry

You should test adding and entry, adding a comment, and searching.
Suggested method:
  • Add an entry
  • Add a comment
  • Approve the comment (depends on policy)
  • Search
  • Delete the entry using the the admin pages

HTML Comments and Related Links

You should test syncing the html pages with the database, adding/editing comments, adding/editing related links.
Suggested method:
  • Create a test html file
  • Sync the database with the system
  • Add, then edit a comment on your test page.
  • Add, then edit a comment on your test page.
  • Delete the comment and link from the admin pages.


You should test that clickthroughs are logging.
Suggested Method:
  • Create a valid clickthrough test link
  • Click on the link and then verify that is was tracked

Ad Server

You should test that you can insert and view ads.
Suggested Method:
  • Add an ad in the admin pages
  • View the ad the the user pages

Contest System

You should test setting up a contest, contest entry, modifying contest parameters, and voting.
Suggested method:
  • Create a current contest. Add some customized columns.
  • Verify that you can add a contest entry from the user pages.
  • Edit the domain parameters and verify the changes.

Ticket Tracker

You should test adding users, creating a project, and creating an issue.
Suggested path:
  • Add a user to the Ticket Administration
  • as that user create a new project and feature area
  • Add an issue
  • Close the issue
  • Add and remove an assigned user (as the ticket administrator user)
  • Add a watch on a ticket (via the link at the bottom of the page)
  • Check that the watch shows up on /pvt/alerts
  • Add a comment on a ticket


  • Go to /admin/chat/ and create a public chat room
  • Go to /chat/ and enter the room
  • Log in to /chat/ as a different user on a different browser
  • Open up the javascript version on both browsers and have a nice chat
  • Delete all the messages from the room
  • Delete the room


  • Upload a URL and a file (.gif, .jpg or .doc)
  • Set read permission for an arbitrary user and a group
  • Upload a new version of the file, and check that the permissions got copied
  • Create a folder
  • Edit the file to move it into the new folder
  • Download the file (checking the MIME type)
  • In the "Shared Document Tree", click on a folder containing files and subfolders. Check the layout, and the links for files and folders
  • Go to your "Personal Document Tree" and upload a file, giving it permissions that make it unviewable to the public
  • Upload another file and make it viewable to a specific user
  • Upload a third file and make it viewable to a specific group
  • Log in as the user you just specified and check if you can read the last two uploaded documents (using "All public files"; make sure the user is a member of the above group)
  • Check that the "Go to" list only shows trees for which you have either write permission, or which contain files you can read (site-wide administrators can read all files - so be sure to also test this as a normal user)
  • Delete a file in the shared and in your personal document tree
  • Do the same as above for /admin/file-storage


  • Add one bookmark manually by URL only
  • Create a new folder and a subfolder
  • Edit the bookmark by
    • changing its name
    • changing its location to the new folder
    • making it private
  • Make the folder private and check if its contents are marked as private, too
  • Click on a folder and subfolder to open/close them
  • Delete (through edit) the folder, thereby deleting the bookmarks as well
  • Import bookmarks from a Netscape bookmarks file
  • View the Javascript version
  • Check validity the links and delete some dead links


  • Define a group type portal_group.
  • Create two groups of this type. Each of these groups will have its own portal.
  • Create a group called "Super Administrators" of type "portal_group"
  • Add yourself as a Super Administrator from the /admin/portals page.
  • Create tables from /portals/admin/
  • Lay out the portal pages by masquerading as an administrator of the various portal groups
  • View the resultant user page

Pull-Down Menus

  • Upon installation you should have two pull-down menus predefined, if not load them with sqlplus user/password < pdm-data.sql
  • View one of these pull-down menus by clicking from /admin/pull-down-menus
  • Go to /admin/pull-down-menus and create a new pull-down menu filling in only the necessary fields
  • Go to the new pull-down menu and a top level item and a child of that item
  • Delete the test pull-down menu

Address Book

You should test adding, editing, viewing and searching for a contact.
Suggested path:
  • Add a contact
  • View a contact
  • Edit a contact
  • Search for the contact


You should test searching and browsing the directory.
Suggested path:
  • Search by last name, then email, and then both (try apostrophe)
  • Click on browse
  • Click on "look at user-uploaded portraits


You should test definition entry, editing, approval, and deletion.
Suggested Method:
  • Add a definition
  • Approve the definition in the admin pages (depends on policy)
  • Edit the definition from the user pages (depends on policy)
  • Edit the definition from the admin pages
  • Delete the definition in the admin pages. The definition should no longer appear.

General Links

You should test link entry, rating, editing, approval, and deletion.
Suggested Method:
  • Create a test page that calls ad_general_links_list
  • Add a link from the test page
  • Go to user index page
  • Add a link from the user index page
  • Approve/reject a link in the admin pages (depends on policy)
  • Edit a link from the admin pages
  • Delete a link in the admin pages. The definition should no longer appear.


You should test poll entry, editing, voting, and reporting.
Suggested Method:
  • Go to /admin/poll and add a new poll and check Require Registration checkbox
  • Add some poll choices. Move them around.
  • Edit the poll. Revisit the poll and make sure the changes appear.
  • Go to /poll. Make sure the poll is there and has the proper choices.
  • Vote. Then try voting again. You should be displayed a message informing you that you can't vote since you already voted.
  • Go to /poll/poll-results and see whether your vote shows there.
  • Go back to admin page and uncheck Require Registration checkbox, and then go to /pvt/home and log out.
  • Go back to /poll page and vote 4 times for the same choice.
  • Visit admin page for that poll and click the integrity statistics link
  • You should see a list of ip addresses that voted for the same choice more than once (possible indication of ballot stuffers)
  • Set the nuke choice from ip address to 3 and press the nuke button
  • Check the voting results again. Number of votes of the choice for which you nuked the ballot stuffer should now be decreased by the number of votes from the ip address of the ballot stuffer.
  • Delete the poll.

User groups

You should test links to sections, group membership and group spamming.
Suggested Method:
  • Make sure links to group modules and sections are working on both group public and group admin pages.
  • Add and remove a member of a group, change member's role, change new member policy, toggle option to send email to administrators on new membership request.
  • Change group spam policy to open, wait and closed, and try sending spams to group members and administrators from both the admin and the user pages, view, for wait policy, approve and disapprove emails that are waiting, view email history from both admin and user pages.

General Permissions

Run the automated acceptance test. This tests all PL/SQL functions against the data model.


You should test adding, viewing, editing, and deleting a press item:
  • Go to /press/admin/ and add a new low-priority press item
  • Verify that the item shows up with the correct number of days left for display
  • Go to /press/ and make sure the item is formatted correctly
  • Go to /admin/press/ and add a new template to the system
  • Verify that the template is displayed correctly
  • Go to /press/admin/, select your test item, and then select your template to display it
  • Delete the item
  • Delete the template


  • As site-wide admin:
    • Go to /admin/faq/
    • Create a public FAQ
    • Create a private FAQ for Group X
      • Visit /admin/ug/index and make sure that the group_type of which group X is a member is associated with the FAQ module.
    • Visit /faq/ and click on the public faq
    • Click on Maintain this FAQ
    • Add questions, edit questions, swap questions, insert after..
    • Edit the FAQ name
  • As a simple user:
    • Go to /faq/
    • Visit the public FAQ
  • As an administrator for Group X
    • Visit /groups/X/faq/
    • Perform the same tests on the private FAQ that you did on the public one


You should make sure that you can create an event, register for it, and review registrations.
Suggested method:
  • Create a venue
  • Create an activity
  • Create an event for that activity
  • Add organizers to that event
  • Register for an event
  • Cancel a registration
  • Review order histories

Template System

Go to a number of pages under /ecommerce/ and make sure they get displayed with uniform style, e.g.

   -> product-search
   -> gift-certificate-order-3
       -> gift-certificate-order-4
(The style is defined in /web/yourservername/tcl/ecommerce-styles).

Note: this is the old template system, documented in style; the new one by Karl Goldstein is not included in the ACS.

Categorization and User Profiling

You should be able to add categories, define their positions in category hierarchy and, as registered user, choose content categories you're interested in.
  • Add new category 'scratch1' through category admin pages /admin/categories/
  • Add subcategory 'scratch2' of 'scratch1'
  • Try to nuke category 'scratch1', system should return proper error message
  • Edit parentage of 'scratch2', remove link to parent 'scratch1'
  • Edit parentage of 'scratch1' and make it child of 'scratch2'
  • See if the categories are placed properly in hierarchy tree view

  • In /pvt/home both categories should show up, check 'scratch1', update interest, then check 'scratch2' and update interests again
  • User interest changes should be reflected in user admin pages as well

  • When tired of playing, nuke both scratch categories in proper order.


Stick this into a file and then access it with your browser:
set legend [list "1997" "1998" "1999" "2000"]

set subcategory_category_and_value_list [list [list "Dog" "Favorite Animal" [list "45" "47" "40" "45"]] \
                [list "Cat" "Favorite Animal" [list "20" "21" "19" "21"]] \
                [list "Other" "Favorite Animal" [list "35" "32" "41" "34"]] \
		[list "Pizza" "Favorite Food" [list "34" "33" "35" "35"]] \
		[list "Chocolate" "Favorite Food" [list "24" "25" "24" "25"]] \
		[list "Other" "Favorite Food" [list "42" "42" "41" "40"]]]

ns_return 200 text/html "<font face=arial size=+2>Madrona Elementary School Annual Poll Results</font>
[gr_sideways_bar_chart -legend $legend $subcategory_category_and_value_list]
It should produce a lovely four-color bar chart!


After you have completed the setup tasks in Technical Details of the Ecommerce Module, here are some good tests of the things most likely to be broken:
  • Go to http://yourserver/ecommerce/ . If the page is broken, it's because the data model wasn't automatically loaded with the rest of the ACS (the ecommerce data model is omitted intentionally to save publishers who aren't doing ecommerce from having a gigantic number of unused tables). Solution: load the two files ecommerce.sql and ecommerce-plsql.sql with sqlplus scott/tiger < ecommerce.sql (same for ecommerce-plsql.sql). If you get an error while loading the data model, it may mean that you're not using Oracle 8i (required).
  • Go to https://yourservername/admin/ecommerce/products/add (or http:// instead of https:// if you don't have SSL) and try to add a product without a picture. If you get an error on add-2, it's probably because the directory to hold auxiliary product info cannot be created. Make sure the directory (specified by the parameters EcommerceDataDirectory and ProductDataDirectory) exists. By default, this is /web/yourserver/data/ecommerce/product/ . Also make sure the permissions are correctly set (AOLserver has to be able to create new directories inside of this directory).
  • Now try to add a product with a picture. If it can't be created, that may mean that ImageMagick is not installed or is not at the expected path (/usr/local/bin/convert).
  • Go to the customer service submodule (https://yourserver/admin/ecommerce/customer-service/ -- or http:// instead of https:// if you don't have SSL) and add an interaction (if you get an error on interaction-add-2, that may mean the zip_codes table hasn't been loaded). Use the email address of an existing user. All the other information can be garbage. Return to the main customer service admin page and find the issue you just created (look under Customer Service Issues). When you're viewing the issue, click Send Email at the top. Try sending email. Possible problem #1: spell checker doesn't exist. Solution: install spell checker (tools module). Possible problem #2: can't send email. Solution: install qmail on your machine.
  • Go to http://yourserver/ecommerce/ and click on one of the products you just added. Add it to your shopping cart and try to check out (using a real credit card). If all has gone well, you will never see finalize-order (you'll be redirected immediately to thank-you), but if you get an error on finalize-order that may mean that CyberCash has not been correctly set up.
Once all this is working, you can further test your system:

Display Module

Test cascaded style sheet settings and uploading of a logo
  • changing background color
  • changing body text color
  • changing color of the links
  • changing color of the visited links
  • changing the font type
  • changing links display (underlined, non-underlined, ...)
  • uploading logo
  • enabling and disabling logo

General Comments

Test tcl procedures used for adding comments to pages and test general comments admin pages
  • adding a comment using ad_general_comment_add
  • updating a comment using ad_general_comment_update
  • displaying general comments using ad_general_comments_summary and ad_general_comments_summary_sorted
  • approving/disapproving a comment through admin pages
  • editing a comment through admin pages
  • deleting a comment through admin pages
  • using dimensions on admin pages (sections, approving/disapproving, number of days)


Make sure that help links work and that appropriate .help files are used

Content Sections

Test content section admin pages
  • add a static section
  • add a module (for groups having a complete module administration)
  • add a custom sections (for groups having custom section module installed
  • edit section properties (section key, section pretty name, sort key, help, intro)
  • enable/disable sections
  • test view links on content-sections index page
  • section navigation (make sure that correct navigation bars are generated)

New modules

Systematically go through each option making sure:
  • Instructions and page flow make sense
  • Page layout is standard
  • All inserts are immune to double clicks
  • Links are all valid
  • Everything is spelled correctly
  • You can't type in data that will cause errors. Try ', ", and blank entries


Suggested Method:
  • Setup
    • Set IntranetEnabledP=1 in the server .ini file and restart your web server
    • Create an account for yourself
    • goto /intranet - should be denied access.
    • Log in as a site-wide administrator
    • Add yourself as an employee (from Employee Administration)
    • Go back to employee administration and add yourself as an Intranet Administrator
    • Go to the admin user group page for intranet. Add news and address-book as modules associated with groups in intranet.
    • Log in as yourself - should be automatically redirected to intranet workspace

  • Testing
    • Add an office. Add yourself to that office and make yourself the primary contact. Email the office.
    • Add a partner. Add a contact to and a correspondence with that partner. Spam people working with the partner.
    • Add a procedure.
    • Add a customer (Make sure it's marked as current).
    • Add a project.
    • Create a ticket tracker from the project page.
    • Remove yourself from the project.
    • Go back to your workspace. Make sure your customer shows up.
    • Move your customer from current to past state.
    • Click on status report. Make sure customer status change shows up.
    • Click on "Your public information" and make sure your office comes up.
    • Log some hours.
    • Add an office absence. Edit it. Remove it.
    • Upload a portrait of yourself.
    • Edit your public information.
    • Edit your h.r. information.
    • Change your password, log out and back in.
    • Add a couple of new users and make them employees from Employee Administration.
    • Create one or two direct reports by setting the users' supervisor id's to you.
    • Create some direct reports for your direct reports.
    • Check the org chart from your workspace.

Data Pipeline

Data Pipeline will be fully exercised by the Intranet module.

Simple Survey

You should test creating a new survey, editing a survey, enabling a survey, responding to a survey and viewing responses.
  • Creating a new survey:
    • log in as a simple survey administrator
    • go to /survsimp/admin/ and create a new survey
  • Editing a survey:
    • log in as a simple survey administrator
    • go to /survsimp/admin/ and select the survey to edit
    • edit description
    • add new categories
    • insert new questions
    • change question properties: active/inactive, response required/not required, order (swap with previous)
    • delete a question; repeat this step after having responded to the survey and viewed the responses
    • go to /survsimp/ and check that the new survey isn't listed
  • Enabling a survey:
    • log in as a site-wide administrator
    • go to /admin/survsimp/
    • enable the survey
  • Responding to a survey:
    • log in as a regular user
    • go to /survsimp/
    • check that the new survey is now listed and select it
    • submit responses
    • respond again to the same survey and check your previous responses
  • Viewing responses:
    • log in as a simple survey administrator
    • go to /survsimp/admin/
    • select the survey to check
    • view responses by user and summary of responses and check that your responses were correctly inserted


  • Go to /wp and create a new, public presentation. Select "I'll provide my own" as the style.
  • Create a fancy style with wacky colors. Verify that the color picker widgets work properly.
  • Add an image. Verify that clicking on the image filename displays the image.
  • Go to the list of presentations. Verify that the presentation shows up.
  • Edit the presentation. Add several slides with some attachments. Return to the main editing page for your presentation by clicking your presentation's title in the navigation bar.
  • Click Show presentation, viewing comments from collaborators and "edit" links. Make a comment or two.
  • Log out. Go to and view your presentation.
  • Log back in. Click Edit the presentation properties, change a thing or two, and save your changes.
  • Bulk copy slides from one of your presentations into the current presentation, and from a presentation belonging to another user. (Just follow onscreen prompts.) Verify that the slides were properly added.
  • Create a ZIP file containing several images (GIF, JPG, or PNG). Upload the batch, verifying that the slides were properly added.
  • Change the order of slides in the presentation.
  • Click Change people who can view/edit this presentation and:
    • Make the presentation private.
    • Invite an ACS user to view and make changes to the presentation.
    • Invite a non-ACS user to administer the presentation (decide who gets to view/edit it.)
    Ensure that both users receive emails, and that following the instructions in the emails gives them appropriate access to the presentation.
  • Freeze the current slide set. Make a change to a slide. View the previous (frozen) version of the presentation, ensuring that the change is not apparent here. View the current version of the presentation, ensuring that the change is apparent here. Revert to the original version of the presentation, ensuring that the change has disappeared.
  • Log out, ensuring that the public cannot see the (now-private) presentation.
  • Log back in and delete the presentation.


  • Go to the admin page and add at least two states.
  • Add some transitions. Try to pick conditions so that it will be true for at least some people. Example: Users who have had some activity in the last month: 0 < activity_since(user_id, add_months(sysdate, -1)).
  • Run the state machine a few times and see if any users move around from state to state.

Referer Module

  • Go to some other web server, create a page with a link to the server you are testing on. Click on that link a few times.
  • Go to the referer admin page and see if your clicks were recorded. You should see the foreign referral, but no local ones. (Note: there's a cutoff so referers with only a few counts don't show. If you select a report for one day only, three clicks on the referring link should do the trick).

Member Value Module

  • Make sure the member value parameter section of the server.ini file is switched on .
  • Go to a page which supports member value (e.g. delete a bboard message).
  • Execute the page (e.g. actually delete a bboard message and charge the user for it).
  • Go to admin pages, member value. Look at all charges. Your charge shows up there.
  • Now accumulate enough charges, so that you surpass expensive threshold value defined in parameters file. Once you do your name should show up in the expensive members list.
  • Go to and click on a member. this should bring you to page on this page charge member for 20. after you click the add button, this charge should show up on the list of charges.
  • On credit the member with enough money (specify negative value in the amount field), so that his overall value is bellow expensive threshold. visit expensive members page again -- the member shouldn't be shown now on the expensive members list.
  • Make sure you switch the parameter off again after testing.
  • If you stumble across an error on other pages related to member value, please inform the module owner, as he has no clue where the calls to member value are and will be used, as this is and will be the responsibility of every single module owner (this being a meta system).

Education Module

  • Go to /admin/education/ and create a new department.
  • Go to the admin page of your new department.
  • Add a user to the deparment.
  • Add a subject to the department.
  • Go to the admin page for the subject.
  • Add a class under the subject.
  • Go to the class's admin page.
  • Upload a syllabus.
  • Add an assignment.
  • Add lecture notes.
  • Go to the permissions page and make sure that there are values under the roles (e.g. where it says Singular and Plural, there should be four roles there). If there are not, then the trigger that creates those roles were not created properly.


  • Add one each of: logbook entry, software module, procedure, service, host, certificate, domain
  • From /glassroom, 'view' each entry by clicking on it's entry in each section (i.e. logbook, software modules, etc.) You should have a successful view of each page, then just back arrow to /glassroom.
  • There is no /admin/glassroom section, and no delete function, so go into sqlplus and delete the entries from the glassroom tables.

Robot Detection

In order to test the Robot Detection package, we need to be able to request URLs from the site with a User-Agent that is listed in the robots table and see for ourselves that the results are as expected.

The simplest approach to testing this is to add a FilterPattern into the [ns/server/yourservername/acs/robot-detection] section of the parameters file and to add a record into robots that matches a web browser program and use that browser to access the site. The following SQL works for Microsoft Internet Explorer 4.01 on Windows NT:

insert into robots(robot_id, robot_name, robot_details_url, robot_useragent)
values('msie4', 'Microsoft Internet Explorer 4.0 (for testing purposes only)',
'', 'Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)');
Just be sure to delete this row when you go into production!