Skip to content

rt-5.0.0

Compare
Choose a tag to compare
@bestpractical-mirror bestpractical-mirror released this 16 Jul 13:00
· 2205 commits to stable since this release
rt-5.0.0

RT 5.0.0 -- 2020-07-17

We're pleased to announce the general availability of RT 5.0.0. This
release introduces a major update of the web UI as RT now uses
the popular open source Bootstrap front-end toolkit. This brings
to RT a modern, responsive layout with all of the power and familiar
features of RT. Details on this and other changes and new features
are below.

You can get the new version here:

https://download.bestpractical.com/pub/rt/release/rt-5.0.0.tar.gz
https://download.bestpractical.com/pub/rt/release/rt-5.0.0.tar.gz.asc

SHA-256 sums

781ac6e21d8e1cf3514ddc6a71418cefde903df241d4e7011e75f90eb62a952e rt-5.0.0.tar.gz
f3fe75aca612cbd7904877fa2951be691f5451ef11b4048e7906700d42853975 rt-5.0.0.tar.gz.asc

Although only noted in a few items in the list below, the Bootstrap
update alone accounted for hundreds of commits and thousands of lines
of code updates. We hope the update to a very popular web framework
will make it even easier for users to create (and share!) new
themes.

In addition to that major UI update, this release also contains many
other big new features including a new charting library, a graphical
lifecycle builder, and new web access for admins to update RT's
many configuration options. This new version of RT contains changes
and improvements from over 1,500 git commits.

We have also added configuration to run RT's 35,000+ tests using
TravisCI, so you can now see our test runs from GitHub.

A list of changes included in this release is below.

New features

  • Convert to Bootstrap as base web design framework
  • Remove table-based page layout and make design responsive
  • Create new elevator-light and elevator-dark themes
  • Convert many on-screen hints/help to tooltips
  • Add Fontawesome and update all icons to svg
  • Allow CustomDateRanges to be defined in configuration for
    use in ticket search results
  • Support BusinessHours times in CustomDateRanges
  • Support default dates when not defined for CustomDateRanges
  • Add linking support to groups
  • New Group Summary page (similar to User Summary)
  • Add group-scoped options for default ticket listings on
    Self Service pages
  • New transaction query builder for searching transactions
  • New asset query builder for searching assets, support for AssetSQL
  • RT configuration is now available to SuperUsers in the web interface
  • CKEditor updated to 4.13, re-styled for new themes
  • Update chart UI to use chart.js
  • Add CustomDateRanges and BusinessHours support to charts
  • Add line charts to chart options
  • Inline edit is now available on ticket display and in ticket
    listings (search results, saved searches, etc.)
  • Add jGrowl for pop-up style result messages
  • Ticket priority can now be set and managed using text priority
    options like Low, Medium, High (configurable)
  • New graphical UI for building and editing lifecycles (workflow)
    and lifecycle settings
  • LinkedQueuePortlets allows you to add a section to ticket display
    with linked tickets from another queue

General user UI

  • Add asset display menu actions to ShowAssets template
  • Relabel 'Password' box on /Prefs/AboutMe to 'Access control'
  • Default search result count display to on
  • Add default value for Articles in Queues
  • Add autocomplete for articles
  • Refactor ticket create and update to use new SelectArticle, merging
    previous 3 form controls for articles to one
  • Update article select to automatically show dropdown or autocomplete
    box based on DropdownMenuLimit
  • Remove article hotlist configuration since all articles in a class
    are available to associated queues
  • Queue can now be selected directly on the ticket create page and changed
    before creating a ticket
  • Catalog can now be selected on the asset create page and changed
    before creating an asset
  • Re-designed listing and selection UI for RT at a glance edit page and
    dashboard edit pages
  • New Selectize "bubbles" when entering users in Requestors, Cc, etc. on
    ticket create and update pages
  • Add configuration to hide custom roles from some pages like the ticket
    create page, etc.
  • Select one value custom fields now default to Dropdown
  • Content selected on ticket display is quoted on reply/comment
  • Add unread message count as an option for unread messages on RT at a glance
  • Display current queue on ticket update page (reply/comment)
  • Add Create Ticket option to Home menu so it is available when in assets, articles, etc.
  • New page option to reverse transaction sort on current ticket while viewing
  • Convert logos and images to svg
  • Adding/deleting values for custom fields now uses ajax to update
    in-page without a full page refresh
  • Move user-generated dashboards from the Home menu to Reports menu
  • Make Reports menu configurable, including removing default reports and
    adding/removing dashboards (like previous functionality in Home)
  • Support for filtering by lifecycle in ticket query builder
  • Default mobile devices to full (now responsive) RT web UI. Mobile
    optimized UI still available by setting $ShowMobileSite
  • Fix table wrapping error in Ticket/Update.html
  • Don't double-escape queue name in title generation stage
  • On ticket update, defer AJAX recipients update briefly to get form's latest status
  • Improve UI of unread messages notification
  • Omit groups in saved search privacy menu if user doesn't have rights
    to save searches for that group
  • Sync one time inputs back to checkboxes on ticket update page
  • Support searches on NULL(unset) values on user/group admin pages
  • Fill up cells of record's last row in search results
  • Add a display only Owner column as an alternative to OwnerName
  • Fix mobile home navigation for iOS

Extensions Added to Core

  • RT::Extension::QuoteSelection
  • RT::Extension::RightsInspector
  • RT::Extension::ConfigInDatabase
  • RT::Extension::CustomRole::Visibility
  • RT::Extension::PriorityAsString
  • RT::Extension::AssetSQL
  • RT::Extension::LifecycleUI
  • RT::Extension::REST2
  • RT::Authen::Token

Command-line

  • Move perl dependencies to cpanfile
  • Many improvements to information and output of rt-test-dependencies (make testdeps)
  • Many updates to module dependency lists, versions, etc.
  • Add support for JSON-formatted initialdata
  • Support assets and catalogs in initialdata
  • Support ObjectCustomFieldValues in initialdata
  • Support Articles in initialdata
  • New rt-dump-initialdata script to export RT objects to initialdata files
  • Add documentation for serializer/importer process

Internals

  • Clear Subject header from auto-generated text email part
  • Respect AllowUserAutocompleteForUnprivileged for email inputs in self service UI
  • Convert summary page asset searches to use AssetSQL
  • Multiple changes to RT query builder to allow for customization
    in extensions (specifically RTIR)
  • Migrate owner autocomplete to the general autocomplete
  • Support gpg 2.2 for email encryption
  • Allow extensions to add custom field groupings to queue defaults
  • Allow a Limit value to be passed to tickets autocomplete
  • Add ExternalAuth support for attribute mappings to user CFs
  • Add ExternalAuth support for coderefs in attr_map
  • Add DisplayTotalTimeWorked to RT_Config.pm
  • Add $QuoteWrapWidth option for wrap length when quoting on ticket reply
  • Fix uninitialized warning in ticket searches with active and inactive items
  • Use system user to get custom field objects to inspect in searches
  • Set a default for $AttachmentListCount
  • Clarify external auth logging when users are not found
  • Default lifecyle type to ticket on SelectStatus
  • Move SignatureAboveQuote to Message box properties
  • Add support for setting user CFs on create
  • Add sort for external custom field values
  • Fix removal of scrips when shredding queues
  • Restore mistakenly translated quant function in German translation
  • Handle subject tags prefixed with http:// by email clients
  • Remove duplicated closing tag for attachment delete links
  • Correctly handle custom field MaxValues
  • Update default rights check to false to correctly handle custom
    role edit rights checks on tickets
  • Add multipart/form-data encoding to EditAboutMe form
  • Fix removal of custom fields when shredding queues
  • Remove search string including numbers in ticket autocomplete search on select
  • Update RecentlyViewedTickets to deal with shredded/merged tickets
  • Fix bug that kept 11 tickets in the "recently visited" list instead of 10
  • Filter queues by checking "CreateTicket" right on ticket create page

Database

  • Drop HotList column for Classes
  • Update to utf8mb4 charset on MySQL/MariaDB
  • Update id size to BigInt for some tables that get large in big RTs

Server Administration

  • Make RT logout link configurable
  • Add %ThemeJSFiles config to serve different js for different themes
  • Remove references to end-of-life versions and software
  • Document a fix for perl module permissions problem
  • Avoid upgrade warning of "no such table: Configurations" before it's created
  • Document and log information on external HTML formatters

Developer

  • Move RT menu building logic from Mason templates into Perl
    library files

  • Refactor asset menu logic into separate functions

  • Deprecate RT::Article::LoadByInclude that was for old article selection UI

  • Pass ShowHints via a callback to provide a way to hide hints

  • Document additional plackup options via rt-server

  • Load Test::MockTime earlier to fully replace time functions in core

  • Allow RT_HOST to be set via environment variable for testing

  • Add docker and travis configuration to run RT tests on TravisCI

  • Avoid running multiple rt-externalize-attachments simultaneously in tests

  • New callbacks:
    /Search/Build.html BeforeDisplay
    /Ticket/Forward.html AfterMessageBox
    /Ticket/Forward.html Initial
    /SelfService/Create.html Initial
    /Elements/ShowTransactionAttachments ModifyContent

A complete changelog is available from git by running:
git log rt-4.4.4..rt-5.0.0
or visiting
rt-4.4.4...rt-5.0.0