RT 4.4.1rc1 released

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1,SHA256

RT 4.4.1rc1 – 2016-05-24

We’re pleased to announce the availability of the first release
candidate for RT 4.4.1. This release addresses several bugs in RT 4.4.0
and also adds a few small but important features.

We would be thrilled to hear your experiences installing or upgrading to
this release; the more feedback we get, the sooner the official release
of RT 4.4.1 can occur. Please be sure to review the upgrading
documentation available in docs/UPGRADING-4.4, as there are a number of
important changes to be aware of. Even if you’re upgrading from RT
4.4.0, you’ll want to look at the bottom of that document for
4.4.1-specific upgrading notes. Upgrading documentation is also
available at https://docs.bestpractical.com/rt/4.4.1/UPGRADING-4.4.html

The list of new features is included below, followed by bugfixes.

https://download.bestpractical.com/pub/rt/devel/rt-4.4.1rc1.tar.gz
https://download.bestpractical.com/pub/rt/devel/rt-4.4.1rc1.tar.gz.asc

dc98a50305eabdc2812c57ccc1bae4cc59170762 rt-4.4.1rc1.tar.gz
d315603c79d9422618674c829bcbfe451d018d11 rt-4.4.1rc1.tar.gz.asc

  • Shawn M Moore, for Best Practical

New features

  • Administrators and users can now choose to place signatures above
    the quoted message in replies (RT_Config setting
    "SignatureAboveQuote" and the similarly named user preference). This
    also improves the specific spacing between quotes and signatures in
    all configurations. (I#31877)

  • Users may now choose to suppress dashboard email when all of its
    searches have no results. This is controlled by the new “Suppress if
    empty” checkbox on the subscription page. (I#30078)

  • The Dashboard subscription recipient options have been greatly
    expanded from a single text field (which happened to support multiple
    email address separated with a comma) to a robust user/group search.

  • Users may now select a specific language for each dashboard email
    subscription. Administrators can customize the method by which
    dashboard email language is chosen (including specifying an ultimate
    fallback other than English) with the @EmailDashboardLanguageOrder
    RT_Config option.

  • The “hide unset fields” preference now also hides unset custom
    fields, obsoleting RT::Extension::CustomField::HideEmptyValues.
    Additionally there is now a toggle button at the top right of the
    ticket display page for quickly toggling whether unset fields are
    hidden or shown. (I#31523)

  • There is a new SetInitialCustomField right that permits setting
    custom field values on records (tickets, assets, articles) while you
    are creating them. It does not permit modifying custom field values
    of existing records. Users with SetInitialCustomField but without
    ShowCustomField will still be able to specify a custom field value
    at create time but not see it afterwards. (I#14974)

  • Administrators and users can now choose to display queue dropdowns
    as an autocomplete field (RT_Config setting “AutocompleteQueues”),
    much like is available for Owners. If your RT instance has many
    queues this option improves performance and usability. (I#31291)

  • New config for hiding time worked, time estimated, and time left
    from unprivileged users in the self-service interface (RT_Config
    setting “HideTimeWorkedForUnprivilegedUsers”). This also adds a hook
    point RT::ticket::CurrentUserCanSeeTime for further
    customization. (I#31302)

  • Long attachment lists now show only the five newest
    attachments with an AJAX “Show all” link. This should improve the
    performance and usability of both ticket display and ticket reply
    pages.

General user UI

  • Eliminate console errors from Preview Scrip Recipients panel when there
    are no recipients
  • Avoid URL length errors from Preview Scrip Recipients panel when the
    messagebox has lots of content (I#31874)
  • Include MessageBoxRichText in JavaScript config to fix compatibility
    for RT::Extension::QuoteSelection
  • Support autocomplete custom fields in bulk update (I#15259)
  • Hint to the user that not all CF types are supported by bulk update,
    instead of silently excluding them (I#15259)
  • Exclude One-Time Cc and One-Time Bcc addresses from
    squelching (I#31386)
  • Restore behavior of $EditCustomFieldsSingleColumn config (I#18555)
  • Improve “reuse existing attachments” UI to match existing
    attachments UI (I#31709)
  • Improve ticket timer text-overflow styling (I#31713)
  • Switch from generating an explicit list of statuses to Status =
    Active’ and Status = ‘Inactive’ throughout the UI, both
    improving performance and simplifying TicketSQL queries (I#31695 etc)
  • Switch queue search from queue ID to queue name for better usability
  • Fix keyboard shortcut ? command in self-service UI (I#31535)
  • Support / keyboard shortcut in self-service UI
  • Add ticket SLA to display columns for search results (I#31831)
  • Modernize UI of Articles display and modify
  • Display creator, created, and updated metadata on Articles pages
  • Fix searching for people associated with Assets (I#31546)
  • Support 4.4 attachment uploader in self-service UI (I#31845)
  • Fix bulk update check/clear all checkboxes (I#31667)
  • Fix poor rendering of “create [relationship] ticket in [queue]” when
    there are no existant links (I#31871)
  • Fix a regression with time zones in datetime custom fields (I#31674)
  • Ticket timers no longer pause when JavaScript stops running (I#31707)
  • Show the “include attachments” label on ticket reply only if there
    are attachments to include
  • Avoid showing an empty custom fields panel on ticket edit pages when
    user can see custom fields but cannot edit them
  • Fix new and existing charts that fail to render on dashboards (I#31557)
  • Fix certain attachment links containing HTML metacharacters from
    double escaping (I#31751)

Command-line

  • Add new sbin/rt-search-attributes script for searching for
    attributes matching criteria specified as Perl code (I#31294)
  • Fix issues around incorrect recipients in rt-crontool invocations
    with multiple actions

Database

  • Add $MaxFulltextAttachmentSize RT_Config option (default: 0 meaning
    no limit) for tuning how very large attachments are included in the
    full-text index
  • Avoid indexing EmailRecord transactions as they duplicate content
    already available in the original Create, Correspond, and Comment
    transactions. This improves both indexing time and index size
    considerably.
  • Avoid creating transactions for, and bumping Last Updated of,
    tickets when migrating RT::Extension::SLA custom field values to
    the core SLA field (I#31924)
  • Add the new RT 4.4 Queue SortOrder column sooner in the 4.4 upgrade
    process to improve extension compatibility

Web Administration

  • Add EscapeURI and EscapeHTML functions for use in email
    templates (I#31442)
  • Add RT::Action::AddPriority action for use with rt-crontool which
    simply increments the priority by $Argument every invocation

Server Administration

  • Avoid DateTime::Locale version 1.01
    https://rt.cpan.org/Public/Bug/Display.html?id=110244
  • Have ./configure test whether to use GNU-style syntax or BSD-style
    syntax for find -perm
  • Several fixes around 4.0 and 4.2 upgrade scripts running under 4.4
  • Fix migration of “SLA Disabled” for queues in the upgrade-sla
    script (I#31703)
  • Avoid overloading error caused by certain versions of Email::Address
    on Preview Scrips Recipients (I#31712)
  • Add explicit Pod::Select dependency since it was removed from Perl
    5.18 (I#31873)
  • Add documentation for the now-core ExternalAuth and LDAPImport options
    in RT_Config (I#31464)
  • Automatically enable ExternalAuth when the ExternalSettings config
    option is declared, obviating the need for an explicit
    Set($ExternalAuth, 1); (I#31689)

Developer

  • Remove unused RT::Shredder::Record
  • Add RT::Date->Strftime method (I#31435)
  • If content_like (or similar) tests fail, output the page content
    to a tmp file for debugging (I#31408)
  • Make autocomplete infrastructure more generic and extensible
  • Add missing %ARGS to ShowHistoryPage call in ShowHistory, improving
    RTIR compatibility
  • Fix missing CurrentUser parameter in RT::Interface::email::Gateway
    to improve RT::Extension::CommandByMail compatibility
  • Fix Queue SLADisabled _CoreAccessible metadata to match schema’s default
    value of 1 (I#31822)
  • Switch “hide unset fields” to be implemented with CSS for additional
    flexibility
  • Add CSS classes (for example .admincc) for many basic fields on
    ticket display
  • Allow setting SLA in RT::Queue->Create, which can be used in
    initialdata files (I#31823)
  • Added infrastructure for deprecating specific callbacks, as we
    consider them to be part of our stable API
    (RT::Interface::Web::Request %deprecated)
  • Deprecated callbacks:
    /Admin/CustomFields/Modify.html AfterUpdateCustomFieldValue
  • New callbacks:
    /Ticket/Update.html RightColumnBottom
    /Admin/CustomFields/Modify.html EndOfPage
    /Elements/CollectionAsTable/Row EachField
    /Dashboards/Subscription.html SubscriptionFormEnd, SubscriptionFields,
    and MassageSubscriptionFields
    /Elements/SelectOwnerDropdown ModifyOwnerListRaw and ModifyOwnerListSorted
    /Helpers/Autocomplete/Owners ModifyOwnerAutocompleteSearch
    /Elements/ShowTransactionAttachments BeforeAttachment
  • Improved callbacks:
    /Admin/CustomFields/Modify.html Initial adds $Results
    /Elements/MessageBox Default adds $DefaultRef and $MessageRef

Documentation

  • Add documentation for 4.4’s $ShowHistory scroll option in
    RT_Config (I#31705)
  • Fix UPGRADING-4.2’s description of PostgreSQL full-text search using
    GiST; it uses GIN indexes (I#31844)
  • Link to RT::Authen::ExternalAuth as a local document like the rest
    of RT’s core modules, rather than as an external link to metacpan
    like we do for extensions (I#31957)
  • Update docs/authentication.pod to reflect RT::Authen::ExternalAuth
    and RT::LDAPImport (previously RT::Extension::LDAPImport) becoming
    part of core RT (I#31861)
  • Fix broken link in SLA documentation
  • Improve the upgrading documentation around migrating from
    RT::Extension::SLA to core SLA

Internationalization

  • Fix broken attachment upload UI for Catalan language (I#31864)
  • Update translations for: Finnish, Hungarian, Latvian, Lithuanian,
    Russian, Turkish, and UK English.

A complete changelog is available from git by running:
git log rt-4.4.0…rt-4.4.1rc1
or visiting
https://github.com/bestpractical/rt/compare/rt-4.4.0...rt-4.4.1rc1

-----BEGIN PGP SIGNATURE-----

iQIcBAEBAgAGBQJXRHyeAAoJEDdW4lQxRAUgpBIP/iPfI26O6S4SBO0Ona0KJGxk
BVdWaKIV0EGANeZvr9qpeiKfjox3Xg7uL4QvFFKNxZprdJ8nJtFllzYwC7ookDOM
eTlFollJrNw9Ge1U2KSNHm+dAlNShMvSXtKgFeYT8Kj4A02VjrGsAtz7VG96rmRU
T97Mow1nzty2AsQ5aGApsUPWmZeEkvDH88t5QPZpcsM9YpebiDHWXgbB5m5N5m9+
mYjUwz3y/3Pa9Ucj+YEMIs44p96lxlPBBQlDX29KfMEBl4N4hIFfQrnb5J84f+Vv
ah+RD5oqF1ZTTGVdH0kmrigj25YCBnlUSqy7DvMlW6tyPo0MqMSxMb0TulkCpR10
EZoygOShyvChRldyjaBfkoqJhzze2Y22xNDxLntMlLTcOCEC5sR1K091tI/8hMEJ
KcAQuIMhFFJm+LS5qsjx0+PNWBo0vTWuRr12UuncYC6U2dlmNc6Nm5QnZ6u8klU0
H9+uxIgQBdjQDTaZUUCeLDsiVOJxnMmQPk2g4QD+xnB5Pe9nXd1Ev9ws6bilR+kS
UxuhzJvuAh0VsK07dxxt7V9+9cGNodQTtTqMbaLI3BYdUyXFQZ/ogGGtgCCyyk3j
jjscvl+KFxm71mBbfMQ0lEjL8dmaEdfpFPTfFctye1ZSFRfwYnm5ow2ii3mApRlV
JWV98Gipx6CptUzrIo1eiF4EAREIAAYFAldEfJ4ACgkQAV8paoxIrb0niwD8DQvp
hMQldBsCOTaUCEHmbnybktzxFrIOeOv2/tsI/KcA/i77bW2l77XyH6he5WNNCL8u
j3202isDOQ20EDbCuvQu
=JtYJ
-----END PGP SIGNATURE-----

1 Like

RT 4.4.1rc1 – 2016-05-24

We’re pleased to announce the availability of the first release
candidate for RT 4.4.1. This release addresses several bugs in RT 4.4.0
and also adds a few small but important features.

We would be thrilled to hear your experiences installing or upgrading to
this release; the more feedback we get, the sooner the official release
of RT 4.4.1 can occur. Please be sure to review the upgrading
documentation available in docs/UPGRADING-4.4, as there are a number of
important changes to be aware of. Even if you’re upgrading from RT
4.4.0, you’ll want to look at the bottom of that document for
4.4.1-specific upgrading notes. Upgrading documentation is also
available at https://docs.bestpractical.com/rt/4.4.1/UPGRADING-4.4.html

Thanks for this new RC.

Is there any chance of fixing
https://issues.bestpractical.com/Ticket/Display.html?id=31900
for 4.4.1, as it’s a blocker for a Debian package? I’d be more than happy
to have a chat about this issue to find a way forward, or if anything
so far is not clear.

Cheers,
Dominic.

  • Long attachment lists now show only the five newest
    attachments with an AJAX “Show all” link. This should improve the
    performance and usability of both ticket display and ticket reply
    pages.

I really like this one.

But this is actually a behavior change within a stable release. And
maybe not all users will like this behavior.

You should add a config option, so admin, and maybe also the user them
self can adjust how many attachments are shown by default.

Chris

Hey Chris,

Am 24.05.2016 um 18:36 schrieb Shawn Moore:

  • Long attachment lists now show only the five newest
    attachments with an AJAX “Show all” link. This should improve the
    performance and usability of both ticket display and ticket reply
    pages.

I really like this one.

But this is actually a behavior change within a stable release.

I consider this more a performance and usability improvement (for example, there’s a lot of scrolling that happens if you correspond lots with someone with social media images in their signature) which simply wasn’t ready in time for the .0 release.

And
maybe not all users will like this behavior.

You should add a config option, so admin, and maybe also the user them
self can adjust how many attachments are shown by default.

Fair enough. I pushed a branch https://github.com/bestpractical/rt/tree/4.4.1/attachment-count which restores the default behavior of showing all attachments by adding an $AttachmentListCount option. It’ll go back to showing 5 by default in 4.6.0.

I didn’t make it a preference though. I think the user preferences UI needs some polish and reorganization before we add more and more preferences like this which probably won’t be changed by many users. Once we do redesign the UI, it’ll be straightforward to go back and add lots of prefs for all the config that can be treated as such.

That’s not to say that I’m completely against new preferences (I personally pushed for "hide unset fields” becoming a preference rather than on by default, since there are two classes of user which ought to be served differently). But, the bar has definitely risen.

Chris

Cheers!
Shawn

I consider this more a performance and usability improvement (for example, there’s a lot of scrolling that happens if you correspond lots with someone with social media images in their signature) which simply wasn’t ready in time for the .0 release.

for this user case, I usually patch my RT instances to not show inline
images as attachments. User requested that they will be inline and a
right click allows to download them like any other mail software.

maybe it shoud go core with a config option…

Easter-eggs Spécialiste GNU/Linux
44-46 rue de l’Ouest - 75014 Paris - France - Métro Gaité
Phone: +33 (0) 1 43 35 00 37 - Fax: +33 (0) 1 43 35 00 76
mailto:elacour@easter-eggs.com - http://www.easter-eggs.com

Fair enough. I pushed a branch https://github.com/bestpractical/rt/tree/4.4.1/attachment-count which restores the default behavior of showing all attachments by adding an $AttachmentListCount option. It’ll go back to showing 5 by default in 4.6.0.

I would switch the meaning of 0 and undef here, as this would match then
the behavior from $MoreAboutRequestorGroupsLimit [1]. :wink:

Chris

[1]

Apologies in advance if this question is in the wrong list (rt-users may have
been more appropriate) and/or for hijacking this thread in the rt-devel list,
but …On Thu, 2 Jun 2016 18:54:15 -0400 Shawn Moore shawn@bestpractical.com wrote:

I think the user preferences UI needs
some polish and reorganization before we add more and more preferences like
this …

… picking up on Shawn’s comment about preferences, I just wanted to verify
if what seems to be the case actually is.

As far as I can tell, in order to modify preferences a user has to be given
the “ModifySelf” right. A quick skim over the code in lib/RT/User.pm
(particularly the subs SetPreferences() and CurrentUserCanModify()) seems to
back up my experimental observations. Am I missing something here?

We would like our staff members (those who handle RT tickets created by our
users) to be able to set their own preferences (such as default theme, whether
or not to use the WYSIWYG editor, etc) without also being able to do things
like change their email address, real name, etc.

At the moment our staff members have the ModifySelf right and we trust them not
to change things we don’t want them to. But I’d feel more comfortable if they
weren’t able to make those other changes…!

Duncan

Hi Duncan,

As far as I can tell, in order to modify preferences a user has to be given
the “ModifySelf” right. A quick skim over the code in lib/RT/User.pm
(particularly the subs SetPreferences() and CurrentUserCanModify()) seems to
back up my experimental observations. Am I missing something here?

Nope, you’re right.

We would like our staff members (those who handle RT tickets created by our
users) to be able to set their own preferences (such as default theme, whether
or not to use the WYSIWYG editor, etc) without also being able to do things
like change their email address, real name, etc.

At the moment our staff members have the ModifySelf right and we trust them not
to change things we don’t want them to. But I’d feel more comfortable if they
weren’t able to make those other changes…!

That certainly makes a lot of sense. ModifySelf is one of those rights (along with ModifyTicket) that combines several different restrictions; I’ve created a feature request ticket on your behalf, for a ModifyOwnPreferences right:

https://issues.bestpractical.com/Ticket/Display.html?id=32077

Duncan

Cheers!
Shawn