Forum OpenACS Development: xowiki 0.42

Collapse
Posted by Gustaf Neumann on
the newest version of xowiki contains the following features

  • Optional controls for adding content to dig and del.icio.us (developed together with Jon Griffin), configured via package parameters with_delicious and with_digg

  • Support for ordering in xowiki:

    When postgres is configured with support for ltree (postgres contrib package, part of postgres source distributions), the following features are available
    • Additional (optional) attribute page_order for all kind of XoWiki pages
    • Content of page_order can be section numbers like e.g. 1, 1.1, 1.2, 1.2.1, 1.2.2, 1.3, etc.
    • pages with page_order can be presented in the specified order.

    • Usage via template file
      • The new template file view-book.{adp,tcl} presents a table of content on left side and the "book" pages on right side.
      • The table of content is rendered with YUI treeview (needs ajaxhelper to be installed on the file-system).
      • view-book provides a progress bar with a next and previous button to click through the content.
      • The template file view-book is activated via the package parameter template_file
      • See the screenshot of the xowiki documentation based on the book includelet: http://media.wu-wien.ac.at/download/xowiki-doc/xowiki-book-template.png

    • Usage via includelet
      • New prototype page book.page: This page can be used to present the whole book content in one large page with a table of contents on the left side.
      • According to the access control rights, every section has a small edit button to edit it separately.
      • With the appropriate security policy settings, different authors may only edit different sections.
      • One can use this prototype page conveniantly by setting the package parameter index_page to "book".
      • See the screenshot of the xowiki documentation based on the book includelet: http://media.wu-wien.ac.at/download/xowiki-doc/xowiki-book.png
Background info: ltree is an optional package (like tsearch2) for postres under a BSD license and provides efficient access to hierarchical data (for details, see: http://www.sai.msu.su/~megera/postgres/gist/ltree/). Ltree is part of the standard postgres source tree (like tsearch2). I am pretty sure, similar effects could be achieved as well with the treesortkeys used in many places in OpenACS. However, i am no expert on treesortkeys, and providing access to its functionality in a user friendly manner requires some work.

Similar things can be achieved as well via categories. The advantage of the page_order is that it is part of the instance records. Ltree provides very fast and powerful index and query mechanisms (see ltree documentation). If pages are exported, the page_order is exported as well without and additional work. So, "books" can be easily exported and imported.

xowiki is designed to work as well without ltree. If ltree is not installed, the functionality based page_order won't be available in these cases. When ltree is installed later, a function named ::xowiki::add_ltree_order_column can be used outside the normal upgrade management.

Collapse
2: Re: xowiki 0.42 (response to 1)
Posted by Gustaf Neumann on
Did some more updates:
  • the publish state of a page is now not altered, when a page is modified (production_mode marks only new pages as under production)
  • notification and syndication are deactivated for pages under production
  • changing production mode from admin pages into a published version triggers notification and syndication
Collapse
3: Re: xowiki 0.42 (response to 2)
Posted by Gustaf Neumann on
Dear Community:

here is a summary of my changes over the last week:

  • book-style:
    • the ordering of the section numbers in the table of contents or book is now performed via xotcl instead of the lexical ordering in ltree (we want III.9 before III.11).
    • the toc includelet allows to omit leading numbers in the display of the table of contents
    • a new page viewer based on ajax + YUI, which leads to a smoother display and less load for the server (it is not necessary to render the full page)
    • the toc includelet lets control whether to use ajax or not

  • new package parameter extra_css to request additional css files to be loaded for an instance
  • additional social software support: besides digg and del.icio.us, one can add a button to for "my yahoo" via package parameter
  • per-page parameters: all setting of the package parameters can be altered on a per-page basis. One can use the new includelet {{set-parameter /parameter/ /value/}}. See the book prototype page for an example

  • better catching and visualization of error messages from includelets

  • added a "more..." link for summary mode of weblog, uses syndication table

  • added a file-guessing code for strange content-types in file-uploads (see http://www.openacs.org/forums/message-view?message_id=545784 for some discussions)

  • improved page import: earlier versions could only add or replace pages. now, xowiki allows as well updates through the import interface by adding revisions

For a showcase of the new book-style with ajax updates, see http://www.openacs.org/test-doc/individual-programs and use the arrows of the progress bar or the left column for navigation..

enjoy....

Collapse
4: Re: xowiki 0.42 (response to 3)
Posted by Gustaf Neumann on
one more quick update: after some javascript mangling the ajax-based doc-book code works now with camino, firefox, opera and safari (in alphabetical order).
Collapse
5: Re: xowiki 0.42 (response to 3)
Posted by Matthew Coupe on
Gustaf,

Using Ajax and xowiki, would it be possible to include a forum and then as you click through the pages for submitting posts etc. have them all included in the wiki as opposed to browsing away to the forum page? This sort of behaviour would be similar to how frames work.

Cheers,
Matthew

Collapse
6: Re: xowiki 0.42 (response to 5)
Posted by Gustaf Neumann on
Matthew,

as you know, one can include relative easily forum contents via adp includes into xowiki pages. The ajax and fade-in / fade-out effects will certainly work with this as well, since this works with all kind of xowiki pages.

however, this does not make a xowiki a good forums application, since all links of the forums will point to the forum apps, etc.

i would estimate that it is more work getting the forums into xowiki than writing an xowiki forums application. One could use e.g. the page order for representing the threads and replies, and make a includelet similar to the "table of contents" doc in http://www.openacs.org/test-doc/

-gustaf neumann

Collapse
7: Re: xowiki 0.42 (response to 1)
Posted by Tom Jackson on
Optional controls for adding content to dig and del.icio.us (developed together with Jon Griffin), configured via package parameters with_delicious and with_digg

This is a useful feature, I just wanted to add that there are several examples of blogs/sites that use a more extensive list. Here is an example page, scroll down to the end of the entry, just before comments:

http://www.firedoglake.com/2007/01/16/libby-trial-jury-selection-day-one-recap/

Collapse
8: Re: xowiki 0.42 (response to 1)
Posted by Aernout Schmidt on
Gustaf, I think about using xowiki for commenting to and discussion with students about assignment texts. Will it be possible for me in this version to add a button (like the edit button) per section, that will open (and hide) a comment sequence to be shown as an overlayed subwindow?