Index: openacs-4/packages/curriculum-central/curriculum-central.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/curriculum-central.info,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/curriculum-central/curriculum-central.info	2 Feb 2006 11:52:15 -0000	1.9
+++ openacs-4/packages/curriculum-central/curriculum-central.info	23 Feb 2006 08:29:54 -0000	1.10
@@ -22,13 +22,16 @@
         <requires url="workflow" version="2.0.0b3"/>
 
         <callbacks>
-            <callback type="after-install"  proc="curriculum_central::install::package_install"/>
             <callback type="before-uninstall"  proc="curriculum_central::install::package_uninstall"/>
-            <callback type="after-instantiate"  proc="curriculum_central::install::package_instantiate"/>
+            <callback type="after-install"  proc="curriculum_central::install::package_install"/>
             <callback type="before-uninstantiate"  proc="curriculum_central::install::package_uninstantiate"/>
+            <callback type="after-instantiate"  proc="curriculum_central::install::package_instantiate"/>
         </callbacks>
         <parameters>
             <parameter datatype="string"  min_n_values="1"  max_n_values="1"  name="CurriculumCentralCSS"  default="/resources/curriculum-central/main-portal.css" description="Specify the location of a CSS file to use for Curriculum Central's colour scheme."/>
+            <parameter datatype="number"  min_n_values="1"  max_n_values="1"  name="DefaultNumDegreeStreamYears"  default="5" description="Default number of years for a degree stream."/>
+            <parameter datatype="number"  min_n_values="1"  max_n_values="1"  name="DefaultNumScheduleWeeks"  default="13" description="Default number of scheduled weeks in a semester."/>
+            <parameter datatype="number"  min_n_values="1"  max_n_values="1"  name="InsertDefaultValues"  default="1" description="Specify a value of 1 if you want default values to be inserted during package instantiation.  Otherwise specify 0 if you don't want default values to be installed."/>
             <parameter datatype="number"  min_n_values="1"  max_n_values="1"  name="LastNumActivityLogEntries"  default="3" description="Number of recent activity log entries to display for a Unit of Study."/>
         </parameters>
 
Index: openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml,v
diff -u -r1.45 -r1.46
--- openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml	22 Feb 2006 06:28:37 -0000	1.45
+++ openacs-4/packages/curriculum-central/catalog/curriculum-central.en_US.ISO-8859-1.xml	23 Feb 2006 08:29:54 -0000	1.46
@@ -2,6 +2,17 @@
 <message_catalog package_key="curriculum-central" package_version="0.1d" locale="en_US" charset="ISO-8859-1">
 
   <msg key="uos">UoS</msg>
+  <msg key="week">Week</msg>
+  <msg key="research_and_inquiry">Research and Inquiry</msg>
+  <msg key="information_literacy">Information Literacy</msg>
+  <msg key="personal_and_intellectual_autonomy">Personal and Intellectual Autonomy</msg>
+  <msg key="ethical_social_and_professional_understanding">Ethical, Social and Professional Understanding</msg>
+  <msg key="communication">Communication</msg>
+  <msg key="high_distinction">High Distinction</msg>
+  <msg key="distinction">Distinction</msg>
+  <msg key="credit">Credit</msg>
+  <msg key="pass">Pass</msg>
+  <msg key="fail">Fail</msg>
   <msg key="notification">Notification</msg>
   <msg key="requisites_view">Requisites View</msg>
   <msg key="key">Key</msg>
@@ -46,6 +57,7 @@
   <msg key="no_years_created">No vocabulary for years have been created.</msg>
   <msg key="view_uos_offered_by">View Units of Study offered by:</msg>
   <msg key="edit_year">Edit Year</msg>
+  <msg key="year">Year</msg>
   <msg key="edit_schedule_week">Edit Schedule Week</msg>
   <msg key="edit_session">Edit Session</msg>
   <msg key="overview_lc">overview</msg>
Index: openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql	16 Feb 2006 10:44:17 -0000	1.1
+++ openacs-4/packages/curriculum-central/sql/postgresql/stream-uos-rel-create.sql	23 Feb 2006 08:29:54 -0000	1.2
@@ -38,8 +38,7 @@
 			constraint cc_stream_uos_rel_stream_uos_rel_id_pk
 			primary key,
 	name 		varchar(256)
-			constraint cc_stream_uos_rel_name_nn not null
-			constraint cc_stream_uos_rel_name_un unique,
+			constraint cc_stream_uos_rel_name_nn not null,
 	package_id	integer
 			constraint cc_stream_uos_rel_package_id_fk
 			references apm_packages(package_id) on delete cascade
Index: openacs-4/packages/curriculum-central/tcl/admin-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/admin-procs.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/curriculum-central/tcl/admin-procs.tcl	23 Feb 2006 08:29:55 -0000	1.1
@@ -0,0 +1,207 @@
+ad_library {
+
+    Curriculum Central Admin Library
+    
+    Procedures that deal with the admin pages.
+
+    @creation-date 2006-02-22
+    @author Nick Carroll <ncarroll@ee.usyd.edu.au>
+    @cvs-id $Id: admin-procs.tcl,v 1.1 2006/02/23 08:29:55 ncarroll Exp $
+
+}
+
+namespace eval curriculum_central::admin {}
+namespace eval curriculum_central::admin::default_values {}
+
+ad_proc -private curriculum_central::admin::default_values::insert {
+    {-package_id:required}
+} {
+    Inserts default admin values.
+
+    @param package_id Package ID of Curriculum Central that we want to
+    insert default values for.
+} {
+    # Insert default values for stream rels.
+    curriculum_central::admin::default_values::insert_stream_rels \
+	-package_id $package_id
+
+    curriculum_central::admin::default_values::insert_years \
+	-package_id $package_id
+
+    curriculum_central::admin::default_values::insert_grade_types \
+	-package_id $package_id
+
+    curriculum_central::admin::default_values::insert_graduate_attributes \
+	-package_id $package_id
+
+    curriculum_central::admin::default_values::insert_schedule_weeks \
+	-package_id $package_id
+}
+
+
+ad_proc -private curriculum_central::admin::default_values::insert_stream_rels {
+    {-package_id:required}
+} {
+    Inserts default admin values for stream rels.
+
+    @param package_id Package ID of Curriculum Central that we want to
+    insert default values for.
+} {
+    set names "#curriculum-central.core#"
+    lappend names "#curriculum-central.elective#"
+    lappend names "#curriculum-central.recommended#"
+
+    # Insert default values for stream rels.
+    foreach name $names {
+	package_instantiate_object \
+	    -var_list [list [list package_id $package_id] \
+			   [list name $name]] \
+	    cc_stream_uos_rel
+    }
+}
+
+
+ad_proc -private curriculum_central::admin::default_values::insert_years {
+    {-package_id:required}
+} {
+    Inserts default admin values for years.
+
+    @param package_id Package ID of Curriculum Central that we want to
+    insert default values for.
+} {
+    set limit [parameter::get -parameter "DefaultNumDegreeStreamYears" \
+		   -default 5]
+    
+    set names [list]
+    
+    set x 1
+    while { $x <= $limit } {
+	lappend names "#curriculum-central.year# $x"
+	incr x
+    }
+
+    # Insert default values for degree stream years.
+    foreach name $names {
+	package_instantiate_object \
+	    -var_list [list [list package_id $package_id] \
+			   [list name $name]] \
+	    cc_year
+    }
+}
+
+
+ad_proc -private curriculum_central::admin::default_values::insert_grade_types {
+    {-package_id:required}
+} {
+    Inserts default admin values for grade types.
+
+    @param package_id Package ID of Curriculum Central that we want to
+    insert default values for.
+} {
+
+    # Insert default values for grade types.
+    package_instantiate_object \
+	-var_list [list [list package_id $package_id] \
+		       [list object_type cc_uos_grade_type] \
+		       [list name [_ curriculum-central.high_distinction]] \
+		       [list lower_bound 85] \
+		       [list upper_bound 100]] \
+	cc_uos_grade_type
+    
+    package_instantiate_object \
+	-var_list [list [list package_id $package_id] \
+		       [list object_type cc_uos_grade_type] \
+		       [list name [_ curriculum-central.distinction]] \
+		       [list lower_bound 75] \
+		       [list upper_bound 84]] \
+	cc_uos_grade_type
+
+    package_instantiate_object \
+	-var_list [list [list package_id $package_id] \
+		       [list object_type cc_uos_grade_type] \
+		       [list name [_ curriculum-central.credit]] \
+		       [list lower_bound 65] \
+		       [list upper_bound 74]] \
+	cc_uos_grade_type
+
+    package_instantiate_object \
+	-var_list [list [list package_id $package_id] \
+		       [list object_type cc_uos_grade_type] \
+		       [list name [_ curriculum-central.pass]] \
+		       [list lower_bound 50] \
+		       [list upper_bound 64]] \
+	cc_uos_grade_type
+
+    package_instantiate_object \
+	-var_list [list [list package_id $package_id] \
+		       [list object_type cc_uos_grade_type] \
+		       [list name [_ curriculum-central.fail]] \
+		       [list lower_bound 0] \
+		       [list upper_bound 49]] \
+	cc_uos_grade_type
+}
+
+
+ad_proc -private curriculum_central::admin::default_values::insert_graduate_attributes {
+    {-package_id:required}
+} {
+    Inserts default admin values for graduate attribute types.
+
+    @param package_id Package ID of Curriculum Central that we want to
+    insert default values for.
+} {
+    set attribute_names [list]
+    lappend attribute_names \
+	"#curriculum-central.research_and_inquiry#"
+
+    lappend attribute_names \
+	"#curriculum-central.information_literacy#"
+
+    lappend attribute_names \
+	"#curriculum-central.personal_and_intellectual_autonomy#"
+
+    lappend attribute_names \
+	"#curriculum-central.ethical_social_and_professional_understanding#"
+
+    lappend attribute_names \
+	"#curriculum-central.communication#"
+
+    # Insert default values for stream rels.
+    foreach name $attribute_names {
+	package_instantiate_object \
+	    -var_list [list [list package_id $package_id] \
+			   [list object_type cc_uos_gradattr_name] \
+			   [list name $name]] \
+	    cc_uos_gradattr_name
+    }
+}
+
+
+ad_proc -private curriculum_central::admin::default_values::insert_schedule_weeks {
+    {-package_id:required}
+} {
+    Inserts default admin values for schedule weeks
+
+    @param package_id Package ID of Curriculum Central that we want to
+    insert default values for.
+} {
+    set limit [parameter::get -parameter "DefaultNumScheduleWeeks" \
+		   -default 13]
+    
+    set names [list]
+    
+    set x 1
+    while { $x <= $limit } {
+	lappend names "#curriculum-central.week# $x"
+	incr x
+    }
+
+    # Insert default values for scheduled weeks.
+    foreach name $names {
+	package_instantiate_object \
+	    -var_list [list [list package_id $package_id] \
+			   [list object_type cc_uos_schedule_week] \
+			   [list name $name]] \
+	    cc_uos_schedule_week
+    }
+}
Index: openacs-4/packages/curriculum-central/tcl/install-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/curriculum-central/tcl/install-procs.tcl,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/curriculum-central/tcl/install-procs.tcl	18 Dec 2005 06:23:30 -0000	1.4
+++ openacs-4/packages/curriculum-central/tcl/install-procs.tcl	23 Feb 2006 08:29:55 -0000	1.5
@@ -17,7 +17,6 @@
 } {
     db_transaction {
         curriculum_central::install::register_implementations
-        #bug_tracker::search::register_implementations
 	curriculum_central::install::roles_create
         curriculum_central::uos::workflow_create
     }
@@ -31,7 +30,6 @@
         curriculum_central::uos::workflow_delete
         curriculum_central::install::roles_delete
         curriculum_central::install::unregister_implementations
-        #bug_tracker::search::unregister_implementations
     }
 }
 
@@ -46,6 +44,12 @@
 
     # Create the UoS workflow
     curriculum_central::uos::instance_workflow_create -package_id $package_id
+
+    # Install default admin values
+    if { [parameter::get -parameter "InsertDefaultValues" -default 1] } {
+	curriculum_central::admin::default_values::insert \
+	    -package_id $package_id
+    }
 }