RT 4.2.10rc1 released

RT 4.2.10rc1 – 2015-02-06

RT 4.2.10rc1 is now available for testing.

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

SHA1 sums

07409a4a15961ee1b2a58fc7c60905915229e9c0 rt-4.2.10rc1.tar.gz
15b7738ab155b2a511c11c561409500a42957f0a rt-4.2.10rc1.tar.gz.asc

This release is a bugfix release; most notably, it addresses a bug which
causes RT to generate blank outgoing text/plain parts. This fix
requires installing the HTML::FormatExternal module, and having an
external tool (w3m, elinks, etc) installed on the server.

It also introduces indexed full-text searching for MySQL without the
need to recompile MySQL to use the external Sphinx tool; instead, a
MyISAM table is used for indexing. On MySQL 5.6 and above, an
additional InnoDB table can also be used.

The complete list of changes includes:

General user UI

  • Speed up the default simple search on all FTS-enabled installs by not
    OR’ing it with a Subject match. This returns equivalent results for
    almost all tickets, and allows the database to make full use of the
    FTS index.
  • Pressing enter in user preference form fields no longer instead
    resets the auth token (#19431)
  • Pressing enter in ticket create and modify form fields now creates or
    updates the ticket, instead being equivalent to “add more
    attachments”, or the “search” on People pages (#19431)
  • Properly encode headers in forwarded emails that contain non-ASCII
    text (#29753)
  • Allow users to customize visibility of chart/table/TicketSQL in saved
    charts
  • Allow groups to be added as requestors on tickets
  • Perform group searches case-insensitively on People page (#27835)
  • Ticket create transactions for tickets created via the web UI now
    contain mocked-up From, To, and Date headers; this causes them to
    render more correctly when forwarded
  • Update wording of error message for saved searches without a
    description (#30435)
  • Flush TSV download every 10 rows, for responsiveness
  • Retain values in Quick Create on homepage if it fails (#19431)
  • Limit the custom field value autocomplete to 10 values, like other
    autocompletes (#30190)
  • Fix a regression in 4.0.20/4.2.4 which caused some users to have
    blank homepages (#30106)
  • Fix styling on “unread messages” box on Ballard and Web2 themes
  • Fix format of Date headers in RSS feeds (#29712)
  • Adjust width of transaction date to accommodate all date formats
    (#30176)
  • Allow searching for tickets by queue lifecycle

Command-line

  • Fix server name displayed at password prompt when RT is deployed at
    a non-root path like /rt (#22708)

Admin

  • If the optional HTML::FormatExternal module is installed, use w3m,
    elinks, links, html2text, or lynx to format HTML to text. This
    addresses problems with the pure-Perl HTML-to-text converted which
    resulted in blank outgoing emails. (#30176)
  • Add support for native (non-Sphinx) indexed full-text search on
    MySQL. This uses the InnoDB fulltext engine on MySQL 5.6, and an
    additional MyISAM table on prior versions of MySQL.
  • Support MySQL database names with dashes in them (#7568)
  • Properly escape quotes and backslashes in config options in web
    installer (#29990)
  • Increase length of template title form input
  • Clarify wording on updating old Organization values by rt-validator
  • Resolve a runtime error for SMIME without secret keys (#30436)
  • Empty email addresses are no longer caught as being "an RT address"
    if there exist queues without Correspond addresses set (#18380)
  • Allow Parents/Children/Members/MemberOf in CreateTickets action
  • Allow RT-Originator to be overridden in templates
  • Ensure that HTML-encoded entities are indexed in FTS
  • Fix uninitialized value warnings from charts grouped by date
  • Remove no-op $CanonicalizeOnCreate configuration variable;
    RT::User->CanonicalizeUserInfo is always called
  • Make NotifyGroup action respect AlwaysNotifyActor argument
  • Fix X-RT-Interface header on incoming email on existent tickets
  • Warn on startup if queues have invalid lifecycles set (#28352)

Developer

  • Add AfterHeaders callback to ShowMessageHeaders
  • Update all upgrade steps to use .in files (#18856)
  • Add policy tests to enforce the new upgrade step standards
  • Remove +x bit from multiple non-executable files
  • Make Obfuscate callback in configuration options be passed the
    current user, as was documented
  • Remove obsolete _CacheConfig parameters
  • Preferentially use IN rather than multiple OR clauses
  • Respect RowsPerPage for external custom field values
  • Localize default statuses from RT_Config.pm, instead of hardcoding
  • Add callbacks within Dates box after each type of Date
  • Pass the CustomFieldObj down to CustomFieldValue objects intact, so
    its ContextObj can be inspected; this is particularly useful for
    external custom fields.
  • Allow more than one right per @ACL in initialdata
  • Don’t hardcode share/html in tests, for non-default layouts
  • Base detection of new themes on presence of main.css file, not
    base.css file (#30554)
  • Allow for relative “lib” in @INC when running tests
  • Allow EditComponentName customfield callback to alter Rows/Cols
    values

Serializer/importer

  • Memory usage improvements in both serialization and import
  • Templates, Scrips, and ObjectScrips now serialize correctly
    when not cloning

Documentation

  • Document how to enable un-indexed full-text-search, and its drawbacks
  • Note that after restoring from backups, PostgreSQL may need to have
    statistics updated
  • New documentation on writing portlets
  • Add an =pod directive so the first paragraph of UPGRADING is not
    skipped
  • Clarify when UPGRADING-x.y steps should be run
  • Better document known bugs with Sphinx FTS
  • Add missing semicolon on Shredder suggested indexes

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

I am testing RT 4.2.10rc1 on my CentOS 6.6 (64 bit).
I have enabled HTML::FormatExternal and I have elinks installed and working.

Whenever I start apache, I get the following errors in apache’s error_log:
ERROR at home.c:156: Unable to find or create ELinks config directory. Please check if you have $HOME variable set correctly and if you have write permission to your home directory.
I have my $HOME variable set as “/root”, so I changed permissions so that the “apache” group can read/write in the /root/.elinks directory.
However I still have the errors.

Any suggestions?

Thank you in advance.
Cris

Cristiano Guadagnino

Servizio Sistemi Dipartimentali, Periferici e DB
Bankadati Servizi Informatici Soc.Cons.P.A.
Gruppo bancario Credito Valtellinese
VIA TRENTO, 22 - 23100 SONDRIO
tel +39 0342522172 - fax +39 0342522997
guadagnino.cristiano@creval.it
www.creval.ithttp://www.creval.it

Il presente messaggio non è di natura personale ma inviato per esigenze lavorative; l’eventuale messaggio di risposta potrà essere conosciuto anche da altri soggetti diversi dall’originatore di questo messaggio per dette esigenze o per controllo aziendale. Questo messaggio, corredato dei relativi allegati, contiene informazioni da considerarsi strettamente riservate, ed è destinato esclusivamente al destinatario sopra indicato, il quale è l’unico autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità, diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque lo leggesse senza esserne legittimato è avvertito che trattenerlo, copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è severamente proibito, ed è pregato di rinviarlo immediatamente al mittente distruggendone l’originale.On 06/02/2015 19:30, Alex Vandiver wrote:

RT 4.2.10rc1 – 2015-02-06

RT 4.2.10rc1 is now available for testing.

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

SHA1 sums

07409a4a15961ee1b2a58fc7c60905915229e9c0 rt-4.2.10rc1.tar.gz
15b7738ab155b2a511c11c561409500a42957f0a rt-4.2.10rc1.tar.gz.asc

This release is a bugfix release; most notably, it addresses a bug which
causes RT to generate blank outgoing text/plain parts. This fix
requires installing the HTML::FormatExternal module, and having an
external tool (w3m, elinks, etc) installed on the server.

It also introduces indexed full-text searching for MySQL without the
need to recompile MySQL to use the external Sphinx tool; instead, a
MyISAM table is used for indexing. On MySQL 5.6 and above, an
additional InnoDB table can also be used.

The complete list of changes includes:

General user UI

  • Speed up the default simple search on all FTS-enabled installs by not
    OR’ing it with a Subject match. This returns equivalent results for
    almost all tickets, and allows the database to make full use of the
    FTS index.
  • Pressing enter in user preference form fields no longer instead
    resets the auth token (#19431)
  • Pressing enter in ticket create and modify form fields now creates or
    updates the ticket, instead being equivalent to “add more
    attachments”, or the “search” on People pages (#19431)
  • Properly encode headers in forwarded emails that contain non-ASCII
    text (#29753)
  • Allow users to customize visibility of chart/table/TicketSQL in saved
    charts
  • Allow groups to be added as requestors on tickets
  • Perform group searches case-insensitively on People page (#27835)
  • Ticket create transactions for tickets created via the web UI now
    contain mocked-up From, To, and Date headers; this causes them to
    render more correctly when forwarded
  • Update wording of error message for saved searches without a
    description (#30435)
  • Flush TSV download every 10 rows, for responsiveness
  • Retain values in Quick Create on homepage if it fails (#19431)
  • Limit the custom field value autocomplete to 10 values, like other
    autocompletes (#30190)
  • Fix a regression in 4.0.20/4.2.4 which caused some users to have
    blank homepages (#30106)
  • Fix styling on “unread messages” box on Ballard and Web2 themes
  • Fix format of Date headers in RSS feeds (#29712)
  • Adjust width of transaction date to accommodate all date formats
    (#30176)
  • Allow searching for tickets by queue lifecycle

Command-line

  • Fix server name displayed at password prompt when RT is deployed at
    a non-root path like /rt (#22708)

Admin

  • If the optional HTML::FormatExternal module is installed, use w3m,
    elinks, links, html2text, or lynx to format HTML to text. This
    addresses problems with the pure-Perl HTML-to-text converted which
    resulted in blank outgoing emails. (#30176)
  • Add support for native (non-Sphinx) indexed full-text search on
    MySQL. This uses the InnoDB fulltext engine on MySQL 5.6, and an
    additional MyISAM table on prior versions of MySQL.
  • Support MySQL database names with dashes in them (#7568)
  • Properly escape quotes and backslashes in config options in web
    installer (#29990)
  • Increase length of template title form input
  • Clarify wording on updating old Organization values by rt-validator
  • Resolve a runtime error for SMIME without secret keys (#30436)
  • Empty email addresses are no longer caught as being "an RT address"
    if there exist queues without Correspond addresses set (#18380)
  • Allow Parents/Children/Members/MemberOf in CreateTickets action
  • Allow RT-Originator to be overridden in templates
  • Ensure that HTML-encoded entities are indexed in FTS
  • Fix uninitialized value warnings from charts grouped by date
  • Remove no-op $CanonicalizeOnCreate configuration variable;
    RT::User->CanonicalizeUserInfo is always called
  • Make NotifyGroup action respect AlwaysNotifyActor argument
  • Fix X-RT-Interface header on incoming email on existent tickets
  • Warn on startup if queues have invalid lifecycles set (#28352)

Developer

  • Add AfterHeaders callback to ShowMessageHeaders
  • Update all upgrade steps to use .in files (#18856)
  • Add policy tests to enforce the new upgrade step standards
  • Remove +x bit from multiple non-executable files
  • Make Obfuscate callback in configuration options be passed the
    current user, as was documented
  • Remove obsolete _CacheConfig parameters
  • Preferentially use IN rather than multiple OR clauses
  • Respect RowsPerPage for external custom field values
  • Localize default statuses from RT_Config.pm, instead of hardcoding
  • Add callbacks within Dates box after each type of Date
  • Pass the CustomFieldObj down to CustomFieldValue objects intact, so
    its ContextObj can be inspected; this is particularly useful for
    external custom fields.
  • Allow more than one right per @ACL in initialdata
  • Don’t hardcode share/html in tests, for non-default layouts
  • Base detection of new themes on presence of main.css file, not
    base.css file (#30554)
  • Allow for relative “lib” in @INC when running tests
  • Allow EditComponentName customfield callback to alter Rows/Cols
    values

Serializer/importer

  • Memory usage improvements in both serialization and import
  • Templates, Scrips, and ObjectScrips now serialize correctly
    when not cloning

Documentation

  • Document how to enable un-indexed full-text-search, and its drawbacks
  • Note that after restoring from backups, PostgreSQL may need to have
    statistics updated
  • New documentation on writing portlets
  • Add an =pod directive so the first paragraph of UPGRADING is not
    skipped
  • Clarify when UPGRADING-x.y steps should be run
  • Better document known bugs with Sphinx FTS
  • Add missing semicolon on Shredder suggested indexes

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

Matt, thank you! This is a great idea!

Unfortunately RT does not like it:

[29302] [Mon Feb 9 16:39:32 2015] [warning]: elinks -no-home 1 is not a valid formatter provided by HTML::FormatExternal (/opt/rt4/sbin/…/lib/RT/Interface/Email.pm:1830)

:frowning:

Cris

Cristiano Guadagnino

Servizio Sistemi Dipartimentali, Periferici e DB
Bankadati Servizi Informatici Soc.Cons.P.A.
Gruppo bancario Credito Valtellinese
VIA TRENTO, 22 - 23100 SONDRIO
tel +39 0342522172 - fax +39 0342522997
guadagnino.cristiano@creval.it
www.creval.it

Il presente messaggio non è di natura personale ma inviato per esigenze lavorative; l’eventuale messaggio di risposta potrà essere conosciuto anche da altri soggetti diversi dall’originatore di questo messaggio per dette esigenze o per controllo aziendale. Questo messaggio, corredato dei relativi allegati, contiene informazioni da considerarsi strettamente riservate, ed è destinato esclusivamente al destinatario sopra indicato, il quale è l’unico autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità, diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque lo leggesse senza esserne legittimato è avvertito che trattenerlo, copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è severamente proibito, ed è pregato di rinviarlo immediatamente al mittente distruggendone l’originale.

-----Messaggio originale-----
Da: Matt Zagrabelny mzagrabe@d.umn.edu
Inviato: Mon Feb 09 2015 17:28:50 GMT+0100 (CET)
A: Guadagnino Cristiano guadagnino.cristiano@creval.it
Oggetto: Re: [rt-devel] RT 4.2.10rc1 released> On Mon, Feb 9, 2015 at 10:26 AM, Matt Zagrabelny mzagrabe@d.umn.edu wrote:

Hi Cristiano,

Any suggestions?

From the elinks manpage you can set the config-dir:

-config-dir (default: “”)
Path of the directory ELinks will read and write its config
and runtime state files to instead of ~/.elinks.
If the path does not begin with a ‘/’ it is assumed to be
relative to your HOME directory.

Also, further down the manpage:

    -no-home [0|1] (default: 0)
        Disables creation and use of files in the user specific

home configuration directory (~/.elinks). It forces
default configuration values to be used and disables saving
of runtime state files.

-m

Hi Cristiano,

Any suggestions?

From the elinks manpage you can set the config-dir:

-config-dir (default: “”)
Path of the directory ELinks will read and write its config
and runtime state files to instead of ~/.elinks.
If the path does not begin with a ‘/’ it is assumed to be
relative to your HOME directory.

Also, further down the manpage:

   -no-home [0|1] (default: 0)
       Disables creation and use of files in the user specific

home configuration directory (~/.elinks). It forces
default configuration values to be used and disables saving
of runtime state files.

-m

Hi Cristiano,On Mon, Feb 9, 2015 at 9:51 AM, Guadagnino Cristiano guadagnino.cristiano@creval.it wrote:

I am testing RT 4.2.10rc1 on my CentOS 6.6 (64 bit).
I have enabled HTML::FormatExternal and I have elinks installed and working.

Whenever I start apache, I get the following errors in apache’s error_log:

ERROR at home.c:156: Unable to find or create ELinks config directory.
Please check if you have $HOME variable set correctly and if you have write
permission to your home directory.

I have my $HOME variable set as “/root”, so I changed permissions so that
the “apache” group can read/write in the /root/.elinks directory.
However I still have the errors.

Any suggestions?

From the elinks manpage you can set the config-dir:

-config-dir (default: “”)
Path of the directory ELinks will read and write its config
and runtime state files to instead of ~/.elinks.
If the path does not begin with a ‘/’ it is assumed to be
relative to your HOME directory.

Make sure it is readable/writable by the webserver process owner.

I’m not sure if the RT config variable allows passing of options to
the command or if the space would get escaped and the whole string
would be treated as one file:

Set(
@HTMLFormatters,
‘w3m’,
‘perl’,
);

-m

I am testing RT 4.2.10rc1 on my CentOS 6.6 (64 bit).
I have enabled HTML::FormatExternal and I have elinks installed and working.

Whenever I start apache, I get the following errors in apache’s error_log:

Do you use mod_perl or fastcgi for your deployment?

ERROR at home.c:156: Unable to find or create ELinks config
directory. Please check if you have $HOME variable set correctly and
if you have write permission to your home directory. I have my $HOME
variable set as “/root”, so I changed permissions so that the "apache"
group can read/write in the /root/.elinks directory.

RT sets the $HOME variable to $RT::VarPath (usually /opt/rt4/var),
which should be writable by your webserver:

  • Alex

Hi Alex,
first time I was running on mod_perl. Then I read on this list that
fastcgi is the preferred way to deploy RT, so I switched to fastcgi. I
had the problem with both, though.
This is on my test RT installation.

After giving the correct permissions to the /opt/rt4/var directory it is
now working correctly.
Thank you!!

CrisOn 10/02/2015 23:00, Alex Vandiver wrote:

On Mon, 9 Feb 2015 15:51:10 +0000 Guadagnino Cristiano guadagnino.cristiano@creval.it wrote:

I am testing RT 4.2.10rc1 on my CentOS 6.6 (64 bit).
I have enabled HTML::FormatExternal and I have elinks installed and working.

Whenever I start apache, I get the following errors in apache’s error_log:
Do you use mod_perl or fastcgi for your deployment?

ERROR at home.c:156: Unable to find or create ELinks config
directory. Please check if you have $HOME variable set correctly and
if you have write permission to your home directory. I have my $HOME
variable set as “/root”, so I changed permissions so that the "apache"
group can read/write in the /root/.elinks directory.
RT sets the $HOME variable to $RT::VarPath (usually /opt/rt4/var),
which should be writable by your webserver:

https://github.com/bestpractical/rt/blob/stable/lib/RT/Interface/Email.pm#L1860

  • Alex