Index: openacs-4/packages/xowiki-portlet/COPYRIGHT =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/COPYRIGHT,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowiki-portlet/COPYRIGHT 27 Feb 2008 09:21:59 -0000 1.1 @@ -0,0 +1,23 @@ + * xowiki-portlet + * + * Copyright (C) 2005-2008 Gustaf Neumann, neumann@wu-wien.ac.at + * + * Vienna University of Economics and Business Administration + * Institute of Information Systems and New Media + * A-1090, Augasse 2-6 + * Vienna, Austria + * + * This is a BSD-Style license applicable for the files in this + * directory and below, except when stated explicitly different. + * + * Permission to use, copy, modify, distribute, and sell this + * software and its documentation for any purpose is hereby granted + * without fee, provided that the above copyright notice appear in + * all copies and that both that copyright notice and this permission + * notice appear in supporting documentation. We make no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied + * warranty. + * + + Index: openacs-4/packages/xowiki-portlet/xowiki-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/xowiki-portlet.info,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/xowiki-portlet/xowiki-portlet.info 31 Jan 2007 10:52:47 -0000 1.1 +++ openacs-4/packages/xowiki-portlet/xowiki-portlet.info 27 Feb 2008 09:21:59 -0000 1.2 @@ -7,19 +7,22 @@ f t - - Michael Totschnig - Gustaf Neumann - 2007-01-28 + + Gustaf Neumann + Michael Totschnig + 2008-02-27 OpenACS + BSD-Style 0 - + - + + + Index: openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.de_DE.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.de_DE.ISO-8859-1.xml,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.de_DE.ISO-8859-1.xml 31 Jan 2007 10:52:47 -0000 1.1 +++ openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.de_DE.ISO-8859-1.xml 27 Feb 2008 09:22:00 -0000 1.2 @@ -1,9 +1,14 @@ - + Xowiki Portlet Xowiki Portlets verwalten - Neues %element_pretty_name% + Alle Wiki-Seiten bereits als Portlets in Verwendung + Gruppen-Wiki + + Zum Name Neu + Neue Seite hinzuf�gen + Entferne Portlet Index: openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.en_US.ISO-8859-1.xml,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.en_US.ISO-8859-1.xml 31 Jan 2007 10:52:47 -0000 1.1 +++ openacs-4/packages/xowiki-portlet/catalog/xowiki-portlet.en_US.ISO-8859-1.xml 27 Feb 2008 09:22:00 -0000 1.2 @@ -1,9 +1,14 @@ - + Xowiki Portlet Xowiki Portlet Administration - New %element_pretty_name% + All pages are used, no unused pages available + Community Wiki + + Manage Pages of Name New + New %element_pretty_name% + Remove Portlet Index: openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-admin-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/sql/postgresql/Attic/xowiki-portlet-admin-drop.sql,v diff -u -N --- openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-admin-drop.sql 31 Jan 2007 10:52:47 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,118 +0,0 @@ --- --- Copyright (C) 2001, 2002 MIT --- --- This file is part of dotLRN. --- --- dotLRN is free software; you can redistribute it and/or modify it under the --- terms of the GNU General Public License as published by the Free Software --- Foundation; either version 2 of the License, or (at your option) any later --- version. --- --- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS --- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more --- details. --- - --- --- xowiki-portlet-admin-drop.sql --- - --- Deletes a portal datasource for the static portlet factory --- (admin interface) - --- Copyright (C) 2001 MIT --- @author Arjun Sanyal (arjun@openforce.net) - --- $Id: xowiki-portlet-admin-drop.sql,v 1.1 2007/01/31 10:52:47 gustafn Exp $ - --- This is free software distributed under the terms of the GNU Public --- License version 2 or higher. Full text of the license is available --- from the GNU Project: http://www.fsf.org/copyleft/gpl.html --- --- PostGreSQL port samir@symphinity.com 11 July 2002 --- - - - -create function inline_1() -returns integer as ' -declare - ds_id portal_datasources.datasource_id%TYPE; -begin - - select datasource_id into ds_id - from portal_datasources - where name = ''xowiki_admin_portlet''; - - if not found then - RAISE EXCEPTION '' No datasource id found '', ds_id; - ds_id := null; - end if; - - if ds_id is NOT null then - perform portal_datasource__delete(ds_id); - end if; - - -- drop the hooks - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''GetMyName'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''GetPrettyName'' - ); - - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''Link'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''AddSelfToPage'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''Show'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''Edit'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''RemoveSelfFromPage'' - ); - - -- Drop the binding - perform acs_sc_binding__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'' - ); - - -- drop the impl - perform acs_sc_impl__delete ( - ''portal_datasource'', - ''xowiki_admin_portlet'' - ); - - return 0; -end;' language 'plpgsql'; - -select inline_1(); -drop function inline_1(); - Index: openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-admin.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/sql/postgresql/Attic/xowiki-portlet-admin.sql,v diff -u -N --- openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-admin.sql 31 Jan 2007 10:52:47 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,190 +0,0 @@ --- --- Copyright (C) 2001, 2002 MIT --- --- This file is part of dotLRN. --- --- dotLRN is free software; you can redistribute it and/or modify it under the --- terms of the GNU General Public License as published by the Free Software --- Foundation; either version 2 of the License, or (at your option) any later --- version. --- --- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS --- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more --- details. --- - --- --- xowiki-admin-portlet.sql --- - --- Creates a portal datasource for the xowiki portlet factory --- (admin interface) - --- Copyright (C) 2001 MIT --- @author Arjun Sanyal (arjun@openforce.net) - --- $Id: xowiki-portlet-admin.sql,v 1.1 2007/01/31 10:52:47 gustafn Exp $ - --- This is free software distributed under the terms of the GNU Public --- License version 2 or higher. Full text of the license is available --- from the GNU Project: http://www.fsf.org/copyleft/gpl.html --- --- PostGreSQL port samir@symphinity.com 11 July 2002 --- - -create function inline_0() -returns integer as ' -declare - ds_id portal_datasources.datasource_id%TYPE; -begin - ds_id := portal_datasource__new( - ''xowiki_admin_portlet'', -- name - ''Displays the admin interface for the xowiki data portlets'' -- Description - ); - - -- 4 defaults procs - - -- shadeable_p - perform portal_datasource__set_def_param ( - ds_id, -- datasource_id - ''t'', -- config_required_p - ''t'', -- configured_p - ''shadeable_p'', -- key - ''f'' -- value -); - - -- shaded_p - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''t'', - ''shaded_p'', - ''f'' -); - - -- hideable_p - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''t'', - ''hideable_p'', - ''t'' -); - - -- user_editable_p - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''t'', - ''user_editable_p'', - ''f'' -); - - -- link_hideable_p - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''t'', - ''link_hideable_p'', - ''t'' -); - - - -- xowiki-admin-specific procs - - -- package_id must be configured - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''f'', - ''package_id'', - '''' -); - return 0; -end;' language 'plpgsql'; - -select inline_0(); - -drop function inline_0(); - - -create function inline_1() -returns integer as ' -begin - -- create the implementation - perform acs_sc_impl__new ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''xowiki_admin_portlet'' - ); - - -- add all the hooks - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''GetMyName'', - ''xowiki_admin_portlet::get_my_name'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''GetPrettyName'', - ''xowiki_admin_portlet::get_pretty_name'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''Link'', - ''xowiki_admin_portlet::link'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''AddSelfToPage'', - ''xowiki_admin_portlet::add_self_to_page'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''Show'', - ''xowiki_admin_portlet::show'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''Edit'', - ''xowiki_admin_portlet::edit'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_admin_portlet'', - ''RemoveSelfFromPage'', - ''xowiki_admin_portlet::remove_self_from_page'', - ''TCL'' - ); - - -- Add the binding - perform acs_sc_binding__new ( - ''portal_datasource'', -- contract_name - ''xowiki_admin_portlet'' -- impl_name - ); - - return 0; -end;' language 'plpgsql'; - -select inline_1(); - -drop function inline_1(); Index: openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/sql/postgresql/Attic/xowiki-portlet-create.sql,v diff -u -N --- openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-create.sql 31 Jan 2007 10:52:47 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,20 +0,0 @@ --- --- Copyright (C) 2001, 2002 MIT --- --- This file is part of dotLRN. --- --- dotLRN is free software; you can redistribute it and/or modify it under the --- terms of the GNU General Public License as published by the Free Software --- Foundation; either version 2 of the License, or (at your option) any later --- version. --- --- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS --- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more --- details. --- --- --- PostGreSQL port samir@symphinity.com 11 July 2002 --- -\i xowiki-portlet-portlet.sql -\i xowiki-portlet-admin.sql Index: openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/sql/postgresql/Attic/xowiki-portlet-drop.sql,v diff -u -N --- openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-drop.sql 31 Jan 2007 10:52:47 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,20 +0,0 @@ --- --- Copyright (C) 2001, 2002 MIT --- --- This file is part of dotLRN. --- --- dotLRN is free software; you can redistribute it and/or modify it under the --- terms of the GNU General Public License as published by the Free Software --- Foundation; either version 2 of the License, or (at your option) any later --- version. --- --- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS --- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more --- details. --- --- --- PostGreSQL port samir@symphinity.com 11 July 2002 --- -\i xowiki-portlet-portlet-drop.sql -\i xowiki-portlet-admin-drop.sql Index: openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-portlet-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/sql/postgresql/Attic/xowiki-portlet-portlet-drop.sql,v diff -u -N --- openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-portlet-drop.sql 31 Jan 2007 10:52:47 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,121 +0,0 @@ --- --- Copyright (C) 2001, 2002 MIT --- --- This file is part of dotLRN. --- --- dotLRN is free software; you can redistribute it and/or modify it under the --- terms of the GNU General Public License as published by the Free Software --- Foundation; either version 2 of the License, or (at your option) any later --- version. --- --- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS --- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more --- details. --- - --- --- xowiki-portlet-portlet-drop.sql --- - --- Deletes a portal datasource for the xowiki portlet factory - --- Copyright (C) 2001 MIT --- @author Arjun Sanyal (arjun@openforce.net) - --- $Id: xowiki-portlet-portlet-drop.sql,v 1.1 2007/01/31 10:52:47 gustafn Exp $ - --- This is free software distributed under the terms of the GNU Public --- License version 2 or higher. Full text of the license is available --- from the GNU Project: http://www.fsf.org/copyleft/gpl.html --- --- PostGreSQL port samir@symphinity.com 11 July 2002 --- - - - -create function inline_1() -returns integer as ' -declare - ds_id portal_datasources.datasource_id%TYPE; -begin - - select datasource_id into ds_id - from portal_datasources - where name = ''xowiki_portlet''; - - if not found then - RAISE EXCEPTION '' No datasource id found '', ds_id; - ds_id := null; - end if; - - if ds_id is NOT null then - perform portal_datasource__delete(ds_id); - end if; - - -- drop the hooks - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_portlet'', - ''GetMyName'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_portlet'', - ''GetPrettyName'' - ); - - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_portlet'', - ''Link'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_portlet'', - ''AddSelfToPage'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_portlet'', - ''Show'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_portlet'', - ''Edit'' - ); - - perform acs_sc_impl_alias__delete ( - ''portal_datasource'', - ''xowiki_portlet'', - ''RemoveSelfFromPage'' - ); - - -- Drop the binding - perform acs_sc_binding__delete ( - ''portal_datasource'', - ''xowiki_portlet'' - ); - - -- drop the impl - perform acs_sc_impl__delete ( - ''portal_datasource'', - ''xowiki_portlet'' - ); - - return 0; -end;' language 'plpgsql'; - -select inline_1(); -drop function inline_1(); - - - - - Index: openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-portlet.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/sql/postgresql/Attic/xowiki-portlet-portlet.sql,v diff -u -N --- openacs-4/packages/xowiki-portlet/sql/postgresql/xowiki-portlet-portlet.sql 31 Jan 2007 10:52:48 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,201 +0,0 @@ --- --- Copyright (C) 2001, 2002 MIT --- --- This file is part of dotLRN. --- --- dotLRN is free software; you can redistribute it and/or modify it under the --- terms of the GNU General Public License as published by the Free Software --- Foundation; either version 2 of the License, or (at your option) any later --- version. --- --- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS --- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more --- details. --- - --- --- xowiki-portlet-portlet.sql --- - --- Creates a portal datasource for the xowiki portlet factory - --- Copyright (C) 2001 MIT --- @author Arjun Sanyal (arjun@openforce.net) - --- $Id: xowiki-portlet-portlet.sql,v 1.1 2007/01/31 10:52:48 gustafn Exp $ - --- This is free software distributed under the terms of the GNU Public --- License version 2 or higher. Full text of the license is available --- from the GNU Project: http://www.fsf.org/copyleft/gpl.html --- --- PostGreSQL port samir@symphinity.com 11 July 2002 --- - - -create function inline_0() -returns integer as ' -declare - ds_id portal_datasources.datasource_id%TYPE; -begin - ds_id := portal_datasource__new( - ''xowiki_portlet'', -- name - ''Displays an xowiki page as a portlet'' -- description - ); - - -- 4 defaults procs - - -- shadeable_p - perform portal_datasource__set_def_param ( - ds_id, -- datasource_id - ''t'', -- config_required_p - ''t'', -- configured_p - ''shadeable_p'', -- key - ''t'' -- value - ); - - -- shaded_p - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''t'', - ''shaded_p'', - ''f'' - ); - - -- hideable_p - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''t'', - ''hideable_p'', - ''t'' - ); - - -- user_editable_p - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''t'', - ''user_editable_p'', - ''f'' -); - - -- link_hideable_p - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''t'', - ''link_hideable_p'', - ''t'' -); - - - -- xowiki-specific procs - - -- package_id must be configured - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''f'', - ''package_id'', - '''' -); - - perform portal_datasource__set_def_param ( - ds_id, - ''t'', - ''f'', - ''page_name'', - '''' -); - - return 0; -end;' language 'plpgsql'; - -select inline_0(); - -drop function inline_0(); - - -create function inline_1() -returns integer as ' -begin - - -- create the implementation - perform acs_sc_impl__new ( - ''portal_datasource'', - ''xowiki_portlet'', - ''xowiki_portlet'' - ); - - -- add all the hooks - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_portlet'', - ''GetMyName'', - ''xowiki_portlet::get_my_name'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_portlet'', - ''GetPrettyName'', - ''xowiki_portlet::get_pretty_name'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_portlet'', - ''Link'', - ''xowiki_portlet::link'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_portlet'', - ''AddSelfToPage'', - ''xowiki_portlet::add_self_to_page'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_portlet'', - ''Show'', - ''xowiki_portlet::show'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_portlet'', - ''Edit'', - ''xowiki_portlet::edit'', - ''TCL'' - ); - - perform acs_sc_impl_alias__new ( - ''portal_datasource'', - ''xowiki_portlet'', - ''RemoveSelfFromPage'', - ''xowiki_portlet::remove_self_from_page'', - ''TCL'' - ); - - -- Add the binding - perform acs_sc_binding__new ( - ''portal_datasource'', -- contract_name - ''xowiki_portlet'' -- impl_name - ); - - - return 0; -end;' language 'plpgsql'; - -select inline_1(); - -drop function inline_1(); Index: openacs-4/packages/xowiki-portlet/tcl/xowiki-admin-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/tcl/xowiki-admin-portlet-procs.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/xowiki-portlet/tcl/xowiki-admin-portlet-procs.tcl 31 Jan 2007 10:52:48 -0000 1.1 +++ openacs-4/packages/xowiki-portlet/tcl/xowiki-admin-portlet-procs.tcl 27 Feb 2008 09:22:00 -0000 1.2 @@ -1,85 +1,198 @@ +ad_library { + Procedures to supports xowiki admin portlets. + + @creation-date 2008-02-26 + @author Gustaf Neumann + @cvs-id $Id$ +} + # -# Copyright (C) 2001, 2002 MIT +# This is the first approach to make the portlet-procs # -# This file is part of dotLRN. +# (a) in an oo-style (the object below contains everything +# for the management of the portlet) and +# (b) independent from the database layer +# (supposed to work under postgres and Oracle) # -# dotLRN is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# In the next steps, it would make sense to define a ::dotlrn::Portlet +# class, which provides some of the the common behaviour defined here... # -# dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -ad_library { +Object xowiki_admin_portlet +xowiki_admin_portlet proc name {} { + return "xowiki-admin-portlet" +} - Procedures to support the xowiki ADMIN portlet +xowiki_admin_portlet proc pretty_name {} { + return [parameter::get_from_package_key \ + -package_key [my package_key] \ + -parameter xowiki_admin_portlet_pretty_name] +} - @author arjun@openforce.net - @cvs-id $Id$ +xowiki_admin_portlet proc package_key {} { + return "xowiki-portlet" } -namespace eval xowiki_admin_portlet { +xowiki_admin_portlet proc link {} { + return "" +} - ad_proc -private get_my_name { - } { - return "xowiki_admin_portlet" - } +xowiki_admin_portlet ad_proc add_self_to_page { + {-portal_id:required} + {-package_id:required} +} { + Adds a xowiki admin PE to the given portal +} { + return [portal::add_element_parameters \ + -portal_id $portal_id \ + -portlet_name [my name] \ + -key package_id \ + -value $package_id \ + ] + ns_log notice "end of add_self_to_page" +} - ad_proc -public get_pretty_name { - } { - return [parameter::get_from_package_key \ - -package_key [my_package_key] \ - -parameter xowiki_admin_portlet_pretty_name] - } +xowiki_admin_portlet ad_proc remove_self_from_page { + {-portal_id:required} +} { + Removes xowiki admin PE from the given page +} { + # This is easy since there's one and only one instace_id + portal::remove_element \ + -portal_id $portal_id \ + -portlet_name [my name] +} - ad_proc -private my_package_key { - } { - return "xowiki-portlet" - } +xowiki_admin_portlet ad_proc show { + cf +} { + Display the xowiki admin PE +} { + portal::show_proc_helper \ + -package_key [my package_key] \ + -config_list $cf \ + -template_src "xowiki-admin-portlet" +} - ad_proc -public link { - } { - return "" - } +xowiki_admin_portlet proc install {} { + my log "--portlet calling [self proc]" + set name [my name] + db_transaction { - ad_proc -public add_self_to_page { - {-portal_id:required} - {-package_id:required} + # + # create the datasource + # + set ds_id [::xo::db::sql::portal_datasource new -name $name \ + -css_dir "" \ + -description "Displays the admin interface for the xowiki data portlets"] + + # default configuration + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "shadeable_p" -value f + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "shaded_p" -value f + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "hideable_p" -value t + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "user_editable_p" -value f + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "link_hideable_p" -value t + + # xowiki-admin-specific procs + + # package_id must be configured + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p f \ + -key "package_id" -value "" + + + # + # service contract managemet + # + # create the implementation + ::xo::db::sql::acs_sc_impl new \ + -impl_contract_name "portal_datasource" -impl_name $name \ + -impl_pretty_name "" -impl_owner_name $name + + # add the operations + foreach {operation call} { + GetMyName "xowiki_admin_portlet name" + GetPrettyName "xowiki_admin_portlet pretty_name" + Link "xowiki_admin_portlet link" + AddSelfToPage "xowiki_admin_portlet add_self_to_page" + Show "xowiki_admin_portlet show" + Edit "xowiki_admin_portlet edit" + RemoveSelfFromPage "xowiki_admin_portlet remove_self_from_page" } { - Adds a xowiki admin PE to the given portal - } { - return [portal::add_element_parameters \ - -portal_id $portal_id \ - -portlet_name [get_my_name] \ - -key package_id \ - -value $package_id - ] - ns_log notice "end of add_self_to_page" + ::xo::db::sql::acs_sc_impl_alias new \ + -impl_contract_name "portal_datasource" -impl_name $name \ + -impl_operation_name $operation -impl_alias $call \ + -impl_pl "TCL" } + + # Add the binding + ::xo::db::sql::acs_sc_binding new \ + -contract_name "portal_datasource" -impl_name $name + } + my log "--portlet end of [self proc]" +} - ad_proc -public remove_self_from_page { - {-portal_id:required} - } { - Removes xowiki PE from the given page - } { - # This is easy since there's one and only one instace_id - portal::remove_element \ - -portal_id $portal_id \ - -portlet_name [get_my_name] - } +xowiki_admin_portlet proc uninstall {} { + my log "--portlet calling [self proc]" + # + # completely identical to "xowiki_portlet uninstall" + # + set name [my name] + db_transaction { - ad_proc -public show { - cf + # + # get the datasource + # + set ds_id [db_string dbqd..get_ds_id { + select datasource_id from portal_datasources where name = :name + } -default "0"] + + if {$ds_id == 0} { + error "No datasource id found for $name" + } + # + # drop the datasource + # + ::xo::db::sql::portal_datasource delete -datasource_id $ds_id + # + # drop the operation + # + foreach operation { + GetMyName GetPrettyName Link AddSelfToPage + Show Edit RemoveSelfFromPage } { - Display the PE - } { - portal::show_proc_helper \ - -package_key [my_package_key] \ - -config_list $cf \ - -template_src "xowiki-admin-portlet" + ::xo::db::sql::acs_sc_impl_alias delete \ + -impl_contract_name "portal_datasource" -impl_name $name \ + -impl_operation_name $operation } - + # + # drop the binding + # + ::xo::db::sql::acs_sc_binding delete \ + -contract_name "portal_datasource" -impl_name $name + # + # drop the implementation + # + ::xo::db::sql::acs_sc_impl delete \ + -impl_contract_name "portal_datasource" -impl_name $name + } + my log "--portlet end of [self proc]" } + + + + Index: openacs-4/packages/xowiki-portlet/tcl/xowiki-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/tcl/xowiki-portlet-procs.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/xowiki-portlet/tcl/xowiki-portlet-procs.tcl 31 Jan 2007 10:52:48 -0000 1.1 +++ openacs-4/packages/xowiki-portlet/tcl/xowiki-portlet-procs.tcl 27 Feb 2008 09:22:00 -0000 1.2 @@ -1,73 +1,201 @@ +ad_library { + Procedures to supports xowiki portlets. + + @creation-date 2008-02-26 + @author Gustaf Neumann + @cvs-id $Id$ +} + # -# Copyright (C) 2001, 2002 MIT +# This is the first approach to make the portlet-procs # -# This file is part of dotLRN. +# (a) in an oo-style (the object below contains everything +# for the management of the portlet) and +# (b) independent from the database layer +# (supposed to work under postgres and Oracle) # -# dotLRN is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# In the next steps, it would make sense to define a ::dotlrn::Portlet +# class, which provides some of the common behaviour defined here... # -# dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. -# -ad_library { +Object xowiki_portlet +xowiki_portlet proc name {} { + return "xowiki-portlet" +} - Procedures to supports xowiki portlets. +xowiki_portlet proc pretty_name {} { + return "" } -namespace eval xowiki_portlet { +xowiki_portlet proc package_key {} { + return "xowiki-portlet" +} - ad_proc -private get_my_name { - } { - return "xowiki_portlet" - } +xowiki_portlet proc link {} { + return "" +} - ad_proc -public get_pretty_name { - } { - return "" - } +xowiki_portlet ad_proc add_self_to_page { + {-portal_id:required} + {-package_id:required} +} { + Adds a PE to the given page +} { + ns_log notice "xowiki_portlet::add_self_to_page - Don't call me. " + error "don't call me" +} - ad_proc -private my_package_key { - } { - return "xowiki-portlet" - } +xowiki_portlet ad_proc remove_self_from_page { + portal_id + element_id +} { + Removes PE from the given page +} { + # This is easy since there's one and only one instace_id + portal::remove_element $element_id +} - ad_proc -public link { - } { - return "" - } +xowiki_portlet ad_proc show {cf} { +} { + portal::show_proc_helper \ + -package_key [my package_key] \ + -config_list $cf \ + -template_src "xowiki-portlet" +} - ad_proc -public add_self_to_page { - {-portal_id:required} - {-package_id:required} +# +# install +# +xowiki_portlet proc install {} { + my log "--portlet calling [self proc]" + set name [my name] + # + # create the datasource + # + db_transaction { + set ds_id [::xo::db::sql::portal_datasource new -name $name \ + -css_dir "" \ + -description "Displays an xowiki page as a portlet"] + + # default configuration + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "shadeable_p" -value t + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "shaded_p" -value f + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "hideable_p" -value t + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "user_editable_p" -value f + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p t \ + -key "link_hideable_p" -value t + + # xowiki-specific configuration + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p f \ + -key "package_id" -value "" + + ::xo::db::sql::portal_datasource set_def_param -datasource_id $ds_id \ + -config_required_p t -configured_p f \ + -key "page_name" -value "" + + # + # service contract managemet + # + # create the implementation + ::xo::db::sql::acs_sc_impl new \ + -impl_contract_name "portal_datasource" -impl_name $name \ + -impl_pretty_name "" -impl_owner_name $name + + # add the operations + foreach {operation call} { + GetMyName "xowiki_portlet name" + GetPrettyName "xowiki_portlet pretty_name" + Link "xowiki_portlet link" + AddSelfToPage "xowiki_portlet add_self_to_page" + Show "xowiki_portlet show" + Edit "xowiki_portlet edit" + RemoveSelfFromPage "xowiki_portlet remove_self_from_page" } { - Adds a static PE to the given page - } { - ns_log notice "xowiki_portlet::add_self_to_page - Don't call me. Use static_portal_content:: instead" - error + ::xo::db::sql::acs_sc_impl_alias new \ + -impl_contract_name "portal_datasource" -impl_name $name \ + -impl_operation_name $operation -impl_alias $call \ + -impl_pl "TCL" } + + # Add the binding + ::xo::db::sql::acs_sc_binding new \ + -contract_name "portal_datasource" -impl_name $name + } + my log "--portlet end of [self proc]" +} - ad_proc -public remove_self_from_page { - portal_id - element_id - } { - Removes static PE from the given page - } { - # This is easy since there's one and only one instace_id - portal::remove_element $element_id - } +# +# uninstall +# - ad_proc -public show { - cf +xowiki_portlet proc uninstall {} { + my log "--portlet calling [self proc]" + # + # completely identical to "xowiki_admin_portlet uninstall" + # + set name [my name] + + db_transaction { + # + # get the datasource + # + set ds_id [db_string dbqd..get_ds_id { + select datasource_id from portal_datasources where name = :name + } -default "0"] + + if {$ds_id == 0} { + error "No datasource id found for $name" + } + # + # drop the datasource + # + ::xo::db::sql::portal_datasource delete -datasource_id $ds_id + # + # drop the operation + # + foreach operation { + GetMyName GetPrettyName Link AddSelfToPage + Show Edit RemoveSelfFromPage } { - } { - portal::show_proc_helper \ - -package_key [my_package_key] \ - -config_list $cf \ - -template_src "xowiki-portlet" + ::xo::db::sql::acs_sc_impl_alias delete \ + -impl_contract_name "portal_datasource" -impl_name $name \ + -impl_operation_name $operation } + # + # drop the binding + # + ::xo::db::sql::acs_sc_binding delete \ + -contract_name "portal_datasource" -impl_name $name + # + # drop the implementation + # + ::xo::db::sql::acs_sc_impl delete \ + -impl_contract_name "portal_datasource" -impl_name $name + } + my log "--portlet end of [self proc]" } + +::xowiki_portlet proc after-install {} { + ::xowiki_portlet install + ::xowiki_admin_portlet install +} + +::xowiki_portlet proc before-uninstall {} { + ::xowiki_portlet uninstall + ::xowiki_admin_portlet uninstall +} \ No newline at end of file Index: openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.adp,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.adp 31 Jan 2007 10:52:48 -0000 1.1 +++ openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.adp 27 Feb 2008 09:22:00 -0000 1.2 @@ -1,13 +1,13 @@ -Manage Pages of XoWiki +#xowiki-portlet.manage-pages# #xowiki-portlet.community-wiki# No community specified Index: openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.tcl 9 Aug 2007 15:44:01 -0000 1.2 +++ openacs-4/packages/xowiki-portlet/www/xowiki-admin-portlet.tcl 27 Feb 2008 09:22:00 -0000 1.3 @@ -38,12 +38,12 @@ from portal_element_map m, portal_pages p, portal_element_parameters pep where m.page_id = p.page_id and p.portal_id = $template_portal_id - and m.datasource_id = [portal::get_datasource_id [xowiki_portlet::get_my_name]] + and m.datasource_id = [portal::get_datasource_id [xowiki_portlet name]] and pep.element_id = m.element_id and pep.key = 'page_name'" {} - + # don't ask to insert same page twice template::multirow foreach content {set used_page_id($name) 1} - + array set config $cf set options "" ::xowiki::Package initialize -package_id $config(package_id) @@ -52,7 +52,7 @@ -folder_id [::$package_id folder_id] \ -with_subtypes true \ -from_clause ", xowiki_page P" \ - -where_clause "P.page_id = cr.revision_id" \ + -where_clause "P.page_id = bt.revision_id" \ -orderby "ci.name" \ ] { if {[regexp {^::[0-9]} $name]} continue @@ -65,14 +65,14 @@
- Add #xowiki-portlet.new_xowiki_admin_portlet# $options
}] } else { - set form "All pages already used" + set form "#xowiki-portlet.all-pages-used#" } set applet_url [$package_id package_url] Index: openacs-4/packages/xowiki-portlet/www/xowiki-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki-portlet/www/xowiki-portlet.adp,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/xowiki-portlet/www/xowiki-portlet.adp 31 Jan 2007 10:52:48 -0000 1.1 +++ openacs-4/packages/xowiki-portlet/www/xowiki-portlet.adp 27 Feb 2008 09:22:00 -0000 1.2 @@ -1 +1,2 @@ +