Printable Version of this PageHome PageRecent ChangesSearchSign In

AniAniWeb Help Guide

About AniAniWeb

An AniAniWeb (Ani for short) is a collaborative home page; while this home page clearly belongs to someone, there are areas that visitors can edit and contribute to. "Aniani" means mirror in Hawaiian Creole. If a regular static home page can be compared to a self portrait, an Ani is more akin to a reflection in a mirror. It is dynamic and there are often interesting things happening in the background which are independent of the individual looking in the mirror.

Consider yourself a guest in someone's virtual home. If you behave yourself badly, the owner might not be so keen to allow guests in the future.

AniAniWeb is implemented in Squeak, a Smalltalk with a liberal license. It was inspired by Ward Cunningham's WikiWikiWeb. AniAniWeb was created as a research project by Jochen "Je77" Rick of Mark Guzdial's Collaborative Software Laboratory at Georgia Institute of Technology.

Editing Rules

AniAniWeb has its own simple editing rules. To link to a page, surround the page's title by '*'s (i.e. '*My Page*'); if the page does not already exist, a create button appears next to the new title; click on it to create the new page. The extensive list below documents all the editing features; these features are meant to enhance your use, but you do not need them to get started.

Plug-ins

Plug-in tags allow you to include special features in your AniAniWeb page. The tags and attributes are processed like HTML tags (attributes and tag names are case insensitive). The file and image tags allows you to reference uploaded files. The gallery tag allows you to more easily create an image gallery. The changes tag inlines the recent changes to the site. The calendar tag embeds a calendar with dates linking to pages. The blog tag embeds the calendar entries into a page. The graph and vote tags create graphs tabulating the votes of visitors. The rss tag embeds information from another site published through really simple syndication. The since and until tags embed a measurement of time. The siteMap tag embeds a site map, based on the page hierarchy. The text tag allows you to change the text displayed based on the access control of the user.

<?file?>This tag allows you to embed a reference to an uploaded file in your page.
 Required Attribute
src specifies the name of the uploaded file to reference.
 Optional Attributes
alt specifies the text of the reference. By default, this is the file name.
page (a positive integer) specifies the page to look for this upload. By default, this is the page of the reference. If the plug-in cannot find the file on the page level, it looks for it on the site level.
 Example
<?file src="myUploadFileName" alt="Alternative Text" page=7?>
This will produce a link to the file myUploadFileName on page 7. The link will show up in the page as "Alternative Text."
<?image?>This tag is similar to the <?file?> tag above, except that it is used specifically for image (GIF, JPEG, or PNG) files. When referenced with the image tag, the uploaded image is in-lined in the page.
 Required Attribute
src specifies the name of the image file to in-line.
 Optional Attributes
alt specifies the ALT text of the image, used by blind people. This is also the text that appears when you hover over the image with your mouse.
page (a positive integer) specifies the page to look for this image. By default, this is the page of the reference. If the plug-in cannot find the image on the page level, it looks for it on the site level.
linkToPage (a positive integer) specifies the page that the image links to.
width (a positive integer) indicates the maximum width of this image reference.
height (a positive integer) indicates the maximum height of this image reference.
space (a positive integer) indicates the amount of space around the image reference. By default, it is 0.
border (a positive integer) indicates the border width of the image reference. By default, it is 0.
align (bottom | middle | top | left | right) indicates where the image should appear on the screen.
 Example
<?image src="myUploadImageName" width=120 linkToPage=7?>
This will in-line the uploaded image into the page. If the image is wider than 120 pixels, the in-lined image will be scaled down to 120 pixels, preserving its aspect ratio. When you click on the image, it will take you to page 7.
<?gallery?>This tag allows users to create an image gallery. Where the tag is embedded, an interface allows users to upload images to the gallery. If the user cannot upload files, the interface remains hidden.
 Optional Attributes
times (a positive integer) specifies the number of uploads the interface allows you to make at once.
width (a positive integer) indicates the maximum width of the embedded image references.
height (a positive integer) indicates the maximum height of the embedded image references.
space (a positive integer) indicates the amount of space around the image references.
border (a positive integer) indicates the border width of the image references.
 Example
<?gallery times=4 height=120 space=10?>
This will embed an image gallery interface that allows you to add four images at one time. The image references will be scaled to be 120 pixels high and they will have 10 pixels of space between them.
<?changes?>This tag allows you to embed a table of recently changed pages in a page.
 Optional Attributes
max indicates the maximum number of pages that should be listed. The default value is 30 pages.
min indicates the minimum number of pages that should be listed. The default value is 5 pages.
days indicates the number of days that should be listed, given the maximum and minimum restrictions. The default value is 8 days.
noUser is a flag that indicates that the user who last edited that page should not be shown in the table.
noTime is a flag that indicates that the time the page was last edited should not be shown in the table.
noDate is a flag that indicates that the date the page was last edited should not be shown in the table.
 Example
<?changes min=2 noUser noTime?>
This will create a table of recent changes that lists the page title and the date it was last edited (the user and time will not be displayed). At minimum, 2 entries will be listed.
<?calendar?>This tag allows you to embed a calendar in your page. From there, pages can be created for any day; the calendar will mark which days have pages.
 Optional Attributes
month (a positive integer from 1 to 12) indicates the month the calendar shows. On default, the month used is the current month.
year (a positive integer, such as 2003) indicates the year the calendar shows. On default, the year used is the current year.
prefix can be any piece of text (for example, "Schedule: "). When page entries are created from the calendar, the prefix will come before the date in the page's title (for example, "Schedule: 8 June 2003").
postfix can be any piece of text (for example, " - schedule"). When page entries are created from the calendar, the postfix will come after the date in the page's title (for example, "8 June 2003 - schedule").
 Example
<?calendar month=6 year=2003 prefix="Schedule: "?>
This will produce a calendar for June, 2003. All page entries will begin with the "Schedule: " prefix (and no postfix).
<?blog?>This tag allows you to do web-logging (or blogging). You can use the <?calendar?> plug-in (above) to create page entries for specific dates. This tag will then embed the matching entries into a page.
 Optional Attributes
max (a positive integer) indicates the maximum number of pages that should be embedded. The default value is 7 pages.
min (a positive integer) indicates the minimum number of pages that should be embedded. The default value is 2 pages.
days (a positive integer) indicates the maximim number of days to go back from today to look for pages to embed, given the maximum and minimum restrictions. The default value is 14 days.
prefix can be any piece of text (for example, "Schedule: "). This should match with the prefix of the <?calendar?> plug-in.
postfix can be any piece of text (for example, " - schedule"). This should match with the postfix of the <?calendar?> plug-in.
 Example
<?blog prefix="Schedule: "?>
This will produce a blog embedding dated pages, whose title matches the "Schedule: " prefix and no postfix. This blog corresponds to the <?calendar?> plug-in example (above).
<?graph?>This tag embeds a bar graph, showing the number of votes cast for particular choices. To specify which choices are listed, see the <?vote?> plug-in below (note: no graph will be shown unless there are corresponding <?vote?> tags somewhere on the site).
 Required Attribute
name is a piece of text that specifies the name of the graph.
 Example
<?graph name="The Muffin Joke"?>
This will create a bar graph, displaying the number of votes cast for particular choices for the "The Muffin Joke" graph.
<?vote?>This tag allows you to embed a button that allows visitors to that page to place a vote for a certain graph; this vote will be reflected in the corresponding graph (see <?graph?> above).
 Required Attributes
A vote tag can either have a value attribute or both a to and a from attribute. In either case, the vote tag needs a graph attribute.
graph is a piece of text that specifies the graph to which the vote is registered.
value is a piece of text that specifies the value of the vote. If this is specified (instead of to and from), the tag will be transformed into a simple button that will transmit a vote for this value.
to and from specifies a numerical range for the vote. If this is specified (instead of value), the tag will be transformed into a drop-down box and a submit button, which the visitor can use to submit a numerical vote.
 Optional Attributes
label is a piece of text that is used to change the label of the button.
page indicates the page number that the voter should be directed to after submitting their vote.
 Examples
<?vote graph="The Muffin Joke" value="Funny" label="The Joke was Funny"?>
This will create a button, labeled "The Joke was Funny." When the button is pressed, a vote for "Funny" will be added to the "The Muffin Joke" graph.
<?vote graph="The Muffin Joke" from=5 to=1 label="stars" page=4?>
This will create a drop down list from 5 (at the top) to 1 (at the bottom) and a submit button, labeled "stars." When the submit button is pressed, a vote will be added to the "The Muffin Joke" graph. After submitting the vote, the voter will be transferred to page 4 (/myAni/4).
<?rss?>This tag allows you to embed an RSS (Really Simple Syndication) feed in your page.
 Required Attribute
src is the URL of the RSS feed.
 Optional Attributes
max indicates the maximum number of entries that should be listed. By default, all entries in the feed will be listed.
expire (a positive integer) indicates in how many hours a cached version of the RSS feed will expire. By default, it will expire in 12 hours.
 Example
<?rss src="http://rss.slashdot.org/Slashdot/slashdot" expires=1 max=5?>
This will embed a table with 5 entries from the Slashdot RSS feed. The cached version will be replaced every hour.
<?since?>This tag embeds the time since a certain date.
 Required Attribute
date can be specified in one of three formats: 5 April 1982 or April 5, 1982 or 4/5/82.
 Optional Attribute
format indicates what format the period of time should be listed in: yd will produce "m years and n days"; dy will produce "m days and n years"; d will produce "m days"; y will produce "m years"; and adj will produce the year as an adjective "mth". The default value is yd.
 Example
<?since date="1 January 1980" format="y"?>
This will produce how many years have gone by since the begin of the 80s.
<?until?>This tag embeds the time until a certain date.
 Required Attribute
date can be specified in one of three formats: 5 April 1982 or April 5, 1982 or 4/5/82.
 Optional Attribute
format indicates what format the period of time should be listed in: yd will produce "m years and n days"; dy will produce "m days and n years"; d will produce "m days"; and y will produce "m years". The default value is yd.
 Example
<?since date="1 January 2100" format="d"?>
This will produce how many days until the next century begins.
<?siteMap?>This tag allows you to embed a hierarchical listing of the pages on this site.
 Optional Attribute
depth indicates the numerical depth (minimum of 1) that should be shown.
<?text?>This tag allows you to change a small bit of text, so that user who can edit a page see one value (private), while users who can only view the page will see another (public). This can be used for things like obscuring your e-mail addresses, so bots will not cache it.
 Required Attributes
private is the text that people who can edit the page will see.
public is the text that others will see.