Oct. 25, 1995: ThoughtsWeaver (q.v.) is an extension of the WikiWikiWeb, which is used inside AT&T. This page describes some of the differences between ThoughtsWeaver and the WikiWikiWeb. '''Line Escape''': Sometimes, we want bullet lists to continue through several lines of output. WikiWikiWeb currently requires all of a bullet list item to be on a single line. That makes the source difficult to edit. Therefore: Allow escaped newlines in the UN*X tradition. A backslash at the end of the line causes the next line to be joined to the end of the current line, separated by whitespace. '''HTML Escape''': Sometimes, you'd like to use an HTML feature in WikiWiki ''just this once''. You don't want to institutionalize every HTML facility in a high-level WikiWiki equivalent. On the other hand, you like to have an escape hatch when you really, really need it. One major addition to ThoughtsWeaver is an "expert user feature" that allows the author to insert raw text--including HTML--that makes it all the way to the renderer. Therefore: Individual text lines (lines as they appear in the EditText form) can be designated as ''literal lines''. An escape character (currently a vertical bar) must appear at the beginning of a literal line. I find that I use the feature rarely, but it's nice to have it. '''Read-Only Flag''': Inexpert users get in trouble when editing literal lines. There are also some pages that contain information on which all users depend, and many of these pages contain policy information which users should not want or need to change. However, some of these pages--like RecentChanges--are updated by "magic tools" on a periodic basis. These pages could be protected using UN*X file system modes, but that would make the automatic updates clumsy. Therefore: the database contains flags for each page that control whether the page can be edited. The flag is part of the page itself, whose rendering is controlled by the Translator (see MoreAboutTheTranslator). What happens when there are errors on read-only pages? How do users know who to contact to change them? Also, who have permissions to set read-only flags? -- ChuckSmith '''Read-Only Info Link''': Users shouldn't worry about the flags for a page unless they want to do something to the page that relates to the flags. We could slap the user every time the user selected EditText for a Readonly page, but that would rightly frustrate the user. We could add a "Readonly" annotation, but that would confuse the semantics of the EditText button. Therefore: replace the EditText line with a ProtectedPage line which, when selected, describes protected pages. Users will find out about protected pages when they take actions analogous to editing. '''Cross-Instances References:''' We have several ThoughtsWeaver instances running. One can cross-reference between these instances (or between ThoughtsWeaver and WikiWiki) using a time-honored notation: this page might be WikiWiki!ThoughtsWeaverAdditions, while I could as well refer to OrgPatterns!RecentChanges as distinct from WikiWiki!RecentChanges or NatureOfOrder!RecentChanges. ---- June 1, 1996: '''PageChangeNotification:''' Some users are particularly interested in following threads that are anchored on TopicalStartingPoint pages within the WikiWiki instance. There are many such pages in a single instance. RecentChanges flags modifications to these pages, but it's sometimes awkward to rely on RecentChanges to keep up-to-date. You need to poll RecentChanges as often as you want to keep up with the most pressing issues; that can add up to a lot of RecentChanges page visits per day. Also, you may be interested in changes on several different WikiWiki instances (we have about a half dozen active instances here at Bell Labs), and that's a lot of pages to search. And it's hard to pick out your favorite pages from the RecentChanges list. Therefore: provide for centralized and/or asynchronous notification. Each user can RegisterInterest in one or more pages. You can tell ThoughtsWeaver to post the change at the bottom of another page, or you can tell it to send mail to a specific recipient. When the page changes, ThoughtsWeaver honors the notification request, either appending a notification message at the bottom of the indicated page, or sending mail to the notifiant, or both, as requested. As a result, you can set up topical RecentChanges pages that mirror TopicalStartingPoint pages. Both these pages are owned by the community as a whole, but take on de facto shepherds. ---- This sounds really cool. Is there someone that I could take a look at it in action, or pull down a copy to run? - Laird Here's a link to a ThoughtsWeaver instance at Lucent: http://www.bell-labs.com/cgi-user/OrgPatterns/OrgPatterns?ArchitecturalStyle (BrokenLink 2011/1/10, page last edited here 2001/2/12) Cross-Instance References are discussed in FederatedWiki. ----- See also: WikiMarkupLanguage