Title: TeamPage 6.1.24
Traction® TeamPage 6.1.24 is focused on bug fixes and improvements. Highlights include finer grained control over what events appear on your Personal Calendar; New "Assigned to Me" and "Notify Me" filter options for Task lists and other views; an updated version of the TinyMCE rich text editor; support for SHA-2 algorithms for Certificate Signing Requests (CSRs); automatic backup of the Managed Trust Store before certificates or keys are removed or replaced; and a new "Indexing Mode" setting for TeamPage's Premium Search module that offers administrators a single point of control over how TeamPage tracks and dispatches new and updated documents to an external search engine index. This release also includes many "under the hood" improvements not covered in this document, but which will help us make TeamPage more reliable as it continues to evolve and improve in the future.
• Fixed a bug that caused inactive user accounts to be displayed on the server settings > People page even when the "Show Inactive" checkbox wasn't checked. (Server82559)
• Fixed a bug that caused tags to be displayed in the renderings of external search engine driven sections even when the "Show" option was set to just "Titles". (Proteus14328)
• Fixed an issue that could prevent the form on the "Migrate Principals" from being submitted. When this error occurred, the error "java.lang.IllegalStateException: Form too many keys" would be presented. (Server73705)
• Fixed a bug that could prevent some facet filters offered in TeamPage's premium search module from working properly if the filter values contained spaces (e.g., a phrase filter for "toy store"). (Server82815)
• Fixed a bug that could cause an error message ("com.google.gwt.event.shared.UmbrellaException: Cannot read property 'Md' of null") after a user has uploaded a new version of a file using the "Replace..." item in a document management page. (The error did not prevent the uploaded from being accepted and put into place, and only applied to files that had descriptions created using the "Describe This File" feature.) (Proteus14419)
• Fixed a bug that caused the "Event Duration" section table column value to be one day shorter than its actual duration for events spanning full days (i.e., "All Day" events). For example, an event spanning three full days would have an "Event Duration" value of "2d", but that column value will now correctly show "3d" instead. (JPBO13541)
• Fixed two bugs introduced in version 6.1.20 related to type-ahead completion of entry titles or IDs in certain types of form fields. One bug prevented matches from being displayed in some cases. The other bug prevented the down arrow icon control from appearing, which in turn prevented the user from being able to inspect all possible options (for those fields that support this behavior). (Proteus14335 / Proteus14340)
• Fixed a bug that prevented an entry type filter from being applied to a Project or Milestone > Activity feed view when another search filter was already present. (JPBO13447)
• Fixed a bug that prevented the requesting user's preferred locale from being taken into account for determining the first day of the week. This bug caused some relatively minor but confusing issues related to request date ranges and calendars. This will be of interest to TeamPage users in locations outside of the United States, where Monday rather than Sunday may be considered the first day of the week. (Server82591)
• Fixed a bug that could temporarily cause an erroneous new TeamPage version availability notification to be displayed in TeamPage's setup interfaces even when the server is already running the latest available version. (This issue was accidentally mentioned as having been fixed in an initial version of Customer4948: TeamPage 6.1.20, but that version did not contain the fix for this issue. This version does contain the fix.) (Server81936)
• Fixed a bug that caused the current page's date range, when such parameters are present, to be lost when applying a search filter via the Filter menu. (Proteus14315)
• Fixed an issue that prevented the full ID of the article, comment, or other entry from being deleted from being displayed in the Delete confirmation dialog. Previously, in certain cases, only the number of the entry (its serial number in its containing space) would be included. Now the full "Traction ID" of the entry -- such as "FooBar55" -- will be included, allowing the user who is performing the operation to verify that they are deleting the correct entry. (Proteus14339)
• Fixed a bug in TeamPage's extensible entry forms API that could cause TeamPage to apply the wrong tags to newly created entries in certain cases in which part of the tag name was the same as a space name. (Proteus14363)
• Fixed a bug that affected classic skins, such as Mexico and Ocean, that prevented context menu actions from working on entries belonging to spaces whose names contain non-ASCII characters. We strongly recommend against using these classic skins, which are generally no longer supported and maintained, but this fix does at least restore the proper functionality for the context menu in those skins. (Server82690)
• Fixed a bug that prevented the proper file type icon from appearing next search results representing attachments that appear in external search engine driven views. (Server82977)
• Fixed a bug that prevented the hover menu actions (e.g., "Edit") and the context menu from working properly for the "Shared by" entries listed in a "single file" view. This applies to customers licensed for Social Enterprise Web (SEW) features only. (JPBO6376)
• Fixed an issue that prevented the ordering specified by an administrator for the "Filter Entry Types" server setting from being reflected in the "Filter By" checkboxes that appear in the side column of many pages. (JPBO13713)
• Fixed a bug which could cause widgets or images in article content to be slightly mangled when their containing article, task or other entry was edited. This could only happen if the widget or image appeared before of any other content in a particular paragraph (or as the only content in a paragraph). Because the image or widget content could be damaged, this issue would likely also prevent these images and widgets from being edited using TeamPage's web-based forms. In the case of being unable to edit such a widget, the user would see the error message, "Error (HTTP response code 500) com.traction.sdk.TractionRuntimeException: java.lang.ClassCastException: tsi.rs.RsMarker cannot be cast to tsi.rs.RsConfiguredToken." (Server82717)
• Fixed a bug introduced in a recent version of TeamPage that prevented any of the languages entered for the "Language" field in the user profile form from being listed in their profile. (Proteus14351)
• Fixed a bug that caused the effect of the "After" date scoping option, when present in an external search engine view, to be lost when loading subsequent "chunks" of results as the user scrolls down the page (when enough results are available to fill up more than the initial set). (Proteus14369)
• Fixed a bug that prevented custom administrator configured facets for external search engines from being available and working when multiple custom facets had been specified. (Server83070)
• Modified the way that computed effective permissions data are cached for a particular journal to guard against the possibility of certain types of issues. This change does not fix any known issue, but avoids the possibility of future issues in this area. (Server81688)
• Fixed some issues that could prevent the setup dialog used to allow administrators to create certain types of "templated" objects, such as custom PDF export configurations, content cleanup transformers, and certain other types of customizable objects. (Server83170)
Personal Calendar Events
• Users now have more control over which events appear on their personal calendars. (Server82759)
In previous versions, in addition to displaying events to which the user is invited, TeamPage would also show some other events on a user's personal calendar based upon their association with projects in which the user was involved:
- events associated with projects the user owns or of which the user is a member; and
- events associated with projects in which there are tasks assigned to that user.
Now, users can choose whether these additional events should appear on their personal calendars:
Since these settings are set to "no" by default, these additional events will no longer appear by default, so users who prefer the previous behavior should modify these settings. (Server administrators may also modify the server default values for these settings from the server settings > Defaults page under User Preferences > Display.)
• By default, TeamPage will now respond to all incoming HTTP TRACE requests with an HTTP 405 ("Method Not Allowed") response status code, and accompanying error message. (See this page for further information.) If you need to enable this method for some legitimate purpose, please contact TeamPage support. (Internal11633)
• TeamPage now ships with version 4.4.3 of the TinyMCE rich text editor in web based forms. (Server74863 / Server82778)
• TeamPage now ships with version 20.0 of the Google Guava library. (Server82962)
• TeamPage now supports the SHA-2 algorithm for Certificate Signing Requests (CSRs) generated from the "Manage Trust Store" dialog. (Server82598)
• Each time an administrator uses the "Manage Trust Store" dialog to make a destructive modification to the Trusted Certificates list, Untrusted Certificates list, or the Server Private Key, the server will make take a snapshot of the store before the modification in order to provide a backup. This will make it easier to recover from the accidental deletion of an important certificate. (Server82578)
• The facilities for allowing administrators to browse existing users and spaces, on the settings > People and server settings > Spaces pages respectively, have been optimized. (Server83171)
• There is a new premium search module search engine configuration option for "Indexing Mode" which will give you control over what TeamPage tracks and communicates to the search engine service in order to keep its index up to date with the latest state of articles, comments, tasks, files, etc. in your TeamPage journal. The available options are as follows:
- On - Track Changes and Update Index: TeamPage will keep track of which documents need to be added to the search engine index, removed from the index, or updated in the index, and will periodically communicate the necessary information to the search engine so that the index will be up to date. This is the default option, and should be used during normal operation of your TeamPage server for an external search engine that you are currently using.
- Track Changes Only: TeamPage will keep track of required changes, in the "On" case, but will not dispatch them to the search engine. They would be dispatched later if this setting were changed to "On - Track Changes and Update Index". This option should be used if, e.g., you are temporarily taking the search engine service offline for some reason, or generally in any case when you are not currently using the search engine, but you intend to use it again in the future.
- Off - Do Not Track Changes or Update Index: TeamPage will not track the documents that need adding, removing or updating in the search engine's index. If you use this setting, TeamPage will not perform any additional background work, which may be desirable for a search engine you are not currently using, and which you have no plans to use. If you select this setting, you should expect to have to re-feed the entire contents of your journal (all files, articles, comments, tasks, etc.) to the search engine using the "Feed All Documents" option from the Index Administration panel for that search engine. This option is probably only appropriate for certain special cases.
This setting may come in handy while you're testing the setup of the premium search module, or while you're performing maintenance on the search engine service. (Server82340)
• Implemented a hard cap on the number of documents that the server will attempt to include in a single batch dispatched to an external search engine for indexing. This will prevent TeamPage's indexer thread from running for too long while it attempts to fill up a batch of documents from a pool of candidate documents that end up being skipped or ignored. (This scenario is only likely to happen in the case of an administrator attempting to retry indexing for a large number of documents that were skipped during previous indexing runs, and will probably be skipped again.) (Server82539)
• Changed the way that TeamPage manages concurrency of read-write operations on external search engine indices to improve performance, and, e.g., to prevent administrators from having to unnecessarily wait for certain background operations to complete in order to be able to see the Index Administration dialog. (Server82326)
• Implemented caching to speed up the delivery of space logo images. (Server82540)
• When an search result returned by an external search engine corresponds to a document that cannot be loaded (possibly because it was deleted, and the search engine index has not yet been updated to reflect that fact), instead of seeing either an alert dialog or just a set of search results that does not match the number of results reported, the user will be presented with a small warning that explains the condition. (Proteus14332)
• Added the new "Assigned to Me" and "Notify Me" options to the filter menu, allowing users to filter the entries displayed based upon whether the user viewing the containing page appears on the "Assigned" or "Notify" list for a task. (The equivalent of the "Assigned to Me" filter has been available in sections for some time, but to add a filter equivalent to the "Notify Me" filter menu option, users can use the search expression
in the "Search" field of the section configuration interface.) (Server81293)
• During bootstrapping, and during certain server cache clearing operations, the TeamPage server will now log a list of all installed plug-ins, including both enabled and and disabled plug-ins, with disabled plug-ins indicated as "(disabled)". This information can be very important to Traction support staff who may be working with you to resolve issues related to your TeamPage server. (Server61754)
• Changed the cleanup that is applied to the HTML body of incoming email messages intended to repair certain broken HTML markup structure generated by Microsoft Outlook. (Server83166)
Changes to the Java Codebase
The com.traction.sdk.util classes ObjectUtil, ArraysUtil, CollectionsUtil and ComparatorUtil have all been moved to our new open source "tsi-commons" Java library, which we will soon be making available on a popular open source host. The classes have moved to the com.tractionsoftware.commons.util package.
In conjunction with this, the com.traction.sdk.util.Provider and Callback interfaces, as well as the com.traction.sdk.iter.Filter interface, have all been removed. Where those interfaces were referenced in the broader codebase or in the classes that now belong to the tsi-commons library, including in customizable/extensible types of objects, the appropriate built-in Java functional interface types are now used instead:
- Where Provider was used, a Function is generally used.
- Where Filter was used, a Predicate is now used.
- Where Callback was used, a Consumer is now used.
Please make sure that when you upgrade to TeamPage 6.1.23 that you also recompile any plug-ins you have that rely upon TeamPage's Java APIs. You can find the tsi-commons.jar file in the server/lib folder of your TeamPage installation. Please file a support request if you require assistance updating any Java code in your custom plug-ins to take these changes into account.
• SDL developers using the "Filter" menu in their custom views can now specify which filter groups will appear in the menu, and/or the order in which the will appear by using either the groups_include= or groups_exclude= property with the gwt.rpc.view name="FilterMenu" tag.
<gwt.rpc.view name="FilterMenu" key="heading">
<gwt.rpc.property.set name="groups_include" value="foo,pm,general" />
If the groups_include= property is set, it will generally be used in preference to the groups_exclude= property value.
The config.entryfields tag has also been updated correspondingly to support filter_groups_include= / filter_groups_exclude=, but most SDL programmers will not have occasion to use this tag or those newly supported attributes themselves. (The tag and those attributes are used in the SDL template that is evaluated on-demand to fill in the options in the Filter menu, and the FilterMenu groups_include= and groups_exclude= are used to drive the values of those attributes in that case.)
• Support has been restored for some features required for certain customizable behaviors associated with certain types of form fields:
- reference fields may once again specify that the the reference must be "entry level" -- i.e., to the "entire entry" rather than to a particular paragraph, or to the title "paragraph" (Proteus14341); and
- developers may once again customize the way in which type-ahead matches are generated for such fields using the template= attribute to reference an SDL function that provides the matches, using
for each com.traction.sdk.Entry result. (Proteus14334)
Support for these features was accidentally removed in version 6.1.20.
• The com.traction.jeval plug-in, which adds support for the JEval open source library to TeamPage, now ships as part of TeamPage's installer. (Server82735)