Index: openacs-4/packages/categories/categories.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/categories.info,v
diff -u -N -r1.12 -r1.13
--- openacs-4/packages/categories/categories.info 28 Aug 2007 16:30:03 -0000 1.12
+++ openacs-4/packages/categories/categories.info 16 Sep 2007 10:35:35 -0000 1.13
@@ -8,15 +8,15 @@
f
categories
-
+
timo@timohentschel.de
Manage categories in category trees and let users map objects to categories.
2006-02-12
Datamodel for category trees with supporting API and management pages. Provides a widget for
general categorization of arbitrary objects and tracks which package instances use which category trees. Also supports localization.
0
-
+
Index: openacs-4/packages/categories/sql/oracle/category-tree-package.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/oracle/category-tree-package.sql,v
diff -u -N -r1.7 -r1.8
--- openacs-4/packages/categories/sql/oracle/category-tree-package.sql 6 Feb 2005 18:42:19 -0000 1.7
+++ openacs-4/packages/categories/sql/oracle/category-tree-package.sql 16 Sep 2007 10:35:35 -0000 1.8
@@ -57,7 +57,8 @@
tree_id in category_trees.tree_id%TYPE,
subtree_category_id in categories.category_id%TYPE default null,
assign_single_p in category_tree_map.assign_single_p%TYPE default 'f',
- require_category_p in category_tree_map.require_category_p%TYPE default 'f'
+ require_category_p in category_tree_map.require_category_p%TYPE default 'f',
+ require_category_p in category_tree_map.widget%TYPE
);
PROCEDURE unmap (
@@ -266,7 +267,8 @@
tree_id in category_trees.tree_id%TYPE,
subtree_category_id in categories.category_id%TYPE default null,
assign_single_p in category_tree_map.assign_single_p%TYPE default 'f',
- require_category_p in category_tree_map.require_category_p%TYPE default 'f'
+ require_category_p in category_tree_map.require_category_p%TYPE default 'f',
+ widget in category_tree_map.widget%TYPE
) is
v_map_count integer;
BEGIN
@@ -278,9 +280,9 @@
if v_map_count = 0 then
insert into category_tree_map
- (tree_id, subtree_category_id, object_id, assign_single_p, require_category_p)
+ (tree_id, subtree_category_id, object_id, assign_single_p, require_category_p,widget)
values (map.tree_id, map.subtree_category_id, map.object_id,
- map.assign_single_p, map.require_category_p);
+ map.assign_single_p, map.require_category_p,map.widget);
end if;
END map;
Index: openacs-4/packages/categories/sql/oracle/upgrade/upgrade-1.1.2d1-1.1.2d2.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/oracle/upgrade/upgrade-1.1.2d1-1.1.2d2.sql,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/categories/sql/oracle/upgrade/upgrade-1.1.2d1-1.1.2d2.sql 16 Sep 2007 10:37:02 -0000 1.1
@@ -0,0 +1,9 @@
+alter table category_tree_map add (
+ widget varchar2(20)
+);
+
+comment on column category_tree_map.widget is '
+ What widget do we want to use for this cateogry?
+';
+
+@@../category-tree-package.sql
Index: openacs-4/packages/categories/sql/postgresql/categories-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/categories-create.sql,v
diff -u -N -r1.9 -r1.10
--- openacs-4/packages/categories/sql/postgresql/categories-create.sql 9 Aug 2006 00:25:53 -0000 1.9
+++ openacs-4/packages/categories/sql/postgresql/categories-create.sql 16 Sep 2007 10:35:35 -0000 1.10
@@ -172,6 +172,7 @@
require_category_p char(1) default 'f'
constraint cat_tree_map_categ_p_ck
check (require_category_p in ('t','f')),
+ widget varchar(20),
primary key (object_id, tree_id)
);
Index: openacs-4/packages/categories/sql/postgresql/category-tree-package.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/category-tree-package.sql,v
diff -u -N -r1.9 -r1.10
--- openacs-4/packages/categories/sql/postgresql/category-tree-package.sql 31 Jul 2006 20:31:11 -0000 1.9
+++ openacs-4/packages/categories/sql/postgresql/category-tree-package.sql 16 Sep 2007 10:35:35 -0000 1.10
@@ -243,7 +243,8 @@
integer, -- tree_id
integer, -- subtree_category_id
char, -- assign_single_p
- char -- require_category_p
+ char, -- require_category_p
+ varchar -- widget
)
returns integer as '
declare
@@ -252,6 +253,7 @@
p_subtree_category_id alias for $3;
p_assign_single_p alias for $4;
p_require_category_p alias for $5;
+ p_widget alias for $6;
v_map_count integer;
begin
@@ -264,9 +266,9 @@
if v_map_count = 0 then
insert into category_tree_map
(tree_id, subtree_category_id, object_id,
- assign_single_p, require_category_p)
+ assign_single_p, require_category_p, widget)
values (p_tree_id, p_subtree_category_id, p_object_id,
- p_assign_single_p, p_require_category_p);
+ p_assign_single_p, p_require_category_p, p_widget);
end if;
return 0;
end;
Index: openacs-4/packages/categories/sql/postgresql/upgrade/upgrade-1.1.2d1-1.1.2d2.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/categories/sql/postgresql/upgrade/upgrade-1.1.2d1-1.1.2d2.sql,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/categories/sql/postgresql/upgrade/upgrade-1.1.2d1-1.1.2d2.sql 16 Sep 2007 10:37:02 -0000 1.1
@@ -0,0 +1,39 @@
+alter table category_tree_map add column widget varchar(20);
+
+drop function category_tree__map ( integer, integer, integer, char, char );
+
+create or replace function category_tree__map (
+ integer, -- object_id
+ integer, -- tree_id
+ integer, -- subtree_category_id
+ char, -- assign_single_p
+ char, -- require_category_p
+ varchar -- widget
+)
+returns integer as '
+declare
+ p_object_id alias for $1;
+ p_tree_id alias for $2;
+ p_subtree_category_id alias for $3;
+ p_assign_single_p alias for $4;
+ p_require_category_p alias for $5;
+ p_widget alias for $6;
+
+ v_map_count integer;
+begin
+ select count(*)
+ into v_map_count
+ from category_tree_map
+ where object_id = p_object_id
+ and tree_id = p_tree_id;
+
+ if v_map_count = 0 then
+ insert into category_tree_map
+ (tree_id, subtree_category_id, object_id,
+ assign_single_p, require_category_p, widget)
+ values (p_tree_id, p_subtree_category_id, p_object_id,
+ p_assign_single_p, p_require_category_p, p_widget);
+ end if;
+ return 0;
+end;
+' language 'plpgsql';