This article describes what is new in Traction® TeamPage 5.2.61. This release is focused chiefly on bug fixes, but also includes a few new features such as status updates for Projects and Milestones, some performance improvements for the Documents tab and Attivio type-ahead query completion suggestions.
• Project and milestone entries now have their own Status tabs. When viewing space- or server-wide status pages, status updates related to projects and milestones will indicate that relationship, and the most recent status update will appear on the project's or milestone's dashboard. (Proteus9830)
• Created a new mail filter that will cause messages that appear to have been generated by auto-responders (e.g., for an out-of-office reply generated in response to a digest or email notification sent by TeamPage) to be silently discarded. (Server63081 / Server65102) This mail filter is enabled by default for both server and space level mailboxes, but if you have already chosen a custom set and/or ordering for the filters applied to those mailboxes, you will have to add this new filter to that list manually. (Server65411)
• Added some special mail headers to all email messages that are automatically generated and sent by TeamPage (email digests, email notifications, etc.) indicating to the receiving email system that the message was automatically generated. This should prevent most of those systems from generating automatic responses to these messages in the first place. (Server64912)
• Made many improvements to diagnostic logging, including the following situations: success or failure in committing user, journal and server properties to disk; successfully changing a user's security principal; successes, warnings or errors that happen during processing of incoming email messages; and failures to load an entry, file or other resources via the entries tag.
• TeamPage's Attivio AIE integration now uses the Attivio 3.0 client connector library. This connector library is compatible with AIE 2.2 services, and offers some improvements and fixes over the 2.2 connector plug-in, including one related to the way in which query-completion results are requested in Attivio search views. It will be useful to have in place as we get ready to transition customers who are licensed to use the Attivio premium search module to using Attivio AIE 3.x services. (Server65043 / Server65221)
• Moved the generation of project and milestone progress indicators on Tasks > Projects and Tasks > Milestones views to a separate deferred request. This can greatly improve the initial display speed of these pages. (Proteus9831)
• Modified the file listing widget rendering to omit dot files (such as .DS_Store files generated by the Mac, which may easily be created when mounting the target folder via WebDAV). (Server65089)
• Modified the default email notification format so that attachments to comments are listed in the notification body. (Server65217)
• Whether to show query-completion suggestions in Attivio search views is now governed by a user setting. (Server64930)
• Modified the way in which mail filters are applied to entries being created from incoming email messages so that no mail filter is applied more than once, even if the message was read from the server inbox and the target space's mail filters include one or more of the same mail filters that are configured for the server inbox. (Server65451)
• Modified the way that TeamPage generates messages indicating a "bounce" if it fails to create an entry from an email message in the following ways: if the original message's headers indicate that it was automatically generated, or that automatic responses should be suppressed, no bounce message is generated; if the original message has a Return-Path or Reply-To header, a bounce message will be addressed to an address from one of those fields rather than to the address in the From field; bounce messages will always have headers indicating that they were automatically generated as a reply to another message, and that automatic responses to the bounce message should be suppressed. (Server65444 / Server65447 / Server65449)
• Changed the user links that are rendered in history views in the Proteus skin so that the default click action opens the user information dialog, in keeping with the pattern from the rest of the Proteus skin. (18ed9d5affd7)
• Added a new user preference for the Attivio Search module allowing the user to select whether to show activity for search results in "feed" volume. This preference defaults to "no". This in combination with a bug fix (see below) related to displaying this information should result in significant reduction in the amount of time Attivio Search views take to display in the Proteus skin. (Server65574)
• The Thread Manager administrative view now includes an option to display a comprehensive thread trace, plus an option to send such a thread trace to the traction.log and/or debug.log files. The TeamPage server may also automatically produce such a thread trace in the log file if it has identified the presence of a certain type of problem. (6c6d759b9328 / c6415e5a9e21 / 671b40bdd7c6)
• The Section Table widget plug-in has been updated to support showing the assignees for tasks, and some other properties that may be useful. See Section Table Widget 2.0 for the latest documentation. The latest version of this plug-in is shipped as part of this TeamPage release and does not need to be manually installed on your TeamPage server. (cb981f6c0e1e / b78150a84e9a / 32d72ca23794)
Bug Fixes
• Fixed a bug that could cause the time zone of the host operating system rather than the server default value for the user preferred time zone to be used to interpret the time for a scheduled server digest. (Server65306)
• Fixed a bug that could cause a "Media Resource" widget being used to embed a Quicktime movie or audio resource to cause the page to go blank. (Server64941)
• Fixed a bug that could cause the cached mappings from user account to security principal and security principal to user account to become out of sync with the current state of the user accounts. (Server65399)
• Fixed a bug that could prevent some entries emailed into TeamPage from taking on the correct custom entry type / entry class. (Server64822)
• Fixed a concurrency issue with TeamPage's content tokenizer that could prevent some entries from being successfully created in the journal. In a single rare case, this issue led to corruption of the journal. (Server65147)
• Fixed a bug that could cause an attempt to retrieve the table of contents for a space whose parent-child article hierarchy contains cycles (e.g., a child article that is also a parent to one of its own parent articles) to fail. A StackOverflowError might have been reported in these cases. In rare cases, in spite of the careful programming best practices used to avoid such issues, due to a coincidence involving the way Java Virtual Machines work, this issue could also have caused the server to become completely unresponsive if the exact point of failure happened to be right before the thread serving the request was about to release a lock that it held. (Server65079)
• Fixed a bug in the SDL programming language which in the case of certain types of unexpected errors could cause stale data to be used in evaluating the SDL templates used to generate the contents of pages users see in TeamPage. One example of a specific problem caused by this issue was that in certain cases a failure in one search source used for the Proteus skin's type-ahead completion results could cause all subsequent search sources to fail also. (Server65168)
• Fixed a bug that prevented an error page from being displayed when a page is requested focused on a single space that either didn't exist or wasn't visible to the requesting user. Instead, TeamPage would show the same page, but focused on some other space that the requesting user was allowed to see, which was unhelpful and misleading. This issue was a regression in TeamPage 5.2.55 from the correct behavior introduced in TeamPage 5.2.51. (Server64549)
• Fixed a bug related to the way TeamPage cleans up incoming entry content to get ready to be processed for storage in the journal that caused Traction IDs typed as the first word in a new paragraph to disappear when the entry was created if the containing paragraph followed another block that used Heading 1 - Heading 6 or Unordered / Ordered List styles. (AKJ17951)
• Fixed a bug in the Attivio Support plug-in that could cause the Print Version skin to fail to show anything when displaying an article containing a section. (Server65309)
• Changed the way the To, Cc and other recipient headers are collected when processing incoming email messages to ensure that email alias rules work correctly when TeamPage is connecting to a POP3 mail service. (AKJ17824)
• Fixed a bug that prevented a proper error page from being displayed on a space's Wiki tab if the requesting user was not able to view the space's home entry (used expressly for that tab). Administrators should avoid configuring spaces using a Wiki tab with a home entry that is not visible to users who have Access permission in that space, but that configuration is now properly supported. (Proteus9998)
• Fixed some issues related notifications for Event entries sent to the event organizer. (Proteus9839 / Proteus9982 / Server65212 / Proteus9835)
• Fixed some bugs related to preventing multiple user accounts from being bound to the same security principal, including one that could lead to a NullPointerException being reported when inviting another person to use a TeamPage server (using the built-in Invite feature). (Server64837)
• Fixed a bug that caused the "New Milestone" and "New Task" links on project and milestone dashboards to open the normal New Article form, which does not create milestones or tasks. (Proteus9925)
• Fixed a related issue that could cause the wrong form to open when a user clicked the link in the space setup assistant for editing the "welcome" (first) entry in a newly created space. (f6db9fab2eb3)
• Fixed a minor bug that could cause errors to be reported in the log file when certain types of email notifications were being aborted. (Server65014)
• Fixed a bug that could cause "You will be notified when null:" to be displayed on the "Person" tab for the Alerts settings dialog for a project or milestone entry. (Server65228)
• Fixed a bug that caused email notifications of projects and milestones that have no due date to indicate that the due date was the date the notification message was generated. (Server65115)
• Fixed a bug with multi select setting editors, such as the "Proteus Space Tabs" setting, that could cause a special "Unknown Value (...)" option, designed for single select setting editors only, to be listed as an available option. (Server64607)
• Fixed a bug that prevented users who do not have "Modify Account" permission from getting to their Personal Setup | Password page to carry out a required password change operation. (Server64807)
• Fixed a bug in the generation of URLs for the purpose of including references to certain CSS stylesheets. (Server64796)
• Ensured that when generating the subject for email notification messages, TeamPage uses a text-only version, not including any special characters (e.g., "non-space optional break"). Before this change, if a user replied to an email notification with a subject message that contained periods or certain other punctuation, the titles of the resulting comment entries would often contain unnecessary or garbage (double entity-encoded) characters. (Server65241)
• Modified the way in which certain user properties are determined to have changed so that user property collections are not unnecessarily committed to disk when no changes have been made. (Server65184)
• Fixed a bug that could cause special event cancelation email notification messages to be sent out to a task's assignees if the task was being erased. These notifications are now correctly sent out only to the invitees of an event when an event is being erased. (Server64783)
• Fixed a bug that could prevent type-ahead completions on projects, milestones and events from being presented if the query text contained certain special words or characters. (Server65170)
• Fixed a typo in the Attivio support plug-in that caused an extra query to be submitted to the AIE service when attempting to request query-completion results from the Attivio search view. (Proteus9922)
• Fixed a bug in PDF and WordML export that could cause failure to generate a PDF with an IllegalArgumentException, or failure to open a generated WordML document with Word if certain special characters appeared in the text for the page headers or footers. (Server64486 / Server65453 / Server65457)
• Fixed a bug that could cause certain queries for entries connected to a given entry using certain typed relationships to fail due to an inconsistency in the way that the queries were interpreted. (Server64304 / 006cd208de10)
• Fixed an issue that could cause the "Modify Principal" link on the Personal Setup | Permissions page to stop working until the page was reloaded if the user's principal had been modified. (Server65401)
• Fixed the setting editor used in the Modify Principal dialog so that invalid values are not committed but do stay in the principal encoding text input. (Server65175)
• Fixed an i18n issue that could cause the wrong label to be displayed for a subscribed file or folder on the Personal Setup | Subscriptions page. (Server65159)
• Modified the way certain email notification messages are generated to include a text body as well as an HTML body. This is an attempt to ensure that a body is always visible for all mail readers. (AKJ17811)
• Fixed a bug with the "Edit Token" dialog for configurable dynamic regular expression based widgets that prevented the Save button from actually saving the token configuration. (AKJ17797)
• Fixed a bug in the Javascript used for TeamPage's Social Enterprise Web bookmarklet that could cause an attempt to share a page that uses a character set other than UTF-8 to populate the share form with garbled text / mojibake. (AKJ15890)
• Fixed a bug that prevented matches from being displayed in the Add User / Add Group lookup control in the ACL and Group editor dialogs if certain characters were part of the search text. (Server65172)
• Fixed a bug with the Attivio plug-in that could cause query-completion suggestions in the Attivio search view not to be returned if the search text contained certain characters. (Server65162 / ee4453923309 / 62adf9849c19)
• Fixed an issue in the way that TeamPage checks whether the current user is allowed to use PM features so that if the administrator designated security principal group for "Allowed Users" no longer exists, everyone will be allowed to use the PM features. (Proteus9827)
• Fixed a bug that prevented event listeners from being executed if the user who created the new entry for which the event was being triggered happened not to be able to read that entry. (Server65268 / AKJ17894)
• Fixed a bug in TeamPage's metrics gathering that could cause the same user to be listed in the "Viewed By" side box in a single entry view. (Server65037)
• Fixed a minor style problem in the user profile popup dialog that prevented white space from appearing between a user's latest status update and the date the update was posted. (Server64904)
• Fixed a bug related to error reporting that prevented the feedback dialog from displaying the error message in certain situations. We hope this will cut down on the number of real errors that users experience, but which are reported with the text "There was no error message available." (which makes it very difficult for us to figure out what the problem was!). (Proteus9997)
• Fixed a bug that caused the "Title" and "Details" checkboxes to be enabled (available to be unchecked) in the section editor when the "Feed" volume was selected. Feed volume renderings do not support enabling or disabling title or details. These checkboxes are now set to the "checked" state and disabled when the user selects "Feed" volume for a section. (6bcfbfd35fd9)
• Fixed a minor issue related to logging certain information about requests to the WebDAV service that could cause an error to be reported in the log file. (Server65013)
• Fixed a bug that caused the versions listed in the History tab for a single entry to be sorted in the wrong order. This also caused the "Original Version" text to be displayed in the "Description of Changes" column for the most recent version rather than for the earliest version. (Server64853)
• Fixed a bug that prevented the "Preview" button in the section editor from working correctly when using the Proteus skin. (Proteus9906)
• Fixed a bug introduced in version 5.2.55 that caused caching of VDS security principals to stop working properly. This may have caused further requests to the ActiveDirectory / VDS server. (14a154c4cf8b)
• Fixed a bug affecting users of NTLM or X509 client certificate authentication that caused TeamPage to have to query the authentication service on every user request. TeamPage will now correctly set and defer to a special cookie, preventing the server from having to authentication for user accounts configured to use these authentication methods. (90d2705e4178)
• Fixed a bug which could cause file descriptors to be left open during migration from the old Feed Reader data store to the new SQL database backed store. (06385594ea9f)
• Fixed a bug in the URL that is specified in the Apache Slide configuration file for what URL to use to browse document listings from within TeamPage in the Mexico and other classic skins. This issue did not affect users of the Proteus skin. (1e4c6f98892a)
• Fixed the way errors are handled when loading configuration files during server bootstrapping so that certain types of errors in configuration files can no longer prevent the server from starting. (28acd9c1a1ab)
• Fixed some minor issues related to the way in which email ingestion applies properties from the EntryClass / custom entry type that was specified by directives in the message's subject, including applying any rules that could come from the default EntryClass (developers may choose to override that EntryClass configuration to include custom rules related to how to treat directives in the message subject). (21fda6ecdddb)
• Fixed a bug generating the URL for the help link that appears in the Start Page user setting. (626b474b2aac)
• Fixed two minor bugs related to attempting to load the history for an entry while generating iCal skin results for Project Management queries that were loading the history for the wrong entry, and/or loading the history of an entry whose history the requesting user wasn't allowed to read. These issues could cause the wrong information to be set in a certain time stamp field of an iCal skin result, or could cause errors to be reported in the log file. (5f1f127baaaa / fe6dbd231b8c)
• Fixed a bug that prevented image files uploaded via drag and drop into TeamPage's web-based forms from being inserted into the content if its file extension contained uppercase letters, e.g., .JPG instead of .jpg. (Server61546)
• Fixed a bug that prevented the "Go" button in Print Version skins, used to apply new results-per-page or sort options, from working. (Server65572)
• Fixed a bug that caused the Print Version Attivio Search view to display (and, in subsequent chunks, actually to use) a results-per-page count twice as large as it was really using. (Server65591)
• Fixed some bugs that caused extra work to be performed when displaying user activities on search results displayed in "feed" volume Attivio Search views. (Server65573)
• Fixed the "View Profile" link on the Personal Setup | Personal Info page's Profile Page tab so that it points to the target user's profile view rather than to that of the Visitor account. (Server65597)
• Modified TeamPage's content cleanup code to allow a data: URL to be used for the source of an image. Previously, these URLs would be accidentally broken by content cleanup code intended to maintain the integrity of URL references to images on the TeamPage server. (Server65634)
• Fixed an Internet Explorer specific issue related to the fake path specification "C:\fakepath\" or "C:\" appearing in the names of files that were uploaded to a space's share folder. (2c2824fd014c)
• Fixed a bug handling attachments whose names contain one or more characters from a certain set (e.g., an apostrophe) that could cause the attachments to become dissociated from the entry to which they were intended to be attached. The attachments would still be stored in the repository, but the link between the entry and the attachments would not be correctly established, and users might see some specially encoded data leak into a paragraph at the end of the entry content. (8a390a5372e4)
• Fixed a bug that could prevent errors from being logged or reported correctly, in certain rare cases, when a user attempted to submit a new entry or an update to an existing entry and the operation failed due to an internal error. The user would not see the form return with an error message explaining the issue reported near the top of the page, nor would diagnostic information be sent to the log files. Instead, the user would see a completely different error message (possibly taking up the whole page). (64e72e8f9670)
• Fixed an issue involving the handling of files whose names contain question mark characters. This character is still discouraged in file names, but at least TeamPage's WebDAV service will do a better job of handling it if it does appear. (6343d09441be)
i18n / l10n
• Fixed the i18n of the "none" option in the IMAP Encryption type setting for server or space mailbox configurations. (AKJ17984)
• Fixed the label used for some ACLs editors not to say "New Space" when the ACLs are for a specific space. (AKJ17784)
• The Japanese localization for license information and some other information included as part of the installer has been updated. (AKJ18102)
Developer Features
• Added support to the GWT forms schema API for a text= attribute on FIELD elements of type=checkbox to allow form designers to allow a specific value to be used when the checkbox control is checked. Also modified the way labels are rendered for checkboxes when displaying the form to a user so that the label= value is not used in custom HTML renderings, and tweaked the styles for checkboxes in simple XML form renderings. See also Forms47. (4a5b2e614504)
• The new search expression x() may be used to indicate an index entry type filter to be applied to any base request, either as part of a rapid selector expression, or from the search= attribute of an <entries> tag in SDL. This can be useful to filter a result set based upon a tag-driven query, since an index entry type native filter is not supported on such requests. (Server64848)
• The ConfigurableHeaderFilter class has been added. Create your own configuration file referring to this class, using predicates and matchers to create rules for when TeamPage should ignore incoming messages based upon regular expression based matches of the values of named headers. See the javadoc for this class for more information.
• traction.log and/or debug.log will now include the name of the SDL template to be evaluated for any GWT-RPC SdkService requests to the evalSdlTemplate method. (Server65161)
• Search query strings are now also logged for GWT-RPC AdminService findPrincipals requests, as well as unified search (type-ahead completion) requests. This can make diagnosing or debugging much easier. (Server65333 / Server65169)
• Added the tags regex.pattern.quote and regex.replacement.escape. Since the Java regular expression pattern compilation and find-replace features treat certain characters in the pattern specification text and replacement text as having special meanings (e.g., $ in a pattern to refer to the end of the input text, or $1 in replacement text to refer to the 1st capture group in the current match), developers need a reliable way to ensure that some or all characters in a pattern specification or replacement replacement text string. You can of course quote pattern specification text or escape replacement text yourself, but that is error prone and can make reading the text more difficult. These tags will perform these error prone transformations for you. The regex.pattern.quote tag will evaluate to the result of "quoting" its children (using the Pattern.quote method), forcing the resulting pattern matcher to treat the characters in the quoted region as literals. Use this as necessary in your regex= attribute for the regex.matches and regex.replace tags. The regex.replacement.escape tag will evaluate to the result of escaping $ and \ characters in its children, forcing the replacement operation to treat them as literals instead of as capture group references or back references. Use this as necessary in your replace= attribute for the regex.replace tag.
• Updated to version 1.4.6 of the Javamail library. (Server65396)
• Added version 13.0.1 of the Guava library to TeamPage. (Server65399)
• The version of Apache Derby that ships with TeamPage has been updated to 10.9.1.0. (0541763527ee / 56530bdbc419)
• The SDK and SDL documentation have been updated to reflect the changes in this latest version of TeamPage. (Server65183)
• Moved the CollectionsUtil helper class into the public SDK API (com.traction.sdk.util.CollectionsUtil). cd9aea4a355a)
• Added various versions of new methods logError and logWarning to the com.traction.sdk.util.log.Debug class. These methods encapsulate the standard logging behaviors for errors and warnings, respectively, including printing stack traces for Java and SDL when appropriate, and the text "[ERROR]" or "[WARNING]" in front of whatever custom message text is to be logged. A parallel logWarning method has also been added to com.traction.sdk.sdl.Tag so that SDL tag implementors can make use of it to have warning messages automatically include the tag name, which can be helpful in diagnosing problems. (cd9aea4a355a / 55e5ef0d9fc1)
• View action configurations using the com.traction.view.Update class will now use the text from the target entry's EntryClass getEditEntryLinkText method when possible. By default, this is based on the value of the editentry_link_text property in the EntryClass configuration file. (0d7d234074dc)
• The com.traction.sdk.edit.NewReceivedMailEntry.toggleUseTitleAsContentOnEmptyMessage method was renamed to toggleUseTitleAsContentOnEmptyMessage. Normally we would deprecate methods like this, but the old name was completely inaccurate, and there are not likely to be any external clients using the old method name. If there are, those classes will have to be recompiled. (52f9da8037b8)
• EntryClass now has the methods useSubjectAsContentOfMailEntryOnEmptyMessage and getDefaultMailEntryLabelsRapidSelectorFormat that are used during email ingestion to determine whether to use the subject of the message as the content of the resulting entry in case of an empty message body, and what labels (tags) to apply to new entries of that class. By default, the return values of these methods are driven by the mail_entry_use_title_as_content_on_empty_message and mail_entry_default_labels_rs properties, respectively. (e7a4888c4d12)
• Developers of custom MailFilters are now discouraged from using the original javax.mail.Message object that can be accessed via the getOriginalMessage method on the FilterContext supplied to the MailFilter's process method. With POP3 mail connections, almost any attempt to retrieve anything from the original Message object will fail because the MailFilter is not executing while the mail connection is still open. This may work with IMAP messages, but is still not advised. The FilterContext and IncomingMessage objects provided to the MailFilter's process method should give access to all necessary information about the original message, including mail headers, HTML and text versions of the body, etc. (Server65423.02)
• The last SDL specific to the Attivio premium search module has been migrated to the Attivo Support plug-in. Developers wishing to customize any Attivio specific features for the Proteus skin should start with the Attivio Support plug-in installed on their server. (Server65577)
Article: Customer4215 (permalink) Categories: :Doc:R52, :Doc:changelog Date: February 18, 2013; 4:36:41 PM Eastern Standard Time