We created this plugin, because some of our customer administrators were receiving subscriptions errors when users where choosing “MSTR” format in the drop down email options and having no privilegies to use .mstr files. This plugin can be easily modified to hide other subscription options. We were basing our plugin on KB221840.
Follow the following steps in Web Customization Editor to create a plugin:
- Create a new plugin.
2. Click in MicroStrategy Web Configuration inside the Application Settings view to expand the hierarchical tree.
3. Right-mouse click Styles and select Create Transform to launch the Transform Creation Wizard.
4. Click .. next to the Source folder text field to select the src folder (under the MicroStrategy Project) and click OK.
5. Fill out the remaining fields in the pop up window with the following information:
Package: You can use any package name you want (make sure to create it before creating this transform, as this field is obligatory, look at the image below)
Name: (example) Custom_SubscriptionTransform
Transform description: (example) This transform will remove options from the Send dropdown.
6. Click the check box button for renderSchedulePane (MarkupOutput arg0), click Next and then Finish
7. Click Finish. Custom_SubscriptionTransform.java (or whichever name you chose before in Step 5) opens in the editor. Paste the following code in the to the renderSchedulePane method:
MarkupOutput newOutput = WebBeanFactory.getInstance().newMarkupOutput();
/** Rendering the out of the box markup for this Schedule Pane
* as the remaining code will be editing the MarkupOutput object
* and not recreating the object. The markup will be placed in a
* method Markup object so the user will not see the original Schedule Pane
/** The following code was meant for version 2020 update 2
* If for future versions, this code no longer works, uncomment the line below,
* this will output the Markupoutput to the Web Server console to see what “options” are created
* for the “Send:” drop down values. Copy and paste the new option values in string replace
* statements below.
//System.out.println(“Original Output = ” + newOutput.getCopyAsString());
//Log.logger.log(null,”Original Output = ” + newOutput.getCopyAsString());
// Creating a String version of the markup in order to manipulate the object
String newOutputString = newOutput.getCopyAsString();
// Removing the Data in Email option
//newOutputString = newOutputString.replace(“<option value=\”0,0,1\”>Data in email</option>”, “”);
// Removing the Data in email and to history list
//newOutputString = newOutputString.replace(“<option value=\”0,1,1\”>Data in email and to history list</option>”, “”);
// Removing the Data and link to history list in email
newOutputString = newOutputString.replace(“<option value=\”1,1,1\”>Data and link to history list in email</option>”, “”);
//Removing MSTR option from the drop down
newOutputString = newOutputString.replace(“<option supportedview=\”3\” zipvalue=\”2\” showdelimiters =\”0\” pageby =\”0\” separate =\”0\” value=\”0.20.3.MSTR.2.No\”>MSTR</option>”, “”);
// Rendering the new MarkupOutput object to be displayed to the end user
NOTE: In this code we basically replace what is going to render with the empty string. The text to be replaced needs to be exact and the best way to get it (if the code above does not work) from the Web Server console. If your Web displays in other language than English, then, the text above should be adjust to different language options: just duplicate the replace entry with the same string in different language, for example: newOutputString = newOutputString.replace(“<option value=\”0,0,1\”>Datos en correo electrónico</option>”, “”);
8. Save changes.
9. Navigate to MicroStrategy Web Configuration > Styles and double click on SendNowSubscriptionStyle.
10. Click the “Change” button for Transform: SubscriptionSendNowTransform. Change it to the new transform created in Step (Custom_SubscriptionTransform) and save the changes.
11. Navigate to MicroStrategy Web Configuration > Styles and double click on NCEditSubscriptionStyle. This will affect the normal subscription screen and the previous one introduced changes to the Send Now Screen. If you want to hide it only in one of the screens, choose the desired style and change its transformation.
12. Navigate to MicroStrategy Web Configuration > Styles and double click on NCEditSubscriptionStyle and repeat step 10 for this style.