Searching the library to find all dependencies needed to open a file or information link

Searching the library to find all dependencies needed to open a file or information link

book

Article ID: KB0083480

calendar_today

Updated On:

Products Versions
Spotfire Analyst All Versions

Description

When opening a file that contains information links, you can receive the following error if the library permissions are incorrect. The typical error is:
 
ImportException at Spotfire.Dxp.Data:
Failed to execute data query (HRESULT: 80131500)

Stack Trace:
   at Spotfire.Dxp.Data.Import.InformationLinkDataSourceConnection.ExecuteQueryCore2()
   at Spotfire.Dxp.Data.DataSourceConnection.ExecuteQuery2()
   at Spotfire.Dxp.Data.DataFlow.Execute()
   at Spotfire.Dxp.Data.DataFlow.DataFlowConnection.ExecuteQueryCore2()
   at Spotfire.Dxp.Data.DataSourceConnection.ExecuteQuery2()
   at Spotfire.Dxp.Data.Producers.SourceColumnProducer.<>c__DisplayClass15.<GetColumnsAndProperties>b__12()
   at Spotfire.Dxp.Framework.ApplicationModel.Progress.ExecuteSubtask(String title, ProgressOperation operation)
   at Spotfire.Dxp.Data.Producers.SourceColumnProducer.GetColumnsAndProperties(DataSourceConnection connection)
   at Spotfire.Dxp.Data.Persistence.DataItem.PerformUpdate(SourceColumnProducer producer, DataSourceConnection connection)
   at Spotfire.Dxp.Data.Persistence.DataItem.Update(SourceColumnProducer producer, DataSourceConnection connection)
   at Spotfire.Dxp.Data.Persistence.DataPool.<LoadData>d__2.MoveNext()
   at Spotfire.Dxp.Data.Producers.SourceColumnProducer.<LoadLinkedData>d__b.MoveNext()
   at Spotfire.Dxp.Data.DataTable.<PerformLoadLinkedData>d__4f.MoveNext()


InformationModelException at Spotfire.Dxp.Data:
The <username> principal has insufficient privileges. (HRESULT: 80131500)

Stack Trace:
   at Spotfire.Dxp.Data.InformationModel.InternalInformationModelManager.OpenJob(InformationLinkElement informationLink, IList`1 parameters, Boolean isReferenced)
   at Spotfire.Dxp.Data.InformationModel.InternalInformationModelManager.ExecuteInformationLink(InformationLinkElement informationLink, IList`1 parameters, Boolean isReferenced)
   at Spotfire.Dxp.Data.Import.InformationLinkDataSourceConnection.ExecuteQueryCore2()


InformationModelServiceException at Spotfire.Dxp.Services:
The <username> principal has insufficient privileges. (HRESULT: 80131509)

Stack Trace:
   at Spotfire.Dxp.Services.WebServiceBase`1.InvokeService[T](ServiceMethod`1 serviceMethod, ExceptionFactoryMethod exceptionFactoryMethod)
   at Spotfire.Dxp.Data.InformationModel.InternalInformationModelManager.OpenJob(InformationLinkElement informationLink, IList`1 parameters, Boolean isReferenced)

A Spotfire file may use one or several information links which in turn usually depends on multiple column elements and one or many data source elements. In order to successfully load the file, the user must have the proper permissions to access all elements in the dependency tree for the file. To fix the issue and set the permissions right, one first needs to find all the dependencies.

Issue/Introduction

Searching the library to find all dependencies needed to open a file or information link

Resolution

A Spotfire administrator can use either the Library Administration tool or Information Designer to search and find all dependencies of a file which the user needs to have access to in order to open the file successfully. Both tools provide a search field where a search expressions can be entered. The function required_by(<expression>) can be used to locate all dependencies of a specific information link or Spotfire file.

Examples:

required_by(Sales_figures) - Finds all dependencies for any report with the string "Sales_figures" in the title or its keyword list. Note this search may list dependencies for multiple files if the search expression with parenthesis matches two or more files.
 
required_by(<expression>) - required_by(id::5f37950a-e43d-436d-ae7f-bb51abeec2a5) - required_by(id::<GUID>)

...finds all dependencies for an element with a specific Globally Unique ID.

To obtain the ID for an element from the Library Administration tool, right-click on an file or element and select "Copy TIBCO Spotfire URL" > "Direct TIBCO Spotfire URL" > "Library Identifier". The clipboard will contain a URL with the following format:

tibcospotfire:server:http\://servername\:port/:analysis:eea9be6a-0847-4294-86ec-65e45ba4ab92

The last part is the ID which can be used in the search expression. From the Information Designer tool, the ID can be copied directly into the clipboard via right-click > "Copy ID", but this tool does not show Spotfire files, only information links and other elements. Once all depenedencies have been identified you can start setting the right permissions on the folders in which there are elements located.
 

Additional Information

"Searching the Library" in Spotfire Analyst help