[Rt-commit] rt branch, lcore, updated. fb60f953f6e1d816144a51a3eb71b4cacbf43df8

clkao at bestpractical.com clkao at bestpractical.com
Thu Aug 27 01:25:34 EDT 2009


The branch, lcore has been updated
       via  fb60f953f6e1d816144a51a3eb71b4cacbf43df8 (commit)
       via  83326c4e5f858636dbb8b9a77685f939cb494d63 (commit)
       via  af02277a75391b3c31c66de75895216bc5724a34 (commit)
       via  67625ba00c611fc030d00b53dbfae8a7b47d74cb (commit)
       via  5c532665d32ecd0effdae39c67fd0ddf0bf3bd25 (commit)
      from  01d48241d085ec8040eef104f8ccb1dc55813eae (commit)

Summary of changes:
 TODO                                        |  109 +++++++++++++++++++++++++++
 lib/RT/Collection.pm                        |    4 +-
 lib/RT/Interface/Web.pm                     |    1 +
 lib/RT/Report/Tickets.pm                    |    2 +
 share/html/Search/Chart                     |    1 -
 share/html/Search/Elements/Chart            |    1 -
 share/html/Search/Elements/ResultViews      |    4 +-
 share/html/Search/Elements/SelectGroupBy    |    1 -
 share/html/Ticket/Elements/ShowUpdateStatus |    6 +-
 9 files changed, 117 insertions(+), 12 deletions(-)

- Log -----------------------------------------------------------------
commit 5c532665d32ecd0effdae39c67fd0ddf0bf3bd25
Author: Chia-liang Kao <clkao at clkao.org>
Date:   Thu Aug 27 06:30:30 2009 +0800

    todo by features.

diff --git a/TODO b/TODO
index 0a63ccc..a99b044 100644
--- a/TODO
+++ b/TODO
@@ -13,3 +13,113 @@ to the latter.
 
 RT::load_config and other in RT package should be replaced with RT->load_config
 
+
+* create graphviz for templates/elements, orphan ones needs to be documented.
+* make richtext a jifty plugin (so we get automagic js/css squish)
+* remove old compat-* css
+* remove <|&/l, should just be <%_()%>
+  - share/html/Search/Elements/ResultViews:<&|/l, $m->scomp('SelectChartType', name 
+  - share/html/Ticket/Elements/ShowUpdateStatus:<&|/l,
+
+* fresh db, create ticket with body asdf shows "<p>&nbsp;asdf</p>" in the ticket history right after create.
+* fresh db, create an unowned ticket, click unowned search from homepage, click chart by status, infinite loop.
+
+------------- todo by feature list
+I18N
+  - display of messages in utf8
+  - picking up user's loc preferences from browser or from db
+
+Database audit tool (integrity check)
+database Shredder
+
+Linking tickets to each other
+saved tix relationship graphs
+pluggable link schemes
+REST interface
+  * leave this for now, and see phase2 of ticket action for transition to jifty rest api
+
+Web interface
+  * ticket actions refactor:
+    * make create into a jifty action with dynamic params
+    * go through the %arg usage in ticket::create and make them into action params (should be only based on queue). good to make the cf logic separate so it might be reusable in the update action.
+      * note the update action will need add/delete/modify OCFV, where the create action will just use add.
+    * repeated argument (such as role) might need special handling as jifty action param
+    * make use of default jifty model update actions, for cfs, links, roles, use individual actions for now
+      * make sure all Ticket/Modify* renders action, basically all "push @results, process_*" in ModifyAll should be gone and the logic be run with actions.
+
+    * phase2: gradually enhance the grand ticket update action to include the other update functionality (and make that into the general $model->update() method) for each of cf/link/role CRUD of the ticket update.  at this point the view layer should have minimum change (just the rendering $action, from old small related crud actions to the grand update action).
+    * the REST api for ticket update (REST/1.0/Forms/ticket/default) has some flattening for the update action.  this can be a reference and eventually just have the update action serve the rest api via jifty rest plugin.
+
+Self service web interface
+
+Email interface
+  - Email input
+  - Email sending
+	privileged users can get mail batched on a schedule or immediately
+  - GPG email in
+  - GPG email out
+  * make jifty::notification hookable to support gpg/smime (or make it native to jifty::notification)
+
+Custom Fields
+  - external sources (forming list)
+  - pick/enter one/many
+  - autocomplete
+  - custom fields can apply to a set queues
+  - custom fields can apply to tix, txns, users, groups
+
+Groups of users
+  - recursive
+  - can contain other groups
+
+User, group and role based access control
+
+external authentication	(LDAP, trust aache, etc)
+  * code was in autohandler, seems to be removed now, need to verify workiness
+
+search builder subsystem
+  - graphical query builder
+  - custom search result formats
+  - search -> ical
+  - search -> csv
+  - bulk ticket edit
+  - saved searches
+  - saved charts
+  * see if we can migrate the general ui flow to some component that uses tisql. low priority, leave this as-is as long as it works.
+
+overview:
+  - Custom homepage
+  - dashboards
+  - "all the stuff i've been working on today" MyDay.html
+
+per-user preferences of various sorts
+  - user-switchable themes
+  - user-selectable date-time formats
+
+date/time inputs (ajax?)
+  * migrate to rendering jifty action fields
+  * dates fields in ticket, anything else?
+
+scrips
+custom per-queue templates for scrips
+
+approvals
+
+full administrative UI
+  * make basic CRUD for admin/{queues,users,groups}/* use jifty actions/CRUD
+  * note there is CF for group as well, so we still need to leave the process_object_custom_field_updates as part of the form submit.
+  * investigate the effort to convert right editing system to native jifty.
+
+Database support
+ * mysql/pg/sqlite/oracle
+
+RT plugins
+ - override libs/ui
+   * some basic test to make sure this works
+ - callback systems (from mason)
+   * investigate what's used in core and decide if it should be deprecated and in favor of different hook mechanism
+-----
+investigate how complete the update() method for various models is:
+  - update_record_object calls $model->update
+  - process_custom_field_updates - this is for modifying CF and CFV, not OCFV
+  - process_object_custom_field_updates - for OCFV, can be used in grand ticket->update api in the future (like the current heavy-lifting create_ticket in interface::web and ticket::create).
+

commit 67625ba00c611fc030d00b53dbfae8a7b47d74cb
Author: Chia-liang Kao <clkao at clkao.org>
Date:   Thu Aug 27 06:31:55 2009 +0800

    don't really need rt::base as base for rt::collection.

diff --git a/TODO b/TODO
index a99b044..978dbd1 100644
--- a/TODO
+++ b/TODO
@@ -16,6 +16,7 @@ RT::load_config and other in RT package should be replaced with RT->load_config
 
 * create graphviz for templates/elements, orphan ones needs to be documented.
 * make richtext a jifty plugin (so we get automagic js/css squish)
+* remoe rt::base
 * remove old compat-* css
 * remove <|&/l, should just be <%_()%>
   - share/html/Search/Elements/ResultViews:<&|/l, $m->scomp('SelectChartType', name 
diff --git a/lib/RT/Collection.pm b/lib/RT/Collection.pm
index 20e9cab..697a463 100755
--- a/lib/RT/Collection.pm
+++ b/lib/RT/Collection.pm
@@ -64,12 +64,10 @@
 
 package RT::Collection;
 
-use RT::Base;
-
 use strict;
 use warnings;
 
-use base qw/RT::Base Jifty::Collection/;
+use base qw/Jifty::Collection/;
 
 sub _handle {
     return Jifty->handle;

commit af02277a75391b3c31c66de75895216bc5724a34
Author: Chia-liang Kao <clkao at clkao.org>
Date:   Thu Aug 27 06:33:03 2009 +0800

    Make report::tickets actually load properly by specifying explicit
    record_class.

diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index 919ff48..c948e83 100755
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -61,6 +61,7 @@ use strict;
 use warnings;
 
 package RT::Interface::Web;
+use RT::Report::Tickets;
 use RT::System;
 use RT::SavedSearches;
 use URI qw();
diff --git a/lib/RT/Report/Tickets.pm b/lib/RT/Report/Tickets.pm
index c377e2d..77c6b4f 100644
--- a/lib/RT/Report/Tickets.pm
+++ b/lib/RT/Report/Tickets.pm
@@ -53,6 +53,8 @@ use RT::Report::Tickets::Entry;
 use strict;
 use warnings;
 
+sub record_class { 'RT::Report::Tickets::Entry' }
+
 sub groupings {
     my $self   = shift;
     my %args   = (@_);
diff --git a/share/html/Search/Chart b/share/html/Search/Chart
index 7aa69f5..bac6c3c 100644
--- a/share/html/Search/Chart
+++ b/share/html/Search/Chart
@@ -66,7 +66,6 @@ if ($chart_style eq 'pie') {
     $chart_class = "GD::Graph::bars";
 }
 
-use RT::Report::Tickets;
 my $tix = RT::Report::Tickets->new();
 $tix->from_sql( $query );
 my $count_name = $tix->column( FUNCTION => 'COUNT', column => 'id' );
diff --git a/share/html/Search/Elements/Chart b/share/html/Search/Elements/Chart
index e3423ac..ab756d0 100644
--- a/share/html/Search/Elements/Chart
+++ b/share/html/Search/Elements/Chart
@@ -52,7 +52,6 @@ $secondary_group_by => undef
 $chart_style => 'bars'
 </%args>
 <%init>
-use RT::Report::Tickets;
 my $tix = RT::Report::Tickets->new();
 $tix->from_sql( $query );
 my $count_name = $tix->column( function => 'COUNT', column => 'id' );
diff --git a/share/html/Search/Elements/SelectGroupBy b/share/html/Search/Elements/SelectGroupBy
index dd94640..8be47ae 100644
--- a/share/html/Search/Elements/SelectGroupBy
+++ b/share/html/Search/Elements/SelectGroupBy
@@ -57,7 +57,6 @@ $query   => ''
 % }
 </select>
 <%init>
-use RT::Report::Tickets;
 my $report = RT::Report::Tickets->new();
 my @options = $report->groupings( query => $query );
 </%init>

commit 83326c4e5f858636dbb8b9a77685f939cb494d63
Author: Chia-liang Kao <clkao at clkao.org>
Date:   Thu Aug 27 06:33:54 2009 +0800

    convert non-trivial <&|/l> use cases to _().

diff --git a/TODO b/TODO
index 978dbd1..9b7951e 100644
--- a/TODO
+++ b/TODO
@@ -19,8 +19,6 @@ RT::load_config and other in RT package should be replaced with RT->load_config
 * remoe rt::base
 * remove old compat-* css
 * remove <|&/l, should just be <%_()%>
-  - share/html/Search/Elements/ResultViews:<&|/l, $m->scomp('SelectChartType', name 
-  - share/html/Ticket/Elements/ShowUpdateStatus:<&|/l,
 
 * fresh db, create ticket with body asdf shows "<p>&nbsp;asdf</p>" in the ticket history right after create.
 * fresh db, create an unowned ticket, click unowned search from homepage, click chart by status, infinite loop.
diff --git a/share/html/Search/Elements/ResultViews b/share/html/Search/Elements/ResultViews
index 75422ca..dcd4aa4 100644
--- a/share/html/Search/Elements/ResultViews
+++ b/share/html/Search/Elements/ResultViews
@@ -69,8 +69,8 @@ $short_query_string => undef
 % foreach my $key (keys(%hiddens)) {
 <input type="hidden" class="hidden" name="<%$key%>" value="<%defined($hiddens{$key})?$hiddens{$key}:''%>" />
 % }
-<&|/l, $m->scomp('SelectChartType', name => 'chart_style'), $m->scomp('SelectGroupBy', name => 'primary_group_by', query => $query) 
-&>%1 chart by %2</&><input type="submit" class="button" value="<%_('Go')%>" />
+<%_("%1 chart by %2", $m->scomp('SelectChartType', name => 'chart_style'), $m->scomp('SelectGroupBy', name => 'primary_group_by', query => $query))|n%>
+<input type="submit" class="button" value="<%_('Go')%>" />
 </form>
 <%init>
 my $ical_path = join '/', map $m->interp->apply_escapes($_, 'u'),
diff --git a/share/html/Ticket/Elements/ShowUpdateStatus b/share/html/Ticket/Elements/ShowUpdateStatus
index c3db1af..20afadb 100644
--- a/share/html/Ticket/Elements/ShowUpdateStatus
+++ b/share/html/Ticket/Elements/ShowUpdateStatus
@@ -48,11 +48,9 @@
 <div class="unread-messages">
 <&| /Widgets/TitleBox, title => _('New messages'), title_href => "#txn-". $txn->id &>
 <&|/l, &>There are unread messages on this ticket.</&>
-<&|/l, 
+<%_('You can <a href="%1">jump to the first unread message</a> or <a href="%2">jump to the first unread message and mark all messages as seen</a>.',
  RT->config->get('web_path') ."/Ticket/Display.html?id=". $ticket->id. "#txn-".$txn->id,
- RT->config->get('web_path') ."/Ticket/Display.html?id=". $ticket->id ."&mark_as_seen=1".  "#txn-".$txn->id
- 
- &>You can <a href="%1">jump to the first unread message</a> or <a href="%2">jump to the first unread message and mark all messages as seen</a>.</&>
+ RT->config->get('web_path') ."/Ticket/Display.html?id=". $ticket->id ."&mark_as_seen=1".  "#txn-".$txn->id)|n%>
 </&>
 </div>
 <%ARGS>

commit fb60f953f6e1d816144a51a3eb71b4cacbf43df8
Merge: 01d4824 83326c4
Author: Chia-liang Kao <clkao at clkao.org>
Date:   Thu Aug 27 06:36:03 2009 +0800

    Merge branch 'master' into lcore


-----------------------------------------------------------------------


More information about the Rt-commit mailing list