, of entries that are considered "hidden" or "rejected", when they haven't been explicitly requested). (Server93078)
• Applied further optimizations to the handling of searches applied to native TeamPage queries. Here are two highlights that may be of interest.
- Firstly, for the most common types of queries, TeamPage can now identify many cases in which the presence of certain search terms means that no entries will ever be matched. In those cases, TeamPage will trivially generate an empty result set. This shouldn't apply to properly configured queries, but can be helpful when attempting to set up custom queries that involve search terms, so that users can more quickly establish whether the query is showing the expected results without having to wait for TeamPage to perform possibly expensive queries to find out that there are no results.
- Secondly, and conversely, TeamPage can now identify many more cases in which certain search terms are redundant, and can be safely ignored. In these cases, TeamPage can ignore them by removing them from the query, thus avoiding wasting the time and memory that would have otherwise have been required to apply their effects.
(Server92882 / Server92948)
• Improved the logging of certain types of administrative operations, such as activating or deactivating a space or a user account, or activated draft mode for a particular space. (Server93211)
• server settings > General > Current Journal > Journal Info now shows some basic statistics about the current journal, including the total number of journal entries, total and active user and space counts, and the byte size of the main journal database. (Server93006)
For Developers
Forms Client API
• The data payload passed to Proteus "form-save" event listeners now contains the TractionId information -- both the numeric FQID, as well as the alphanumeric Traction ID "name" rendering. The JSON encoded payload now has the following structure:
{
form: "[name of the FormFactory configuration]",
formId: "[DOM ID of the form instance]",
formProperties: {
// map of bootstrap properties used to launch the form, including:
form: "[requested FormFactory configuration name]",
html: "[requested HTML title of form]", ...
},
formState: {
// snapshot of the current state of the form's effective field values
},
resultErrors: {
// map of details about errors that happened on server, if any
},
resultProperties: {
// contains the updated form properties, which contain information about the result, including, e.g.,
fqid: [the newly created entry's numeric FQID],
new_entry_id: "[name rendering of Traction ID]",
new_entry_url: "[a URL that may be used to navigate to the newly created entry]"
}
}
(Proteus16105)
Other Client API
• TeamPage's "action regions" now support two new actions. Any HTML element (usually an A tag) can be set up to trigger these actions by adding an rg= attribute, e.g.:
<a href="javascript:void(0);" rg="a#actionName¶m1=value1&...">Click Here</a>
This allows SDL designers to trigger TeamPage's built-in client functionality simply by using the appropriate action name and parameters.
The two new actions are:
- searchForm: the "searchFilterForm" action supports opening a filter form like the ones that can be launched via the "Filter" menu that appears near the top corner of many views, allowing the user to apply a filter to the current view based upon whether the entries' values for a particular EntryField match a particular selected value. From SDL, with an EntryField in scope, this could be set up like this:
<a class="button" href="javascript:void(0);" rg="<htmlattributevalue.encode>a#searchFilterForm&name=some_field,search_filter_mode&display_name=Some Value</htmlattributevalue.encode>">Filter by Something</a>
- refresh: the "refresh" action supports simply refreshing the page the same way that would happen if the user clicked the "Refresh" button that appears near the top right corner of each page. This can be useful in many cases when a browser refresh is not desirable.
(Proteus16124 / Proteus16134)
• The Proteus.refresh function is now available for custom JavaScript code to request that the page be refreshed in the same way that would happen if the user clicked the "Refresh" button that appears near the top right corner of each page. The function has parameters for two optional arguments:
/**
* @param callback defines functions to call after the refresh
* operation completes (see below).
* @param scrollToTop pass true to cause the frame to be
* scrolled to the top of the page after the refresh.
*/
Proteus.refresh = function(callback, scrollToTop);
// Structure of the callback object:
callback = {
"beforeRender": function() {
// Called after the request returns, but before returned data are rendered.
// Return false if the normal rendering should be skipped (afterRender will not be called)
return true;
},
"afterRender": function() {
// Called after returned data are rendered.
// No return value is necessary.
},
"onFailure": function() {
// Called if the request fails.
// Return false if the normal error handling should be skipped.
return true;
}
}
(Proteus16125)
SDK/SDL Query API
• As alluded to above, Journal's getUpdated and getActiveThreads methods now support index entry type and author filtering in the same way that's supported for getEntries queries. This means that those same request filters will apply from SDL when using the <entries> tag used with type="updated" or type="activethreads". In that case, the index type filter and/or author filter will be inherited from the currently scoped CJournalRequest, or can be specified via the entrytypesfilter=, authorfiltertype= and authorid= attributes in the same way that applies to type="rchron" uses. (Server90422 / Server60585)
Database API
• The db.update tag now correctly sets the return code indicating success or failure, as well as the details of any error, in the "_dbupdatestatus" and "last.SQLException" variables, respectively, in the current scope. Previously, these values were only set in the child SDL Scope created to isolate the db.update tag implementation, which prevented these values from being available to SDL designers. (Server93119)
Attachments:
teampage_logo.jpg
Article: Customer5206 (
permalink)
Categories: :Doc:changelog, :Doc:r62
Date: October 2, 2019; 2:15:05 PM Eastern Daylight Time
Author Name: Dave Shepperton
Author ID: shep