*** empty log message ***

This commit is contained in:
Eric J. Bowersox
2001-01-31 20:48:40 +00:00
commit 1e555d4dc2
34 changed files with 2059 additions and 0 deletions

BIN
doc/buttons/bn_blank80.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
doc/buttons/bn_delete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
doc/buttons/bn_go.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
doc/buttons/bn_hide.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
doc/buttons/bn_preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
doc/buttons/bn_save.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
doc/buttons/bn_scribble.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

366
doc/categorization.txt Normal file
View File

@@ -0,0 +1,366 @@
CATEGORY SYSTEM FOR VENICE SIGS
(Based on the Mozilla Open Directory Project category system)
Arts
Animation
Antiques -> Recreation:Antiques
Architecture
Art History
Body Art
Celebrities
Comics
Crafts
Dance
Design
Education
Entertainment
Graphic Design
Humanities
Illustration
Literature
Movies
Music
Myths and Folktales
Native and Tribal
Performing Arts
Photography
Radio
Television
Theatre
Typography
Video
Visual Arts
Writing
Business
Accounting
Advertising
Aerospace
Agriculture and Forestry
Apparel
Arts and Entertainment
Associations
Aviation
Business Services
Classifieds -> Shopping:Classifieds
Computers
Consulting
Construction and Maintenance
Electronics
Employment
Energy and Utilities
Environmental and Safety
Financial Services
Food and Related Products
Insurance
Internet Services
Investing
Law -> Society:Law
Management
Manufacturing
Marketing
Mining and Drilling
Printing
Publishing
Real Estate
Retail
Security
Small Business
Taxes
Training and Schools
Telecommunications
Transportation
Venture Capital
Computers
CAD
Computer Science
Consultants
Data Communications
Desktop Publishing
Education
Ethics
Fonts
Games -> Games:Video Games
Graphics
Hacking
Hardware
History
Internet
Multimedia
Open Source
Operating Systems
Programming
Robotics
Security
Shopping
Software
Systems
Games
Board Games
Card Games
Coin-op Games
Collectible Card Games -> Games:Trading Cards
Dice Games
Fantasy Sports -> Sports:Fantasy
Gambling
Game Creation Systems
Game Design
Hand Games
Internet
Party Games
Puzzles
Retailers -> Shopping:Toys and Games
Roleplaying
Sports -> Sports
Tile Games
Trading Cards
Video Games
Yard and Deck Games
Health
Aging
Alternative Medicine
Beauty
Children's Health
Conditions and Diseases
Dentistry
Disabilities -> Society:Disabled
Education
Fitness
Health Insurance -> Business:Insurance
Medicine
Men's Health
Mental Health
Nursing
Nutrition
Occupational Health and Safety
Pharmacy
Public Health and Safety
Reproductive Health
Seniors' Health
Services
Substance Abuse
Teen Health
Women's Health
Home
Apartment Living
Cooking
Do-It-Yourself
Emergency Preparation
Entertaining
Family
Gardens
Home Improvement
Homemaking
Homeowners
Kids
Moving and Relocating
Nursery
Pets -> Recreation:Pets
Personal Finance
Personal Organization
Relatives
Rural Living
Shopping -> Shopping
Urban Living
News
Alternative Media
Columnists
Current Events
Magazines
Media
Newspapers
Online
Politics
Satire
Weather
Recreation
Air Hockey
Amateur Radio
Antiques
Audio
Autos
Aviation
Birdwatching
Boating
Bowling -> Sports:Bowling
Climbing
Collecting
Crafts -> Arts:Crafts
Drugs
Food and Drink
Games -> Games
Gardens -> Home:Gardens
Genealogy -> Society:Genealogy
Guns
Hot Air Ballooning
Humor
Kites
Knives
Living History
Martial Arts -> Sports:Martial Arts
Models
Motorcycles
Nudism
Outdoors
Parties
Pets
Roads and Highways
Scouting
Smoking
Sports -> Sports
Theme Parks
Trains and Railroads
Travel
Reference & Education
Alumni
Colleges and Universities
Continuing Education
Corporate Training -> Business:Training and Schools
Distance Learning
International
K through 12
Libraries
Museums
Special Education
Vocational Education
Regional
International
US
Science
Agriculture
Alternative Science
Astronomy
Biology
Chemistry
Earth Sciences
Environment
Mathematics
Physics
Science in Society
Social Siences
Space
Technology
Shopping
Antiques and Collectibles
Auctions
Books
Children
Classifieds
Clothing
Computers -> Computers:Shopping
Consumer Electronics
Crafts
Entertainment
Ethnic and Regional
Flowers
Food and Drink
Furniture
Gifts
Health and Beauty
Holidays
Home and Garden
Jewelry
Music
Niche
Office Products
Pets
Photography
Recreation and Hobbies
Religious
Sports
Tobacco
Tools
Toys and Games
Travel
Vehicles
Visual Arts
Weddings
Wholesale
Society
Activism
Advice
Crime
Death
Disabled
Ethnicity
Folklore
Future
Gay/Lesbian/Bisexual
Genealogy
Government
History
Holidays
Issues
Law
Lifestyle Choices
Military
Paranormal
People
Philosophy
Politics
Recovery and Support Groups
Relationships
Religion and Spirituality
Sexuality
Subcultures
Transgendered
Work
Sports
Archery
Badminton
Baseball
Basketball
Billiards
Boomerang
Bowling
Boxing
Cheerleading
Cricket
Croquet
Cycling
Darts
Equestrian
Extreme Sports
Fantasy
Fencing
Fishing
Flying Discs
Football
Golf
Greyhound Racing
Gymnastics
Handball
Hockey
Lacrosse
Laser Games
Lumberjack
Martial Arts
Motor Sports
Orienteering
Paintball
Racquetball
Rodeo
Roller Derby
Rope Skipping
Rugby
Running
Sailing
Shooting
Shopping -> Shopping:Sports
Skateboarding
Skating
Skiing
Sledding
Sled Dog Racing
Snowboarding
Soccer
Softball
Squash
Strength Sports
Table Tennis
Tennis
Track and Field
Volleyball
Walking
Water Sports
Winter Sports
Wrestling

64
doc/design-goals.html Normal file
View File

@@ -0,0 +1,64 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Doc: Design Goals for Venice Project</TITLE>
</HEAD>
<BODY>
<H1>Design Goals for the Venice Project</H1>
<EM>Eric J. Bowersox &lt;<A HREF="mailto:erbo@silcom.com">erbo@silcom.com</A>&gt; -
January 26, 2001</EM><P>
<OL>
<LI>A replacement for the CommunityWare/WebbMe conferencing system</LI>
<LI>Java/JSP/servlets implementation running under Apache Tomcat, MySQL backend</LI>
<LI>Multiple SIGs (communities) hosted per server, each with multiple conferences
(and other features); users logged into one server can join multiple SIGs</LI>
<LI>Conferencing functionality similar to CW/WebbMe:
<UL>
<LI>Linear topics composed of HTML messages</LI>
<LI>View topics by new messages/unread/all messages/hidden topics/archived topics</LI>
<LI>Topics can be deleted/archived/made read-only by the conference host</LI>
<LI>Topics can be hidden from a user's personal view</LI>
<LI>Individual posts can be "hidden" or "scribbled" by owner or conference host</LI>
<LI>Posts can be previewed, with spellchecking and HTML formatting</LI>
<LI>Files can be "attached" to posts (up to 1 Mb in size)</EM>
</UL>
</LI>
<LI>Enhancements to existing conference features:
<UL>
<LI>Full text search of posts within a conference</LI>
<LI>Conference-level "bozo filters"</LI>
<LI>Individual posts can be "nuked" without a trace by the conference host</LI>
</UL>
</LI>
<LI>Later, replace other CW/WebbMe functions:
<UL>
<LI>Activity logs</LI>
<LI>Instant messaging and chat (use Jabber)</LI>
<LI>Calendaring</LI>
<LI>Newsletters via e-mail</LI>
</UL>
</LI>
<LI>Features from CW/WebbMe we <EM>won't</EM> do:
<UL>
<LI>Web hosting</LI>
<LI>Web-based email</LI>
</UL>
</LI>
<LI>Blue sky features:
<UL>
<LI>Output uses XML and gets formatted into [X]HTML via XSLT; "themeable"/"skinnable" interface</LI>
<LI>Conferencing/other functionality available via XML-RPC or SOAP calls</LI>
<LI>News page creation (see Slash, Squishdot, Scoop)</LI>
<LI>Member trust metrics (see Slashdot "karma," Scoop "mojo," Advogato distributed trust metric)</LI>
<LI>User diary pages (see Advogato, Kuro5hin)</LI>
<LI>Moderated discussions (see Slash, Scoop)</LI>
<LI>Collaborative database facility (see Wiki, Everything2)</LI>
<LI>Content management/distributed publishing</LI>
</UL>
</LI>
</OL>
</BODY>
</HTML>

7
doc/graphic-notes.txt Normal file
View File

@@ -0,0 +1,7 @@
GRAPHIC NOTES
Buttons
-------
Standard button size - 80x24
Button background - Brushed metal (Golden gradient), 2-pixel Bevel edge
Button text - Helvetica Medium Narrow 12-point

46
doc/identifiers.html Normal file
View File

@@ -0,0 +1,46 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Doc: About Venice Identifiers</TITLE>
</HEAD>
<BODY>
<H1>About Venice Identifiers</H1>
<EM>Eric J. Bowersox &lt;<A HREF="mailto:erbo@silcom.com">erbo@silcom.com</A>&gt; -
January 26, 2001</EM><P>
Venice identifiers are used for user IDs, SIG aliases, and conference aliases (and maybe other unique
identifiers in the future). A valid Venice ID consists of characters from the following character set
only:
<UL>
<LI>Alphanumerics [A-Z, a-z, and 0-9]</LI>
<LI>Dash [-]</LI>
<LI>Underscore [_]</LI>
<LI>Tilde [~]</LI>
<LI>Asterisk [*]</LI>
<LI>Apostrophe [']</LI>
<LI>Dollar sign [$]</LI>
</UL><P>
All characters are represented in the ISO 8859-1 character set. Also note that all Venice identifiers
are case-insensitive.<P>
<B>Rationale</B><P>
The character set was defined starting with the list of characters allowable in URL path components
("pchar" as defined in RFC 2396, section 3.3, page 14), so that Venice IDs would be usable as "path
information" in a URL.<P>
The ampersand [&] was eliminated because of its possible confusion with a URL parameter separator, and
because it requires HTML escaping.<P>
The at sign [@] was eliminated because of possible confusion with email addresses and Jabber IDs.<P>
The plus sign [+] was eliminated because of possible confusion with a URL-encoded space character.<P>
The comma [,] was eliminated because of its possible interpretation as a separator character.<P>
The equals sign [=] was eliminated because of its possible confusion with a URL parameter/value
separator.<P>
The colon [:] was withheld to provide for a possible future "namespace" expansion (as in XML
namespaces).<P>
The parentheses [(, )] were eliminated because of possible confusion with user link syntax in
conferencing.<P>
The period [.] was eliminated because of possible confusion with post link syntax in conferencing.<P>
The exclamation point [!] was eliminated because of possible confusion with extended post link syntax in
conferencing.
</BODY>
</HTML>

29
doc/packages.txt Normal file
View File

@@ -0,0 +1,29 @@
JAVA PACKAGES USED BY VENICE SOURCE
com.silverwrist - All packages
com.silverwrist.util - Generic utility packages
com.silverwrist.venice - Venice-specific code
com.silverwrist.venice.core - Core Venice engine code
com.silverwrist.venice.core.impl - Venice engine code implementation
com.silverwrist.venice.db - Database-management code
com.silverwrist.venice.htmlc - OLD html checker
com.silverwrist.venice.htmlc.impl - OLD HTML checker
com.silverwrist.venice.htmlcheck - The HTML Checker (interfaces, etc.)
com.silverwrist.venice.htmlcheck.impl - HTML checker implementation
com.silverwrist.venice.htmlcheck.filters - Standard filters
com.silverwrist.venice.security - Security management and data
com.silverwrist.venice.servlets - Java servlets at the top level
com.silverwrist.venice.servlets.format - HTML output formatter

179
doc/security-levels.html Normal file
View File

@@ -0,0 +1,179 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Doc: Security Levels in Venice</TITLE>
</HEAD>
<BODY>
<H1>Security Levels in Venice</H1>
<EM>Eric J. Bowersox &lt;<A HREF="mailto:erbo@silcom.com">erbo@silcom.com</A>&gt; -
January 26, 2001</EM><P>
The security level system in Venice is based on a concept of "levels" represented by small 16-bit
integers. A number of different security "scope" values are defined, each with a "low band" and a
"high band" range of values, defined such that, for any scope level <EM>n</EM> (<EM>n</EM>&gt;=0),
the "low band" range for scope <EM>n</EM>+1 is immediately adjacent to, but greater than, the "low
band" range for scope <EM>n</EM>, and the "high band" range for scope <EM>n</EM>+1 is immediately
adjacent to, but less than, the "high band" range for scope <EM>n</EM>. A table of scopes and their
ranges will help visualize this:<P>
<TABLE BORDER=1>
<TR VALIGN=MIDDLE>
<TH ALIGN=LEFT><B>Scope Level</B></TH>
<TH ALIGN=LEFT><B>"Low Band" Range</B></TH>
<TH ALIGN=LEFT><B>"High Band" Range</B></TH>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>0</TD>
<TD ALIGN=LEFT>0-1999</TD>
<TD ALIGN=LEFT>63000-64999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>1</TD>
<TD ALIGN=LEFT>2000-3999</TD>
<TD ALIGN=LEFT>61000-62999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>2</TD>
<TD ALIGN=LEFT>4000-5999</TD>
<TD ALIGN=LEFT>59000-60999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>3</TD>
<TD ALIGN=LEFT>6000-7999</TD>
<TD ALIGN=LEFT>57000-58999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>4</TD>
<TD ALIGN=LEFT>8000-9999</TD>
<TD ALIGN=LEFT>55000-56999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>5</TD>
<TD ALIGN=LEFT>10000-11999</TD>
<TD ALIGN=LEFT>53000-54999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>6</TD>
<TD ALIGN=LEFT>12000-13999</TD>
<TD ALIGN=LEFT>51000-52999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>7</TD>
<TD ALIGN=LEFT>14000-15999</TD>
<TD ALIGN=LEFT>49000-50999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>8</TD>
<TD ALIGN=LEFT>16000-17999</TD>
<TD ALIGN=LEFT>47000-48999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>9</TD>
<TD ALIGN=LEFT>18000-19999</TD>
<TD ALIGN=LEFT>45000-46999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>10</TD>
<TD ALIGN=LEFT>20000-21999</TD>
<TD ALIGN=LEFT>43000-44999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>11</TD>
<TD ALIGN=LEFT>22000-23999</TD>
<TD ALIGN=LEFT>41000-42999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>12</TD>
<TD ALIGN=LEFT>24000-25999</TD>
<TD ALIGN=LEFT>39000-40999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>13</TD>
<TD ALIGN=LEFT>26000-27999</TD>
<TD ALIGN=LEFT>37000-38999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>14</TD>
<TD ALIGN=LEFT>28000-29999</TD>
<TD ALIGN=LEFT>35000-36999</TD>
</TR>
<TR VALIGN=MIDDLE>
<TD ALIGN=LEFT>15</TD>
<TD ALIGN=LEFT>30000-31999</TD>
<TD ALIGN=LEFT>33000-34999</TD>
</TR>
</TABLE>
Within each scope level, a "low band" security level refers to an ordinary user at that scope, and a
"high band" security level refers to someone who exercises administrative control over that scope
(and therefore all scopes greater than or "inside" it). Objects which are logically "enclosed" by
other objects have a higher scope value; for instance, a conference would have a higher scope value
than a SIG, which in turn would have a higher scope value than 0 (the "global" scope).<P>
The values 65000-65535 are not used, except that the value 65500 is defined as "no access" (something
not even the global system administrator can touch). Neither are the values 32000-32999, except that
the value 32500 is defined as "unrestricted user" (lying above the low bands of all scopes but below
the high bands of any of them).<P>
Within the "global scope" (scope 0), the following values are defined:
<UL>
<LI>100 - User that has not logged in ("Anonymous Honyak")</LI>
<LI>500 - User that has logged in, but email address is unverified</LI>
<LI>1000 - User logged in and verified (normal user level)</LI>
<LI>64000 - Assistant administrator accounts ("PFY" level)</LI>
<LI>64999 - Global system administrator ("BOFH" level)</LI>
</UL><P>
SIGs use the scope level 3; the following values are defined within that scope:
<UL>
<LI>6500 - SIG member</LI>
<LI>58000 - SIG co-host</LI>
<LI>58500 - SIG host</LI>
</UL><P>
Within SIGs, conferences use scope 6; the following values are defined within that scope:
<UL>
<LI>12500 - Conference member (for private conferences)</LI>
<LI>52500 - Conference host</LI>
</UL><P>
Each user has a "base access" level, within scope 0, that is stored in the "users" table. Each SIG
has four defined access levels associated with it:
<UL>
<LI><B>Read level</B> - minimum access level required to read the SIG's data. This is commonly 6500
(must be a member) but may be lower for special cases.</LI>
<LI><B>Write level</B> - minimum access level required to write the SIG's data. Since this refers to
the SIG itself, this is commonly 58000 (hosts/co-hosts only)</LI>
<LI><B>Create level</B> - minimum access level required to create new objects in the SIG. Typically
58000 (hosts/co-hosts only).</LI>
<LI><B>Delete level</B> - minimum access level required to delete the SIG. Typically 58500 (host
only).</LI>
</UL><P>
The "sigmember" table maps UIDs to SIGIDs, adding a "granted level" field that specifies a given user's
access level within the SIG itself. (If a user already has a higher access level than the "granted"
access level, as in the case of the global sysadmin, the higher level takes precedence.) Note that
this level grant is within the context of <EM>that SIG only,</EM> and does not affect access privileges
to any other SIG.<P>
Each conference has seven defined access levels associated with it:
<UL>
<LI><B>Read level</B> - minimum access level required to read the posts. Commonly 6500 (member of
community) for public confs, 12500 (conference member) for private confs.</LI>
<LI><B>Post level</B> - minimum access level required to post new messages. Commonly 6500 (member of
community) for public confs, 12500 (member of conference) for private confs.</LI>
<LI><B>Create level</B> - minimum access level required to create new topics. Commonly 6500 (member
of community) for public confs, 12500 (member of conference) for private confs.</LI>
<LI><B>Hide level</B> - minimum access level required to archive topics, or hide posts of which you
are not the owner. Commonly 52500 (conference hosts only).</LI>
<LI><B>Nuke level</B> - minimum access level required to scribble posts of which you are not the
owner, to nuke posts, or to delete topics. Commonly 52500 (conference hosts only).</LI>
<LI><B>Change level</B> - minimum access level required to change the conference's profile or
membership list. Commonly 52500 (conference hosts only).</LI>
<LI><B>Delete level</B> - minimum access level required to delete the conference. Commonly 58000
(hosts/cohosts of the enclosing SIG only).</LI>
</UL><P>
As with SIGs, there is a "confmember" table that maps UIDs to CONFIDs, adding a "granted level" field
that grants additional access privileges. (There is also a field in the table that maps conferences
into SIGs that allows a SIG to grant its users additional privileges within a conference. Normally,
this field is 0, and so it "drops out" of the calculation of access levels.) Note that, if a user has
no membership entry for a conference, the entry for the conference's enclosing SIG takes precedence,
or the base level if there is no entry in any enclosing SIG. Also note that a grant of level for a
conference or SIG only applies with respect to <EM>that</EM> conference or SIG, not any other.<P>
Additional scopes and levels will be defined for additional objects as they are added to Venice.<P>
</BODY>
</HTML>

BIN
doc/tag_new.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

BIN
doc/venice-banner.xcf Normal file

Binary file not shown.