Showing 1 - 10 of 828 Postings (summary
Created by Gustaf Neumann, last modified by Antonio Pisano 22 Sep 2016, at 05:06 AM
XoWiki Content Flow - an XoWiki based workflow system implementing state-based behavior of wiki pages and forms
- A two-chambers legislative process, loosely based on the Italian one. A law proposal is submitted to the first chamber, then passed to the second one. The text keeps being passed between the two chambers until no amendments (changes) are made. Once this condition is met, the law is approved. Workflow example of a legislative process
Package specification Summary for package xowf
||XoWiki Content Flow - an XoWiki based workflow system implementing state-based behavior of wiki pages and forms
|This package depends on:
|Packages that depend on xowf:
Bug Tracker Summary for package xowf
There is no package with the name "xowf" known to bug-tracker.
Code Metrics Summary for package xowf
|# Tcl Procs
|# Tcl Lines
|# Automated Tests
|# Stored Procedures
||PG: 0 ORA: 0
|# SQL Lines
||PG: 0 ORA: 0
|# ADP pages
|# ADP lines
|# Include pages (xowf/lib/)
|# Documentation pages
|# Documentation lines
xowf depends on xowiki.
Created by Gustaf Neumann, last modified by Gustaf Neumann 20 Sep 2016, at 02:06 PM
The probably easiest way to upgrade between PostgreSQL versions is as follows (described here from 9.4 to 9.5, based on the directory structure as provided by Mac Ports)
# Dump all databases from pg 9.4
sudo -u postgres $PGBIN/pg_dumpall | gzip -9 > ~/pg-dump-all-$DATE.gz
Then stop pg 9.4, start pg 9.5, then reload the dump:
# Restore all databases and roles from dump into pg 9.5
gunzip < ~/pg-dump-all-$DATE.gz | $PGBIN/psql -U postgres
voilà, start OpenACS, and everything works fine.
In case there is a problem with restoring the dump in PostgreSQL 9.5 due to the "=>" operator of hstore, one has to update the version of hstore at least to 1.1 before dump/restore (the current version of hstore is 1.4; for details see hstore-upgrade ).
In case, you want to upgrade your legacy OpenACS installation from PostgreSQL 8.* to 9, read upgrade-oacs-5-8.
Created by Antonio Pisano, last modified by Antonio Pisano 19 Sep 2016, at 02:10 PM
Created by Dave Bauer, last modified by Gustaf Neumann 13 Sep 2016, at 10:38 AM
Development is taking place in the oacs-5.9 branch.
OpenACS Version 5.9.1 agenda/wish list
- Refactoring of rich-text editor integration
- Driving force: Debian packaging
- we have now the new packages
- Further cleanup of .xql files (like what as done for acs-subsite in 5.9.0)
- so far, 36 files deleted
- removed more than 100 obsolete named queries
- stripped misleading SQL statements
- Mark redundant / uncalled sql functions as deprecated
- Remove type discrepancy introduced in 2002:
- acs_object_types.object_type has type varchar(1000), while
- acs_object_types.supertype has type varchar(100)
- ... several more data types are involved, using acs_object_types.object_type as foreign key
- Replace usages of obsolete view "all_object_party_privilege_map" by "acs_object_party_privilege_map"
- Simplify core sql functions by using defaults
- Number of functions reduced by a factor of 2 compared to OpenACS 5.9.0 (while providing compatibility for clients using old versions),
- reduced code redundancy
- Affected functions:
- reduced content_item__new from 12 versions to 6,
- reduce content_revision__new from 7 to 4
- similar in image__new, image__new_revision, content_item__copy, content_item__get_title, content_item__move
- PG 9.5 supports named parameter in the same syntax as in Oracle. Further reduction of variants will be possible, once OpenACS requires at least pg 9.5
- Modernize SQL
- use real Boolean types instead of character(1)
(done for new-portal, forums, faq, attachments, categories, dotlrn, dotlrn-forums, evaluation)
- use real enumeration types rather than check constraints (done for storage type text/file/lob)
- CR hygienics (reduce cr bloat)
- Provide means to avoid insert/update/delete operations in the search queue: OpenACS adds for every new revision often multiple entries to the search_queue, without providing any means to prevent this. This requires for busy sites very short intervals between queue sweeps (otherwise too many entries pile up). Another consequence is that this behavior keeps the PostgreSQL auto-vacuum daemons permanently active. Many of these operations are useless in cases where the content repository is used for content that should not be provided via search. The changed behavior should honors a publish-date set to the future, since it will not add any content with future publish dates to the search-queue.
- Insert into cr_child_rels just when needed. cr_child_rels provide only little benefit (allow to use roles in a child-rel), but the common operation is a well available in cr_items via the parent_id. cr_child_rels do not help for recursive queries either. One option would be to add an additional argument for content_item__new to omit child-rel creation (default is old behavior) and adapt the other cases.
- Security improvements:
- improve protection against XSS and SQL-injection
- add support against CSRF (cross site request forgery)
- support for W3C "Upgrade-Insecure-Headers" (see https://www.w3.org/TR/upgrade-insecure-requests/)
- support for W3C "Subresource Integrity" (SRI; see https://www.w3.org/TR/SRI/)
- support for W3C "Content Security Policy" (CSP; see https://www.w3.org/TR/CSP/)
- Finalize cleanup of permissions:
- Get rid of acs_object_context_index (and therefore on acs_object_party_privilege_map as well) on PostgreSQL
- huge table,
- expensive maintenance, used only in a few places,
- used as well by Oracle (effort has to be determined)
- Data bloat hygiene:
- rethink package parameter and portlet parameter data models
- registry for .js and .css libaries: allow besides classical urls symbolic names for loading external resources (e.g. jquery), this would make it easier to upgrade libraries in multiple packages (without running into problems with duplicate versions) or switching between CDN and local paths
- say farewell to CVS
OpenACS Version 5.9.0 Agenda
- Slimming pg SQL core:
- Part 1: improve performance of object deletion
- remove manual delete operations from acs_object__delete()
- Part 2: content-repository - manual referential integrity management
- handle referential integrity via pg's integrity constraints rather by functions cr_revision_del_ri_tr, cr_revision_ins_ri_tr, cr_revision_up_ri_tr, cr_revision_del_rev_ri_tr, and cr_revision_del_rev_ri_tr
- fix broken/missing upgrade scripts from earlier updates
- Part 3: content-repository - manual deletions and nulling
- Removed manual nulling of live_revision and latest_revision
- Removed manual deletion of old_revision and new_revision in cr_item_publish_audit
- Removed manual deletion of item_id in cr_item_publish_audit, cr_release_periods, cr_item_template_map, and cr_item_keyword_map
- Removed manual deletion of direct permissions
- Added missing index for child_id to cr_child_rels.
- Part 4: get rid of tree_sortkey in acs-objects
- Check/fix dependencies in oacs-5-8 packages
- Get rid of broken/uncalled functions using the column
- Check/fix dependencies in other packages
- Remove tree_sortkey and max_child_sortkey
- Web interface:
- Improve client performance
- moving core.js from head to body
- provide kernel parameter to control expiration date for /resources/
- Protect against more XSS attacks
- Improved HTML validity (see oacs-5-9-html-validity for the checklist)
- Add lightweight support for ckeditor4 for templating::richtext widget (configurable via package parameter "RichTextEditor" of acs-templating. ckeditor4 supports mobile devices (such as iPad, ...).
- New kernel parameter ResourcesExpireInterval to control expiration dates of resources
- Improve theme-ability
- Move more information into theme packages in order to create responsive designs
- Reduce hard-coding of paths, HTML etc.
- Dimensional slider reform (ad_dimensional):
- Remove hard-coded table layout from dimensional slider
- Add backwards compatible templates
- Move hard-coded styles into theme styling
- Remove obsolete comments from ad_dimensional
- Complete template variable controls (adding noi18n, addressing bug #2692):
- @foo@: perform html quoting and internationalization
- @foo;noquote@: perform internationalization
- @foo;noi18n@: perform html quoting
- @foo;literal@: perform neither html quoting nor internationalization
- Improved Russian nationalization
- Support of expiration dates and passwords for signed variables
- Use ACS templating for the (static) OpenACS documentation to provide a more consistent layout and user experience.
- Make pretty-naming of acs-core packages more consistent.
- Misc improvements:
- Mark unused functions of acs-tcl/tcl/table-display-procs.tcl as deprecated
- Reduce number of muxtex locks by pre-request and per-thread caching
- Improved development und debugging aids:
- use "ad_log error|warning .... " instead of "ns_log" to include information of request and callstack in error.log
- ability to display ns_log entries caused by a request in ds-footer
- ability to save delivered web pages in file-system for testing HTML validity (especially for admin pages, which are unaccessible for external validity testers)
- More bug fixes
- Version numbers:
* require PG 9.0 (End Of Life of PostgreSQL 8.4 was July 2014)
* require XOTcl 2.0 (presented at the Tcl conference in 2011).
OpenACS Version 5.8 Agenda
- PostgreSQL 9.2+:
- Get rid of nonstandard backslash escapes in function definitions
- Change quote syntax in sql files (single quotes around the functions) to recommended PostgreSQL quoting using (recommended since pg8.0, jan 2005). li>Drop aliases in favor of named function arguments (recommended since pg8.0)
- Fix wrong function_args, add missing function_args, align default semantics with the defaults in pg (providing "null" as default means the argument is optional)
- Make OpenACS loadable without any tweaks in the pg config files
- Use recursive queries for e.g. permission lookup to avoid performance problems in pg 8.4 and newer)
- ADP: Use byte-compiled function wherever possible in compiled adp-code, support "@var;literal@" when neither quotes nor localization is needed in compiled adp-code
- Improve support of NaviServer
- Switch to Tcl 8.5 (TIP #143)
- Improve scalability: Reduce mutex-stress on util-memoize cache and for cache maintenance in general
- Code cleanup:
- Get rid of calls to deprecated code (e.g. ad_tables, ad_parameter, ... in acs-core and main packages)
- Improve awareness of usage of deprecated code (complain to error.log)
- Use Tcl 8.5 idioms
- cleanup of various http-client approaches and introduce a common implementation util::http::get and util::http::post; get rid of other usages, mark these as deprecated
- page-contracts: Perform checking of all ids in acs-core and main packages to improve error messages and to improve security
- OpenACS 5.8.1 should be released with main packages
OpenACS Version 5.7 Agenda
- Support for object management in core
- Postgresql 9.0
- TinyMCE update (fix for random JS injection issue, affecting Safari)
- Fix for "remember me" issue
OpenACS Version 5.6 Agenda
- global parameters
- package "embeds"
- fix search by package_id
- core works on Postgresql 8.4
OpenACS Version 5.5 Agenda
- DONE: Postgresql 8.3 support: especially regarding tsearch2
- DONE: acs-authentication:
- fix upgrade, add conditional logic into site wide tcl library so that you can login to perform the rest of the upgrade
- DONE: tinymce:
- upgrade to 3.1.1 + language packs
- HTML Strict cleanup
- create appropriate parameters for its config in acs-templating
- DONE: cleanup duplicated procs (bounce)
- review the parsing of bouncing messages (case user_id 0)
- DONE: rollout support
- Documentation improvements as discussed at the Guatemala conference:
- Make current openacs.org/test-doc source for static files included in the release and provide ease means to achieve this for the release manager
- DONE (CVS HEAD): Provide in XoWiki a prototype page similar to "book" without edit-buttons etc., using the new table of contents
- Update openacs.org/test-doc where necessary (incomplete list):
- DONE: Fix the page ordering for the higher chapters (the original document had no 3rd. level numbering)
- update pages in /test-doc which are more recent in openacs/xowiki
- bump version numbers of OpenACS, where appropriate (some places talk about openacs-5-0, others about openacs-5-1, oacs-5-2-3rc1 or 5-3)
- some version numbers of the required components are quite a mess. e.g. some parts say that Postgres 7.3 is required, some examples talks about postgres 7.4.7 and 8.2.4 in the same listing.
- also the dotlrn version numbers are old dotrln-2.0
- Tcl version numbers should be 8.4.19
- The install section for XOTcl is missing in II.3.4
- remove ChangeLog from documentation
- find some other prominent place for the ChangeLog
- Fix indenting in examples (e.g. in Rocael's robust web development framework)
- overthink Win2000 guidelines. There are the native compiled packages from Maurizio, including everything from postgres, xotcl ....
- It is desired to find a single person responsible for overworking the documentation, however, funding is unclear.
OpenACS Version 5.4 Agenda
- DONE: HTML Strict (openacs core)
- DONE: finish template::head (daveb)
- DONE: test acs-mail-lite (complex send)
- DONE: test notifications (complex send)
- DONE: new XinHA release, get rid of RTE & HTMLarea, test on Safari
- DONE: Form builder: add the ID attribute to the form tag
- DONE: acs-lang - keepLocalTranslationP to be removed
- DONE search and intermedia-driver: move intermedia specific stuff to its package
- DONE: acs-mail-lite - patch for mime::qp_encode bug
- Split Xinha and TinyMCE into seperate packages see: http://openacs.org/forums/message-view?message_id=2750958
- Usability ("my account" page)
- XHTML ?
- Testing and documentation for recording automated tests using the firefox plugin and the upload feature for it new in automated testing. Probably needs some polishing and should be talked to with Quest who are getting into this.
- Parameter Scope Patch http://openacs.org/bugtracker/openacs/patch?patch%5fnumber=845
- Remove obsolete master template stuff (default and site master template in openacs-4/www, acs-subsite's group-master, and related CSS and images). Probably in the version which follows 5.5 (probably 5.6). Also remove the compat master stuff at the same time.
Things to merge into this page
Old 5.0 Roadmap discussion
Roadmap discussion 1
[Ideas for Boston 2006 Future of OpenACS discussion]
My previous attempt at collaborative roadmap
A .LRN Roadmap
Another .LRN Roadmap discussion
What's on this page?
This page should include work that is planned on and has someone comitted to working on it.
Created by Gustaf Neumann, last modified by Gustaf Neumann 10 Sep 2016, at 10:27 AM
OpenACS (5.8) works with PostgreSQL 9.1 or newer out of the box, no special configurations in postgresql.conf are needed like with previous versions.
To work with PostgreSQL 9, one has to use an actual postgres driver:
OpenACS core + commonly used packages (search, forums, xowiki, ...) have been tested with PostgreSQL 9.2.4
For new installs, OpenACS 5.8 works without further considerations. When upgrading the database to PostgreSQL 9.*, one has to keep in mind, that not only the sql-install scripts have to be SQL 9.* compatible, but as well the update scripts (migration scripts). During the work for making OpenACS compatible with PostgreSQL 9.*, we did not update (all) of the migration scripts (e.g. kernel upgrades) of earlier versions, therefore one should run the upgrade scripts to OpenACS 5.7 with an PostgresSQL 8.* database.
Therefore, the following upgrade steps are recommended for upgrading from OpenACS 5.5 to 5.7 to OpenACS 5.8:
- For users of PostgreSQL versions earlier than 8.4: In case you run a version of OpenACS earlier than 5.5 then upgrade first your code to OpenACS 5.5 (oacs-5-5 branch from the CVS Repository), then dump your database and reload it into pg 8.4 (e.g. into pg 8.4.17, which is the oldest still supported version from postgres, end-of-life July 2014). Then continue with the next step below.
- For users of PostgreSQL version 8.4 (or newer before 9): Make sure, you are running Tcl 8.5, then get OpenACS 5.8.0 (or newer) and upgrade OpenACS and your used packages (e.g. via acs-admin/apm + "install packages"). Then dump the database and restore it in pg 9.*.
Created by Maurizio Martignano, last modified by Maurizio Martignano 05 Sep 2016, at 11:49 AM
Windows-OpenACS (vers. 3.1.6 - September 2016) is a Windows 64 port of OpenACS 5.9.0 and the latest snapshot of NaviServer and is available here.
This port installs and runs on the following systems:
- Windows 8.1,
- Windows 10,
- Windows Server 2012 R2, and
- Windows Server 2016 TP.
Created by Ryan Gallimore, last modified by Ryan Gallimore 16 Aug 2016, at 11:37 AM
OpenACS has a proven suite of collaboration tools that are in current use by nonprofits, educational institutions and commercial companies worldwide. Internationalization (I18n) is currently being completed by Heidelberg University. Building on the strength of OpenACS, this project can focus on making the tools work effectively for NGOs rather than tool creation. New features or feature enhancement will be developed when needed, but emphasis will be placed on using existing code and resources.
This project will customize the user interface and information architecture of existing OpenACS functionality to support multi-national grassroots communication. It will also create an easy to install version of OpenACS based on these customizations. Combined with enhanced and specific documentation it will make a very sophisticated multi-lingual community system available and accessible to XXX and other NGOs alike. Finally, the project will also create educational marketing material aimed at multi-national grassroots NGOs to make them aware of this new resource.
On-line collaboration typically uses a variety of tools. A well-constructed application uses them efficiently. The figure below was created for marketing purpose to educational institutions; nonetheless it is a good image for understanding existing and planned OpenACS functionalities.
Modularity is wonderful for quickly assembling exactly the application you need. Maintainability is enhanced in OpenACS when similar modules share the same basic functionality. Thus, from a more technical perspective OpenACS is a layered architecture with many packages that provide diverse functionality to end users; it relies on common underlying structural packages such as the content repository, notifications, date-time space, authentication, and context search. This structured approach allows the easy creation of specialized, yet unified, new functionality with a minimum of separate and new code.
OpenACS traces its roots back to Philip Greenspun, a Computer Science Professor at MIT, and his work on Photo.net starting in 1995 and Philip and Alex’s Guide to Web Publishing in 1998. The code base has always emphasized collaboration and management of geographically diverse online communities. The underlying engineering was supported by millions of dollars of venture capital spent on hiring PhDs in Computer Science from MIT, CalTech and other major universities across the Atlantic.
OpenACS has proven its durability and utility by surviving the death of its parent company (ArsDigita) to grow into a vibrant grassroots collection of independent consultants and small companies implementing diverse and complex web solutions around the globe for fun, philanthropy, and profit.
dotLRN is an application built on top of OpenACS specifically targeted for universities. A consortium lead by the Sloan School of Management at MIT and Heidelberg University has significantly improved enhanced OpenACS. In many ways this project will be philosophically modeled after dotLRN. It will create an application built on top of OpenACS that is specifically targeted to NGOs needing web based community tools in a multi-lingual environment.
This project will also build directly upon functionality implemented by dotLRN. Especially important for this project is the strong emphasis on groups, subgroups and distributed administration. In Learning Management Systems (LMS) it is very important that instructors have extensive control over membership, content and presentation. Designated XXX leaders will reuse this functionality extensively to allow the project to have self-managing geographically diverse and common-interest groups and subgroups that can be managed locally without extensive time commitment from the parent organization.
One goal of this project is to deliver a code base that has significant overlap with dotLRN. This is desirable from a sustainability and maintenance point of view because enhancements and bug fixes made to the dotLRN community will be available to the NGO community as well. OpenACS’ layered package system is designed to support this type of code reuse and make it possible to have specialized code easily segregated from customized code for enhanced maintainability.
Case studies on dotLRN can be found at: http://dotlrn.org/case-studies/
OpenACS is continually being improved, often in ways that will be useful to nonprofits and NGOs. Currently there is active development of the following features.
- E-Commerce G2
Although many of these features will not be immediately used in the XXX site, they will be vital for the future sustainability and expandability of this project, giving the project the ability to be quickly extended to meet the needs of a multitude of NGOs.
The product produced will be a custom installation of OpenACS that any OpenACS company or developer would be able to support. Currently, there are consultants and companies that provide support for OpenACS in the following countries: Australia, Belgium, Brazil, Canada Denmark, Finland, Germany, Guatemala, India, Israel, Italy, Netherlands, Norway, Philippines, Spain, Sweden, Switzerland, UK, US,.
OpenACS has strong and continuing support of standards that will enable this project and future extensions to share content and interoperate with other systems.
The Simple Object Access Protocol (SOAP) web services – a way to create widely distributed, complex applications that run over the Internet, has already been incorporated into some OpenACS packages and research is underway at the University of Sydney into further uses of Web Services.
OpenACS also includes a RSS Support Design Module to support the RDF Site Summary (RSS), an XML-based, lightweight multipurpose extensible metadata description and syndication format. RSS support positions OpenACS for future functionality requiring accepting and distributing syndicated news feeds and other RSS-compliant content.
The OpenACS WAP module supports the wireless access protocol (WAP), thus allowing easy deliver of content to WAP-enabled devices such as cell phones, PDAs, etc., as well as regular desktop browsers. In fact, the simplicity of the OpenACS interface means it is well suited for use on mobile clients.
OpenACS and its dotLRN consortium are committed to implementing the Sharable Content Object Reference Model (SCORM), Instructional Management System (IMS) and Open Knowledge Initiative (OKI) standards, all among the most widely used standards for learning object interoperability.
Created by Rocael Hernández Rizzardini, last modified by Caroline Meeks 16 Aug 2016, at 11:37 AM
.LRN Consortium: Membership Benefits
.LRN is, and aspires to continue to be, a serious platform for major organizations to commit to and build on, not simply a hobbyist project as many other more loosely-governed and managed efforts are. To this end, the health of the project depends on the coordination of its development and promotion. Even the legal existence of the consortium contributes to both of these things, by facilitating contracting and by signaling the seriousness of our enterprise. Members who contribute to funding these common efforts get a voice and a vote in where we go and how we get there. Specifically, members are eligible to serve on our Board of Directors and its various Committees. Members are entitled to private notice and consultation about major matters affecting the project before broader decisions and policies are announced.
Created by OpenACS community, last modified by Torben Brosten 16 Aug 2016, at 11:35 AM
The managing of OpenACS documentation has evolved through a few phases. This is a draft plan for the current phase that we are beginning. Please direct any comments about this plan to the OpenACS Development forum (or in context with the appropriate wiki page ;)
to write superb documentation, so that users, developers and administrators of OpenACS installations can enjoy working with and using the system (with fewer headaches! =)
API Documentation: there are no plans to move the API docs to XoWiki. That ought to remain as is.
DocBook docs at: http://openacs.org/doc/index.html
need significant work done.
Requirements is about setting specifications and milestones we can verify, and includes exploration of scenarios, use cases etc.
Here are documentation requirements for:
volunteers dedicated to regularly managing and updating the documentation
other volunteers who contribute arguably more valuable documentation less frequently (such as magazine articles ;) (and may need some assistance etc. to have their work fit into docs well.)
openacs.org website, including use of xowiki
open-source software, text editors, spell checkers, html code validators etc.
Approaches in docs management explored
Strategy is about creating an approach to doing work. It guides behavior and tactical decisions on the work effort.
Shape ongoing documentation efforts by using principles of continual improvement to re-engineer documentation production and management.
OpenACS documentation development is subject to the constraints of the software project development and release methods and cycles (the section called “Using CVS with OpenACS”). Essentially, all phases of work may be active to accommodate the asynchronous nature of multiple subprojects evolving by the efforts of a global base of participants with culturally diverse time references and scheduling idiosyncrasies.
The documentation strategy is to use project methods to involve others by collaborating or obtaining guidance or feedback (peer review) to distribute the workload and increase the overall value of output for the OpenACS project.
Work Breakdown Structure
Is about explicitly stating the way to implement the strategy as a set of milestones and the methods to use.
Status: this is a draft document, so there is no consensus on a WBS at this time. See en:Documentation_Project_Discussion for current activity.
This is where we measure how well this plan was implemented. Success is measured by A) verifying if the project has met the established goals and requirements, and B) reviewing for ongoing problem areas etc. Observations then help to modify the plan for the next documentation revision.
OpenACS follows verification through different means on different projects, but in all cases, the OpenACS community verifies the project as a success through feedback including bug reports, user and administrator comments, and code changes.
Related links and sources
Created by Benjamin Brink, last modified by Benjamin Brink 16 Aug 2016, at 10:50 AM
For the latest updates to this readme file, see: http://openacs.org/xowiki/q-wiki
The lastest version of the code is available at the development site: http://github.com/tekbasse/q-wiki
Q-Wiki is an OpenACS wiki using a templating system. It allows tcl procedures to be used in a web-based publishing environment. It is not tied to vertical web applications, such as OpenACS ecommerce package.
Q-Wiki is derived from OpenACS' ecommerce package. Administrators have voiced interest in having some kind of strictly filtered ACS developer support dynamics for user content.
Q-Wiki is open source and published under the GNU General Public License v2, consistent with the OpenACS system:http://www.gnu.org/licenses/gpl.html A local copy is available at q-wiki/www/doc/LICENSE.html
Pages automatically have revisioning.
Pages must be trashed before being deleted. Trashed pages can be untrashed.
Trashed pages are not published.
Users with create permission can also trash their own creations.
Tcl procedures pass through two filters: 1. a list of glob expressions stating which procedures are allowed to be used 2. a list of specifically banned procedures
A package parameter can switch the TCL/ADP rendering of content on or off.
This web-app is easily modifiable for custom applications. It consists of a single q-wiki tcl/adp page pair and an extra unused "flags" field.
This app is ready for web-based publishing SEO optimization. Besides content, pages include comments, keywords, and page description fields.