RTFM 2.2 now available

Best Practical is pleased to announce a new release of the Request
Tracker FAQ Manager (RTFM).  This release encompasses more than 3 years
of development and bug fixes.  Major highlights of this development include:

    * Complete restructuring of articles to use RT's standard Custom
      Fields.  This allows you greater control over the format of your
    * There are now multiple ways of organizing articles using Topics
      and Classes
    * Better control over how articles are included in replies
    * UI improvements for Admins and Users

A full changelog is included below.

Download is available here

Please report bugs to rtfm-bugs@bestpractical.com



* Don't allow an article to be Deleted unless the user
   has DeleteArticle (not ModifyArticle). Report by Joop - falcone



* Added new portuguese and spanish translations for RTFM - jesse

* XHTML correctness fixes from Dirk Pape - jesse

* bug fixes to the importer - jesse

* add basic searches ordering - ruz

* tabs highlighting
* when we have no classes or have no rights page witout
   any content is very confusing, add some description - ruz

* Include omitted DeleteArticle right - alexmv

* add RTFM tab to the RTIR's top menu - ruz

* Fix table and HTML layout in search
* Article creation can have a next= to redirect after creation - alexmv

* Hotlisting functionality - alexmv

* Make which text is included in articles customizable - alexmv

* Use upper-case API - alexmv

* Article searches should be case insensitive - alexmv

* RTFM's customfields went out of style in 2.1 -- there were still some
   remnants lying about, though - alexmv

* PO updates, including new Russian from Andrew Kornilov
   <andy@eva.dp.ua> - alexmv

* Clean up things that used the old CF API - alexmv

* System rights are also enough to AdminTopic - alexmv

* Limit to enabled classes in most places
  * When creating a class, default to enabled, not disabled - alexmv

* Make topic create pull permissions from the right place
* Make the admin classes index aware that AdminTopics rights are also sufficient - alexmv

* Now you can disable classes - jesse

* "Articles with no topics" is specific to a class - alexmv

* Show articles with no topics on top level - alexmv

* Allow better for unnamed articles and topics - alexmv

* Make "search anything" play nice with other search clauses - alexmv

* Add WikiBase method to RT::FM::Record to make Wiki links on Articles and
   etc go to the Article named in the link - alexmv

* UI fixes; make class, relationships headers more visible
  * Localize something that wasn't - alexmv

* Update schema to compensate for Oracle thinking that '' == NULL
  * Standardize on '(no name)' for when articles and things have empty names
  * Remove vestigial RTFM/Article/index.html - alexmv

* Newlines between sections if multiple sections feed into a single CF -

* Make columns up-to-date, redo formatting to use more CSS - alexmv

* Don't display topics list on first page of topic browse - alexmv

* Make "search everything" actually do that - alexmv

* Ignore disabled values in LimitCustomField
  * Re-indent - alexmv

* Show count of articles in topic browsing
  * Rework pre-search page to be loc'd and like pre-create page - alexmv

* RTFM article searching now forces user to choose class before going to
   full search
  * Multiple classes can be in the default topics
  * Topics selector is always 10 high (math was getting too complex)
  * Fix render bug in RTFM/Article/Edit.html - alexmv

* Move results above search criteria, add #link to criteria at top - alexmv

* Improved search by article link - jesse

* Relabeled "Bookmarkable Link" to make it was clear that it was for the
   current search - jesse

* Made RTFM quicksearch say that it's RTFM - jesse

* Made RTFM article links have pretty explanatory text - jesse

* Prettified article edit - jesse

* Extract article and cleanups and fixes - jesse

* Prompt for topics after asking for class - alexmv

* Allow extraction into freeform or wikitext - alexmv

* Add configuration tab under RTFM, if the user can see it
  * Add link into custom fields under RTFM configuration - alexmv

* moved the instructions for linking inside RTFM to their own
   component - jesse

* Fairly extensive HTML tweak to the user-side view of RTFM - jesse

* Editing articles only shows topics in that class
  * Default to t:12345 format when creating new article from ticket
  * Render links correctly just after article creation
  * UNIVERSAL::can doesn't always do the right thing, as
    DBIx::SearchBuilder AUTOLOAD's methods as needed.  Reinforce with
    UNIVERSAL::isa calls were appropriate - alexmv

* Bookmark link - alexmv

* Added the 2.0 to 2.2 migration tool - jesse

* The beginnings of interface tests, concentrating on recent changes. - tla

* Move </form> tag to Search.html for symmetry; fix update logic so that
   search names can be updated. - tla

* Support for Wikitext custom fields; removed old admin menu - jesse

* Search Results come after search criteria now - jesse

* GotoArticle now searches on name, id, and summary. The search on "any
   custom field" has been manually verified to work. - tla

* Can now save, delete, and update searches. - tla

* Saved searches interface bits. - tla

* Topics.html is now a more robust hierarchical table of contents. - tla

* Add a callback with extra linking instructions for RTFM users. - tla

* More on proper link display, and Classes admin now hides classes which the
   user does not have permission to admin. - tla

*   A lib to parse a:<num> URIs into article refs. This is basically just a
   subclass of fsck_com_rtfm, which already knows how to load articles. - tla

* Fix custom field stuff so that articles can be extracted from tickets. Not
   worrying about single vs. multi-entry yet; will probably have to go back
   and fix that. - tla

* Search UI works. Custom Field admin ui works
  - jesse

* Moving the admin UI under /Admin - jesse

* Users can now edit custom fields for articles - jesse

* removing more old custom fields stuff - jesse

* Adding support for picking RTFM custom fields - jesse

* Old txn and custom field code going away now - jesse

* Move topics listing to top, above custom fields, just below title - alexmv

* Add necisary "alter table" instructions to add "Display" to

* Hidden and "Hidden when empty" fields should do the right thing
   when inserted into tickets. - alexmv

* Make "Hidden" be entirely css-based

* "Hidden when empty" now switches css between "Hidden" and "Visible"

* "Normal" is now "Visible" - alexmv

* Modify custom field display in articles to use more classes and IDs

* Merge bugfixes forward from 2.0

* Add "header" callback just inside main div - alexmv

* Fixes for empty CustomFields
* Allow emphasis, de-emphasis, hidden, or hidden when empty display of CustomFields - alexmv

* Add and move ShowTopic - alexmv

* Topic search functionality - alexmv

* Sort class custom fields by the order given in the ClassCustomField
   category - alexmv


* Remove ..author in inc so builds don't need Module::Install - alexmv

* Use Module::Install::AutoInstall to install deps - alexmv

* 'install YAML' gets parsed as YAML->install; use quotes to fix - alexmv

* sync requirements in Makefile.PL and README - ruz

* Pg acl setup fixes. Found by Tracy Phillips - jesse

* Demoved spurious debugging line
  * Clean up releng.cnf formatting
  * Remove bogus file from MANIFEST - alexmv

* Update README to reflect (new) reality - alexmv

* schema updates for pg and oracle - jesse

* build fixes - jesse

* added a todo list for the next release
  - jesse

* Link topics to the topic hierarchy browser

* Include etc/upgrade tree for schema changes from 2.0, and document
   in Makefile and README - alexmv

* Cleaned up oracle and pg drop schemas - jesse


* Don't show articles twice. If we find an article by matching on the
   Title/Summary we should skip it if we also find it by matching in the
   Custom Fields - falcone

* patch from Jeff Platter to search Content and LargeContent so large
   articles are found - falcone

* XHTML correctness fixes from Dirk Pape - ruz

* use local header - ruz

* load a module first if we call a class method there - ruz

* Fix entry aggregator for negative searching on postgres - jesse

* Fixing upload/image Custom Field creation
* many misc bugfixes
* testsuite cleanup - jesse

* Updated XHTML patch from Dirk Pape - jesse

* bug fixes to the importer - jesse

* fix legacy of copy&paste - ruz

* drop unused dumper - ruz

* Adding custom fields on article creation didn't work. it now does. - jesse

* made the CSS file identify itself as such - jesse

* escape URI, ':' is reserved - ruz

* drop unint warnings - ruz

* Sort articles in the pickone dropdown sanely - jesse

* Links API was being used incorrectly
  - jesse

* The hotlist selector should default to an empty item - jesse

* Fix update code - alexmv

* Typo fix
  * Allow setting HotList on create - alexmv

* If creation fails because of link creation, $ArticleObj->Id will be non-
   zero, as it *did* have a row in the article table -- even though it was
   rolled back. Forcing $ArticleObj to be fresh avoids a bug with
   EditCustomFields thinking the article actually existed, and hence not
   having a sticky value. - alexmv

* Um, '=' != '0'; MySQL loves me too much, and let me get away with it -

* Make tests pass again -- make the join not wrong
  * Make it only have to select class when _nothing_ is specified - alexmv

* RTFM search box is exempt from having to choose a class - alexmv

* Load RTFM searches from first RTFM search page - alexmv

* One-character patch to made uploading work again - alexmv

* HTML cleanups; proper nesting of topic levels, lost in r4214 - alexmv

* Don't show "no articles under this topic" if there are no articles.
   Confuses the users
  - jesse

* don't bomb out on empty searches - jesse

* Extract article fixes - jesse

* Now the non-"Show all" links work like they ought, too. - tla

* Now the "show all" links actually show all. - tla

* Make article and ticket links work, and display, correctly. - tla

* EditLinks now pays attention to defaults that have been passed. - tla

* Make it so that only Text type custom fields can have ticket transactions
   extracted into them. - tla

* search fix - jesse

* a bunch of fixes to make RTFM run in devel mode - jesse

* Cosmetic fix -- don't show a button which doesn't do anything - alexmv


* add a plan for each test file - ruz

* t/01harness.t is not requireed anymore - ruz

* no more t/autogen adn t/regression dirs, all inline tests now in t/ dir -

* rename a test file - ruz

* merge t/System.pm.t into t/2basic_api.t - ruz

* delete inline tests - ruz

* delete inline tests, those are in t/URI_fsck_com_rtfm.t - ruz

* add plan
* add additional checks - ruz

* extract tests from POD, we forgot to do that because of some unknown
   reason - ruz

* tests without plan fail silently :( add plan
  * switch to follow_link_ok
  * delete queue object we don't use and were creating using wrong API
  * there is topic selector in the UI when test expected article editor - ruz

* Have t/04interface.t use RT's port - sartak

* replace with equivalent tests, but: ** use internal scopes ** add tests for
   create, add and other ops, not only searches
  - ruz

* update with good things from t/05cfsearches.t - ruz

* fix a failing test - ruz

* add a tests provided by Dirk Pape - ruz

* we don't need this tool anymore, as we got rid of inline tests - ruz

* now all tests work without setting libs via tricks - ruz

* update tests, so we don't have to play with lib paths - ruz

* new failing cf searches from Dirk - jesse

* Test updates
  - jesse

* RT::URI::a tests; article-wide CF search. The latter is interface-tested
   but not functionality-tested yet. - tla

* All tests pass. need more tests - jesse

* Article collection tests work, aside from custom field searching - jesse

* Article_Overlay tests pass - jesse

* Working toward test suite passing - jesse

* Refactored testing infrastructure. now RTFM 2.1 fails 10% of its
   tests. Better than not running any. also, basic custom field api
   support works - jesse

* basic api-level custom field functionality works - jesse

* more tests - jesse

* New test suite actually creates articles. this is a win. - jesse

* more refactoring for use of standard RT CFs - jesse


* add topics description to the README file - ruz

Share this post: