Published 31 Dec 2012 This article describes what's new in Traction® TeamPage version 5.2.55. Highlights include support for calendar Events to record meeting and other dates in addition to project, milestone and task dates, along with some important improvements to TeamPage's integration with Microsoft Active Directory.
TeamPage now supports creating Events, which will appear in various Calendar pages, as well as iCal syndication feeds when appropriate so you can see them along with your tasks, projects and milestones in Outlook, iCal and other calendaring software.
In Calendar views, you can drag and drop events for quick rescheduling, and a one click Copy button in the calendar details dialog that is launched from the Calendar views makes it easy to set up another instance of the same event.
Events are included in the Proteus skin's type-ahead search results. Events that haven't happened and to which the requesting user is invited appear first, giving you quick access to the most relevant upcoming events.
When you're looking at an entry or paragraph and you want to schedule an event, you can use the hover menu's Schedule option (just like you can use the hover menu's Task option to create a task on an entry or paragraph). These "inline events" are displayed in context when users who can see them view the entries they relate to, just like inline tasks or inline comments.
Views that support filter controls in the side column, such as the Activity | Feed page, now include an "Events" option by default. Your digest's next 7 days planner will include events you're invited to, and you'll automatically get email notifications when events you're invited to are created or updated.
And the interface elements for the event features are all fully internationalized. (See below for other i18n/l10n changes.)
Active Directory Integration Improvements
When you configure your TeamPage server to use Active Directory security principals for user accounts, naturally, your TeamPage server needs to query your Active Directory server using the LDAP protocol. On top of caching the effective permissions for user accounts, TeamPage has always cached the security principal information it retrieves in order to be able to re-use it to recompute permissions when administrators change the ACLs for a space or for the server. But due to some shortcomings in the way this security principal information was cached, TeamPage wasn't always able to use the data from the cache. It might have to make the same query multiple times, and cache the same data multiple times. This would obviously cause more LDAP queries to the Active Directory server, and cause TeamPage to use a lot of extra memory.
In this release, TeamPage's Active Directory security principal caching strategy has been streamlined to address these shortcomings. We expect that most customers making use of TeamPage's Active Directory integration will see substantially fewer LDAP queries from TeamPage to their Active Directory server, allowing your TeamPage service to spend less time talking to your Active Directory server, and using less memory cache the results of those queries in a reusable form, leaving more of both resources to serve user requests.
Server administrators will still need to monitor connectivity between TeamPage and the Active Directory service. Depending upon the organization of your Active Directory database, the extent to which TeamPage user accounts are bound to security principals defined in that database, the performance of the Active Directory service, and other factors, to keep TeamPage running at peak performance, you may need to tweak various settings for your TeamPage user directory configuration, such as:
the manner in which TeamPage determines group membership for Active Directory principals: via direct lookup (asking directly which groups X a member of) or indirect lookup (asking what principals are a member of X);
the length of time between cache refreshes: TeamPage refills its Active Directory principal cache on a fixed schedule;
the search base for LDAP queries against Active Directory: TeamPage will only search the portion of the Active Directory database that you specify, and naturally searching a smaller portion can result in better performance.
Please consult Traction Software's technical support team by filing a new support request if you feel that significant changes to your TeamPage production server's Active Directory integration settings may be necessary.
Changes to Print Version skin, RSS and Atom syndication Skins, Export Articles, Email Articles and HTML Email Notification Messages
Entries displayed in these contexts now include all extended entry details, such as the due date and assignees for tasks, plus the locator used to indicate what space, project and milestone they belong to.
Inline tasks and inline events are now displayed in addition to inline comments. In the Print Version skin and the Email Articles rendering, inline tasks and events can be excluded individually in the same manner in which inline comments can be excluded. The "Include comments" option in the Email Articles form was changed to "Include comments, tasks and events".
The basic layout and style, particularly of the display of entry and comment details, of these renderings have been modified so that they more closely resemble those used in the Proteus skin. Elements of the details or extended details of the entries appear in the same order in all these contexts. We hope this will improve readability and that the unification of styles and layouts will give a more consistent experience.
Inline tasks and events that are emailed out with the entries they relate to are related via the "emails" relationship to the record of the email operation, just the same as TeamPage has long done for inline comments.
And finally, the Print Version skin offers settings to omit the extended details and the locator. And extended details can be omitted for individual entries the same way individual paragraphs can be omitted.
• Added a special built-in account called "(super)" to be used for certain internal system tasks when the work requires the TeamPage server to make a recursive request to itself. This means administrators no longer have to choose which user TeamPage should use to keep the Project Management database tables in sync with the journal, which user TeamPage should use to store metrics data, etc. This user account is designed to be used with event listeners and daemons only; it is not possible for a regular request to be authenticated as this super user, so administrators can rest assured that the existence of this account does not represent a security hole.
• Added JMX-based metering to allow administrators to see information about the running state of the TeamPage server, including how much of certain types of work has been done, how much is currently being done, how many objects are held by certain caches, etc. Any server administrator can enter the expression /jmxviewer in the search box at any time to access this information.
• In addition to being able to drag and drop the new Event entries on a Calendar view, users can now drag and drop Tasks, Milestones and Projects in Calendar views to change their due dates. (ccfcc3d00986)
• Added support to the Print Version skin for printing just a particular entry section, which is useful if the user clicks the Print Version link from a view focused on a single entry section. (Server63211)
• Incoming email messages that use subject directives or recipient aliases to target tag change records will now become replies to (comments on) the target of the tag change. Also changed email notifications for tag change events to be automatically set up so that the reply will target the target of the tag change. In general, these changes should make replying to email notifications of tag change events much more useful. (Server63058 / Server63122)
• If a user requests a Personal Setup page for a user account they're not allowed to administer, instead of showing a blank page, TeamPage will now redirect them to a login form, which is the expected behavior in this sort of situation. (febf7bc5636b)
• Removed the sometimes confusing and pretty much entirely unnecessary comment thread clipping behavior and comment depth user preference. (Proteus9533)
• The page-level Collect Articles action is now available on the sub-tabs of individual Projects and Milestones, such as on a Project's Tasks tabs, offering users the ability to add all the entries listed in one of those views to be added to a new or existing collection. (Server62492)
• The escape key can now be used to close many simple dialog boxes in TeamPage's Proteus skin interface. (bdcfa6d95641)
• Updated the Google Maps widget to use version 3 of the Maps API, and fixed the link that points administrators to a page where they can get an API key. (822d5b1beaaf / AKJ16780)
• Made Tahoma font an option for the Proteus Design > Customize dialog Font selector. (0086acf37af6)
• Background tasks to run event listeners no longer hold on to references to objects that might be removed from various caches between the time the tasks were enqueued and the time they are able to run. This would not normally be a significant improvement, since these tasks are only meant to be transient, and would normally not exist in memory for more than a matter of seconds. In certain environments, an unresponsive Active Directory service or other environmental issue could cause tasks to accumulate in the queue indefinitely. Tasks could be enqueued for so long that TeamPage's caches had already jettisoned one or all of the objects the tasks referred to, often many times over. Since generations of tasks still held references to those stale objects, although they were no longer cached, the memory they occupied could not be reclaimed. This would eventually cause the JVM in which TeamPage was running to run out of memory. We hope that most TeamPage installations don't ever have a problem like this, but it may be important in certain cases. (Server63561)
• Updated the styles and layouts of form dialogs, including creating new button styles.
• Added a "Notify" field to the Task forms to allow the author / editor to indicate which users should be notified of creation and changes to the task. This list of subscribed users also appears beneath the assignees in the details that appear with task entries. (e0bc995d33a2)
• Due to the unreliability of rich text editing on iOS devices, rich text editing support for these devices has been removed. If you wish to put up with these issues on your own iOS devices, please file a new support request and we will issue you a plug-in to re-enable it, but this would be a use-at-your-own-risk modification. (Server63906)
• The default values for the space and frontpage dashboard sections settings have been modified to be more useful. You can always use a custom space template that has your own preferred sections for new spaces on your server, but we think you'll find these defaults more useful than the previous ones. (Server63945)
• "Documents" has been removed from the default set of tabs displayed for all spaces views (it is still included in the default set of tabs for single space). (Server63945)
• An easily visible button with the text "Add" is now used in place of the sometimes difficult to see "+" button for the Add to Section action. (Server64042)
• In certain pages where tasks, milestones or projects are listed, a link or button has been added when appropriate to allow the user to open a form to add a new task, milestone or project. (Proteus3693)
Bug Fixes
• Fixed a bug that could cause the self-registration form not to work if the TeamPage server was set up to require explicit login for the Visitor account. (Server62982)
• Fixed some issues with the new profile creation / profile edit views that are used in certain self-registration contexts. (AKJ16543)
• Fixed an error in the description of the server setup assistant's "User Profiles" summary line. (AKJ16596)
• Changed that way that image URLs are "cleaned up" to avoid errors in PDF export when certain characters appear in invalid image URLs. (Server61920)
• Don't show the "edit" link in the Tags box that appears in the side column of single entry views if the user doesn't have Change Tags permission in any active spaces. (Proteus7447)
• Fixed some issues that prevented the proper messages from appearing the log files related and on the console on startup related to the status of a license, e.g., when a license has expired. (Server63041)
• Prevent an error ("StackOverflowException") from being reported in the confirmation view when an entry that has been created or edited contains a cycle in its comment thread. (Server63049)
• Fixed some issues with the lib skin (e.g., Mexico skin or Ocean skin) Page Name History and Page Name ID History views that could cause errors to be reported in certain cases, particularly when focused on a name that had never been used or an invalid ID. (Server62290)
• Fixed an annoying issue that could cause spurious "Server Cannot Be Reached" errors to be reported just as the user is submitting a new entry or an update to an existing entry using the classic Create New Article, Create New Comment, Email Reply or Edit Article views, or the inline comment form. (Server62797)
• Fixed an issue that prevented a user who has been invited from being able to see the profile picture they just uploaded during completion of their account setup when they. (In general, User Setup permission is required to see the "edit" version of a user's profile picture used in this context.) (AKJ16622)
• Changed where/when the HTML rendered for editing existing entries is entity encoded to ensure that encoding always happens symmetrically. Before this change, if an entry was edited in a form that did not have a field for the content of the entry, any entity encoding in the content would be duplicated, causing the encoding to appear in the entry content. (Server63111)
• Fixed two bugs with the Migrate to WebDAV procedure that could either prevent migration from working at all or could prevent some attachments from being included in the migration. (AKJ15721)
• Fixed a minor issue that could cause a harmless but alarming error message and diagnostic stack trace (NullPointerException in UserDirectoryAdminPage) to be printed in the log file and/or on the console. (FDA5706.017)
• Fixed some problems with handling request failures in the Proteus skin. (c28112a18eef)
• Fixed a bug that could cause an error to appear when using the Insert/Edit Link dialog to edit a link to a section. (Server63085)
• Fixed a bug with the self-registration page that could cause a strange error to appear in an alert dialog if the server administrator had elected to omit a "CAPTCHA" test for self-registration. (AKJ16587)
• Fixed a bug that affected the Create New Article, Edit Article, Add Comment and Email Reply forms that could cause the user to have to click the "Post Article" button twice. (Server62798)
• Fixed a minor bug that could cause some generated links for user account settings pages not to point to the correct target tab. (046ad3f0d765)
• Fixed a layout problem that caused the locator text used to indicate the Project and Milestone for an entry in progress (on the Work in Progress tab) to run together. (Proteus9529)
• Fixed an issue that could cause "Comments" heading for article level comments to be displayed in certain contexts when there were no comments to be displayed. (ebea765b9885)
• Fixed an issue that could, in some cases, prevent the list of suggested completions for people results in the Invitation dialog from being dismissed when a match was accepted with a keystroke. (Server62282)
• Changed error handling when running searches for the Proteus skin's type-ahead search completion feature to ensure that an error retrieving results from one search source doesn't prevent all results from being displayed. (d2c850e753b5)
• Fixed an typo in an SQL statement in TeamPage's metrics component. No problems were known to be caused by this issue, but it is suspected that it could cause a problem if the metrics database were being migrated to a new version of the schema. (Server63112)
• Changed the way the Hit Counter / Viewed By box in the Proteus skin's side column is displayed so that it will not be displayed if the metrics plug-in is disabled. Previously, if the metrics plug-in were disabled, users might see "Viewed #$hits$ Times" in place of real information. (Server61867)
• Fixed a bug that could prevent links, images and possibly other special widgets that refer resources in a spaces whose names contain certain characters not to work properly when the containing entry is created or edited. (Server63534)
• Fixed a bug that was a regression in version 5.2.51 that caused user names listed as group members (in a groups editor) or ACL entries (in an ACLs editor) not to be updated when the corresponding user account's user name had been changed. This was purely a display issue and did not affect the correctness of permissions enforcement. (AKJ16752)
• Fixed a problem with the Message ID to entry ID index that prevented email replies from entries that were not created from incoming or outgoing messages from being considered replies. (Server61105)
• Fixed some issues with the Custom Tag Actions setting that prevented changes a user had just made to the Inactive and Active lists from being properly reflected when the page reloaded. (The changes were saved, but were simply not displayed correctly.) (AKJ16415)
• Fixed a bug mapping the date range parameters in the Attivio search form to real dates that could cause an error to be displayed (Exception2RuntimeException / NullPointerException) when certain searches were performed. All searches should now execute correctly. (Server63402)
• Using the mouse pointer to move input focus from the "Enter names or email addresses" field in the Invite dialog will now operate as expected (and the same as the tab key operates): the typed text will turn into a target email address or user match. (Server62288)
• Added a "clearfix" layout adjustment for IE to fix the layout of tags displayed next to article content so that the boxes containing the tags don't get pushed to the left if there are enough tags in the boxes above to require earlier tags to vertically extend beyond the space occupied by the content they apply to. (Proteus9593)
• Fixed an issue that could cause the collection chooser for an Article Section editor to display empty for non administrators. There may still be times when users cannot edit Collection type sections referring to collections belonging to other users, but this at least will allow the collection chooser dialog to function. (faac5faab027)
• Fixed a bug that caused native TeamPage search filters to stick to the URLs generated to point to single entry views in certain cases. While it is possible to apply search filters to single entry views, the intended and desired behavior is that links to single entry views from search filtered views should point to a single entry view with no search filter. (Proteus9663)
• Fixed a bug that caused search filters on the User Profile | Tasks page to be dropped when subsequent chunks were requested as the user scrolled down the page far enough to warrant further results. (Proteus9665)
• Fixed an issue that could cause the overlay for drag and drop upload never to disappear, even when the "Cancel [X]" link was clicked. (Server55435)
• Fixed several issues with the Maximum Upload File Size setting, including: the setting editor incorrectly displaying the value as -1 no matter what value the administrator has just chosen; correcting the description of the setting to reflect that it applies to any and all files; preventing users from choosing values below 10kB (a minimum requirement for technical reasons) or above 2,097,152kB (the maximum size for uploaded files over HTTP); and reporting an error in the page next to the setting editor and not applying changes when an invalid value is entered. (AKJ16879, AKJ16871.05)
• Fixed a bug that caused the "Tags" control in the side column of the Proteus skin to get stuck on "Saving..." if the user entered a new tag that contained illegal characters. An error message is now displayed in that case, and the user is allowed to continue editing and fix the illegal names before saving any changes. (Server63526)
• Fixed a bug that caused "Visitor" to be credited with authoring certain revisions of an entry when the viewing user had permission to read the entry's history but not to edit the entry. (Help9186)
• Fixed a bug that prevented the overlay for drag and drop upload from ever disappearing on upload completion if plain text edit mode was being used. (de0bfea84a4d)
• Fixed some layout and style issues with the Print Version skin, including extra blank space between paragraphs, fixing table border styles, and using proper padding around bulleted lists. (b5d7cc7b3fed)
• Fixed the size of Install Bookmarklet dialog in Internet Explorer. (Server63548)
• Changed the Time Zone user setting to omit invalid time zones, which Java supports for some reason, from being selected. Selecting one of these invalid time zones could result in strange and undesirable differences displaying the same date in various contexts. (Server63683)
• Made some changes to the logic of various setting editor Java classes (com.traction.sdk.settings.SettingEditor in the Traction SDK) so that they will always uniformly no-op if no data are present for the setting they manage, and will be sure to only ever report an error condition if there really was an error rather than no data being present to process (which is technically not an error condition). In certain conditions, clicking Apply in some administrative pages would not always correctly apply changes or report errors. (13f51feab889)
• Excised all references to Attivio-specific SDL tags and other code from Traction TeamPage's main SDL codebase, including RSS / Atom syndication feed skins, Print Version and some other contexts. The presence of these tags in servers where no Attivio plug-in was installed could cause some extraneous and invalid (if harmless) extra cruft to be included in some cases. (Server63724)
• Fixed a bug that could lead to a script error dialog being displayed to users of Internet Explorer when they clicked the Cancel button in forms such as the Task form. (Server63717)
• Fixed a bug that prevented all users from being migrated to new security principals when changing the user directory configuration for a journal. (36327d9ed6bd)
• Fixed an issue with TeamPage's TinyMCE integration that could cause the browser to attempt to load incorrect URLs referring to the stylesheets used in the rich text editor. For users of Internet Explorer 8, if the TeamPage server's URL uses the https: protocol, this issue would cause a warning dialog to appear when any form was loaded with a rich text editor (at least the first time) warning the user of a security issue, asking "Do you want to view only the webpage content that was delivered securely?" (Server63817)
• Fixed a bug that caused an invalid identifier for a WebDAV file's lock owner to be stored when a user opened the file for direct editing in a Microsoft Office application. This would prevent the identity of the owner from being reported in various contexts, but more seriously, would also prevent an administrator from stealing the lock in order to be able to unlock a file that a user had opened for editing but forgot to close (Server63910 / FDA6110)
• Fixed a bug that could cause an error (NullPointerException) to occur when displaying the entries in a section table. (Server64033)
• Fixed a bug that caused the "View" button for the Cache Manager item on the Server Setup | Server Files page's Other Files | Server Configuration tab to open the Thread Manager viewer rather than the Cache Manager viewer. (Server64018)
• Fixed a bug that caused the Space level Skin override setting not to work. This bug was probably introduced in TeamPage 5.2.47. (Proteus9764)
• Fixed an issue that could cause sort options related to Discussions type sections, such as "Last Active Thread First" and "Most Commented on First", to appear for a Recent Articles type of section. Users will no longer have to wonder why they can choose these options if they don't seem to work. (Help9228)
• Fixed an issue with the PDF export feature that could cause PNG images embedded in entry content to be excluded from the exported document. (f410d3e5cd48)
• Fixed some descriptions and labels used in the "Forgot your password?" form, the password change request confirmation email and the password change view. The feature does in fact allow users to request a special message be sent to one of the email addresses associated with their account that includes a link, good for one hour, to a page that lets the user choose a new password. Some of these descriptions and labels referred, though, to "resetting" the password, which is not what this feature supports. (Server63958)
• Made a change to work around a very unusual issue related to the way in which some plug-ins or add-ons for your web browser may insert markup in unexpected places, which could cause an error to occur when attempting to remove an attachment from an inline comment form. We do not expect many users to have been affected by this issue, but if you use a browser add-on that does something special with EXIF data for all images it encounters, you may have seen this issue. (Server64040)
• Fixed a harmless although alarming issue related to querying the metrics database for a new journal before the tables were initialized. Now, by the time any query is run -- even for the first view of the home page by the person who created the new journal, the metrics tables should at least be present, and no errors should appear on the console or in the log file related to metrics queries. (de5ee1148193)
• Fixed a problem with the Task form used for the Social Enterprise Web / Attivio Plus features, that prevented entries created using that form from really becoming tasks. (Server64312)
• Fixed a bug that caused the "Edit subscriptions" link that appears in the email digest to link to the correct Personal Setup | Subscriptions page, but no tab would be selected on the page and no settings would be visible until one of the tabs were selected. This link will now correctly link to that page with the Email Digest tab selected. (046ad3f0d765)
• Fixed a bug that could cause item-level comments started from the inline comment form but finished in the popup comment form to end up being entry-level comments. (AKJ17162)
• Restored the MDB file extension to mime type / content type mapping so that MDB files will be correctly associated with Microsoft Access. This issue was supposed to have been fixed in a previous release, but the fix was not pushed out because the wrong version of the mapping file was modified. (AKJ17042)
• Fixed a bug that could, in some rare cases, cause an error (NullPointerException in your log file or on your TeamPage server's console) to occur during server startup that would prevent the server from running. We do not have any reports of this issue affecting any customers, but this fix will ensure that it will not occur in the future. (Server64043)
i18n / l10n
• i18n for SEW forms and the SEW bookmarklet installation dialog. (62f3f5aa4f06, Server63615)
• Fixed the i18n/l10n for the New Space ACL Editor title text. (AKJ16547)
• i18n for the sender in the email message body template that is used for invitations. (AKJ16541)
• Fixed a style issue that caused strange line wrapping behavior in certain admin page, such as the Server Setup | Spaces page, in certain locales. (AKJ16621)
• Fixed a style issue that caused line wrapping of button text on the login form in certain locales. (AKJ16788)
• Additional i18n / ja l10n for the self-registration form. (36ad0214018c, ff099c94f8c0)
• i18n/l10n for the "Find a space to add to favorites" text in the Proteus skin's favorite spaces dialog. (AKJ16741)
• Fixed an issue with the ja locale. (AKJ16608)
• Fixed an issue with some resources used by space templates that caused certain HTML entities included in the initial entry content to be double encoded. (Server55107)
• Fixed the way "view article" links are generated so that links to milestones and projects don't always point to their Discussions sub-tabs. (Server63420)
• Fixed a concurrency issue in SDL compilation that could cause a NullPointerException to be logged to your TeamPage service's console output. (Server62187)
• Fixed a regression that prevented the locale links on the login form from functioning. (Server63459)
• i18n/l10n for the "Show Task Summary" digest skin setting display name and description. (AKJ16891)
• i18n for the Install Bookmarklet dialog (part of the Social Enterprise Web suite). (Server63615)
Developer Features
• The html.js and html.css tags now work for mode=inline when the Javascript or CSS resource is located in a plug-in.
• For date tags, SDL designers may now set allday=true/false to indicate whether the date being rendered should be interpreted as referring to an entire single day. Setting this attribute to true would be a good idea to display the date of, say, a birthday, which happens on the entire day for a date no matter what time zone the person viewing it is using, as opposed to, say, the time when a meeting is taking place, which presumably needs to be displayed to a user in their own time zone. (Server63489)
• Modified the way viewaction.url and some related tags generate their values to ensure that the extras= attribute and other context-sensitive elements always reflect the requested information.
• Form developers can now safely create a form that doesn't have a field for the content of the entry. Previously, although no such forms exist in TeamPage, if such a form had been created, the content of the entry not having been round tripped through the form could cause HTML entities in the content to become double encoded. (Server63111)
• The SdlEvaluator interface now supports a newScope method in case you want to create a completely new and empty Scope not based upon the current Scope on the Context used to create the SdlEvaluator.
• The Apache commons-lang3 JAR now ships with TeamPage. SDK programmers can use this without including it in a plug-in.
• Added the sdl.omit tag which evaluates its children but does not include their output in the final output of the containing SDL evaluation.
• A "before_erase" event now fires for each entry being erased, before the entry is actually removed from the journal but after it has been confirmed that the operation will run to completion. The "erase" event still provides a way to listen for entries being erased, but by the time they are erased, of course even basic information like the entry title is no longer accessible, because all records in an entry's edit chain have been completely wiped from the journal. Sometimes that information is needed in order to do something useful when an entry is being erased. This event provides the ability to get access to that information at the right time. If you already have an event listener TractionView based upon com.traction.sdk.event.SimpleEventListener, you can add "before_erase" to the list of events in your event configuration file and override the entryAboutToBeErased method in your class. (Server63764)
• The efficiency of the implementation of the file.image SDL tag has been greatly improved. (2b80b8816709)
• For simplicity's sake, at least for the time being, a change is being made to the custom entry type / EntryClass concept as applied to com.traction.sdk.Entry objects. For an Entry e, e.getCustomEntryType() will now always return the same thing as e.getEntryClass().getName(), unless the entry has the default ("_default") entry class; and e.getEntryClass() will be determined first by trying to match the custom entry type set on the entry in the journal, if any, with a known EntryClass configuration; then, if necessary, falling back to the former definition of an Entry's EntryClass by trying to match the value of the Entry's _class property, if any, with a known EntryClass configuration; and finally, if necessary, falling back to the _default configuration. In other words, the Custom Entry Type and the EntryClass have been more formally joined. This may change again in a future release, but it offers certain simplifications for custom plug-ins that make use of custom entry type and EntryClass interchangeably. (AKJ17017)
Article: Customer4161 (permalink) Categories: :Doc:R52, :Doc:changelog Date: December 15, 2012; 4:22:29 PM Eastern Standard Time