Release Notes
Release Notes
SMARTOBJECT - SERVICE -
TESTER ++
Release Note
K2 France - SmartObject - Service - Tester ++ - Release Note
Main information
Date version: 01/08/2019
Summary: This document explains the main differences between the standard “SmartObject - Service -
Tester” and the “SmartObject - Service - Tester ++”
© 2015 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Revision history
V1.3 28/09/2016 Olivier Chatagnon New version 4.1.7.1 with 1 fix and 5
improvements:
- Possibility to manage a SmartObject
default naming convention
- Display all methods, ServiceObjects and
Service Instances in alphabetical order
- Copy only the data in the List Results
- Manage new version with an Auto Updater
- Improvement of screen “Execute
SmartObject” and linked “Filter”
V1.4 29/10/2016 Olivier Chatagnon New version 4.1.7.2 with 1 fix and 2
improvements:
- Improve detection of the Service Type
when we are in SmartObject tree (Raised
by KGS_Karanth on the community
comment)
- Register Service Type: now, the
description is filled by default (with the
system name)
- The auto updater is now a setting: you can
disable it during each start and you can do
a version check from the setting page.
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
V2.1 24/03/2018 Olivier Chatagnon New version 4.2.1.x to be sure that all beta
version 4.2.0.x will be updated
automatically.
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Summary
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
1 CONTEXT
The first version (generated in November 2016) of SmartObject - Service - Tester ++ was a modification
of the official “SmartObject - Service - Tester” (SmOST) version 4.6.11. This version was compatible with
4.6.9 to 5.3 at least.
A new version with lot of new modifications has been generated in March 2018.
This version is compatible with K2 Five: 4.2.0.0 for versions before K2 Five and 4.2.0.5 for K2 Five
version.
The version is not really compatible with K2 Five but I use the same Visual Studio project to generate the
two version.
If you upgrade from 4.6.11 (or 4.7) to K2 Five, the Auto-Updater will download automatically the version
compatible with K2 Five
The project began when a first modification of SmOST was made to help a customer quickly detect and
verify if SmartObjects were in an invalid state. The functionality allowed the customer to easily pinpoint
why the deployment of a package always generated an error at the last step of the “Package and
Deployment” (See “Possibility to verify integrity of SmartObjects”).
After this first stint into the code of SmOST, DotPeek decompiler was used to get the sources, over the
months, a few other improvements were made on this tool, now nicknamed SmartObject - Service -
Tester ++.
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Site: http://community.k2.com/t5/General-K2-Utilities/SmartObject-Service-Tester-plus-plus/ba-p/92426
This tool include an auto-update system, which will ensure that the end user always has the latest
version.
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
3 MAIN FEATURES
3.1 NEW NAVIGATION BAR AND FAVORITE MANAGEMENT
Since version 5.0 the display of path is managed. See: “Manage favourite display name”
A navigation bar has been added. We expect this feature to come in handy in situations such as sending
a customer the path to execute a specific SmartObject with specific parameters.
When navigating the tree view of SmOST++, the navigation bar now displays the current path with only
System Names:
The combo box of the navigation bar displays the first few favourites and the last 10 acceded paths:
10
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
You can filter, on-the-fly, the content of the combo list by typing a word to search:
You can add the current path to your favourites just by clicking the favourite button at the right of the
navigation bar:
You can also add a full path with default parameters as a favourite directly from the “Execute
SmartObject” screen:
In this case, if you click on “Add to Favourites with parameters”, the URL will be:
Important: If you select the above path from the combo list, or from your favourites, the windows will be
automatically displayed with the parameters AND it will be automatically executed (-EE).
11
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
These settings are saved in a file named “SmartObject - Service - Tester++.setting” placed in the same
directory of the SmartObject - Service - Tester++.exe.
This setting file is platform independent and can be, for example, sent to someone alongside with your
settings and set favourites.
If the file is not present, SmOST++ will default to using parameters that mimick the default version of
“SmartObject - Service - Tester”. For example, the “Display format of objects” will be “{DisplayName}”.
The bundled settings file that comes with SmOST++ have some differences with the standard SmOST,
such as “Display format of objects” being “{DisplayName} ({SystemName})”.
12
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
You can now change the display format of main objects: Display name and/or System name.
3.4 POSSIBILITY TO COPY “DISPLAY NAME” AND/OR “SYSTEM NAME” TO THE CLIPBOARD
Now, you can use CTRL+C on a SMO in order to get its Display name and/or System name in the
clipboard.
This could be useful if you need to setup a SmartObject that call other SmartObjects: in this case you
need to fill the System name.
13
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Note: The existing SmartObjects are detected only if all methods are the same as the
ServiceObject. Composite SmartObjects are then not detected.
When you select an existing SmartObject in the drop down, you don’t need to click on “Get
Existing Guid” button, it’s updated automatically, and:
- You can see the first path of the category displayed.
- You can see the button “Execute SmartObject” to execute directly the SmartObject
When you click on "Check name" the message "xxx is Unique" is replaced by "xx does not
already exist"
The button "Publish SmartObject" becomes "Update SmartObject" if it's a SmartObject selected
in the combo list is prefixed by "Existing:”
14
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Now you don’t need to expand up to the method details of the SmartObject to see the red cross if the
SmartObject is not valid.
When this checkbox is ticked you can have response time issue, mainly when you try to display “All
SmartObjects”
If this checkbox is unticked, you will have the possibility to see displayed invalid SmartObject by a right
click on any category and choose “Verify SmartObjects”:
This feature comes in handy when one’s want to know why the deployment of a package generate an
error at the last step of the “Package and Deployment”.
15
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
In the setting screen, you are now able to setup a list of your own naming conventions for the default
SmartObject names.
This setting applies to "Publish SmartObject" (on a ServiceObject) and "Create SmartObjects" (on a
Service Instance) options.
Currently, this functionality is not applied to the "Generate SmartObjects" option due to some technical
limitations.
The rules commanding the name conventions are based on regular expressions. These rules are
cumulative, therefore the sort order of each rules is important.
The last column “Calculated value” is the outcome of the rule applied to the content of the “SmartObject
name for test” field.
Also, a default value can be set through the column “IsDefault”. With a checkbox “Is proposed in combo”,
allows you to set whether the values are visible or not in the combo box of the screen “Publish
SmartObject”
16
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Create SmartObjects:
After a Right Click on the service Instance, if you choose « Create SmartObjects », on this the screen,
the default SmartObject name is the default one calculated according to setting table:
17
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
In order to more easily find methods and Service Instances, these are now sorted according to the option
checked in the setting screen at “Display format of objects”.
This could be very useful when you have a lot of methods like with SharePoint or lot of Service Instance
like with SourceSafe.
As the display order of the methods could be important, you can configure it in menu Tools/Settings.
18
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Now, you won’t need to re-install manually the new version of the SmartObject - Service - Tester++.
With each new version deployed, you will be greated with an information screen like this:
19
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
20
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
In SmartObject Server Properties, you can tick the checkbox “Sensitive data (production)”.
The impact will be the change of the background color of the menu in red and add “Sensitive data,
server: {ServerName}” to the title “SmartObjects – Services – Tester++”:
In SmartObject Server properties, you can fill the K2 Database server connection details.
Important: all functionalities using the K2 database are read only (Only Select are done), if you want to
be safe, you can create/use a user (SQL Login) with read only access to the K2 database and fill it in this
screen.
A system check if the Server Key correspond between the K2 database and K2 Server information.
The execution time to retrieve the Server Key is displayed in the bottom of the screen:
21
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Retrieve Service Brokers paths (see “Dll information of the Service Types”)
Check SmartObjects list (without K2 Five security) when a service Instance is deleted (see
“Prevent deletion of Service Type and Service Instance in case of use”4.7). In K2 Five, the
SmartObject list include SmartObjects not accessible by the current user: It’s safer to be sure
that no SmartObject are linked to the ServiceInstance.
Display the SmartObject list on “Create SmartObject” (See “Create SmartObject: Compare easily
ServiceObject and corresponding SmartObjects”). In K2 Five, the SmartObject list include
SmartObjects not accessible by the current user.
This functionality is available only if you fill the database connection in “Server Properties” (See
“SmartObject server Properties: ”)
When you right click on a Service Type you can click on “Get DLL Information”:
It’s possible to see the list of the dll dependencies by clicking on the button “View the 10 dependencies”:
Note: You will see “Dependencies not loaded” when the broker have dll compiled with framework upper
than .Net 3.5 version.
If the dll is not found, you will see it directly on the name of the Service Type:
22
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
4.4 SMARTOBJECT LOGGING: YOU CAN NOW LOAD THE SMARTOBJECTS LOG AND REPLAY
THE SMARTOBJECT EXECUTION WITH SAME INPUT PROPERTIES
In the menu Tools, you can click on “Transform SmartObject Log to SmartObject - Service - Tester++
Urls”:
This tool will allow you to quickly transform all SmartObjects log to “SmartObject - Service - Tester++”
Urls: easily re-executable.
Example for test, discover SmartObjects called when you open “Task List” of the 4.7 Management:
3) To force to have a new file to be created, rename (or delete) the file
C:\Program Files (x86)\K2 blackpearl\ServiceBroker\logs\brokerpackagein.log to
brokerpackagein_old.log
23
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
7) If you click on the second URL, you will be able to execute the SmartObject like it has been
previously executed by the SmartForm page.
SmartObject Explorer\All SmartObjects\com_K2_System_Management_SmartObject_Task\Methods\GetWorklistItems -EE
RegularFilters=[{"ColumnName":"Destination","Condition":"AND","Comparison":"LIKE","ParameterValue":"och"}]:
You can see that the system generate the file brokerpackagein.smostpp.log that contains the
date and URLS.
Note: It’s currently not working for filters and if you have SmartObject with associations.
24
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
We can see here that the display name of ServiceObject are without spaces (ManageBy) and in
SmartObject, these 4 properties have a space (Manage By):
Note: To display the “DisplayName (SystemName)”, we use the functionality “Possibility to change the
display format of objects”.
In the combo box “Name”, you will see “Existing (Not Safe)” or “Existing (Safe)”. The rule is that we
consider as safe the click on the button “Update SmartObject” if there are no property/method to that will
be removed (or rename) with the default Service object information. In the comparison table the “Safe”
SmartObject will have no line with the checkbox “Only in Smo” ticked.
To retrieve the SmartObject list corresponding to the ServiceObject, we use a database access to display
all SmartObjects (For K2 Five, even if you don’t have access to it). If you don’t fill database connection
(See “SmartObject server Properties: ”), you will see only SmartObjects created with this ServiceObject,
not the SmartObject where you added manually, after the creation, the link to this ServiceObject.
If you modify/remove some properties/method/parameters in the first tab (Publish Information), you can
do again the comparison by click on button “Re-check”.
25
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Now, when you use the functionality “Import SmartObjects”, it’s not necessary to delete the SmartObject
before the re-import: We added a button “Import allowing update”. In this case, the SmartObject will be
updated (with a new version) like you do with the “Create SmartObject”/”Get Existing Guid”.
Note: we change the background of the checkbox from red to orange (as now possible to import it with
same guid/system name).
4.7 PREVENT DELETION OF SERVICE TYPE AND SERVICE INSTANCE IN CASE OF USE
In order to avoid to have orphan Service Type and Service Instance in the system (difficult to retrieve),
we display now an error message if you try to delete them:
Note: for this error message, if you fill the database connection (See “SmartObject server Properties: ”),
the system will check all SmartObjects linked to the selected Service Instance even if you are in K2 Five
and the current user have no access to the SmartObject.
26
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
All Service Types, Service Instances and SmartObjects created by the user (Not standard) are now
display in color.
Note: The system check the GUID of the objects. If you remove for example a SmartObject and re-create
it, it will be considered as custom.
4.9 UPDATER: OPTION TO DOWNLOAD THE LATEST BETA VERSION OF THIS TOOL
If you untick this checkbox, you will be able to update this tool with the last Beta version.
Now the format of the version is the third number linked to beta version.
Main version: 4.3.0.x (x linked to K2 Five or not).
Next beta version: 4.3.1.x.
Next main version: 4.4.0.x (Or 5.0.0.x).
27
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Existing “Transform SmartObjects Log to Smartobject - Service - Tester++ Urls” and “Settings” has been
moved in the new menu “Tools++”:
Now, the url for navigation bar (favourite) are managed with a display name.
Before:
Now:
28
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
29
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Same from the screen “Execute SmartObject”, buttons “Add to favourites” and “Add to favourites with
parameters”:
{Root category} – {Smo display name} – {Method} – {list of parameters with values}
If you tick “"Open with ADO query", when you will select the favourite, the combo box, the “ADO query”
windows will be dispayed with corresponding criteria as “Having”:
Before version 5 of SmOST++ it was possible to get dll from right click on one Service Type.
Now a tool is available to get a summary of all dlls “Get Dll information for all Service Types”:
The system makes the difference between windows system dlls, K2 (SourceCode) standard and other
(installed service type). Only the last one are displayed by default:
30
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
If a DLL has a sub dependency, this dependency is detected and the Parent dll is displayed in the column
“Parent DLL path”.
You can export easily all the selected dll by click on button “Zip the selected dll”.
This tool is accessible from any SmartObject category. It allows to search a SmartObject according the
corresponding Name, Method name, method type and too the properties, input or output.
Note: This tool search on service type. But only Service type with a linked SmartObject will be returned.
Example:
31
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
This tool available too from right click on categories “SharePoint 2013…”:
In this example, a column has been just added to the document library “Customer Files”. Then the
SmartObject Synchronisation raise “Sync issue. Reason: 10; Result: False”. As the checkbox
“Regenerate SmartObjects if needed” is ticked, the SmartObject is updated with the new column.
To found the linked SmartObject, the system call the following SmartObject:
SmartObject Explorer\System\SharePoint_2013_Integration\SharePointIntegrationSetting_SharePoint_Integration\Methods\GetList
If you tick the checkbox “Test Get Lists/Documents of SmartObjects”, the system will execute the
corresponding SmO with ID=1 (Hard coded):
SmartObject Explorer\SharePoint 2013\portal.denallix.com\Lists\Content and Structure Reports\portal_denallix_com_Reports_List\Methods\GetListItems -EE ID=1
Or for libraries:
SmartObject Explorer\SharePoint 2013\portal.denallix.com\Libraries\Customer Files\portal_denallix_com_CustomerFiles\Methods\GetDocuments -EE ID=1
If you tick the checkbox “Test SmartObjects synchronisation”, the system will execute:
SmartObject Explorer\System\SharePoint_2013_Integration\SharePoint_Integration_Workflow_Helper_Methods\Methods\CompareServiceObjectsByModifiedDate -EE
List ID=33c4725e-8029-4f9c-902d-4ce9f051193d;List Title=Content and Structure Reports;Site URL=https://portal.denallix.com
If you tick the checkbox “Regenerate SmartObjects if needed”, the system will execute:
SmartObject Explorer\System\SharePoint_2013_Integration\SharePoint_Integration_Workflow_Helper_Methods\Methods\ManageSharePointListSmartObject -E List
ID=0e013980-942d-4afe-bce2-f7243d9a0172;Site URL=https://portal.denallix.com
32
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
In tab “Application settings”, you can get an overview of applications settings and update the
SmartForms_Runtime_URL:
33
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
5.6 NEW TOOL "SMARTOBJECT USAGE" TOOL AVAILABLE FROM SERVICE INSTANCE,
SERVICE OBJECT, SMARTOBJECT CATEGORY AND SMARTOBJECT
This tool is available too from the main menu “Tools++” and from any Service instance, SmartObject
Category and SmartObject.
1. Select the Smo that you want to search. If you let it without any selection, all SmartObjects will be
checked.
2. Select the deep of the search: you can see up to the SmartObject Property and corresponding
value.
3. Select the scope of the search
4. Click on the main button “Search for selected SmartObjects”.
34
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
35
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
This tool allows to search where is use the environment library in SmartForms, K2 Five workflows and K2
Studio workflows.
Select the environment library, the scope and click on button “Search”:
This tool is accessible from any SmartObject category. It could be useful for:
36
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
37
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Need to found which String table is linked to the workflow (Not available in K2 Five).
Get Export details: to know if it’s a workflow coming from Package and deployment (P&D).
Note: the keyword “Bad to check” is useful if you want to be done at the very end. In case of
checkbox “Ignore case” ticked, the search will be done in this order:
1) All contexts with case sensitive except the contexts containing keyword “bad to check”
2) All contexts with case insensitive except the contexts containing keyword “bad to check”
3) All contexts with case sensitive with only the contexts containing keyword “bad to check”
4) All contexts with case insensitive with only the contexts containing keyword “bad to check”
38
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
39
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Result:
This new tool allow to get a deeper summary and details about licensed users: You can see the part of
user enabled in Active directory (Technically “Enabled”=1 in table Identity.Identity). For data linked to a
date, we can see part of data from last 12 months and since the 1st January of the previous year:
40
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
The result is a summary of Service instance with number of corresponding SmartObjects and methods:
41
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
42
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
6 OTHER FEATURES
When registering a Service Instance, if the meta data fields are empty (System name, display name of
ServiceObject not setup by the code of the broker), the default value of the Service Type are used.
43
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
You can now double click on a ServiceObject to access the "Create SmartObject" windows.
Also, this option is now bolded in right-click menu.
Double clicking on a SmartObject or SmartObject method, while pressing the shift button, the system will
try to execute directly the method. This is useful for list without mandatory parameters.
In SmartObject, methods, when the Service Instance is displayed, the Service Type is now added at the
end:
44
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
It’s now easy to distinguish all the functions that return a list:
45
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Note: In the standard version, the type is displayed only in the node “ServiceObject Explorer”
The icon is now green and the title of the tool is “SmartObjects – Service – Tester++”:
The about page now displays a new version for every releases.
46
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Now, by default, only the data part of the cell are copied to the clipboard when we do a CTRL+C.
Note: In the standard version, the header was copied along with the data.
This previous functionality can still be, you can right click and choose “Copy with header”
Now it's possible to simulate the click on button "Execute" by the combination of keys ALT+E.
For the List Methods, the “Filter” and the “Order by” text boxes have a tool tip to display the full content:
These text boxes are now in read only mode. The scroll bar in these text boxes are now never displayed.
47
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
When you click on "Set" button near "Filter" the following improvement have been done on this screen:
- Add button "Clear only filter": It's the same of the "Clear All" but without the clear of the
Properties.
- The results are now in read only mode. The aim is to not try to update them.
- You can use combination of ALT+A to simulate the click on the "Add" button.
- Experience has been improved when you use the TAB key (Change of tab index).
- In the very top of this screen “Clear Alll” wording has been changed to “Clear All”.
48
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
In order to help user that will not read this documentation, we highlight all new behaviours of the
“SmartObject - Service - Tester++” (Compared with the standard one) in green:
Integration of the current improvement done between the standard SmartObject - Service - Tester 4.6.11
and SmartObject - Service - Tester of K2 Five (maybe 4.7):
Now the default "View Execution type" (Accessible for list method with "View" menu) is
"SmartObject Reader" (seems to have an impact on management of paging: using
ExecuteListReaderOptions).
Some update about the total number of records according paging and "View Execution type".
During the initialisation of this form, display now in the status (in bottom), the Time to get the
SmartObject: "GetSmartObject Time:"
When right click and choose "Edit Service Instance": the title of the windows was "Add Service Instance".
Now it's fixed with "Edit Service Instance"
During display of categories: fix potential issue if the category is not found.
49
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Now, you can expand the nodes of the main tree view to display details of the node with the right key.
7.5 REVIEW WORDINGS FOR SERVICE TYPE, SERVICE INSTANCE AND SMARTOBJECT
The wording “ServiceType” has been homogenised by “Service Type” (With space and T in upper case).
The wording “ServiceInstance” has been homogenised by “Service Instance” (With space and I in upper
case).
The wording “SmartObject” has been homogenised by “SmartObject” (With space and O in upper case).
The wording “ServiceObject” has been homogenised by “ServiceObject” (With space and O in upper
case).
50
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
7.6 SMARTOBJECT SERVER PROPERTIES: MANAGE THE DISPLAY NAME OF THE SERVER
You can fill a friendly name for the Server: It will be used in the right bottom corner:
Generally, after the creation of Service Type, we create a corresponding Service Instance. If you let the
checkbox “Open “Register Service Instance” windows” ticked, this windows will be opened.
7.7.3 FIX ISSUE WHEN CREATING THE SERVICE TYPE (SYSTEM NAME)
When you created a Service Type, the system name was took from the Display name text box, not the
System name text box.
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Fix display issue: When we want to refresh the Service Type, the title was "Delete Service Type".
It’s replaced by "Refresh Service Type".
Standard screen:
Note: with SmartObject - Service -Tester standard (and when there are no “Default Authentication mode”
in the Setting menu), the brokers could be defined by default as ServiceAccount by adding the code
this.Service.ServiceConfiguration.ServiceAuthentication.Impersonate = false;
52
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
7.9.3 EDIT SERVICE INSTANCE: ADD THE CURRENT SERVICE INSTANCE IN THE MAIN
TITLE
See article
https://help.k2.com/onlinehelp/k2forsharepoint/userguide/1.0.1/default.htm#Build_Integrate/The_SharePo
int_2013_Service_Brokers/The_SharePoint_2013_Service_Brokers.htm:
Manually registering a Service Instance of the SharePoint Broker is also not supported. Any instances of
the SharePoint 2013 service broker must be generated using the K2 for SharePoint App Registration
Wizard"
53
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Example:
Now this windows will appear (Need SQL connection in Server Properties):
This check is important in order to be sure that the user will check if the refresh of a Service instance
won’t break a SmartObject used in another project. For example, a column removed/renamed from a
SQL Table: Check all linked SmartObject before apply it.
54
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
As you can see, if you know that it’s long to search SmartObjects for the select ServiceObject, you can
avoid to do this search by pressing the shift key when you click on “Create SmartObject”.
55
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
For sort
This action will display the screen “Create SmartObject” with by default the current SmartObject selected
and with tab “Comparison with existing Smo information” selected:
56
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
It could be useful too when you are in section “All SmartObjects” and you want to know in which category
is it.
For K2 Five:
Warning: It seems that you have not the right to xxx SmartObjects
Please verify it in K2 Management > Integration > SmartObjects Security
Warning: It seems that you have not the right to xxx SmartObjects
Please verify it in workspace > Management Console > SmartObjects > Security > SmartObjects
Administration
57
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
58
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Warning, if you have a lot of columns, you could have response time issue for this management.
This time is displayed:
It could be useful when the execution took more than few seconds.
59
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
7.11.6 DISPLAY THE EXECUTION TIME FOR PRE AND POST EXECUTION
When we have a lot of properties in input or output, the execute SmartObject screen could be long to do
the pre-execution (check mandatory fields) and post execution (Display all properties and create all
necessary tabs).
If the execution time of this pre and post execution take more than 0.5seconds, we display the effective
time needed:
Add short cut to call "Generate Data" and "Clear" buttons: ALT+G and ALT+C.
Like this, if you want to generate a lot of record quickly, you just need to press "ALT+G" and "ALT+E"
(Execute: see Improvement of screen “Execute SmartObject” and linked “Filter”) alternatively.
60
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
61
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
In case of existing Guid and System Name, if we modify the GUID the system force the user to modify
the System name, if we modify the System Name, force the user to modify the Guid.
Even if all is correct keep word "Edit" in the edit button (Not let it blank).
Standard:
62
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
This behaviour allow you to know to quickly who create/modified the SmartObject and at which date:
Note: If you click on the tab “Service Instance”, you will have as default the first Service Instance used by
the first method of the SmartObject.
You will have directly access to the “Search SmartObjects” tool with the good parameter:
63
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
7.13.4 THE WIDTH OF THE DROP LIST “SERVICE INSTANCE” HAS BEEN INCREASED
Current:
Before:
64
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Removed action "Remove SmartObject From Category" and "Remove SmartObjects From Category" (All
smo)
Execution of SmartObject with type "SmartObjectReader" (it's the default one): simplify the call.
Part "Order by" of execution of SmartObject: replace wording "Clear Alll" by "Clear All". (Already fixed in
SmoST++ for filter)
Refresh Service type, Refresh Service instance: forbid these action if its a System one (detected by
guid):
For system "Update Service instance" add Warning: For compatibility reason we can't call
'UpdateServiceInstanceSettings' for system Service Instances with the SmartObject Service Tester++
Please do it with the standard SmartObject Service Tester"
This method 'UpdateServiceInstanceSettings' is only available from 5.3. In order to keep only one file for
version K2 Five, we didn’t call it with the SmartObject Service tester++.
8.2.1 ALLOW TO FILL THE SQL SERVER NAME AND DATABASE FOR K2 FIVE
In K2 Version 4.x, it was possible to get the SQL server name from SmartBroker service instance
parameter. Since K2 Five, this value is protected. We need to fill manually this information now:
65
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
By default the system take the values from file c:\Program Files (x86)\K2 blackpearl\Host
Server\Bin\K2Server.setup
In K2 Version 4.x, it was possible to get the SQL server name from SmartBroker service instance
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
8.3 SETTING PAGE: PART NAMING CONVENTION, BY DEFAULT DISPLAY THE CURRENT
SERVICE OBJECT SELECTED
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Example:
Before:
"
Issue: "SmartObject Server Exception: Exception has been thrown by the target of an invocation.
Source : SourceCode.SmartObjects.Services.Management.
Inner Exception : Exception has been thrown by the target of an invocation.
Source : SourceCode.HostServerLib
"
Now:
"
SmartObject Server Exception: Exception has been thrown by the target of an invocation.
Source : SourceCode.SmartObjects.Services.Management
Inner Exception : Exception has been thrown by the target of an invocation.
Source : SourceCode.HostServerLib
Inner Exception : Could not load file or assembly 'DocumentFormat.OpenXml, Version=2.8.1.0,
Culture=neutral, PublicKeyToken=8fb06cb64d019a17' or one of its dependencies. The system cannot
find the file specified.
Source : K2Field.DocxXmlTemplater
Issue linked to 'DocumentFormat.OpenXml':
Please verify if the 'Open XML SDK 2.5 for Microsoft Office' is installed
"
You can too have this error if you are trying to change the category of the SmartObject and you don't
have the role "Security Administrator" (In K2 Management > Users > Roles)
8.7.1 EXECUTE CLIENT METHOD: REMOVE THE SPACE AFTER AND BEFORE THE
PROPERTY TYPE
Example:
8.7.3 CHANGE THE DISPLAY NAME OF THE METHODS OF THE STANDARD SMO UMUSER
Get Users: This method returns values from direct security provider (Active directory for K2 Label).
Get User Details: This method returns values from K2 'Cache' table Identity.Identity.
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
8.7.4 IN TITLE, DISPLAY THE SYSTEM NAME IF NOT SAME OF THE DISPLAY NAME
Please verify if the 'Open XML SDK 2.5 for Microsoft Office' is installed"
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
8.7.8 FIX ISSUE OF DISPLAY OF PDF FILE WHEN ACROBAT READER IS INSTALLED
When Acrobat Reader is installed we had an issue trying to display the pdf in the control WebBrowser
See this article: Using the AcroPDF.dll within the Microsoft WebBrowser control is unsupported
https://helpx.adobe.com/acrobat/kb/using-acropdf-dll-within-microsoft.html
Now we avoid the use of WebBrowser control and then open directly the PDF files.
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Add right click on any SmartObject, "Move SmartObject to a category" in order to copy it even if the
destination category is not easily accessible.
Procedure:
2) Right click on the destination category and choose "Move SmartObject to category".
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
Fix issue of several "Execute SmartObject" windows displayed when we navigate to combo of Favorite
URLs with keyboard.
Rename "Create SmartObject (mainly for compare it with the ServiceObject)" to "Create SmartObject
(mainly for compare it with the ServiceObject or found other SmOs)"
In several part of the application, improve the display of the execution time: 1 second, 2 seconds (with s).
Display in bold if the path is not correct (Before it was put correctly in bold only if the path didn't contains -
E or -EE)
Fix wording of Setting/Description of the first row in "Table for naming convention of SmartObjects":
Additional information: Value of '01/01/0001 15:24:39' is not valid for 'Value'. 'Value' should be between
'MinDate' and 'MaxDate'.
10
© 2019 K2 FRANCE
K2 France - SmartObject - Service - Tester ++ - Release Note
11
© 2019 K2 FRANCE