[Rt-commit] r12191 - in rtfm/branches/2.3-EXPERIMENTAL: . inc/Module/Install lib/RT/FM t

falcone at bestpractical.com falcone at bestpractical.com
Fri May 9 12:35:42 EDT 2008


Author: falcone
Date: Fri May  9 12:35:42 2008
New Revision: 12191

Added:
   rtfm/branches/2.3-EXPERIMENTAL/lib/RT/FM/Introduction.pod
Removed:
   rtfm/branches/2.3-EXPERIMENTAL/docs/todo
Modified:
   rtfm/branches/2.3-EXPERIMENTAL/   (props changed)
   rtfm/branches/2.3-EXPERIMENTAL/MANIFEST
   rtfm/branches/2.3-EXPERIMENTAL/README
   rtfm/branches/2.3-EXPERIMENTAL/TODO
   rtfm/branches/2.3-EXPERIMENTAL/inc/Module/Install/RTx.pm
   rtfm/branches/2.3-EXPERIMENTAL/t/utils.pl

Log:
 r32347 at ketch:  falcone | 2008-05-08 16:57:12 -0400
 merge doc changes from 2.2
 r32348 at ketch:  falcone | 2008-05-08 16:59:15 -0400
 * remove documentation of deleted config option
 r32349 at ketch:  falcone | 2008-05-08 16:59:28 -0400
 * remove 2.2.2 release notes
 r32350 at ketch:  falcone | 2008-05-08 17:12:02 -0400
 * fix up MANIFEST
 r32398 at ketch:  falcone | 2008-05-09 10:59:38 -0400
 * fix errant checkin after local substitution


Modified: rtfm/branches/2.3-EXPERIMENTAL/MANIFEST
==============================================================================
--- rtfm/branches/2.3-EXPERIMENTAL/MANIFEST	(original)
+++ rtfm/branches/2.3-EXPERIMENTAL/MANIFEST	Fri May  9 12:35:42 2008
@@ -3,7 +3,6 @@
 docs/adding_ticketing
 docs/developers_guide
 docs/schema.html
-docs/todo
 docs/whatwsitgoodfor
 etc/acl.mysql
 etc/acl.Oracle
@@ -64,6 +63,7 @@
 html/Callbacks/RTFM/Elements/Tabs/Default
 html/Callbacks/RTFM/RTIR/Elements/Tabs/Default
 html/Callbacks/RTFM/SelfService/Elements/Tabs/Default
+html/Callbacks/RTFM/Ticket/Create.html/BeforeMessageBox
 html/Callbacks/RTFM/Ticket/Elements/Tabs/Default
 html/Callbacks/RTFM/Ticket/Update.html/BeforeMessageBox
 html/NoAuth/webrtfm.css
@@ -92,6 +92,7 @@
 html/RTFM/Article/History.html
 html/RTFM/Article/PreCreate.html
 html/RTFM/Article/Search.html
+html/RTFM/Elements/BeforeMessageBox
 html/RTFM/Elements/CreateArticle
 html/RTFM/Elements/Error
 html/RTFM/Elements/GotoArticle
@@ -131,6 +132,7 @@
 lib/RT/FM/Class_Overlay.pm
 lib/RT/FM/ClassCollection.pm
 lib/RT/FM/ClassCollection_Overlay.pm
+lib/RT/FM/Introduction.pod
 lib/RT/FM/ObjectTopic.pm
 lib/RT/FM/ObjectTopicCollection.pm
 lib/RT/FM/ObjectTopicCollection_Overlay.pm

Modified: rtfm/branches/2.3-EXPERIMENTAL/README
==============================================================================
--- rtfm/branches/2.3-EXPERIMENTAL/README	(original)
+++ rtfm/branches/2.3-EXPERIMENTAL/README	Fri May  9 12:35:42 2008
@@ -16,6 +16,8 @@
 Installation instructions:
 --------------------------
 
+NOTE that upgrade steps are described below.
+
 1) Install RT 3.4.2 or newer
 
 2) Once RT appears to be happily installed, cd into the directory you
@@ -29,14 +31,19 @@
 
 6) stop and start your web server
 
+7) Before you can add content to RTFM articles, you will need to configure
+   classes and custom fields. For details, see lib/RT/FM/Introduction.pod
+
 ----------------------------------------------
 
 Upgrade instructions can be found in UPGRADING
 
-----------------------------------------------
+Further reading:
+-----------------------------------------------------
 
-After Installation:
--------------------
+You can read pod files using perldoc utility that comes with perl.
+1) lib/RT/FM/Introduction.pod - quick overview
+2) lib/RT/FM/Config.pod - RTFM's config options
 
 Staff users should be now have a new "RTFM" menu item RT's top level menu.
 As an administrator, you should go create some "Classes" of articles in RTFM.
@@ -49,8 +56,6 @@
 Once you've created your custom fields, go into your classes and click
 on "Custom Fields" and add the Custom Fields you want to each class.
 
-Grant some ACLs to your users and start creating articles.
-
 Each Article will belong to a particular Class, but Articles can also be
 grouped using Topics.  Topics are created by administrators on Classes
 using the 'Topics' submenu of the RTFM Class configuration.  The
@@ -84,6 +89,31 @@
 widget that lets you search for and include RTFM articles in your reply.
 (They're editable, of course).  
 
+You can also bind articles to topics. Topics are created by administrators
+on classes using the 'Topics' submenu of the RTFM class configuration.
+The configuration screen for the class has a tab for 'topics'. Typing the
+name (and optionally description) of the topic, and then clicking the button
+at the appropriate location. This should allow you to build a tree of topics.
+This tree of topics should show up when creating or modifying articles
+in the class. These can be arbitrarily nested categories.
+
+Articles topics can be set from the 'Modify' screen for the article --
+simply select as many topics as you desire from the list at the bottom
+of the screen.
+
+Of course, RTFM integrates with RT.  You can extract the body of a
+ticket into an article. Within RT, you should now see an "Extract to
+article" button in the upper right hand corner of RT's UI when working
+with tickets. When you click that button, RTFM will ask you which
+Class to create your new article in.  Once you click on a class name,
+the Ticket's transactions will be displayed, along with a set of
+select boxes. For each transaction, you can pick which Freeform, Text,
+or WikiText field that transaction should be extracted to. From there
+on in, it's just regular article creation.  And the integration
+doesn't stop there! When replying to or commenting on tickets, there's
+a new UI widget that lets you search for and include RTFM articles in
+your reply. (They're editable, of course).
+
 New in 2.4, you can use Topics to organize a set of Queue specific
 Articles.  Simply create a global Topic called 'Queues' and then create
 Topics under Queues named after each of your Queues.  Within each Queue
@@ -100,7 +130,8 @@
 After choosing Topic 1 or Topic 2, you will be given a list
 of relevant articles to choose.
 
-
+Bugs reporting and discussion lists:
+-----------------------------------------------------
 
 You probably want to discuss RTFM on rt-users at lists.bestpractical.com.
 (Send mail to rt-users-request at lists.fsck.com to subscribe)
@@ -109,7 +140,6 @@
 at open bug reports at http://rt3.fsck.com/. Log in as guest/guest
 to see the content of bug reports.
 
-
         Best,
         Jesse Vincent
         Best Practical Solutions, LLC

Modified: rtfm/branches/2.3-EXPERIMENTAL/TODO
==============================================================================
--- rtfm/branches/2.3-EXPERIMENTAL/TODO	(original)
+++ rtfm/branches/2.3-EXPERIMENTAL/TODO	Fri May  9 12:35:42 2008
@@ -14,3 +14,69 @@
 Seals of approval
 
 Email -> Article gateway, with at least some categorization and metadata fill in .
+
+
+=== content of docs/todo file
+
+
+Upgrades
+
+    Document RTFM 2.0 -> new upgrade procedure
+
+
+
+Admin
+
+    Add menus to associate custom fields with a given class
+    
+
+Testing
+
+
+Links:
+
+
+    When extracting an article from an RT link, shall add functionality to automatically create the relationship and provide links between the original ticket and the newly created article.
+
+
+
+Custom fields:
+
+    Add back wikitext fields
+
+Hierarchy:
+
+
+    Hierarchy selection on article creation
+
+
+M. Menu
+
+    FAQ Class page: Show linkable hierarchies with an option to show all (like a table of contents).  
+
+
+Access control:
+
+    Configuration should not be shown unless the user has 
+    permissions to Configure a class.
+
+N. Formatting
+
+    Custom field UI display cleanup:
+    Needs to be more space between each custom field 
+        (ie, Answer and Question need more separation).
+
+Search UI
+
+    If link "Show advanced search options" is selected, 
+        the Search section should appear at the top of the page.
+
+    Saved searches
+
+    Bookmarkable searches
+
+    Search in upper right shall query article id, name and summary.
+
+    Add: Search all custom fields for _____
+    
+    Search by hierachy

Modified: rtfm/branches/2.3-EXPERIMENTAL/inc/Module/Install/RTx.pm
==============================================================================
--- rtfm/branches/2.3-EXPERIMENTAL/inc/Module/Install/RTx.pm	(original)
+++ rtfm/branches/2.3-EXPERIMENTAL/inc/Module/Install/RTx.pm	Fri May  9 12:35:42 2008
@@ -1,11 +1,15 @@
 #line 1
 package Module::Install::RTx;
-use Module::Install::Base;
- at ISA = qw(Module::Install::Base);
-
-$Module::Install::RTx::VERSION = '0.20';
 
+use 5.008;
 use strict;
+use warnings;
+no warnings 'once';
+
+use Module::Install::Base;
+use base 'Module::Install::Base';
+our $VERSION = '0.22';
+
 use FindBin;
 use File::Glob     ();
 use File::Basename ();
@@ -21,10 +25,10 @@
 
     $self->name("$RTx-$name")
         unless $self->name;
+    $self->all_from( -e "$name.pm" ? "$name.pm" : "lib/$RTx/$fname.pm" )
+        unless $self->version;
     $self->abstract("RT $name Extension")
         unless $self->abstract;
-    $self->version_from( -e "$name.pm" ? "$name.pm" : "lib/$RTx/$fname.pm" )
-        unless $self->version;
 
     my @prefixes = (qw(/opt /usr/local /home /usr /sw ));
     my $prefix   = $ENV{PREFIX};
@@ -49,6 +53,7 @@
     }
 
     my $lib_path = File::Basename::dirname( $INC{'RT.pm'} );
+    my $local_lib_path = "$RT::LocalPath/lib";
     print "Using RT configuration from $INC{'RT.pm'}:\n";
     unshift @INC, "$RT::LocalPath/lib" if $RT::LocalPath;
 
@@ -60,11 +65,14 @@
     my $with_subdirs = $ENV{WITH_SUBDIRS};
     @ARGV = grep { /WITH_SUBDIRS=(.*)/ ? ( ( $with_subdirs = $1 ), 0 ) : 1 }
         @ARGV;
-    my %subdirs = map { $_ => 1 } split( /\s*,\s*/, $with_subdirs );
+
+    my %subdirs;
+    %subdirs = map { $_ => 1 } split( /\s*,\s*/, $with_subdirs )
+        if defined $with_subdirs;
 
     foreach (qw(bin etc html po sbin var)) {
         next unless -d "$FindBin::Bin/$_";
-        next if %subdirs and !$subdirs{$_};
+        next if keys %subdirs and !$subdirs{$_};
         $self->no_index( directory => $_ );
 
         no strict 'refs';
@@ -73,7 +81,7 @@
     }
 
     $path{$_} .= "/$name" for grep $path{$_}, qw(etc po var);
-    $path{lib} = "$RT::LocalPath/lib" unless %subdirs and !$subdirs{'lib'};
+    $path{lib} = "$RT::LocalPath/lib" unless keys %subdirs and !$subdirs{'lib'};
 
     # If we're running on RT 3.8 with plugin support, we really wany
     # to install libs, mason templates and po files into plugin specific
@@ -118,10 +126,10 @@
         $self->load('RTxFactory');
         $self->postamble(<< ".");
 factory ::
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxFactory(qw($RTx $name))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxFactory(qw($RTx $name))"
 
 dropdb ::
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxFactory(qw($RTx $name drop))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxFactory(qw($RTx $name drop))"
 
 .
     }
@@ -146,13 +154,13 @@
         print "For first-time installation, type 'make initdb'.\n";
         my $initdb = '';
         $initdb .= <<"." if $has_etc{schema};
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(schema))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(schema))"
 .
         $initdb .= <<"." if $has_etc{acl};
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(acl))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(acl))"
 .
         $initdb .= <<"." if $has_etc{initialdata};
-\t\$(NOECHO) \$(PERL) -Ilib -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(insert))"
+\t\$(NOECHO) \$(PERL) -Ilib -I"$local_lib_path" -I"$lib_path" -Minc::Module::Install -e"RTxInitDB(qw(insert))"
 .
         $self->postamble("initdb ::\n$initdb\n");
         $self->postamble("initialize-database ::\n$initdb\n");
@@ -172,6 +180,4 @@
 
 __END__
 
-#line 239
-
-#line 260
+#line 281

Added: rtfm/branches/2.3-EXPERIMENTAL/lib/RT/FM/Introduction.pod
==============================================================================
--- (empty file)
+++ rtfm/branches/2.3-EXPERIMENTAL/lib/RT/FM/Introduction.pod	Fri May  9 12:35:42 2008
@@ -0,0 +1,47 @@
+
+=head1 INTRODUCTION
+
+=head2 Basics
+
+Staff users should be now have a new "RTFM" menu item RT's top level menu.
+As an administrator, you should go create some "Classes" of articles in RTFM.
+Classes are equivalent to RT's queues. Unlike RTFM 1.0, RTFM 2.0 doesn't have a
+single "body" section for each article. Everything is a custom field (except
+for name, summary and some other basic metadata). So, you need to go create
+some custom fields.
+
+Once you've created your custom fields, go into your classes and click
+on "Custom Fields" and add the Custom Fields you want to each class.
+
+Grant some ACLs to your users and start creating articles.
+
+You can also bind articles to topics. Topics are created by administrators
+on classes using the 'Topics' submenu of the RTFM class configuration.
+The configuration screen for the class has a tab for 'topics'. Typing the
+name (and optionally description) of the topic, and then clicking the button
+at the appropriate location. This should allow you to build a tree of topics.
+This tree of topics should show up when creating or modifying articles
+in the class. These can be arbitrarily nested categories.
+
+Articles topics can be set from the 'Modify' screen for the article --
+simply select as many topics as you desire from the list at the bottom
+of the screen.
+
+Of course, RTFM integrates with RT.  You can extract the body of a
+ticket into an article. Within RT, you should now see an "Extract to
+article" button in the upper right hand corner of RT's UI when working
+with tickets. When you click that button, RTFM will ask you which
+Class to create your new article in.  Once you click on a class name,
+the Ticket's transactions will be displayed, along with a set of
+select boxes. For each transaction, you can pick which Freeform, Text,
+or WikiText field that transaction should be extracted to. From there
+on in, it's just regular article creation.  And the integration
+doesn't stop there! When replying to or commenting on tickets, there's
+a new UI widget that lets you search for and include RTFM articles in
+your reply. (They're editable, of course).
+
+=head2 Config options
+
+You can read about that in F<lib/RT/FM/Config.pod>
+
+=cut

Modified: rtfm/branches/2.3-EXPERIMENTAL/t/utils.pl
==============================================================================
--- rtfm/branches/2.3-EXPERIMENTAL/t/utils.pl	(original)
+++ rtfm/branches/2.3-EXPERIMENTAL/t/utils.pl	Fri May  9 12:35:42 2008
@@ -5,7 +5,7 @@
 
 BEGIN {
 ### after:     push @INC, qw(@RT_LIB_PATH@);
-    push @INC, qw(/Users/falcone/svk/customers/apnic/rt-3.6.6/local/lib /Users/falcone/svk/customers/apnic/rt-3.6.6//lib);
+    push @INC, qw(/opt/rt3/local/lib /opt/rt3/lib);
 }
 
 1;


More information about the Rt-commit mailing list