Index: openacs-4/packages/bug-tracker/bug-tracker.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/bug-tracker.info,v
diff -u -N -r1.20 -r1.21
--- openacs-4/packages/bug-tracker/bug-tracker.info 2 Apr 2004 00:20:09 -0000 1.20
+++ openacs-4/packages/bug-tracker/bug-tracker.info 27 Apr 2004 12:33:19 -0000 1.21
@@ -7,7 +7,7 @@
f
f
-
+
postgresql
oracle
@@ -18,7 +18,7 @@
Musea Technologies
Bug tracking application with notifications, configurable state management, and patch upload.
Contains the best of SDM, Bugzilla, FogBUGZ, and bughost.com.
-
+
Index: openacs-4/packages/bug-tracker/catalog/bug-tracker.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/catalog/bug-tracker.en_US.ISO-8859-1.xml,v
diff -u -N -r1.4 -r1.5
--- openacs-4/packages/bug-tracker/catalog/bug-tracker.en_US.ISO-8859-1.xml 20 Apr 2004 15:45:24 -0000 1.4
+++ openacs-4/packages/bug-tracker/catalog/bug-tracker.en_US.ISO-8859-1.xml 27 Apr 2004 12:33:20 -0000 1.5
@@ -151,6 +151,9 @@
Denied
Permission Denied
Permissions
+ Plain
+ Plain
+ Preformatted
Planned Freeze
Planned Release
Please contact a project administrator to get the components set up.
@@ -171,6 +174,7 @@
Release
Version
Release this version
+ Reopen
Reopened
Request notifications for all activity on this %bug_name%
Resolution
@@ -214,6 +218,7 @@
Suggestion
Support Type
platforms
+ Table
There are no open %pretty_names.bugs% to map the patch to. Try changing the component filter above.
this %bug_name%
This is a new project.
@@ -238,7 +243,7 @@
Version
name
Name
- Version_id $version_id not found
+ Version_id %version_id% not found
Versions
View the %pretty_names.bugs% for this component
Watch this %bug_name%
Index: openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-search-triggers.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/sql/postgresql/Attic/bug-tracker-search-triggers.sql,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/bug-tracker/sql/postgresql/bug-tracker-search-triggers.sql 27 Apr 2004 12:33:20 -0000 1.1
@@ -0,0 +1,91 @@
+-- Bug tracker search triggers
+--
+-- @author davis@xarg.net
+-- @cvs-id $Id: bug-tracker-search-triggers.sql,v 1.1 2004/04/27 12:33:20 jeffd Exp $
+--
+
+create or replace function bug_tracker_search__itrg ()
+returns opaque as '
+begin
+ if new.parent_id is null then
+ perform search_observer__enqueue(new.message_id,''INSERT'');
+ else
+ perform search_observer__enqueue(forums_message__root_message_id(new.parent_id),''UPDATE'');
+ end if;
+ return new;
+end;' language 'plpgsql';
+
+create or replace function forums_message_search__dtrg ()
+returns opaque as '
+declare
+ v_root_message_id forums_messages.message_id%TYPE;
+begin
+ -- if the deleted msg has a parent then its an UPDATE to a thread, otherwise a DELETE.
+
+ if old.parent_id is null then
+ perform search_observer__enqueue(old.message_id,''DELETE'');
+ else
+ v_root_message_id := forums_message__root_message_id(old.parent_id);
+ if not v_root_message_id is null then
+ perform search_observer__enqueue(v_root_message_id,''UPDATE'');
+ end if;
+ end if;
+
+ return old;
+end;' language 'plpgsql';
+
+create or replace function forums_message_search__utrg ()
+returns opaque as '
+begin
+ perform search_observer__enqueue(forums_message__root_message_id (old.message_id),''UPDATE'');
+ return old;
+end;' language 'plpgsql';
+
+
+create trigger forums_message_search__itrg after insert on forums_messages
+for each row execute procedure forums_message_search__itrg ();
+
+create trigger forums_message_search__dtrg after delete on forums_messages
+for each row execute procedure forums_message_search__dtrg ();
+
+create trigger forums_message_search__utrg after update on forums_messages
+for each row execute procedure forums_message_search__utrg ();
+
+
+
+-- forums_forums indexing trigger
+create or replace function forums_forums_search__itrg ()
+returns opaque as '
+begin
+ perform search_observer__enqueue(new.forum_id,''INSERT'');
+
+ return new;
+end;' language 'plpgsql';
+
+create or replace function forums_forums_search__utrg ()
+returns opaque as '
+begin
+ perform search_observer__enqueue(new.forum_id,''UPDATE'');
+
+ return new;
+end;' language 'plpgsql';
+
+create or replace function forums_forums_search__dtrg ()
+returns opaque as '
+begin
+ perform search_observer__enqueue(old.forum_id,''DELETE'');
+
+ return old;
+end;' language 'plpgsql';
+
+
+
+create trigger forums_forums_search__itrg after insert on forums_forums
+for each row execute procedure forums_forums_search__itrg ();
+
+create trigger forums_forums_search__utrg after update on forums_forumss
+for each row execute procedure forums_forums_search__utrg ();
+
+create trigger forums_forums_search__dtrg after delete on forums_forums
+for each row execute procedure forums_forums_search__dtrg ();
+
Index: openacs-4/packages/bug-tracker/tcl/bug-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs.tcl,v
diff -u -N -r1.17 -r1.18
--- openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 20 Apr 2004 15:45:24 -0000 1.17
+++ openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 27 Apr 2004 12:33:21 -0000 1.18
@@ -49,10 +49,10 @@
# Derived fields
set row(bug_number_display) "$row(bug_number)"
- set row(component_name) [bug_tracker::component_get_name -component_id $row(component_id)]
- set row(found_in_version_name) [bug_tracker::version_get_name -version_id $row(found_in_version)]
- set row(fix_for_version_name) [bug_tracker::version_get_name -version_id $row(fix_for_version)]
- set row(fixed_in_version_name) [bug_tracker::version_get_name -version_id $row(fixed_in_version)]
+ set row(component_name) [bug_tracker::component_get_name -component_id $row(component_id) -package_id $row(project_id)]
+ set row(found_in_version_name) [bug_tracker::version_get_name -version_id $row(found_in_version) -package_id $row(project_id)]
+ set row(fix_for_version_name) [bug_tracker::version_get_name -version_id $row(fix_for_version) -package_id $row(project_id)]
+ set row(fixed_in_version_name) [bug_tracker::version_get_name -version_id $row(fixed_in_version) -package_id $row(project_id)]
# Get state information
workflow::case::fsm::get -case_id $case_id -array case -enabled_action_id $enabled_action_id
Index: openacs-4/packages/bug-tracker/tcl/bug-search-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-search-procs.tcl,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/bug-tracker/tcl/bug-search-procs.tcl 27 Apr 2004 12:33:21 -0000 1.1
@@ -0,0 +1,195 @@
+#TODO: JCD: EXTRACT QUERIES for patch (or really refactor patch.tcl so they both call patch::get)
+
+ad_library {
+ Bug tracker - Search Service Contracts
+
+ @creation-date 2004-04-20
+ @author Jeff Davis davis@xarg.net
+ @cvs-id $Id: bug-search-procs.tcl,v 1.1 2004/04/27 12:33:21 jeffd Exp $
+}
+
+namespace eval bug_tracker::search {}
+namespace eval bug_tracker::search::bug {}
+namespace eval bug_tracker::search::patch {}
+
+ad_proc -private bug_tracker::search::bug::datasource { bug_id } {
+ returns a datasource for the search package this is the content
+ that will be indexed by the full text search engine.
+
+ @param bug_id
+
+ @author Jeff Davis davis@xarg.net
+} {
+ bug_tracker::bug::get -bug_id $bug_id -array row
+ set case_id [workflow::case::get_id \
+ -object_id $bug_id \
+ -workflow_short_name [bug_tracker::bug::workflow_short_name]]
+ set comments [workflow::case::get_activity_text -case_id $case_id]
+ set title "Bug $row(bug_number_display) - $row(summary) \[$row(component_name)\]"
+ set content [lang::util::localize "Bug $row(bug_number_display) - $row(summary) \[$row(component_name)\]
+Created: $row(creation_date_pretty)
+Fix for: $row(fix_for_version_name)
+Fixed in: $row(fixed_in_version_name) $row(fixed_in_version)
+Resolution: $row(resolution)
+Found in: $row(found_in_version_name)
+State: $row(pretty_state)
+User agent: $row(user_agent)\n\n$comments"]
+
+ return [list object_id $bug_id \
+ title $title \
+ content $content \
+ keywords $row(component_name) \
+ storage_type text \
+ mime text/plain ]
+}
+
+ad_proc -private bug_tracker::search::bug::url { bug_id } {
+ returns a url for a given bug_id
+
+ @param bug_id
+ @author Jeff Davis davis@xarg.net
+} {
+ if {[db_0or1row get {select project_id, bug_number from bt_bugs where bug_id = :bug_id}]} {
+ return "[ad_url][apm_package_url_from_id $project_id]bug?bug_number=$bug_number"
+ } else {
+ error "bug_id $bug_id not found"
+ }
+}
+
+
+ad_proc -private bug_tracker::search::patch::datasource { patch_id } {
+ returns a datasource for the search package this is the content
+ that will be indexed by the full text search engine.
+
+ @param patch_id
+
+ @author Jeff Davis davis@xarg.net
+} {
+ db_1row patch {
+ select bt_patches.patch_id,
+ bt_patches.patch_number,
+ bt_patches.project_id,
+ bt_patches.component_id,
+ bt_patches.summary,
+ bt_patches.content,
+ bt_patches.generated_from_version,
+ bt_patches.apply_to_version,
+ bt_patches.applied_to_version,
+ bt_patches.status,
+ bt_components.component_name,
+ acs_objects.creation_user as submitter_user_id,
+ submitter.first_names as submitter_first_names,
+ submitter.last_name as submitter_last_name,
+ submitter.email as submitter_email,
+ acs_objects.creation_date,
+ to_char(acs_objects.creation_date, 'fmMM/DDfm/YYYY') as creation_date_pretty,
+ to_char(now(), 'fmMM/DDfm/YYYY') as now_pretty
+ from bt_patches,
+ acs_objects,
+ cc_users submitter,
+ bt_components
+ where bt_patches.patch_id = :patch_id
+ and bt_patches.patch_id = acs_objects.object_id
+ and bt_patches.component_id = bt_components.component_id
+ and submitter.user_id = acs_objects.creation_user
+ } -column_array patch
+
+ set title "Patch $patch(patch_number) - $patch(summary) \[$patch(component_name)\]"
+ set content "Patch $patch(patch_number) - $patch(summary) \[$patch(component_name)\]
+ submitted by $patch(submitter_first_names) $patch(submitter_last_name) $patch(submitter_email)
+ Created $patch(creation_date_pretty)
+ Applies to $patch(generated_from_version) - $patch(apply_to_version)
+ Status $patch(status)
+
+"
+ # Description/Actions/History
+ db_foreach actions {
+ select bt_patch_actions.action_id,
+ bt_patch_actions.action,
+ bt_patch_actions.actor as actor_user_id,
+ actor.first_names as actor_first_names,
+ actor.last_name as actor_last_name,
+ actor.email as actor_email,
+ bt_patch_actions.action_date,
+ to_char(bt_patch_actions.action_date, 'fmMM/DDfm/YYYY') as action_date_pretty,
+ bt_patch_actions.comment_text,
+ bt_patch_actions.comment_format
+ from bt_patch_actions,
+ cc_users actor
+ where bt_patch_actions.patch_id = :patch_id
+ and actor.user_id = bt_patch_actions.actor
+ order by action_date
+ } {
+ append content "$action_date_pretty [bug_tracker::patch_action_pretty $action] by $actor_first_names $actor_last_name
+ [bug_tracker::bug_convert_comment_to_text -comment $comment_text -format $comment_format]\n"
+ }
+
+ append content "PATCH CONTENT:\n\n$patch(content)\n"
+
+ return [list object_id $patch_id \
+ title $title \
+ content $content \
+ keywords $patch(component_name) \
+ storage_type text \
+ mime text/plain ]
+}
+
+
+ad_proc -private bug_tracker::search::patch::url { patch_id } {
+ returns a url for a given patch_id
+
+ @param patch_id
+ @author Jeff Davis davis@xarg.net
+} {
+ if {[db_0or1row get {select project_id, patch_number from bt_patches where patch_id = :patch_id}]} {
+ return "[ad_url][apm_package_url_from_id $project_id]patch?patch_number=$patch_number"
+ } else {
+ error "bug_id $bug_id not found"
+ }
+}
+
+ad_proc -private bug_tracker::search::register_implementations {} {
+ Register the forum_forum and forum_message content type fts contract
+} {
+ db_transaction {
+ bug_tracker::search::register_bug_fts_impl
+ bug_tracker::search::register_patch_fts_impl
+ }
+}
+
+ad_proc -private bug_tracker::search::unregister_implementations {} {
+ db_transaction {
+ acs_sc::impl::delete -contract_name FtsContentProvider -impl_name bt_bug
+ acs_sc::impl::delete -contract_name FtsContentProvider -impl_name bt_patch
+ }
+}
+
+ad_proc -private bug_tracker::search::register_bug_fts_impl {} {
+ set spec {
+ name "bt_bug"
+ aliases {
+ datasource bug_tracker::search::bug::datasource
+ url bug_tracker::search::bug::url
+ }
+ contract_name FtsContentProvider
+ owner bug-tracker
+ }
+
+ acs_sc::impl::new_from_spec -spec $spec
+}
+
+ad_proc -private bug_tracker::search::register_patch_fts_impl {} {
+ set spec {
+ name "bt_patch"
+ aliases {
+ datasource bug_tracker::search::patch::datasource
+ url bug_tracker::search::patch::url
+ }
+ contract_name FtsContentProvider
+ owner bug-tracker
+ }
+
+ acs_sc::impl::new_from_spec -spec $spec
+}
+
+
Index: openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl,v
diff -u -N -r1.28 -r1.29
--- openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl 20 Apr 2004 14:19:35 -0000 1.28
+++ openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl 27 Apr 2004 12:33:21 -0000 1.29
@@ -825,7 +825,7 @@
return $name
}
}
- error [_ bug-tracker.Version_id]
+ error [_ bug-tracker.Version_id [list version_id $version_id]]
}
Index: openacs-4/packages/bug-tracker/tcl/install-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/install-procs.tcl,v
diff -u -N -r1.2 -r1.3
--- openacs-4/packages/bug-tracker/tcl/install-procs.tcl 28 Aug 2003 09:45:29 -0000 1.2
+++ openacs-4/packages/bug-tracker/tcl/install-procs.tcl 27 Apr 2004 12:33:21 -0000 1.3
@@ -17,6 +17,7 @@
} {
db_transaction {
bug_tracker::install::register_implementations
+ bug_tracker::search::register_implementations
bug_tracker::bug::workflow_create
}
}
@@ -27,6 +28,7 @@
db_transaction {
bug_tracker::bug::workflow_delete
bug_tracker::install::unregister_implementations
+ bug_tracker::search::unregister_implementations
}
}
@@ -52,6 +54,9 @@
bug_tracker::bug::instance_workflow_create -package_id $project_id
}
}
+ 1.4d2 1.4d3 {
+ bug_tracker::search::register_implementations
+ }
}
}
Index: openacs-4/packages/bug-tracker/www/bug.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/bug.tcl,v
diff -u -N -r1.31 -r1.32
--- openacs-4/packages/bug-tracker/www/bug.tcl 20 Apr 2004 15:53:42 -0000 1.31
+++ openacs-4/packages/bug-tracker/www/bug.tcl 27 Apr 2004 12:33:21 -0000 1.32
@@ -84,7 +84,7 @@
# TODO: avoid the enabled_action_get query by caching it, or caching only the enabled_action_id -> action_id lookup?
workflow::case::enabled_action_get -enabled_action_id $available_enabled_action_id -array enabled_action
workflow::action::get -action_id $enabled_action(action_id) -array available_action
- lappend actions [list " $available_action(pretty_name) " $available_enabled_action_id]
+ lappend actions [list " [lang::util::localize $available_action(pretty_name)] " $available_enabled_action_id]
}
}
@@ -362,7 +362,7 @@
set context [list \
[list \
[export_vars -base . [bug_tracker::get_export_variables]] \
- "[_ bug-tracker.Filtered]"] \
+ [_ bug-tracker.Filtered]] \
[ad_quotehtml $page_title]]
} else {
set context [list [ad_quotehtml $page_title]]
Index: openacs-4/packages/bug-tracker/www/patch-add.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/patch-add.tcl,v
diff -u -N -r1.11 -r1.12
--- openacs-4/packages/bug-tracker/www/patch-add.tcl 29 Mar 2004 15:07:34 -0000 1.11
+++ openacs-4/packages/bug-tracker/www/patch-add.tcl 27 Apr 2004 12:33:21 -0000 1.12
@@ -66,7 +66,7 @@
-datatype text \
-widget select \
-label "[_ bug-tracker.Description_1]" \
- -options { { "[_ bug-tracker.Plain]" plain } { "[_ bug-tracker.HTML]" html } { "[_ bug-tracker.Preformatted]" pre } }
+ -options [list [list [_ bug-tracker.Plain] plain] [list [_ bug-tracker.HTML] html] [list [_ bug-tracker.Preformatted] pre ]]
element create patch version_id \
-datatype text \
Index: openacs-4/packages/bug-tracker/www/admin/initial-setup.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/admin/initial-setup.tcl,v
diff -u -N -r1.2 -r1.3
--- openacs-4/packages/bug-tracker/www/admin/initial-setup.tcl 29 Mar 2004 15:07:35 -0000 1.2
+++ openacs-4/packages/bug-tracker/www/admin/initial-setup.tcl 27 Apr 2004 12:33:22 -0000 1.3
@@ -20,7 +20,7 @@
} -on_submit {
if { [info exists default_configs($setup)] } {
array set config $default_configs($setup)
-
+
bug_tracker::delete_all_project_keywords
bug_tracker::install_keywords_setup -spec $config(categories)
bug_tracker::install_parameters_setup -spec $config(parameters)