Index: openacs-4/packages/xowiki/resources/prototypes/CGI.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/CGI.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/CGI.page 18 Sep 2021 10:24:28 -0000 1.1.2.1 @@ -0,0 +1,11 @@ +# -*- tcl-*- +# $Id: CGI.page,v 1.1.2.1 2021/09/18 10:24:28 gustafn Exp $ +::xowiki::Object new -title "CGI" -text { + proc content {} { + return "Hello \[\[Wiki\]\]-World. It is now [clock format [clock seconds]]." + } + +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/CGI2.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/CGI2.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/CGI2.page 18 Sep 2021 10:24:28 -0000 1.1.2.1 @@ -0,0 +1,22 @@ +# -*- tcl-*- +# $Id: CGI2.page,v 1.1.2.1 2021/09/18 10:24:28 gustafn Exp $ +::xowiki::Object new -title "CGI2" -text { + # + # The classes and objects here are all local to the object, + # as long as no absolute class or object names are used (no leading colons) + # + Class create CGI + CGI instproc content {} { + set somevar 100 + return "Hello \[\[Wiki\]\]-World. It is now \ + [clock format [clock seconds]]. Somevar=$somevar" + } + + # mixin the Class CGI into the payload object of the ::xowiki::Object + # since the object renderer queries the method content, it picks up the + # above behavior + my mixin add CGI +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/CGI3.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/CGI3.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/CGI3.page 18 Sep 2021 10:24:29 -0000 1.1.2.1 @@ -0,0 +1,40 @@ +# -*- tcl-*- +# $Id: CGI3.page,v 1.1.2.1 2021/09/18 10:24:29 gustafn Exp $ +::xowiki::Object new -title "CGI3" -text { + # + # The parameter declaration sets the context for the + # evaluation. It combines the provided values from an + # includelet with the values provided via the url with + # the specified default values. + # + my initialize -parameter { + {-object_type ::xowiki::Page} + {-text "Hello World"} + {-x:integer} + {-z:integer 100} + } + + # + # The classes and objects here are all local to the object, + # as long as no absolute class or object names are used (no leading colons) + # + + Class create CGI + CGI instproc content {} { + my get_parameters + + set vars [info vars] + set somevar 100 + return "Hello \[\[Wiki\]\]-World. It is now \ + [clock format [clock seconds]]. Somevar=$somevar, vars=$vars, + package_id=$package_id, z=3. $text" + } + + # mixin the Class CGI into the payload object of the ::xowiki::Object + # since the object renderer queries the method content, it picks up the + # above behavior + my mixin add CGI +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/Parameter.form.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/Parameter.form.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/Parameter.form.page 18 Sep 2021 10:24:29 -0000 1.1.2.1 @@ -0,0 +1,34 @@ +# -*- tcl-*- +::xowiki::Form new \ + -set name en:Parameter.form \ + -title "XoWiki Parameter Form" \ + -set anon_instances t \ + -set text {} \ + -set form {{
+@MenuBar@ +@top_includelet@ +@production_mode@ +@with_delicious@ @with_digg@ @with_general_comments@ +@with_notifications@ @with_tags@ @with_user_tracking@ +@ExtraMenuEntries@ @security_policy@ +@_description@ @_nls_language@ +
} text/html} \ + -set form_constraints { +MenuBar:boolean,horizontal=true +top_includelet:text,default=none +{_title:text,default=Parameter Page} +_creator:hidden +production_mode:boolean,horizontal=true,default=t +with_delicious:boolean,horizontal=true,default=f +with_digg:boolean,horizontal=true,default=f +{with_general_comments:boolean,horizontal=true,default=f,label=User Comments} +with_notifications:boolean,horizontal=true,default=f +with_tags:boolean,horizontal=true,default=f +with_user_tracking:boolean,horizontal=true +_page_order:omit _description:omit +{ExtraMenuEntries:textarea,cols=80,rows=4,default={form_link -name New.Extra.Workflow -label "#xowf.menu-New-Extra-Workflow#" -form en:workflow.form}} +security_policy:security_policy,default=::xowiki::policy1 +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/ajax-chat.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/ajax-chat.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/ajax-chat.page 18 Sep 2021 10:24:29 -0000 1.1.2.1 @@ -0,0 +1,13 @@ +# -*- tcl-*- +# $Id: ajax-chat.page,v 1.1.2.1 2021/09/18 10:24:29 gustafn Exp $ +::xowiki::Object new -title "Ajax Chat" -text { + + proc content {} { + #::xowiki::Chat login -chat_id 22 -mode polling + ::xowiki::Chat login -chat_id 22 + } + +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/announcement-talk.form.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/announcement-talk.form.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/announcement-talk.form.page 18 Sep 2021 10:24:29 -0000 1.1.2.1 @@ -0,0 +1,20 @@ +# -*- tcl-*- +# $Id: announcement-talk.form.page,v 1.1.2.1 2021/09/18 10:24:29 gustafn Exp $ +::xowiki::Form new \ + -set name en:announcement-talk.form \ + -title "Talk Announcement" \ + -set creator "Gustaf Neumann" \ + -set anon_instances t \ + -set form {{
@_title@ @event@ @detail_link@ @_description@ @_publish_date@ @_nls_language@ @_publish_status@
} text/html} \ + -set text {
@event@
+

@_text@
@detail_link@

} \ + -set form_constraints { + {event:event,label=#xowiki.event#} + {detail_link:detail_link,label=#xowiki.details#} + {_publish_status:radio,options={live ready} {draft production},label=#xowiki.publish_status#} + {_description:textarea,rows=3,label=#xowiki.news-teaser#} + _page_order:hidden _creator:hidden _text:hidden + } + + + Index: openacs-4/packages/xowiki/resources/prototypes/announcement-workshop.form.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/announcement-workshop.form.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/announcement-workshop.form.page 18 Sep 2021 10:24:29 -0000 1.1.2.1 @@ -0,0 +1,22 @@ +# -*- tcl-*- +# $Id: announcement-workshop.form.page,v 1.1.2.1 2021/09/18 10:24:29 gustafn Exp $ +::xowiki::Form new \ + -set name en:announcement-workshop.form \ + -title "Workshop Announcement" \ + -set creator "Gustaf Neumann" \ + -set anon_instances t \ + -set form {{
@_title@ @detail_link@ @event@ @_text@ @_description@ @_publish_date@ @_nls_language@ @_publish_status@
} text/html} \ + -set text {
@event@
+

Abstract: @_text@
@detail_link@

} \ + -set form_constraints { + _title:text,label=#xowiki.title_of_event# + _text:richtext,editor=wym,label=#xowiki.abstract# + {event:event,label=#xowiki.event#,multiday=true} + {detail_link:detail_link,label=#xowiki.details#} + {_publish_status:radio,options={live ready} {draft production},label=#xowiki.publish_status#} + {_description:textarea,rows=3,label=#xowiki.news-teaser#} + _page_order:hidden _creator:hidden + } + + + Index: openacs-4/packages/xowiki/resources/prototypes/bib.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/bib.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/bib.page 18 Sep 2021 10:24:29 -0000 1.1.2.1 @@ -0,0 +1,104 @@ +# -*- Tcl -*- +# $Id: bib.page,v 1.1.2.1 2021/09/18 10:24:29 gustafn Exp $ +::xowiki::Object new -title "Bibliography Includelet" -text { + # + # A bibliography interface based on weblog. + # Bibliography entries are typically selected via + # entries_of (PageInstances, FormInstances). + # + # Gustaf Neumann fecit, May 2007 + # + my initialize -parameter { + {-summary:boolean 0} + {-date ""} + {-category_id ""} + {-tag ""} + {-ptag ""} + {-entries_of ""} + } + + # + # The following definition is the default rendering per + # weblog entry. This is executed in the context of every displayed page. + # + Class create EntryRenderer + EntryRenderer instproc render {} { + append content "
  • [next]
  • \n" + } + EntryRenderer instproc by_date {} { + if {[my exists instance_attributes]} { + array set ia {year "" month ""} + array set ia [my set instance_attributes] + return "$ia(year)-[format %2d $ia(month)]" + } + } + + # + # The following definition is the renderer for the full weblog. + # This is executed in the context of the whole weblog object + # + Class create WeblogRenderer -instproc render {} { + my instvar filter_msg link name prev_page_link next_page_link + + set prev "" + set next "" + + if {[info exists prev_page_link]} { + set prev "\ + Previous Page" + } + if {[info exists next_page_link]} { + set next "\ + Next Page" + } + return " $prev $next" + } + + my proc content {} { + my get_parameters + set page [my info parent] + + if {$entries_of eq ""} {return ""} + + if {[$page exists __including_page]} { + set i [$page set __including_page] + set exclude_item_ids [$i item_id] + $i set render_adp 0 ;# no double substitutions + #my log "--W including page $i" + } else { + #my log "--W NO including page" + set exclude_item_ids [$page item_id] + $page set __no_footer 1 + } + + # on the current page, an edit-new should not create an ::xowiki::object + ::xo::cc set_parameter object_type ::xowiki::Page + + # use the custom renderers defined above + set renderer [self]::WeblogRenderer + set entry_renderer [self]::EntryRenderer + + set w [::xowiki::Weblog new -destroy_on_cleanup \ + -package_id $package_id \ + -summary $summary \ + -date $date \ + -category_id $category_id \ + -tag $tag \ + -ptag $ptag \ + -no_footer true \ + -sort_composite "method,by_date,desc" \ + -entries_of $entries_of \ + -exclude_item_ids $exclude_item_ids \ + -entry_renderer $entry_renderer \ + ] + + $w mixin add $renderer + return [$w render] + } + +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/book-print.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/book-print.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/book-print.page 18 Sep 2021 10:24:30 -0000 1.1.2.1 @@ -0,0 +1,44 @@ +::xowiki::Page new -title "Book (print version)" -text { +{{set-parameter template_file view-plain}} +{{set-parameter master 0}} + + +@title@ + + + + + +Alex logo + +

    @title@

    +
    + + + + + + + + + + + + + +
    Creator: @creator@
    Version: 5.4
    Date:{{creation-date -format "%B %d, %Y"}} +
    +
    +

    Table of Contents: +

    +

    {{toc -style list -decoration plain -book_mode 1 -expand_all 1}} +

    +
    +

    {{book -menu_buttons ""}} +

    + +} Index: openacs-4/packages/xowiki/resources/prototypes/book.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/book.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/book.page 18 Sep 2021 10:24:30 -0000 1.1.2.1 @@ -0,0 +1,14 @@ +::xowiki::Page new -title "Book" -text { +{{set-parameter template_file view-default}} +

    +>>left-col25<< +{{toc -decoration plain -book_mode 1 -expand_all 1}} +>><< + +>>right-col75<< +

    @title@

    +

    Creator: @creator@

    +{{book -menu_buttons "edit copy create delete"}} +>><< + +} Index: openacs-4/packages/xowiki/resources/prototypes/categories-portlet.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/categories-portlet.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/categories-portlet.page 18 Sep 2021 10:24:30 -0000 1.1.2.1 @@ -0,0 +1,118 @@ +# -*- tcl-*- +# $Id: categories-portlet.page,v 1.1.2.1 2021/09/18 10:24:30 gustafn Exp $ +::xowiki::Object new -title "Categories" -text { + + # display the category tree with associated pages + # -gustaf neumann + # + # valid parameters from the adp include are + # tree_name: match pattern, if specified displays only the trees + # with matching names + # no_tree_name: if specified, tree names are not displayed + # open_page: name (e.g. en:iMacs) of the page to be opened initially + # tree_style: boolean, default: true, display based on mktree + + my initialize -parameter { + {-tree_name ""} + {-tree_style "mktree"} + {-no_tree_name:boolean 0} + {-count:boolean 0} + {-summary:boolean 0} + {-open_page ""} + {-category_ids ""} + {-except_category_ids ""} + } + + #if {![info exists name]} {set name "Categories"} + + my proc content {} { + my get_parameters + set folder_id [$package_id folder_id] + + set open_item_id [expr {$open_page ne "" ? + [::xo::db::CrClass lookup -name $open_page -parent_id $folder_id] : 0}] + + set content "" + + set tree_ids [::xowiki::Category get_mapped_trees -object_id $package_id \ + -names $tree_name -output {tree_id tree_name}] + + foreach tree $tree_ids { + lassign $tree tree_id my_tree_name + if {!$no_tree_name} { + append content "

    $my_tree_name

    " + } + set categories [list] + set pos 0 + set cattree(0) [::xowiki::Tree new -volatile -orderby pos -name $my_tree_name] + foreach category_info [::xowiki::Category get_category_infos -tree_id $tree_id] { + lassign $category_info cid category_label deprecated_p level + set c [::xowiki::TreeNode new -orderby pos \ + -level $level -label $category_label -pos [incr pos]] + set cattree($level) $c + set plevel [expr {$level -1}] + $cattree($plevel) add $c + set category($cid) $c + lappend categories $cid + #set itemobj [Object new -set name en:index -set title MyTitle -set prefix "" -set suffix ""] + #$cattree(0) add_to_category -category $c -itemobj $itemobj -orderby title + } + + # skip trees without categories, as nothing will be mapped to them + if {[llength $categories] == 0} continue + + set sql "category_object_map c, cr_items ci, cr_revisions r, xowiki_page p \ + where c.object_id = ci.item_id and ci.parent_id = :folder_id \ + and ci.content_type not in ('::xowiki::PageTemplate') \ + and category_id in ([join $categories ,]) \ + and r.revision_id = ci.live_revision \ + and p.page_id = r.revision_id" + + if {$except_category_ids ne ""} { + append sql \ + " and not exists (select * from category_object_map c2 \ + where ci.item_id = c2.object_id \ + and c2.category_id in ($except_category_ids))" + } + #my log "--c category_ids=$category_ids" + if {$category_ids ne ""} { + foreach cid [split $category_ids ,] { + append sql " and exists (select * from category_object_map \ + where object_id = ci.item_id and category_id = $cid)" + } + } + + if {$count} { + xo::dc foreach get_counts \ + "select count(*) as nr,category_id from $sql group by category_id" { + $category($category_id) set count $nr + set s [expr {$summary ? "&summary=$summary" : ""}] + $category($category_id) href [ad_conn url]?category_id=$category_id$s + $category($category_id) open_tree + } + append content [$cattree(0) render -style $tree_style] + } else { + xo::dc foreach get_pages \ + "select ci.item_id, ci.name, ci.content_type, r.title, category_id from $sql" { + if {$title eq ""} {set title $name} + set itemobj [Object new] + set prefix "" + set suffix "" + foreach var {name title prefix suffix} {$itemobj set $var [set $var]} + $itemobj set href [::$package_id pretty_link -parent_id $folder_id $name] + $cattree(0) add_item \ + -category $category($category_id) \ + -itemobj $itemobj \ + -orderby title \ + -open_item [expr {$item_id == $open_item_id}] + } + append content [$cattree(0) render -style $tree_style] + } + } + return $content + } + +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/contributors.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/contributors.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/contributors.page 18 Sep 2021 10:24:30 -0000 1.1.2.1 @@ -0,0 +1,34 @@ +# -*- tcl-*- +# $Id: contributors.page,v 1.1.2.1 2021/09/18 10:24:30 gustafn Exp $ +::xowiki::Object new -title "Contributors" -text { + + my proc content {} { + my instvar package_id + set folder_id [$package_id folder_id] + + TableWidget t1 -volatile \ + -columns { + Field contributor -label "Contributor" + Field count -label "Page Revisions" -html { align right } + } + + xo::dc foreach get_contributors {select count(object_id) as count, creation_user + from acs_objects o, cr_revisions cr,cr_items ci + where object_id = revision_id + and parent_id = :folder_id + and cr.item_id = ci.item_id + group by creation_user order by count desc + } { + if {$creation_user eq ""} continue + t1 add \ + -contributor [::xo::get_user_name $creation_user] \ + -count $count + } + [my info parent] render_adp 1 + return "The following users have contributed to this xowiki instance:

    [t1 asHTML]

    " + } + +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/ical.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/ical.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/ical.page 18 Sep 2021 10:24:30 -0000 1.1.2.1 @@ -0,0 +1,93 @@ +# -*- tcl-*- +# $Id: ical.page,v 1.1.2.1 2021/09/18 10:24:30 gustafn Exp $ +::xowiki::Object new -title "Ical" -text { + # + # A sample Ical object. + # + my initialize -parameter { + {-page_size:integer 100} + {-page_number:integer 1} + {-summary:boolean 0} + {-date ""} + {-tag ""} + {-ptag ""} + {-entries_of en:announcement-talk|en:announcement-workshop} + } + + # + # The following definition is the default rendering per + # news entry. This is executed in the context of every displayed page. + # + Class create IcalEntryRenderer -instproc render {} { + array set {} [my instance_attributes] + if {![info exists (event)]} { + ns_log warning "ical renderer: no event found page ${:name}" + return "" + } + array set event $(event) + #my msg [my instance_attributes] + set dtstart [::xo::ical clock_to_utc [clock scan $event(event.dtstart)]] + set dtend [::xo::ical clock_to_utc [clock scan $event(event.dtend)]] + set body "SUMMARY:[::xo::ical text_to_ical -remove_tags true $event(event.summary)]" + foreach f {location} { + set key event(event.$f) + if {[info exists $key] && [set $key] ne ""} { + append body \n[string toupper $f]:[::xo::ical text_to_ical -remove_tags true [set $key]] + } + } + + return [subst {BEGIN:VEVENT +DTSTART:$dtstart +DTEND:$dtend +$body +URL:[my pretty_link -absolute true] +END:VEVENT +}] + } + + # + # The following definition is the renderer for the aggregated content. + # This is executed in the context of the whole weblog object + # + Class create IcalRenderer -instproc render {} { + return [subst {BEGIN:VCALENDAR +VERSION:2.0 +[next]END:VCALENDAR +}] +} + + my proc content {} { + my get_parameters + # + # this is not an HTML page, decativate master and provide content-type + # + ::xo::cc set_parameter master 0 + ::xo::cc set_parameter content-type text/plain + + # use the above defined custom renderers + set renderer [self]::IcalRenderer + set entry_renderer [self]::IcalEntryRenderer + + set w [::xowiki::Weblog new -destroy_on_cleanup \ + -package_id $package_id \ + -page_size $page_size \ + -page_number $page_number \ + -summary $summary \ + -date $date \ + -category_id [ns_queryget category_id] \ + -tag $tag \ + -ptag $ptag \ + -entry_renderer $entry_renderer \ + -entry_flag __no_form_page_footer \ + -entries_of $entries_of \ + ] + + $w set __page [my info parent] + $w mixin add $renderer + return [$w render] + } + +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/index.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/index.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/index.page 18 Sep 2021 10:24:30 -0000 1.1.2.1 @@ -0,0 +1,29 @@ +::xowiki::Page new -title "Index Page" -text { + +

    +This is the default start page of XoWiki. You can edit this page and save it to +provide a personalized look of the XoWiki instance. You can as well provide a different index +page through configuration. +You can also view the contents of the Wiki in a weblog style. +For more details, consult the [[https://openacs.org/xowiki-doc/|XoWiki documentation]]. +

    +

    +A user can define notifications +for the whole XoWiki instance (by clicking on the notifications button +in the menu bar or for categories (by clicking on the letter symbol +next to the category entries at the bottom of the page) +

    +>>left-col<< +{{recent -max_entries 25}} +>><< +>>right-col<< +{{last-visited -title "Last Visited" -max_entries 10 }} +
    +{{most-popular -title "Most Popular" -max_entries 10 }} +>><< + +} + + + + Index: openacs-4/packages/xowiki/resources/prototypes/link.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/link.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/link.page 18 Sep 2021 10:24:30 -0000 1.1.2.1 @@ -0,0 +1,13 @@ +# -*- tcl-*- +::xowiki::Form new \ + -set name en:link \ + -title "Symbolic Link" \ + -set anon_instances t \ + -set text {@link@} \ + -set form {} \ + -set form_constraints { + _title:localized_text link:include + } + + + Index: openacs-4/packages/xowiki/resources/prototypes/news-item.form.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/news-item.form.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/news-item.form.page 18 Sep 2021 10:24:31 -0000 1.1.2.1 @@ -0,0 +1,21 @@ +# -*- tcl-*- +# $Id: news-item.form.page,v 1.1.2.1 2021/09/18 10:24:31 gustafn Exp $ +::xowiki::Form new \ + -set name en:news-item.form \ + -title "News Item" \ + -set anon_instances t \ + -set text {@image_url@ @_text@
    @detail_link@} \ + -set form {{
    @_title@ @detail_link@ @_text@ @image_url@ @_description@ @_publish_date@ @_nls_language@ @_publish_status@
    } text/html} \ + -set form_constraints { + _page_order:hidden + _creator:hidden + _title:text,label=#acs-kernel.common_Title# + {detail_link:detail_link,label=#xowiki.news-source#} + _publish_date:date + image_url:image_url,float=left,width=100px + {_publish_status:radio,options={live ready} {draft production},label=#xowiki.publish_status#} + {_description:textarea,rows=3,label=#xowiki.news-teaser#} + } + + + Index: openacs-4/packages/xowiki/resources/prototypes/news.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/news.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/news.page 18 Sep 2021 10:24:31 -0000 1.1.2.1 @@ -0,0 +1,161 @@ +# -*- tcl-*- +# $Id: news.page,v 1.1.2.1 2021/09/18 10:24:31 gustafn Exp $ +::xowiki::Object new -title "News" -text { + # + # A sample News object. + # + my initialize -parameter { + {-page_size:integer 10} + {-page_number:integer 1} + {-summary:boolean 0} + {-date ""} + {-tag ""} + {-ptag ""} + {-entries_of en:news-item.form|en:announcement-talk.form|en:announcement-workshop.form} + } + + my get_parameters + # + # Don't add the footer (with tags, general comments, etc.) to the + # aggregated page, since this can be confusing.. + # + [my info parent] set __no_footer 1 + + # + # get current folder + # + set folder_form_id [::xowiki::Weblog instantiate_forms -forms en:folder.form -package_id $package_id] + set current_folder [[my info parent] get_folder -folder_form_ids $folder_form_id] + my set current_folder_id [$current_folder item_id] + + # Provide a tailored link for creating new pages in the wiki menu + # + set forms [::xowiki::Weblog instantiate_forms -parent_id [my set current_folder_id] \ + -forms $entries_of \ + -package_id $package_id] + set template_id [lindex $forms 0] + if {$template_id ne ""} { + set form_link [$template_id pretty_link] + set new_link [$package_id make_link -link $form_link $template_id create-new return_url] + } else { + ns_log notice "Warning: could not resolve $entries_of with -parent_id [my set current_folder_id]" + set form_link "" + set new_link "" + } + + [my info parent] set __link(new) $new_link + + # + # The following definition is the default rendering per + # news entry. This is executed in the context of every displayed page. + # + Class create EntryRenderer -instproc render {} { + my instvar package_id name title creator creation_user pretty_date description publish_date + [my set __parent] instvar weblog_obj + + set link [my detail_link] + regsub -all & $link "&" link + set more [expr {[$weblog_obj summary] ? + " \[#xowiki.weblog-more#\]" : ""}] + #append more "

    " + set day [lc_time_fmt [my set publish_date] "%x"] + set my_footer [my htmlFooter] + + set edit_button [my include [list edit-item-button -book_mode true]] + if {$edit_button ne ""} {set edit_button "
    $edit_button
    "} + append content "
    " $edit_button \ + "

    [ns_quotehtml $title]

    " \ + " ($day)
    \n" \ + $description $more $my_footer \n\ + "
    " + } + + # + # The following definition is the renderer for the aggregated content. + # This is executed in the context of the whole weblog object + # + Class create NewsRenderer -instproc render {} { + my instvar filter_msg link name prev_page_link next_page_link title package_id + + set filter "" + set prev "" + set next "" + + if {[info exists filter_msg]} { + set filter "
    $filter_msg
    " + } + if {[info exists prev_page_link]} { + set prev "\ + Previous Page" + } + if {[info exists next_page_link]} { + set next "\ + Next Page" + } + # + # Include the RSS Button + # + set page [my set __page] + set rss [$page include "rss-button -title {[$page title]} -entries_of [my entries_of] -decoration none"] + # + # If the user has creation rights (on the first form), include the RSS Bookmarklet button + # + if {[my exists form_ids] && [my set form_ids] ne ""} { + set can_create_news_item [$package_id make_link [lindex [my set form_ids] 0] create-new return_url] + if {$can_create_news_item ne ""} { + append rss "Bookmarklet: " [$page include "bookmarklet-button -label {[$page title]}"] + } + } + + return "
    $filter [next] $prev $next
    $rss
    " + } + + my proc content {} { + my get_parameters + set page [my info parent] + + if {[$page exists __including_page]} { + set i [$page set __including_page] + set exclude_item_ids [$i item_id] + $i set render_adp 0 ;# no double substitutions + #my log "--W including page $i" + } else { + #my log "--W NO including page" + set exclude_item_ids [$page item_id] + } + + # on the news page, an edit-new should not create an object + ::xo::cc set_parameter object_type ::xowiki::Page + ::xo::cc set_parameter autoname 1 + + # use the above defined custom renderers + set renderer [self]::NewsRenderer + set entry_renderer [self]::EntryRenderer + + set w [::xowiki::Weblog new -destroy_on_cleanup \ + -package_id $package_id \ + -parent_id [my set current_folder_id] \ + -page_size $page_size \ + -page_number $page_number \ + -summary $summary \ + -date $date \ + -category_id [ns_queryget category_id] \ + -tag $tag \ + -ptag $ptag \ + -entry_label "News Articles" \ + -exclude_item_ids $exclude_item_ids \ + -entry_renderer $entry_renderer \ + -entry_flag __no_form_page_footer \ + -entries_of $entries_of \ + ] + $w set __page $page + $w mixin add $renderer + return [$w render] + } + +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/podcast.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/podcast.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/podcast.page 18 Sep 2021 10:24:31 -0000 1.1.2.1 @@ -0,0 +1,31 @@ +# -*- tcl-*- +# $Id: podcast.page,v 1.1.2.1 2021/09/18 10:24:31 gustafn Exp $ +::xowiki::Object new -title "XoWiki Podcast" -text { + + my initialize -parameter { + {-name_filter ""} + {-days ""} + } + + proc content {} { + my get_parameters + + ::xo::cc set_parameter master 0 + ::xo::cc set_parameter content-type text/xml + # -siteurl http://localhost:8053 + + set f [::xowiki::Podcast new -destroy_on_cleanup \ + -package_id $package_id \ + -name_filter $name_filter \ + -title [[my info parent] set title] \ + -description [[my info parent] set description] \ + -author [[my info parent] creator] \ + -subtitle "A Sample Collection of Podcast Items" \ + -days $days] + + return [$f render] + } +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/sitemap.xml.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/sitemap.xml.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/sitemap.xml.page 18 Sep 2021 10:24:31 -0000 1.1.2.1 @@ -0,0 +1,7 @@ +# -*- tcl-*- +::xowiki::Object new -title "sitemap.xml" -set publish_status production -text { + proc content {} { [my package_id] google-sitemap } +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/sitemapindex.xml.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/sitemapindex.xml.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/sitemapindex.xml.page 18 Sep 2021 10:24:31 -0000 1.1.2.1 @@ -0,0 +1,7 @@ +# -*- tcl-*- +::xowiki::Object new -title "sitemap.xml" -set publish_status production -text { + proc content {} { ::xowiki::Package www-google-sitemapindex } +} + + + Index: openacs-4/packages/xowiki/resources/prototypes/table-of-contents.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/resources/prototypes/Attic/table-of-contents.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki/resources/prototypes/table-of-contents.page 18 Sep 2021 10:24:31 -0000 1.1.2.1 @@ -0,0 +1,2 @@ +::xowiki::Page new -title "Table of Contents" -text {{{child-resources -publish_status all}}} + Index: openacs-4/packages/xowiki/www/prototypes/index.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/prototypes/index.page,v diff -u -N --- openacs-4/packages/xowiki/www/prototypes/index.page 18 Sep 2019 19:29:33 -0000 1.5.6.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,29 +0,0 @@ -::xowiki::Page new -title "Index Page" -text { - -

    -This is the default start page of XoWiki. You can edit this page and save it to -provide a personalized look of the XoWiki instance. You can as well provide a different index -page through configuration. -You can also view the contents of the Wiki in a weblog style. -For more details, consult the [[https://openacs.org/xowiki-doc/|XoWiki documentation]]. -

    -

    -A user can define notifications -for the whole XoWiki instance (by clicking on the notifications button -in the menu bar or for categories (by clicking on the letter symbol -next to the category entries at the bottom of the page) -

    ->>left-col<< -{{recent -max_entries 25}} ->><< ->>right-col<< -{{last-visited -title "Last Visited" -max_entries 10 }} -
    -{{most-popular -title "Most Popular" -max_entries 10 }} ->><< - -} - - - - Index: openacs-4/packages/xowiki/www/prototypes/table-of-contents.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/prototypes/Attic/table-of-contents.page,v diff -u -N --- openacs-4/packages/xowiki/www/prototypes/table-of-contents.page 14 Feb 2020 13:42:12 -0000 1.1.2.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,6 +0,0 @@ -::xowiki::Page new -title "Table of Contents" -text {{{child-resources -publish_status all}}} - - - - -