Index: openacs-4/packages/xowiki/xowiki.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/xowiki.info,v diff -u -r1.56 -r1.57 --- openacs-4/packages/xowiki/xowiki.info 22 Jul 2007 12:01:27 -0000 1.56 +++ openacs-4/packages/xowiki/xowiki.info 24 Jul 2007 13:21:38 -0000 1.57 @@ -8,139 +8,141 @@ f xowiki - + Gustaf Neumann - A more generic xotcl-based wikis example with object types + A more generic xotcl-based wikis example with object types and subtypes based on the content repository (with category support) - 2007-07-22 - <pre> -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 OpenACS (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 different kind of word relationships (like synonyms, -etc.). XoWiki supports pages in multiple languages and is localized -(currently only for English and German). Currently, rich-text 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-based chat added, new attributes creator and page_title for -all xowiki::Pages; - -0.22 improved permission checking. - -0.24 provides link-types, more includeletes (most-recently viewed, -most frequently accessed pages). - -0.26 provides Weblog support. - - 0.27: alignment with xotcl-core - -0.28 (use cr_item.name instead of cr_revisions.title), change -page_title to title (potential incompatibility) to rely more strictly -to the CR data model (most files are effected). - -0.29: tag and improved weblog support. - -0.30: -symbolic OO interface, nicer links, permission management. - -0.31: per -package search. - -0.32: new class ::xowiki::File for [[file:readme.pdf]] and -[[image:picture.jpg]] - -0.33: direct inclusion of XoWiki pages via {{en:mypage}}, simpler -default pages (see xowiki/www/default-pages). - -0.34: notifications; - -0.36: prototypes, direct includes, context handling; - -0.37: initial regression testing (118 tests); - -0.38: production_mode, virtual presence, google-sitemap. - -0.39: version diff, provide image properties in XoWiki-pages, specify -how links can be generated; - -0.42: book-style (toc and book portlet, based on YUI treeview), use -language prefix to avoid clashes, ltree (for ordering); - -0.43: support for views package - -0.44: DotLRN portlet support - -0.45: auto-naming of pages - -0.46: support for announcement style configuration - -0.47: podcast support - -0.48: policy management moved to xotcl-core, more detailed -form field specification for page instances, flash support, -syndication status in www/admin/list, file import/export, -style information in css files - -0.49: adp-generator, make tags/categories/social software -buttons per item in a weblog, oacs-view2 and oacs-view3 - -0.50: timeline support, new includelets activity-graph, -collab-graph, timeline, and user-timeline - -0.51: minimal zen support, using new oo interface form -xotcl-core, more silent on db-operations in error log - -0.52: added full set of padding-* and margin-* flags to -control image rendering, added allow_edit and allow_delete -to includelet "recent", new includelet "get" to obtain -variable binding from different pages, new includelets -creation-date to get dates nicer formatted, simplified -development of derived packages (s5) - -0.53: ::xowiki::Form (will be maybe renamed before release), -::xowiki::FormInstances (pot. rename). FormFields, form -constraints, unnamed instances, some podcast improvements -improved localization, new includelet "unread-items", -export renaming for unnamed entries - -0.54: FormField classes, more internationalization, -recursive inclusion bug fixed - -0.55: More complete set of FormField classes including -composite fields, better mix of HTML forms with -auto-generated form components. + 2007-07-24 + <pre> +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 OpenACS (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 different kind of word relationships (like synonyms, +etc.). XoWiki supports pages in multiple languages and is localized +(currently only for English and German). Currently, rich-text 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-based chat added, new attributes creator and page_title for +all xowiki::Pages; + +0.22 improved permission checking. + +0.24 provides link-types, more includeletes (most-recently viewed, +most frequently accessed pages). + +0.26 provides Weblog support. + + 0.27: alignment with xotcl-core + +0.28 (use cr_item.name instead of cr_revisions.title), change +page_title to title (potential incompatibility) to rely more strictly +to the CR data model (most files are effected). + +0.29: tag and improved weblog support. + +0.30: +symbolic OO interface, nicer links, permission management. + +0.31: per +package search. + +0.32: new class ::xowiki::File for [[file:readme.pdf]] and +[[image:picture.jpg]] + +0.33: direct inclusion of XoWiki pages via {{en:mypage}}, simpler +default pages (see xowiki/www/default-pages). + +0.34: notifications; + +0.36: prototypes, direct includes, context handling; + +0.37: initial regression testing (118 tests); + +0.38: production_mode, virtual presence, google-sitemap. + +0.39: version diff, provide image properties in XoWiki-pages, specify +how links can be generated; + +0.42: book-style (toc and book portlet, based on YUI treeview), use +language prefix to avoid clashes, ltree (for ordering); + +0.43: support for views package + +0.44: DotLRN portlet support + +0.45: auto-naming of pages + +0.46: support for announcement style configuration + +0.47: podcast support + +0.48: policy management moved to xotcl-core, more detailed +form field specification for page instances, flash support, +syndication status in www/admin/list, file import/export, +style information in css files + +0.49: adp-generator, make tags/categories/social software +buttons per item in a weblog, oacs-view2 and oacs-view3 + +0.50: timeline support, new includelets activity-graph, +collab-graph, timeline, and user-timeline + +0.51: minimal zen support, using new oo interface form +xotcl-core, more silent on db-operations in error log + +0.52: added full set of padding-* and margin-* flags to +control image rendering, added allow_edit and allow_delete +to includelet "recent", new includelet "get" to obtain +variable binding from different pages, new includelets +creation-date to get dates nicer formatted, simplified +development of derived packages (s5) + +0.53: ::xowiki::Form (will be maybe renamed before release), +::xowiki::FormInstances (pot. rename). FormFields, form +constraints, unnamed instances, some podcast improvements +improved localization, new includelet "unread-items", +export renaming for unnamed entries + +0.54: FormField classes, more internationalization, +recursive inclusion bug fixed + +0.55: More complete set of FormField classes including +composite fields, better mix of HTML forms with +auto-generated form components. + +0.58: Adding Syndication for FormPage </pre> BSD-Style 0 - + - + Index: openacs-4/packages/xowiki/tcl/form-field-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/form-field-procs.tcl,v diff -u -r1.26 -r1.27 --- openacs-4/packages/xowiki/tcl/form-field-procs.tcl 18 Jul 2007 20:35:31 -0000 1.26 +++ openacs-4/packages/xowiki/tcl/form-field-procs.tcl 24 Jul 2007 13:21:39 -0000 1.27 @@ -44,6 +44,7 @@ {validator ""} locale default + object } FormField instproc init {} { if {![my exists label]} {my label [string totitle [my name]]} @@ -177,14 +178,14 @@ # Since only the configuration might set values, checking value for "" seems safe here. # if {[my value] eq "" && [my exists default] && [my default] ne ""} { - # my msg "reset value to [my default]" + #my msg "reset value to [my default]" my value [my default] } if {[lang::util::translator_mode_p]} { my mixin "::xo::TRN-Mode" } - my initialize + my initialize } FormField instproc asWidgetSpec {} { @@ -424,6 +425,46 @@ ########################################################### # + # ::xowiki::FormField::url + # + ########################################################### + + Class FormField::url -superclass FormField::text -parameter { + {link_label} + } + FormField::url instproc pretty_value {v} { + if {$v ne ""} { + if {[my exists link_label]} { + set link_label [my localize [my link_label]] + } else { + set link_label $v + } + return "$link_label" + } + } + + ########################################################### + # + # ::xowiki::FormField::detail_link + # + ########################################################### + + Class FormField::detail_link -superclass FormField::url -parameter { + {link_label "#xowiki.weblog-more#"} + } + FormField::detail_link instproc pretty_value {v} { + if {$v eq ""} { + my instvar object + set v [[$object package_id] pretty_link [$object name]] + } + if {$v ne ""} { + set link_label [my localize [my link_label]] + return " \[ $link_label \]" + } + } + + ########################################################### + # # ::xowiki::FormField::textarea # ########################################################### Index: openacs-4/packages/xowiki/tcl/notification-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/notification-procs.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/xowiki/tcl/notification-procs.tcl 7 Jul 2007 15:49:10 -0000 1.7 +++ openacs-4/packages/xowiki/tcl/notification-procs.tcl 24 Jul 2007 13:21:39 -0000 1.8 @@ -77,7 +77,7 @@ @param revision_id @param new new or modified item } { - + if {![info exists page]} { set page [::xowiki::Package instantiate_page_from_id -revision_id $revision_id] $page volatile Index: openacs-4/packages/xowiki/tcl/syndicate-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/syndicate-procs.tcl,v diff -u -r1.14 -r1.15 --- openacs-4/packages/xowiki/tcl/syndicate-procs.tcl 4 Jul 2007 11:29:04 -0000 1.14 +++ openacs-4/packages/xowiki/tcl/syndicate-procs.tcl 24 Jul 2007 13:21:39 -0000 1.15 @@ -88,10 +88,10 @@ } - RSS instproc limit_clause {} { + RSS instproc limit {} { my instvar maxentries if {[info exists maxentries] && $maxentries ne ""} { - return " limit $maxentries" + return $maxentries } return "" } @@ -114,40 +114,46 @@ if {$description eq ""} {set description [::$folder_id set description]} my set link $siteurl[site_node::get_url_from_object_id -object_id $package_id] - + #my log "--rss WHERE= [my extra_where_clause]" - set content [my head] - db_foreach get_pages \ - "select s.body, p.name, p.creator, p.title, p.page_id,\ - p.object_type as content_type, p.last_modified, p.description \ - from xowiki_pagex p, syndication s, cr_items ci \ - where ci.parent_id = $folder_id and ci.live_revision = s.object_id \ - and ci.publish_status <> 'production' \ - [my extra_where_clause] \ - and s.object_id = p.page_id \ - order by p.last_modified desc [my limit_clause] \ - " { - - if {[string match "::*" $name]} continue - if {$content_type eq "::xowiki::PageTemplate"} continue + set sql [::xo::db::sql select \ + -vars "s.body, p.name, p.creator, p.title, p.page_id, instance_attributes, \ + p.object_type as content_type, p.last_modified, p.description" \ + -from "syndication s, cr_items ci, xowiki_pagex p left join \ + xowiki_page_instance on (p.revision_id = page_instance_id)" \ + -where "ci.parent_id = $folder_id and ci.live_revision = s.object_id \ + and ci.publish_status <> 'production' \ + [my extra_where_clause] \ + and s.object_id = p.page_id" \ + -orderby "p.last_modified desc" \ + -limit [my limit]] - set description [string trim $description] - if {$description eq ""} {set description $body} - regexp {^([^.]+)[.][0-9]+(.*)$} $last_modified _ time tz - - if {$title eq ""} {set title $name} - #append title " ($content_type)" - set time "[clock format [clock scan $time] -format {%a, %d %b %Y %T}] ${tz}00" - append content [my item \ - -creator $creator \ - -title $title \ - -link [::$package_id pretty_link -absolute true -siteurl $siteurl $name] \ - -guid $siteurl/$page_id \ - -description $description \ - -pubdate $time \ - ] - } + set content [my head] + db_foreach get_pages $sql { + if {[string match "::*" $name]} continue + if {$content_type eq "::xowiki::PageTemplate"} continue + + set description [string trim $description] + if {$description eq ""} {set description $body} + regexp {^([^.]+)[.][0-9]+(.*)$} $last_modified _ time tz + + set link [::xowiki::Portlet detail_link \ + -package_id $package_id -name $name \ + -absolute true \ + -instance_attributes $instance_attributes] + if {$title eq ""} {set title $name} + #append title " ($content_type)" + set time "[clock format [clock scan $time] -format {%a, %d %b %Y %T}] ${tz}00" + append content [my item \ + -creator $creator \ + -title $title \ + -link $link \ + -guid $siteurl/$page_id \ + -description $description \ + -pubdate $time \ + ] + } append content [my tail] return $content @@ -212,29 +218,31 @@ my set link $siteurl[site_node::get_url_from_object_id -object_id $package_id] set content [my head] - db_foreach get_pages \ - "select * from xowiki_podcast_itemi p, cr_items ci, cr_mime_types m \ - where ci.parent_id = $folder_id and ci.item_id = p.item_id \ + set sql [::xo::db::sql select \ + -vars * \ + -from "xowiki_podcast_itemi p, cr_items ci, cr_mime_types m" \ + -where "ci.parent_id = $folder_id and ci.item_id = p.item_id \ and ci.live_revision = p.object_id \ and p.mime_type = m.mime_type \ - and ci.publish_status <> 'production' [my extra_where_clause] \ - order by p.pub_date asc [my limit_clause] \ - " { - - if {$content_type ne "::xowiki::PodcastItem"} continue - - #regexp {^([^.]+)[.][0-9]+(.*)$} $last_modified _ time tz - - if {$title eq ""} {set title $name} - #set time "[clock format [clock scan $time] -format {%a, %d %b %Y %T}] ${tz}00" - set link [::$package_id pretty_link -absolute true -siteurl $siteurl $name]/download.$file_extension - append content [my item \ - -author $creator -title $title -subtitle $subtitle \ - -description $description \ - -link $link -mime_type $mime_type \ - -guid $link -pubdate $pub_date -duration $duration \ - -keywords $keywords] - } + and ci.publish_status <> 'production' [my extra_where_clause]" \ + -orderby "p.pub_date asc" \ + -limit [my limit]] + + db_foreach get_pages $sql { + if {$content_type ne "::xowiki::PodcastItem"} continue + + #regexp {^([^.]+)[.][0-9]+(.*)$} $last_modified _ time tz + + if {$title eq ""} {set title $name} + #set time "[clock format [clock scan $time] -format {%a, %d %b %Y %T}] ${tz}00" + set link [::$package_id pretty_link -absolute true -siteurl $siteurl $name]/download.$file_extension + append content [my item \ + -author $creator -title $title -subtitle $subtitle \ + -description $description \ + -link $link -mime_type $mime_type \ + -guid $link -pubdate $pub_date -duration $duration \ + -keywords $keywords] + } append content [my tail] return $content @@ -255,23 +263,26 @@ my instvar package_id set folder_id [::$package_id folder_id] set where_clause "" - set limit_clause "" + set limit "" set last_user "" set last_item "" set last_clock "" if {[my exists user_id]} { append where_clause " and o.creation_user = [my user_id] " } - if {[my exists limit]} { append limit_clause " limit [my limit] " } + if {[my exists limit]} { set limit [my limit] } ::xo::OrderedComposite items -destroy_on_cleanup - db_foreach get_pages " - select ci.name, o.creation_user, cr.publish_date, o2.creation_date, cr.item_id, ci.parent_id, cr.title - from cr_items ci, cr_revisions cr, acs_objects o, acs_objects o2 - where cr.item_id = ci.item_id and o.object_id = cr.revision_id - and o2.object_id = cr.item_id - and ci.parent_id = :folder_id and o.creation_user is not null - $where_clause order by revision_id desc $limit_clause - " { + set sql [::xo::db::sql select \ + -vars "ci.name, o.creation_user, cr.publish_date, o2.creation_date, \ + cr.item_id, ci.parent_id, cr.title" \ + -from "cr_items ci, cr_revisions cr, acs_objects o, acs_objects o2" \ + -where "cr.item_id = ci.item_id and o.object_id = cr.revision_id + and o2.object_id = cr.item_id + and ci.parent_id = :folder_id and o.creation_user is not null + $where_clause" \ + -orderby "revision_id desc" \ + -limit $limit] + db_foreach get_pages $sql { regexp {^([^.]+)[.][0-9]+(.*)$} $publish_date _ publish_date tz regexp {^([^.]+)[.][0-9]+(.*)$} $creation_date _ creation_date tz set clock [clock scan $publish_date] @@ -296,7 +307,7 @@ # The following loop tries to distinguis between create and modify by age. # This does not work in cases, where we get just a limited amount # or restricted entries -# if {$limit_clause eq ""} { +# if {$limit eq ""} { # foreach i [my reverse [items children]] { # set key seen([$i set item_id]) # if {[info exists $key]} { Index: openacs-4/packages/xowiki/tcl/xowiki-callback-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-callback-procs.tcl,v diff -u -r1.22 -r1.23 --- openacs-4/packages/xowiki/tcl/xowiki-callback-procs.tcl 22 Jul 2007 12:01:27 -0000 1.22 +++ openacs-4/packages/xowiki/tcl/xowiki-callback-procs.tcl 24 Jul 2007 13:21:39 -0000 1.23 @@ -259,6 +259,23 @@ ::xowiki::update_views } + if {[apm_version_names_compare $from_version_name "0.58"] == -1 && + [apm_version_names_compare $to_version_name "0.58"] > -1} { + ns_log notice "-- upgrading to 0.58" + + if {[catch {acs_sc::impl::get_id -owner xowiki -name ::xowiki::FormPage}]} { + acs_sc::impl::new_from_spec -spec { + name "::xowiki::FormPage" + aliases { + datasource ::xowiki::datasource + url ::xowiki::url + } + contract_name FtsContentProvider + owner xowiki + } + } + } + if {[apm_version_names_compare $from_version_name "0.65"] == -1 && [apm_version_names_compare $to_version_name "0.65"] > -1} { ns_log notice "-- upgrading to 0.65" Index: openacs-4/packages/xowiki/tcl/xowiki-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/Attic/xowiki-portlet-procs.tcl,v diff -u -r1.74 -r1.75 --- openacs-4/packages/xowiki/tcl/xowiki-portlet-procs.tcl 23 Jul 2007 11:05:09 -0000 1.74 +++ openacs-4/packages/xowiki/tcl/xowiki-portlet-procs.tcl 24 Jul 2007 13:21:39 -0000 1.75 @@ -69,6 +69,21 @@ return $name } + ::xowiki::Portlet proc detail_link { + {-absolute:boolean false} + -package_id + -name + -instance_attributes + } { + array set ia $instance_attributes + if {[info exists ia(detail_link)] && $ia(detail_link) ne ""} { + set link $ia(detail_link) + } else { + set link [::$package_id pretty_link $name] + } + return $link + } + ::xowiki::Portlet instproc screen_name {user_id} { acs_user::get -user_id $user_id -array user return [expr {$user(screen_name) ne "" ? $user(screen_name) : $user(name)}] @@ -2128,6 +2143,10 @@ if {$form_item_id == 0} {error "Cannot lookup page $form"} } + #set form_item_id [::xowiki::Form instantiate -item_id $form_item_id] + #$form_item_id destroy_on_cleanup + #set form_fields [$form_item_id create_form_fields $field_names] + ::xowiki::Page requireCSS "/resources/acs-templating/lists.css" set return_url [::xo::cc url]?[::xo::cc actual_query] 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.152 -r1.153 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 23 Jul 2007 11:05:09 -0000 1.152 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 24 Jul 2007 13:21:39 -0000 1.153 @@ -1398,7 +1398,7 @@ } FormPage instproc save_data {old_name category_ids} { - my log "-- [self args]" + #my log "-- [self args]" my instvar package_id name db_transaction { # Index: openacs-4/packages/xowiki/tcl/xowiki-sc-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-sc-procs.tcl,v diff -u -r1.20 -r1.21 --- openacs-4/packages/xowiki/tcl/xowiki-sc-procs.tcl 7 Jul 2007 15:49:10 -0000 1.20 +++ openacs-4/packages/xowiki/tcl/xowiki-sc-procs.tcl 24 Jul 2007 13:21:39 -0000 1.21 @@ -19,6 +19,7 @@ $page volatile #ns_log notice "--sc package=[[$page package_id] serialize]" + ns_log notice "--sc $page [$page set publish_status]" if {[$page set publish_status] eq "production"} { # no data source for for pages under construction @@ -113,6 +114,15 @@ owner xowiki } acs_sc::impl::new_from_spec -spec { + name "::xowiki::FormPage" + aliases { + datasource ::xowiki::datasource + url ::xowiki::url + } + contract_name FtsContentProvider + owner xowiki + } + acs_sc::impl::new_from_spec -spec { name "::xowiki::File" aliases { datasource ::xowiki::datasource @@ -127,6 +137,7 @@ acs_sc::impl::delete -contract_name FtsContentProvider -impl_name ::xowiki::Page acs_sc::impl::delete -contract_name FtsContentProvider -impl_name ::xowiki::PlainPage acs_sc::impl::delete -contract_name FtsContentProvider -impl_name ::xowiki::PageInstance + acs_sc::impl::delete -contract_name FtsContentProvider -impl_name ::xowiki::FormPage acs_sc::impl::delete -contract_name FtsContentProvider -impl_name ::xowiki::File } } Index: openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl,v diff -u -r1.89 -r1.90 --- openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 22 Jul 2007 12:01:27 -0000 1.89 +++ openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 24 Jul 2007 13:21:39 -0000 1.90 @@ -366,6 +366,7 @@ -required [expr {[$slot exists required] ? [$slot set required] : "false"}] \ -default $default \ -spec [join $spec_list ,] \ + -object [self] \ ] $f destroy_on_cleanup @@ -717,9 +718,9 @@ # for named entries, just set the entry fields to empty, # without changing the instance variables - if {!$anon_instances && [my is_new_entry [my name]]} { + if {[my is_new_entry [my name]]} { $ff(_title) value "" - $ff(_name) value "" + if {!$anon_instances} {$ff(_name) value ""} } } Index: openacs-4/packages/xowiki/www/prototypes/weblog-portlet.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/prototypes/Attic/weblog-portlet.page,v diff -u -r1.6 -r1.7 --- openacs-4/packages/xowiki/www/prototypes/weblog-portlet.page 18 May 2007 09:07:44 -0000 1.6 +++ openacs-4/packages/xowiki/www/prototypes/weblog-portlet.page 24 Jul 2007 13:21:39 -0000 1.7 @@ -22,8 +22,17 @@ my instvar package_id name title creator creation_user pretty_date description [my set __parent] instvar weblog_obj - set link [::$package_id pretty_link $name] - set more [expr {[$weblog_obj summary] ? + # We get the instance_attributes, if these are available. For the + # time being, we have these only in full mode (no summary) + if {[my exists instance_attributes]} { + set instance_attributes [my instance_attributes] + } else { + set instance_attributes "" + } + set link [::xowiki::Portlet detail_link -package_id $package_id -name $name \ + -instance_attributes $instance_attributes] + set show_more [expr {[$weblog_obj summary] && [my exists text] && [my text] ne ""}] + set more [expr {$show_more ? " \[#xowiki.weblog-more#\]" : ""}] append more "

" set my_footer [my htmlFooter]