
Security News
Package Maintainers Call for Improvements to GitHub’s New npm Security Plan
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
@refinitiv-workspace-sdk/loader
Advanced tools
Workspace SDK makes it easy for you to create financial applications for the Refinitiv Workspace and work with the Refinitiv Data API. Workspace SDK has all the APIs necessary to integrate with your web application seamlessly.
Workspace SDK makes it easy for you to create financial applications for the Refinitiv Workspace and work with the Refinitiv Data API. Workspace SDK has all the APIs necessary to integrate with your web application seamlessly.
Workspace SDK contains the following plugins:
DesktopAgent plugin provides users with integration capabilities like multi-context linking and navigation. This plugin API is based on FDC3 [DesktopAgent] specification of 1.2 version.
DataLibrary plugin exposes various data APIs and service endpoints that are delivered through the RDP. As more APIs become available in future versions of RDP, they will be added to this library. Note that data obtained through the Refinitv Data Library is subject to licensing and redistribution limitations, according to your subscription. For further information, check the RDP documentation or contact your account manager.
NavigationCapabilities plugin provides the API for obtaining information regarding the ability to navigate by Application Name and Context. This plugin API is based on FDC3 [DesktopAgent] specification of 1.2 version.
Methods:
canNavigate
- returns a value of the state, based on the Application Name and Context, is navigation allowed.
Signature: canNavigate(context: fdc3.context, app: fdc3.AppMetadata): Promise<boolean>
;getAppsByContext
- retrieves a list of Applications for navigation, determined by the specified Context.
Signature: getAppsByContext(context: fdc3.context): Promise<fdc3.AppMetadata[]>
;Modes are used in Workspace SDK to define its configuration: how exactly will it operate for the app, which platforms and plugins are available for the app. A mode is a mandatory property in the Workspace SDK initialization process. There are two modes available:
SxS mode is used when your app can be launched either outside or inside the Refinitiv container. In this mode, Workspace SDK application can interact with:
Note: To use Side-by-Side mode, API Key and Product ID are needed.
Container mode should be used when your app is going to be launched from inside Workspace Web or Workspace Desktop only. In this mode, you do not need to obtain an API key for your application.
Note: To use Container mode you need to run your application inside Refinitiv Workspace.
You should have a Refinitiv account, so Workspace SDK can operate in Side-by-Side and Container modes.
For your application to run in Side-by-Side mode, it is mandatory to register the app in App Key Generator application. Once you have registered, you are provided with the ApiKey
and ProductId
, which you should use for Workspace SDK initialisation.
$ npm install --save @refinitiv-workspace-sdk/loader
Note: this package also contains typings for the Workspace SDK Loader, DesktopAgent and DataLibrary plugins.
Breaking changes in Workspace-SDK Loader 3.2.0-rc6
Starting from version 3.2.0-rc6 all imports from package @refinitiv/workspace-sdk-core must be replaced by imports from package @refinitiv-types/workspace-sdk-core
Loader exposes two methods to perform initialization, init
and ready
. Both return a Promise<WorkspaceSDK>
with an instance of the WorkspaceSDK
interface.
init()
methodWhen initializing Workspace SDK, the following information must be passed to the init()
function:
• Mode (SxS
/ Container
)
• Plugins to be used (DesktopAgent
/ DataLibrary
/ both)
• Parameters required by the specified plugins
Note: init()
should be called only once. Calling it multiple times will cause an error.
Example: a simple Workspace SDK initialization. No plugins are available with Workspace SDK in this case.
import { WorkspaceSDK, Modes } from '@refinitiv-types/workspace-sdk-core';
import * as Loader from '@refinitiv-workspace-sdk/loader';
Loader.init({
Mode: Modes.Container,
AppInstanceId: 'YOUR_APP_INSTANCE_ID',
}).then(bootstrapApp);
function bootstrapApp(WSDK: WorkspaceSDK) {
console.log(WSDK);
}
ready()
methodReturns the initialized Workspace SDK instance.
It differs from init()
in that this method does not start the initialization, but allows you to create a callback for the initialization process. This needs to be started elsewhere using the init()
method.
This function can help you separate initialization logic from the actual application bootstrap.
Example: using ready()
method
import { WorkspaceSDK } from '@refinitiv-types/workspace-sdk-core';
import * as Loader from '@refinitiv-workspace-sdk/loader';
// note: init() method needs to be called elsewhere
Loader.ready().then((WSDK: WorkspaceSDK) => console.log(WSDK));
Workspace SDK data and workflow integration capabilities are available via DesktopAgent
and DataLibrary
plugins.
Plugins can be initialized by passing an array of plugin names or a PluginOptions
object with additional configuration.
Example: obtaining DesktopAgent
and DataLibrary
plugins without providing additional parameters.
import { WorkspaceSDK, Modes } from '@refinitiv-types/workspace-sdk-core';
import * as Loader from '@refinitiv-workspace-sdk/loader';
Loader.init({
Mode: Modes.Container,
AppInstanceId: 'YOUR_APP_INSTANCE_ID',
}, ['DesktopAgent', 'DataLibrary']).then(bootstrapApp);
function bootstrapApp(WSDK: WorkspaceSDK) {
// WSDK.DesktopAgent and WSDK.DataLibrary objects are now available
console.log(WSDK);
}
Documentation is available on the Refinitiv Developers portal. Link will be provided upon request.
Latest versions of Chrome, Edge Chromium, and Safari.
Workspace Web and Desktop (v1.18 or higher) are supported.
For information regarding the system requirements for Workspace SDK, refer to the corresponding platform requirements.
Please reach out to [mailto:workspace-sdk-support@lseg.com] for additional information
Copyright © 2022 Refinitiv, an LSEG business. All rights reserved.
The Refinitiv Workspace SDK works in conjunction with Refinitiv Workspace. It provides integration capabilities for web applications to integrate and interoperate with Refinitiv Workspace. You must be an authorized Refinitiv Workspace user to use the Refinitiv Workspace SDK. By downloading or using the Refinitiv Workspace SDK, you represent that you or your company has entered into a license agreement with Refinitiv governing usage of the Refinitiv Workspace SDK. You may not download or use any part of the Refinitiv Workspace SDK without a license from Refinitiv. Refinitiv Workspace SDK and its closed source components must only be used within Refinitiv products or services. Any use of the Software and its closed source components outside Refinitiv products or services is not permitted unless explicitly authorized in writing from the copyright holder. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written authorization. All intellectual property rights in the Refinitiv Workspace SDK are and shall remain the property of the Refinitiv Group or its third-party licensors. To learn more, please contact your Refinitiv representative.
DISCLAIMER THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FAQs
Workspace SDK makes it easy for you to create financial applications for the Refinitiv Workspace and work with the Refinitiv Data API. Workspace SDK has all the APIs necessary to integrate with your web application seamlessly.
We found that @refinitiv-workspace-sdk/loader demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.