Jesse,<br><br>What is &quot; ** Summary rows&quot; under per-user options?<br><br>Also, deleting custom field values (not object custom field values) is not working for me under 3.7 HEAD with SQLite.<br><br>Thanks!<br><br>
<div class="gmail_quote">2008/3/6 Jesse Vincent &lt;<a href="mailto:jesse@bestpractical.com">jesse@bestpractical.com</a>&gt;:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ruslan has rolled the tarball for the first Beta release of RT 3.8. The changelog appears below.<br>
<br>
Most of the infrastructure-level changes we expect to make for RT 3.8 have been rolled in. Right now, we&#39;re fixing bugs, cleaning things up and starting to integrate a number of RT extensions into the core release.<br>

<br>
RT 3.7.80 isn&#39;t recommended for production use, but feedback is appreciated.<br>
<br>
Best,<br>
Jesse<br>
<br>
<br>
Config:<br>
 &nbsp; &nbsp;* IMPORTANT: New way to defined hash and array options using Set()<br>
 &nbsp; &nbsp; &nbsp;function, old style &quot;@XXX = (...) unless @XXX;&quot; may result in bugs higly<br>
 &nbsp; &nbsp; &nbsp;undesireble, read also UPGRADING<br>
 &nbsp; &nbsp;* New RT::Config class to interact with configs, load additional files and<br>
 &nbsp; &nbsp; &nbsp;access metadata<br>
 &nbsp; &nbsp;* new API to get and set config options<br>
 &nbsp; &nbsp;* old read access is backward comaptible<br>
 &nbsp; &nbsp;* now we search for configs in local/etc<br>
 &nbsp; &nbsp;* added base code to allow users to change vairous options via the web UI,<br>
 &nbsp; &nbsp; &nbsp;there is already some per user options available and more will be added<br>
 &nbsp; &nbsp; &nbsp;later.<br>
<br>
General UI:<br>
 &nbsp; &nbsp;* Messages forwarding from ticket history to external persons.<br>
 &nbsp; &nbsp;* Per-user options:<br>
 &nbsp; &nbsp;** UI layout<br>
 &nbsp; &nbsp;** hight of message boxes<br>
 &nbsp; &nbsp;** Date/Time display format<br>
 &nbsp; &nbsp;** Summary rows<br>
 &nbsp; &nbsp;* Show user entry using /Elements/ShowUser component so it&#39;s easier<br>
 &nbsp; &nbsp; &nbsp;to customize and make things consistent everywhere in the UI<br>
 &nbsp; &nbsp;** switch to Mail::Address for formatting, so result would be a correct<br>
 &nbsp; &nbsp; &nbsp; email string to copy and paste into other places.<br>
 &nbsp; &nbsp;** show as &quot;Real Name&quot; &lt;email@address&gt; (login) by default<br>
 &nbsp; &nbsp;** drop some parts if those are duplications<br>
 &nbsp; &nbsp;* Allow to add/delete users to/from groups right from user&#39;s admin pages<br>
 &nbsp; &nbsp;* Add a 404 page to RT<br>
<br>
Tickets:<br>
 &nbsp; &nbsp;* Users may choose order of transactions in tickets&#39; history<br>
 &nbsp; &nbsp;* new link that allow users to download attachmentes<br>
 &nbsp; &nbsp; &nbsp;with MIME headers<br>
 &nbsp; &nbsp;* add Forward action<br>
 &nbsp; &nbsp;* Inline any size of text if $MaxInlineBody option is undefined or 0<br>
 &nbsp; &nbsp;* on ticket create if status not equal to new and started date<br>
 &nbsp; &nbsp; &nbsp;is not defined then we set it to now to be consistent with<br>
 &nbsp; &nbsp; &nbsp;logic in SetStatus<br>
<br>
Date/Time:<br>
 &nbsp; &nbsp;* new config option $DateTimeFormat<br>
 &nbsp; &nbsp;* multiple output formats, available as per-user option<br>
 &nbsp; &nbsp;* better support for timezones, available as per-user option<br>
 &nbsp; &nbsp;* many new tests of the RT::Date API<br>
 &nbsp; &nbsp;* fix time units handling, &#39;1/8&#39; didn&#39;t work<br>
<br>
Custom fields:<br>
 &nbsp; &nbsp;* Run-time generated custom field values.<br>
 &nbsp; &nbsp;* New type of CustomFields with autocompletion<br>
 &nbsp; &nbsp;* Pattern column is now longer as some regular expressions<br>
 &nbsp; &nbsp; &nbsp;can be really lenght.<br>
 &nbsp; &nbsp;* Admin UI: allow to search disabled fields<br>
 &nbsp; &nbsp;* Admin UI: type selector save states between calls<br>
 &nbsp; &nbsp;* Fix a bug in CustomField-&gt;Create where assigned Queue is not properly<br>
 &nbsp; &nbsp; &nbsp;associated with the newly created CF<br>
 &nbsp; &nbsp;* merged duplicated CF handling code<br>
<br>
Query Builder:<br>
 &nbsp; &nbsp;* Fixed &quot;is not linked to ticket #N&quot; search<br>
 &nbsp; &nbsp;* Added the following TicketSQL fields: Linked, LinkedTo and LinkedFrom.<br>
 &nbsp; &nbsp; &nbsp;No integration into web UI, however these mainly required in scrips<br>
 &nbsp; &nbsp; &nbsp;and/or custom code.<br>
 &nbsp; &nbsp;* Allow __WebPath__,__WebBaseURL__ and __WebURL__ in format strings<br>
 &nbsp; &nbsp;* Embedable Query Builder.<br>
 &nbsp; &nbsp;* html/Search/Elements/ConditionRow - component that outputs one criteria<br>
 &nbsp; &nbsp; &nbsp;row, so it&#39;s possible to disable some options or add new one.<br>
 &nbsp; &nbsp;* Generic TicketSQL parser, so we have it in one place instead<br>
 &nbsp; &nbsp; &nbsp;of several places.<br>
 &nbsp; &nbsp;* Many fixes in corner cases of building query tree<br>
<br>
Scrips:<br>
 &nbsp; &nbsp;* New conditions: CloseTicket and ReopenTicket<br>
 &nbsp; &nbsp;* Stage field didn&#39;t work during creation of a scrip in the WebUI<br>
 &nbsp; &nbsp;* Fix scrips in TransactionBatch stage<br>
 &nbsp; &nbsp;* Run scrips on both ends of a link by default<br>
<br>
Shredder:<br>
 &nbsp; &nbsp;* The shredder is in core with new features. Read UPGRADING.<br>
 &nbsp; &nbsp;* New option &#39;no_tickets&#39; in RT::Shredder::Plugin::Users<br>
 &nbsp; &nbsp;* Several ways to dump deleted objects<br>
 &nbsp; &nbsp;* add support for %t template in file names<br>
 &nbsp; &nbsp;* Allow user to download dump via browser right after deletion<br>
 &nbsp; &nbsp;* ::Plugin::Tickets<br>
 &nbsp; &nbsp;** replace old search options with &#39;query&#39; so you can use TicketSQL<br>
 &nbsp; &nbsp;** add &#39;with_linked&#39; option<br>
 &nbsp; &nbsp;** add &#39;apply_query_to_linked&#39; option<br>
<br>
GnuPG integration:<br>
 &nbsp; &nbsp;* verification, decryption, signing and encrypting<br>
 &nbsp; &nbsp;* per queue options<br>
 &nbsp; &nbsp;* transparent support of keyservers<br>
 &nbsp; &nbsp;* re-verifivation after importing public key<br>
 &nbsp; &nbsp;* integration with gpg-agent to avoid passphraseless keys or<br>
 &nbsp; &nbsp; &nbsp;passphrases in the config<br>
 &nbsp; &nbsp;* per user private keys<br>
 &nbsp; &nbsp;* read also `perldoc lib/RT/Crypt/GnuPG.pm`<br>
<br>
Extending RT and local customization:<br>
 &nbsp; &nbsp;* Generilized listing of collections, /Elements/CollectionList is<br>
 &nbsp; &nbsp; &nbsp;a replacement for TicketList that add similar features we could use<br>
 &nbsp; &nbsp; &nbsp;for tickets for other collections, like Queues, Users, Scrips, etc.<br>
 &nbsp; &nbsp; &nbsp;So it&#39;s possible to use the following things:<br>
 &nbsp; &nbsp;** display formats<br>
 &nbsp; &nbsp;** paging<br>
 &nbsp; &nbsp;** sorting<br>
 &nbsp; &nbsp;** column maps<br>
 &nbsp; &nbsp;* Several error messages we send to users converted into templates.<br>
 &nbsp; &nbsp;* Make clicky feature (read docs/extending_clickable_links.pod).<br>
 &nbsp; &nbsp;* It&#39;s possible pass any set of arguments into templates.<br>
 &nbsp; &nbsp;* Generic API to send emails related to tickets and not.<br>
 &nbsp; &nbsp;* New generic UI widgets for selects, input and booleans.<br>
 &nbsp; &nbsp;* Column maps are availble for all objects.<br>
 &nbsp; &nbsp;* Generic support of __key.{subkey}__ in format strings.<br>
 &nbsp; &nbsp;* Support of __CheckBox.{Name}__ and __RadioButton.{Name}__<br>
<br>
3.7+ extensions:<br>
 &nbsp; &nbsp;* Tickets advisory locking<br>
 &nbsp; &nbsp;* Tickets aging<br>
<br>
Sessions handling:<br>
 &nbsp; &nbsp;* RT::Interface::Web::Session - generic object to handle all<br>
 &nbsp; &nbsp; &nbsp;session backends.<br>
 &nbsp; &nbsp;* new AutoLogoff system-wide option<br>
 &nbsp; &nbsp;* new sbin/rt-clean-sessions script to cleanup unused sessions<br>
<br>
Database:<br>
 &nbsp; &nbsp;* IMPORTANT: MySQL has new schema for versions higher or equal to 4.1.0<br>
 &nbsp; &nbsp;* Pattern column for custom fields is now longer as some regular expressions<br>
 &nbsp; &nbsp; &nbsp;can be really lenghty.<br>
 &nbsp; &nbsp;* New indexes that proved its effectivness<br>
<br>
rt-setup-database<br>
 &nbsp; &nbsp;* Complete rewrite.<br>
 &nbsp; &nbsp;* All functions have been moved into RT::Handle class, so it&#39;s possible to<br>
 &nbsp; &nbsp; &nbsp;use features of this util from custom code<br>
 &nbsp; &nbsp;* It&#39;s possible to define different schemas for different versions of<br>
 &nbsp; &nbsp; &nbsp;the same RDBMS. Read also UPGRADING.mysql<br>
 &nbsp; &nbsp;* print information about DB we&#39;re going to act on<br>
 &nbsp; &nbsp;* allow users and/or extension to override DB properties via ENV<br>
 &nbsp; &nbsp;* Many extensions to format of data files:<br>
 &nbsp; &nbsp;** allow to defin @Initial/@Final list of sub references<br>
 &nbsp; &nbsp;** allow to create groups and add them as members to other groups<br>
 &nbsp; &nbsp;** allow to add users into groups<br>
 &nbsp; &nbsp;** allow to create scrips on multiple queues at once<br>
 &nbsp; &nbsp;** enable custom fields by default<br>
 &nbsp; &nbsp;** allow to define ACLs for CFs<br>
 &nbsp; &nbsp;** allow to apply a CF to queue(s) instead of global<br>
<br>
rt-mailgate<br>
 &nbsp; &nbsp;* don&#39;t die when --url is not specified, but print error and exit,<br>
 &nbsp; &nbsp; &nbsp;user is not interested in information about line of the code.<br>
 &nbsp; &nbsp;* add value of $ENV{EXTENSION} to message header<br>
 &nbsp; &nbsp; &nbsp;in the &#39;X-RT-Mail-Extension&#39; field. And pass through non standard<br>
 &nbsp; &nbsp; &nbsp;--extension values in this field too.<br>
 &nbsp; &nbsp;* better errors handling<br>
<br>
Performance and memory footprint:<br>
 &nbsp; &nbsp;* Constant memory usage in rt-mailgate.<br>
 &nbsp; &nbsp;* Lower memory footprint when images are proccessed by mason.<br>
 &nbsp; &nbsp;* don&#39;t copy text in EncodeUTF8<br>
 &nbsp; &nbsp;* /Elements/Callback has been replaced with $m-&gt;callback call.<br>
 &nbsp; &nbsp; &nbsp;The element still works, but issue a warning. New function is<br>
 &nbsp; &nbsp; &nbsp;much faster then calling a component.<br>
 &nbsp; &nbsp;* add CallbackOnce option, to allow run callbacks only once<br>
 &nbsp; &nbsp;* init html scrubber object only once<br>
 &nbsp; &nbsp;* run column map component only once for the first<br>
 &nbsp; &nbsp; &nbsp;row of the collection<br>
 &nbsp; &nbsp;* Record::LoadByCols: don&#39;t create local copy of arguments unles<br>
 &nbsp; &nbsp; &nbsp;DB is case sensetive even if it&#39;s sensetive create only one<br>
 &nbsp; &nbsp; &nbsp;copy and change inplace<br>
 &nbsp; &nbsp;* Replaced in many places repeated heavy calls in one block<br>
 &nbsp; &nbsp; &nbsp;with one call<br>
 &nbsp; &nbsp;* run callbacks and output text once per paragraph<br>
 &nbsp; &nbsp; &nbsp;instead of per line, speed up displaying of tickets greatly<br>
 &nbsp; &nbsp; &nbsp;with many text parts<br>
 &nbsp; &nbsp;* Pass IDs of objects where it&#39;s possible instead of other unique<br>
 &nbsp; &nbsp; &nbsp;fields to hit chache more often and/or avoid request to DB<br>
<br>
HTML cleanups, XHTML compatibility, layout chnages:<br>
 &nbsp; &nbsp;* many missing closing tags have been returned to its place<br>
 &nbsp; &nbsp;* added quotes around attributes for all tags<br>
 &nbsp; &nbsp;* closed tags br, img and input tags with &#39; /&gt;&#39; syntax<br>
 &nbsp; &nbsp;* downcase tags and attributes names<br>
<br>
Java Script:<br>
 &nbsp; &nbsp;* deleted duplicate .js files<br>
 &nbsp; &nbsp;* new classes management utilities<br>
 &nbsp; &nbsp;* reviewed visibility utilities, now we use CSS to hide/show things instead<br>
 &nbsp; &nbsp; &nbsp;playing games with DOM what is wrong<br>
 &nbsp; &nbsp;* Set/clear all checkboxes features now work for one group. In previouse<br>
 &nbsp; &nbsp; &nbsp;versions it&#39;s been applied to all checkboxes on the page.<br>
<br>
Other changes and code cleanups:<br>
 &nbsp; &nbsp;* Deprecated API have been dropped.<br>
 &nbsp; &nbsp;* don&#39;t return empty strings instead of undef so NULL can be<br>
 &nbsp; &nbsp; &nbsp;distinguished from empty strings<br>
 &nbsp; &nbsp;* Cleand up a lot of errorless uninit warnings<br>
 &nbsp; &nbsp;* no more perl 5.6.x compatible code<br>
 &nbsp; &nbsp;* converted all named functions in mason components into<br>
 &nbsp; &nbsp; &nbsp;anon functions, as the former is incorrect and may result<br>
 &nbsp; &nbsp; &nbsp;in problems when different components define the same function<br>
 &nbsp; &nbsp;* never call &#39;exit&#39;, because it may hide errors<br>
 &nbsp; &nbsp;* log errors and rollback transactions only when it&#39;s possible<br>
 &nbsp; &nbsp;* RT::Transaction: refactored rights checks into CurrentUserCanSee<br>
 &nbsp; &nbsp;* fixed and reworked sending email via SMTP server<br>
 &nbsp; &nbsp;* don&#39;t add empty $args{&#39;Body&#39;} to MIME as -&gt;make_singlepart method doesn&#39;t<br>
 &nbsp; &nbsp; &nbsp;catch this case and we create useless empty attachments and too nested<br>
 &nbsp; &nbsp; &nbsp;entities. Now we do the right thing in all cases: text body, file upload,<br>
 &nbsp; &nbsp; &nbsp;body+upload or none of those at all.<br>
 &nbsp; &nbsp;* add support for $LogStackTraces = &#39;error&#39; and other levels,<br>
 &nbsp; &nbsp; &nbsp;so it possible to log stack traces only starting from some<br>
 &nbsp; &nbsp; &nbsp;level<br>
 &nbsp; &nbsp;* log stacktraces into syslog too as many users use default<br>
 &nbsp; &nbsp; &nbsp;setup which doesn&#39;t log to file and for production uses syslog<br>
 &nbsp; &nbsp; &nbsp;is prefered.<br>
<br>
Test suite:<br>
 &nbsp; &nbsp;* Reworked test suite, no more tests inlined in the code<br>
 &nbsp; &nbsp; &nbsp;and other improvements.<br>
 &nbsp; &nbsp;* initial parallel test support for RT::Test.<br>
 &nbsp; &nbsp;* test syntax of comps with a mason compiler<br>
<br>
<br>
<br>_______________________________________________<br>
List info: <a href="http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel" target="_blank">http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel</a><br>
<br></blockquote></div><br>