Index: openacs-4/packages/ae-portlet/ae-portlet.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ae-portlet/ae-portlet.info,v diff -u -r1.1 -r1.2 --- openacs-4/packages/ae-portlet/ae-portlet.info 9 Jun 2005 05:54:35 -0000 1.1 +++ openacs-4/packages/ae-portlet/ae-portlet.info 31 Jan 2006 01:41:53 -0000 1.2 @@ -7,16 +7,18 @@ f t - + Anny Flores - 2004-06-12 + Anonymous course evaluations portlet + 2006-01-31 + 0 - + - + Index: openacs-4/packages/ae-portlet/catalog/ae-portlet.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ae-portlet/catalog/ae-portlet.en_US.ISO-8859-1.xml,v diff -u -r1.1 -r1.2 --- openacs-4/packages/ae-portlet/catalog/ae-portlet.en_US.ISO-8859-1.xml 9 Jun 2005 05:54:36 -0000 1.1 +++ openacs-4/packages/ae-portlet/catalog/ae-portlet.en_US.ISO-8859-1.xml 31 Jan 2006 01:41:53 -0000 1.2 @@ -3,5 +3,7 @@ Course Evaluation Admin There should be only one instance of Anon Eval for admin purpose + Publish + Unpublish Results Index: openacs-4/packages/ae-portlet/www/ae-admin-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ae-portlet/www/ae-admin-portlet.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/ae-portlet/www/ae-admin-portlet.tcl 9 Jun 2005 05:54:36 -0000 1.1 +++ openacs-4/packages/ae-portlet/www/ae-admin-portlet.tcl 31 Jan 2006 01:41:53 -0000 1.2 @@ -33,10 +33,21 @@ #list all assessments -db_multirow -extend { export permissions admin_request} assessments $m_name {} { +db_multirow -extend { export permissions admin_request status edit_url sessions_url cvs_url status_url } assessments $m_name {} { set export "[_ assessment.Export]" set permissions "[_ assessment.permissions]" set admin_request "[_ assessment.Request] [_ assessment.Administration]" + + if { $live_revision eq "" } { + set status "[_ ae-portlet.Publish]" + } else { + set status "[_ ae-portlet.Unpublish]" + } + + set edit_url [export_vars -base anon-eval/asm-admin/assessment-form {assessment_id}] + set sessions_url [export_vars -base anon-eval/sessions {assessment_id}] + set cvs_url [export_vars -base anon-eval/asm-admin/results-export {assessment_id}] + set status_url [export_vars -base anon-eval/asm-admin/toggle-status {assessment_id {return_url [ad_return_url]}}] } list::create \ @@ -49,12 +60,14 @@ display_template {
@assessments.title@
} } edit { - display_template {} + display_template {} } view_results { label {[_ ae-portlet.view_results]} - display_template {#assessment.All# | - #assessment.CSV_file#} + display_template {#assessment.All# | + #assessment.CSV_file# | + @assessments.status@} + html { nowrap } } } Index: openacs-4/packages/ae-portlet/www/ae-admin-portlet.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ae-portlet/www/ae-admin-portlet.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/ae-portlet/www/ae-admin-portlet.xql 9 Jun 2005 05:54:36 -0000 1.1 +++ openacs-4/packages/ae-portlet/www/ae-admin-portlet.xql 31 Jan 2006 01:41:53 -0000 1.2 @@ -4,10 +4,13 @@ - select ci.item_id as assessment_id, cr.title - from cr_folders cf, cr_items ci, cr_revisions cr, as_assessments a - where cr.revision_id = ci.latest_revision - and a.assessment_id = cr.revision_id + select ci.item_id as assessment_id, coalesce(cr2.title, cr.title) as title, ci.live_revision, ci.latest_revision + from cr_folders cf, cr_items ci + left join cr_revisions cr + on (cr.revision_id = ci.latest_revision) + left join cr_revisions cr2 + on (cr2.revision_id = ci.live_revision), as_assessments a + where a.assessment_id = cr.revision_id and ci.parent_id = cf.folder_id and cf.package_id = :package_id order by cr.title @@ -17,10 +20,13 @@ - select ci.item_id as assessment_id, cr.title - from cr_folders cf, cr_items ci, cr_revisions cr, as_assessments a - where cr.revision_id = ci.latest_revision - and a.assessment_id = cr.revision_id + select ci.item_id as assessment_id, coalesce(cr2.title, cr.title) as title, ci.live_revision, ci.latest_revision + from cr_folders cf, cr_items ci + left join cr_revisions cr + on (cr.revision_id = ci.latest_revision) + left join cr_revisions cr2 + on (cr2.revision_id = ci.live_revision), as_assessments a + where a.assessment_id = cr.revision_id and ci.parent_id = cf.folder_id and ci.item_id in (select object_id from acs_permissions where grantee_id=:user_id and privilege='admin') and cf.package_id = :package_id Index: openacs-4/packages/ae-portlet/www/ae-portlet-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ae-portlet/www/Attic/ae-portlet-postgresql.xql,v diff -u -r1.1 -r1.2 --- openacs-4/packages/ae-portlet/www/ae-portlet-postgresql.xql 9 Jun 2005 05:54:36 -0000 1.1 +++ openacs-4/packages/ae-portlet/www/ae-portlet-postgresql.xql 31 Jan 2006 01:41:53 -0000 1.2 @@ -14,7 +14,7 @@ from as_assessments a, cr_revisions cr, cr_items ci, cr_folders cf, site_nodes sa, site_nodes sc, apm_packages p where a.assessment_id = cr.revision_id - and cr.revision_id = ci.latest_revision + and cr.revision_id = ci.live_revision and ci.parent_id = cf.folder_id and cf.package_id in ([join $list_of_package_ids ", "]) and sa.object_id = cf.package_id Index: openacs-4/packages/anon-eval/anon-eval.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/anon-eval/anon-eval.info,v diff -u -r1.1 -r1.2 --- openacs-4/packages/anon-eval/anon-eval.info 2 Jun 2005 06:28:44 -0000 1.1 +++ openacs-4/packages/anon-eval/anon-eval.info 31 Jan 2006 01:40:36 -0000 1.2 @@ -9,9 +9,11 @@ anny flores - 2005-05-26 + Anonymous course evaluations + 2006-01-31 Viaro Networks Anonymous Evaluations is based on the Assessment Package. + 0 Index: openacs-4/packages/anon-eval/tcl/apm-install-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/anon-eval/tcl/apm-install-procs.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/anon-eval/tcl/apm-install-procs.tcl 2 Jun 2005 06:28:45 -0000 1.1 +++ openacs-4/packages/anon-eval/tcl/apm-install-procs.tcl 31 Jan 2006 01:40:35 -0000 1.2 @@ -37,4 +37,7 @@ content::folder::register_content_type -folder_id $folder_id -content_type {as_sessions} -include_subtypes t content::folder::register_content_type -folder_id $folder_id -content_type {as_section_data} -include_subtypes t content::folder::register_content_type -folder_id $folder_id -content_type {as_item_data} -include_subtypes t + + # Grant read permission on this folder to cascade to sessions + permission::grant -object_id $folder_id -party_id [acs_magic_object registered_users] -privilege read } Index: openacs-4/packages/anon-eval/www/asm-admin/assessment-form.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/anon-eval/www/asm-admin/assessment-form.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/anon-eval/www/asm-admin/assessment-form.tcl 9 Jun 2005 05:54:37 -0000 1.2 +++ openacs-4/packages/anon-eval/www/asm-admin/assessment-form.tcl 31 Jan 2006 01:40:35 -0000 1.3 @@ -191,6 +191,9 @@ if {![empty_string_p $end_time]} { db_dml update_end_time {} } + + # Don't publish this revision + item::unpublish -item_id $assessment_id } } -edit_data { db_transaction { Index: openacs-4/packages/anon-eval/www/asm-admin/toggle-status.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/anon-eval/www/asm-admin/toggle-status.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/anon-eval/www/asm-admin/toggle-status.tcl 31 Jan 2006 01:40:35 -0000 1.1 @@ -0,0 +1,25 @@ +# packages/anon-eval/www/asm-admin/toggle-status.tcl + +ad_page_contract { + + Toggle published/unpublished + + @author Roel Canicula (roel@solutiongrove.com) + @creation-date 2006-01-24 + @arch-tag: 7146ee14-d5e7-4971-bed3-abb0d59d4b83 + @cvs-id $Id: toggle-status.tcl,v 1.1 2006/01/31 01:40:35 roelc Exp $ +} { + assessment_id:integer,notnull + return_url:notnull +} -properties { +} -validate { +} -errors { +} + +if { [content::item::get_live_revision -item_id $assessment_id] eq "" } { + item::publish -item_id $assessment_id +} else { + item::unpublish -item_id $assessment_id +} + +ad_returnredirect $return_url \ No newline at end of file Index: openacs-4/packages/anon-eval/www/doc/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/anon-eval/www/doc/index.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/anon-eval/www/doc/index.html 31 Jan 2006 01:40:35 -0000 1.1 @@ -0,0 +1,188 @@ + + + Anonymous Course Evaluations Documentation + + +

Anonymous Course Evaluations Documentation

+ By Anny Flores with additions by Roel Canicula +
+ +

Requirements

+ +
    +
  • Admin of dotLRN course/class can create an assessment
  • +
  • Admin can make the assessment go live
  • +
  • Member of dotLRN course/class can fill out evanluation online when it is set to live
  • +
  • Admin of dotLRN course/class can review results of assessment
  • +
+ +

Design

+

+ Evaluation:

+

To + support anonymous course evaluations we will create a new package + based on and dependent on the assessment package, which means that + we are going to use the same tables and procs of the assessment + package.

+ +

In this package we will + create all the UI needed to create , submit and evaluate results., + most of them based on the assessment UI's. +

+ +

The actors :

+

Learners
Instructors
DotLRN-admin
Programmers

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

DotLRN-Admin Pages

+
+

Page

+
+

Description +

+
+

Design

+
+

Create Evaluation

+
+

Several pages that will allow the dotLRN admin + to create an evaluation.

+
+

All of this pages will be based on the entire + UI of the assessment package for the questionaire creation.

+

A new option will be added to the + assessment-form.tcl page, that will allow to set this assessment + as anonymous evaluation (different from the anonymous feature + that is already on assessment), and will allow to keep track of + the assessments.

+
+

Evaluations Administration

+
+

Administration page that will show all the + assessments that are set as anonymous evaluation, allow to create + , edit and delete the assessments.

+
+

Based on assessment administration pages but + this page will only show those assessments that are anonymous + evaluations, and also access the results evaluation pages.

+
+

Results Evaluation

+
+

UI that will show the generated results.

+
+

Based on view-results page of the assessment + package, only few changes are needed, as remove the name of the + user, and layout if needed.

+
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Learners Pages

+
+

Page

+
+

Description +

+
+

Design

+
+

Fill Evaluation

+
+

This page will be used by the learner to fill + a evaluation created by a dotLRN-admin.

+
+

This page will be created based on the + www/assessment pages.

+
+

Evaluations List

+
+

Show all the anonymous evaluations that can be + responded by this user.

+
+

Same page of www/index, but it will only show + the anonymous evaluations. This page also will allow the user to + edit the evaluation.

+
+

Instructors: They won't + be able to perform any action.

+

Programmers: They will + be able to see what user has generated a result via a query in psql. + The results are going to be associated to the user, but the user name + is not going to be seen from the browser.

+

Notes:

+
    +
  • The Assessmet + Package allows to set an assessment as anonymous, this feature + works like this: If the assessment is set as anonymous, the subject + associated with the session (generated result) will be the + unregistrated user. In our case, we want to store the user_id but + not show it on the browser. I think that to be able to set an + assessment as an anonymous evaluation ,and not as an anoymous + assessment, we have to add a column to the as_assessment s table or + create one table to map the anonymous evaluations. +

    +
+
    +
  • Also, number of + tries for a user is handled by the assessment package, we dont have + to add this functionality.

    +

+ +