diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 31c63c7..bd64004 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ - [Open a pull request](#open-a-pull-request) - [Submit your PR & get it reviewed](#submit-your-pr--get-it-reviewed) - [Your PR is merged](#your-pr-is-merged) - - [Keep contributing as you use MicroStrategy Docs](#keep-contributing-as-you-use-microstrategy-docs) + - [Keep contributing as you use Strategy Docs](#keep-contributing-as-you-use-strategy-docs) ## Getting started @@ -21,7 +21,7 @@ Before you begin: ### Use the 'Edit' button -Navigating a new codebase can be challenging, so we're making that a little easier. As you're using this MicroStrategy Embedding SDK Docs, you may come across an article that you want to make an update to. You can find and click the **Edit** button on the top right corner on that article, which will take you to the file in this repo where you'll make your changes. +Navigating a new codebase can be challenging, so we're making that a little easier. As you're using this Strategy Embedding SDK Docs, you may come across an article that you want to make an update to. You can find and click the **Edit** button on the top right corner on that article, which will take you to the file in this repo where you'll make your changes. Before you make your changes, check to see if an [issue exists](https://github.com/MicroStrategy/embedding-sdk-docs/issues) already for the change you want to make. @@ -44,7 +44,7 @@ Fork using GitHub Desktop: ### Make your update -Make your changes to the file(s) you'd like to update. Here are some tips and tricks for [using the docs codebase](#working-in-the-microstrategyembedding-sdk-docs-repository). +Make your changes to the file(s) you'd like to update. Here are some tips and tricks for [using the docs codebase](#working-in-the-strategyembedding-sdk-docs-repository). - Are you making changes to the application code? You'll need **Node.js v16** to run the site locally. See [contributing/development.md](contributing/development.md). - Are you contributing to markdown? We use [Markdown](https://www.markdownguide.org/basic-syntax/). @@ -60,13 +60,13 @@ When you're done making changes and you'd like to propose them for review, use t ### Your PR is merged -Congratulations! The whole MicroStrategy community thanks you. :sparkles: +Congratulations! The whole Strategy community thanks you. :sparkles: Once your PR is merged, you will be proudly listed as a contributor in the [contributor chart](https://github.com/MicroStrategy/embedding-sdk-docs/graphs/contributors) and at the bottom of the page you contributed to. -### Keep contributing as you use MicroStrategy Docs +### Keep contributing as you use Strategy Docs -Now that you're a part of the MicroStrategy Docs community, you can keep participating in many ways. +Now that you're a part of the Strategy Docs community, you can keep participating in many ways. **Learn more about contributing:** @@ -77,7 +77,7 @@ Now that you're a part of the MicroStrategy Docs community, you can keep partici - [:earth_asia: Translations](#earth_asia-translations) - [Starting with an issue](#starting-with-an-issue) - [Opening a pull request](#opening-a-pull-request) - - [Working in the MicroStrategy/embedding-sdk-docs repository](#working-in-the-microstrategyembedding-sdk-docs-repository) + - [Working in the Strategy/embedding-sdk-docs repository](#working-in-the-strategyembedding-sdk-docs-repository) - [Reviewing](#reviewing) - [Self review](#self-review) - [Test it locally](#test-it-locally) @@ -87,7 +87,7 @@ Now that you're a part of the MicroStrategy Docs community, you can keep partici ## :memo: Types of contributions -You can contribute to the MicroStrategy Embedding SDK Docs content and site in several ways. This repo is a place to discuss and collaborate on MicroStrategy Embedding SDK Docs! Our small, but mighty :muscle: docs team is maintaining this repo, to preserve our bandwidth, off topic conversations will be closed. +You can contribute to the Strategy Embedding SDK Docs content and site in several ways. This repo is a place to discuss and collaborate on Strategy Embedding SDK Docs! Our small, but mighty :muscle: docs team is maintaining this repo, to preserve our bandwidth, off topic conversations will be closed. ### :beetle: Issues @@ -101,7 +101,7 @@ When we merge those changes, they should be deployed to the live site within 24 ### :question: Support -We are a small team working hard to keep up with the documentation demands of a continuously changing product. Unfortunately, we just can't help with support questions in this repository. If you are experiencing a problem with MicroStrategy, unrelated to our documentation, please [contact MicroStrategy Support directly](https://www.microstrategy.com/support). Any issues, or pull requests opened here requesting support will be given information about how to contact MicroStrategy Support, then closed and locked. +We are a small team working hard to keep up with the documentation demands of a continuously changing product. Unfortunately, we just can't help with support questions in this repository. If you are experiencing a problem with Strategy, unrelated to our documentation, please [contact Strategy Support directly](https://www.microstrategy.com/support). Any issues, or pull requests opened here requesting support will be given information about how to contact Strategy Support, then closed and locked. ### :earth_asia: Translations @@ -117,16 +117,16 @@ You can browse existing issues to find something that needs help! You can use the GitHub user interface :pencil2: for some small changes, like fixing a typo or updating a readme. You can also fork the repo and then clone it locally, to view changes and run your tests on your machine. -## Working in the MicroStrategy/embedding-sdk-docs repository +## Working in the Strategy/embedding-sdk-docs repository Here's some information that might be helpful while working on a Docs PR: - [Development](contributing/development.md) - This short guide describes how to get this app running on your local machine. -- [Content style guide for MicroStrategy Docs](contributing/content-style-guide.md) - This guide covers information about how we style our content and images. It also links to the resources we use for general style guidelines. +- [Content style guide for Strategy Docs](contributing/content-style-guide.md) - This guide covers information about how we style our content and images. It also links to the resources we use for general style guidelines. ## Reviewing -We (usually the docs team, but sometimes MicroStrategy product managers, engineers, or supportocats too!) review every single PR. The purpose of reviews is to create the best content we can for people who use MicroStrategy. +We (usually the docs team, but sometimes Strategy product managers, engineers, or supportocats too!) review every single PR. The purpose of reviews is to create the best content we can for people who use Strategy. :yellow_heart: Reviews are always respectful, acknowledging that everyone did the best possible job with the knowledge they had at the time. diff --git a/README.md b/README.md index b4dac59..3ea256c 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,6 @@ If you have a solution to one of the open issues, you will need to fork the repo #### And that's it -That's how you can get started easily as a member of the MicroStrategy Embedding SDK Documentation community. :sparkles: +That's how you can get started easily as a member of the Strategy Embedding SDK Documentation community. :sparkles: If you want to know more, or you're making a more complex contribution, check out [Getting Started with Contributing](CONTRIBUTING.md). diff --git a/contributing/content-style-guide.md b/contributing/content-style-guide.md index aec39b7..24694eb 100644 --- a/contributing/content-style-guide.md +++ b/contributing/content-style-guide.md @@ -138,7 +138,7 @@ The list below shows the usage of emojis in our Docs site: - Titles, sidebar labels, and headers - - These should use **sentence case**. For example, prefer "This is the title from MicroStrategy" over "This Is The Title From MicroStrategy". + - These should use **sentence case**. For example, prefer "This is the title from Strategy" over "This Is The Title From Strategy". - `sidebar_label` should only be used if you want a different title in the sidebar than the `title` in front matter. (Note: For folders, `label` in sidebars.js takes priority over `sidebar_label`) ## Tables diff --git a/docs/add-functionality/add-event.md b/docs/add-functionality/add-event.md index fc6ebd0..d93018e 100644 --- a/docs/add-functionality/add-event.md +++ b/docs/add-functionality/add-event.md @@ -15,7 +15,7 @@ Once you have used the `dossier.create(props)` method to embed a dashboard into ## Events -Each supported event is described in the table below. You get the EventType from `microstrategy.dossier.EventType`. +Each supported event is described in the table below. You get the EventType from `microstrategy.dossier.EventType` or `microstrategy.embeddingContexts.EventType`. ### onGraphicsSelected @@ -391,7 +391,8 @@ embedDossier.registerEventHandler(EventType.ON_LIBRARY_ITEM_SELECTED, libraryIte "projectId": "B19DEDCC11D4E0EFC000EB9495D0F44F", "name": "Distribution Center & Brands", "type": 55, - "subtype": null + "subtype": null, + "isDocument": false } ] ``` @@ -570,6 +571,40 @@ embedDossier.registerEventHandler(EventType.ON_DOSSIER_INSTANCE_CHANGED, (conten } ``` +### onInstanceChanged + +#### Event enumeration + +`EventType.ON_INSTANCE_CHANGED` + +#### Description + +Raised when the a new object instance is created or destroyed. The object type could be a dashboard, document, report or bot. + +#### Content + +The event callback parameters contain the project id, object id, object type, object name, and the instance id. + +#### Code example + +```js +embedDossier.registerEventHandler(EventType.ON_INSTANCE_CHANGED, (content) => { + // Use the content here +}); +``` + +#### Content example + +```json +{ + "projectId": "B19DEDCC11D4E0EFC000EB9495D0F44F", + "objectId": "D9AB379D11EC92C1D9DC0080EFD415BB", + "objectName": "Dashboard Prompted on Category", + "objectType": "dossier", + "instanceId": "EC003BC7A046E75DE83373A254824F20" +} +``` + ### onComponentSelectionChanged #### Event enumeration @@ -598,6 +633,8 @@ embedDossier.registerEventHandler(EventType.ON_COMPONENT_SELECTION_CHANGED, (con { "projectId": "B19DEDCC11D4E0EFC000EB9495D0F44F", "dossierId": "EC5441154009D3C39D5BD6AD75865EF4", + "objectId": "EC5441154009D3C39D5BD6AD75865EF4", + "objectType": "dossier", "selectedComponents": [ { "key": "K52", diff --git a/docs/add-functionality/add-functionality.md b/docs/add-functionality/add-functionality.md index bbcf503..5be6ead 100644 --- a/docs/add-functionality/add-functionality.md +++ b/docs/add-functionality/add-functionality.md @@ -43,11 +43,11 @@ Once you have embedded a dashboard, you can use helper methods in the Embedding :::tip -If you plan to use Embedding SDK on a web page on a different domain from your MicroStrategy environment, please also meet the following requirements. More information in +If you plan to use Embedding SDK on a web page on a different domain from your Strategy environment, please also meet the following requirements. More information in 1. [Enable Cross-Origin Resource Sharing (CORS)](../config.md) 1. [Allow SameSite cookies](../config.md#allow-samesite-cookies) -If you plan to use Embedding SDK on the same domain as your MicroStrategy, the above changes are not required. +If you plan to use Embedding SDK on the same domain as your Strategy, the above changes are not required. ::: diff --git a/docs/add-functionality/authoring-library.md b/docs/add-functionality/authoring-library.md index 06ad855..938cd39 100644 --- a/docs/add-functionality/authoring-library.md +++ b/docs/add-functionality/authoring-library.md @@ -3,7 +3,7 @@ title: Author an embedded dashboard description: To allow users to conveniently edit a dashboard, Embedding SDK allows embedding a dashboard in the authoring mode, whether it is during the initial load or in the view mode of the dashboard. --- -Embedding MicroStrategy content within critical business applications empowers users to make smarter decisions by taking advantage of the dashboard development efforts that occur behind the scenes. To allow users to conveniently edit a dashboard, Embedding SDK allows embedding a dashboard in the authoring mode, whether it is during the initial load or in the view mode of the dashboard. +Embedding Strategy content within critical business applications empowers users to make smarter decisions by taking advantage of the dashboard development efforts that occur behind the scenes. To allow users to conveniently edit a dashboard, Embedding SDK allows embedding a dashboard in the authoring mode, whether it is during the initial load or in the view mode of the dashboard. :::tip diff --git a/docs/add-functionality/error-handling.md b/docs/add-functionality/error-handling.md index ca6f6bd..f646875 100644 --- a/docs/add-functionality/error-handling.md +++ b/docs/add-functionality/error-handling.md @@ -1,15 +1,15 @@ --- title: Error handling -description: MicroStrategy provides custom error handling in two stages, during dashboard creation and after dashboard creation. +description: Strategy provides custom error handling in two stages, during dashboard creation and after dashboard creation. --- By default, Library displays a pop-up dialog when an error occurs, such as when a dataset is not found. ![library server error](../images/library_server_error.png) -MicroStrategy provides custom error handling for these kinds of pop-up errors in two stages. +Strategy provides custom error handling for these kinds of pop-up errors in two stages. -MicroStrategy also provides session error handling for session errors in two stages. Because the handling method of the session error is different from other errors, we don't use the custom error handling in this case. +Strategy also provides session error handling for session errors in two stages. Because the handling method of the session error is different from other errors, we don't use the custom error handling in this case. ## Custom error handling @@ -67,11 +67,11 @@ microstrategy.dossier }); ``` -### The overall MicroStrategy Library error behavior in embed case +### The overall Library error behavior in embed case The error generated by the embedded Library or dashboard page would output an error log in the browser console. Besides that, -- If `disableCustomErrorHandlerOnCreate` is set to `true` in `microstrategy.dossier.create` or `microstrategy.embeddingContexts.embedLibraryPage`, the custom error handler couldn't be registered. The error would only be shown by a popup error dialog, which is the same as the OOTB MicroStrategy Library behavior; +- If `disableCustomErrorHandlerOnCreate` is set to `true` in `microstrategy.dossier.create` or `microstrategy.embeddingContexts.embedLibraryPage`, the custom error handler couldn't be registered. The error would only be shown by a popup error dialog, which is the same as the OOTB Library behavior; - If `disableCustomErrorHandlerOnCreate` is not set or is `false`: - If a custom error handler is set by `errorHandler` or `addCustomErrorHandler(customErrorHandler, false)`, the error would only invoke the custom error handler and wouldn't popup a Library error dialog. - If a custom error handler is set by `addCustomErrorHandler(customErrorHandler, true)`, the error would first popup an error dialog, and when the user clicks the button on the error dialog, the custom error handler would be invoked. @@ -82,7 +82,7 @@ The error generated by the embedded Library or dashboard page would output an er When the session expiration error occurs: - If there is no `sessionErrorHandler` defined, the page will show the Library's logout page. -- If you define a `sessionErrorHandler`, the function will be executed. After 1 minute, the page will forcefully redirect to the OOTB MicroStrategy Library login page. +- If you define a `sessionErrorHandler`, the function will be executed. After 1 minute, the page will forcefully redirect to the OOTB Library login page. The differences from custom error handling: diff --git a/docs/add-functionality/methods-and-properties.md b/docs/add-functionality/methods-and-properties.md index 3c89298..7ea9207 100644 --- a/docs/add-functionality/methods-and-properties.md +++ b/docs/add-functionality/methods-and-properties.md @@ -1,9 +1,9 @@ --- title: Methods and properties for an embedded dashboard -description: When you embed a MicroStrategy dashboard into a web page, you use the `create(props)` method under the `microstrategy.dossier` namespace. +description: When you embed a Strategy dashboard into a web page, you use the `create(props)` method under the `microstrategy.dossier` namespace. --- -When you embed a MicroStrategy dashboard into a web page, you use the `create(props)` method under the `microstrategy.dossier` namespace. +When you embed a Strategy dashboard into a web page, you use the `create(props)` method under the `microstrategy.dossier` namespace. :::tip @@ -25,7 +25,7 @@ This method returns a promise, which is resolved to a `Dossier` object when the The `props` parameter contains required key-value pairs that define the URL where the dashboard is located and the ID of the `
` placeholder where the iFrame containing the dashboard instance will be created. It can also contain other optional key-value pairs to customize the UI, features, and authentication. -Embedding too many pages using the Embedding SDK can lead to performance problems and even browser crashes due to limited browser resources. To ensure stable performance, it's recommended to embed the MicroStrategy Library page in no more than 4 to 6 containers. +Embedding too many pages using the Embedding SDK can lead to performance problems and even browser crashes due to limited browser resources. To ensure stable performance, it's recommended to embed the Library page in no more than 4 to 6 containers. The other similar APIs like `microstrategy.embeddingContexts.embedReportPage(props)` and `microstrategy.embeddingContexts.embedLibraryPage(props)` follow this rule. @@ -169,7 +169,7 @@ No ### `disableErrorPopupWindow` The `disableErrorPopupWindow` property specifies to disable the popup window caused by the alert which will show when error happens, and throw the error directly. -The deatail of when the error will shown in alert, can be seen [at the error-handling page](error-handling.md#error-handling-before-starting-embed-page-to-library) +The deatail of when the error will shown in alert, can be seen [at the error-handling page](error-handling.md#the-overall-library-error-behavior-in-embed-case) #### Required? @@ -210,7 +210,7 @@ No `null` -If `dockedComment` is not specified, the MicroStrategy Library default behavior is used. +If `dockedComment` is not specified, the Library default behavior is used. #### Sample @@ -246,7 +246,7 @@ No `null` -If this object is not specified, the MicroStrategy Library default behavior is used. +If this object is not specified, the Library default behavior is used. #### Sample @@ -283,7 +283,7 @@ No `null` -If this object is not specified, the MicroStrategy Library default behavior is used. +If this object is not specified, the Library default behavior is used. #### Sample @@ -313,7 +313,7 @@ No #### Default value -If this object is not specified, the MicroStrategy Library default behavior is used. +If this object is not specified, the Library default behavior is used. #### Sample @@ -397,7 +397,7 @@ No `null` -If this object is not specified, the MicroStrategy Library default behavior is used. +If this object is not specified, the Library default behavior is used. #### Sample @@ -653,7 +653,7 @@ microstrategy.dossier.create({ Use the `customUi` object to customize the UI component visibilities except the dashboard consumption and authoring pages. The detailed properties are as below: -- `library` - This field is used to customized the UI components on the MicroStrategy Library home page. Its details could be seen in [The customized UI settings in Embedding SDK](../embed-library-main-page/embed-custom-ui-on-all-pages.md#propscustomuilibrary) +- `library` - This field is used to customized the UI components on the Library home page. Its details could be seen in [The customized UI settings in Embedding SDK](../embed-library-main-page/embed-custom-ui-on-all-pages.md#propscustomuilibrary) - `reportConsumption` - This field is used to customize the UI components on the report consumption page. Its details could be seen in [The customized UI settings in Embedding SDK](../embed-library-main-page/embed-custom-ui-on-all-pages.md#propscustomuireportconsumption). #### Required? @@ -664,7 +664,7 @@ No `null` -If `customUi` or `customUi.library` is `null`, all the UI components on MicroStrategy Library home page would be visible. +If `customUi` or `customUi.library` is `null`, all the UI components on Library home page would be visible. #### Sample @@ -825,7 +825,7 @@ No `null` -If this object is not specified, the MicroStrategy Library default behavior is used. +If this object is not specified, the Library default behavior is used. #### Sample @@ -892,7 +892,7 @@ No `null` -If this object is not specified, the MicroStrategy Library default behavior is used. +If this object is not specified, the Library default behavior is used. #### Sample diff --git a/docs/add-functionality/panel-stacks.md b/docs/add-functionality/panel-stacks.md index 4945cb5..26ddfd9 100644 --- a/docs/add-functionality/panel-stacks.md +++ b/docs/add-functionality/panel-stacks.md @@ -1,11 +1,11 @@ --- title: Interact with panel stacks -description: Panel stacks provide end users with the ability to conveniently reuse segments of space within a dashboard to represent data in multiple ways. MicroStrategy supports one level of nesting within panel stacks. You can switch panel stacks by using a selector or the panel stack header. An application can now develop external controls to paginate through the various displays within a panel stack. In addition, if the panel stack is switched by a user's manual input, an event handler notifies the parent application of this action, allowing it to perform filtering or any other desirable action. +description: Panel stacks provide end users with the ability to conveniently reuse segments of space within a dashboard to represent data in multiple ways. Strategy supports one level of nesting within panel stacks. You can switch panel stacks by using a selector or the panel stack header. An application can now develop external controls to paginate through the various displays within a panel stack. In addition, if the panel stack is switched by a user's manual input, an event handler notifies the parent application of this action, allowing it to perform filtering or any other desirable action. --- The MicroStrategy 2021 Update 1 release exposed [panel stacks](https://www2.microstrategy.com/producthelp/2021/Workstation/WebHelp/Lang_1033/Content/panel_stacks.htm) within dossiers. This provides end users with the ability to conveniently reuse segments of space within a dashboard to represent data in multiple ways. To provide continuity with our existing APIs and enable embedded applications to take advantage of this new design concept, we have updated existing endpoints and provided new Embedding SDK functions. -MicroStrategy supports one level of nesting within panel stacks. You can switch panel stacks by using a selector or the panel stack header. +Strategy supports one level of nesting within panel stacks. You can switch panel stacks by using a selector or the panel stack header. ![panel stacks](../images/panel_stacks.png) diff --git a/docs/config.md b/docs/config.md index 79ec7a4..2298855 100644 --- a/docs/config.md +++ b/docs/config.md @@ -1,9 +1,9 @@ --- title: Configure Library Server for embedding -description: If you plan to use Embedding SDK on a different domain from your MicroStrategy environment, please enable Cross-Origin Resource Sharing (CORS) and allow SameSite cookies. +description: If you plan to use Embedding SDK on a different domain from your Strategy environment, please enable Cross-Origin Resource Sharing (CORS) and allow SameSite cookies. --- -If you plan to use Embedding SDK on a different domain from your MicroStrategy environment, please also meet the following requirements. +If you plan to use Embedding SDK on a different domain from your Strategy environment, please also meet the following requirements. ## Enable Cross-Origin Resource Sharing (CORS) @@ -11,7 +11,7 @@ Cross-Origin Resource Sharing (CORS) provides a way for a web application runnin :::note -Chrome Web Browser version 80 and above introduces new changes which may impact embedding. For more information, see [KB484005: Chrome v80 Cookie Behavior and the Impact on MicroStrategy Deployments](https://community.microstrategy.com/s/article/Chrome-v80-Cookie-Behavior-and-the-impact-on-MicroStrategy-Deployments). +Chrome Web Browser version 80 and above introduces new changes which may impact embedding. For more information, see [KB484005: Chrome v80 Cookie Behavior and the Impact on Strategy Deployments](https://community.microstrategy.com/s/article/Chrome-v80-Cookie-Behavior-and-the-impact-on-Strategy-Deployments). ::: @@ -36,9 +36,9 @@ Using the Library Admin page is the easiest way to enable CORS for the REST Ser `security.allowedOrigins=http://example.com:port` -1. Restart your MicroStrategy Library web application hosted on the application server. +1. Restart your Library web application hosted on the application server. -Alternatively, you can also configure this in MicroStrategy Workstation by [editing the properties of the environment](https://www2.microstrategy.com/producthelp/Current/Workstation/WebHelp/Lang_1033/Content/library_admin_settings.htm#View). +Alternatively, you can also configure this in Workstation by [editing the properties of the environment](https://www2.microstrategy.com/producthelp/Current/Workstation/WebHelp/Lang_1033/Content/library_admin_settings.htm#View). ## Allow SameSite cookies @@ -82,7 +82,7 @@ If you are using MicroStrategy 2021 Update 5 or before, make the following chang 1. Ensure your Tomcat is configured to support HTTPS. 1. Restart Tomcat. -For more information, see [Chrome v80 Cookie Behavior and the Impact on MicroStrategy Deployments](https://community.microstrategy.com/s/article/Chrome-v80-Cookie-Behavior-and-the-impact-on-MicroStrategy-Deployments?language=en_US). +For more information, see [Chrome v80 Cookie Behavior and the Impact on Strategy Deployments](https://community.microstrategy.com/s/article/Chrome-v80-Cookie-Behavior-and-the-impact-on-Strategy-Deployments?language=en_US). ## The Partitioned Cookie Change @@ -96,4 +96,4 @@ To avoid the changes of third-party cookies default setting breaking the Embeddi ![The partitioned cookie setting](./images/partitioned-cookie.png) -After this change, the customer can use most of the Embedding SDK functionalities even if 3rd party cookies are blocked in the Chrome preference. But for the SAML/OIDC login, the old workflow changes, and the user need to do more to make it work. The details can be seen in [SAML or OIDC authentication after MicroStrategy ONE June 2024](./support-for-different-authentication-environments/authentication-saml.md#for-microstrategy-2024-update-6-or-after). +After this change, the customer can use most of the Embedding SDK functionalities even if 3rd party cookies are blocked in the Chrome preference. But for the SAML/OIDC login, the old workflow changes, and the user need to do more to make it work. The details can be seen in [SAML or OIDC authentication after MicroStrategy ONE June 2024](./support-for-different-authentication-environments/authentication-saml.md#for-microstrategy-one-june-2024-or-after). diff --git a/docs/embed-bot-consumption-page/embed-bot-consumption-page.md b/docs/embed-bot-consumption-page/embed-bot-consumption-page.md index 17de209..4505f86 100644 --- a/docs/embed-bot-consumption-page/embed-bot-consumption-page.md +++ b/docs/embed-bot-consumption-page/embed-bot-consumption-page.md @@ -1,19 +1,19 @@ --- -title: Embed MicroStrategy bot consumption page -description: The Embedding SDK allows you to quickly integrate a MicroStrategy bot consumption page into a web application in a responsive manner. +title: Embed Strategy bot consumption page +description: The Embedding SDK allows you to quickly integrate a Strategy bot consumption page into a web application in a responsive manner. --- -The Embedding SDK allows you to quickly integrate a MicroStrategy bot consumption page into a web application in a responsive manner. +The Embedding SDK allows you to quickly integrate a Strategy bot consumption page into a web application in a responsive manner. -There are three basic steps for embedding a MicroStrategy bot consumption page. +There are three basic steps for embedding a Strategy bot consumption page. -1. In the initial page of your web application, add a link to the MicroStrategy JavaScript Embedding SDK. +1. In the initial page of your web application, add a link to the Strategy JavaScript Embedding SDK. ```html ``` - Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual MicroStrategy Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). + Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). 1. Create a `
` as the placeholder where you want to embed the bot consumption page. @@ -34,6 +34,6 @@ There are three basic steps for embedding a MicroStrategy bot consumption page. To help you get started, we have provided a number of simple applications with sample code and explanations. -- [Properties for an embedded MicroStrategy bot consumption page](./embed-bot-consumption-properties.md) +- [Properties for an embedded Strategy bot consumption page](./embed-bot-consumption-properties.md) - Describes the properties that can be set for an embedded MicroStrategy bot consumption page. + Describes the properties that can be set for an embedded Strategy bot consumption page. diff --git a/docs/embed-bot-consumption-page/embed-bot-consumption-properties.md b/docs/embed-bot-consumption-page/embed-bot-consumption-properties.md index cab70ee..e01b717 100644 --- a/docs/embed-bot-consumption-page/embed-bot-consumption-properties.md +++ b/docs/embed-bot-consumption-page/embed-bot-consumption-properties.md @@ -1,23 +1,23 @@ --- -title: Properties for an embedded MicroStrategy bot consumption page -description: Describes the properties that can be set for an embedded MicroStrategy bot consumption page. +title: Properties for an embedded Strategy bot consumption page +description: Describes the properties that can be set for an embedded Strategy bot consumption page. --- -When you embed a MicroStrategy bot consumption page into a web page, you use the `embedBotConsumptionPage(props)` method under the `microstrategy.embeddingContexts` namespace. +When you embed a Strategy bot consumption page into a web page, you use the `embedBotConsumptionPage(props)` method under the `microstrategy.embeddingContexts` namespace. ## Method ### `microstrategy.embeddingContexts.embedBotConsumptionPage(props)` -This method creates an iFrame on the web page (in the location specified by the `placeholder` property) and inserts a link to the MicroStrategy bot consumption page URL (specified by the `serverUrl` property). +This method creates an iFrame on the web page (in the location specified by the `placeholder` property) and inserts a link to the Strategy bot consumption page URL (specified by the `serverUrl` property). #### Return value -This method returns a promise, which is resolved when the MicroStrategy bot consumption page is loaded. +This method returns a promise, which is resolved when the Strategy bot consumption page is loaded. #### Input parameters -The `props` parameter contains required key:value pairs that defines the Library Server URL and the `
` placeholder where the iFrame containing the MicroStrategy bot consumption page will be created. It can also contain other optional key:value pairs to customize the UI, authentication and custom error handler. +The `props` parameter contains required key:value pairs that defines the Library Server URL and the `
` placeholder where the iFrame containing the Strategy bot consumption page will be created. It can also contain other optional key:value pairs to customize the UI, authentication and custom error handler. The `props` parameter could contain the following key:value pairs: @@ -230,7 +230,7 @@ To disable the custom error handler, set `disableCustomErrorHandlerOnCreate` to If this flag is set, all the errors occur in the initial loading process and manual actions would be handled by OOTB Library itself, an error dialog would pop up. -You could also refer to [Custom error handling during bot creation](../add-functionality/error-handling.md#custom-error-handling-during-bot-creation). +You could also refer to [Custom error handling during bot creation](../add-functionality/error-handling.md#custom-error-handling-during-dashboard-creation). #### Required? @@ -248,7 +248,7 @@ N/A The custom error handler that executes when the error occurs in the initial loading process. It's a callback function that contains one parameter, `error`. The error object has the property `message`, which contains the detailed error message. -Whether `errorHandler` is set, the error occured inside the embeded page would output an error in the browser console. The detailed behavior could be seen in [The overall MicroStrategy Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-microstrategy-library-error-behavior-in-embed-case). +Whether `errorHandler` is set, the error occured inside the embeded page would output an error in the browser console. The detailed behavior could be seen in [The overall Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-library-error-behavior-in-embed-case). #### Required? @@ -332,13 +332,13 @@ microstrategy.embeddingContexts.embedBotConsumptionPage({ ### `customUi` -Specifies the custom UI settings on the embedded pages, including MicroStrategy Library home page, bot consumption page,bot authoring page, and report consumption page. +Specifies the custom UI settings on the embedded pages, including Library home page, bot consumption page,bot authoring page, and report consumption page. #### Properties ##### `addToLibraryBanner` -Use the `addToLibraryBanner` object to customize the "Add To Library" banner on the MicroStrategy bot consumption page. All detailed properties below are `Boolean`. +Use the `addToLibraryBanner` object to customize the "Add To Library" banner on the Strategy bot consumption page. All detailed properties below are `Boolean`. - `enabled` - Enable the Library "Add To Library" banner or not. If the banner is disabled in custom application, the true value wouldn’t take effect. @@ -347,7 +347,7 @@ Use the `addToLibraryBanner` object to customize the "Add To Library" banner on #### `theme` -Use the `theme` object to customize the "theme" in the MicroStrategy Library including bot consumption page. All detailed properties below are `Boolean`. +Use the `theme` object to customize the "theme" in the Library including bot consumption page. All detailed properties below are `Boolean`. - `enabled` - Enable the Library "theme" colors or not. The value can be true or false. If the value isn't defined, the default is true. diff --git a/docs/embed-document-consumption-page/embed-document-consumption-page.md b/docs/embed-document-consumption-page/embed-document-consumption-page.md new file mode 100644 index 0000000..8baca7e --- /dev/null +++ b/docs/embed-document-consumption-page/embed-document-consumption-page.md @@ -0,0 +1,39 @@ +--- +title: Embed Strategy document consumption page +description: The Embedding SDK allows you to quickly integrate a Strategy document consumption page into a web application in a responsive manner. It also provides resources to add functionalities such as selecting components. +--- + +The Embedding SDK allows you to quickly integrate a Strategy document consumption page into a web application in a responsive manner. It also provides resources to add functionalities such as selecting components. + +There are three basic steps for embedding a Strategy document consumption page. + +1. In the initial page of your web application, add a link to the Strategy JavaScript Embedding SDK. + + ```html + + ``` + + Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). + +1. Create a `
` as the placeholder where you want to embed the dashboard consumption page. + + ```html +
+ ``` + +1. Call the `microstrategy.embeddingContexts.embedDocumentConsumptionPage(props)` method to embed the dashboard consumption page in the container. + + ```js + microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + serverUrl: "{YOUR_LIBRARY_SERVER_URL}", + projectId: "{YOUR_PROJECT_ID}", + objectId: "{YOUR_OBJECT_ID}", + placeholder: document.getElementById("container"), + }); + ``` + +To help you get started, we have provided a number of simple applications with sample code and explanations. + +- [Properties for an embedded Strategy document consumption page](./embed-document-consumption-properties.md) + + Describes the properties that can be set for an embedded Strategy document consumption page. diff --git a/docs/embed-document-consumption-page/embed-document-consumption-properties.md b/docs/embed-document-consumption-page/embed-document-consumption-properties.md new file mode 100644 index 0000000..6fe4b2c --- /dev/null +++ b/docs/embed-document-consumption-page/embed-document-consumption-properties.md @@ -0,0 +1,417 @@ +--- +title: Properties for an embedded Strategy document consumption page +description: Describes the properties that can be set for an embedded Strategy document consumption page. +--- + +When you embed a Strategy document consumption page into a web page, you use the `embedDocumentConsumptionPage(props)` method under the `microstrategy.embeddingContexts` namespace. + +## Method + +### `microstrategy.embeddingContexts.embedDocumentConsumptionPage(props)` + +This method creates an iFrame on the web page (in the location specified by the `placeholder` property) and inserts a link to the Strategy document consumption page URL (specified by the `serverUrl` property). + +#### Return value + +This method returns a promise, which is resolved when the Strategy document consumption page is loaded. + +#### Input parameters + +The `props` parameter contains required key:value pairs that defines the Library Server URL and the `
` placeholder where the iFrame containing the Strategy document consumption page will be created. It can also contain other optional key:value pairs to customize the UI, authentication and custom error handler. + +The `props` parameter could contain the following key:value pairs: + +## Properties + +### `placeholder` + +Reference for the container `
`. + +#### Required? + +Yes + +#### Default value + +N/A + +#### Sample + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + placeholder: document.getElementById("container"), + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", +}); +``` + +### `serverUrl`, `projectId`, `objectId` + +The required parameters in the document URL. + +These properties build the full document page URL to be embedded. +The Embedding SDK builds the URL using `serverUrl` + '/app/' + `projectId` + '/' + `objectId`. + +#### Required? + +Yes + +#### Default value + +N/A + +#### Sample + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + placeholder: document.getElementById("container"), + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", +}); +``` + +### `customApplicationId`, `layoutKey` + +The optional parameters in the document URL. + +Specifies the application and layout that the user wants to show in the embedded page. + +When these parameters are specified, the embeded page URL would become `serverUrl` + '/app/config/' + `customApplicationId` + '/' + `projectId` + '/' + `objectId` + '/' + `layoutKey`. + +#### Required? + +No + +#### Default value + +N/A + +#### Sample + +```js +microstrategy.embeddingContexts.embedDossierConsumptionPage({ + placeholder: document.getElementById("container"), + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + customApplicationId: "2AAC5EA4C57449FE9C0F69FE751DCFDB", + layoutKey: "K53", +}); +``` + +### `containerHeight` + +Sets the height of the placeholder. + +If the style of the placeholder has a height value, the containerHeight property is ignored. + +The `containerHeight` property is applied as a style: style="height: $(containerHeight)". + +#### Required? + +No + +#### Default value + +600px + +#### Sample + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + placeholder: document.getElementById("container"), + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + containerHeight: "600px", +}); +``` + +### `containerWidth` + +Sets the width of the placeholder. + +If the style of the placeholder has a width value, the containerWidth property is ignored. + +#### Required? + +No + +#### Default value + +800px + +#### Sample + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + placeholder: document.getElementById("container"), + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + containerWidth: "800px", +}); +``` + +### `enableCustomAuthentication` + +Specifies whether custom authentication is enabled. + +#### Required? + +No + +#### Default value + +`false` + +User needs to log in from the default login page. + +#### Sample + +N/A + +### `customAuthenticationType` + +Specifies the token type returned by the `getLoginToken` function. There are two possible values, which can be provided by the CustomAuthenticationType enumeration. + +#### Required? + +No + +#### Default value + +microstrategy.dossier.CustomAuthenticationType.IDENTITY_TOKEN + +#### Sample + +N/A + +### `getLoginToken` + +Specifies a function that returns a promise, which is resolved with either authorization token (`authToken`) or the identity token (`identityToken`) The token type is specified by the customAuthenticationType property. + +#### Required? + +No + +#### Default value + +See the sample code in the next column for the default implementation of this function. + +#### Sample + +When `customAuthenticationType` is set to `CustomAuthenticationType.AUTH_TOKEN`, the following sample demonstrates how to send a fetch request to get `authToken` with your credentials. You can do this using an `XMLHttpRequest`, if your browser does not support `fetch`. + +The `getLoginToken` function can be found in [the `getLoginToken` doc](../add-functionality/methods-and-properties#getlogintoken) + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + placeholder: document.getElementById("container"), + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + enableCustomAuthentication: true, + customAuthenticationType: microstrategy.dossier.CustomAuthenticationType.AUTH_TOKEN, + // The following function is the default implementation. User can provide custom implementation. + getLoginToken() { + // The similar logic as getLoginToken in existing Embedding SDK + }, +}); +``` + +When `customAuthenticationType` is set to `CustomAuthenticationType.IDENTITY_TOKEN`, you need to add a component to your web server. Refer to Use Custom Authentication for more information. + +### `disableCustomErrorHandlerOnCreate` + +To disable the custom error handler, set `disableCustomErrorHandlerOnCreate` to true. + +If this flag is set, all the errors occur in the initial loading process and manual actions would be handled by OOTB Library itself, an error dialog would pop up. + +You could also refer to [Custom error handling during dashboard creation](../add-functionality/error-handling.md#custom-error-handling-during-dashboard-creation). + +#### Required? + +No + +#### Default value + +false + +#### Sample + +N/A + +### `customErrorHandler` + +The custom error handler that executes when the error occurs in the initial loading process. It's a callback function that contains one parameter, `error`. The error object has the property `message`, which contains the detailed error message. + +`customErrorHandler` is similar as `errorHandler`(see [The overall Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-library-error-behavior-in-embed-case)). However, `errorHandler` will be unregistered automatically when the initial loading finishes, but `customErrorHandler` will not. + +#### Required? + +No + +#### Default value + +N/A + +#### Sample + +```js +microstrategy.embeddingContexts.embedDossierConsumptionPage({ + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + placeholder: document.getElementById("container"), + customErrorHandler: (error) => { + console.log(`catch error during creation: ${error.message}`); + // Do something to handle the error + }, +}); +``` + +### `sessionErrorHandler` + +The custom error handler that executes when an session expiration error occurs. It's a callback function that contains one parameter, `error`. The error object has the property `message`, which contains the detailed error message. + +When session expires: + +- If `sessionErrorHandler` is not set, the embedded page would redirect to the OOTB library login page. +- If `sessionErrorHandler` is set, the session error handler would be triggered and the embedded page would not change for 1 minute. If after 1 minute, the error handler doesn't do anything(like reauthentication and refresh page) to renew the session, the embedded page would redirect to the OOTB Library login page. + +#### Required? + +No + +#### Default value + +N/A + +#### Sample + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + placeholder: document.getElementById("container"), + sessionErrorHandler: (error) => { + console.log(`catch session error: ${error.message}`); + // Do something to handle the error + }, +}); +``` + +### `instance` + +Use this `instance` object to specify a document instance for the embedded document. If you would like to make some manipulation to the document before it is embedded, you can use this property, e.g., answering prompts. If the `instance` is used, the Embedding SDK will use it instead of creating a new document instance. + +- `mid` - This instance ID. + +#### Required? + +No + +#### Default value + +`null` + +#### Sample + +Passing existing instance: + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + placeholder: document.getElementById("container"), + instance: { + mid: "CC9F19A411EA1084548F0080EF05D751", + }, +}); +``` + +### `dockedToc` + +Specify the docked properties of the TOC panel. The detailed properties contain: + +- `isDocked` + + - Pin or unpin TOC panel. + - Default value: `false`. + +- `isOpen` + - Open or close TOC panel. + - Default value: `false`. + +#### Sample + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + placeholder: document.getElementById("container"), + dockedToc: { + isDocked: true, + isOpen: true, + }, +}); +``` + +### `customUi` + +Specifies the custom UI settings on the embedded pages, including Library home page, dashboard consumption page,dashboard authoring page, document consumption page, and report consumption page. + +#### Properties + +Please see all the properties in [The customized UI settings in Embedding SDK](../embed-library-main-page/embed-custom-ui-on-all-pages.md) + +### `settings` + +Specify the custom settings on the embedding pages. Including the non-UI settings of document consumption page. + +#### Required? + +No + +#### Properties + +##### `documentConsumption` + +Use the `documentConsumption` object to customize the options on the document consumption page. The detailed properties contain: + +- `componentSelection.layout.enabled` + + - To assign whether the component selection mode is enabled. + - Default value: `true`. + +- `componentSelection.multipleSelections` + + - To assign whether using the multiple selection mode. + - Default value: `false`. + +#### Sample + +```js +microstrategy.embeddingContexts.embedDocumentConsumptionPage({ + serverUrl: "https://demo.microstrategy.com/MicroStrategyLibrary", + projectId: "B19DEDCC11D4E0EFC000EB9495D0F44F", + objectId: "D9AB379D11EC92C1D9DC0080EFD415BB", + placeholder: document.getElementById("container"), + settings: { + documentConsumption: { + componentSelection: { + layout: { + enabled: true, + }, + multipleSelections: false, + }, + }, + }, +}); +``` diff --git a/docs/embed-dossier-consumption-page/embed-dossier-consumption-page.md b/docs/embed-dossier-consumption-page/embed-dossier-consumption-page.md index 394ff65..aebcda8 100644 --- a/docs/embed-dossier-consumption-page/embed-dossier-consumption-page.md +++ b/docs/embed-dossier-consumption-page/embed-dossier-consumption-page.md @@ -1,19 +1,19 @@ --- -title: Embed MicroStrategy dashboard consumption page -description: The Embedding SDK allows you to quickly integrate a MicroStrategy dashboard consumption page into a web application in a responsive manner. It also provides resources to add functionalities such as toggling the navigation bar and setting the visibility of icons in the navigation bar. +title: Embed Strategy dashboard consumption page +description: The Embedding SDK allows you to quickly integrate a Strategy dashboard consumption page into a web application in a responsive manner. It also provides resources to add functionalities such as toggling the navigation bar and setting the visibility of icons in the navigation bar. --- -The Embedding SDK allows you to quickly integrate a MicroStrategy dashboard consumption page into a web application in a responsive manner. It also provides resources to add functionalities such as toggling the navigation bar and setting the visibility of icons in the navigation bar. +The Embedding SDK allows you to quickly integrate a Strategy dashboard consumption page into a web application in a responsive manner. It also provides resources to add functionalities such as toggling the navigation bar and setting the visibility of icons in the navigation bar. -There are three basic steps for embedding a MicroStrategy dashboard consumption page. +There are three basic steps for embedding a Strategy dashboard consumption page. -1. In the initial page of your web application, add a link to the MicroStrategy JavaScript Embedding SDK. +1. In the initial page of your web application, add a link to the Strategy JavaScript Embedding SDK. ```html ``` - Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual MicroStrategy Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). + Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). 1. Create a `
` as the placeholder where you want to embed the dashboard consumption page. @@ -36,10 +36,10 @@ The `microstrategy.embeddingContexts.embedDossierConsumptionPage(props)` API is To help you get started, we have provided a number of simple applications with sample code and explanations. -- [Properties for an embedded MicroStrategy dashboard consumption page](./embed-dossier-consumption-properties.md) +- [Properties for an embedded Strategy dashboard consumption page](./embed-dossier-consumption-properties.md) - Describes the properties that can be set for an embedded MicroStrategy dashboard consumption page. + Describes the properties that can be set for an embedded Strategy dashboard consumption page. - [Dashboard consumption page APIs](../embedding-context/dossier-consumption-page-apis.md) - Describes which Embedding SDK APIs are available on the MicroStrategy dashboard consumption page. + Describes which Embedding SDK APIs are available on the Strategy dashboard consumption page. diff --git a/docs/embed-dossier-consumption-page/embed-dossier-consumption-properties.md b/docs/embed-dossier-consumption-page/embed-dossier-consumption-properties.md index 94755b6..6af9b48 100644 --- a/docs/embed-dossier-consumption-page/embed-dossier-consumption-properties.md +++ b/docs/embed-dossier-consumption-page/embed-dossier-consumption-properties.md @@ -1,23 +1,23 @@ --- -title: Properties for an embedded MicroStrategy dashboard consumption page -description: Describes the properties that can be set for an embedded MicroStrategy dashboard consumption page. +title: Properties for an embedded Strategy dashboard consumption page +description: Describes the properties that can be set for an embedded Strategy dashboard consumption page. --- -When you embed a MicroStrategy dashboard consumption page into a web page, you use the `embedDossierConsumptionPage(props)` method under the `microstrategy.embeddingContexts` namespace. +When you embed a Strategy dashboard consumption page into a web page, you use the `embedDossierConsumptionPage(props)` method under the `microstrategy.embeddingContexts` namespace. ## Method ### `microstrategy.embeddingContexts.embedDossierConsumptionPage(props)` -This method creates an iFrame on the web page (in the location specified by the `placeholder` property) and inserts a link to the MicroStrategy dashboard consumption page URL (specified by the `serverUrl` property). +This method creates an iFrame on the web page (in the location specified by the `placeholder` property) and inserts a link to the Strategy dashboard consumption page URL (specified by the `serverUrl` property). #### Return value -This method returns a promise, which is resolved when the MicroStrategy dashboard consumption page is loaded. +This method returns a promise, which is resolved when the Strategy dashboard consumption page is loaded. #### Input parameters -The `props` parameter contains required key:value pairs that defines the Library Server URL and the `
` placeholder where the iFrame containing the MicroStrategy dashboard consumption page will be created. It can also contain other optional key:value pairs to customize the UI, authentication and custom error handler. +The `props` parameter contains required key:value pairs that defines the Library Server URL and the `
` placeholder where the iFrame containing the Strategy dashboard consumption page will be created. It can also contain other optional key:value pairs to customize the UI, authentication and custom error handler. The `props` parameter could contain the following key:value pairs: @@ -50,7 +50,7 @@ microstrategy.embeddingContexts.embedDossierConsumptionPage({ The required parameters in the dashboard URL. -These properties build the full report page URL to be embedded. +These properties build the full dashboard page URL to be embedded. The Embedding SDK builds the URL using `serverUrl` + '/app/' + `projectId` + '/' + `objectId` + '/' + `pageKey`. #### Required? @@ -230,7 +230,7 @@ To disable the custom error handler, set `disableCustomErrorHandlerOnCreate` to If this flag is set, all the errors occur in the initial loading process and manual actions would be handled by OOTB Library itself, an error dialog would pop up. -You could also refer to [Custom error handling during dashboard creation](../add-functionality/error-handling.md#custom-error-handling-during-dossier-creation). +You could also refer to [Custom error handling during dashboard creation](../add-functionality/error-handling.md#custom-error-handling-during-dashboard-creation). #### Required? @@ -248,7 +248,7 @@ N/A The custom error handler that executes when the error occurs in the initial loading process. It's a callback function that contains one parameter, `error`. The error object has the property `message`, which contains the detailed error message. -Whether `errorHandler` is set, the error occured inside the embeded page would output an error in the browser console. The detailed behavior could be seen in [The overall MicroStrategy Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-microstrategy-library-error-behavior-in-embed-case). +Whether `errorHandler` is set, the error occured inside the embeded page would output an error in the browser console. The detailed behavior could be seen in [The overall Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-library-error-behavior-in-embed-case). #### Required? @@ -307,7 +307,7 @@ microstrategy.embeddingContexts.embedDossierConsumptionPage({ ### `customUi` -Specifies the custom UI settings on the embedded pages, including MicroStrategy Library home page, dashboard consumption page,dashboard authoring page, and report consumption page. +Specifies the custom UI settings on the embedded pages, including Library home page, dashboard consumption page,dashboard authoring page, and report consumption page. #### Properties @@ -344,9 +344,16 @@ Use the `dossierConsumption` object to customize the options on the dashboard co - Default value: `false`. - `disableGroupSelection` + - Disable group selection in the component selection mode. - Default value: `false`. +- `panelSelectionMode` + + - To assign the selection mode of panels on the dashboard consumption page. + - Available values: ["noSelection", "singleSelection", "multipleSelection"] + - Default value: "noSelection". + #### Sample ```js @@ -361,6 +368,7 @@ microstrategy.embeddingContexts.embedDossierConsumptionPage({ disableManipulationsAutoSaving: false, enablePageSelection: false, disableGroupSelection: true, + panelSelectionMode: "multipleSelection", }, }, }); diff --git a/docs/embed-library-main-page/embed-custom-ui-on-all-pages.md b/docs/embed-library-main-page/embed-custom-ui-on-all-pages.md index 1ea1b4b..7111d78 100644 --- a/docs/embed-library-main-page/embed-custom-ui-on-all-pages.md +++ b/docs/embed-library-main-page/embed-custom-ui-on-all-pages.md @@ -1,12 +1,13 @@ --- title: The customized UI settings in Embedding SDK -description: The Embedding SDK enables you to customize the UI components of all embedded pages, like MicroStrategy home page, dashboard consumption page, dashboard authoring page, and report consumption page. +description: The Embedding SDK enables you to customize the UI components of all embedded pages, like Strategy home page, dashboard consumption page, dashboard authoring page, and report consumption page. --- -The Embedding SDK supports the user to customize the UI components of all embedded pages, including MicroStrategy home page, dashboard consumption page, dashboard authoring page, and report consumption page. To do this, you need to set the input parameters `props.customUi` in the functions below: +The Embedding SDK supports the user to customize the UI components of all embedded pages, including Strategy home page, dashboard consumption page, dashboard authoring page, and report consumption page. To do this, you need to set the input parameters `props.customUi` in the functions below: - `microstrategy.embeddingContexts.embedLibraryPage(props)` - `microstrategy.embeddingContexts.embedDossierConsumptionPage(props)` +- `microstrategy.embeddingContexts.embedDocumentConsumptionPage(props)` - `microstrategy.embeddingContexts.embedReportPage(props)` Here is an example: @@ -163,19 +164,19 @@ microstrategy.embeddingContexts.embedLibraryPage({ }); ``` -In the example above, the user uses `microstrategy.embeddingContexts.embedLibraryPage` to embed a MicroStrategy Library home page. After the embedded page is loaded, the user may click a dashboard in the dashboard list to go to a dashboard consumption page, or RMC the "Edit" menu to go to a dashboard authoring page. The user could use fields `props.customUi.dossierConsumption` and `props.customUi.dossierAuthoring` to show or hide the components in these 2 pages. +In the example above, the user uses `microstrategy.embeddingContexts.embedLibraryPage` to embed a Library home page. After the embedded page is loaded, the user may click a dashboard in the dashboard list to go to a dashboard consumption page, or RMC the "Edit" menu to go to a dashboard authoring page. The user could use fields `props.customUi.dossierConsumption` and `props.customUi.dossierAuthoring` to show or hide the components in these 2 pages. The details of `props.customUi` are as below: ### `props.customUi.library` -This field is used to customized the UI components on the MicroStrategy Library home page. It has 2 properties: `sidebar` and `navigationBar`. +This field is used to customized the UI components on the Library home page. It has 2 properties: `sidebar` and `navigationBar`. #### Properties ##### `sidebar` -Use the `sidebar` object to customize the sidebar on the MicroStrategy Library home page. All detailed properties below are `Boolean`. +Use the `sidebar` object to customize the sidebar on the Library home page. All detailed properties below are `Boolean`. - `show` - Show the Library home page sidebar or not. If the sidebar is disabled in custom application, or `prop.customUi.library.sidebar.enabled` is false, the true value wouldn’t take effect. @@ -186,7 +187,7 @@ Use the `sidebar` object to customize the sidebar on the MicroStrategy Library h ##### `navigationBar` -Use the `navigationBar` object to customize navigation bar on the MicroStrategy Library home page. All detailed properties below are `Boolean`. +Use the `navigationBar` object to customize navigation bar on the Library home page. All detailed properties below are `Boolean`. - `enabled` - Show the Library home page navigation bar or not. If the navigation bar is disabled in custom application, the true value wouldn’t take effect, which is the same as the original dashboard navigation bar icons behavior. @@ -415,3 +416,21 @@ Use the `navigationBar` object to customize the navigation bar on the page. All #### Required? No + +### `props.customUi.documentConsumption` + +This field is used to customize the UI components on the document consumption page. It has 1 property: `navigationBar`. + +#### Properties + +##### `navigationBar` + +Use the `navigationBar` object to customize the navigation bar on the page. All detailed properties below are `Boolean`. + +- `gotoLibrary` + - Show or hide the gotoLibrary icon. + - Default value: `true`. + +#### Required? + +No diff --git a/docs/embed-library-main-page/embed-library-main-page.md b/docs/embed-library-main-page/embed-library-main-page.md index 4f41d49..dcf5e5a 100644 --- a/docs/embed-library-main-page/embed-library-main-page.md +++ b/docs/embed-library-main-page/embed-library-main-page.md @@ -1,19 +1,19 @@ --- -title: Embed MicroStrategy Library home page -description: The Embedding SDK allows you to quickly integrate a MicroStrategy Library home page into a web application in a responsive manner. It also provides resources to add functionality such as toggling the navigation bar and sidebar, and getting group data for the current user. +title: Embed Library home page +description: The Embedding SDK allows you to quickly integrate a Library home page into a web application in a responsive manner. It also provides resources to add functionality such as toggling the navigation bar and sidebar, and getting group data for the current user. --- -The Embedding SDK allows you to quickly integrate a MicroStrategy Library home page into a web application in a responsive manner. It also provides resources to add functionality such as toggling the navigation bar and sidebar, and getting group data for the current user. +The Embedding SDK allows you to quickly integrate a Library home page into a web application in a responsive manner. It also provides resources to add functionality such as toggling the navigation bar and sidebar, and getting group data for the current user. -There are three basic steps for embedding a MicroStrategy Library home page. +There are three basic steps for embedding a Library home page. -1. In the initial page of your web application, add a link to the MicroStrategy JavaScript Embedding SDK. +1. In the initial page of your web application, add a link to the Strategy JavaScript Embedding SDK. ```html ``` - Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual MicroStrategy Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). + Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). 1. Create a `
` as the placeholder where you want to embed the Library home page. @@ -32,10 +32,10 @@ There are three basic steps for embedding a MicroStrategy Library home page. To help you get started, we have provided a number of simple applications with sample code and explanations. -- [Properties for an embedded MicroStrategy Library home page](./embed-library-properties.md) +- [Properties for an embedded Library home page](./embed-library-properties.md) - Describes the properties that can be set for an embedded MicroStrategy Library home page. + Describes the properties that can be set for an embedded Library home page. - [Library page APIs](../embedding-context/library-page-apis.md) - Describes which Embedding SDK APIs are available on the MicroStrategy Library home page. + Describes which Embedding SDK APIs are available on the Library home page. diff --git a/docs/embed-library-main-page/embed-library-properties.md b/docs/embed-library-main-page/embed-library-properties.md index 70a6716..016722c 100644 --- a/docs/embed-library-main-page/embed-library-properties.md +++ b/docs/embed-library-main-page/embed-library-properties.md @@ -1,21 +1,21 @@ --- -title: Properties for an embedded MicroStrategy Library home page -description: Describes the properties that can be set for an embedded MicroStrategy Library home page. +title: Properties for an embedded Library home page +description: Describes the properties that can be set for an embedded Library home page. --- -When you embed a MicroStrategy Library home page into a web page, you use the `embedLibraryPage(props)` method under the `microstrategy.embeddingContexts` namespace. +When you embed a Library home page into a web page, you use the `embedLibraryPage(props)` method under the `microstrategy.embeddingContexts` namespace. ## Method ### `microstrategy.embeddingContexts.embedLibraryPage(props)` -This method creates an iFrame on the web page (in the location specified by the `placeholder` property) and inserts a link to the MicroStrategy Library home page URL (specified by the `serverUrl` property). +This method creates an iFrame on the web page (in the location specified by the `placeholder` property) and inserts a link to the Library home page URL (specified by the `serverUrl` property). #### Return value -This method returns a promise, which is resolved when the MicroStrategy Library home page is loaded. +This method returns a promise, which is resolved when the Library home page is loaded. -The `props` parameter contains required key:value pairs that defines the Library Server URL and the `
` placeholder where the iFrame containing the MicroStrategy Library home page will be created. It can also contain other optional key:value pairs to customize the UI, authentication and custom error handler. +The `props` parameter contains required key:value pairs that defines the Library Server URL and the `
` placeholder where the iFrame containing the Library home page will be created. It can also contain other optional key:value pairs to customize the UI, authentication and custom error handler. The `props` parameter could contain the following key:value pairs: @@ -39,7 +39,7 @@ N/A ### `serverUrl` -`serverUrl` refers to the MicroStrategy Library server URL. +`serverUrl` refers to the Library server URL. #### Required? @@ -181,7 +181,7 @@ To disable the custom error handler, set `disableCustomErrorHandlerOnCreate` to If this flag is set, all the errors occur in the initial loading process and manual actions would be handled by OOTB Library itself, an error dialog would pop up. -You could also refer to [Custom error handling during dashboard creation](../add-functionality/error-handling.md#custom-error-handling-during-dossier-creation) to see the usage of this parameter in `microstrategy.dossier.create`, which has the same effect as in `microstrategy.embeddingContexts.embedLibraryPage` function. +You could also refer to [Custom error handling during dashboard creation](../add-functionality/error-handling.md#custom-error-handling-during-dashboard-creation) to see the usage of this parameter in `microstrategy.dossier.create`, which has the same effect as in `microstrategy.embeddingContexts.embedLibraryPage` function. #### Required? @@ -205,7 +205,7 @@ microstrategy.embeddingContexts.embedLibraryPage({ The custom error handler that executes when the error occurs in the initial loading process. It's a callback function that contains one parameter, `error`. The error object has the property `message`, which contains the detailed error message. -Whether `errorHandler` is set, the error occured inside the library home page would output an error in the browser console. The detailed behavior could be seen in [The overall MicroStrategy Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-microstrategy-library-error-behavior-in-embed-case). +Whether `errorHandler` is set, the error occured inside the library home page would output an error in the browser console. The detailed behavior could be seen in [The overall Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-library-error-behavior-in-embed-case). #### Required? @@ -262,7 +262,7 @@ microstrategy.embeddingContexts.embedLibraryPage({ Specifies the application that the user wants to show in the embedded page. -The application in MicroStrategy has 2 categories: +The application in Strategy has 2 categories: - If the application selects library home page as its home screen, the library home page would be embedded with the application's configuration. - If the application selects a dashboard as its home screen, the embedding would fail and an error would occur. @@ -281,7 +281,7 @@ N/A ### `customUi` -Specifies the custom UI settings on the embedded pages, including MicroStrategy Library home page, dashboard consumption page,dashboard authoring page, and report consumption page. +Specifies the custom UI settings on the embedded pages, including Library home page, dashboard consumption page,dashboard authoring page, and report consumption page. #### Properties @@ -289,7 +289,7 @@ Please see all the properties in [The customized UI settings in Embedding SDK](. #### The navigation bar custom setting behavior -The property `customUi.library.navigationBar.enabled` would affect the library home page UI together with the navigation bar setting in the application settings. There are 2 related item in the application settings in MicroStrategy Workstation: +The property `customUi.library.navigationBar.enabled` would affect the library home page UI together with the navigation bar setting in the application settings. There are 2 related item in the application settings in Workstation: - Disable toolbar - Collapse toolbar by default diff --git a/docs/embed-report-page/embed-report-page.md b/docs/embed-report-page/embed-report-page.md index c534fa1..5db1c52 100644 --- a/docs/embed-report-page/embed-report-page.md +++ b/docs/embed-report-page/embed-report-page.md @@ -1,19 +1,19 @@ --- -title: Embed MicroStrategy report page -description: The Embedding SDK allows you to quickly integrate a MicroStrategy report page into a web application in a responsive manner. It also provides resources to add functionalities such as toggling the navigation bar and setting the visibility of icons in the navigation bar. +title: Embed Strategy report page +description: The Embedding SDK allows you to quickly integrate a Strategy report page into a web application in a responsive manner. It also provides resources to add functionalities such as toggling the navigation bar and setting the visibility of icons in the navigation bar. --- -The Embedding SDK allows you to quickly integrate a MicroStrategy report page into a web application in a responsive manner. It also provides resources to add functionalities such as toggling the navigation bar and setting the visibility of icons in the navigation bar. +The Embedding SDK allows you to quickly integrate a Strategy report page into a web application in a responsive manner. It also provides resources to add functionalities such as toggling the navigation bar and setting the visibility of icons in the navigation bar. -There are three basic steps for embedding a MicroStrategy report page. +There are three basic steps for embedding a Strategy report page. -1. In the initial page of your web application, add a link to the MicroStrategy JavaScript Embedding SDK. +1. In the initial page of your web application, add a link to the Strategy JavaScript Embedding SDK. ```html ``` - Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual MicroStrategy Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). + Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). 1. Create a `
` as the placeholder where you want to embed the report. @@ -34,6 +34,6 @@ There are three basic steps for embedding a MicroStrategy report page. To help you get started, we have provided a number of simple applications with sample code and explanations. -- [Properties for an embedded MicroStrategy report page](./embed-report-properties.md) +- [Properties for an embedded Strategy report page](./embed-report-properties.md) - Describes the properties that can be set for an embedded MicroStrategy report page. + Describes the properties that can be set for an embedded Strategy report page. diff --git a/docs/embed-report-page/embed-report-properties.md b/docs/embed-report-page/embed-report-properties.md index e48daf1..f3535cb 100644 --- a/docs/embed-report-page/embed-report-properties.md +++ b/docs/embed-report-page/embed-report-properties.md @@ -1,24 +1,24 @@ --- -title: Properties for an embedded MicroStrategy report page -description: Describes the properties that can be set for an embedded MicroStrategy report page. +title: Properties for an embedded Strategy report page +description: Describes the properties that can be set for an embedded Strategy report page. --- -To embed a MicroStrategy report page into a web page, use the `embedReportPage(props)` method under the `microstrategy.embeddingContexts` namespace. +To embed a Strategy report page into a web page, use the `embedReportPage(props)` method under the `microstrategy.embeddingContexts` namespace. ## Method ### `microstrategy.embeddingContexts.embedReportPage(props)` -This method creates an iFrame on the web page, in the location specified by the `placeholder` property, and inserts a link to the MicroStrategy report page URL. The report page URL is built using `serverUrl` + '/app/' + `projectId` + '/' + `objectId` + '/' + `pageKey`. +This method creates an iFrame on the web page, in the location specified by the `placeholder` property, and inserts a link to the Strategy report page URL. The report page URL is built using `serverUrl` + '/app/' + `projectId` + '/' + `objectId` + '/' + `pageKey`. #### Return value -This method returns a promise, which is resolved when the MicroStrategy report page is loaded. +This method returns a promise, which is resolved when the Strategy report page is loaded. The `props` parameter contains following required key-value pairs: - `serverUrl`, `projectId`, and `objectId` define the full report page URL. -- `placeholder` specifies where the iFrame containing the MicroStrategy report page will be created. +- `placeholder` specifies where the iFrame containing the Strategy report page will be created. It can also contain other optional key-value pairs to customize the UI, authentication, and custom error handler. @@ -195,7 +195,7 @@ To disable the custom error handler, set `disableCustomErrorHandlerOnCreate` to If this flag is set, all errors that occur in the initial loading process as the result of manual actions are handled by OOTB Library and an error dialog appears. -Refer to [Custom error handling during dashboard creation](../add-functionality/error-handling.md#custom-error-handling-during-dossier-creation) to see the usage of this parameter in `microstrategy.dossier.create`, which has the same effect as in the `microstrategy.embeddingContexts.embedReportPage` function. +Refer to [Custom error handling during dashboard creation](../add-functionality/error-handling.md#custom-error-handling-during-dashboard-creation) to see the usage of this parameter in `microstrategy.dossier.create`, which has the same effect as in the `microstrategy.embeddingContexts.embedReportPage` function. #### Required? @@ -221,7 +221,7 @@ microstrategy.embeddingContexts.embedReportPage({ The custom error handler that executes when the error occurs in the initial loading process. It's a callback function that contains one parameter, `error`. The error object has a `message` property, which contains the detailed error message. -When `errorHandler` is set, errors that occur inside the report page produce an error in the browser console. See the detailed behavior in [The overall MicroStrategy Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-microstrategy-library-error-behavior-in-embed-case). +When `errorHandler` is set, errors that occur inside the report page produce an error in the browser console. See the detailed behavior in [The overall Library error behavior in embed case](../add-functionality/error-handling.md#the-overall-library-error-behavior-in-embed-case). #### Required? @@ -282,7 +282,7 @@ microstrategy.embeddingContexts.embedReportPage({ Specifies the application that the user wants to show in the embedded page. -The application in MicroStrategy has two categories: +The application in Strategy has two categories: - If the application selects the Library home page as its home screen, the Library home page is embedded with the application's configuration. - If the application selects a dashboard as its home screen, the embedding fails and an error occurs. @@ -301,7 +301,7 @@ N/A ### `customUi` -Specifies the custom UI settings on the embedded pages, including the MicroStrategy Library home, dashboard consumption,dashboard authoring, and report consumption pages. +Specifies the custom UI settings on the embedded pages, including the Library home, dashboard consumption,dashboard authoring, and report consumption pages. #### Properties @@ -309,7 +309,7 @@ See all properties in [The customized UI settings in Embedding SDK](../embed-lib #### The navigation bar custom setting behavior -The `customUi.reportConsumption.navigationBar.enabled` property affects the report page UI together with the navigation bar setting in the application settings. There are two related items in the MicroStrategy Workstation application settings: +The `customUi.reportConsumption.navigationBar.enabled` property affects the report page UI together with the navigation bar setting in the application settings. There are two related items in the Workstation application settings: - Disable toolbar - Collapse toolbar by default diff --git a/docs/embedding-context/bot-consumption-page-apis.md b/docs/embedding-context/bot-consumption-page-apis.md index 2b565f3..93bc38b 100644 --- a/docs/embedding-context/bot-consumption-page-apis.md +++ b/docs/embedding-context/bot-consumption-page-apis.md @@ -1,9 +1,9 @@ --- title: Bot consumption page APIs -description: Describes which Embedding SDK APIs are available on the MicroStrategy Bot consumption page. +description: Describes which Embedding SDK APIs are available on the Strategy Bot consumption page. --- -The `embedBotConsumptionPage` object is the manipulator of the MicroStrategy dashboard consumption page. It could be got by `embeddingContext.embedBotConsumptionPage`. +The `embedBotConsumptionPage` object is the manipulator of the Strategy dashboard consumption page. It could be got by `embeddingContext.embedBotConsumptionPage`. The details of the `embeddingContext` object could be seen in [Embedding context](./embedding-context.md). diff --git a/docs/embedding-context/document-consumption-page-apis.md b/docs/embedding-context/document-consumption-page-apis.md new file mode 100644 index 0000000..1884b50 --- /dev/null +++ b/docs/embedding-context/document-consumption-page-apis.md @@ -0,0 +1,51 @@ +--- +title: Document consumption page APIs +description: Describes which Embedding SDK APIs are available on the Strategy Document consumption page. +--- + +The `documentConsumption` object is the manipulator of the Strategy dashboard consumption page. It could be got by `embeddingContext.documentConsumption`. + +The details of the `embeddingContext` object could be seen in [Embedding context](./embedding-context.md). + +The APIs under embed botConsumption page object are as below. + +### `selectLayouts(layoutKeys)` + +#### Description + +This API can be used to select layouts on an embedded document consumption page which is already loaded. +If the document consumption page is loading, then the layout selection will be triggered after it is initialized. + +#### Class + +`DocumentConsumptionService` + +#### Input Parameters + +- `layoutKeys`: + + **Data Type** + + `array` + + **Required?** + + Yes + +#### Return type + +This API would return a Promise object that resolves to nothing. + +#### Example + +```js +await embeddingContext.documentConsumption.selectLayouts(["K52", "W63"]); +``` + +#### API errors + +This API would report an error in these cases: + +- When the document page is not in the component selection mode. +- When the layout key does not exist. +- When the document page is in the single selection mode, but the `layoutKeys` contain more than 1 layout key. diff --git a/docs/embedding-context/dossier-consumption-page-apis.md b/docs/embedding-context/dossier-consumption-page-apis.md index 8b8c388..79d3f65 100644 --- a/docs/embedding-context/dossier-consumption-page-apis.md +++ b/docs/embedding-context/dossier-consumption-page-apis.md @@ -1,9 +1,9 @@ --- title: Dashboard consumption page APIs -description: Describes which Embedding SDK APIs are available on the MicroStrategy dashboard consumption page. +description: Describes which Embedding SDK APIs are available on the Strategy dashboard consumption page. --- -The `dossierConsumption` object is the manipulator of the MicroStrategy dashboard consumption page. It could be got by `embeddingContext.dossierConsumption`. +The `dossierConsumption` object is the manipulator of the Strategy dashboard consumption page. It could be got by `embeddingContext.dossierConsumption`. The details of the `embeddingContext` object could be seen in [Embedding context](./embedding-context.md). @@ -181,6 +181,42 @@ try { } ``` +### `selectPanels(panelKeys)` + +#### Description + +This API could be used to select panels on a dashboard consumption page. + +#### Class + +`DossierConsumption` + +#### Input Parameters + +- `panelKeys`: + + **Data Type** + + `array` + + **Required?** + + Yes + +#### Return type + +This API would return a Promise object that resolves to void. If it encounters an error in its executing process, the error would be thrown and could be caught. + +#### Example + +```js +try { + const response = await embeddingContext.dossierConsumption.selectComponents(["W53"]); +} catch (err) { + // The other error handling logic here +} +``` + ### `getDossierInstanceId()` #### Description diff --git a/docs/embedding-context/embedding-context.md b/docs/embedding-context/embedding-context.md index 35a6069..ce6afc4 100644 --- a/docs/embedding-context/embedding-context.md +++ b/docs/embedding-context/embedding-context.md @@ -27,6 +27,7 @@ This `embeddingContext` object could be used when the user navigates between dif - `libraryPage`: used for call the APIs that interact with the Library homepage. The detailed APIs could be seen in [Library page APIs](./library-page-apis.md) - `dossierConsumption`: used for call the APIs that interact with the dashboard consumption page. The detailed APIs could be seen in [Dashboard consumption page APIs](./dossier-consumption-page-apis.md) +- `documentConsumption`: used for call the APIs that interact with the document consumption page. The detailed APIs could be seen in [Document consumption page APIs](./document-consumption-page-apis.md) - `botConsumptionService` used for call the APIs that interact withe the bot consumption page. The detailed APIs could be seen in [Bot consumption page APIs](./bot-consumption-page-apis.md) If the current embedded page is the Library homepage, and the user uses the manipulation object of the other pages, like `embeddingContext.dossierConsumption` to call the APIs of the other page, there would be an error. @@ -63,7 +64,7 @@ See the identical function in [Event handlers](../add-functionality/add-event#re #### Description -See the identical function in [Custom error handling after dashboard creation](../add-functionality/error-handling#custom-error-handling-after-dossier-creation). +See the identical function in [Custom error handling after dashboard creation](../add-functionality/error-handling#custom-error-handling-after-dashboard-creation). ### `removeCustomErrorHandler()` @@ -73,7 +74,7 @@ See the identical function in [Custom error handling after dashboard creation](. #### Description -See the identical function in [Custom error handling after dashboard creation](../add-functionality/error-handling#custom-error-handling-after-dossier-creation). +See the identical function in [Custom error handling after dashboard creation](../add-functionality/error-handling#custom-error-handling-after-dashboard-creation). ### `addSessionErrorHandler(handler)` @@ -83,7 +84,7 @@ See the identical function in [Custom error handling after dashboard creation](. #### Description -See the identical function in [Session error handling after dashboard creation](../add-functionality/error-handling#session-error-handling-after-dossier-creation). +See the identical function in [Session error handling after dashboard creation](../add-functionality/error-handling#session-error-handling-after-dashboard-creation). ### `removeSessionErrorhandler()` @@ -93,7 +94,7 @@ See the identical function in [Session error handling after dashboard creation]( #### Description -See the identical function in [Session error handling after dashboard creation](../add-functionality/error-handling#session-error-handling-after-dossier-creation). +See the identical function in [Session error handling after dashboard creation](../add-functionality/error-handling#session-error-handling-after-dashboard-creation). ### `goToPage(pageInfo)` diff --git a/docs/embedding-context/library-page-apis.md b/docs/embedding-context/library-page-apis.md index 3eec51e..0cbf36a 100644 --- a/docs/embedding-context/library-page-apis.md +++ b/docs/embedding-context/library-page-apis.md @@ -1,9 +1,9 @@ --- title: Library page APIs -description: Describes which Embedding SDK APIs are available on the MicroStrategy Library home page. +description: Describes which Embedding SDK APIs are available on the Library home page. --- -The `LibraryPage` object is the manipulator of the MicroStrategy Library home page. It could be got by `embeddingContext.libraryPage`. +The `LibraryPage` object is the manipulator of the Library home page. It could be got by `embeddingContext.libraryPage`. The details of the `embeddingContext` object could be seen in [Embedding context](./embedding-context.md). diff --git a/docs/index.md b/docs/index.md index 7bef34a..fba7c57 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,24 +1,24 @@ --- title: Introduction to the Embedding SDK slug: / -description: The Embedding SDK allows you to quickly integrate a MicroStrategy dashboard into a web application in a responsive manner. It also provides resources to add functionality such as controlling navigation, retrieving and applying filters, setting properties, and managing events, and supports several different authentication environments. +description: The Embedding SDK allows you to quickly integrate a Strategy dashboard into a web application in a responsive manner. It also provides resources to add functionality such as controlling navigation, retrieving and applying filters, setting properties, and managing events, and supports several different authentication environments. --- -The Embedding SDK allows you to quickly integrate a MicroStrategy dashboard into a web application in a responsive manner. It also provides resources to add functionality such as controlling navigation, retrieving and applying filters, setting properties, and managing events, and supports several different authentication environments. +The Embedding SDK allows you to quickly integrate a Strategy dashboard into a web application in a responsive manner. It also provides resources to add functionality such as controlling navigation, retrieving and applying filters, setting properties, and managing events, and supports several different authentication environments. There are three basic steps for embedding a dashboard. -1. In the initial page of your web application, add a link to the MicroStrategy JavaScript Embedding SDK. +1. In the initial page of your web application, add a link to the Strategy JavaScript Embedding SDK. ```html ``` - Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual MicroStrategy Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). + Replace `{YOUR_LIBRARY_SERVER_URL}` with your actual Library Server URL, e.g., [https://demo.microstrategy.com/MicroStrategyLibrary](https://demo.microstrategy.com/MicroStrategyLibrary). :::tip - If the application server is different from the server running the MicroStrategyLibrary application, you may need to [perform additional configuration to support Cross-Origin Resource Sharing (CORS)](./config.md). + If the application server is different from the server running the StrategyLibrary application, you may need to [perform additional configuration to support Cross-Origin Resource Sharing (CORS)](./config.md). ::: diff --git a/docs/native-embedding-architecture/apply-filter.md b/docs/native-embedding-architecture/apply-filter.md index 213fd73..0f66a90 100644 --- a/docs/native-embedding-architecture/apply-filter.md +++ b/docs/native-embedding-architecture/apply-filter.md @@ -5,7 +5,7 @@ description: Filters can be applied both during the execution of an embedded das -Filters can be applied both during the execution of an embedded dashboard and after it has been rendered. After using [Native Embedding SDK](embed-multiple-viz.md) to embed multiple visualizations in a client's webpage, you can manipulate the chapter-level filters, on-page selectors, and visualizations used as filters via the Native Embedding SDK available since 2021 Update 9. For chapter-level filters and on-page selectors, MicroStrategy only supports attribute element list selectors. +Filters can be applied both during the execution of an embedded dashboard and after it has been rendered. After using [Native Embedding SDK](embed-multiple-viz.md) to embed multiple visualizations in a client's webpage, you can manipulate the chapter-level filters, on-page selectors, and visualizations used as filters via the Native Embedding SDK available since 2021 Update 9. For chapter-level filters and on-page selectors, Strategy only supports attribute element list selectors. Let's say you already have the `MstrEnvironment` and `MstrDossier` objects: @@ -440,3 +440,45 @@ try { // Your own error handling code } ``` + +### `MstrDossier.applyFilters` examples + +The `MstrDossier.applyFilters(filters)` function is the batch version of `MstrDossier.applyFilter(filter)` API. Its parameter `filters` is an array of filters, whose types are totally equal to the [filter types](#filter-types-and-filter-details) above. + +An example is like this: + +```js +try { + await mstrDossier.applyFilters([ + { + key: "K46", + currentSelection: { + selectionStatus: "unfiltered", + }, + }, + { + key: "K52", + currentSelection: { + selectionStatus: "included", + type: "metric_element_list", + attributes: [ + { + id: "8D679D4511D3E4981000E787EC6DE8A4", + name: "Month of Year", + }, + ], + selections: [ + [ + { + id: "h6;8D679D4511D3E4981000E787EC6DE8A4", + name: "June", + }, + ], + ], + }, + }, + ]); +} catch (error) { + // Your own error handling code +} +``` diff --git a/docs/native-embedding-architecture/embed-bot-visualizations.md b/docs/native-embedding-architecture/embed-bot-visualizations.md index bfdb6fb..629a3af 100644 --- a/docs/native-embedding-architecture/embed-bot-visualizations.md +++ b/docs/native-embedding-architecture/embed-bot-visualizations.md @@ -3,7 +3,7 @@ title: Embed multiple bot visualizations on a page description: Embed multiple bot visualizations on a page --- - + ## Purpose diff --git a/docs/native-embedding-architecture/embed-multiple-viz.md b/docs/native-embedding-architecture/embed-multiple-viz.md index ce5d2c9..a9b2fc4 100644 --- a/docs/native-embedding-architecture/embed-multiple-viz.md +++ b/docs/native-embedding-architecture/embed-multiple-viz.md @@ -9,7 +9,7 @@ description: Embed multiple dossier visualizations on a page You can use the Native Embedding SDK to embed multiple visualizations in a client's webpage, with high performance that is similar to loading one out-of-the-box Library dashboard page. -Custom visualizations are also supported. To embed custom visualizations, you should deploy them on MicroStrategy Library first. To deploy custom visualizations on MicroStrategy Library, refer to [Deploy a custom visualization](https://www2.microstrategy.com/producthelp/Current/VisSDK/Content/topics/HTML5/Deploying_a_custom_visualization.htm). +Custom visualizations are also supported. To embed custom visualizations, you should deploy them on Library first. To deploy custom visualizations on Library, refer to [Deploy a custom visualization](https://www2.microstrategy.com/producthelp/Current/VisSDK/Content/topics/HTML5/Deploying_a_custom_visualization.htm). Here is a live demo for this in [Embedding Playground](https://microstrategy.github.io/playground/?example=g28). diff --git a/docs/native-embedding-architecture/embedding-components.md b/docs/native-embedding-architecture/embedding-components.md index 1a9f186..4ebb5b5 100644 --- a/docs/native-embedding-architecture/embedding-components.md +++ b/docs/native-embedding-architecture/embedding-components.md @@ -17,10 +17,10 @@ This is the entry point of the Native Embedding SDK. #### Input Parameters -| Parameter Name | Data Type | Description | Is Required | -| ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | -| props.serverUrl | String | The base URL of the Library server | true | -| props.getAuthToken | function | The function for getting the login token.
This function is similar to `getAuthToken` in `microstrategy.dossier.create`.
In 2021 Update 9, MicroStrategy only supports auth token. You can get the auth token with any auth mode. | true | +| Parameter Name | Data Type | Description | Is Required | +| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | +| props.serverUrl | String | The base URL of the Library server | true | +| props.getAuthToken | function | The function for getting the login token.
This function is similar to `getAuthToken` in `microstrategy.dossier.create`.
In 2021 Update 9, Strategy only supports auth token. You can get the auth token with any auth mode. | true | #### Response diff --git a/docs/native-embedding-architecture/mstr-bot-visualization.md b/docs/native-embedding-architecture/mstr-bot-visualization.md index 6376f8e..4c9959e 100644 --- a/docs/native-embedding-architecture/mstr-bot-visualization.md +++ b/docs/native-embedding-architecture/mstr-bot-visualization.md @@ -3,9 +3,9 @@ title: MstrBotVisualization class description: MstrBotVisualization class --- - + -The object returned from the `MstrBot.renderVisualization()` function, which allows access to the MicroStrategy bot visualization object. +The object returned from the `MstrBot.renderVisualization()` function, which allows access to the Strategy bot visualization object. ## APIs diff --git a/docs/native-embedding-architecture/mstr-bot.md b/docs/native-embedding-architecture/mstr-bot.md index a6465e7..c40ab26 100644 --- a/docs/native-embedding-architecture/mstr-bot.md +++ b/docs/native-embedding-architecture/mstr-bot.md @@ -3,9 +3,9 @@ title: MstrBot class description: MstrBot class --- - + -The object returned from the `MstrEnvironment.loadBot()` function, which allows access to the MicroStrategy bot object. +The object returned from the `MstrEnvironment.loadBot()` function, which allows access to the Strategy bot object. ## APIs diff --git a/docs/native-embedding-architecture/mstr-dossier.md b/docs/native-embedding-architecture/mstr-dossier.md index 6a24ce4..fe338d3 100644 --- a/docs/native-embedding-architecture/mstr-dossier.md +++ b/docs/native-embedding-architecture/mstr-dossier.md @@ -5,7 +5,7 @@ description: MstrDossier class -The object returned from the `MstrEnvironment.loadDossier()` function, which allows access to the MicroStrategy dashboard object. +The object returned from the `MstrEnvironment.loadDossier()` function, which allows access to the Strategy dashboard object. ## APIs diff --git a/docs/native-embedding-architecture/mstr-environment.md b/docs/native-embedding-architecture/mstr-environment.md index bfeb544..324f646 100644 --- a/docs/native-embedding-architecture/mstr-environment.md +++ b/docs/native-embedding-architecture/mstr-environment.md @@ -5,7 +5,7 @@ description: MstrEnvironment class -The instance of this class is the object returned from the `microstrategy.embeddingComponent.environments.create()` function, which allows access to the MicroStrategy application. `MstrEnvironment` class represents one MicroStrategy Library Application identified by a URL. +The instance of this class is the object returned from the `microstrategy.embeddingComponent.environments.create()` function, which allows access to the Strategy application. `MstrEnvironment` class represents one Library Application identified by a URL. ## APIs diff --git a/docs/native-embedding-architecture/vis-manipulation.md b/docs/native-embedding-architecture/vis-manipulation.md index 7523f34..a9172c1 100644 --- a/docs/native-embedding-architecture/vis-manipulation.md +++ b/docs/native-embedding-architecture/vis-manipulation.md @@ -5,7 +5,7 @@ description: You can do manipulation on the embedded visualizations after they h -The embedded visualizations can be manipulated the same way as they are seen on MicroStrategy Library dashboard pages. +The embedded visualizations can be manipulated the same way as they are seen on Library dashboard pages. Currently, the supported manipulation types include element selection inside a visualization, actions inside the right-click menu, and actions triggered by clicking, dragging, and scrolling inside a visualization @@ -43,14 +43,14 @@ Once the embedded visualizations are rendered, clicking on the elements in the v After the embedded visualizations have been rendered, you can right-click on the visualization. Normally, this manipulation triggers a pop-up menu and you can click a menu option to apply an action. -MicroStrategy supports most of the manipulations in the right-click menu within Library, except clicking the `Show Data` and `Go To Page` items in the right-click menu of visualization. These two icons are hidden. +Strategy supports most of the manipulations in the right-click menu within Library, except clicking the `Show Data` and `Go To Page` items in the right-click menu of visualization. These two icons are hidden. ## Click, drag, and scroll in the visualization After the embedded visualizations have been rendered, you can click the icon to open a pop-up menu with multiple actions you can select. You can also click a column line and drag it, click the legend and drag it, scroll down to load more data, and so on. -MicroStrategy supports most of the manipulations within Library, except clicking the menu or maximize icons in the top-right corner of visualization. These two icons are hidden. +Strategy supports most of the manipulations within Library, except clicking the menu or maximize icons in the top-right corner of visualization. These two icons are hidden. ## How actions affect the loading bar diff --git a/docs/playground.md b/docs/playground.md index 5fe62fb..c7ebbc2 100644 --- a/docs/playground.md +++ b/docs/playground.md @@ -1,9 +1,9 @@ --- title: Embedding SDK Playground -description: MicroStrategy’s Embedding SDK Playground is the one-stop shop for developers to build impactful, interactive analytics experiences that integrate seamlessly with websites and applications. +description: Strategy’s Embedding SDK Playground is the one-stop shop for developers to build impactful, interactive analytics experiences that integrate seamlessly with websites and applications. --- -MicroStrategy’s Embedding SDK Playground is the one-stop shop for developers to build impactful, interactive analytics experiences that integrate seamlessly with websites and applications. +Strategy’s Embedding SDK Playground is the one-stop shop for developers to build impactful, interactive analytics experiences that integrate seamlessly with websites and applications. Just use the intuitive drag-and-drop interfaces to define the perfect user experience, test it out in real time, and then let the platform automatically generate the code for you. You’ll turn your application into platform for Intelligence Everywhere in no time. diff --git a/docs/samples.md b/docs/samples.md index bad18a6..6755115 100644 --- a/docs/samples.md +++ b/docs/samples.md @@ -1,8 +1,8 @@ --- title: More examples -description: There are examples hosted on [GitHub](https://microstrategy.github.io/playground/), from the simple example to showcase one specific feature of Embedding SDK to more complicated application with a lot of integration with MicroStrategy's REST API and third-party SDK. +description: There are examples hosted on [GitHub](https://microstrategy.github.io/playground/), from the simple example to showcase one specific feature of Embedding SDK to more complicated application with a lot of integration with Strategy's REST API and third-party SDK. --- -There are examples hosted on [GitHub](https://microstrategy.github.io/playground/), from the simple example to showcase one specific feature of Embedding SDK to more complicated application with a lot of integration with MicroStrategy's REST API and third-party SDK. +There are examples hosted on [GitHub](https://microstrategy.github.io/playground/), from the simple example to showcase one specific feature of Embedding SDK to more complicated application with a lot of integration with Strategy's REST API and third-party SDK. -MicroStrategy REST API is the backbone of MicroStrategy’s open architecture. MicroStrategy REST API is widely used in the examples. For more information about MicroStrategy REST API, please visit [the documentation](https://microstrategy.github.io/rest-api-docs/), play with the live [API Explorer](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html), and play with our [REST API Playground](https://github.com/MicroStrategy/rest-api-playground). +Strategy REST API is the backbone of Strategy’s open architecture. Strategy REST API is widely used in the examples. For more information about Strategy REST API, please visit [the documentation](https://microstrategy.github.io/rest-api-docs/), play with the live [API Explorer](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html), and play with our [REST API Playground](https://github.com/MicroStrategy/rest-api-playground). diff --git a/docs/support-for-different-authentication-environments/authentication-saml.md b/docs/support-for-different-authentication-environments/authentication-saml.md index a115df5..572a3f7 100644 --- a/docs/support-for-different-authentication-environments/authentication-saml.md +++ b/docs/support-for-different-authentication-environments/authentication-saml.md @@ -13,22 +13,22 @@ Here is the workflow of the example. 1. Client Application checks if auth token is still valid. If yes, jumps to Step 4. -1. Client Application opens the MicroStrategy Library Web login page (`https://[Your MicroStrategy Environment]/MicroStrategyLibrary/auth/login-dialog.jsp`) in a new tab. The login page will be responsible for showing a login dialog. +1. Client Application opens the Library Web login page (`https://[Your Strategy Environment]/MicroStrategyLibrary/auth/login-dialog.jsp`) in a new tab. The login page will be responsible for showing a login dialog. 1. After the user finishes logging in, the login page will send a JavaScript message to inform the Client Application. -1. The Client Application gets the message, fetches the auth token, and uses it to make REST API calls or uses it in MicroStrategy’s Embedding SDK. +1. The Client Application gets the message, fetches the auth token, and uses it to make REST API calls or uses it in Strategy’s Embedding SDK. You may encounter some difficulties in this workflow: -- The MicroStrategy Library Web login page couldn't be opened in a new tab. +- The Library Web login page couldn't be opened in a new tab. - This might be caused by your Chrome site settings doesn't allow pop-ups. - In this case, you will see an icon on the right of location bar, which notifies you the pop-ups are blocked: ![pop-ups are blocked](../images/popup-blocked.png) You need to unblock the pop-ups like this: ![unblock pop-ups](../images/unblock-popup.png) -- The user finishes logging in, but the Client Application doesn't proceed. The MicroStrategy Library Web login page isn't closed and the embeded dossier doesn't show. - - This might be caused by your strict CSP settings. If your [COOP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy)(Cross-Origin-Opener-Policy) setting is [same-origin](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy#same-origin), the MicroStrategy Library Web login page can't get the Client Application window so can't send messages to it. +- The user finishes logging in, but the Client Application doesn't proceed. The Library Web login page isn't closed and the embeded dossier doesn't show. + - This might be caused by your strict CSP settings. If your [COOP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy)(Cross-Origin-Opener-Policy) setting is [same-origin](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy#same-origin), the Library Web login page can't get the Client Application window so can't send messages to it. - In this case, you need to change your COOP setting to [unsafe-none](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy#unsafe-none), which is the default value. Then the login process will work. ## For MicroStrategy ONE June 2024 or after diff --git a/docs/support-for-different-authentication-environments/guest-authentication-mode-only.md b/docs/support-for-different-authentication-environments/guest-authentication-mode-only.md index bb002e0..23ad610 100644 --- a/docs/support-for-different-authentication-environments/guest-authentication-mode-only.md +++ b/docs/support-for-different-authentication-environments/guest-authentication-mode-only.md @@ -5,9 +5,9 @@ description: The example in this topic illustrates how to seamlessly display an The Embedding SDK allows you to quickly integrate dossiers into a web application in a responsive manner. The code required for the dashboard to be displayed without requesting credentials depends on the how authentication is configured for the environment where the embedded dashboard is hosted. The example in this topic illustrates how to seamlessly display an embedded dashboard using Guest authentication when Guest is the only authentication mode that is enabled. -To help you get started, we have provided [a live example](https://microstrategy.github.io/playground/?example=g2) in the [Embedding SDK Playground](https://microstrategy.github.io/playground/). By design, the code in this example only shows how to embed a dashboard and nothing else, and it embeds an existing dashboard from the MicroStrategy Library demo site, which has only Guest authentication enabled. +To help you get started, we have provided [a live example](https://microstrategy.github.io/playground/?example=g2) in the [Embedding SDK Playground](https://microstrategy.github.io/playground/). By design, the code in this example only shows how to embed a dashboard and nothing else, and it embeds an existing dashboard from the Library demo site, which has only Guest authentication enabled. -We have provided simple instructions and code snippets to help you configure the example to use a dashboard from your MicroStrategy Library Server. If you customize the example, however, you must configure your Library Server to support only Guest authentication. +We have provided simple instructions and code snippets to help you configure the example to use a dashboard from your Library Server. If you customize the example, however, you must configure your Library Server to support only Guest authentication. Please also check out the examples in [Embedding SDK Playground](https://microstrategy.github.io/playground/) from the "Start over" button. @@ -58,13 +58,13 @@ Because this simple embedding example uses a dashboard on the demo server, you a :::tip -**To customize the example to use your MicroStrategy Library Server**: +**To customize the example to use your Library Server**: -1. Decide where you want to have the HTML page. If the domain is different from your MicroStrategy Library Server's domain, you may need to [perform additional configuration to support Cross-Origin Resource Sharing (CORS)](../config.md). +1. Decide where you want to have the HTML page. If the domain is different from your Library Server's domain, you may need to [perform additional configuration to support Cross-Origin Resource Sharing (CORS)](../config.md). 1. In an IDE, text editor or [Embedding SDK Playground](https://microstrategy.github.io/playground/), open the HTML file and configure it to reflect the values in your environment: - - Set the value of the `src` attribute in the first ` ``` - The `embeddinglib.js` file, which contains the Embedding SDK, is included in the MicroStrategyLibrary web application. + The `embeddinglib.js` file, which contains the Embedding SDK, is included in the StrategyLibrary web application. - Set the value for url to reference a dashboard in a project in your environment. First, replace `demo.microstrategy.com` with your server path and then replace `B7CA92F04B9FAE8D941C3E9B7E0CD754` and `27D332AC6D43352E0928B9A1FCAF4AB0` with your Project ID and Dashboard ID. @@ -84,7 +84,7 @@ Because this simple embedding example uses a dashboard on the demo server, you a :::tip - You can obtain the value of your Project ID and Dashboard ID by running a dashboard in MicroStrategy Library and copying the URL. + You can obtain the value of your Project ID and Dashboard ID by running a dashboard in Library and copying the URL. ::: diff --git a/docs/support-for-different-authentication-environments/multiple-modes.md b/docs/support-for-different-authentication-environments/multiple-modes.md index d6627d9..7f8206a 100644 --- a/docs/support-for-different-authentication-environments/multiple-modes.md +++ b/docs/support-for-different-authentication-environments/multiple-modes.md @@ -7,7 +7,7 @@ The example in this topic illustrates how to seamlessly display an embedded dash ## Set up Library Server -Enable Guest and other authentications in MicroStrategy Library Admin. +Enable Guest and other authentications in Library Admin. ![MSTR Library Admin Guest Auth](../images/MstrLibraryAdmin_GuestAuth.png) diff --git a/docs/support-for-different-authentication-environments/new-authentication-apis.md b/docs/support-for-different-authentication-environments/new-authentication-apis.md index efa2b61..8b7848e 100644 --- a/docs/support-for-different-authentication-environments/new-authentication-apis.md +++ b/docs/support-for-different-authentication-environments/new-authentication-apis.md @@ -38,7 +38,7 @@ microstrategy.embeddingContexts.embedLibraryPage({ This API would have the wrong behavior or report an error in the cases below: - When `serverUrl` is not a Library server that supports SAML login. -- When the client application can't get the MicroStrategy login window because of [COOP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) setting is too strict. +- When the client application can't get the Strategy login window because of [COOP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) setting is too strict. ### `microstrategy.auth.oidcLogin(serverUrl)` @@ -71,4 +71,4 @@ microstrategy.embeddingContexts.embedLibraryPage({ This API would have the wrong behavior or report an error in the cases below: - When `serverUrl` is not a Library server that supports OIDC login. -- When the client application can't get the MicroStrategy login window because of [COOP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) setting is too strict. +- When the client application can't get the Strategy login window because of [COOP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) setting is too strict. diff --git a/docs/support-for-different-authentication-environments/seamless-login.md b/docs/support-for-different-authentication-environments/seamless-login.md index 14d7765..776db30 100644 --- a/docs/support-for-different-authentication-environments/seamless-login.md +++ b/docs/support-for-different-authentication-environments/seamless-login.md @@ -3,11 +3,11 @@ title: Seamless login using identity token description: How to do seamless login with identity token --- -When you embed a MicroStrategy dashboard in your application, you can provide a seamless login experience for users who are already authenticated on your server so that they don't have to authenticate again on the MicroStrategy Server. +When you embed a Strategy dashboard in your application, you can provide a seamless login experience for users who are already authenticated on your server so that they don't have to authenticate again on the Strategy Server. -For example, assume that a user is already authenticated with a third-party server and this 3rd-party server is managing the user credentials so that it can authenticate with other applications on the user's behalf. (The third-party server is responsible for securing the data and initiating authentication on HTTPS.) If a user has already logged into MicroStrategy Web, you can also get an identity token using MicroStrategy Task API. +For example, assume that a user is already authenticated with a third-party server and this 3rd-party server is managing the user credentials so that it can authenticate with other applications on the user's behalf. (The third-party server is responsible for securing the data and initiating authentication on HTTPS.) If a user has already logged into Web, you can also get an identity token using Strategy Task API. -MicroStrategy Embedding SDK supports [identity token](../add-functionality/methods-and-properties.md#customauthenticationtype) as a custom authentication type. +Strategy Embedding SDK supports [identity token](../add-functionality/methods-and-properties.md#customauthenticationtype) as a custom authentication type. ## Getting identity token from Library Server @@ -16,7 +16,7 @@ The authentication workflow is the following: ![Seamless login](../images/seamless_login.png) 1. The third-party application server logs in, invoking the REST API login endpoint (`POST /api/auth/login`) and providing the user's credential information. -1. Once the user is logged in, the identity token can be retrieved with the authorization token, using `POST /api/auth/identityToken`. The MicroStrategy Library Server returns an identity token to the caller in the response header. The identity token has a very short duration. +1. Once the user is logged in, the identity token can be retrieved with the authorization token, using `POST /api/auth/identityToken`. The Library Server returns an identity token to the caller in the response header. The identity token has a very short duration. 1. The client provides the identity token to the Embedding SDK, which is used for embedding a dashboard. 1. The SDK will exchange the identity token for an authorization token and use the authorization token to communicate with the Library Server in the subsequent requests. @@ -26,21 +26,21 @@ A live example can be seen on [GitHub](https://microstrategy.github.io/playgroun ::: -## Getting identity token from MicroStrategy Web +## Getting identity token from Web -If your user has already logged into MicroStrategy Web, you can get identity token from MicroStrategy Web and use the identity token in Embedding SDK. +If your user has already logged into Web, you can get identity token from Web and use the identity token in Embedding SDK. The authentication workflow is the following: ![Web Seamless Login](../images/web_seamless_login.jpg) -1. User has already logged into MicroStrategy Web. The client application calls `createIdentityToken` task. `POST /servlet/taskProc` with `taskId=createIdentityToken&taskContentType=json&taskEnv=xhr` in payload. See [Web SDK](https://www2.microstrategy.com/producthelp/Current/WEBSDK/Content/topics/taskinfr/TI_QuickStartGuide_UseTasks.htm) for how to use tasks. -1. The MicroStrategy Web returns an identity token to the caller in the response body. The identity token has a very short duration. +1. User has already logged into Web. The client application calls `createIdentityToken` task. `POST /servlet/taskProc` with `taskId=createIdentityToken&taskContentType=json&taskEnv=xhr` in payload. See [Web SDK](https://www2.microstrategy.com/producthelp/Current/WEBSDK/Content/topics/taskinfr/TI_QuickStartGuide_UseTasks.htm) for how to use tasks. +1. The Web returns an identity token to the caller in the response body. The identity token has a very short duration. 1. The client application provides the identity token to the Embedding SDK, which is used for embedding a dashboard. 1. The SDK will exchange the identity token for an authorization token and use the authorization token to communicate with the Library Server in the subsequent requests. :::tip -You need to enable seamless login between MicroStrategy Web and Library to use this workflow. See [this document](https://www2.microstrategy.com/producthelp/current/InstallConfig/en-us/Content/enable_seamless_login_web_library.htm) for details. +You need to enable seamless login between Web and Library to use this workflow. See [this document](https://www2.microstrategy.com/producthelp/current/InstallConfig/en-us/Content/enable_seamless_login_web_library.htm) for details. ::: diff --git a/docs/support-for-different-authentication-environments/standard-authentication.md b/docs/support-for-different-authentication-environments/standard-authentication.md index a5b5c35..ec40011 100644 --- a/docs/support-for-different-authentication-environments/standard-authentication.md +++ b/docs/support-for-different-authentication-environments/standard-authentication.md @@ -17,7 +17,7 @@ The workflow consists of: ## Set up Library Server -Enable Standard and optionally other authentication modes in MicroStrategy Library Admin. +Enable Standard and optionally other authentication modes in Library Admin. ![MSTR Library Admin Guest Auth](../images/MstrLibraryAdmin_GuestAuth.png) diff --git a/docs/support-for-different-authentication-environments/support-for-different-authentication-environments.md b/docs/support-for-different-authentication-environments/support-for-different-authentication-environments.md index 16845b4..4439a5d 100644 --- a/docs/support-for-different-authentication-environments/support-for-different-authentication-environments.md +++ b/docs/support-for-different-authentication-environments/support-for-different-authentication-environments.md @@ -7,7 +7,7 @@ When you embed a dashboard in an application, you want it to display as easily a - [Use guest authentication](./guest-authentication-mode-only.md) - This introductory sample embeds an existing dashboard on the MicroStrategy demo server. Because only Guest authentication is enabled on the demo server, no credentials are required and the embedded dashboard is displayed seamlessly in the application. + This introductory sample embeds an existing dashboard on the Strategy demo server. Because only Guest authentication is enabled on the demo server, no credentials are required and the embedded dashboard is displayed seamlessly in the application. There are also instructions for customizing the sample to use a different server and dashboard. In order for the embedded dashboard to be displayed seamlessly in that environment, the server you use must be configured to have only Guest authentication. @@ -27,11 +27,11 @@ When you embed a dashboard in an application, you want it to display as easily a :::tip -If you plan to use Embedding SDK on a web page on a different domain from your MicroStrategy environment, please also meet the following requirements. More information in +If you plan to use Embedding SDK on a web page on a different domain from your Strategy environment, please also meet the following requirements. More information in 1. [Enable Cross-Origin Resource Sharing (CORS)](../config.md) 1. [Allow SameSite cookies](../config.md#allow-samesite-cookies) -If you plan to use Embedding SDK on the same domain as your MicroStrategy, the above changes are not required. +If you plan to use Embedding SDK on the same domain as your Strategy, the above changes are not required. ::: diff --git a/docs/whats-new-in-the-embedding-sdk.md b/docs/whats-new-in-the-embedding-sdk.md index 304b7c0..90f7cce 100644 --- a/docs/whats-new-in-the-embedding-sdk.md +++ b/docs/whats-new-in-the-embedding-sdk.md @@ -5,6 +5,17 @@ description: In each release, changes are made to make the MicroStrategy SDK mor In each release, changes are made to make the MicroStrategy SDK more powerful and easier to use. +## MicroStrategy ONE March 2025 + +- [Embed MicroStrategy document consumption page.](./embed-document-consumption-page/embed-document-consumption-page.md) + - Provide API to embed a document consumption page. +- [Embed MicroStrategy dashboard consumption page.](./embed-dossier-consumption-page/embed-dossier-consumption-properties#dossierconsumption) + - Introduce `panelSelectionMode` to enable panel selection on a dashboard consumption page. +- [Native Embedding SDK - Retrieve and apply filters](./native-embedding-architecture/apply-filter.md#mstrdossierapplyfilters-examples) + - Introduce `MstrDossier.applyFilters` to apply multiple filters in one API. +- [A new embedding context API.](./embedding-context/dossier-consumption-page-apis#selectpanelspanelkeys) + - Introduce a new API, `selectPanels(panelKeys)`, to programmatically select panels on the dossier consumption page. + ## MicroStrategy ONE December 2024 - [Embed MicroStrategy dashboard consumption page.](./embed-dossier-consumption-page/embed-dossier-consumption-page.md) @@ -43,7 +54,7 @@ In each release, changes are made to make the MicroStrategy SDK more powerful an - [New OAuth APIs for SAML and OIDC login.](./support-for-different-authentication-environments/new-authentication-apis.md) - You can call the new APIs to simplify the original SAML or OIDC workflow. -## MicroStrategy One March 2024 +## MicroStrategy ONE March 2024 - Rename 'dossier' into 'dashboard'. - [Embed Bot Visualizations with Native Embedding SDK.](./native-embedding-architecture/embed-bot-visualizations.md) @@ -91,7 +102,7 @@ In each release, changes are made to make the MicroStrategy SDK more powerful an - Control the display of items in the authoring toolbar. - Control the display of authoring panels. - Support for creating a new dashboard. -- [Show or hide all entries for a subscription.](./add-functionality/methods-and-properties.md#methods-and-properties#sharefeature) +- [Show or hide all entries for a subscription.](./add-functionality/methods-and-properties.md#properties) ## 2021 Update 3 @@ -106,7 +117,7 @@ In each release, changes are made to make the MicroStrategy SDK more powerful an ## 2021 - [More updates in error handling.](./add-functionality/error-handling.md) -- [Apply multiple filters after a dashboard is rendered.](./add-functionality/filters.md#apply-multiple-filters-after-the-dossier-is-rendered) +- [Apply multiple filters after a dashboard is rendered.](./add-functionality/filters.md#apply-multiple-filters-after-the-dashboard-is-rendered) - [Show or hide the `shareDossier` function.](./add-functionality/methods-and-properties.md#sharefeature) ## 2020 Update 3 @@ -115,7 +126,7 @@ In each release, changes are made to make the MicroStrategy SDK more powerful an ## 2020 Update 2 -A new method to [remove an embedded dashboard](./add-functionality/methods-and-properties.md#method-for-removing-an-embedded-dossier). +A new method to [remove an embedded dashboard](./add-functionality/methods-and-properties.md#method-for-removing-an-embedded-dashboard). ## 2019 diff --git a/docusaurus.config.js b/docusaurus.config.js index 498602a..51f6072 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -70,7 +70,7 @@ const config = { ({ navbar: { logo: { - alt: "MicroStrategy Developer", + alt: "Strategy Developer", src: "img/dev-docs-logo.png", href: "https://microstrategy.github.io/", }, diff --git a/sidebars.js b/sidebars.js index c33c15a..6540a1c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -64,7 +64,7 @@ const sidebars = { type: "doc", id: "embed-library-main-page/embed-library-main-page", }, - label: "Embed MicroStrategy Library home page", + label: "Embed Library home page", items: [ "embed-library-main-page/embed-library-properties", "embed-library-main-page/embed-custom-ui-on-all-pages", @@ -76,16 +76,25 @@ const sidebars = { type: "doc", id: "embed-dossier-consumption-page/embed-dossier-consumption-page", }, - label: "Embed MicroStrategy dashboard consumption page", + label: "Embed Strategy dashboard consumption page", items: ["embed-dossier-consumption-page/embed-dossier-consumption-properties"], }, + { + type: "category", + link: { + type: "doc", + id: "embed-document-consumption-page/embed-document-consumption-page", + }, + label: "Embed Strategy document consumption page", + items: ["embed-document-consumption-page/embed-document-consumption-properties"], + }, { type: "category", link: { type: "doc", id: "embed-bot-consumption-page/embed-bot-consumption-page", }, - label: "Embed MicroStrategy bot consumption page", + label: "Embed Strategy bot consumption page", items: ["embed-bot-consumption-page/embed-bot-consumption-properties"], }, { @@ -94,7 +103,7 @@ const sidebars = { type: "doc", id: "embed-report-page/embed-report-page", }, - label: "Embed MicroStrategy report page", + label: "Embed Strategy report page", items: ["embed-report-page/embed-report-properties"], }, { @@ -106,6 +115,7 @@ const sidebars = { label: "Embedding context", items: [ "embedding-context/library-page-apis", + "embedding-context/document-consumption-page-apis", "embedding-context/dossier-consumption-page-apis", "embedding-context/bot-consumption-page-apis", ], diff --git a/src/css/custom.css b/src/css/custom.css index 41377d6..0bebb73 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -6,7 +6,7 @@ /* You can override the default Infima variables here. */ :root { - --ifm-color-primary: #D9232E; + --ifm-color-primary: #fa660f; --ifm-color-primary-dark: #29784c; --ifm-color-primary-darker: #277148; --ifm-color-primary-darkest: #205d3b; @@ -21,7 +21,7 @@ /* For readability concerns, you should choose a lighter palette in dark mode. */ [data-theme='dark'] { - --ifm-color-primary: #D9232E; + --ifm-color-primary: #fa660f; --ifm-color-primary-dark: #21af90; --ifm-color-primary-darker: #1fa588; --ifm-color-primary-darkest: #1a8870; @@ -31,3 +31,13 @@ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } +.navbar__logo { + display: flex; + align-items: center; + height: 100%; + margin-right: 50px; +} + +.navbar__logo img { + width: 180px; +} diff --git a/static/img/dev-docs-logo.png b/static/img/dev-docs-logo.png index 4937fe0..3796444 100644 Binary files a/static/img/dev-docs-logo.png and b/static/img/dev-docs-logo.png differ diff --git a/static/img/favicon.ico b/static/img/favicon.ico index 3d1388d..2e29ed1 100644 Binary files a/static/img/favicon.ico and b/static/img/favicon.ico differ