Index: openacs-4/packages/xowiki/xowiki.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/xowiki.info,v diff -u -r1.8 -r1.9 --- openacs-4/packages/xowiki/xowiki.info 30 Jan 2006 02:04:50 -0000 1.8 +++ openacs-4/packages/xowiki/xowiki.info 9 Feb 2006 22:53:03 -0000 1.9 @@ -8,27 +8,27 @@ f xowiki - + Gustaf Neumann A more generic xotcl-based wikis example with object types and subtypes based on the content repository (with category support) - 2006-01-30 + 2006-02-09 XoWiki is a wiki implementation for OpenACS in xotcl. Instead of trying to implement the full set of wiki markup commands of systems like MediaWiki, XoWiki is based on a rich text editor and focuses more on integration with oacs (e.g categories, general comments, adp-includes). XoWiki combines aspects of wikis (ease of page-creation) with aspects of a content management system (revisions, re-usable items, multiple languages). Furthermore, XoWiki allows to define different types of links such -one could define book-structures (where a navigation structure could be built on the fly) or glossaries with differnt kind of word relationships (like synonyms, etc.). XoWiki supports pages in multiple languages and is localized (currently only for English and German). Currently, richtext and plaintext type entries are supported. Included support for adp-substitution in wiki pages and a file-selector. 0.13 supports page templates and uses the new generic form interface. Use of the oo layer for the content repository, reduced number of database interactions.0.18 supports text/enhanced, nice page names, import/export. Support for search (::xowiki::Page and ::xowiki::PlainPage); 0.20 support ::xowiki::Object, directory object, rss generation into syndication table, improved admin pages +one could define book-structures (where a navigation structure could be built on the fly) or glossaries with differnt kind of word relationships (like synonyms, etc.). XoWiki supports pages in multiple languages and is localized (currently only for English and German). Currently, richtext and plaintext type entries are supported. Included support for adp-substitution in wiki pages and a file-selector. 0.13 supports page templates and uses the new generic form interface. Use of the oo layer for the content repository, reduced number of database interactions.0.18 supports text/enhanced, nice page names, import/export. Support for search (::xowiki::Page and ::xowiki::PlainPage); 0.20 support ::xowiki::Object, directory object, rss generation into syndication table, improved admin pages; 0.21: ajax-ased chat added, new attributes creator and page_title for all xowiki::Pages 0 - + - + Index: openacs-4/packages/xowiki/catalog/xowiki.de_DE.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/catalog/xowiki.de_DE.ISO-8859-1.xml,v diff -u -r1.3 -r1.4 --- openacs-4/packages/xowiki/catalog/xowiki.de_DE.ISO-8859-1.xml 24 Jan 2006 14:13:19 -0000 1.3 +++ openacs-4/packages/xowiki/catalog/xowiki.de_DE.ISO-8859-1.xml 9 Feb 2006 22:53:03 -0000 1.4 @@ -1,5 +1,5 @@ - + Zur�ck Inhalt Index: openacs-4/packages/xowiki/catalog/xowiki.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/catalog/xowiki.en_US.ISO-8859-1.xml,v diff -u -r1.3 -r1.4 --- openacs-4/packages/xowiki/catalog/xowiki.en_US.ISO-8859-1.xml 24 Jan 2006 14:13:19 -0000 1.3 +++ openacs-4/packages/xowiki/catalog/xowiki.en_US.ISO-8859-1.xml 9 Feb 2006 22:53:03 -0000 1.4 @@ -1,8 +1,9 @@ - + Back Content + Creator Description Edit Index @@ -12,5 +13,6 @@ Page Type References to this Page: Revisions + Title View Index: openacs-4/packages/xowiki/tcl/xowiki-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-procs.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 8 Feb 2006 13:33:20 -0000 1.12 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 9 Feb 2006 22:53:03 -0000 1.13 @@ -11,6 +11,12 @@ -pretty_name "XoWiki Page" -pretty_plural "XoWiki Pages" \ -table_name "xowiki_page" -id_column "page_id" \ -mime_type text/html \ + -cr_attributes { + ::Generic::Attribute new -attribute_name page_title -datatype text \ + -pretty_name "Page Title" + ::Generic::Attribute new -attribute_name creator -datatype text \ + -pretty_name "Creator" + } \ -form ::xowiki::WikiForm ::Generic::CrClass create PlainPage -superclass Page \ @@ -141,15 +147,33 @@ ns_log notice "-- upgrading to 0.19" ::xowiki::sc::register_implementations } + if {$to_version_name eq "0.21"} { + db_1row create_att { + select content_type__create_attribute( + '::xowiki::Page','page_title','text', + 'Page Title',null,null,null,'text' )} + db_1row create_att { + select content_type__create_attribute( + '::xowiki::Page','creator','text', + 'Creator',null,null,null,'text' )} + db_1row refresh "select content_type__refresh_view('::xowiki::PlainPage') from dual" + db_1row refresh "select content_type__refresh_view('::xowiki::PageTemplate') from dual" + db_1row refresh "select content_type__refresh_view('::xowiki::PageInstance') from dual" + db_1row refresh "select content_type__refresh_view('::xowiki::Object') from dual" + } } Class create WikiForm -superclass ::Generic::Form \ -parameter { - {field_list {item_id title text description nls_language}} + {field_list {item_id title page_title creator text description nls_language}} {f.item_id {item_id:key}} {f.title - {title:text {label #xowiki.name#}}} + {title:text {label #xowiki.name#} {html {size 80}} }} + {f.page_title + {page_title:text {label #xowiki.title#} {html {size 80}} }} + {f.creator + {creator:text,optional {label #xowiki.creator#} {html {size 80}} }} {f.text {text:richtext(richtext),nospell,optional {label #xowiki.content#} @@ -356,7 +380,7 @@ Class create PageInstanceEditForm -superclass WikiForm \ -parameter { - {field_list {item_id title page_template description nls_language}} + {field_list {item_id title page_title creator page_template description nls_language}} {f.title {title:text(inform)}} {f.page_template {page_template:text(hidden)}} {f.nls_language {nls_language:text(hidden)}} @@ -432,6 +456,22 @@ namespace eval ::xowiki { + Page instproc get_name {uid} { + if {$uid ne "" && $uid != 0} { + acs_user::get -user_id $uid -array user + return "$user(first_names) $user(last_name)" + } else { + return nobody + } + } + + Page instproc initialize_loaded_object {} { + my instvar page_title creator + if {$page_title eq ""} {set page_title [my set title]} + #if {$creator eq ""} {set creator [my get_name [my set creation_user]]} + next + } + Page ad_proc require_folder_object { -folder_id -package_id @@ -792,6 +832,7 @@ Object instproc initialize_loaded_object {} { my set_payload [my set text] + next } Object instproc set_payload {cmd} { set payload [self]::payload Index: openacs-4/packages/xowiki/www/edit.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/Attic/edit.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/xowiki/www/edit.adp 14 Dec 2005 16:12:59 -0000 1.1 +++ openacs-4/packages/xowiki/www/edit.adp 9 Feb 2006 22:53:03 -0000 1.2 @@ -1,5 +1,5 @@ - @page_title;noquote@ + @edit_form_page_title;noquote@ @context;noquote@ note.title Index: openacs-4/packages/xowiki/www/edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/Attic/edit.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/xowiki/www/edit.tcl 30 Jan 2006 02:04:51 -0000 1.4 +++ openacs-4/packages/xowiki/www/edit.tcl 9 Feb 2006 22:53:03 -0000 1.5 @@ -53,7 +53,7 @@ #ns_log notice "-- form f1 has class [::xowiki::f1 info class]" ::xowiki::f1 generate -::xowiki::f1 instvar page_title context formTemplate +::xowiki::f1 instvar edit_form_page_title context formTemplate if {[info exists item_id]} { set rev_link [export_vars -base revisions {{page_id $item_id} title}] Index: openacs-4/packages/xowiki/www/view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/Attic/view.adp,v diff -u -r1.7 -r1.8 --- openacs-4/packages/xowiki/www/view.adp 6 Feb 2006 11:45:10 -0000 1.7 +++ openacs-4/packages/xowiki/www/view.adp 9 Feb 2006 22:53:03 -0000 1.8 @@ -1,5 +1,5 @@ - @title;noquote@ + @page_title;noquote@ @context;noquote@ note.title Index: openacs-4/packages/xowiki/www/view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/Attic/view.tcl,v diff -u -r1.5 -r1.6 --- openacs-4/packages/xowiki/www/view.tcl 3 Feb 2006 22:17:41 -0000 1.5 +++ openacs-4/packages/xowiki/www/view.tcl 9 Feb 2006 22:53:03 -0000 1.6 @@ -25,10 +25,10 @@ set content [$page render] set references [$page references] -# export title, text, and description to current scope -$page instvar title text description lang_links +# export page_title, text, and lang_links to current scope +$page instvar page_title title text lang_links if {$master} { - set context [list $title] + set context [list $page_title] set base [apm_package_url_from_id [ad_conn package_id]] set rev_link [export_vars -base ${base}revisions {{page_id $item_id} title}] set edit_link [export_vars -base ${base}edit {item_id}] Index: openacs-4/packages/xowiki/www/portlets/categories.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/portlets/Attic/categories.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/xowiki/www/portlets/categories.tcl 28 Jan 2006 23:28:23 -0000 1.3 +++ openacs-4/packages/xowiki/www/portlets/categories.tcl 9 Feb 2006 22:53:04 -0000 1.4 @@ -19,16 +19,19 @@ foreach {category_id category_label deprecated_p level} $category {break} set cat_content "" db_foreach get_pages \ - "select i.item_id, r.title, i.content_type from category_object_map c, cr_items i, cr_revisions r \ + "select i.item_id, r.title, i.content_type, p.page_title \ + from category_object_map c, cr_items i, cr_revisions r, xowiki_page p \ where c.object_id = i.item_id and i.parent_id = $folder_id \ and category_id = $category_id \ and r.revision_id = i.live_revision \ + and p.page_id = r.revision_id \ " { + if {$page_title eq ""} { set page_title $title} if {![::xotcl::Object isclass $content_type]} { # we could check for certain page types as well continue } - append cat_content "$title
\n" + append cat_content "$page_title
\n" } if {$cat_content ne ""} { append content "

$category_label

" $cat_content "
\n"