We are under construction!
You may experience downtime, errors or visual oddities, but we anticipate all will be resolved by the end of the day.
You may experience downtime, errors or visual oddities, but we anticipate all will be resolved by the end of the day.
I'm getting the message "'Function GetLiteralParameterValue(si As SessionInfo, isSystemLevel As Boolean, parameterName As String) As String' is obsolete: 'This is a temporary function used by Marketplace Solutions for backwards compatibility with old XF versions. Please change your code to use supported functionality.'."
Anyone know what object & method should I be using instead?
strSomeString = BRApi.Dashboards.Parameters.GetLiteralParameterValue(si,Nothing,"pm_SomeParameter")
Hi Robb,
Here's guidance for 7.3.1. In 7.4, more functions are coming for workspaces as the workspace features evolve.
If you hover over the intellisense after Parameters. you will see a down arrow showing a second function which is the new implementation of the function. This function incorporates the Workspace ID as a GUID.
Old:
New:
If the dashboard is located under the default workspace, use Guid.Empty as shown below.
If the dashboard object is located under a Named Workspace, you want to pass through the Workspace ID for that Workspace so at runtime it can locate the literal value parameter since that same parameter name can now be used in another workspace.
Hope this helps!
(Edit: I removed my earlier response as it is now obsolete)
My apologies for some confusion, I was testing on a beta-release prior to the documentation (thanks AMoore the clarifying).
I have installed the v7.4 general release and confirm this is how to access a Literal Parameter Value from a named workspace other than default:
Dim strParamValue As String = BRApi.Dashboards.Parameters.GetLiteralParameterValue(si,False,Nothing,"ChrisWS.TXP_UD1_TJ")
brapi.ErrorLog.LogMessage(si, strParamvalue)
Output:
Note: If you are accessing a Literal Parameter defined in a different workspace then that workspace will have to be defined as [Is Shareable Workspace] = True. Default is False. If False then the GetLiteralParameterValue returns the string "Unknown".
Hi Robb,
Here's guidance for 7.3.1. In 7.4, more functions are coming for workspaces as the workspace features evolve.
If you hover over the intellisense after Parameters. you will see a down arrow showing a second function which is the new implementation of the function. This function incorporates the Workspace ID as a GUID.
Old:
New:
If the dashboard is located under the default workspace, use Guid.Empty as shown below.
If the dashboard object is located under a Named Workspace, you want to pass through the Workspace ID for that Workspace so at runtime it can locate the literal value parameter since that same parameter name can now be used in another workspace.
Hope this helps!
(Edit: I removed my earlier response as it is now obsolete)
ChrisLoran If the parameter were in your "MySolution01" workspace, would the parameter argument be:
"MySolution01.prm_pMinEquityMethod_ECT"?
Do you know how to get the guid for a workspace?
(I removed my earlier response here as it is now obsolete)
RobbSalzmann - to expand of Chris response related to 7.4. There are a number of BRApi functions coming surrounding workspaces that will assist with this functionality like "GetWorkspaceIDFromName". An example of this in 7.4 would be:
Dim wsIdValue As Guid = BRApi.Dashboards.Workspaces.GetWorkspaceIDFromName(si, isSystemLevel, workspaceName)
In 7.3, although there is no BRApi function to obtain the workspace ID when using a named workspace, you can pass through args as DashboardExtenderArgs in your function signature and then specify args.PrimaryDashboard.WorkspaceID. As a note though, this implementation may run into problems if you need to lookup objects across multiple workspaces dynamically based using Workspace Name to obtain the ID. This where the functions in 7.4 that are coming will be more programmatically efficient for your needs.
RE: Warning at line 52: 'Sub SetLiteralParameterValue(si As
SessionInfo, isSystemLevel As Boolean, parameterName As String, newValue As
String)' is obsolete: This is a temporary function used by Marketplace
Solutions for backwards compatibility with old XF versions. Please change your
code to use supported functionality.
So what's the new functionality? Same subroutine name just different parameters. Old one still works but it is deprecated.
Thanks for posting this. I ran into the same warning message today and I was wondering exactly how "to change the code to use the supported functionality."
chris_rothermel The new method signature ("2 of 2" in your image above) specifies the Workspace of the parameter on which you want to set a value is configured. This is done by 1. setting the workspace name as a dot prefix to the parameter name- specifying guid.Empty, or 2. parameter name without the dot prefix with a known workspace GUID provided as the 3rd arg. This means that you can have the same parameter names doing different things in two different workspaces,
IOW, Parameters are now Workspace specific and the new method signature provides the way to tell the platform on which workspace to set the parameter value.
Maybe these warnings need to provide a bit more direction.
Thank you, and hat tip to Omkareshwar for guiding some of us here, this thread is a huge time saver and full of really good contributions on resolving this error.
amoore ChrisLoran Thank you both for explaining both how and why. This is very helpful.