Index: openacs-4/packages/lamsint-portlet/lamsint-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/lamsint-portlet.info,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/lamsint-portlet.info 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,27 @@ + + + + + LAMS Integration Portlet + LAMS Integration Portlets + f + t + + + Ernie Ghiglione + 2005-11-24 + LAMS Foundation + + + + + 0 + + + + + + + + + Index: openacs-4/packages/lamsint-portlet/sql/postgresql/lamsint-admin-portlet-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/sql/postgresql/lamsint-admin-portlet-create.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/sql/postgresql/lamsint-admin-portlet-create.sql 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,151 @@ +-- /lorsm-portlet/sql/postgresql/lorsm-admin-portlet-create.sql +-- +-- Creates LAMS Integration portlet +-- +-- @author Ernie Ghiglione (ErnieG@melcoe.mq.edu.au) +-- @creation-date 2005-11-24 +-- @cvs-id $Id: lamsint-admin-portlet-create.sql,v 1.1 2005/12/08 09:41:33 ernieg Exp $ +-- + +create function inline_0 () +returns integer as ' +declare + ds_id portal_datasources.datasource_id%TYPE; +begin + ds_id = portal_datasource__new( + ''lamsint_admin_portlet'', + ''Displays a folder_id'' + ); + +RAISE NOTICE '' created new ds''; + + perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''shadeable_p'', + ''f'' + ); + +RAISE NOTICE '' set shadeable''; + perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''hideable_p'', + ''f'' + ); + +RAISE NOTICE '' set hideable''; + perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''user_editable_p'', + ''f'' + ); + + perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''shaded_p'', + ''f'' + ); + + perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''link_hideable_p'', + ''t'' + ); + + 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 the implementation +select acs_sc_impl__new ( + 'portal_datasource', + 'lamsint_admin_portlet', + 'lamsint_admin_portlet' +); + +-- add all the hooks +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_admin_portlet', + 'GetMyName', + 'lamsint_admin_portlet::get_my_name', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_admin_portlet', + 'GetPrettyName', + 'lamsint_admin_portlet::get_pretty_name', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_admin_portlet', + 'Link', + 'lamsint_admin_portlet::link', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_admin_portlet', + 'AddSelfToPage', + 'lamsint_admin_portlet::add_self_to_page', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_admin_portlet', + 'Show', + 'lamsint_admin_portlet::show', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_admin_portlet', + 'Edit', + 'lamsint_admin_portlet::edit', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_admin_portlet', + 'RemoveSelfFromPage', + 'lamsint_admin_portlet::remove_self_from_page', + 'TCL' +); + +-- Add the binding +select acs_sc_binding__new( + 'portal_datasource', + 'lamsint_admin_portlet' +); Index: openacs-4/packages/lamsint-portlet/sql/postgresql/lamsint-portlet-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/sql/postgresql/lamsint-portlet-create.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/sql/postgresql/lamsint-portlet-create.sql 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,156 @@ +-- /lorsm-portlet/sql/postgresql/lorsm-portlet-create.sql +-- +-- Creates LAMS Integration portlet +-- +-- @author Ernie Ghiglione (ErnieG@melcoe.mq.edu.au) +-- @creation-date 2005-11-24 +-- @cvs-id $Id: lamsint-portlet-create.sql,v 1.1 2005/12/08 09:41:33 ernieg Exp $ +-- + +create function inline_0 () +returns integer as ' +declare + ds_id portal_datasources.datasource_id%TYPE; +begin + ds_id = portal_datasource__new( + ''lamsint_portlet'', + ''Displays a Folder_id'' + ); + + +perform portal_datasource__set_def_param( + ds_id, + ''t'', + ''t'', + ''shadeable_p'', + ''t'' +); + +perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''hideable_p'', + ''t'' +); + +perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''user_editable_p'', + ''f'' +); + +perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''shaded_p'', + ''f'' +); + +perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''link_hideable_p'', + ''t'' +); + +perform portal_datasource__set_def_param ( + ds_id, + ''t'', + ''t'', + ''style'', + ''list'' +); + +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 the implementation +select acs_sc_impl__new( + 'portal_datasource', + 'lamsint_portlet', + 'lamsint_portlet' +); + + +-- add all the hooks +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_portlet', + 'GetMyName', + 'lamsint_portlet::get_my_name', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_portlet', + 'GetPrettyName', + 'lamsint_portlet::get_pretty_name', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_portlet', + 'Link', + 'lamsint_portlet::link', + 'TCL' +); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_portlet', + 'AddSelfToPage', + 'lamsint_portlet::add_self_to_page', + 'TCL' + ); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_portlet', + 'Show', + 'lamsint_portlet::show', + 'TCL' + ); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_portlet', + 'Edit', + 'lamsint_portlet::edit', + 'TCL' + ); + +select acs_sc_impl_alias__new( + 'portal_datasource', + 'lamsint_portlet', + 'RemoveSelfFromPage', + 'lamsint_portlet::remove_self_from_page', + 'TCL' + ); + + -- Add the binding +select acs_sc_binding__new ( + 'portal_datasource', + 'lamsint_portlet' +); + +\i lamsint-admin-portlet-create.sql Index: openacs-4/packages/lamsint-portlet/tcl/lamsint-admin-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/tcl/lamsint-admin-portlet-procs.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/tcl/lamsint-admin-portlet-procs.tcl 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,71 @@ +ad_library { + + Procedures to support the LAMS Integration portlet. + + @creation-date 2005-11-24 + @author Ernie Ghiglione (ErnieG@melcoe.mq.edu.au + @cvs-id $Id: lamsint-admin-portlet-procs.tcl,v 1.1 2005/12/08 09:41:33 ernieg Exp $ + +} + +namespace eval lamsint_admin_portlet { + + ad_proc -private get_my_name { + } { + return "lamsint_admin_portlet" + } + + ad_proc -public get_pretty_name { + } { + return "LAMS Integration Admin" + } + + ad_proc -private my_package_key { + } { + return "lamsint-portlet" + } + + ad_proc -public link { + } { + return "" + } + + ad_proc -public add_self_to_page { + {-portal_id:required} + {-package_id:required} + } { + Adds a LAMS Integration admin PE to the given admin portal. There should only + ever be one of these portals on an admin page with only one lamsint_package_id + + @param portal_id The page to add self to + @param package_id the id of the lamsint package + + @return element_id The new element's id + } { + return [portal::add_element_parameters \ + -portal_id $portal_id \ + -portlet_name [get_my_name] \ + -key package_id \ + -value $package_id + ] + } + + ad_proc -public remove_self_from_page { + portal_id + } { + Removes a LAMS Integration admin PE from the given portal + } { + portal::remove_element -portal_id $portal_id -portlet_name [get_my_name] + } + + ad_proc -public show { + cf + } { + } { + portal::show_proc_helper \ + -package_key [my_package_key] \ + -config_list $cf \ + -template_src "lamsint-admin-portlet" + } + +} Index: openacs-4/packages/lamsint-portlet/tcl/lamsint-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/tcl/lamsint-portlet-procs.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/tcl/lamsint-portlet-procs.tcl 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,87 @@ +ad_library { + + Procedures to support the LORS Management portlet. + + @author Ernie Ghiglione (ErnieG@melcoe.mq.edu.au) + @creation-date 2005-11-24 + @cvs-id $Id: lamsint-portlet-procs.tcl,v 1.1 2005/12/08 09:41:33 ernieg Exp $ + +} + +namespace eval lamsint_portlet { + + ad_proc -private get_my_name { + } { + return "lamsint_portlet" + } + + ad_proc -private my_package_key { + } { + return "lamsint-portlet" + } + + ad_proc -public get_pretty_name { + } { + return "LAMS Sequences" + } + + ad_proc -public link { + } { + return "" + } + + ad_proc -public add_self_to_page { + {-portal_id:required} + {-package_id:required} + {-param_action:required} + } { + Adds a LAMS Integration PE to the given portal or appends the given + lamsint_package_id to the params of the lamsint pe already there + + @param portal_id The page to add self to + @param package_id the id of the lamsint package for this community + + @return element_id The new element's id + } { + return [portal::add_element_parameters \ + -portal_id $portal_id \ + -portlet_name [get_my_name] \ + -key package_id \ + -value $package_id \ + -pretty_name [get_pretty_name] \ + -force_region [parameter::get_from_package_key \ + -package_key [my_package_key] \ + -parameter "lamsint_portlet_force_region"] \ + -param_action $param_action + ] + } + + ad_proc -public remove_self_from_page { + {-portal_id:required} + {-package_id:required} + } { + Removes a lamsint PE from the given page or just the passed + in lamsint_package_id parameter from the portlet + (that has other lamsint_package_ids) + + @param portal_id The page to remove self from + @param package_id + } { + portal::remove_element_parameters \ + -portal_id $portal_id \ + -portlet_name [get_my_name] \ + -key package_id \ + -value $package_id + } + + ad_proc -public show { + cf + } { + } { + portal::show_proc_helper \ + -package_key [my_package_key] \ + -config_list $cf \ + -template_src "lamsint-portlet" + } + +} Index: openacs-4/packages/lamsint-portlet/www/lamsint-admin-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/www/lamsint-admin-portlet.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/www/lamsint-admin-portlet.adp 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,27 @@ + + +
+ +The LAMS .LRN Module parameters are not configured! +

+Configure the module parameters or contact your system administrator. +

+

+ For assistance see LAMS Community +

+
+ + +
+ + + + + \ No newline at end of file Index: openacs-4/packages/lamsint-portlet/www/lamsint-admin-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/www/lamsint-admin-portlet.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/www/lamsint-admin-portlet.tcl 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,36 @@ +ad_page_contract { + + The display logic for the LAMS Integration admin portlet + + @author Ernie Ghiglione (ErnieG@melcoe.mq.edu.au) + @creation-date 2005-11-25 + @cvs-id $Id: lamsint-admin-portlet.tcl,v 1.1 2005/12/08 09:41:33 ernieg Exp $ + +} -properties { + +} + +array set config $cf +set list_of_package_ids $config(package_id) + +if {[llength $list_of_package_ids] > 1} { + # We have a problem! + return -code error "There should be only one instance of lamsint for admin purposes" +} + +set package_id [lindex $list_of_package_ids 0] + +set url [lindex [site_node::get_url_from_object_id -object_id $package_id] 0] + + +# we want to verify at least that a LAMS server has been configured + +set lams_server_url [lamsint::get_lams_server_url] + +if {[empty_string_p $lams_server_url]} { + set configured_p 0 +} else { + set configured_p 1 +} + +ad_return_template Index: openacs-4/packages/lamsint-portlet/www/lamsint-portlet.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/www/lamsint-portlet.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/www/lamsint-portlet.adp 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,8 @@ + + + + + + +   + Index: openacs-4/packages/lamsint-portlet/www/lamsint-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lamsint-portlet/www/lamsint-portlet.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lamsint-portlet/www/lamsint-portlet.tcl 8 Dec 2005 09:41:33 -0000 1.1 @@ -0,0 +1,18 @@ +ad_page_contract { + + The logic for the lorsm portlet. + + @author Ernie Ghiglione (ErnieG@mm.st) + @creation-date 2004-04-10 + @cvs-id $Id: lamsint-portlet.tcl,v 1.1 2005/12/08 09:41:33 ernieg Exp $ + +} -query { +} + +array set config $cf + +set shaded_p $config(shaded_p) +set list_of_package_ids [lsort $config(package_id)] +set one_instance_p [ad_decode [llength $list_of_package_ids] 1 1 0] + +ad_return_template