MicroStrategy - Customizations

mstr

http://community.microstrategy.com/t5/SDK/TN42054-How-to-Modify-the-Excel-Header-Content-when-Exporting-a/ta-p/191935
http://community.microstrategy.com/t5/tkb/articleprintpage/tkb-id/sdk/article-id/1269
http://community.microstrategy.com/t5/tkb/articleprintpage/tkb-id/sdk/article-id/1193
http://community.microstrategy.com/t5/tkb/articleprintpage/tkb-id/sdk/article-id/441

Which customizations were done using the Web Customization Editor?

  • Increase the Character Limit of the Message Text Box for Subscriptions See TN41932
    1. Launch Web Customization Editor
    2. Open the Application Settings tab
    3. Expand the Web Configuration Settings > System Definitions
    4. Double-click on customMessageLength. This open up a new dialog.
    5. The property for 'Value' should be changed to increase the amount of characters allowed
    6. Save changes.
    7. Restart the web server.
    8. Deploy the WEB-INF/xml/sys_definitions.xml file from inside the plugin folder.
  • Chage the "View report in Design Mode" checkbox so that it is not checked by default. See TN37569
    1. Open the Web Customization Editor
    2. Click on the Application Settings tab.
    3. Navigate to MicroStrategy Web Configuration -> Styles
    4. Right click on FolderStyleCreateReport and select to open in editor.
    5. On the right hand side select the Style Parameters tab at the bottom
    6. Click Add button. A panel opens up for selecting the appropriate parameter.
    7. Select valueDesignModeCheck and click ok.
    8. After adding the parameter, highlight that parameter and change the value under Parameter Properties to 0 as shown below (see the TN above for specific screenshot).
    9. Save the changes and restart the Web Server.
  • Sorting menu on Main Dashboard is too big.
    1. /trunk/CustomESM/style/global.css. DE8908
  • Change the label "Shared Reports" to "Reports". See TN40353. You will find the other folder names in the message bundles as well.
    1. Launch MicroStrategy Web Customization Editor
    2. Click on Application Settings view
    3. Drill down on MicroStrategy Web Configuration -> Property Files -> WEB-INF -> classes -> resources
    4. Double-click on MessagesBundle_en_US.properties
    5. Search for Shared Reports
    6. Highlight Shared Reports and the editor should allow you to change the text
    7. Save your changes
    8. Restart MicroStrategy Web
  • Enable the page footer for Safety Rx Walmart
    1. Open the Web Customization Editor and switch to the Application Settings view.
    2. Navigate to and double-click to open the report execution page under MicroStrategy Web Configuration > Pages > report (Report Execution).
    3. Switch to the Template Properties tab > Default.
    4. Right-click on the footer section and select the Choose a new file option.
    5. Click on the Save button from the top toolbar
    6. Restart Tomcat (or whatever your MSTR application container is)
  • Prevent Walmart users from changing the report header and footer on Export Options screen:
    1. See http://community.microstrategy.com/t5/SDK/TN43854-How-to-Remove-the-Header-and-Footer-Editing-Section-of/ta-p/193646
    2. Files changed:
      1. CustomESM\WEB-INF\classes\com\quantros\transforms\HidePageFooterAndHeaderOnExportOptionScreen.class
      2. CustomESM\WEB-INF\classes\com\quantros\transforms\HidePageFooterAndHeaderOnExportOptionScreenExcel.class
      3. CustomESM\WEB-INF\xml\styleCatalog.xml

Which customizations were done via the Configure MicroStrategy Intelligence Server interface?

  • Increase the memory size for working set. See TN14358
  • Increase the memory size related to file generation from 95MB to 512MB.
    1. Configure MicroStrategy Intelligence Server -> Governing Rules -> Default -> File Generation. For Excel Generation, it was set at 1500MB, and we keep it at 1500MB.
  • Allow HTML characters to be exported as Excel (with plain-text formating). See TN41152
  • Increase the limit on the maximum length of a SQL statement. See TN13674

Which customization were done via MicroStrategy Web Preferences interface?

  • Increase the number of cells allowed in Export
    1. Log into MicroStrategy Web interface as administrator
    2. Click on any project
    3. Click on Preferences
    4. Click on Project Defaults
    5. Click on Export Reports
    6. Change the value for Maximum number of cells to export to plain text and Maximum number of cells to export to HTML and Excel with formatting to 9999999.

Which customizations were done by modifying files directly within MicroStrategy folder?

  • Hide the "Search Results:" label from the search result. The PromptObjectLayout_widget.xml file (inside C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\MicroStrategy\WEB-INF\xml\layouts\widgets) was changed according to http://community.microstrategy.com/t5/SDK/TN35039-How-to-hide-quot-Search-Results-quot-from-the-root-node/ta-p/185562. Note that we did not use the Web Customization Editor for this because this TN did not point us to the specific customization scenario (or did not provide us with the specific steps to carry out this task using the Customization Editor)
  • Turn off the 'Show Navigation Tree' by default. See TN32294 or TN205308
    1. Locate browserSettings.xml under C:\Program Files\MicroStrategy\Web ASPx\WEB-INF\xml\config folder
    2. Change the value of lTbar: <browser-setting desc="Show the dock left section opened." name="lTbar" value="1"/>

Which customizations were done via custom task?

  • Use SDK to grant and revoke privileges for Export to PDF and Export to Excel.

Which customizations were done at the ODBC level?

  • Support N-CHAR
    1. Open the DOS command prompt
    2. Go c:\Windows\SysWOW64
    3. Run odbcad32
    4. Click on appropriate DSN that was previously created
    5. Click on Configure
    6. Click on Advanced
    7. Check the Enable N-CHAR Support check box
    8. Click on Apply or OK

Which customizations were done at the system registry level?

  • Adjust the firewall connection keep-alive / timeout value. Run the registry script created by Jun
  • Add a registry setting to tell the Intelligence server not to use Unicode. - TN47073
    1. RDP onto the server
    2. Run regedit
    3. Drill down to HKEY_LOCAL_MACHINE \ SOFTWARE\ Wow6432Node \ MicroStrategy \ DSS Server \ Castor \
    4. Right click on the right hand side and select New -> DWORD (32-bit) Value. It will prompt you to enter a name for this entry. Use DSNotUseUnicodeForPT and hit the ENTER key
    5. Right click on the new entry and select Modify
    6. Specify the value as 1

What customizations did we and MSTR consultant do?

  • Remove the "Create" section and the "Tools / Preferences / Search" section.
  • Remove the "Tools / Preferences" from the Desktop page. /trunk/CustomESM/jsp/Desktop_Content.jsp revision 38. I am not certain on why we need to do this in addition to what we did above.
  • Make express mode works for dashboards. For some reason, "Express Mode" does not work when MicroStrategy is embedded inside a frame. Because of this, we've hijax the mojo-coreui.js and mojo-oivm.js, put them inside CustomESM folder, made some change to those files to avoid the javascript error. We will use "the code that we used to make the coolframe menu work" to introspect re-adjust the height of the DIV with the class mstrmojo-OIVMPage-layout on this page. We made change to CustomESM/jsp/OIVM_Content_Core.jsp at revision 106. Particularly, we comment out: <web:resource type="jsbundle" bundleName="mojo-oivm" /> and added <script type="text/javascript" src="/MicroStrategy/plugins/CustomESM/javascript/bundles/mojo-coreui.js"></script> and <script type="text/javascript" src="/MicroStrategy/plugins/CustomESM/javascript/bundles/mojo-oivm.js"></script> right above it. Previously, if the user runs a report and clicks on "Express Mode", or if the document was defaulted to open in "Express Mode", IE displays an error message "Invalid arguments", and the page is blank. This is because we embed MicroStrategy inside a frame. To fix this issue, I have to use the SDK to customize the "Express Mode" page. I remove the DOCTYPE declaration on this page, and clean up the CSS to make sure that the top toolbar display appropriately. The files that got modified or added are: OIVM_Content_Core.jsp, Mojo_Section.jsp, Mojo_Template.jsp, OIVM_Content_Mojo.jsp, OIVM_Header.jsp
  • Limit the number of scheduled reports that a user can have.
  • Linking the event ID. /trunk/CustomTask/src/com/quantros/microstrategy/custom/transforms/CustomReportGridCellRowHeaderImpl.java. This is a customization editor scenario. I need to recall the particular scenario and link it here.
  • If for whatever reason, the user does not have security filter, log a SEVERE message to the log file, display our error page, and do not run the report. /trunk/CustomESM/src/com/quantros/addons/CheckIfSecurityFiltersExistAddOn.java. This is a customization editor scenario. I need to determine the link for it and put it here.
  • Some user has access only to "system admin reports". Some user has access to only normal reports. Some user have access to both admin reports and normal reports. This is a Java code change, not a customization editor change.
  • Change the label "My Subscriptions" to "Scheduled Reports"
  • Remove the Tools / Preferences. Comment out <jsp:include page='/jsp/Desktop_Tools_Section.jsp' flush="true" /> from /trunk/CustomESM/jsp/Desktop_Content.jsp
  • Hide the "Version Information" link. /trunk/CustomTask/style/desktopPage.css
  • Require the users to sign into the application first before displaying the project selection page.
  • Keep 100 items in history list, make scheduled reports automatically go to history list, and do not replace existing entry.
  • Limit the number of history list items to 1000 (at the IServer level), and back up report history caches to the history database.
    1. From the top menu, select Administration -> Server -> Configure MicroStrategy Intelligence Server
    2. Click on History settings on the left hand side
    3. Change the value and check the Backup report history caches to database check box
    4. Click OK
  • Code for consolidating the prompts (pre-defined date range and user-defined date range) needs to be on multiple pages. Therefore I remove reportPage.js and rwdPage.js and add the global.js file.
  • Hide the up arrow icon (which was taking the user back to the project selection page from inside the History List page and the Scheduled Reports page), and the small logo from all the pages. /trunk/CustomESM/style/global.css, /trunk/CustomESM/style/loginWarningPage.css
  • Things that were done by MicroStrategy consultant:
    • Hide / Remove the MicroStrategy Logo
    • Move the "Welcome … If you are not … " message to the bottom, and hide it. We use CSS to display the username when the user hover the element. Otherwise the element is hidden. Hiding it make sense. This CSS is in desktopPage.css.
    • Disable the breadcrumb at the top (CustomPathTransform.java)
    • CustomESM and CustomTask
  • Code to detect if the scrollbar appears on top of the content (which should never happens but does happen in IE), in which case, adjust the width of certain elements so that its content is not hidden by the vertical scrollbar. /trunk/CustomESM/javascript/global.js
  • Fix the issue of blank reports that was happening for certain version of IE8. This is related to the issue that the last column was being cut-off. Both of these issues should be working now. /trunk/CustomESM/style/rwdPage.css
  • Fix usability issue with double-scrollbar on the prompt box for small screen. /trunk/CustomESM/style/ncSendNowPage.css
  • Fix usability issues with vertical scrollbar not appearing when it needs to be, or appear when it should not supposed to. /trunk/CustomESM/javascript/global.js, /trunk/CustomESM/style/ncEditInboxSubsPage.css, /trunk/CustomESM/style/ncEditSubsPage.css
  • Fix the JavaScript error on the "Express Mode". Previously, if the user runs a report and clicks on "Express Mode", or if the document was defaulted to open in "Express Mode", IE displays an error message "Invalid arguments", and the page is blank. This is because we embed MicroStrategy inside a frame. To fix this issue, I have to use the SDK to customize the "Express Mode" page. I remove the DOCTYPE declaration on this page, and clean up the CSS to make sure that the top toolbar display appropriately.
  • For some reason, "Express Mode" does not work when MicroStrategy is embedded inside a frame. Because of this, we've hijax the mojo-coreui.js, put it inside CustomESM folder, made some change to that file to avoid the javascript error. We will use "the code that we used to make the coolframe menu work" to introspect re-adjust the height of the DIV with the class mstrmojo-OIVMPage-layout on this page.

What can I do in order to completely document all the customizations that we did?

  • Review the content of the global.js file and the comments inside that file.
  • Review all the tickets that we previously opened with MicroStrategy

What did I do for the Export to PDF and Export to Excel?

We remove the following privileges:

  • Web print mode (under the "Web Reporter" section)
  • Export to Excel (under the "Common Privileges" section)
  • Export to PDF (under the "Common Privileges" section)

Other interesting attributes which we may have removed:

  • Web export
  • Export to flash
  • Export to HTML
  • Export to text

from the Everyone group, and assign these privileges to appropriate groups that need them (on the Rx side), and the SDK assign or revoke these privileges from individual users on the SEM side. Additionally, the report designer can also disable or enable exporting to Excel or PDF when designing the report. This ignores the privileges which is not quite right. Can the report designer check to see if the user has this privileges?

How to limit the number of scheduled reports that a user can have?

If you want to limit the number of Subscriptions a user can have, then you can navigate to Project Configuration > Governing Rules > Default > Subscriptions and adjust the values accordingly. If you want to limit the number of reports a user can subscribe to, unfortunately that is not possible as of now, and there is an Enhancement Request in place for that.

How can I require the users to sign into the application first before displaying the project selection page?

  1. Log into MicroStrategy Admin interface ( /MicroStrategy/servlet/mstrWebAdmin )
  2. Click on Default properties ( on the left )
  3. Select the check box next to Override project login mode setting
  4. Select the Log in, then show the projects accessible by the supplied login option from the dropdown next to Project list

How to remove the "Create" section and the "Tools / Preferences / Search" section from the landing page?

  1. Launch MicroStrategy Desktop and connect to appropriate environment
  2. Drill down on Administration -> User Manager
  3. Right click on "Everyone" and select "Grant access to projects"
  4. Drill down on "Web Reporter"
  5. Uncheck "Web change user preferences"
  6. Uncheck "Web object search"
  7. Click OK

How to keep 100 items in history list, make scheduled reports automatically go to history list, and do not replace existing entry?

  1. Log into MicroStrategy Web as an Administrator
  2. Click on Preferences (at the top)
  3. Click on "Project Defaults" (on the left)
  4. Click on "History List" (on the left)
  5. Select Manually option under Add reports and documents to my History List
  6. Specify 100 in the text box next to If manually, how many of the most recently run reports and documenats do you want to keep available for manipulation
  7. Uncheck the check box next to The new scheduled report or document will overwrite older versions of itself.

When the user schedule a report, there is a check box that the user can specify whether to save the report to the History List. I think that check box is influenced by one of the option selected by this procedure. I am not entirely certain of that. The user may have to manually select that check box when he / she schedule a report.

How to increase the limit on the maximum length of a SQL statement?

When you generate a report using MicroStrategy Desktop, you might see the following error message: Error: SQL Generation Complete[]QueryEngine encountered error: The generated SQL/MDX string (xxxxx bytes) is longer than the limitation of the corresponding connector (yyyyy bytes).[]Error in Process method of Component: QueryEngineServer, Project ###, Job ###, Error Code=-2147212544

This error message is displayed when the SQL string size exceeds the maximum value set for the SQL/MDX string. You can increase the maximum value for the SQL/MDX field in the Project Configuration dialog box as follows:

  1. In Desktop, right-click the project and select Project Configuration.
  2. In the Project Configuration Editor, expand the Database instances category and select SQL Data Warehouses.
  3. Click VLDB Properties. The VLDB Properties dialog box opens.
  4. Expand Governing and select the Maximum SQL/MDX Size VLDB setting.
  5. Clear the Use default inherited value - (Default Settings) check box
  6. Increase the Maximum SQL/MDX Size value as required. You can enter any number between 1 and 999999999. If you enter 0 or -1, the Maximum SQL/MDX Size is set to the default value of 65536. This default size may be different for different databases. It depends on the database instance that you select.

You should enter a value that a certified ODBC driver can handle; a large value can cause the report to fail in the ODBC driver. This is dependent on the database type you are using. If increasing the value of this VLDB property does not resolve the issue, try simplifying the report. You can simplify a report by removing attributes, metrics, and filters. Importing large sets of elements for filters can often cause large SQL/MDX size.

For more information, see the VLDB Properties chapter in the Supplemental Reference for System Administration.

How can we change the color theme at per project level?

  1. Log into the application using the Administrator account.
  2. Click on Preferences
  3. Click on "Project Defaults" on the left
  4. Change the color theme to whatever you want
  5. Scroll to the bottom
  6. Select appropriate option from the last drop down list (Apply this change to all projects versus the current project)
  7. Click on the Apply button

How to display all prompts on the same page?

  1. Log into the application using the Administrator account
  2. Click on Preferences
  3. Click on "Project Defaults" on the left
  4. Click on "Prompts"
  5. For the "View Prompts" option, select "All on one page"
  6. Scroll to the bottom
  7. Select appropriate option from the last drop down list (Apply this change to all projects versus the current project)
  8. Click on the Apply button

How to make Express mode the default?

After running a report, at the top, MicroStrategy display 3 menus: Home, Tools, Data. Under the Home menu, the user can switch between various modes ("Express Mode", "Interactive Mode", "Editable Mode", "Flash Mode"). The "Editable Mode" is dependent on whether you have permission to edit the report. Interactive Mode and Express Mode is always there. Interactive Mode is the default. To make Express Mode the default, we need to do this each time we create a new report document. This is done using MicroStrategy Desktop. Look under the Tools -> Document Properties.

How to change the default state of the "View report in Design Mode" checkbox?

Given that approprivate privileges is given to the user, the "View report in Design Mode" is checked by default. However, we wanted to change it so that the "View report in Design Mode" checkbox is not checked by default. See http://community.microstrategy.com/t5/SDK/TN37569-How-to-Uncheck-the-View-Report-in-Design-Mode-Option-by/ta-p/187795

How to hide "Document Details" from the Tools / Data menu?

Remove the privilege "Web report details" from the user.

How to hide "Dataset Objects" from the Tools / Data menu?

Remove the privilege "Web add/remove units to/from grid in document in View mode" from the user.

How can I remove "Express Mode" from the menu and toolbar?

If you do not want to make express mode available, you can go into the document properties and under run modes, just uncheck the option for express mode. So when you are in your document or dashboard, you can go to design mode>go to tools> Document Properties> Under Document, you will see "Run Modes> Uncheck Express.

How to change the 32000 rows limit?

  1. Log into appropriate project source
  2. Drill down on appropriate project
  3. Right click on appropriate project and click on Project Configuration
  4. Drill down on "Governing Rules -> Default -> Result sets" and change the values for Final Result Rows -> All other reports, All intermediate result rows, and All element browsing result rows to whatever values you want
  5. Click Ok

How can we add folders to the Save As dialog?

  1. SaveAsReportStyle
  2. SaveAsRWStyle/SaveAsRWTransform.
  3. DialogPathStyle
  4. FolderTreeView style - FolderFrameTreeTransform

After investigation, as I mentioned previously, the way you can add folders programmatically would be to customize the transform that renders the SaveAsDialog. What you need to do is create a custom transform that extends the existing SaveAsReportTransform on the SaveAsReportStyle. In your custom transform, you want to override the existing method addLinksAsOption() to add the list of folders you want displayed. TN45782 is an example of how you can create your own custom transform that extends an existing one and apply it to an existing style. http://community.microstrategy.com/t5/SDK/TN45782-How-to-Remove-the-Copy-names-from-all-other-languages/ta-p/195456. In addLinksAsOption(), you want to retrieve your folder, and then add it to the existing SelectTag __result. For example:

WebDisplayUnit wdu2 = (WebDisplayUnit) myFolder; 
Tag linkOption = getOption(wdu2, ""); 
linkOption.setAttribute("isLink", "true"); 
__result.addChild(linkOption);

Before you add your folders, if you want the default ones, you will need to call super.addLinksAsOption(__result) first. Save your changes, restart your Web Server and clear browser caches.

For documents, you would apply similar logic that you did for reports to the SaveAsRWStyle/SaveAsRWTransform.

  1. Launch the Web Customization Editor
  2. Click on the Application Settings tab
  3. Drill down onto Styles
  4. Right click on Styles and select Create Transform
  5. Specify the source folder, the package name (such as com.companyname.transforms), the name of this transform (such as CompanyNameSaveAsReportTransform), the description for this transform, and for Superclass, specify SaveAsReportTransform
  6. Click Next
  7. Click Finish
  8. Implement the code for this transform. See below.
  9. Save the code, and compile the code
  10. Search for the SaveAsReportStyle
  11. Right click on it and select Open In Editor
  12. Click on the Change button. This will popup a dialog. In this dialog, type the name of the transform that you just created. The system will find it and display it under the "Matching items" box. Click on it, and click OK.
  13. Click on the Save icon.
  14. Repeat this process for document ( or SaveAsRWStyle/SaveAsRWTransform )
  15. Restart Tomcat and test.

For removing the "Public Objects" folder from the navigation tree: Another option might be to try and modify the FolderTreeView style - FolderFrameTreeTransform - you could try overriding it and updating the list before it shows up. You'd need to filter out the GUID of the Public Objects folder.

When the user log into the application, we can query the database to determine the corporate ENTITIESID and store it as a custom field

What did we do to the page footer?

http://community.microstrategy.com/t5/SDK/TN43685-How-to-Enable-Page-Footer-Section-for-Footer-Content-to/ta-p/193493

How can I hide certain sections?

Append the hiddenSections parameter to the URL:

&hiddenSections=header

Possible sections are:

  • header
  • path
  • dockTop
  • dockLeft
  • dockRight
  • error
  • content
  • dockBottom
  • footer

How can we deal with the HTML subscription only displaying the first page?

http://community.microstrategy.com/t5/SDK/TN30984-How-to-change-the-default-autostyle-displayed-in-the-Web/ta-p/181909
http://community.microstrategy.com/t5/Object-Development/Change-default-autostyle-for-all-users/td-p/160256

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License