Microstrategy Narrow Cast Application Designer 921m
Microstrategy Narrow Cast Application Designer 921m
Microstrategy Narrow Cast Application Designer 921m
ii
MicroStrategy Intelligence Server Universal Edition, MicroStrategy MDX Adapter, MicroStrategy Narrowcast Server, MicroStrategy Objects, MicroStrategy OLAP Provider, MicroStrategy SDK, MicroStrategy Support, MicroStrategy Telecaster, MicroStrategy Transactor, MicroStrategy Web, MicroStrategy Web Business Analyzer, MicroStrategy World, Application Development and Sophisticated Analysis, Best In Business Intelligence, Centralized Application Management, Information Like Water, Intelligence Through Every Phone, Intelligence To Every Decision Maker, Intelligent E-Business, Personalized Intelligence Portal, Query Tone, Rapid Application Development, MicroStrategy Intelligent Cubes, The Foundation For Intelligent E-Business, The Integrated Business Intelligence Platform Built For The Enterprise, The Platform For Intelligent E-Business, The Scalable Business Intelligence Platform Built For The Internet, Industrial-Strength Business Intelligence, Office Intelligence, MicroStrategy Office, MicroStrategy Report Services, MicroStrategy Web MMT, MicroStrategy Web Services, Pixel Perfect, Pixel-Perfect, MicroStrategy Mobile, MicroStrategy Integrity Manager and MicroStrategy Data Mining Services are all registered trademarks or trademarks of MicroStrategy Incorporated. All other company and product names may be trademarks of the respective companies with which they are associated. Specifications subject to change without notice. MicroStrategy is not responsible for errors or omissions. MicroStrategy makes no warranties or commitments concerning the availability of future products or versions that may be planned or under development. Patent Information This product is patented. One or more of the following patents may apply to the product sold herein: U.S. Patent Nos. 6,154,766, 6,173,310, 6,260,050, 6,263,051, 6,269,393, 6,279,033, 6,567,796, 6,587,547, 6,606,596, 6,658,093, 6,658,432, 6,662,195, 6,671,715, 6,691,100, 6,694,316, 6,697,808, 6,704,723, 6,741,980, 6,765,997, 6,768,788, 6,772,137, 6,788,768, 6,798,867, 6,801,910, 6,820,073, 6,829,334, 6,836,537, 6,850,603, 6,859,798, 6,873,693, 6,885,734, 6,940,953, 6,964,012, 6,977,992, 6,996,568, 6,996,569, 7,003,512, 7,010,518, 7,016,480, 7,020,251, 7,039,165, 7,082,422, 7,113,993, 7,127,403, 7,174,349, 7,181,417, 7,194,457, 7,197,461, 7,228,303, 7,260,577, 7,266,181, 7,272,212, 7,302,639, 7,324,942, 7,330,847, 7,340,040, 7,356,758, 7,356,840, 7,415,438, 7,428,302, 7,430,562, 7,440,898, 7,486,780, 7,509,671, 7,516,181, 7,559,048, 7,574,376, 7,617,201, 7,725,811, 7,801,967, 7,836,178, 7,861,161, 7,861,253, 7,881,443, 7,925,616, 7,945,584, 7,970,782, and 8,005,870. Other patent applications are pending. Various MicroStrategy products contain the copyrighted technology of third parties. This product may contain one or more of the following copyrighted technologies: Graph Generation Engine Copyright 1998-2011. Three D Graphics, Inc. All rights reserved. Actuate Formula One. Copyright 1993-2011 Actuate Corporation. All rights reserved. XML parser Copyright 2003-2011 Microsoft Corporation. All rights reserved. Xalan XSLT processor. Copyright 1999-2011. The Apache Software Foundation. All rights reserved. Xerces XML parser. Copyright 1999-2011. The Apache Software Foundation. All rights reserved. FOP XSL formatting objects. Copyright 2004-2011. The Apache Software Foundation. All rights reserved. Portions of Intelligence Server memory management Copyright 1991-2011 Compuware Corporation. All rights reserved. ASIHTTPRequest library. Copyright 2007-2011, All-Seeing Interactive. All rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) International Components for Unicode Copyright 1999-2011 Compaq Computer Corporation Copyright 1999-2011 Hewlett-Packard Company Copyright 1999-2011 IBM Corporation Copyright 1999-2011 Hummingbird Communications Ltd. Copyright 1999-2011 Silicon Graphics, Inc. Copyright 1999-2011 Sun Microsystems, Inc. Copyright 1999-2011 The Open Group All rights reserved. Real Player and RealJukebox are included under license from Real Networks, Inc. Copyright 1999-2011. All rights reserved.
iii
iv
Contents
Application Designer Overview xxi
Organization xxi Reference materials xxii Task list xxii
Section I
Information source security 38 Defining applications with security 38 Implications for upgraded reports 44 To learn about... 45
vi
Contents
Import or update user and address attributes 95 Synchronize users 96 Update user personalization and subscription 96 Subscription Book synchronization tutorial 97 Scenario 1: Import users and addresses 97 Scenario 2: Update users, remap users, add addresses, and create subscriptions 99
Contents
vii
viii
Contents
How it works 192 Scenario 3: Page-by Answer ID 193 Change the warehouse 194 Create objects in the MicroStrategy Desktop interface 194 Create objects in Narrowcast Administrator 195 Configure with the Portal Administrator Wizard 195 Try it! 196 How it works 196 Scenario 4: Non-personalized dynamic subscription 197 Change the warehouse 198 Create objects in the MicroStrategy Desktop interface 198 Create objects in Narrowcast Administrator 199 Configure with the Portal Administrator Wizard 199 Try it! 200 How it works 200 Scenario 5: Personalized dynamic subscription 201 Change the warehouse 202 Create objects in the MicroStrategy Desktop interface 203 Create objects in Narrowcast Administrator 203 Configure with the Portal Administrator Wizard 204 Try it! 205 How it works 206
Section II
Contents
ix
Contents
Role page 261 Source of Subscription Information page 261 Report or Filter page 262 Information object validation 262 Advanced Properties dialog box 264 Format page 267 Segmentation Prompts page 267 User Properties and Personalization page 267 Address Properties page 270 Preferences page 270 Authentication and Security page 271 Segment Size page 271 Summary page 271
Chapter 21 Modify Schedule Queue Parameters Dialog Box 273 Chapter 22 New Document Dialog Box 275
New Document dialog box layout 275
Message Contents 307 Subscription Sets and Schedules 308 General Properties 308 Service Execution Timeout 309 Save Service dialog box 310
Chapter 35 Subscription Dialog Box 369 Chapter 36 User Properties Editor 371
User Properties Editor layout 372 Login tab 372 Addresses tab 373 Preference tab 374 Define User Preference dialog box 375 Authentication and Security tab 375 User Information tab 377
Contents
xiii
Section III
Create an imported document 411 Create a new information object in a document 412 Create a plain text document 413 Create a publication 414 Import a file 416 Preview an HTML document in the HTML Document Editor 416 Refresh the imported files 417 Reimport a file to update it 417 Select a locale for a document 417 Select a stylesheet file for a document 418 Specify error handling rules for a document 418 Specify error handling rules for a document element 419 View the Document Elements pane in a document editor 420 View object properties 420 View the results of XSL stylesheets applied to various reports 421
Add a new site definition 442 Delete a site definition 443 Delete a Subscription Portal 443
Section IV
Appendix A E-mail and Wireless (SMTP) ITM Execution Control Documents 471
Including custom e-mail headers 471 Syntax to include custom email header 471 Example 471
xvi
Contents
Syntax Rules 472 Specifying Carbon Copy (CC) list 472 Syntax to specify Carbon Copy list 472 Example 472 Syntax Rules 472 Specifying Blind Carbon Copy (BCC) list 473 Syntax to specify Blind Carbon Copy list 473 Example 473 Syntax Rules 473 Changing attachment name and attachment 473 Syntax to change name and extension of single attachment 474 Example 474 Syntax to change name and extension of multiple attachments 474 Example 474 Syntax Rules 475 Dynamically changing attachment name 475 Syntax to dynamically rename an attachment 476 Example to dynamically rename the attachment using Region attribute (in the row) based on the attribute element name 476 Example to dynamically rename the file based on the report attribute name in the pageby field 477 Dynamically renaming the zip file and files within the zip file in email attachments 477 Syntax to dynamically rename the zip file and files within the zip file 478 Example 478 Syntax Rules 478 Other properties 479 Syntax 479 Examples 479 Syntax Rules 479
Appendix B Changing File Names and Extensions: Execution Control Documents 481
Changing a file name 481 Syntax to change the name of a single file 481 Example 481 Syntax to change the names of multiple files 482 Example 482 Syntax rules 482 Changing a zip file name or extension 483 Syntax to change the name and extension of a single zip file 483 Example 483 Syntax to change the name and extension of a zip file and files within the zip file 483 Example 484 Syntax rules 484 Dynamically changing a file name 484
Contents
xvii
Syntax to dynamically rename a file 485 Example to dynamically rename the file using Region attribute (in the row) based on the attribute element name 486 Example to dynamically rename the file based on the report filter name 489 Example to dynamically rename the file based on the report attribute name in the pageby field 491 Dynamically renaming the zip file and files within the zip file in file attachments 492 Syntax to change the name of zip file and files within the zip file in the file attachment 493 Example 493 Syntax rules 493
xviii
Contents
Section V
Index 533
Contents
xix
xx
Contents
INTRODUCTION
Welcome to the Narrowcast Server Application Designer Guide. This guide takes you through the fundamentals of designing Narrowcast Server applications and serves as a reference as you encounter questions. To begin, this guide covers a few basics about Narrowcast Sever and application design. MicroStrategy Narrowcast Server is an information delivery platform. An information delivery platform is a server that, whenever certain conditions are in effect, acquires information from a variety of sources, personalizes the information, formats it, and transmits it through a variety of technologies. Due to its open modular architecture, the Narrowcast Server can acquire reports from MicroStrategy projects, as well as other information sources, and deliver messages via e-mail and other delivery methods. In addition, MicroStrategy Narrowcast Server Subscription Portal allows users to subscribe to Narrowcast Server services using a Web browser. An application is everything you need to support your Narrowcast Server product goal, such as sending monthly sales reports to regional sales staff and delivering product inventory alerts to suppliers. Application design involves service design, portal configuration, and subscription administration.
Organization
The information in this guide is divided into three main sections: ConceptsThis section provides you with the key concepts about the product components and features with which you are working. InterfacesRefer to this section for interface-specific information. This section explains the interfaces you use to develop and test services. How do I...?This is where the procedural information is found. This section provides the answers to the how do I? questions you might have while using Narrowcast Server.
xxi
Reference materials
Before you begin developing an application, you should read the Narrowcast Server Getting Started Guide, which serves as an introduction to the features and functionality of MicroStrategy Narrowcast Server. The Getting Started Guide also provides you with the basic terminology and information resources that can help you navigate the software and accompanying documentation.
Task list
A task list is shown below which identifies the application design tasks for the roles of application designer, subscription administrator, and portal administrator. When designing services for a new system, you perform the application designer tasks in the appropriate order. When setting up subscription information for a new system, you perform the subscription administrator tasks in the appropriate order. When setting up a subscription portal for a new system, you perform the portal administrator tasks in the appropriate order. You might perform additional tasks during the course of designing your application, but the following lists the basic tasks.
Task Application Designer: 1. Design and create services 2. Create, modify, and delete objects, including services, schedules, subscription sets, documents, publications, information objects, question objects, and imported files Creating and Managing Services and Schedules Creating and Managing Services and Schedules, Creating Publications and Content Section Documents, Creating Information Objects and Question Objects, Creating and Managing Subscription Sets Creating and Managing Services and Schedules Creating Publications and Content Section Documents, Creating Information Objects and Question Objects How Do I... Chapter
3. Test services Check the services subscription sets and information objects to ensure that the correct information will be sent to the correct subscribers.
xxii
Task Check the schedule to ensure the service will be sent at the correct time. In the Service Editor, review the publication/ITM/device grid to ensure the message will be sent to the correct transmitters with the correct content. Run the service with a test subscription set to ensure the correct information is sent in the correct format. Subscription Administrator: 4. Create, modify, delete users in the Subscription Book 5. Create, modify, delete addresses in the Subscription Book 6. Create, modify, delete subscriptions in subscription sets Portal Administrator: 7. Select a Portal Repository 8. Create or modify a site definition, including channels, service personalization settings, and device types 9. Specify information source properties 10. Specify default preferences for the site definition
How Do I... Chapter Creating and Managing Services and Schedules Creating and Managing Services and Schedules
Managing a Subscription Book Managing a Subscription Book Creating and Managing Subscription Sets
Adding and Editing Database Connections in Subscription Portal Creating and Managing Sites and Subscription Portal, Managing a Channel, Configuring Subscription Sets, Managing Device Types Configuring Subscription Sets Configuring Subscription Sets
Task list
xxiii
xxiv
SECTION I
C O N C E P T S
C O N C E P T S
C H A PT E R
1.
Creating Services
C O N C E P T S
A service is the fundamental tool that you use to deliver information using Narrowcast Server. A service defines some set of information that should be delivered, how this information should be delivered, a set of users who want to receive this information, and the schedule on which they would like to receive it. Thus, a service is the entity that defines who should receive content, what content they should receive, how they should receive it, and when they should receive it. When you define a service you therefore answer these same questions. The Service Wizard is the recommended way to create services. It should satisfy your needs for most application design requirements. The Service Wizard guides you through the process of designing a service by having you define the following: The delivery methods by which a service should be delivered, such as e-mail, wireless, and over the Web The content that should be delivered, such as an HTML e-mail with several reports or a wireless plain text service for a wireless service The recipients who should receive this information and their preferences The schedule on which the information should be delivered The following sections include the following: cover each of these topics in greater detail.
C O N C E P T S
Each delivery method is made possible by an information transmitter. Information transmitters are responsible for delivering messages once message contents are complete. The name of each information transmitter is listed in the Delivery Methods area of the Service Wizard. By default, Narrowcast Server provides e-mail, wireless, print, file, SMS, and Web information transmitters. As a result, these options appear on the Service Wizards Delivery Methods page. To enable additional delivery methods, additional information transmitters must be created and registered with the system. For more information about managing information transmitters see the Configuring Information Transmitters chapter in the Narrowcast Server System Administrator Guide. The message content delivered by each delivery method is created through one or more content sections that the delivery method provides. For example, using the e-mail delivery method you can define a message subject, message body, and attachments. The content for each section is created using documents. For more information on the content sections available by default, see Content sections. For more information on how documents are used to provide content for these sections, see Documents.
Publications
Each delivery method is supported by a single publication, which specifies the content to be delivered. Since each delivery method corresponds to an information transmitter, each publication is in turn created for a single information transmitter. It is the information transmitter for a publication that specifies which content sections the publication provides to the application designer and which types of content each section can accept. For example, the E-mail (SMTP) information transmitter informs publications for the E-mail (SMTP) delivery method that a message subject, message body, and a section for attachments should be provided. The E-mail (SMTP) information transmitter also dictates that the subject can only accept one text document, while the attachments section can accept any number of documents of any type. Other information transmitters specify their own content sections and their own rules for what types of content these sections can accept. In addition to this role of containing message content, publications also specify the locales and devices the publication supports. As discussed in chapter 8, Supporting Diverse User Populations, locales specify the regional characteristics of messages while devices control how messages are formatted for end user devices. When creating services using the Service Wizard, all of this functionality might not be immediately apparent. This is because the Service Wizard is designed to guide you through a streamlined application design process. For example, when you select a delivery method, a publication is automatically created that is
4 Chapter 1 Creating Services
embedded within the service. Similarly, when you click a content section for one of these delivery methods, an editor opens. Using this editor, you can create a document which is then embedded within the publication. You might not even be aware that you are creating embedded publications with multiple embedded documents, but this is in fact what is occurring. In addition, the Service Wizard automatically ensures that each publication supports all devices that exist for the corresponding information transmitter and the system locale. You can change these selections by clicking Set Devices and Locales within each content section. Furthermore, if you wish to create reusable documents that are reused by one or more services or by multiple delivery methods within a service, you can do this by creating a document within Narrowcast Administrator and then choosing to use an existing document for the content pane in the Service Wizard. However, in addition to serving the content specification role as described above, publications also support a content selection role. To understand how this works, consider that each publication supports a single locale and a set of devices. Similarly, each user chooses a locale for which they would like to receive content and each address for a user is created for a specific device. Thus, when a service is delivered Narrowcast Server matches subscriptions with the appropriate content. For example, a service can contain a publication with German content and a publication with French content. Each user can then specify a locale for which he wants to receive content using the Subscription Portal, or an administrator can define user locales using the User Properties Editor. When a service is executed, a German user subscribed to this service receives German content, and a French user subscribed to this service receives French content. The same selection behavior occurs with devices. A service can contain a publication with content defined for PDAs and a publication with content defined for a specific set of e-mail clients. Each address must specify the type of the device for which it should receive content. Thus, when a service is executed, subscribers accessing data through both PDAs and e-mail clients receive appropriate content even though they have both subscribed to the same service. The advantage to this selection of content based on devices and locales is that one service can be defined for an intended purpose (for example, a stock alert, a weather update, or an inventory alert), and any user who wishes to receive this information can subscribe to this service using his preferred device and locale. As a result, when designing a service, it is important to design publications considering the devices and locales the service is intended to support. For services intended for users requiring the same language and using devices that have the same capabilities (for example, a corporation in which every address belongs to a Microsoft Outlook e-mail client), a simple service
Choosing delivery methods 5
C O N C E P T S
C O N C E P T S
with one publication that supports the appropriate devices handles the requirement. By default, the Service Wizard supports all devices for an information transmitter and the system locale, and all users are created using the system locale. Thus, for simple services that do not require multilocale support, locales should not be changed in the content specification process. However, for complex services that are intended to support multinational or multilanguage user communities, or multiple devices with varying capabilities, it is important to consider both publication content and how publication design impacts the content selection role of determining which users receive which publications. As noted above, a subscription only receives a publication if the locale and device used by the subscription are supported by the publication. The one exception to this rule is the system locale, which can be used to create a backup, or failover, publication. If a publication is defined for the system locale, it is delivered to a subscription if the device used by the subscription is supported by the publication (regardless of locale), and no publication is found that supports both the locale and device used by the subscription. This is best clarified by the following example. Address1 uses Device1 and exists for a user who uses Locale1. Service1 contains the following three publications: Publication1: Supports Device1, Locale2 Publication2: Supports Device2, Locale1 Publication3: Supports Device2, Locale2 If subscribed to a subscription set used by Service1, Address1 receives nothing. Service2 contains the following three publications: Publication4: Supports Device1, Locale2 Publication5: Supports Device2, Locale1 Publication6: Supports Device1, System Locale If subscribed to a subscription set used by Service2, Address1 receives Publication6 since no publication supports Device1 and Locale1 but Publication6 supports the system locale and Device1. Service3 contains the following three publications: Publication7: Supports Device1, Locale2 Publication8: Supports Device1, Locale1 Publication9: Supports Device2, SystemLocale
If subscribed to a subscription set used by Service3, Address1 receives Publication8 since this publication supports Device1 and Locale1. Thus, the system locale can be used to create a backup publication to provide an informational message in the event a user subscribes with a nonsupported locale. The following graphic depicts the process Narrowcast Server uses to determine which publication is used for a particular subscription depending on its support for user devices and locales.
Start
C O N C E P T S
no
More publications?
yes
no Go to first publication
no
Go to next publication
no
More publications? yes no no Subscription not supported by service definition. No message generated.
yes
End
C O N C E P T S
Content sections noted as advanced are sections that are not needed for basic applications, but can provide additional power and flexibility for advanced applications. These sections are typically execution control documents that provide additional flexibility to control how messages are delivered. For example, the contents of a MicroStrategy report can be used to dynamically control the sender that appears in e-mail messages sent by Narrowcast Server. The properties that are controlled by execution control documents vary from one information transmitter to the next. For more information on execution control documents for the e-mail and wireless (SMTP) information transmitters, see E-mail and Wireless (SMTP) ITM Execution Control Documents. For more information on execution control documents for the File information transmitter, see Changing File Names and Extensions: Execution Control Documents. For more information on execution control documents for the SMS (SMPP) information transmitter, see SMS (SMPP) ITM Execution Control Documents. In addition, for the Wireless (SMTP) information transmitter, an HTML message body section is also provided as an advanced content section. This is for advanced devices that support HTML content. For the e-mail (SMTP) information transmitter, a text message body section is also provided as an advanced content section. If only a text message body and no HTML message body is specified, text e-mails are delivered. If both text and HTML message bodies are provided, a multi-part MIME message is delivered. Multipart MIME allows one e-mail message to contain both text and HTML bodies so that MIME-compatible e-mail clients can display the best content type that they support. MIME is an extension to the standard SMTP e-mail protocol that allows HTML messages, attachments and other content beyond plain ASCII text to be sent via email. Within each content section, error handling can be used to control whether or not messages are sent to individual recipients if there is an error with any documents formatted for a particular recipient. Each document within a service can either be removed or can cause no content to be delivered to this recipient if an error is encountered.
Using specific error handling settings, you can define services with alerting capability. For information about the error handling properties and ways to support the alerting functionality of the alert-based services, see Error handling and Alert-Based Applications.
C O N C E P T S
For the E-mail (SMTP) delivery method, you define the content by adding documents to the following content sections: Subject Message body (HTML) Attachments: includes Excel, HTML, and text, as well as zip and other imported files Execution control (advanced): overrides the default information transmitter settings. For information about using an execution control document in an E-mail (SMTP) delivery method, see E-mail and Wireless (SMTP) ITM Execution Control Documents. Message body (text) (advanced)
Wireless (SMTP) delivery method
For the Wireless (SMTP) delivery method, the following content sections hold the service content: Subject Message body (text) Attachments: includes Excel, HTML, and text, as well as zip and other imported files Execution control (advanced): overrides the default information transmitter setting. For information about using an execution control document in a Wireless (SMTP) delivery method, see E-mail and Wireless (SMTP) ITM Execution Control Documents. Message body (HTML) (advanced)
Print delivery method
For the Print delivery method, the following content sections hold the service content: Cover page: can include one or more text or HTML documents; these are printed first in the order they appear in the interface
C O N C E P T S
Documents: requires at least one text, PDF, imported, or HTML document; these are printed second in the order they appear in the interface
File delivery method
For the File delivery method, the following content sections hold the service content: Saved documents: requires at least one document of any type; one or more are allowed Execution control (advanced): can include only one text document; this document is optional. For information about using an execution control document in a File delivery method to add or overwrite file properties, see Changing File Names and Extensions: Execution Control Documents.
SMS (SMPP) delivery method
For the SMS (SMPP) delivery method, the following content sections hold the service content: Message body: required and limited to one plaintext document Execution control document (advanced): overrides the default information transmitter settings; this document is optional and limited to one plaintext document. For information about using an execution control document in a SMS (SMPP) delivery method to complement or overwrite message properties, see SMS (SMPP) ITM Execution Control Documents.
Web (Portal) delivery method
For the Web (Portal) delivery method, the following content sections hold the service content: Document body: can be one HTML or one plaintext document Attachments: can be any number and any type of documents) Link rendering style: an XSL stylesheet file that transforms ITMgenerated XSML into hyperlinks. These hyperlinks are then added to the bottom of the HTML message body for Subscription Portal messages. By using a different XSL stylesheet, the appearance of these hyperlinks can be changed.
10
Documents
When content sections in a service such as a subject or message body are added for a delivery method, a document is created. Documents define the fully-formatted content that end users receive. Documents combine static content such as text, HTML, and static images with dynamic content such as reports returned from MicroStrategy Intelligence Server, personalized files, and personalized Web hyperlinks. Multiple types of documents are available to support different types of content such as HTML, text, and Excel. Each delivery method, such as e-mail or wireless, supports one or more content sections such as the subject or message body of an e-mail message. In the Service Wizard, content is defined by clicking a content section for the desired delivery method. This opens a document editor to define the appropriate type of content for the selected content section or opens a dialog box so that you can select the information source containing a MicroStrategy Desktop document to include. Using this process, you can easily create and select the appropriate documents to serve as service content.
C O N C E P T S
The Service Wizard creates documents as embedded by default so that they are not saved in Narrowcast Administrator as independent, reusable objects. However, these documents can be made reusable by selecting Save As within the Service Wizard. In addition, reusable documents can be created within the Narrowcast Administrator for use in one or more services.
The export formats you can select in Narrowcast depend on the export formats set while creating the document. For details to define export formats for a document, see the Desktop Report Services Document Creation Guide. For more information on working with HTML, Excel, and text documents, see Working with Documents. This chapter provides in-depth information on how to create powerful, high-quality content within Narrowcast Server as well as techniques for working with each type of document. Also, information on how to link to MicroStrategy Desktop documents and include them in Narrowcast Server services is provided. An additional section on XSL stylesheets provides comprehensive information on using XSL stylesheets with Narrowcast Server. Both documents embedded within services and reusable documents saved within Narrowcast Administrator can be given names to help you identify them and remember their purpose. However, when naming documents to be used as attachments, you need to avoid the use of characters that could cause an invalid file name when files are sent as attachments. Invalid
11
C O N C E P T S
characters can cause undesired behavior in some e-mail clients. In general, avoid using the following characters: \ / : * ? < > |
Document elements
A document element consists of one or more information objects plus error handling settings and XSL stylesheet selection. A document element is essentially a place holder or container for one or more information objects, which allow dynamic content to be added to a document, and for the same formatting and error handling conditions to be applied to all information objects within this document element. This also allows an information object to be changed without changing the stylesheet or error handling settings. Its ability to hold multiple information objects permits several information objects to be merged by one XSL stylesheet. Each information object must have the same type, such as text, XML, or HTML.
Error handling
In MicroStrategy Narrowcast Server, the error handling properties that govern the delivery of dynamic content are defined at the document element level, the document level, and the publication level.
Document element-level error handling
At the document element level, an error is considered to be any event that prevents a document element from being rendered or populated, and inserted into a document. In the Document Element Properties dialog box within each of the document editors, the following settings control how different types of errors are handled. If an information object returns no data: This type of error is returned if an information object executes successfully but the information source returns no data. If an information object returns an error: This type of error is returned if the information source cannot successfully execute an information object and returns an error.
12
If the document formatter is unable to format the document element: This type of error is returned if an information object returns data, but after formatting the document element, invalid data is produced in the document element that cannot be used by the document formatter because it does not have the correct structure. This could result if an invalid XSL stylesheet is applied or if the XML format returned by the information object is invalid. For each of these events, it is not possible to insert a rendered document element into the document. As a result, you can take two different actions based on the failure. First, the document element can be replaced with a string value that you define. Second, the document element can raise an error so that the document fails to be generated.
Document-level error handling
C O N C E P T S
At the document level, an error occurs when a set of information objects fails or returns no data, cancelling the document. This allows you to define error handling based on the results of several information objects collectively, and not just the success or failure of a specific information object. The document cancellation is based on information objects rather than on document elements. That is, if a document element contains two or more information objects and one information object fails to return data, but the document element as a whole returns data, error handling assesses the failure of the information objects rather than the success of the document element. These error handling settings are specified in the Document Properties dialog box by making the appropriate selections in the Error Handling area.
If error handling is set to cancel a document via either document- or document element-level error handling, the document is cancelled if either setting takes effect. In other words, if document-level error handling is set to fail a document if all information objects return no data, and document elementlevel error handling is set to fail a document if a specific information object fails, the document still fails if just the information object selected in the document element fails.
At the publication level, error handling is designed to handle errors in the generation of documents. If a document cannot be generated correctly, the publication must determine how to handle this situation. Narrowcast Server provides two options. First, the document can be removed from the publication so that the recipient simply receives a message without this document. Second, the message containing this document can be aborted
Creating service contents 13
C O N C E P T S
so that the recipient receives no message. These error handling settings can be defined for each document within a publication using either the Service Wizard or the Publication Wizard. In the Service Wizard, click Error Handling to set the desired delivery method.
Error handling and alerts
Document generation failure based on document or document element error handling can be used to create alert type services that deliver content to recipients only when certain conditions have been met. This type of behavior can be achieved by setting document or document element error handling settings to Fail the document when the desired error type is encountered, such as if the information object returns no data. In the publication containing these documents, the error handling should be set not to deliver messages if the document returns an error. In this case, when an information object fails, an error is returned to fail the document. Since the document is required for the publication to be delivered, the publication is not delivered to recipients for which the document element produced an error. Note that to achieve this alerting behavior, either (a) information objects must be properly designed to return no data or an error when no content should be delivered to subscribers, or (b) XSL stylesheets must be designed to produce an error based on certain conditions in the data. You can also choose to have a message delivered even if the Information Object is empty due to the report or document returning no report results. To have an empty message delivered, at the publication level, set Remove Content on Error. The report or document that had no results is removed from the publication, and an empty message is delivered.
Error handling for Excel documents
Error handling is also available at the document formatter level for the Excel document formatting module. No error handling is available for the HTML or Plaintext document formatting modules. For information about using Excel documents in a service, see Excel documents.
14
objects, as documents can. Storing information in the file format preserves the integrity of the original data since files cannot be modified by Narrowcast Server. Imported files cannot be directly included in publications; they must first be used to create imported documents, which can then be included in service contents. Imported files can also be used as stylesheets or templates for documents. For example, imported Excel workbook files serve as the basis for creating new Excel documents. An imported Excel file determines the number of worksheets available in an Excel document and can provide formatting and macros to be used within the document. For information about using Excel documents in a service, see Excel documents.
C O N C E P T S
Compressed documents
Delivering large documents in Narrowcast Server services can adversely affect the speed and performance of various downstream systems and can require large amounts of storage space. For example, this might occur when large Microsoft Excel workbooks are delivered via e-mail, published to the Subscription Portal, or saved to network locations. Compressing, or zipping, documents is one way to reduce the size of files generated by Narrowcast Server. File compression advantages include: Reduced traffic across corporate networks Reduced storage in mail systems Reduced download times from the Subscription Portal Faster, more efficient transfer between mail systems and client machines Reduced database storage space requirements when storing Subscription Portal documents in a database Any information transmitter that can accept imported documents can send compressed documents. This includes the E-mail (SMTP), Wireless (SMTP), and Web (Portal) information transmitters that are provided with Narrowcast Server. The SMS (SMPP) information transmitter, which does not accept imported documents, also does not allow documents to be compressed. Custom information transmitters follow the same rule: if it accepts imported documents, it can send compressed documents. Narrowcast Servers file compression technology includes the following compression levels: Maximum: This level is the slowest to produce a compressed file; however, it produces the smallest files. As a result, the performance of other processes, such as saving files to databases for use by the Subscription Portal, can be greatly improved.
Creating service contents 15
C O N C E P T S
Medium: This level produces compressed files faster than Maximum level. However, file size is not reduced as much as when Maximum level compression is used. Minimum: This level performs the least amount of compression possible. Files are compressed less, resulting in a fast compression time. None: No compression is performed. Overall system performance using compressed documents should be analyzed to determine the appropriate selection.
If compression fails for any reason for a recipient, the service is not delivered to that recipient.
16
C O N C E P T S
Schedules
A schedule sets the times or frequencies a service is executed and represents a recurrence pattern, not a fixed date on which to send the service. For example, although you can be specific with the service start date, for example, April 4, 2000, at 2:30 PM, it is still a recurring schedule, most likely on a yearly recurrence. Execution intervals are calculated by combining the start date of a service with the interval specification of a schedule to arrive at a set of dates and times when the service runs. All schedules are built using the standard Gregorian calendar, as opposed to a fiscal calendar. Schedules are defined relative to time zones, to automatically account for daylight savings time, date boundaries, and other time zone specific issues. To allow subscribers throughout the world to receive services at specific local times, each service can use more than one schedule. Since Narrowcast Server is driven by the calendar, use of other calendars, such as merchandising calendars and fiscal calendars, must be simulated. Similarly, holidays present disruptions in schedules which should be handled carefully.
17
C O N C E P T S
subscription set would use the Weekly on Thursdays schedule and the Biweekly on Fridays schedule. The service then runs every Thursday as well as every other Friday.
18
The flexibility of MicroStrategy Narrowcast Servers component-based object model allows objects to be built once and recombined and reused. This reduces duplicate work and increases the power and flexibility of the objects you create. To send a service in MicroStrategy Narrowcast Server, you must provide answers to the following questions:
Who?
(Who will receive this information?) Subscription Set
C O N C E P T S
What?
(What information will be sent?) Publication, Document, Information Object, Question Object
When?
(When will this information be sent?) Schedule
Where?
(Where will the user receive the information?) Device
How?
(How will this information be formatted?) XSL File, Locale
19
C O N C E P T S
MicroStrategy Narrowcast Server uses the following objects to answer these questions:
Service: A service sends related content (what), to a subscription set (who), at a specified time based on a schedule (when). To do this, a service is composed of three types of MicroStrategy Narrowcast Server Objects: publications, which contain the content; subscription sets, which specify the recipients; and schedules, which determine the time to send the service. In addition, a service can contain more than one object of each type, allowing one service to send content in different formats to multiple sets of recipients on different schedules.
20
Publication: A publication contains the service content (what), defines which devices should receive this content (where), and controls how the content is formatted (how). A publication is composed of three types of MicroStrategy Narrowcast Server Objects: documents, which define the message content; devices, which indicate the types of devices to which the content can be sent (for example, e-mail client, cell phone, and so on); and a locale, which controls which users receive the publication. This structure allows each publication to be defined for a specific locale and set of devices. In the publication-service model, one service can contain multiple publications which all typically contain similar information for some messaging purpose (for example, an inventory alert). Subscribers can then identify their preferred method of contact (for example, e-mail or cell phone) and preferred locale (for example, France or Spain) and subscribe to this one service. When the service is run, MicroStrategy Narrowcast Server sends some messages to cell phone subscribers in Spain using one publication and other messages to e-mail subscribers in France using another publication. Schedule: A schedule defines the frequency with which a service is sent (when); for example, every Tuesday or twice daily. It is not dependent on other MicroStrategy Narrowcast Server objects. Subscription set: A subscription set defines who receives a particular service (who). Users subscribe to a service by adding their addresses to a subscription set used by the service. This address added to a subscription set is then called a subscription. Note that each address can be subscribed more than once. In a service, each subscription set is associated with one or more schedules. A service can contain multiple subscription sets and schedules. This allows different subscriptions to receive messages from a service at different times. Document: A document defines the content that the recipient sees upon viewing the service (what). Document composition can include three types of MicroStrategy Narrowcast Server Objects: information objects, which pull dynamic data from an information source (for example, MicroStrategy Intelligence Server); XSL files, which format the information objects; and a template file, which determines the initial structure of the document (for example, a 3-sheet Excel workbook). There are four types of documents: plaintext documents, HTML documents, Excel documents, and imported documents. Documents are organized within publications. To understand how and why this is the case, consider that each publication is intended for one and only one transmission channel such as e-mail. Thus, each publication may contain only a certain set of documents that is valid for a particular information transmission channel. The publication structures these
C O N C E P T S
21
C O N C E P T S
documents so that a valid message is produced for the transmission channel. For example, a publication intended for e-mail transmission allows a set of documents including an HTML body and a text subject. Locale: A locale helps control message formatting (how) and determine which subscriptions receive the publication. In the first role, locales tailor content to suit regional preferences by controlling what information is retrieved, how documents are formatted, and how messages are delivered. In the second role, locales control which subscribers receive a publication. Each publication is defined for one specific locale. When a service is executed, each publication is only delivered to subscribed addresses that specify the same locale. For example, if a French and a German locale are defined, a German publication is associated with the German locale, and a French publication is associated with the French locale. One service can then contain both publications. When the service is executed, French subscribers receive the French content, and German subscribers receive the German content. Device: A device specifies characteristics of the receiving device (where) to which the service content is sent and determines which subscriptions receive the publication. A publication is defined to support a set of devices, and a publication is only sent to user addresses that use those supported devices. For example, one publication can support all pagers, and another can support all PDAs. One service can contain both publications. Upon running the service, the PDA content is sent to PDA devices, and the pager content is sent to pager devices. Information object: An information object specifies the dynamic (determined at execution time) part of a document's content (what). An information object retrieves dynamic data from an information source. For example, an information object might point to a report from the MicroStrategy Intelligence Server information source. The resulting information object data is either returned (a) in XML structure (to be formatted by an XSL stylesheet), (b) as plain text (to be added directly to the document content), or (c) as an image. Information objects can be personalized for each individual recipient, and can optionally be associated with question objects as described below. XSL file: An XSL stylesheet specifies how content returned by an XML information object is formatted (how). The document formatters use XSL stylesheets to format XML information objects into content appropriate for the document containing the information object (for example, a plaintext, HTML, or Excel document).
22
Question object: A question object determines what preferences are gathered for each user. A question object is composed of a set of questions and thus provides a template for users to specify their preferences through answering these questions. The answers to these questions (preferences) impact the data (what) that is returned by information objects for each user. This process allows each recipient to receive data tailored to their individual preferences.
C O N C E P T S
Next steps
If you have read this chapter, you now understand how services work and how to create them. The next logical place to go is to the next chapter, Dynamic Content and Personalization, to learn how to add dynamic content such as reports to your service and how to personalize users so that each user receives content that is relevant to them. Once you complete this chapter, you can learn more about user management options in the User Management chapter, or explore other functionality within Narrowcast Server in the subsequent sections.
Next steps
23
C O N C E P T S
24
C H A PT E R
C O N C E P T S
Dynamic content
After reading the chapter on Creating Services, you understand that service content is created using documents. These documents are created by entering content such as HTML or text into an editor. This content that is entered directly into the editor is called static content since it is not determined at service execution time and does not change from one recipient to the next or from one service execution to the next. However, the true power of Narrowcast Server comes from content that is determined at service execution time and can vary from recipient to recipient or from execution to execution. This type of content is called dynamic content. Like static content, dynamic content is added to documents, but dynamic content may be personalized so that each recipient receives information that is relevant for him. This section provides an overview of dynamic content and how Narrowcast Server uses Information Objects to retrieve dynamic content from external sources such as MicroStrategy projects, database queries, or external systems.
Information objects
A key feature of Narrowcast Server is the ability to gather and use information from external sources. This information can be used for message contents or for subscription set information. This information can be retrieved from diverse locations such as a relational database, on the Web, in a flat file, and so on. In Narrowcast Server information objects play this crucial role of gathering information from external sources. An information object is a set of instructions specifying how to get data from an external information source. This section provides an overview of how information objects work and how you can use them to create powerful applications. For information on best practices to be followed while creating an information object, see Best practices for creating an information object outside the service.
25
C O N C E P T S
A content information object returns results that are used as dynamic content in a document and returned in a specific format as either XML, text or GIF. For the MicroStrategy Information Source, the main action required is to select a report created from within MicroStrategy Desktop. If a graph is returned, a graph size will also need to be specified. For information on best practices to be followed while segmenting a content information object, see Best practices for segmenting an information object used with dynamic subscription sets.
Subscription information objects
Subscription information objects are used by dynamic subscription sets to retrieve this subscription information during service execution. Subscription information objects return subscription information in a predefined format. For the MicroStrategy Information Source attribute forms (either on the page axis of a chosen report or returned directly from the project) must be mapped to corresponding subscription property fields, such as physical address and end user device. Constants can also be used by entering values manually. Other subscription information can be retrieved from the Subscription Book if the Subscription ID returned by the subscription information object matches the Subscription ID in the Subscription Book. For information about using page personalization for information objects in dynamic subscription sets, see Page Personalization and Dynamic Subscriptions.
26
Segment information objects are optional and are used to return a set of segment boundary values in a predefined format. These segment boundary values specify the ID for the first subscription in each segment of the subscription set for the service. When designing a segment information object, you must assign a prompt object to be used to control the segment size. The Information Object Wizard restricts your options at this stage, allowing you to select only those reports that have the correct prompt objects. For more information about the segmentation process, see Slicing and segmentation.
C O N C E P T S
Information objects
27
C O N C E P T S
Not every document type (text, Excel) supports each information object type. Specifically, text documents and Excel documents do not support image information objects. However, HTML documents do support all information object types. When you insert a certain kind of information object (for example, a MicroStrategy Grid report), into a document, the information object type is automatically determined and you need not take any action other than to follow the instructions to define the information object correctly. Thus, you typically only need to be aware that different XSL stylesheets can be chosen for XML information objects to change formatting, and that images are not available in text or Excel documents. The related information objects are listed for each document type. Excel: MicroStrategy Grid reports, user information, subscription information HTML: MicroStrategy Grid and MicroStrategy Graph reports, user information, subscription information Imported: These are containers for imported files and do not use information objects Text: MicroStrategy Grid reports, user information, subscription information Additional kinds of information objects might be available if your system administrator has added a different kind of information source. For example, an ODBC information source might allow for a database query information object. These additional information objects will only be available in the appropriate types of documents.
28
When you create an information object from within a document editor or a dynamic subscription set as you are creating or editing the document or subscription set, you simply select the kind of information object you would like to create, such as a report. The information object role is chosen automatically. Typically, several other information object properties are automatically defined as well. Content information objects created this way are embedded; that is, they can only be used by the object in which they were created, and are not saved to an independent location within Narrowcast Administrator. If at least one MicroStrategy Information Source is defined, MicroStrategy Grid and MicroStrategy Graph options are available. The type of document being created determines whether grid or graph options are available. For example, a plaintext and Excel document only allow grid reports to be inserted, whereas an HTML document also allows graph reports to be inserted. If more than one MicroStrategy information source is defined, the grid/graph options are grouped by information source. For new MicroStrategy information objects, report formatting defined in MicroStrategy Desktop and MicroStrategy Web is preserved by default. This default formatting can be changed by selecting a different stylesheet. Do this by importing the desired XSL stylesheet and then changing the document element properties to select this XSL. For a MicroStrategy Information Source, whenever you select a report or filter for an information object, the selection is validated to ensure it is suitable for the intended purpose. Messages are displayed indicating what is needed for a valid selection and whether or not a selection is valid. If a selection is not valid, an explanation of what is needed is shown. In this case you cannot proceed with the information object definition until you select a valid report or filter. For more information about the type of validations that occur for content information objects and subscription information objects, see Information object validation. Since Narrowcast Server has an open architecture, your system administrator might have defined additional information sources. These information sources can provide additional information objects that you can use to insert content into your documents.
C O N C E P T S
Information objects
29
C O N C E P T S
produced when two or more XML information objects are merged is equivalent to the concatenation of the XML from each information object, encapsulated in a root element. This additional root element causes the resulting XML to be incompatible with the default XSL stylesheets. Therefore, if you wish to simply position two reports one after the other, you should use two separate document elements. But if you need to merge the data within two XML information objects, you can accomplish this only if you also develop and apply a custom XSL stylesheet.
30
In addition, you can create your own user information properties that can be personalized by end users through the Subscription Portal and inserted into message contents. Do this by selecting Edit User Information Available from the Tools menu in Narrowcast Administrator. This user information property now appears on the Insert menu in the document editors along with all the other user information properties. You can combine user information with data from other information objects by inserting the desired user information into a document element with another information object such as a MicroStrategy report and using a stylesheet to format the combined data from both sources. You can also combine multiple pieces of user information and format them as desired by selecting the Custom Combination option and using stylesheets.
C O N C E P T S
Subscription information
Narrowcast Server also provides the ability to insert information about the subscription that is being processed. This is typically used for message tracking purposes such as inserting a unique message identifier into a Web hyperlink to track which messages have been viewed or inserting other information such as address or subscription ID into message contents. Another example is for use with pagers, wherein a pager company requires that a PIN be inserted in the message subject. The format required is shown below: To: name@company.com Subject: <PIN number of my pager> The following subscription information is available by default in Narrowcast Server: Address ID Address Display Device ID Locale ID Physical address PIN Subscription ID Subscription set ID User ID All subscription data Unique message identifier
31
C O N C E P T S
Personalization
In MicroStrategy Narrowcast Server, personalization refers to the process of providing different content to different subscribers within the same service execution by having information objects return content that is tailored for each user. The use of personalization in Narrowcast Server enables the following functionality: Users can provide their preferences and receive only the information that is relevant to them. Administrators can control user access to information and prevent users from accessing sensitive information. Narrowcast Server can gather information from external sources using the identity of individual users to integrate with the security features of external systems. Personalization can be defined either after creating an information object or by creating and selecting a question object.
Types of personalization
In MicroStrategy Narrowcast Server, personalization of dynamic content exists in four forms: preferences, authentication, security, and locale selection. Preferences allow users to define the information they want to receive. For example, a user might specify that he wants to receive weather information for Boston. Note that preferences can be defined at the user level or for individual subscriptions. Preferences defined at the user level are applied by default to all services to which the user subscribes, while preferences defined at the subscription level can only be applied to a specific subscription. Subscription preferences always override user preferences if both are defined. Preferences are defined by providing answers to either an information object or a question object, which can contain a set of questions. For this reason, information objects and question objects are sometimes referred to as personalized objects in Narrowcast Administrator. Answering these questions specifies the information the user wants to receive. A user can define preferences for all available personalized objects. For example, a user might provide preferences for a What City? question object and a What Item? prompted information object. For detailed information about the type of preferences defined for a user, see User and subscription preferences.
32
Authentication provides a means for each user to provide a login ID and password with which he can be authenticated by an external system when an information source gathers information. For example, for an information source gathering content from MicroStrategy Intelligence Server, user authentication is a login and password to a MicroStrategy project. Thus, you might require users to provide a login and password, so that you can take advantage of security features available through MicroStrategy Intelligence Server such as security filters. A user can have authentication defined for each available information source that supports authentication. Security provides a means for an administrator to control the information that can be accessed by individual users. For example, an administrator might want to set security for managers at the region level so that managers can only see sales numbers for their own region. Note that security can be defined for individual users or at the information source level. If security is defined at the user level this always overrides the default security defined at the information source level. For detailed information about security defined at various information and user levels, see Information source security. Locale selection also impacts message personalization by determining how numbers and dates are formatted, which language is used and which character set is applied. For more information on usage of locales, see Supporting Diverse User Populations.
C O N C E P T S
Personalization
33
C O N C E P T S
multiple subscriptions so that the same question object does not need to be answered multiple times. Subscription preferences cannot be reused for other subscriptions.
Advanced techniques
User and subscription preferences can be defined in their simplest form by answering the prompts within an information object. However, in some cases this results in a less than ideal application design. For example, suppose you need five reports that contain a prompt object on region and some other prompt object. You obviously cannot reuse the same information object since the report is not the same. However, when users define preferences, they will be forced to answer the same which region prompt five times. Furthermore, suppose you create a service with an information object prompting on region, then suppose you have your entire user population provide preferences for this information object. Now suppose you need to change the report to a different report which still prompts on region. You certainly do not want to lose preferences for all your regions. Question objects provide solutions to this kind of problem by providing an independent template for which users can define their preferences. This section explains how to use question objects.
34 Chapter 2 Dynamic Content and Personalization
Question objects
A question object is a container that holds a set of questions that users answer to define their preferences. Thus, a question object provides a template for users to specify their preferences through answering one or more questions. The answers to these questions (preferences) impact the information that is returned by information objects for each user. This process allows each recipient to receive information tailored to his individual preferences. A question object can contain any type of prompt object created through MicroStrategy Desktop, with one exception. Prompt objects that contain embedded prompt objects (a prompt based on the answer to the first prompt) are not supported by Narrowcast Server.
Advantages
C O N C E P T S
It is important to understand why question objects exist and how they are helpful. A question object allows the structure for providing preferences (a set of questions) to exist without linking this structure to any one specific information object or requiring any specific information object to exist without changing. This is powerful because it allows users to: Define preferences that can be reused across multiple information objects Define their preferences and maintain those preferences even if an information object changes Thus, if the concept of a question object did not exist, and the structure required for user preferences was always stored within information objects, users would not be able to ensure their preferences were reusable across multiple information objects or maintainable as application designs change.
Prerequisites
Before a question object can be defined, an information source must be properly defined and configured to provide the questions the question object displays to the user. For example, to create a question object for the MicroStrategy Information Source, an administrator must do the following: Create the desired reports in the MicroStrategy Desktop interface that contain the desired prompt objects (the questions that the user is asked).
2. Properly configure an information source to connect to the project that contains these reports. 1.
Personalization
35
C O N C E P T S
Once an information source exists with which to gather personalized information, a question object may be created to define the questions that a user is asked when defining his personalization. For the MicroStrategy Information Source, this is done by selecting a report that contains one or more prompt objects. Each user answers these prompts to define his or her personalization. Once a question object has been created, it must be associated with an information object. In other words, once the structure used to define preferences has been created, this structure needs to be applied to an information object. For MicroStrategy information objects, this is done by selecting the question object within the question object tab under Advanced options within the Information Object Wizard. Once an information object is associated with a question object, when the information object is executed, these preferences are applied to personalize the content returned. Thus, when a user provides his preferences, he is providing answers to question objects, which are used to personalize the content returned by any information objects associated with these question objects. Users define their personalization (by answering question object questions) at the user level (which is applied to all subscriptions by default) or at the subscription level (which is only applied to one subscription). Thus, when personalization is defined, the user selects a question object and then is prompted to supply answers to these questions. At the user level, these answers are saved in a named, reusable collection called a user preference. For the MicroStrategy information source, whenever you select a report for a question object, the selection is validated to ensure it will work as intended. Messages are displayed indicating what is needed for a valid selection and whether or not a selection is valid. If a selection is not valid, an explanation of what is needed is shown. In this case you cannot proceed with the question object definition until you select a valid report. For more information about the use of question objects in a report for validation, see Question object validation. For more information on how preferences use question objects, see Personalization.
Other considerations
If two subscribers have the same personalization and are subscribed to the same service, they do not necessarily receive the same content. This is because there are two other ways to control the content that subscribers receive. Personalization, as described above, refers to different ways to control how information objects return information. In addition, it is also possible to control which content users receive and thus which
36
information objects are executed for each subscriber. This can be done through the use of locales and devices. Thus, five factors control what information subscribers retrieve when a service is executed in MicroStrategy Narrowcast Server: Preference Authentication Security Locale Device As noted above, personalization controls how information objects are executed and is determined by a users preference, authentication, security, and locale. Locales and devices impact the content subscribers receive differently than preference, authentication, and security definitions. Locales and devices control which publication is executed to deliver content for a given subscriber and hence which information object is executed. This has to do with the way users describe the type of information they want to receive and the type of information that services are designed to provide. On the user side of the equation, each user selects one locale for which the user wants to receive content, and each address is defined for one device on which the user wants to receive content. In the service design, each service can contain multiple publications, and each publication is designed to support only one locale and a specific set of devices. In addition, each publication has its own content and can either share documents or information objects, or have independent documents and information objects. During service execution, publications are delivered to subscriptions based on the locale and devices supported by the publication. Therefore, different subscribers receive content from different information objects if: A service contains multiple publications supporting different locales and devices, The publications contain different information objects, and A service contains subscriptions for these different locales and devices. To fully understand personalization, it is necessary to understand how question objects and information objects work.
C O N C E P T S
Personalization
37
C O N C E P T S
When defining a report in MicroStrategy Desktop to be used as an information object or question object that supports information source security, do not restrict the list of available elements in the prompt object that will be used for security. On the page in the Prompt Generation Wizard where you select how to limit element availability, select the option to List all elements (no restriction).
38
Information sources
Information sources define three characteristics of security. First, information sources define whether or not security is used for all information objects using an information source. Second, information sources define the prompt object that allows administrators to define security for all information objects using an information source. Third, information sources define the default security that is applied if no security is defined for a specific user. Thus, all information objects for a given information source will (a) have security either available or unavailable, (b) use the same prompt object to define security, and (c) have the same default security setting. The prompt object and default setting used to define security are set within an information source by selecting an element prompt object and then providing a default answer to this prompt object. Note that if security is enabled for an information source, an element prompt object and a default answer to this prompt object must be selected. To understand how this works, it is important to understand the difference between a security object prompt and a security object. A security object prompt is an element prompt object that asks a question to determine how security is defined for a user (for example, for the examples above, the security object prompts would be Which Regions? and Which Product Categories?). A security object is a users answer to a security object prompt (for example, Southeast Region and Electronics Product Category).
C O N C E P T S
If security is defined using a security object prompt on an SAPbased attribute, then personalization for content using that information source must be defined using attributes from the same SAP dimension. For more information on SAP BW, see the Desktop MicroStrategy Advanced Reporting Guide.
For more information on defining security for a MicroStrategy Information Source, see the Information source security section in the Dynamic Content and Personalization chapter of the Narrowcast Server System Administrator Guide.
Information objects and question objects
Once the security object prompt and default security object have been selected in the information source, it is necessary to properly design information objects and question objects, if created and used, to support security.
39
C O N C E P T S
The role of information objects and question objects in information object execution
To define information objects and question objects to satisfy a certain security requirement, it is important to understand the roles information objects and question objects play during the execution of information objects. Information objects specify how dynamic content is gathered when a service is executed. For the MicroStrategy Information Source, information objects are defined by specifying a MicroStrategy report. This report controls how content is returned by specifying both the report structure and the collection of prompt objects that are answered when the report is executed to further refine the report results. Thus, the information object specifies both the report contents and the prompt objects that are asked at run time. Question objects, if created and used, define the structure of personalization and are used to gather preferences from users and security settings from administrators. A question object is defined by selecting a report that contains a number of prompt objects. This report should include all prompt objects that are to be answered during the process of defining either security or preference. These prompt objects are then presented to the user or administrator at the appropriate time according to whether the prompt object is to be used for preference or security. When a user provides his preferences by defining user preferences, the user selects a question object and provides answers to the prompt objects within this question object. All prompt objects in the question object except the security object prompt (as specified in the information source) are presented to the user when a user preference is defined. When an administrator defines a security object for a user, he answers the security object prompt. Later, when a user defines preferences, he selects a personalization object (either a question object or an information object with prompt objects and no question object explicitly selected). If the personalized object report includes the same prompt object as the security object prompt specified for the information source, Narrowcast Administrator automatically answers that prompt, and uses the answer to apply a filter to the remaining prompt objects in the question object report. The remaining prompts are then presented to the user, and the answers provided, including the answer to the security object prompt, are stored as user preferences for the selected question object. To define security for a particular information object, consider which prompts to include in both the information object and the question object associated with this information object. The design of the information
40
object and question object depends on which of the two roles for security you want to achieve. These roles and their requirements for information objects and question objects are described in the following sections.
C O N C E P T S
If an information object does not use a manually-created question object, the information object must meet the requirements of both the information object and the question object as described in the following sections, or security filtering does not occur.
To satisfy the role of limiting the information returned by an information object, a security object prompt must be present in both the information object and the question object associated with this information object. If the security object prompt is present in both the information object and question object reports, properly defined security objects are applied when the information object is executed. Note that if the security object prompt is present in the question object report and not in the information object report, the security object prompt is not applied when the information object is executed, since, as noted above, the information object controls which prompts are asked at run time. However, one question object can be used for multiple information objects. As a result, in some cases, it might be desirable to add a security object prompt to a question object, but not include the prompt object in every information object that uses this question object. Thus, the question object is designed to support security, but security is applied only to information objects that also include the security object prompt. In the opposite scenario, a security object prompt generally must not be included in an information object and excluded from the question object associated with this information object. This rule applies in general: the prompt objects in an information object should always be present in the question object associated with the information object. This is because question objects gather the prompt answers that are required when information objects are executed. If a prompt object is not present in a question object, no prompt answer is gathered from users and the information object fails to execute if required prompt objects are present that have no answers. If a required security object prompt is not present in a question object, when the information object that uses this question object is executed, there is no prompt answer for the information object prompt and the report fails to execute. The only exception to this is if prompt object with an optional answer is provided in an information object report. If this prompt object is not in the question object, this prompt is not presented to the user for personalization, but the information object still executes correctly.
41
C O N C E P T S
It is important to understand the following concepts when defining security objects. The information returned for each user as a result of the application of information source security is controlled by report design in MicroStrategy Desktop. In other words, proper information source security design in Narrowcast Server simply ensures that a prompt object in a report is answered on behalf of each user. How the information returned is filtered depends on the report design. Thus, it is recommended that you design a report with a prompt object intended for security and run this report several times while answering the prompt for several users to ensure you understand the prompt object implications on report data. Then ensure the same prompt object is selected in the information source and is also present in the question object, if defined. Finally, ensure that information source security is defined for several test users and deliver reports to these users to ensure security is working as intended. The security object defined for a specific user always overrides the default security object defined for the information source. For security to be applied to an information object, the security object prompt must be defined in the information source, the information object, and the question object, if manually created and used, for this information object. The prompt objects in a question object should always be a superset of the prompt objects in the information object (that is, the question object should include all prompt objects in the information object). If this is not the case, when an information object is executed, the report has a prompt object that is not answered. If this prompt object is required, the information object report fails to execute. The only exception to this rule is if a prompt object with an optional answer is included in an information object report that is not included in a question object report. In this case, users cannot provide their preferences for this prompt object through MicroStrategy Narrowcast Server Subscription Portal, but the information object still executes correctly without this prompt object being answered. If the prompt objects in an information object are required, users must provide their preferences by answering the same prompt object as found in the question object for this information object. If no preferences are defined, no answers are available when the report is executed for this user and the report and information object fail to execute. All prompt objects in the question object that are not defined in the information source as the security object prompt are presented to the user when the user defines user preferences for this question object.
42
Once an information object and question object have been created and contain the appropriate prompt objects, the question object must be associated with the information object. The security object (either at the user or information source level) must be defined for information objects that contain the security object prompt. This ensures that it is applied whenever the information object is executed, whether or not users define any preferences. However, the information object must contain the security object prompt. A few potential scenarios related to this functionality are worth considering. For each of the scenarios below, the information object and question object associated with this information object contain the same prompt objects as described below.
C O N C E P T S
If (a) an administrator adds (i) a required security object prompt with no default answer (no default security object) and (ii) additional required prompt objects (for personalization) to the question object and information object, and (b) a user does not provide his preferences for this question object, the information object fails since all required prompt objects go unanswered when the information object is executed. If (a) an administrator adds (i) a required security object prompt with no default answer (no default security object) and (ii) additional optional prompt objects (for personalization) to the question object and information object, and (b) a user does not provide his preferences for this question object, the information object fails since the user has no security object to apply to answer the required security object prompt. If (a) an administrator adds (i) a required security object prompt with a default answer (a security object) and (ii) no additional prompt objects (for personalization) to the question object and the information object, and (b) a user does not provide his preferences for this question object, the information object runs successfully, with the security object applied. If (a) an administrator adds (i) a required security object prompt with a default answer (a security object) and (ii) additional optional prompt objects (for personalization) to the question object and the information object, and (b) a user does not provide his preferences for this question object, the information object runs successfully, with the security object applied.
A security object can also be used to limit the choices available to users when they define their preferences. In other words, the security object definition for a user can limit the choices available to the user when
43
C O N C E P T S
element prompt objects within a question object are presented for personalization. Thus, this can be used to limit the content that users can request. In this case, it is not necessary to have the security object prompt in either the information object or the question object used by this information object. Consider the following application design and user personalization. For application design, use the following: Information source: security object prompt defined as Prompt on Region Information object: report with Prompt on Store Question object: report with Prompt on Store For user personalization, use the following: User1: security object definition chosen as Region1 In this case, when User1 provides personalization for this question object (either through Narrowcast Administrator or through the Subscription Portal), the user only sees the stores that belong to Region1. This is done even though the security object prompt (Prompt on Region) is not included in the question object or the information object report. Note that this can only be used when the question object provides an element prompt object in the same hierarchy as the security object such that the security object properly limits the prompt choices provided in the question object element prompts.
User personalization
Once the information source, information objects, and question objects are properly defined to support security, it is necessary to set security for each user. Do this by defining security objects for users within the Subscription Book or Static Subscription Set Editor. Note that unlike preferences, security can only be defined at the user level, and not at the subscription level. Remember that security objects are only applied if they are defined before a users preferences are defined. If users define their preferences before a security object is defined, the security object is not applied for these users.
upgraded for an information source with security defined, the security object prompt is added to the question object report, but is not added to the information object report. As described in Information objects and question objects, since the security object prompt is not in both the information object and the question object, the security object is not applied when the information object is executed. As a result, the upgraded information object still returns the same content as the report in MicroStrategy Broadcast Server. However, the security object for each user can still be used to filter the choices available to the user when defining preferences. This only occurs if the question object prompt is an element prompt object in the same hierarchy as the security object prompt. For services upgraded from MicroStrategy Broadcast Server that were not personalized through MicroStrategy InfoCenter, the security object is not applied to limit the choices available for preferences, since the question object produced during upgrade prompts for a filter, not an attribute element. For services upgraded from MicroStrategy Broadcast Server that were personalized through MicroStrategy InfoCenter, upgraded services might have the security object prompt applied to limit choices available for preferences. This is only the case if the question object uses an attribute element prompt object in the same hierarchy as the security object prompt.
C O N C E P T S
To learn about...
...tasks involving publications, information objects, and related objects, see the following topics in the How Do I...? section: Creating Information Objects and Question Objects Creating Publications and Content Section Documents ...the editors and wizards used to create and edit publications and their related objects, see the following topics in the Interfaces section: Excel Document Editor Imported Document Editor HTML Document Editor Import File Dialog Box Information Object Wizard Plaintext Document Editor Publication Wizard Question Object Dialog Set
To learn about...
45
C O N C E P T S
46
C H A PT E R
C O N C E P T S
As discussed in the Creating Services chapter, the content delivered by services is created using documents. While chapter 1 presented a brief overview of what documents are and how they are used in publications, this chapter gives detailed instructions on how to create different types of documents for use by Narrowcast Server. Each type of document, which includes HTML, Excel, Text, Imported, and Desktop, is discussed, and information on using XSL stylesheets is also provided. Each section offers specific information for using the corresponding type of document as well as tips to effectively use Narrowcast Server to deliver powerful, wellformatted Excel, HTML, and text content.
HTML documents
Narrowcast Server allows application designers to leverage the full power of HTML to create beautifully formatted messages with individually personalized data and formatting. Using the Narrowcast Server HTML Document Editor, an easy-to-use HTML authoring interface, you can enter text, define formatting, add images, provide personalized user information, and insert information objects, such as MicroStrategy reports, quickly and easily. However, HTML documents also offer a number of advanced, more subtle features. This section provides instructions to use Narrowcast Server to deliver high-quality, full-featured HTML content.
47
C O N C E P T S
HTML templates and for making simple changes. This mode is opened by default unless you have added information objects that are inserted into HTML tags and, hence, are not rendered and displayed in the Editor mode. The second mode is the Preview mode. This mode is similar to the Editor mode except that it shows your HTML content exactly as it will appear in Microsoft Internet Explorer Web browsers and it does not allow you to modify the HTML content. The third mode is the Source mode. This mode provides direct access to the HTML source. This mode is displayed by default if you have inserted information objects into HTML tags such that, as a result, the information objects can only be displayed in this mode. This mode is powerful because it provides direct access to the source HTML and using which you copy and paste HTML templates that were developed in external tools or provided by other parties such as a graphics department. In this way, complex template files can be created in the preferred HTML authoring tool and added to Narrowcast Server to add personalized formatting and dynamic content.
48
If you want to personalize part of the HTML template using information object results, you need to cut this HTML content out of the report template and ensure that some combination of the information in the XSL stylesheet and the information object result replaces this data correctly. This strategy could range from returning most or all HTML content by storing it in an XSL stylesheet and selecting content based on information object results, or simply changing a value in existing HTML content such as an image link so that the rendered HTML is personalized. A simple example of this is shown in the MicroStrategy Tutorial for Narrowcast Server Service 3b. If you want to return natural language text using XML information object results such as a MicroStrategy Grid report, you need to design the desired XSL stylesheet and ensure that the rendered content fits as desired in the static HTML content. Examples of this functionality are shown in the XSL stylesheets used for the wireless messages delivered in the MicroStrategy Tutorial for Narrowcast Server Services 2a and 2b. If you want to arrange multiple information objects on the page, you need to construct the HTML around these information objects so that the rendered content is displayed as desired. This is often accomplished using HTML tables as discussed in the next section.
C O N C E P T S
3.
Design and test XSL stylesheets. Based on decisions made in the previous step, you might need to construct and test XSL stylesheets to achieve the formatting you desire. For more information about using XSL stylesheets for formatting, see Using XSL stylesheets.
4. Add information objects, select stylesheets, and set error handling. Once you have the HTML template in place, the XSL stylesheets are available, and you have a strategy for how to add dynamic personalized content to your template, you are ready to add information objects and define related settings.
First, insert the desired information objects in the correct location. Take care to insert the information objects in the correct location: either between tags where they are rendered or within tags where they impact the way the HTML itself functions. The latter case needs to be done in Source mode. Also be sure to select the correct information source if you have multiple information sources defined for the same MicroStrategy project. Once this is done, edit the document elements and select the desired XSL stylesheets and apply the desired error handling conditions. For more information on document element error handling, see Error handling.
HTML documents 49
C O N C E P T S
5.
Deliver service to sample personalized subscriptions. Once the content is fully defined, create one or more sample subscriptions for this service. If this is a personalized service, be sure that the subscriptions have different personalizations that are representative of the intended recipients. Deliver the service and ensure that the message results appear as desired for all different personalized subscriptions.
Helpful techniques
Several techniques are listed below.
Using tables to control the layout of information objects within the HTML content
Much commonly used HTML is composed of loosely structured paragraphs and lists. By contrast, HTML tables give precise layout control over how items are arranged on a page. This typically applies to text items separated by gridlines, but it need not be limited to this use. Nested HTML tables with no borders displayed provide an ideal way to organize multiple pieces of content within the two dimensional space of the page. A simple example of this is shown in the MicroStrategy Tutorial for Narrowcast Server in Service 1a.
Using remote and embedded images
Narrowcast Server provides the capability to either embed images within service contents so that the image file itself is delivered with messages or to link to image files stored on remote Web servers. Each method has its advantages and disadvantages. Embedding images within service contents has the advantage that the image will always be available even if the recipient is offline, behind a corporate firewall, or if the Web server is down. However, embedded images have the disadvantage that the message size is significantly larger and that receiving mail clients do not always know how to handle such messages. Links to images on remote Web servers results in standard HTML that is interpreted correctly by all e-mail clients that are HTML compatible. By contrast, some e-mail clients cannot render image links for embedded images and instead display the image link as broken and the image as a separate attachment that must be opened. To insert a link to a remote image, simply ensure the image is available on the desired Web server, and then edit the HTML source to add a link to the correct Web address. An
50
example of this functionality is shown in the headers and other images in the sample messages provided in the MicroStrategy Tutorial for Narrowcast Server. To add an embedded image:
1. Import the desired image into your Narrowcast Server system as an imported file of the correct type. 2. Add this imported file to an imported document and then add the document as an attachment to the HTML e-mail message.
C O N C E P T S
Edit the HTML source and add an image link referring to the correct file name but without any file path. To see an example of how this works, edit a message with a MicroStrategy Graph report using a text editor (drag Service 1a onto Notepad). Find the image link for the Graph report (search for src) and then find the image with the name (now converted to a long stream of letters and numbers) at the end of the message.
Using information objects within HTML tags
3.
For this technique, information objects are used such that the information object results are not rendered directly as content but rather control how the HTML functions to render content. One example of this is the use of report data to personalize image links as discussed above and illustrated in MicroStrategy Tutorial for Narrowcast Server Service 3b. A second example is the use of subscription information in links to provide recipient-level read message tracking. In this case, a unique message identifier is inserted into an image link (or Active Server Page or Java Server Page link) on a remote server. The inclusion of this unique message identifier allows the Web server to determine which messages have been opened and to log this information to a relational database where it can be joined with recipient-level delivery status information logged using transmission recording. For more information on transmission recording, see the Recording transmission information section in the Administering Systems chapter of the Narrowcast Server System Administrator Guide. For more information on inserting unique message identifiers into message contents, see the Service 3a Customer Significant Buyer Retention section and the corresponding content in the Narrowcast Server Getting Started Guide.
HTML documents
51
C O N C E P T S
MicroStrategy Narrowcast Server can generate HTML e-mail messages containing MicroStrategy graphs as embedded attachments. However, the graphs are displayed within the message body only if the HTML document is in the HTML body section of the message. If an HTML document that contains a graph is sent as attachment, the graph is not visible within the HTML content when the recipient opens the document. The graph is accessible as another attachment that the recipient can open separately.
Excel documents
MicroStrategy Narrowcast Server can leverage the full power of Microsoft Excel 97 or 2000 by including Excel content within services. As with other forms of content in Narrowcast Server, Excel workbooks are delivered using documents. As a result, any delivery method that supports Excel documents, such as E-mail (SMTP), Wireless (SMTP), or Web (Portal), can deliver Excel documents. This section introduces you to the capabilities that can be achieved using Excel workbooks in Narrowcast Server and provides tips for getting the most out of your Excel implementation.
Thresholding and stoplighting functionality is provided in the MicroStrategy Desktop interfaces and Web. Narrowcast Server supports this in full for HTML documents. For Excel documents, certain limitations exist as to what types of information objects can be used (XML and text, but not image/graph), as well as to what can be rendered in Excel. You cannot insert hyperlinks or images into Excel documents, which are required for the stoplighting feature.
General strategy
To use Excel workbooks with Narrowcast Server, you should first understand how Narrowcast Server uses them. Narrowcast Server Excel documents first start with a template file that is created by importing an Excel workbook from outside of Narrowcast Server. Narrowcast Server can then insert static text or dynamic content, such as grid reports, into this template file. The true power of Narrowcast Server is its ability to preserve all aspects of the original template file while only modifying the data values and the cell formatting on specific cells. Thus, you can generate complex, highly-
52
formatted template files that are preserved by Narrowcast Server. Narrowcast Server then supplies dynamic, personalized data to this existing framework. You can also create Excel macros that are automatically run to perform actions on the data when the user opens the spreadsheet. Thus, an important consideration in designing applications with Excel is what can be defined in the template definition and what should be defined using macros that are run when the workbook is opened. As a general rule, you should define as much as possible in the Excel template and use macros only to do processing that you cannot do until the actual data is inserted. A good example of this is shown in the MicroStrategy Tutorial for Narrowcast Server in Service 1a. If you open the Excel workbook after it has been delivered by Service 1a (you can find the resulting message under ..\Program Files\MicroStrategy\Narrowcast Server\Delivery Engine\Tutorial\SampleMessages), you notice that it contains a highly formatted workbook that includes graphs, images, number formatting, cell formatting, row and column resizing, and sheets with custom names. However, if you open the template file before it is imported (you can find the original template file under ..\Program Files\MicroStrategy\Narrowcast Server\Delivery Engine\Tutorial\ TemplatesandStylesheets), you notice that all of this formatting, including the graph definitions, is already present. As a result, Narrowcast Server inserts dynamic data from the warehouse and the workbook comes alive based on the existing template definition. This has the advantage that no macros need to be created or tested and the user is not prompted to run the macros. However, in some cases, the data returned is of an unknown number of rows or columns or you want to perform actions based on the data that you must determine based on the data itself. In these cases, you need to use Excel macros to perform actions once the data is in place. The remainder of this section explains specific ways that Narrowcast Server can leverage the power of Excel to create powerful applications.
C O N C E P T S
Excel documents
53
C O N C E P T S
of 10 and a column offset of 3) or by using relative coordinates based on other information that has been inserted. The data that is inserted can then be formatted using XSL stylesheets to provide complete control over each cell including number formatting, color formatting, and so on. For MicroStrategy reports, the report formatting defined in MicroStrategy Desktop or MicroStrategy Web is preserved by default. However, this formatting can be overridden by selecting a different XSL stylesheet just as it can be for any XML information object. For information about using Excel Document Editor to design Excel documents, see Excel Document Editor. For information about using XSL stylesheets for formatting, see Using XSL stylesheets.
54
The above worksheet was created in two stages. First, MicroStrategy Narrowcast Server placed data on a previously-created worksheet that contained a macro for creating a chart from the data starting at cell A1. This workbook was then sent to the recipient, who opened it, thus triggering the macro and automatically creating the chart. The real power of automatic chart creation is that the same code can be used to create charts for all personalized reports. This allows one Excel template to be used for all recipients. To illustrate, the sheet below was generated using the same auto-charting macro code, but using a different (personalized) result set.
C O N C E P T S
Personalized result sets are therefore easily handled by well-written macro code, allowing each recipient to receive a custom graph of his or her own data with minimal coding on your part. However, if the report data is not personalized and thus does not vary from one recipient to the next or from one execution to the next, macros are not needed. As explained in Data
Excel documents
55
C O N C E P T S
placement and formatting, graphs can be designed that populate themselves once the data is present.For more information on creating automatic chart, see Create an automatic chart.
A hyperlink behind each of the EIS buttons enables one-click access to any of the three available sheets. This is illustrated in the tutorial services in the attachment in Service 1a.
56
For example, the user would see the following screen after clicking the Sports Equipment button:
C O N C E P T S
Several important features are demonstrated in the above sheet: Unknown to the user, the original report only contained three metrics: Regular $, Promotion $, and Material Costs $. The two other metrics, Total Sales $ and Profit $, were calculated on-the-fly by Excel. This sheet provides the user with an easy-to-use banding mechanism at the top right. By entering a numerical range and clicking the Highlight Range button, the user causes Visual Basic for Applications (VBA) code to reformat the grid so that only values within the specified range are highlighted. The user can switch between bar and pie views of the sales data by clicking the Display As Pie Chart button. The user is given a way to export the contents of the sheet to Microsoft Word for further formatting or for incorporation into a larger document. All of this functionality is built into the Excel template that MicroStrategy Narrowcast Server sent to the user, providing a very powerful and easy-touse environment for users of any skill level.
Excel documents
57
C O N C E P T S
58
This table is not easy to work with because the data is not cross-tabulated, meaning that it is not grouped in any meaningful way. Excels pivot table functionality can be used to cross-tabulate the data in a way that makes it understandable. In the example below, a pivot table has been sent to the end user which groups sales by day of week for every state and class of item. Additionally, one or more stores can be selected from the Store drop-down list, which then adjusts the totals within the cells to reflect sales for the selected stores.
C O N C E P T S
The end user can easily refine the pivot table by selecting those attributes that should be used as filtering criteria. The pivot table below allows filtering across multiple dimensions simultaneously, as determined by the user. The key is that this method provides users access to actual data on which they can perform any additional offline analyses they require. However, the benefit of Excel is that, unlike in many business intelligence interfaces, the data is provided in an extremely common easy-to-use interface with which most end users are already familiar. This reduces training costs and deployment times significantly.
Excel documents
59
C O N C E P T S
In the above example, the user is looking at the data for basketball sales at the Greenville store, and is in the process of switching to the Greenwich store. With pivot tables, it is easy to give the end user the ability to add or remove levels of detail from a report and provide substantial analytical power with minimal complexity. Pivot tables require very little code; refer to the Excel documentation for more information.
60
You can create a chart that automatically appears when a workbook is opened, using VBA and Excels macro recording functionality. For more information about creating charts in Microsoft Excel, see Create an automatic chart.
Associating macros with events
C O N C E P T S
Once a macro has been recorded, it can be associated with an Excel event. While this continues the automatic chart example, the principles apply to any situation in which macros need to be run. Macro source code can be viewed and edited via the Tools, Macro, Visual Basic Editor menu item in Excel. All macros are contained in module folders, which can be opened by double-clicking them. For more information about using macros in Microsoft Excel, see Associate a macro with an event in Microsoft Excel.
Creating automatically-executed macros
While it is useful to run a macro at the click of a button, it is often more desirable to have a macro run as soon as a workbook is opened. This allows formatting to be done prior to the viewing of the data.
Excel documents
61
C O N C E P T S
This sample code is for illustration only, and should be tailored to your specific needs.
This macro does not have to be run each time the workbook is opened. By running this macro once and saving the workbook, the altered formatting for column C is saved.
62
To combat macro viruses, the MicroStrategy Narrowcast Server machine should be regularly scanned for macro viruses, and you should take great precautions when working with third-party macros.
C O N C E P T S
Note the following: The Each page on a different worksheet option is available only for a report; it is not available for Report Services documents. This feature is available only for Excel 2002 and later.
Error handling
Error handling for Excel documents is set in the following locations: the Document Element Properties dialog box within the Excel Document Editor, the Error Handling area of the Document Properties dialog box, and the Excel Document Formatter. It is important to understand the differences between the two locations in Narrowcast Administrator that control error handling for the execution of Excel documents with dynamic content. Document Element Properties dialog box within the Excel Document Editor: These settings control the execution of specific document elements and handle errors in creating properly imported document elements. For example, these settings apply when no data is returned by an information object, if an information object returns an error, or when there is a problem formatting document elements correctly. Thus, these errors occur when creating a document element, and apply to a specific document element but not to an entire Excel document.
Excel documents
63
C O N C E P T S
Error Handling area of the Document Properties dialog box: These settings specify whether a collection of information objects that fail or return no data cause the document to be cancelled. For example, these settings apply if the selected information objects return no data or return an error. This type of error applies to an entire Excel document rather than a specific document element. Excel Document Formatter: These settings control how successfully imported document elements are inserted into an Excel document by the Excel document formatting module. For example, these settings apply if the Excel document could not be created because some cells fall outside of the valid sheet area. Thus, this type of error is not specific to an individual document element, but rather concerns the entire Excel document. For this reason, it is important to understand where to set error handling to control different events. Any errors produced by XSL stylesheets, bad XML format, errors with data returned, or with no data returned must be set at the document element level. Any errors produced when trying to format a document using properly imported document elements must be set at the document formatter level.
Text documents
Due to the nature of text content, working with text documents in Narrowcast Server is often less involved than working with either HTML or Excel documents. As with HTML and Excel documents, using the Plaintext Document Editor, you to insert dynamic content such as MicroStrategy reports or user information. However, information objects used in text documents must be in text or XML format, since information objects in image format, such as MicroStrategy Graph reports, are not supported. You can also cut, copy, and paste text from within the document editor or from other sources. This is useful, for example, if you have a text template that you want to use as the basis for your text document. However, other advanced functionality associated with HTML and Excel documents, such as viewing different modes in HTML documents or working with Excel macros, does not apply due to the nature of text content. You should, however, ensure that the length of text messages is less than the maximum allowable character length for the types of devices you want to support. For example, most SMS providers and most wireless devices allow only a very limited number of characters to be delivered. Despite the relative simplicity of working with the Plaintext Document Editor, it is important to understand how Narrowcast Server devices can be used to ensure that text messages are formatted correctly for all end user
64
devices. Different end user devices have differing capabilities for supporting text messages due to both the service provider delivering the message and the capabilities of the receiving device. As a result, it is important to format text documents so that delivered messages are appropriate for all service providers and end user devices. Narrowcast Server devices allow you to use grid formatting, cell padding, and string substitution to control how text documents are formatted. Using grid formatting, you can control both how cells in a grid are padded and which character is used to separate table columns. Cell padding refers to the insertion of additional characters (typically characters interpreted as blank spaces) after report data within each cell. These characters help ensure that columns within a table line up properly when dynamic content of different widths is inserted into table cells. Three cell padding options are available. First, you can choose not to pad cells. In this case, no character is used to pad cells and table columns do not line up unless data of the same width is returned for all cells. This option can be useful when generating delimited files such as comma separated values (CSV) files where the columns do not need to line up visually. Second, you can pad cells to support devices that use fixed width fonts. Fixed width fonts are fonts, such as Courier New, that display each character using the same width. Thus, two lines of text with the same number of characters always has the same length regardless of the characters used in each line. As a result, for fixed width fonts, as long as you enable cell padding and choose a character for cell padding that is recognized as a non-breaking space, table columns line up correctly. Nonbreaking spaces are discussed further below. Note that the choice of font, which determines whether fixed width or proportional fonts are used, is controlled by the receiving device; Narrowcast Server has no control over this choice. Third, you can pad cells to support devices that use proportional fonts. Proportional fonts are fonts, such as Times New Roman, that display different characters using different widths. As a result, two lines of text with the same number of characters cannot be guaranteed to have the same length unless the same characters are used in each line. One way to avoid this problem when using tabular data is by using the tab character as the column separator. This causes each column to start at a fixed location regardless of the width of the characters in preceding cells in the same row.
C O N C E P T S
Text documents
65
C O N C E P T S
You can also specify the width (typically in pixels) for each character that might be shown on a device. By choosing characters that show up as blank or similarly (for example, the underscore character) and that have a variety of widths, you can enable Narrowcast Server to approximately align the data in each column of grid reports. This, combined with the use of text-registration characters such as Tab, can ensure that the data in each cell of a column aligns correctly for a tabular report. As the capabilities of devices differ widely, not all devices support either text-registration or cell padding. When using cell padding for either fixed width or proportional fonts, you should ensure that characters used for cell padding will be interpreted as a non-breaking spaces. The reason for this is that some receiving devices compress repeated white space characters such as the Space character (ASCII 32), the Carriage Return character (ASCII 13), and the Linefeed character (ASCII 10) into a single Space character. They might also break lines at white space characters so that table rows are continued on the next line. To avoid these problems, ensure that the character used for cell padding is interpreted correctly as a nonbreaking white space. Many character sets use the character ASCII 160 as a nonbreaking space. If this character is not interpreted correctly, and you do not know which characters would be interpreted correctly by the intended character set, trial and error can be used to determine which character to use as a nonbreaking space character. Finally, Narrowcast Server devices enable string substitutions. String substitutions can be used to avoid characters that are not supported by certain devices. For example, some devices do not support ASCII characters 13 (CR) and 10 (LF). As a result, when these characters are used in text documents, you can replace these characters and use alternate characters for devices that do not support these characters. For more information on character sets, see the Narrowcast Server System chapter in the System Administrator Guide.
Thresholding and stoplighting functionality is provided in the MicroStrategy Desktop interfaces and Web. Narrowcast Server supports this in full for HTML documents. For plaintext documents, only text can be used rather than hyperlinks or images. If reports with image, URL, or special character thresholds are used, the result is always an unformatted value.
66
Imported documents
Imported documents allow you to import various types of files into a Narrowcast Server system from the Microsoft Windows file system for use in Narrowcast Server services. These files are imported manually by the Narrowcast Server system administrator or application designer and are delivered as static content, which is not personalized or retrieved from outside Narrowcast Server at the time services are executed. When creating imported documents, it is important to correctly define the imported file used by the imported document. First, you must set the file type correctly so that the file is identified correctly when it is delivered by the information transmitter. For example, for e-mail delivery, the MIME type is determined by this setting. You must also ensure that the correct character set is chosen when the file is imported into the Narrowcast Server system. Files can be stored in the Windows file system in a number of different character sets, but files are always stored in the Narrowcast Server system using the Unicode character set. As a result, Narrowcast Server must know from which character set to translate the document into Unicode. You should always select the character set that was used to create the document, which is typically the default language for the machine on which it was created. For the United States and most Western countries, this is the Latin1 character set. For more information on locales and character sets, see the Locales section in the MicroStrategy Narrowcast Server chapter of the Narrowcast Server System Administrator Guide.
C O N C E P T S
Desktop documents
Using Narrowcast Server, you can take advantage of the following fullyformatted documents created in MicroStrategy Desktop: Report Services documents include both static items such as lines and images, and dynamic items such as fields, columns, grids, and graphs that make up the data of a report. HTML documents are the standard containers in MicroStrategy Desktop for formatting, displaying, and distributing reports on the same page or at the same time within a project. In Narrowcast Server, you can create links to these documents and then include them in your services. You cannot open or modify them from within Narrowcast Server. But you can create the links from anywhere in Narrowcast Server that documents are created, including Narrowcast
Imported documents
67
C O N C E P T S
Administrator, the Service Wizard, and the Publication Wizard. Report Services documents, referred to as documents in Desktop, are supported in Excel, Flash, and PDF formats, while HTML documents are in HTML format only. These HTML documents are not the same as the HTML documents created within Narrowcast Administrator.
To make effective use of these Desktop documents, you need to know what they contain, which can only be determined from the Desktop interface.
The export formats you can select in Narrowcast depend on the export formats set while creating the document. For details to define export formats for a document, see the Report Services Document Creation Guide.
68
Transform MicroStrategy reports or other XML information objects into natural language text. This allows tabular data such as reports returned from relational databases to be used for text alerts. For example, a grid report returning items that are low on inventory and the current inventory deficit could be used for text alerts such as Dear Bob, Sony Television Item 134 is 78% below average inventory. Examples of this functionality are shown in the XSL stylesheets used for the wireless messages delivered in the MicroStrategy Tutorial for Narrowcast Server Services 2a and 2b. Modify HTML templates by returning HTML content. This could allow personalized data returned by a report to personalize the HTML content received by recipients. A simple example of this is shown in the MicroStrategy Tutorial for Narrowcast Server Service 3b. In this example, an HTML link to an image on a Web server is personalized based on report content. This allows different recipients to see different images even though only one HTML template was constructed. Similar functionality could be used to personalize template formatting such as colors, images, links, or any other HTML constructions. Standardize the report formatting when different reports should always have the same format. For example, suppose that all reports displayed on the Subscription Portal should have the same formatting to match the Web portal look and feel. This can be accomplished simply by selecting the same XSL stylesheet for all reports delivered to the Subscription Portal. Examples of this functionality are shown in the XSL stylesheets used for Subscription Portal content delivered by MicroStrategy Tutorial for Narrowcast Server Services 2a and 2b. Apply conditional logic to information object results, to use some information to control the display of other information. For example, suppose that you want to show a recipient's name and mailing address, but only if you have all of the necessary information for a complete address. Otherwise, you want to return only the person's name. You can achieve this by using a customized XSL stylesheet that first checks whether the required information is available in the All User Information object, and then returns the recipient's mailing address only if all required information is present. Enable response tracking. Using the All Subscription Information object, you can use a customized XSL stylesheet to transform such subscription information properties as the Service Execution ID, the Subscription ID, and the User ID into an HTML image tag with these properties included as parameters for the image source URL.
C O N C E P T S
69
C O N C E P T S
Merge the results of multiple reports or other information objects. Sometimes, you want to apply a single XSL stylesheet to a collection of information objects simultaneously. This is useful if parts of several information objects must be merged together in an HTML table, for example. Use the results of one report to control the formatting of another report. Using this technique, you can allow subscribers to personalize the formatting for reports run using personalized page mode, for example.
Second, a larger number of XSL stylesheets is available where the Narrowcast Server program files are installed in the Windows file system. The files can be found in the following file location, where %%Application Path%% is the folder into which Narrowcast Server is installed (C:\Program Files\ by default):
\%%Application Path%%\MicroStrategy\Narrowcast Server\Delivery Engine\XSL
The following sections provide a brief description of the XSL stylesheets that are provided with Narrowcast Server. The stylesheets with names in italics are created within Narrowcast Administrator by default, while all others are available in the Windows file system.
HTML documents
EmptyResult.xsl: Removes the report content and returns no information. This stylesheet is useful for alert-driven applications where the presence or absence of report data for a recipient determines whether or not the recipient should receive a message, but the report should not be included in the message content. Such a report used only for alerting purposes can be combined with other reports such that one report controls whether or not a recipient receives an alert and other reports return the desired content. Since no information is returned, this stylesheet can be used for all document types.
70
MSTR7ToHTML-Agent.xsl: Returns report formatting similar to the default formatting in MicroStrategy Desktop. Attributes and metric headers have a dark blue background with white text, while metric values have a white background and black text. Black gridlines separate all cells. MSTR7ToHTML-BandingAccounting.xsl: Returns a grid with a dark green background and white text for column headings, and a gray background and black text for attributes and metric values. Gridlines separate columns but are not present on rows. MSTR7ToHTML-BandingColorful.xsl: Returns a grid with a dark blue background and white text for column headings, a light gray background and black text for metric values, and a light blue background and black text for attributes. Gridlines separate columns but are not present on rows. MSTR7ToHTML-BandingFinance.xsl: Returns a grid with a green background and white text for column headings, and a gray background and black text attributes and metric values. White gridlines separate all cells. MSTR7ToHTML-BandingGreyBands.xsl: Returns a grid with a gray background and black text for column headings, and a light gray background and black text for attributes and metric values. Gridlines separate columns but are not present on rows.
C O N C E P T S
With the BandingAccounting, BandingColorful, BandingFinance and BandingGreyBands XSL stylesheets, grid banding is only applied to reports that have been configured in MicroStrategy Desktop or MicroStrategy Web to show banding.
MSTR7ToHTML-BlueAndGrey.xsl: Returns a grid with a blue background and white text for column headings, and a white background and black text attributes and metric values. Gridlines separate rows only. MSTR7ToHTML-Classic.xsl: Returns a grid with a white background and bold black text for column headings, and a white background and black for text attributes and metric values. Light gridlines separate all cells while a darker border surrounds the table. MSTR7ToHTML-Columns.xsl: Returns a grid with a dark background and bold white text for column headings, and a white background and black for text attributes and metric values. Light gridlines separate columns.
71
C O N C E P T S
MSTR7ToHTML-DefaultFormatting.xsl: Preserves all formatting defined in MicroStrategy Desktop and Web. This stylesheet also supports white spaces in the HTML documents. This stylesheet is applied by default so that any report formatting defined in Web or Desktop is automatically leveraged by Narrowcast Server. The stylesheet has been updated to preserve the correct format of Narrowcast reports in HTML for Outlook 2007. Outlook 2007 uses Word 2007 to display HTML reports in the email, and does not support all HTML attributes. The MSTR7ToHTML-DefaultFormatting.xsl preserves the HTML formatting for reports accessed through Outlook 2007. MSTR7ToHTML-DefaultFormatting2.xsl: Preserves the correct format of Narrowcast reports in HTML for Outlook 2007. Outlook 2007 uses Word 2007 to display HTML reports in the email, and does not support all HTML attributes. The MSTR7ToHTMLDefaultFormatting2.xsl preserves the HTML formatting for reports accessed through Outlook 2007. MSTR7ToHTML-FilterInfoOnly.xsl: Returns only the description of the filter used by this report and not the report data. This can be useful when graph reports are delivered, for example, and you want to include only filter information along with this graph. MSTR7ToHTML-Pastels.xsl: Returns a grid with a gray background and bold black text for column headings, and a light gray background and black for text attributes and metric values. No gridlines separate cells but a border surrounds the table. MSTR7ToHTML-RedAndBlack.xsl: Returns a grid with a red background and bold white text for column headings, a black background with white text for attributes, and a white background with black text attributes for metric values. Light gridlines separate rows while a darker border surrounds the table. MSTR7ToHTML-ReturnXML.xsl: Returns report XML. The resulting XML structure can be retrieved for and combined with different XSL stylesheets for development and testing purposes. Read the remainder of this section for more information on this process. MSTR7ToHTML-Romantic.xsl: Returns a grid with a red background and white text for column headings, a pink background with purple text for attributes, and a white background with black text attributes for metric values. Light gridlines separate columns while a darker border surrounds the table.
72
MSTR7ToHTML-SmallType.xsl: Returns a compact grid with a gray background and black text for column headings, and a white background with black text for attributes and metric values. No gridlines separate cells and no border surrounds the table. MSTR7ToHTML-Squares.xsl: Returns a grid with a blue background and bold white text for column headings, and a white background with black text for attributes and metric values. Gridlines separate all cells. MSTR7ToHTML-Sunset.xsl: Returns a grid with a dark red background and bold white text for column headings, and a light pink background with black text for attributes and metric values. White gridlines separate rows. MSTR7ToHTML-OutlineMode.xsl: Simulates a MicroStrategy Web report in outline mode. Attributes are shown as nodes that can be expanded or collapsed to show or hide data at a higher level of granularity. This version shows the entire report contents expanded so that no data is hidden. MSTR7ToHTML-OutlineCollapsed.xsl: Provides the same functionality as MSTR7ToHTML-OutlineMode.xsl except all nodes are collapsed by default showing only the highest level attributes. MSTR7ToHTML-Version71.xsl: Compatible with reports created in MicroStrategy Agent 7.1. MSTR7ToHTML-OverlapGridTitles.xsl: To keep the Metrics column from appearing in the HTML documents, import the MSTR7ToHTML-OverlapGridTitles.xsl into Narrowcast Server before using it for the document. Eliminating this column reduces the load time when opening the document.
C O N C E P T S
In the report, if the metric is used in the rows, then the Metric column is not removed by using the MSTR7ToHTMLOverlapGridTitles.xsl stylesheet described above.
SubscriptionInfoToHTML.xsl: Returns the physical address for a given subscription in the form of a sentence such as This message is sent to address info@microstrategy.com. This stylesheet provides a starting point with which you can develop custom XSL stylesheets to return a custom grouping of subscription information properties for HTML documents.
73
C O N C E P T S
UserInfoToHTML.xsl: Provides an example you can use to develop custom XSL stylesheets to return a logic-driven custom grouping of user information properties. If the recipients last name and user properties are set, this XSL returns the text Dear title last-name. For example, if a users title is Mr. and the last name is Bush, this XSL returns Dear Mr. Bush. If one of these two user properties is empty, this XSL returns Dear Sir so that the contents delivered to the recipient are still sensible. MSTR8ToHTML-LongNames.xsl: Preserves and displays the long names of the row headers in a report when the report is sent in the HTML format. This stylesheet preserves the long names of the attributes only when the attributes are placed on the row header. For example, when you want to display separate headers for each attribute form and not the attribute name as a header, importing this XSL displays the long names of each attribute. For steps to import files, see Import a file.
Excel documents
EmptyResult.xsl: See the description under HTML documents. MSTR7ToExcel-DataOnly.xsl: Returns data only, with no additional formatting such as colors, fonts, and so on. This can be useful if Excel macros are applied to data when no changes to the initial formatting is desired. MSTR7ToExcel-DefaultFormatting.xsl: Preserves all formatting defined in MicroStrategy Desktop and Web. This stylesheet also supports the hierarchy in the report template. This stylesheet is applied by default so that any report formatting defined in Desktop or Web is automatically used by Narrowcast Server. MSTR7ToExcel-FilterInfoOnly.xsl: Returns only the description of the filter used by this report. MSTR7ToExcel-OutlineMode.xsl: Simulates a MicroStrategy Web report in outline mode. Attributes are shown as nodes that can be expanded or collapsed to show or hide data at different levels of granularity. MSTR7ToExcel-Version71.xsl: Returns report result with formatting such as colors, fonts, and so on. Is compatible with reports created in MicroStrategy Agent 7.1.
74
MSTR7ToExcel-WithoutColumnAxisHeaders.xsl: Returns report results without the column axis headers. The column axis headers describe the items on the report columns. The column axis headers typically display the title Metrics or the names of any attributes that are present on the report columns. In Narrowcast Server 7.1 and previous versions, the column axis headers were not shown by default, so this stylesheet is necessary to achieve the default formatting provided by these product versions. SubscriptionInfoToExcel.xsl: Returns the physical address for a given subscription in the form of a sentence such as This message is sent to address info@microstrategy.com in the proper XML format for the Excel document formatter. This stylesheet provides a starting point with which you can develop custom XSL stylesheets to return a custom grouping of subscription information properties for Excel documents. UserInfoToExcel.xsl: Provides an example you can use to develop custom XSL stylesheets to return a logic-driven custom grouping of user information properties for Excel documents. If the recipients last name and user properties are set, this XSL returns the text Dear title last-name in the proper XML format for the Excel document formatter. For example, if a users title is Mrs. and the last name is Smith, this XSL returns Dear Mrs. Smith. If one of these two user properties is empty, this XSL returns Dear Sir so that the content delivered to the recipient is still sensible. MSTR8ToExcel-LongNames.xsl: Preserves and displays the long names of the row headers in a report when the report is sent in the Excel format. This stylesheet preserves the long names of the attributes only when the attributes are placed on the row header. For example, when you want to display separate headers for each attribute form and not the attribute name as a header, importing this XSL displays the long names of each attribute. For steps to import a file, see Import a file. MSTR7ToExcel-PageByInfo.xsl: Generates a document containing page-by information of a report. You can use this stylesheet to customize the display of the page-by information. If there is no page-by information, then the document generates a blank output but does not fail. For example, if a user has two document elements, then either similar information objects should be used or different information objects with similar personalization should be used in the documents. MSTR7ToExcel-DefaultFormattingTrim.xsl: Trims the leading and trailing spaces for attribute elements when exporting a report from MicroStrategy Web 8.x to Microsoft Excel with formatting.
C O N C E P T S
75
C O N C E P T S
The MSTR7ToExcel-PageByInfo.xsl, MSTR8ToExcelLongNames.xsl, and MSTR7ToExcelDefaultFormattingTrim.xsl have to be imported into the project. For steps to import a file, see Import a file.
Text documents
EmptyResult.xsl: See the description under HTML documents. MSTR7ToText-CSV.xsl: Returns report results in comma separated values (CSV) format. This delimited file format allows report results to be used by Excel and other third-party applications and systems. MSTR7ToText-CSV-NoDoubleQuotes.xsl: Changes the name of the attachments sent using the Control Documents. This stylesheet is similar to MSTR7ToText-CSV.xsl, but it also removes the double quotes displayed around each cell and the linefeed after the last cell. For more information on changing attachment names using Control Documents, see Dynamically changing attachment name. MSTR8ToText-CSVWithColumnTitles.xsl: Allows the attribute names to be displayed in the report columns on execution. MSTR7ToText-Default.xsl: Returns plain text grid suitable for display in wireless devices and other devices that render plain text content. This stylesheet is applied by default to reports in text documents. MSTR7ToText-FilterInfoOnly.xsl: Returns only the description of the filter used by this report and not the report data. MSTR7ToText-LongNames.xsl: Preserves and displays the long names of the row headers in a report when the report is sent in the text format. This stylesheet preserves the long names of the attributes only when the attributes are placed on the row header. For example, when you want to display separate headers for each attribute form and not the attribute name as a header, importing this XSL displays the long names of each attribute. For steps to import a file, see Import a file. MSTR8ToText-NoRowHeader.xsl: Changes the name of the attachments sent via the Control Documents. It displays only one attribute value and no attribute headers. This is possible only when the attribute is on the rows. This stylesheet retrieves an attribute element from the report as the attachment name. The only limitation is that the report which is used as an Information Object in the Control Document should have only one attribute element and the attribute should have only one form. For more information on changing attachment names using Control Documents, see Dynamically changing attachment name.
76
SubscriptionInfoToText.xsl: Returns the physical address for a given subscription in the form of a sentence such as This message is sent to address info@microstrategy.com, and in the proper XML format for the Plaintext document formatter. This stylesheet provides a starting point with which you can develop custom XSL stylesheets to return a custom grouping of subscription information properties for text documents. UserInfoToText.xsl: This stylesheet provides an example you can use to develop custom XSL stylesheets to return a logic-driven custom grouping of user information properties for plain text documents. If the recipients last name and user properties are set, this XSL returns the text Dear title last-name in the proper XML format for the Plaintext document formatter. For example, if a users title is Ms. and the last name is Jones, this XSL returns Dear Ms. Jones. If one of these two user properties is empty, this XSL returns Dear Sir so that the contents delivered to the recipient are still sensible.
Subscription Portal attachments
C O N C E P T S
SubscriptionPortalAttachments.xsl: Controls how attachment links are formatted for HTML documents in the Subscription Portal. This stylesheet is applied by default when attachments are created for HTML documents.
77
C O N C E P T S
results in most cases and provides consistency with Narrowcast Server 7.2 and previous versions. (An alternate XSL stylesheet is available that provides the ability to fit reports to the entire available window.) For Excel documents, you can either use column widths defined in the Excel template file (as is possible in Narrowcast Server 7.2 and previous versions) or use column widths defined in the report. You can set this in the document properties within the Excel Document Editor. If the XSL stylesheet does not support column widths (for example, if stylesheets are not upgraded), the column widths defined in the Excel template are always preserved. If two different reports occupy the same column or row in an Excel sheet, the Excel column width or row height is set to match that of the largest report column or row occupying this space.
Implications for upgraded systems
For systems upgraded from Narrowcast Server 7.2 and previous versions, an option is provided during upgrade to either upgrade and use the new default XSL stylesheets or to maintain existing versions. Existing versions should only be maintained if you have customized these stylesheets. If you do choose to upgrade these stylesheets, column widths are preserved by default, and the following stylesheets are upgraded to the latest versions and applied by default: MSTR7ToHTML-DefaultFormatting MSTR7ToExcel-DefaultFormatting The original stylesheets are backed up as follows and are not applied to any documents: 72_MSTR7ToHTML-DefaultFormatting 72_MSTR7ToExcel-DefaultFormatting If you do not upgrade these stylesheets, column widths are not preserved by default, and the following new stylesheets, which do preserve column widths, are added to this system but are not applied by default: 721_MSTR7ToHTML-DefaultFormatting 721_MSTR7ToExcel-DefaultFormatting
78
Narrowcast Server system by choosing to create a new imported file within Narrowcast Administrator and then selecting the XSL Imported File type and browsing for the desired XSL stylesheet. In addition, these files also provide an excellent starting point for developing stylesheets of your own. If you wish to customize stylesheets yourself, several references on the topic exist, including the following: Microsofts Developer Network Library (http://msdn.microsoft.com/library/default.asp? url=/library/enus/xmlsdk30/htm/xmmscxmloverview.asp) World Wide Web Consortium (http://www.w3.org/, http://www.w3.org/XML/, http://www.w3.org/Style/XSL/) XML Design and Implementation (Paul Spencer, 1999; Wrox Press Inc; ISBN: 1861002289) If you do not wish to learn how XML and XSL transformation works, you can often arrive at a stylesheet that suits your needs simply by modifying one of the stylesheets provided by default. This can be done with some ingenuity as well as trial-and-error by changing fonts, text colors, background colors, borders, and so on. You can view the formatted results of these XSL stylesheets when applied to various reports without importing each stylesheet into the Narrowcast Server system or delivering a service using the stylesheet. Do this by gathering the desired report XML and using the XML Test Tool that is shipped with MicroStrategy Narrowcast Server. For details on the various procedures, see View the results of XSL stylesheets applied to various reports.
C O N C E P T S
79
C O N C E P T S
80
C H A PT E R
4.
User Management
C O N C E P T S
Since Narrowcast Server is an information delivery platform, a crucial task in application design is to determine how user information is defined, stored, and retrieved, and how services use this information to deliver personalized services. This chapter covers a variety of subjects related to Narrowcast Servers ability to work with user information.
81
C O N C E P T S
The login ID is a unique string that can be used to identify a user. The login ID is displayed in the Subscription Book and Subscription Set editors and can be used as a login for self-subscribing interfaces. Login IDs must be unique, which makes user management easier.
Password
Passwords are used to preserve user account integrity in self-subscription applications. Both a password and a password hint can be associated with each user. The password can be used in conjunction with the login ID to authenticate a user while the password hint can be used to help a user remember a password.
Expiration date
It is possible for users to expire. If a user has an expiration date, the user stops receiving services after the expiration date has elapsed.
82
Locale
The locale is used to localize the service content sent to a subscriber. It controls character sets, number formats, date formats, and time formats. Your system might support multiple locales, but a given user has only one locale. For more information about creating and using locales in Narrowcast Server, see Multiple languages and locales.
Addresses
C O N C E P T S
Each address includes information that tells MicroStrategy Narrowcast Server how to send services to this user. Each user must have at least one address and can have multiple addresses, for example, an e-mail address and a cell phone address. A user can have one of his addresses set as the default address. For more information to set up addresses, see Addresses.
Personalization
Narrowcast Server provides full personalization of services. Consequently, for a given service execution, different users can receive different data, formatted differently, based on their personal settings. For more information about personalization and the various type of personalization, see Personalization.
Status
Status includes three settings: active, inactive, and invalid. The settings identify whether a user can receive services. If a user is inactive or invalid, no services are sent to any addresses for this user.
Addresses
An address tells MicroStrategy Narrowcast Server how to send services to a particular subscriber. Each address can be associated with one and only one user, and a user can have multiple addresses. The address properties are as follows: Address name Physical address Address display Delivery method Device PIN
83
C O N C E P T S
Status Expiration date Delivery window An address is added to subscription set to create a subscription to the chosen service.
Address name
The address name is used to identify an address for a given user. The address name is displayed in the Subscription Book and Subscription Set editors. Although address names do not have to be unique for a given user, it is preferable to keep the address names unique for a given user to facilitate administration.
Physical address
The physical address is where the service is sent when using this address. For example, in e-mail services, this is an e-mail address such as yourname@yourcompany.com. For SMS services, the physical address is a mobile devices telephone number such as 44.1753.8261.00.
Address display
The address display is used when sending services to devices that support a recipient display name. For example, in e-mail services, the address display is what appears in the To: field, such as Last Name, First Name. Address display is not currently used for SMS services.
Delivery method
The delivery method specifies the way a message is delivered, for example, E-mail (SMTP). When you select a delivery method, the set of devices associated with that delivery method are made available for that address. For more information about the delivery methods used to define services, see Creating Services.
Device
A device provides a specification for how content information should be formatted and transmitted to the physical address. This is enforced by the transmitter. A device is defined by the following: The formatter to use for different content types
84
Properties to use for formatting Transmitter properties to govern transmission For information about what is a device, see Multiple sets of user devices. For steps to create devices, see the Device Editor chapter of the Narrowcast Server System Administrator Guide.
PIN
C O N C E P T S
A PIN, or personal identification number, can be specified for each address. The PIN must be entered correctly by the recipient before the message is delivered. The PIN is available for use by transmitters that must authenticate the recipient before delivering a message.
Status
Status includes three settings: active, inactive, and invalid. The settings identify whether an address can receive services. If an address is inactive or invalid, no services are sent to this address.
Expiration date
It is possible for addresses to expire. If an address has an expiration date, the address stops receiving services once the expiration date has passed.
Delivery window
The delivery window specifies when this address can receive messages. It specifies the hours each day during which messages can be transmitted to the address. The time zone specifies which international time zone should be used as a reference for the selected times. Time zones take regional customs such as daylight savings into account. If a service is executed outside a recipients delivery window, the recipient does not receive a message for the service execution.
Governing
Governing is used to restrict the number of items that are retrieved when you open the Subscription Book. This allows Narrowcast Server to work more efficiently when you have a large subscription book and do not want to risk long waiting times when you open it. Governing can be set for both users and addresses. For example, if you set a limit of 5,000 users to retrieve for the Subscription Book and 10,000 users are in the Subscription Book, only the first 5,000 are retrieved. Governing can be used in conjunction with filtering to restrict the items that are retrieved.
Users and addresses 85
C O N C E P T S
Subscriptions
A subscription is a request to Narrowcast Server for a user to receive a certain service with a certain personalization and at a certain address. It is created when a users address is subscribed to or added to a subscription set. A user receives a particular service by subscribing to a subscription set used by the service. Subscription data for static subscription sets is stored in the Subscription Book. Subscriptions have the following properties: Status Expiration date Subscription Preferences Transmission Notification
Status
Status includes three settings: active, inactive, and invalid. The settings identify whether a subscription can receive services. If a subscription is inactive or invalid, no services are sent to the subscription.
Expiration date
It is possible for subscriptions to expire. If a subscription has an expiration date, the subscription stops receiving services once the expiration date has elapsed.
Subscription Preferences
Preferences are defined by answering the prompts in information objects or question objects. Preferences can be controlled by a subscriber using the Subscription Portals self-subscribing interfaces, or can be defined by an administrator.
86 Chapter 4 User Management
For additional information about preferences, see Dynamic Content and Personalization.
Transmission
C O N C E P T S
You can specify transmission properties for each information transmitter. The transmission properties depend on the transmitter used by the subscription. For the e-mail transmitter, the transmission properties specify whether the recipient name should be put in the To:, CC:, or BCC: fields. For the print transmitter, transmission properties include the following: Printer location, which specifies whether the user uses only a default printer or can select or enter a printer location Printer properties, which include the number of copies, scale, print quality, paper source, paper size, collated or not, orientation (for HTML documents), and specific settings for PDF documents Backup delivery options, which identifies either a backup printer or file location Governing, which includes retry and timeout settings For the file transmitter, transmission properties include the following: File location, which specifies where files can be saved and whether macros are included File system options, such as whether required folders should be created, if files with the same name should be overwritten, if timestamps should be appended to file names, and settings for retries and timeout Backup file location, which specifies a location in which to store messages if delivery fails
Notification
When you create a file or print service, you have the option to send notification through e-mail when the service has been delivered.
87
C O N C E P T S
A static subscription set retrieves the set of subscriptions from the Subscription Book. It is useful when the subscription set does not change often or is not alert driven. For static subscriptions, users, addresses, and subscriptions can be edited using the Static Subscription Set Editor. The key conceptual differences between static and dynamic subscription sets are the following: Static subscription sets return the exact same set of subscriptions for every execution of a service as long as no subscriptions are modified. Dynamic subscription sets might return different subscriptions from one service execution to the next depending on whether the external data source has changed. Dynamic subscription sets gather data from an external source, which static subscription sets retrieve subscription information from the Subscription Book. When creating a static subscription set, Narrowcast Administrator provides an easy-to-use editor for working with users, addresses, and subscriptions. You can edit all user and address properties for any address, including: Setting the users login ID and password for the Subscription Portal Creating any desired addresses for one or more delivery methods Defining this users preferences and any authentication and security that should be in place for this user Defining user information such as first name or street address. You can also edit the properties for any subscription, including Defining preferences to be applied only to this subscription Defining transmission properties such as how recipient address information appears Specifying whether the subscription expires You can also sort addresses and subscriptions using any column. This is useful, for example, for viewing all users with similar addresses or to view all addresses for a user. When large numbers of addresses or subscriptions are present, you can also filter the addresses and subscriptions displayed in this editor so that a smaller amount of data is presented. You can filter items based on the properties of the selected column. This might be helpful so that only the relevant data is displayed such as addresses for a certain domain or subscriptions with certain login IDs. For steps to create static subscriptions using the Static Subscription Set editor, see Static Subscription Set Editor.
88
When static subscriptions are used with MicroStrategy information objects executed using personalized page execution, you must disable automatic segmentation under Advanced Options in the information object, unless the Subscription ID in the Subscription Book matches Subscription IDs in the MicroStrategy project. Automatic segmentation requires that the Subscription ID returned by the subscription set is present in the project used for the content report.
C O N C E P T S
89
C O N C E P T S
Delivery window Time zone Transmission properties Personalization When you create dynamic subscription sets, an information object is defined to return subscription information from an external source. As a result, your job is to ensure that any required data exists in the external source (for example, you cannot assign user devices if device information is not in the desired source), and to map this information to the appropriate subscription properties required by Narrowcast Server for service execution. Since Narrowcast Server has an open architecture, any information source can be used to return subscription information and the application design process for mapping external information to subscription properties will be information source-specific. When subscription information is available in a MicroStrategy project, the MicroStrategy information source can be used to map attribute forms in the desired project to the subscription information used by Narrowcast Server. To do this, edit the MicroStrategy information source for the desired project and select the check box to support dynamic subscriptions. You can then select an attribute form, apply a constant, or use information in the Subscription Book for the required subscription properties. You can select more than one item for each property, such as providing content for testing purposes and selecting two different attribute forms for e-mail addresses that might be applied. For steps to edit the information source using the Information Source Wizard, see the Information Source Wizard chapter of the Narrowcast Server System Administrator Guide. You can use constants for all properties other than Subscription ID; use blank constants for Transmission Properties and PIN. Subscription ID, User ID, and Address ID can all use the same attribute form. You should not elect to use information in the Subscription Book unless you have designed your Subscription Book and MicroStrategy project such that Subscription IDs are synchronized between the two. Once you complete this mapping, these properties are available whenever you define a subscription information object for this information source. If you have chosen more than one item for any property, you can choose which item you want to use for this subscription information object. Thus, the information source makes a group of properties available for future use, and the subscription information object determines which items to use for a specific subscription set. When defining the information object, you can also select an optional filter. This filter limits the subscriptions returned for the subscription set.
90
When using a filter to limit the subscriptions returned, consider the dimensionality of the data that is returned. For example if a second report is designed that contains the same subscriptions and the same filter, but has different dimensionality (for example, due to metrics on the report), a different set of subscriptions might be returned due to the application of the filter at a different dimensionality. To understand what subscriptions are returned by the subscription set, create a report in MicroStrategy Desktop with the attribute forms used for subscription information on the page axis, the desired filter, and no other report objects. Alternatively, you can use a MicroStrategy report to return subscription information for a subscription information object rather than directly selecting attribute forms. To accomplish this, you can add all attribute forms that are used for subscription properties to the page axis of a report. This report can then be selected when the subscription information object is defined and all attribute forms on the page axis are available to map to subscription properties. When using a report to return subscription information, ensure that the first attribute form on the page axis matches the attribute form selected in this information source as Subscription ID. This is due to the fact that the first attribute form on the page axis is used as the Subscription ID when a report is selected. However, any content information objects that use automatic segmentation are segmented using the Subscription ID defined in the information source. Thus, you must ensure that the same attribute form is defined in the information source and on the subscription information object report or you must disable automatic segmentation for any content information objects used with this subscription information object. You can avoid any such problems by creating a separate information source for each Subscription ID to be used and ensuring that all subscription information object reports use the Subscription ID defined in the corresponding information source. This method is illustrated in the MicroStrategy Tutorial for Narrowcast Server, Services 1d and 3a.
Subscriptions and subscription sets 91
C O N C E P T S
C O N C E P T S
For conceptual information about dynamic subscriptions, see Dynamic subscription. For steps to create a dynamic subscription, see Dynamic Subscription Set Wizard.
For the latest information on the certified databases for pre- and post-SQL, refer to the Narrowcast Server section of the MicroStrategy readme file. To access the MicroStrategy readme files, from the Windows Start menu, point to Programs, then to MicroStrategy, and then choose ReadMe.
Both static and dynamic subscription sets allow administrators to define SQL statements that are executed when a service is run. This is useful for modifying or checking certain criteria that relate to the service execution to these recipients. You can provide SQL statements that are executed at two different times during the subscription set execution: before segmentation (pre-SQL) following service execution (post-SQL) Pre-SQL statements are used for certain types of alerting known as edgetriggered alerting. This occurs when a service is designed to run once when a condition is true, but never again. For example, suppose a service checks every five minutes to see if a value is 1 (true) and only executes in the event the value is 1. As long as the value is at its initial state of 0 (false), the service does not run. When the value is changed from 0 to 1, the service runs once, then updates the value from 1 to 2 (or some other value) to prevent the service from running again. If the value were not changed, the service would run every five minutes since the value is still 1. You can specify whether the successful execution of the SQL statement is optional or required. This affects what happens if the attempted execution of the SQL statement returns an error. If it is optional, service execution continues even if the execution of the SQL statement returns an error. If it is required, service execution stops when the execution of the SQL statement returns an error. Because a common use of pre-SQL is to generate a snapshot of the data in a database that is used for a subscription set or service content, the successful completion of these SQL statements is critical to proper service
92
execution behavior. This setting ensures that inappropriate behavior, such as duplicated messages or lost data, does not occur in the event of an error in the database. You can also choose whether the data returned by these SQL statements controls whether or not the service executes. This is achieved by selecting a check box to stop service execution if the SQL statement returns an empty result set. If this is not selected, any results returned by a SQL statement are ignored. If a SQL statement returns no data, that is handled in the same manner as a statement that returns an error when the check box is selected.
C O N C E P T S
When you make the selection for an empty result set to cancel a service, this is logged as an information-level message but not as an error. However, whenever a SQL error is used to cancel a service, this is logged as an error. To avoid logging an error when services are cancelled using pre-SQL, you must select this check box to stop the service if no data is returned and design your SQL query to return no data when services should be cancelled.
The pre- and post-SQL statements can contain multiple statements that can be executed against multiple databases. A SQL statement definition contains the following information: Name: name used to identify the SQL statement Connection information: data source name (DSN), user ID, password, and database (optional) to be used when connecting to the database against which the statement is executed Requirement: whether the execution should stop if the execution returns a false condition The SQL statements can also be personalized to contain information about the service being executed. By using the macros described in the table below, SQL statements can be written such that they vary based on the execution.
Variable External service execution ID Macro \E Description Unique identifier of the current service execution; specified externally Unique identifier of the current service execution; assigned by the Narrowcast Server system Datatype char, varchar Maximum Width 32 characters
Service execution ID
\F
char, varchar
32 characters
93
C O N C E P T S
Variable Service ID
Macro \S
Description Identifier of the service object in the repository Priority of the execution Date and time the service executes
Execution priority Service execution timestamp Service expiration timestamp Subscription Set ID
\P \C
integer date-time
\R
date-time
\D
Identifier of the subscription set that receives the service Current date and time Escaped character
char, varchar
32 characters
Current timestamp \
\T \\
1 character
94
Lightweight Directory Interchange Format (LDIF) Narrowcast Server provides a utility for you to export users from your MicroStrategy Intelligence Server to a CSV file. This file can then be used as your synchronization file for import into Narrowcast Server. The MicroStrategy Intelligence Server User Export Tool provides a way to export the existing information in a format that is readily used by the Narrowcast Server Subscription Book Synchronization Wizard. In Narrowcast Server, you can perform the following import and synchronization tasks: Import or update user and address attributes Synchronize users Update user personalization and subscription The following sections provide more information on each of these tasks. At the end of this section, the Subscription Book synchronization tutorial guides you through the process of completing these tasks. For information on the types of data that can go into the synchronization source files, see Synchronization Data Types.
C O N C E P T S
95
C O N C E P T S
Synchronize users
Synchronizing users is useful for updating existing users and addresses when information for these users and addresses has changed outside of Narrowcast Server. The following tasks are involved: Adding new users Deleting obsolete users Remapping users When new users are found in the synchronization file that are not found in the Subscription Book, those users can be added or remapped to other users. Similarly, users who no longer exist in the synchronization file can be removed from the Subscription Book or remapped to new users in the synchronization file. Thus, new users can be mapped to obsolete users no longer in the synchronization file. For example, if a user name has changed so that a different distinguished name results in the synchronization file, the user should still maintain all subscriptions and have the same preferences.
96
C O N C E P T S
Ensure that the required LDIF file, SynchronizationTutorial1.ldif, is available. This file is installed with Narrowcast Server under %%Application Path%%\MicroStrategy\Narrowcast Server\Tutorial\SubsBookSynchronization\ where %%Application Path%% is the folder in which you installed Narrowcast Server. If you did not change the default location where Narrowcast Server is installed, this is C:\Program Files\ MicroStrategy\Narrowcast Server\Tutorial\SubsBookSynchronization\. Ensure that you have a fully-configured Narrowcast Server 7.2 or later system available.
Functionality demonstrated
Import of new users Creation of addresses Setting user and address properties based on synchronization file attributes
97
C O N C E P T S
Start the Subscription Book Synchronization Wizard by selecting Synchronize Subscription Data from the Tools menu within Narrowcast Administrator.
Welcome page
Click Next.
Synchronization Options page
1. In the Synchronization Type frame, select First time import and enter Tutorial in the text box. 2.
3. In the File Location box enter the full path to the provided sample file SynchronizationTutorial1.ldif. 4.
1. In the User Property Mappings frame, for User Name select givenname from the corresponding list.
In the Address Property Mappings frame, note that one blank address mapping is available automatically.
3.
2.
Select the following values in the corresponding lists: For Address Name, select email. For Physical Address, select email. For Address Display, select email. For Device, select email_device. Click Next.
4.
Note that three new users from the synchronization file appear in the Add Users list.
2.
1.
Click Next.
1. Note that any existing users in the subscription book appear in the Do Not Remove Users list.
98
2. 1.
Moving users to the Remove Users list causes these users to be permanently deleted.
Click Next. Note that the three new users appear under Users to Add. Any previously existing users that you selected for removal show up under Users to Delete. These users are permanently deleted from your Subscription Book if you click Next while they are in this list.
C O N C E P T S
Review page
2. 1.
Click Next.
Finish page
Check the Action Summary and Error Summary. If errors have occurred, review the resulting log file. The log file location is provided for you. Click Finish. From the Tools menu, select Open Subscription Book.
2.
Narrowcast Administrator
1.
2. Edit the users that have been added by the Subscription Book Synchronization Wizard and note their properties. After the synchronization process
Edit the LDIF file and study its structure. Note how the attributes present in the file correspond to the users and user properties created during the synchronization process.
Scenario 2: Update users, remap users, add addresses, and create subscriptions
Requirements 1. Ensure that the required LDIF file, SynchronizationTutorial2.ldif, is available in the same location where you found SynchronizationTutorial1.ldif.
99
C O N C E P T S
2. Create two static subscription sets in Narrowcast Administrator and name them SubSet1 and SubSet2. Add at least one user to each subscription set. You will subscribe users to these subscription sets in this scenario. Functionality demonstrated
Updating mapped user properties while preserving unmapped properties Remapping users whose distinguished name has changed Adding additional addresses to existing users Deleting unmapped addresses Subscribing users to subscription sets
Synchronization Wizard steps
Narrowcast Administrator
Start the Subscription Book Synchronization Wizard by selecting Synchronize Subscription Data from the Tools menu in Narrowcast Administrator.
Welcome page
Click Next.
Synchronization Settings dialog box
1. Click Synchronization Settings. In the dialog box that opens, click the Synchronization Process tab.
Under User settings, select the Manually add/remove/remap users; Update existing user properties option. This allows you to preserve previous settings for this user that are not explicitly mapped so they are not returned to the default values. Using this functionality you can preserve any changes you might have made to settings that are not imported.
3. Under Address settings, select the Replace mapped addresses; Delete unmapped addresses option. This removes obsolete addresses. 4. Under Subscription settings, select the Subscribe addresses, preserve unmapped subscriptions option. This causes the Subscription Book Synchronization Wizard to provide a page to define subscriptions for the imported users. 5.
100
2.
6. In the Synchronization Type frame, select Re-import using a previous synchronization table. Select Tutorial from the list. Both settings should already be selected as a result of completing scenario 1. 7. 8. 9.
C O N C E P T S
Change the File Location box to the full path of the second sample LDIF file: SynchronizationTutorial2.ldif. Click Next to start the import process.
1. In the User Property Mappings frame, for User Name select givenname from the corresponding list.
In the Address Property Mappings frame, note that one blank address mapping is automatically created.
3.
2.
Select the following values in the corresponding lists: For Address Name, select email. For Physical Address, select email. For Address Display, select email. For Device, select email_device.
4. Click Create Address Mapping to add a second address mapping with which you will import a wireless address.
For Address Name, select wireless. For Physical Address, select wireless. For Address Display, select wireless. For Device, select wireless_device. Click Next.
5.
Subscriptions page
1. The subscription sets you created named SubSet1 and SubSet2 should be shown in the leftmost column of the table. 2. In the row for SubSet1, in the second column, select subscribetosubset1. In the third column, type yes. 3. In the row for SubSet2, in the second column, select subscribetosubset2. In the third column, type yes. 4.
Click Next.
101
C O N C E P T S
1. Note that the user Smith, Sarah appears in the Add Users list. She has changed her name and, as a result, her distinguished name has changed in the synchronization file. It is desirable to preserve this user and all associated properties in the Subscription Book and remap the new Sarah Smith to her previous identity Sarah Brown. To do this, click her name and the click the lower arrow button to move her to the Make Users Available for Mapping list. 2.
Click Next.
Note that the user Brown, Sarah now appears in the Do Not Remove Users list. Click her name and then click the lower arrow button to move her to the User Mapping list. In this list, click the right column of the row that has Brown, Sarah in the left column and select her new name Smith, Sarah. This remaps the Sarah Brown user in the Subscription Book to this new user Sarah Smith in the synchronization source. As a result, any preferences, subscriptions and other properties defined in the Subscription Book can be preserved, but the mapping to the external source is not broken. This allows future updates while preserving any changes made in the Subscription Book.
3. 2.
1.
Click Next.
Review page
Note that the mapping Brown, Sarah to Smith, Sarah appears under Existing Users and New Users.
2.
1.
Click Next.
102
Finish page
1.
Check the Action Summary and Error Summary. If errors have occurred, review the resulting log file. The log file location is provided for you. Click Finish. From the Tools menu, select Open Subscription Book.
C O N C E P T S
2.
Narrowcast Administrator
1.
2. Edit the subscription sets SubSet1 and SubSet2 and verify that new subscriptions have been added. After the synchronization process
Edit both LDIF files and study their structures. Note how the attributes present in the files correspond to the actions that were taken during synchronization and in the final results in the Subscription Book and subscription sets. Note especially the new addresses that are present in the second file and how certain attributes are used to indicate which users should be subscribed to which subscription sets.
103
C O N C E P T S
104
C H A PT E R
Alert-Based Applications
5.
C O N C E P T S
MicroStrategy Narrowcast Server supports a wide variety of alert-based and event-triggered service functionality. Alerting functionality, often called alert-based or event-triggered functionality, refers to the ability to deliver content only to certain recipients for which a given criteria is met or when some event occurs. This is a broad requirement that has a number of potential implementations. For example, this can be achieved by the following: Using an external system to trigger a service execution based on some event Having Narrowcast Server only deliver content to certain recipients for which some criteria is met Dynamically generating the list of recipients who should receive a service Executing SQL queries before and after a service is executed to evaluate some pre-defined condition and update the data warehouse after the information has been delivered This chapter discusses the importance of alert-based services and provides an overview of the different ways to achieve alert-based functionality and the advantages and disadvantages of each method.
105
C O N C E P T S
MicroStrategy Narrowcast Server is designed to support a wide variety of alert-based functionality. Narrowcast Server can be used to deliver proactive inventory control alerts, business performance metric alerts, stock and personal finance alerts, last minute travel alerts, immediately available data warehouse information alerts, customer account activity alerts, fraud alerts, and a wealth of other alert applications.
A Narrowcast Server service is executed on a scheduled periodic interval. A Narrowcast Server service execution is triggered via an external system through the use of the Narrowcast Server API function. In this way, the evaluation of the alerting condition can be handled by the external application.
3. Narrowcast Server can be configured to execute SQL statements before the service execution to determine whether the service should be run (pre-service execution SQL functionality).
106
4. For services that are executed, Narrowcast Server is configured to deliver content to certain subscribers if some condition is met based on the subscribers personalization criteria. This involves determining which subscribers should be evaluated to receive this information, retrieving the information that should be delivered based on each subscribers personalization, and checking whether the information meets each users alert conditions. This can be accomplished through three pieces of functionality:
C O N C E P T S
An information object can be executed before the service is executed to determine which recipients can receive the service based on the current status of the data warehouse (dynamic subscription set functionality). Settings at the document element, document, and publication level can be used to deliver content only to certain subscribers based on their personalization criteria. In this case, only subscribers in the subscription for which certain conditions are met receive this service. Pre- and post-execution SQL can be used to evaluate whether or not a service should be delivered. If an external system triggered a service execution, the alert criteria evaluation might be handled completely by the external system. In this case, a static or dynamic subscription set can be used to determine who should receive this information.
5. For subscribers where information that meets their alert conditions is found, this information is then formatted and delivered. For subscribers for whom no information that meets their alert conditions is found, no messages are sent. 6. In some cases, the data in the data store must be updated once the service has been delivered to acknowledge that the recipients have been sent the alert information. This data store update ensures that the Narrowcast Server does not send duplicate alert notifications (post-service execution SQL functionality).
107
C O N C E P T S
the service (as described in step 2 in the process flow) or (b) have the service itself check some condition in the data warehouse and execute the service only if that condition is met (as described in step 3 in the process flow). Narrowcast Server can use pre-service execution SQL to check for alerting conditions in any data warehouse before a service is executed. Narrowcast Server can be scheduled to check for alerting conditions at a minimum time interval of every minute. If the requirements demand information delivery more quickly than within one minute of an event or data warehouse load, the external system has to trigger the Narrowcast Server service through the MicroStrategy Narrowcast Server API.
108
Whether or not a service has a dynamic subscription set or document element and publication settings that achieve alerting functionality does not relate to how the service was initially triggered. Thus, either a scheduled service or a service triggered through the API can make full use of this functionality.
C O N C E P T S
Narrowcast Server can be configured to execute SQL statements before service execution to determine whether or not the service should be run. A Narrowcast Server service execution can be triggered via an external system through the use of the Narrowcast Server API function.
Personalization capabilities and dynamic subscription sets to support alert services enable Narrowcast Server to select and deliver personalized information that complies with the alert thresholds or service personalization determined by the end recipients.
Settings at the document element and publication level can be used to deliver content only to certain subscribers based on their personalization criteria and the data retrieved from information sources. An information object can be executed before the service is executed to determine which recipients should receive the service based on the current status of the data warehouse.
Post-service data source cleansing enables Narrowcast Server to change information in the data source to acknowledge that an alert has already been sent so that when the Narrowcast Server rechecks this condition, it does not send another alert message.
109
C O N C E P T S
In MicroStrategy Broadcast Server 6.x, the Service Designer has the option to trigger a service using a predefined alert on a particular MicroStrategy report. The alert service then runs the report at the scheduled interval, and if the report returns information, the service execution is triggered. This functionality requires MicroStrategy Intelligence Server to run a report repeatedly whenever the alerting condition should be evaluated. This requires that the alerting condition exist in the data warehouse to which MicroStrategy Intelligence Server is connected. In addition, this type of alerting treats all subscribers in the service the same way and does not determine whether messages are sent based on the personalized content returned for each user. Both of these restrictions have been lifted in MicroStrategy Narrowcast Server. Narrowcast Server provides condition-based service triggering functionality, but in a more flexible manner.
The pre-service execution SQL feature in MicroStrategy Narrowcast Server can be used to check the status of a predetermined condition before a service is executed. Using a data source name you provide, Narrowcast Server can check any data warehouse to run the pre-defined SQL statement. A separate condition, in the form of a SQL statement, can be associated with each subscription set for a service. With the pre-service execution SQL set to required, the service is only triggered if this SQL statement returns valid data. If the SQL statement does not return valid data, the service is not triggered. For example, at the end of a data warehouse load, the database administrator could configure the system to set a data warehouse load flag from 0 to 1. MicroStrategy Narrowcast Server services could be configured to check for a load flag equal to one, and only trigger the service if this SQL statement returned valid data.
110
While pre-service execution SQL does require explicitly providing a data source name and SQL statement, this method of triggering services is more flexible, and does not rely on MicroStrategy Intelligence Server as MicroStrategy Broadcast Server 6.x does. In addition, pre-service execution SQL can check alert conditions in any data warehouse, not only in the data warehouses used by MicroStrategy Intelligence Server.
C O N C E P T S
The following examples illustrate a design problem and potential solution. The implementation goal is to trigger a service execution using a condition in a data warehouse that MicroStrategy Intelligence Server does not use. This service should use system resources efficiently and not require the creation or modification of objects in the MicroStrategy Desktop interface. The application design includes the following. This implementation requires that the event (for example, a warehouse load) create a flag in the data warehouse after the event finishes execution. The services created within MicroStrategy Narrowcast Server then use pre-service execution SQL defined for the subscription set to check for the event when the service is first executed. With the pre-service execution SQL set to Required, the SQL statement evaluates this flag in the warehouse and only triggers the service execution if the query does not return an error. The first example requires the event of interest to create an alert table in a data warehouse after the database load is complete. In this example, the presence of the alert table itself serves as the condition to be evaluated. Then, the services created in MicroStrategy Narrowcast Server must be designed to use pre-service execution SQL to check for the existence of this alert table for each of the subscription sets. When a service is executed, first it connects to the database specified by the data source name and runs the statement specified in the pre-service execution SQL such as Select * from AlertTable. If the database load is not complete, the alert table does not exist and the SQL statement fails with an invalid object error. With the pre-service execution SQL set to Required, the service halts execution with the error Invalid Pre-Execution SQL. In this case, the service is not triggered, no messages are delivered, and no services are submitted to MicroStrategy Intelligence Server. If the event completes and has created the alert table, the service connects to the database using the specified data source name and runs the preservice execution SQL (for example, Select * from AlertTable). Since the table exists, the SQL statement runs successfully and the service executes. Note that any SQL query that is designed to fail in the correct conditions can be used to evaluate the alert condition.
111
C O N C E P T S
Post-service execution SQL (such as Drop Table AlertTable) can be used to reset the alerting condition. In this case, after the service has finished its execution the statement deletes the alert table so that the service does not execute until the next database load. Note that if more than one service is to be triggered by the same event, a different flag must be created and used for each service. If this is not done, the post-service execution SQL for one service resets the alerting condition used by the other service. With the very simplistic example discussed here, the SQL statement included in the event script must create as many alert tables as services depend on that event. However, pre-service execution SQL and post-service execution SQL statements could be designed to evaluate a particular row of a particular table for an appropriate event flag. For example, you could create a SQL statement that causes a division by zero when the alert condition is not met. For this case, the SQL statement is designed to divide by the value of the selected column, which is 0 if the condition was not met, and 1 if it was met. The division by zero makes the SQL execution fail. Some sample SQL follows:
SELECT (10.0 / a1.ALERT_TRIGGER) FROM ALERT_TABLE a1 WHERE a1.SERVICE_ID=123
This technique is outlined in the second example. The second example illustrates the use of a stored procedure in the data warehouse that returns an error if the particular event has not been completed. Perform the following steps. (This SQL is designed for a SQL Server database.)
1. 2. 3.
Create a table using SQL such as the following: Insert a value into this table using SQL such as the following: Create the stored procedure using SQL such as the following:
create procedure SProcedure as begin DECLARE @del_error int select @del_error = event_flag from event where event_flag=0 IF @del_error = 0 RAISERROR ('Error- no services can be run', 16,1) end
4.
112
exec SProcedure
5.
C O N C E P T S
This procedure declares a variable and assigns a SQL query to that variable. Then the procedure returns an error if the query produces a specific value. Otherwise the procedure is completed successfully. Note that the stored procedure used above is not very useful. You can create different stored procedures that cause the pre-service execution SQL to fail when the alert condition is not met. For example, a column could return 0 if the alert condition is not met and 1 if it is met in the above code. Then a SQL statement can be used to divide by 0 or 1 to make the statement fail or succeed. For example:
select (10.0 / event_flag) from event
Although this example uses a SQL statement that returns an error, it is also possible to use SQL statements that return no data to prevent the service from being executed. For more information about SQL statements that are executed when a service is run, see Pre- and post-service execution SQL.
In summary, the maintenance required for this implementation is minimal since no objects need to be created in the MicroStrategy projects that MicroStrategy Narrowcast Server uses. The particular event needs to create a flag (such as a column value in an EVENT table) that Narrowcast Server can check through the use of pre-service execution SQL. Since post-service execution SQL can be used to reset the flag, the maintenance on the database is minimal.
Manually editing values in the database can cause serious, project-wide problems that can make your project unusable. Since these are user-initiated changes they are not covered by any MicroStrategy warranty.
MicroStrategy Narrowcast Server is a powerful and flexible information delivery platform that provides a comprehensive SDK. This SDK includes a COM-based Application Program Interface (API) and Service Provider Interface (SPI). All MicroStrategy Narrowcast Server functionality is exposed through the API, which enables any application developer to customize his MicroStrategy Narrowcast Server application. With API functions to create application components, manage system configuration
113
C O N C E P T S
components, and execute services, application developers can build applications that execute or even create the specified service on demand. Then MicroStrategy Narrowcast Server can be integrated into the application that detects the alert condition to provide a complete eventbased implementation. To learn more about these capabilities, see the Narrowcast Server SDK online help where the MicroStrategy documentation is installed. The MicroStrategy Narrowcast Server SDK is provided automatically with the installation of MicroStrategy Narrowcast Server. It includes an overview of Narrowcast Server API and SPI functionality, sample code, and methods to use MicroStrategy Narrowcast Server within other applications. The implementation goal is to integrate MicroStrategy Narrowcast Server with an external application that should deliver content to users via e-mail and SMS when certain conditions are met. The application design includes the following. MicroStrategy Narrowcast Server supports event-triggered service execution through the availability of API functions that allow any external system to trigger a service execution. This eliminates the need for Narrowcast Server to periodically check for alert conditions. In this case, once the alert condition is satisfied in the external system, an execute service API function within the Narrowcast Server SDK triggers the chosen Narrowcast Server service. In addition, once the service is triggered, the personalization and dynamic subscription set capabilities of Narrowcast Server can be used to determine which recipients should receive information. This is discussed in the following example. The following Visual Basic (VB) sample code provides a function RunService, which calls the MicroStrategy Narrowcast Server API function ExecuteService. The references needed for this function are provided by the MicroStrategy Delivery Engine API (MCBSAPI.DLL) and the MicroStrategy Delivery Engine Public Type Library (MCTypLib.DLL). For a complete list of API functions, see the Narrowcast Server SDK online help where the MicroStrategy documentation is installed.
Public Function RunService(ByVal sServiceID As String, ByVal sSubsID As String) As String 'Repository connection variables Dim ConnectionString As String Dim Prefix As String Dim DatabaseType As EnumMSTRDatabaseType Dim ReconnectAttempts As Long Dim oErrorInfo As IMSTRErrorInfoDefinition 'Execute Function Variables Dim ServiceInfo As IMSTRServiceDefinition
114
Dim SubInfo As IMSTRSubscriptionSetDefinition Dim oAPI As IMSTRDeliveryEngine Set oAPI = CreateObject("MSTRBSAPI.MSTRBroadcastServer") If oAPI Is Nothing Then GoTo ErrorHandler End If ConnectionString = "DSN=NC_REPOS;UID=sa;PWD=" Prefix = "demo_" DatabaseType = MSTRDatabaseTypeSQLServer ReconnectAttempts = 3 Dim lResults As EnumMSTRReturnValueConstants lResults = oAPI.ConnectToRepository(ConnectionString, Prefix, DatabaseType, ReconnectAttempts, oErrorInfo) If lResults = MSTRError Then GoTo ErrorHandler lResults = oAPI.ConnectToSystem(oErrorInfo) If lResults = MSTRError Then GoTo ErrorHandler lResults = oAPI.GetObject(sServiceID, ServiceInfo, MSTRReturnFieldBrowsingInformation, oErrorInfo) If lResults = MSTRError Then GoTo ErrorHandler lResults = oAPI.GetObject(sSubsID, SubInfo, MSTRReturnFieldBrowsingInformation, oErrorInfo) If lResults = MSTRError Then GoTo ErrorHandler lResults = oAPI.ExecuteService(ServiceInfo, False, SubInfo, False, "1", "1", oErrorInfo) If lResults = MSTRError Then GoTo ErrorHandler lResults = oAPI.DisconnectFromSystem(oErrorInfo) lResults = oAPI.DisconnectFromRepository(oErrorInfo) If lResults = MSTRError Then GoTo ErrorHandler Set oAPI = Nothing ErrorHandler: On Error Resume Next RunService = oErrorInfo.Description Exit Function End Function
C O N C E P T S
The RunService function accepts string input for the service identification (ID) and the subscription set ID, and then executes the service. To get the service ID and the subscription set ID for a specific service and subscription set, a query can be run against the Narrowcast Server Repository such as the following:
select MR_OBJECT_ID, MR_OBJECT_NAME from MSTROBJNAMES where MR_OBJECT_TYPE = 19 select MR_OBJECT_ID, MR_OBJECT_NAME from MSTROBJNAMES where MR_OBJECT_TYPE = 17
Note that MR_OBJECT_TYPE 19 is for the services (the service ID is the corresponding MR_OBJECT_ID) and MR_OBJECT_TYPE 17 is for subscription sets.
115
C O N C E P T S
Another way to gather service and subscription IDs is to use the API function FindObjects to search for objects (services, subscription sets, and the like) based on the specified criteria (object type, object name, and the like). If this method is used, the above sample function can be improved to take a specific service name as the input and then execute the service immediately. This sample function can serve as the foundation for an event-based service application. Developers can integrate this functionality into their alert condition detection applications to support a flexible and powerful alerting implementation. Depending on the business requirements, there are many potential opportunities to integrate Narrowcast Server with different operating systems, application environments, and database platforms. For example, this type of function can be integrated into warehouse loading scripts such as the Data Transformation Service (DTS) package for Microsoft SQL Server. Similarly, a shell command using such a function can be used to execute services based on the Pro*C application available for Oracle. In summary, SDK integration can require more development effort when compared to pre-service execution SQL, but it is a flexible and powerful approach to supporting alert-based services. A well-designed alerting implementation based on the Narrowcast Server SDK can keep the maintenance on the database to a minimum, eliminate unnecessary network traffic, and meet business requirements through the flexible use of MicroStrategy Narrowcast Server.
116
Personalization
When an alert-based service is used, a recipient might want to receive East Coast sales information as soon as sales reach a certain predetermined threshold (this is often referred to as a metric qualification alert service) instead of a recipient wanting to receive East Coast sales information every Monday morning. Thus, the service as a whole is sent or not sent based on some condition, but content can be sent or not sent to individual subscribers based on their preferences. The robust personalization capabilities of MicroStrategy Narrowcast Server support alert services by determining who should receive information, what information should be sent, to what device, and under what conditions. Robust personalization capabilities ensure that the Narrowcast Server only delivers information that is in compliance with the alert thresholds and personalization requirements determined by each recipient.
C O N C E P T S
The personalization capabilities of Narrowcast Server, made possible through an intelligent personalization object model and through the use of the advanced analytical and prompting features of the MicroStrategy platform, far outreach the limited personalization capacities of the MicroStrategy Broadcast Server 6.x platform.
To use this functionality, Narrowcast Server can be configured to use MicroStrategy Intelligence Server to check for alert conditions, flags, or metric qualifications in the data warehouse. If the information returned by MicroStrategy Intelligence Server is not appropriate for a recipient based on the recipients preferences, messages are not sent to that recipient. With this kind of alert support, an information object can be created that evaluates the alert condition for each user and returns information to Narrowcast Server. Within the document containing this information object, error-handling settings can be used to fail the document if an information object or a set of information objects returns no data. These settings can be defined in the Document Element Properties and Document Properties dialog boxes. Using this method, the information object is defined to only return information if the alert threshold is reached or if the alert condition is met. In the example for East Coast sales, personalization would be used to answer a prompt on dollar sales. If no information was returned by the report based on the users answer to the prompt on sales, the information object would return no data and the document would fail. In the Publication Wizard or Service Wizard, you must indicate that the document that contains the alert information object is required for this publication. Thus, when the document fails, the publication fails to be delivered to any recipients for which the information object returns no data.
Application design for alert-based implementations 117
C O N C E P T S
Dynamic subscriptions
Using the analytical power of MicroStrategy Intelligence Server, together with the dynamic subscription capabilities of MicroStrategy Narrowcast Server, MicroStrategy Narrowcast Server can support alert service functionality with dynamic subscription sets. Services with dynamic subscription sets are services for which the recipients of the service are not determined until after service execution is triggered. With dynamic subscription services, the recipients of the service are resolved or retrieved at service run time through the use of an information object. When a service with a dynamic subscription set is triggered, MicroStrategy Narrowcast Server uses an information source (typically the MicroStrategy Intelligence Server information source) to retrieve an information object (in the case of a MicroStrategy Intelligence Server information source, this is a MicroStrategy report) that contains the information of which recipients (Subscription IDs) should receive information services. For information on best practices to be followed while creating a dynamic subscription, see Best practices. Once the list of who should receive the information service is retrieved from the information source, Narrowcast Server can then retrieve user information, user address information, and personalization information from the same information source that provided the recipient list, or from the Narrowcast Server Subscription Book Repository. This powerful capability allows Narrowcast Server to derive recipient information from the data warehouse, the Subscription Book, or a combination of each (for example, recipient name and ID from the warehouse and device and locale information from the Subscription Book). The support for dynamic subscription services allows Narrowcast Server to use all of the robust analytical capabilities of MicroStrategy Intelligence Server to determine which recipients should be sent information given the information stored in the data warehouse. From an end user perspective, the functionality provided by dynamic subscription set services makes the service appear to be alert driven. In actuality, dynamic subscription functionality is not related to the triggering of the service. This integration with the MicroStrategy platform allows Narrowcast Server to support many types of alert-based information services. Any of the information stored in the data warehouse and any analytical function that is possible with MicroStrategy Intelligence Server can be used to determine who should receive an alert notification. Also, any prompt object that can be created in the MicroStrategy Desktop interface can be used in Narrowcast Server to personalize the messages that are generated. In many implementations, the use of dynamic subscription services requires the collection of information from end users. For example, it is necessary to know information such as under which conditions or
118
thresholds they would like to receive a message (for example, user John Smith would like to be notified if a stock goes up or down 20%). This information needs to be stored in the data warehouse since it is used in conjunction with other information in the data warehouse (for example, stock movement information) to determine which recipients need to receive the dynamic subscription service. For example, to know whether to send an alert to John Smith it is necessary to perform calculations based on both John Smiths alerting criteria and the current and historical stock prices. To get this alert threshold information into the data warehouse, the Narrowcast Server Subscription Portal provides support for dynamic subscriptions. Thus, Narrowcast Server Subscription Portal can write user information directly into the appropriate table in the data warehouse. This is powerful functionality as it enables a wealth of alert-driven information services that were not supported with the MicroStrategy Broadcast Server 6.x platform. This dynamic subscription process is discussed further in chapter 9, Advanced Subscription Portal Configuration.
C O N C E P T S
119
C O N C E P T S
This method is extremely susceptible to duplicate alert messages. Implement the following steps to avoid duplicate messages. In the pre-execution SQL, use a SQL statement to put a copy of the data from the warehouse table into a snapshot table. Only data for subscriptions for which the alert condition is true should be copied. In this example, an alert is sent to any subscription with a DataValue=1: INSERT INTO SnapshotTable1(Subscription_ID,DataValue ) SELECT Subscription_ID,DataValue FROM WarehouseTable WHERE DataValue=1 In the next SQL statement, update the contents of the Warehouse Table to reflect the subscriptions that receive alerts during this service execution. This prevents them from receiving duplicate alerts the next time the service is run, while freeing up the warehouse table for further updates as operational data changes: UPDATE WarehouseTable SET DataValue=0 FROM WarehouseTable, SnapshotTable1 WHERE WarehouseTable.Subscription_ID = SnapshotTable1.Subscription_ID To ensure that no duplicates occur, place these two SQL statements inside a transaction.
You can use the post-service SQL to clear out the snapshot table and perhaps put an indicator that it can be used again into another table. This is useful if you have a fixed number of snapshot tables, and want to ensure that a long-running service does not have its snapshot table overwritten in the middle of service execution by a subsequent run of the same service.
120
Summary
MicroStrategy Narrowcast Server implements a number of features that enable alerting functionality. These features support a wide variety of requirements and uses. If the event status exists in the database or an external application, it is probable that MicroStrategy Narrowcast Server can support the required alert-based service.
C O N C E P T S
Summary
121
C O N C E P T S
122
C H A PT E R
C O N C E P T S
Personalized page execution, also called page personalization, and dynamic subscriptions are discussed together in this chapter because these two pieces of functionality are interrelated. Understanding how these two pieces can work together is a key to implementing some of Narrowcast Servers most powerful capabilities.
Introduction
Personalized page execution
Personalized page execution allows Narrowcast Server to retrieve personalized content for many subscriptions at once by executing a single report. Personalized page execution is now supported for consolidation in the page-by field and for Report Services documents in Flash format. To understand the significance of this, it is important to understand that Narrowcast Server can gather MicroStrategy reports in one of two ways: personalized report execution or personalized page execution. When using
123
C O N C E P T S
personalized report execution, Narrowcast Server gathers a separate prompted report result for each group of subscriptions with the same personalization. Thus, since subscriptions with the same personalization are grouped before information object execution, Narrowcast Server does not necessarily execute a duplicate report for each subscriber with the same personalization.
This is true for subscribers within a given segment, or group of subscriptions. Subscribers in different segments that have the same personalization will require the execution of duplicate reports. Because personalized report execution uses prompt objects, report caches cannot be used to improve performance.
For a group of subscriptions that contains many different personalizations, multiple reports need to be executed. This can be a time-consuming and expensive process in terms of system resources. By contrast, when using personalized page execution, Narrowcast Server executes one multi-page report for all subscribers in a segment where each page provides content for a group of subscribers with the same personalization. Regardless of how many subscriptions have different personalization, a single report is executed, which saves both time and system resources.
This is true for all subscribers within a segment. Subscribers in different segments receive content from different report executions. Unlike personalized report execution, reports run using personalized page execution do not necessarily have prompt objects and can therefore use cached results in some situations to further improve performance.
It is important to note these two methods do not only differ in the way reports are retrieved, but also in the way recipients provide personalization. For personalized report execution, recipients indicate their preferences by answering one or more prompts, while in personalized page execution, recipients indicate their preferences by selecting a specific page of content. It is this key differenceone method of personalization allows recipients to select part of a single report while the other allows users to customize their own reportthat allows these two methods to execute reports differently. One method, personalized report execution, provides greater control over personalization since reports can be fully customized using multiple prompt objects of any type, while personalized page execution, provides limited control since recipients select which page of content they would like to receive by selecting an attribute value from a list of available attribute values that represent available pages. Personalized report execution provides a flexible method of personalization for basic use cases and also provides an easier application design process. As a result, personalized report execution is selected by
124
default when retrieving MicroStrategy reports, and in many cases application designers need not be aware of the difference between these two methods. As a result, personalized page execution is typically not used unless an application designer requires the benefits that personalized page execution or dynamic subscriptions provide.
C O N C E P T S
Dynamic subscription
Dynamic subscription is a process that allows Narrowcast Server to retrieve a list of recipients and related subscription information from an external source such as a data warehouse. This is done by executing an information object which returns some or all subscription information. When used to gather subscription information stored in a MicroStrategy project, a subscription information object can gather subscription information from a MicroStrategy report or directly from attributes in the project. This information from the data warehouse can then be used directly or joined with information in the Subscription Book Repository to define a subscription set. If the list of recipients changes, dynamic subscriptions can be used for alerting applications by determining at the time of service execution who should receive the service, and what alert information they should receive. To understand how personal page execution and dynamic subscriptions can be used together, consider the case where the data warehouse holds both subscription information, such as a subscription ID and a physical address, and user preferences, for example, some attribute value which indicates user preference, such as customer region. In this case, dynamic subscriptions can be used to return both subscription information and personalization from the data warehouse. This personalization information can then be used to personalize information objects executed using personalized page execution. This is beneficial because dynamic subscriptions return a single attribute value for user preferences, while information objects executed using personalized page execution require a single attribute value to define preferences for each user.
Introduction
125
C O N C E P T S
Storing information in the Subscription Book Repository offers a number of benefits including the following: Define preferences using personalized report execution: Preferences can be defined with greater flexibility using any number of prompt objects of any type in a prompted report, rather than requiring the selection of an attribute value. Design applications easily: Administrators do not need to map information in the data warehouse to provide subscription properties and personalization. Administer subscription information within Narrowcast Administrator: Administration and maintenance of subscription information can be accomplished through the Narrowcast Administrator. Take advantage of advanced subscription properties: Advanced subscription properties (such as Devices, Locales Transmission Properties, and so on) can be used without storing and maintaining this information in an external data model.
126
This can become a resource drain in the execution process which can slow service execution. It can also consume a significant amount of system resources on both the database and Intelligence Server machines. Personalized page execution can remedy this problem by increasing the efficiency of the service execution process. Personalized page execution does this by executing one report that returns content for all subscriptions in the segment that the execution engine is processingdespite the fact that these subscriptions may have many different personalizations. This can speed up the report execution process since only one report request is made per segment.
C O N C E P T S
This can result in very large reports if the execution engine is processing a large number of subscriptions. This can be resolved by reducing the segment size for the service so that a smaller number of subscriptions is given to each execution engine in a segment.
The following diagram demonstrates the conceptual difference between personalized page execution and personalized report execution.
Personalized Page Execution Intelligence Server One multipage report is executed for all subscriptions in a segment and then sliced by the execution engine to gather content for subscriptions with different personalization. Execution Engine
Intelligence Server
Execution Engine
One prompted report is executed for each group of subscriptions with the same personalization.
127
C O N C E P T S
128
Content information objects executed using personalized page execution can be designed to use this same attribute form (Region ID) as the slicing attribute form (the first attribute form on the page axis). The result is that the content information object returns a multi-page report that provides a different page of content for each Region ID. When you define a subscription information object, you can map the attribute form returned from the data warehouse which defines preferences (Region ID) to a specific information object or question object which has Region ID as the slicing attribute form. Consider the example provided in the figure below. The box to the left represents the information returned by a subscription information object, while the box to the right represents the information returned by a content information object executed using personalized page execution. The administrator has mapped the Region ID returned by the subscription information object to this content information object. Narrowcast Server then executes the subscription information object, gathers the Region IDs for each subscription, and uses these regions as preferences when slicing the content information object to gather personalized content for each subscription. As a result, four different subscriptions all receive the same content (A) from the content information object report while all other subscriptions receive different content.
Subscription Information Object Subscription ID 324789123479 923875890247 123798127430 129839182734 120395235255 213512514523 457626523472 143625626766 457436724717 234624362366 234672473476 234632462346 Region ID 1 2 3 4 1 3 2 3 4 2 1 1 Content Information Object Page Axis: Region ID 1 2 3 4 Report Content A B C D
C O N C E P T S
Readers familiar with SQL will recognize that this is very similar to a database join. Indeed, it can be thought of as a zero or one (result page) to zero, one, or many (subscriptions) join that is performed in memory by the Narrowcast Server. The allowance for the choice of which piece of information from a subscription set is used to choose a page from the report provides for a powerful Narrowcast Server feature. It enables different pieces of content within a service to be personalized at different levels in
129
C O N C E P T S
an attribute hierarchy. For example, some pieces of content can be personalized at the region level, while others display data for a particular store or item.
130
Distribution Manager
Distribution Manager passes only IDs for subscriptions in each segments to each Segment Executor
Subscription IDs 129857109235 Segment #1 298367102895 243523424535 145153451354 Segment #2 125145632365 125457625671 734756757868 Segment #3 457437568754 374373476347 375347347347 Segment #4 345623453254 356236234656
C O N C E P T S
Intelligence Server
Report Structure
Segmentation processes
When a large subscription set is executed for a service, this represents a potentially tremendous amount of work. For each subscription, content must be gathered, formatted, and delivered. Each of these processes can potentially take a long amount of time and can consume significant machine resources. To allow this process to be scalable so that a large number of subscriptions can be executed in a reasonable time, it is necessary to divide this workload and distribute it across multiple machines (called execution engines). As described previously,
Slicing and segmentation 131
C O N C E P T S
segmentation is the process that allows this to occur. Specifically, segmentation involves three processes that work together to divide large subscription sets into smaller groups of subscriptions and ensure that each smaller group of subscriptions is processed efficiently on each execution engine. These processes are described below. Divide the subscriptions in a subscription set into smaller groups of subscriptions: This is accomplished by gathering the set of Subscription IDs (as returned by a subscription information object for dynamic subscription sets) and dividing the list of Subscription IDs into smaller groups of subscriptions, called segments. The subscription IDs that define the start of each segment are called segment boundaries. The segment boundaries (not the actual subscription information within each segment) are then passed to the execution engines. Each execution engine then executes a subscription information object to return the subscriptions between the segment boundaries it is assigned and a content information object to return content for these subscriptions. Ensure subscription information object returns only subscriptions for the current segment: Subscription information objects are always segmented. In other words, an execution engine never gathers subscriptions that are not in the segment currently being processed. A subscription information object can be segmented two ways. First, Narrowcast Server can perform this segmentation process automatically. By default, when a subscription information object is defined, an option under the advanced options is set to automatically segment this information object. Second, a subscription information object can be segmented by adding prompt objects to the subscription information object report that ask for the Subscription IDs for the segment boundaries. Narrowcast Server then provides the appropriate segment boundaries so that the subscription information object filters the report data to only return the relevant subscriptions. This method requires that you:
Use a report to return subscription information (as opposed to gathering information directly from the project based on the Information Source definition), Define two prompt objects in the subscription information object report to prompt for Subscription ID, and Select to segment the information object using prompt objects in the report. This option is available in the Information Object Wizard.
132
Ensure content information object reports return only content for current subscriptions: It is important to note that only content information objects executed using personalized page execution can be segmented. It does not make sense to segment a content information object executed in personalized report execution since a separate report is executed for each group of users in the segment that have the same personalization. It only makes sense to segment an information object when a single report is executed to return information for multiple subscriptions. For information objects executed using personalized page execution, segmentation is optional but is enabled by default. As with subscription information objects, a content information object can be segmented two ways. First, Narrowcast Server can perform this segmentation process automatically. By default, when a content information object using personalized page execution is defined, an option under the advanced options is set to automatically segment this information object. Second, a content information object can be segmented by adding prompt objects to the information object report that ask for the Subscription IDs for the segment boundaries. Narrowcast Server then provides the appropriate segment boundaries so that the content information object filters the report data to only return the relevant subscriptions. This method requires that you define two prompt objects in the subscription information object report to prompt for Subscription ID and select to segment the information object using prompt objects in the report. This option is available in the Information Object Wizard. For content information objects used with dynamic subscription sets, it generally makes sense to segment the content information object and only return content for subscriptions currently being processed by the execution engine. This is because both content and subscription information is stored in the same location, so the Subscription ID used by the subscription set can be returned by the content information object. However, for content information objects used with static subscription sets, it is generally not possible to segment the content information object. This is because segmentation of a content information object requires that the Subscription ID is present in the data warehouse, which is generally not the case when static subscription sets are used. For more information on segmenting dynamic subscrciptions when creating an information object, see Best practices for segmenting an information object used with dynamic subscription sets.
C O N C E P T S
133
C O N C E P T S
If the Subscription ID on the report selected for the subscription information object does not match the Subscription ID specified by the Information Source definition, content information objects might be segmented incorrectly.
Thus, as a general rule, one of the following methods should be employed to avoid unpredictable results:
134
Use subscription properties from the information source definition for the subscription information object and choose to automatically segment the content information object and subscription information object. In this case, the Subscription ID in the information source is used for all segmentation processes. Use a report for the subscription information object and ensure that the first attribute form on the page axis of the subscription information object matches the Subscription ID specified in the information source. (Multiple information sources can be used if multiple Subscription IDs are present.) Use a report for the subscription information object and, if the Subscription ID in the report does not match the Subscription ID specified in the information source, ensure that the content information object is segmented using prompt objects in the report. A few additional application design requirements deserve special note: When content information objects are segmented, the content information object reports do not need to contain the Subscription ID since content information objects can be segmented without explicitly containing Subscription ID. This is important because it allows content information object reports to be filtered so that they only return content for subscriptions in the current segment even if subscription ID is not on the report template. When an information object is segmented using prompt objects in the report, these prompt objects must contain default answers. This is required so that the first and last segments are terminated properly.
C O N C E P T S
If personalized page execution is used with static subscriptions, you cannot use automatic segmentation unless a subscription ID in the MicroStrategy project corresponds to the Subscription ID used in the Subscription Book. If this is not the case, you must choose not to segment the content information object.
In some cases, it might be desirable to either segment dynamic subscription sets using a method other than the default segmentation method or control how content information objects and subscription information objects are segmented by the execution engines. The first of these cases can arise since the default method used for segmentation must handle complex scenarios, such as the subscription set returned varies from one execution to the next, or the segment size varies from one execution to the next. As a result, the resulting performance might be slower than when more simple, efficient segmentation methods are used. The segmentation method used to segment dynamic subscription sets can be controlled by defining a segment information object and
135
C O N C E P T S
selecting this segment information object from within a dynamic subscription set. For more information on how to create a segment information object, see Advanced segmentation control techniques. The second case arises due to the fact that it might be desirable to have more control over how content information objects and subscription information objects are segmented. This can be accomplished by adding prompt objects to these information objects which ask for the boundaries for the segment and are used to filter the report to only return the relevant subscriptions. This might be useful for applications upgraded from Narrowcast Server 7.0 or 7.1 where such prompt objects for segmentation were required or potentially for complex implementations where segmentation by some means other than a simple greater than or less than strategy is required.
136
C O N C E P T S
Address ID Address display Physical address Device Transmission properties PIN Time zone Delivery window User ID Locale ID Security for each information source Preferences for information objects and question objects
user information
137
C O N C E P T S
Whether subscription information is populated and maintained by MicroStrategy Narrowcast Server or some external system. As a result, when designing applications that intend to use dynamic subscriptions or personalized page execution, it is crucial to consider how much flexibility is available in existing or new data warehouses. The following paragraphs describe the various options for storing subscription information and discuss the advantages and disadvantages of each method. All subscription information can be stored in the data warehouse and returned using dynamic subscriptions: In this case, the Subscription Book is not used and all required subscription information is gathered from the data warehouse. As a result, Subscription IDs used in the data warehouse do not need to correspond to Subscription IDs in the Subscription Book, and there are no requirements on the Subscription ID other than it must be an integer value that is unique for all subscriptions. This allows existing ID values in the data warehouse to be used or for new IDs to be created without consideration for how these subscriptions will interact with subscriptions created by Narrowcast Server. It is important to note that in this case:
Personalization is accomplished using information in the data warehouse to return attributes that indicate preference. For information about peronalization using dynamic subscription sets, see Content information objects personalization by subscription information objects. Either an external system or the Subscription Portal must be used to create new subscriptions and maintain subscription information since Narrowcast Administrator cannot be used.
This scenario can be implemented with no customization to existing schemas as long as the data warehouse contains physical addresses (such as e-mail addresses) and ID values that are unique for all intended subscriptions. More advanced scenarios might be implemented if customizations to existing schemas are possible. In this case, the data model can be extended to return additional subscription information such as the recipients device and the desired transmission properties to be used for each subscription. See the Understanding subscription information section in this chapter for a complete list of subscription information. Returning all subscription information using a subscription information object is faster than returning some information using a subscription information object and joining this to other subscription information in the Subscription Book Repository.
138
All subscription information can be stored in the Subscription Book and returned using static subscriptions: Personalized page execution might be used with subscription information returned entirely from the Subscription Book. In this case, the preferences stored in the Subscription Book provide attribute values that are used to personalize reports by selecting a page of content for each user. It is important to note that, for this case, it might not be possible to segment content information objects since this would require that a Subscription ID in the data warehouse matches the Subscription ID used in the Subscription Book Repository. Unless some method is used to synchronize these Subscription IDs this implementation is not possible. For more information about segmentation using Subscription ID, see Segmentation implications for application design. Subscription Information can be stored in both the data warehouse and the Subscription Book: This case can provide both the advantages of personalized page execution and dynamic subscriptions and the advantages of storing subscription information in the Subscription Book. However, to implement this case, the Subscription ID used in the data warehouse must match the Subscription ID used in the Subscription Book to join information in the Subscription Book with information in the data warehouse. The following provides more information on how this can be accomplished.
C O N C E P T S
The Subscription Portal or Subscription Portal API can be used to write the correct Subscription ID into the data warehouse: In this case, the user specifies which tables in the data warehouse should be used to hold subscription information such as subscription IDs, addresses and preferences. The Subscription Portal then writes subscription information such as preferences and address ID directly into the data warehouse while storing additional information to the Subscription Book Repository. It is important to note that, in this case, the Subscription Portal ensures that the Subscription ID written to the data warehouse matches the Subscription ID used in the Subscription Book Repository. Thus, this method takes some additional setup since the Subscription Portal must be configured to write subscription information into the appropriate tables. However, this method also provides the advantages of enabling dynamic subscriptions and personalized page execution, and enabling the use of the Subscription Book and Subscription Portal. For more information on the methods to configure the Subscription Portal, see Advanced Subscription Portal Configuration.
139
C O N C E P T S
The (customer-centric) data warehouse can be integrated with the Subscription Book Repository: In this case, the same Subscription IDs are shared by both the Subscription Book and the data warehouse. This requires that either any existing schema can be adapted to integrate with the Subscription Book Repository structure or a new data model can be created which integrates with the schema of the Subscription Book Repository. This method provides the advantage that Subscription ID is automatically synchronized between the two systems. When using this method, it is important to consider how new subscriptions are created. For example, if new subscriptions are always created using MicroStrategy Narrowcast Server (either through the Subscription Portal or through the Narrowcast Administrator), unique Subscription IDs are automatically created. Conversely, if an external system is always used to created Subscription IDs, the only requirement is that the Subscription IDs must be unique integers. However, if both Narrowcast Server and an external system, such as the Narrowcast Administrator and some external application, are used to create new subscriptions, you must take care to ensure that both systems create Subscriptions IDs such that the IDs are guaranteed to be unique. In accomplishing this, it is important to note that Narrowcast Server leverages the ability of different databases to ensure that IDs are unique. As a result, the method used by Narrowcast Server to create Subscription IDs varies according to the database platform used as the Subscription Book Repository. As long as the external system uses a compatible method to create Subscription IDs and there is not conflict in writing to the same table, it is possible to have both systems successfully write to the same table and create a unique set of Subscription IDs. An external application can be used to synchronize Subscription IDs between the Subscription Book Repository and the data warehouse: This method relies on some external method of updating the Subscription IDs in the data warehouse or the Subscription Book Repository to ensure that the Subscription IDs used in both locations are synchronized. If the Subscription Portal is installed, the Subscription Portal API can be used to return subscription ID using the getSubscription method in the ISubscription interface. This method allows Subscription ID to be returned without querying the data warehouse.
140
Subscription ID requirements
The Subscription ID is significant among all other subscription information because the Subscription ID is the attribute form that is used to identify the list of subscriptions when dynamic subscriptions are used. In addition, the Subscription ID is significant because this attribute form may also be used to join subscription information in the data warehouse with subscription information in the Subscription Book. (For example, Subscription ID and physical address might be returned from the data warehouse, while personalization and Device ID might be returned from the Subscription Book.) As a result of these two roles, the requirements for Subscription IDs vary according to how the Subscription ID is used. If the Subscription ID is used to join information in the data warehouse with information in the Subscription Book, subscription IDs from the data warehouse must correspond to Subscription IDs in the Subscription Book. It is important to note that Subscription IDs stored in the Subscription Book Repository are always integers that start at a very large negative number and are incremented by one for each subscription. Thus, it is not possible to join data from the data warehouse to information in Subscription Book Repository unless one of the following is true: The Subscription Portal is used to create the Subscription IDs in the data warehouse. This is discussed further in chapter 9, Advanced Subscription Portal Configuration. The data warehouse is integrated with the Subscription Book Repository such that the same Subscription IDs are shared between the data warehouse and the Subscription Book Repository. Some external system is used to synchronize Subscription IDs between the Subscription Book Repository and the data warehouse. However, if all subscription information is returned from the data warehouse and no information is stored in the Subscription Book, then Subscription IDs in the data warehouse does not need to correspond to Subscription IDs in the Subscription Book. In this case, the only requirements on Subscription ID are that it is an integer value which is unique for each subscription.
C O N C E P T S
141
C O N C E P T S
This is a very commonly used scenario and is the scenario used in most basic use cases. Reports are personalized using prompts and subscription information is stored in the Subscription Book. No subscription information object is used and subscription information including personalization information is stored in the Subscription Book and returned in a static subscription set. One or more content information objects executed using personalized report execution are then personalized using the personalization information stored in the Subscription Book Repository. Since information objects executed using personalized report execution are personalized by answering one or more prompts, the Subscription Book Repository is ideally suited to store answers to prompts in XML format.
142
No subscription information object is required. Multiple content information objects executed in personalized report execution are personalized using the personalization contained in Subscription Book Repository. The following image demonstrates the proper report design.
One or more prompts Content for each report. Content for each report. Note: no attributes are on the page axis and report contains one or more prompts
C O N C E P T S
This is a commonly used scenario where subscription information including personalization is stored in the data warehouse. A subscription information object is used to return subscription information including subscription ID and personalization information. One or more content information objects executed using personalized page execution are then personalized using the personalization information returned in the subscription information object. This scenario allows subscription, personalization, and content information stored in the data warehouse to be used together.
Required reports and report design
A subscription information object returns subscription information including Subscription ID and user information including personalization. One or more content information objects executed using personalized page execution are then personalized using the personalization contained in the subscription information object. The subscription information object can either be designed to retrieve information directly from a MicroStrategy project or it can use a report to provide subscription information. If subscription information is gathered directly from the MicroStrategy project, there are no report design requirements. If a report is used to deliver subscription information, the first attribute form on the page axis must provide the Subscription ID and all other attributes that provide subscription information must also be on the page axis. The remainder of
Designing applications to support dynamic subscriptions and personalized page execution 143
C O N C E P T S
the report other than the page axis content is ignored. The content information object must contain the slicing attribute as the first attribute on the page axis. Each page on the report is used as a page of content for a group of subscribers. The following image demonstrates proper report design.
Subscription Information Content*
Subscription ID Other subscription information (physical address, etc.) Attribute forms used for personalization Note: the first attribute form on the page axis must be Subscription ID.
Note: the first attribute on the page axis is used to slice the Content Information Objects.
Note the following: The figure shows a subscription information object that gathers data from a report, but the subscription information can also be gathered directly from the project. For a MicroStrategy information object, if subscription information is gathered directly from the MicroStrategy project, and a filter is used to constrain the subscriptions returned, the filter should be designed so that the dimensionality of the report does not change the results returned. For example, if a metric qualification is applied which changes results depending on which attribute is on the template, unexpected results may result. If you are unsure what results will be returned, it is advisable to create a report in MicroStrategy Desktop to return subscription information.
144
C O N C E P T S
This scenario is used less commonly then either personalized report execution with static subscriptions or personalized page execution with dynamic subscriptions, but is still a viable use case. This lower applicability is due to the fact that personalization is stored in the Subscription Book as attribute values. In this scenario, subscription information including personalization is stored in the Subscription Book Repository. No subscription information object is used and subscription information is returned in a static subscription set. One or more content information objects executed using personalized page execution are personalized using the personalization information stored in the Subscription Book Repository. Since information objects executed using personalized page execution are personalized by selecting an attribute value, the personalization is stored as an attribute value.
Required reports and report design
No subscription information object is required. One or more content information objects executed using personalized page execution are personalized using an attribute value stored in the Subscription Book Repository. The following image demonstrates the proper report design.
Content Information Objects
Note: the first attribute on the page axis is used to slice the Content Information Objects.
Automatic segmentation must be disabled in content information objects for the MicroStrategy information source unless Subscription IDs returned from the project match Subscription IDs in the Subscription Book.
145
C O N C E P T S
This scenario is used less commonly than the other scenarios since personalization for prompted reports is not typically stored in the data warehouse. In this scenario, subscription information including personalization is stored in the data warehouse. A subscription information object is used to return subscription information including subscription ID and personalization information. One or more content information objects executed using personalized report execution are then personalized using the personalization information returned in the subscription information object. Since information objects executed using personalized report execution are personalized by answering one or more prompts, the personalization stored in the data warehouse must stored as prompts answers in XML format. It is also important to note that the use of Intelligence Server reports to return subscription information restricts the length of the XML string returned. As a result, when this method is used, you must take care to ensure that all XML stored in the data warehouse is less than the maximum allowable length. Thus, since personalization must be stored in a short XML format in a data warehouse, this scenario often has limited practical use.
Required reports and report design
A subscription information object returns subscription information including subscription ID and user information including personalization. Multiple content information objects executed in personalized report execution are then personalized using the personalization contained in the subscription information object. The personalization returned by the subscription information object is in XML format. The following image demonstrates the proper report design.
146
C O N C E P T S
The figure shows a subscription information object that gathers data from a report, but the subscription information could also be gathered directly from the MicroStrategy project.
147
C O N C E P T S
Does subscription information already exist and how flexible is the current or future schema? Will end users create and maintain their subscription information, will an administrator create and maintain subscription information, or will some other system create and maintain subscription information? Do reports need to be personalized using prompt objects or will attribute selection satisfy the application requirements?
Determine how MicroStrategy report and Narrowcast Server application design can support desired application goals determined in step 1. For information about the various scenarios to design applications to support either dynamic subscription sets, personalized page execution, or both, see Designing applications to support dynamic subscriptions and personalized page execution. Relevant questions an application designer should ask include:
2.
What reports are required? How many content information objects and/or subscription information objects will be used? How is personalization stored?
3. For a MicroStrategy project, if dynamic subscriptions are used, define the MicroStrategy information source to support dynamic subscriptions and either select available subscription information or define a report that contains the desired attributes on the page axis. For information about the various scenarios to design applications to support dynamic subscription sets, see Designing applications to support dynamic subscriptions and personalized page execution. 4. In MicroStrategy Desktop, design reports to be used for content information objects. For information about the various scenarios to design applications to support either dynamic subscription sets, personalized page execution, or both, see Designing applications to support dynamic subscriptions and personalized page execution. 5.
6. If dynamic subscriptions are used, create subscription information objects, select desired subscription information, and select content information objects created in step 5 to be personalized. 7. Create a dynamic subscription set or a static subscription set. If a dynamic subscription set is used, select the subscription information object created in step 6.
148
8. Add content information objects to documents within a service and add the subscription set to the same service.
C O N C E P T S
1.
Choose New Fact. Choose the LU_CUSTOMER table or the lookup table where your slicing attribute ID exists. Drag Customer_ID into the Fact Expression window. Set Mapping method to Manual. Click OK. Choose only the tables from which the fact will be used in ranking. This is likely the table with the most subscriber information, such as LU_CUSTOMER. Click Save and Close and name the fact Subscription_ID.
Advanced segmentation control techniques 149
C O N C E P T S
2. Create a metric of the Subscription_ID fact so that the fact can be manipulated mathematically.
Choose New Metric. Drag Max from the Functions and Operators\Functions\Basic Functions folder into the metric definition window. Drag the Subscription_ID fact into the parentheses of the Max. Validate. Your metric formula should be Max(Subscription_ID). Click Save and Close and name the metric Metric1.
3. Create a rank metric to turn the Subscription ID values into sequential integers.
Choose New Metric. Drag Rank from the Functions and Operators\Functions\Rank and Ntile Functions folder into the metric definition window. Drag Metric1 into the parentheses of the Rank. Validate. Your metric formula should be Rank(Metric1). Click the Subtotals tab. Change Allow Smart Totals to Yes. Click Save and Close and name the metric Metric2.
4. Create the Report Limit metric. This metric returns the first subscription of each segment by calculating the Subscription IDs for which rank number divided by the segment size has a remainder of 1.
The modulus equals zero if the Segment Size is 1, and equals 1 for every other number.
Choose New Prompt. Choose Value Prompt, then select Numeric Prompt. Name the prompt Prompt-Segment Size and click Finish. Click Save and Close. Choose New Metric. Drag Mod from the Functions and Operators\Plug-In Packages\Math Functions folder into the metric definition window. Drag Metric2 into the parentheses of Mod. Insert a comma after Metric2.
150
Drag Prompt-Segment Size after the comma. Validate. Your metric formula should be Mod(Metric2,?PromptSegmentSize). Click the Subtotals tab. Change Allow Smart Totals to Yes. Click Save and Close and name the metric Metric3. Choose New Metric. Drag Mod from the Functions and Operators\Plug-In Packages\Math Functions folder into the metric definition window. Drag Prompt-Segment Size into the parentheses of Mod. Insert +1 and then a comma. Drag the same prompt into the parentheses after the comma. Validate. Your metric formula should be Mod(?PromptSegmentSize+1,?Prompt-SegmentSize). Click Save and Close and name the metric Metric4.
C O N C E P T S
5. Create a report that calculates the segment boundaries by returning every Xth Customer ID, where X is the answer to the prompt for segment size. These are passed to the subscription/content information object at run time. For a different project, you would use whichever attribute you are using that includes the Subscription ID form instead of the Customer attribute.
Choose New Report. Drag Customer onto the row axis of the template. You must configure this attribute to show the ID form first. Drag Metric2 onto the column axis. Select Report Data Options from the Data menu. Select the Report Limit category. Click Modify. Drag Metric3 into the limit definition window. Select the parameters as follows: Function: Metric Value Operator: Exactly Value: Metric
151
C O N C E P T S
Drag Metric4 into the box next to the Metric selection. Click OK, then Save and Close. Select the Evaluation Order category. Clear the Show consolidationscheck box. Set Metric2 to be evaluated first and Report Limit to be evaluated second. Click OK. Click Save and Close and name the report Segmentation Boundaries. Filter on subscriptions to a particular service. Create a new filter which limits the subscribers you want, for example, Sub Set = X, Customer(ID) < 10 (for testing), MetricX>20. Add the filter to the Segmentation Boundaries report.
6.
Update the project schema or the fact you created will not be recognized and report execution will fail.
8. Run the report to verify that it functions correctly. When prompted, enter a reasonable segment size (100 is the default for Services). Ensure that the report returns a table of data such as the following (segment size of 50 is shown):
1 51 101 151
7.
It is important to note that this method of segmentation is designed to handle complex cases such as: When the segment size varies from one execution to the next (for example, if a subscription information object is shared by two services with different segment sizes) When the Subscription Set returned varies from one execution to the next When the segment boundaries cannot be pre-calculated in the data warehouse In some cases, however, it might be preferable to define a different method for segmenting subscriptions. For example, this might be useful to increase performance by using a simpler, less flexible method of segmentation. Consider the following cases in which simplified application requirements allow a simplified method of segmentation to be employed.
152
If the segment size is known to be constant, the segment size might be hard coded instead of using a prompt object in the ranking metric filter. If the subscription set boundaries can be precalculated, such as with a stored procedure or using pre-SQL, a report can be run against the precalculated values to return the segment boundaries. If the Subscription Set ID values are uniformly distributed across the range of possible values, such as they are sequential, a simpler report can be used. If the Subscription Set does not change from one execution to the next, the boundaries can be hard coded in the data warehouse and a report can be run against the hard coded values to retrieve the segment boundaries. They could also be returned by another information source module that reads the boundaries from a file, database query, and so on. Although segment information objects can be provided from any information source module that supports segment information objects, segment information objects for the MicroStrategy Information Source Module must meet the following requirements: The segment information object must use a report that returns the beginning subscriptions for each segment. These subscriptions define the segment boundaries. The report must have an integer attribute form on the rows, in sorted order, in which each element corresponds to the lower boundary of a segment. Any other information on the report, such as a metric or another attribute, does not cause a problem but is ignored. For example, if the segments can be represented by the Subscription ID values (1-114, 115-243, and 244555), the report should return the following:
Subscription ID 1 115 244
C O N C E P T S
One way to speed up the segmentation process is to precreate the segment boundary data in the data warehouse. One way to accomplish this is to use pre-SQL on the data that is the source of the subscription set. For example, the following sequence of SQL statements can be used on SQL Server 7 or SQL Server 2000 to store every 100th Subscription ID value into a working table, which can then be read by a segment information object report to return segment boundaries.
CREATE TABLE WORK_TABLE1 ( COUNTER_COLUMN INT IDENTITY (1,1) NOT NULL, SUBSCRIPTION_ID INT NOT NULL, CONSTRAINT CTR_PK PRIMARY KEY(COUNTER_COLUMN) )
153
C O N C E P T S
INSERT INTO WORK_TABLE1(SUBSCRIPTION_ID) SELECT SUBSCRIPTION_ID FROM (source of subscription data to be used by subscription information object) ... GROUP BY SUBSCRIPTION_ID{THIS ENSURES THAT THE SUBSCRIPTION IDS ARE SORTED) CREATE TABLE SEGMENT_TABLE ( SUBSCRIPTION_ID INT NOT NULL, CONSTRAINT SUB_PK PRIMARY KEY(SUBSCRIPTION_ID) )
154
C H A PT E R
7.
C O N C E P T S
MicroStrategy Narrowcast Server provides a Subscription Portal that allows end users to control the content they receive by specifying what information is relevant for them. Users can specify the frequency, schedule, delivery device, and personalization of information services, all from a Web-based portal. In this way, Narrowcast Server allows individuals to ensure that they receive one-to-one, personalized information where and when it is most useful. Using Subscription Portal, users can do the following: Subscribe to and view services, service descriptions, and the most recent modification dates Modify subscriptions Enter new device addresses as needed Apply changes to schedules for each service Save personalization settings for future use. Create and modify their preferences Create, edit, and delete login IDs, passwords, and device addresses Specify the appropriate default languages, time zones, and currency settings Access to information sources is controlled at the Subscription Portal where users are prompted to authenticate themselves for appropriate information access. Both the MicroStrategy Tutorial for Narrowcast Server configuration process and the System Configuration Wizard can configure a default Subscription Portal site. This site uses the virtual directory name provided during product installation. The System Configuration Wizard and the Tutorial configuration process add a link to this site to the Start menu when the default site is configured. This site provides a functional Subscription Portal site with which you can publish services and view content or subscribe to and view content from the demonstration services. Once you are ready to do more advanced site configuration such as specify different channels, you can use the Portal Administrator Wizard.
155
C O N C E P T S
The Portal Administrator Wizard is the tool that provides full control over the Subscription Portal configuration and allows you to create site definitions, publish services and device types, and specify information source properties and default portal preferences. The following diagram illustrates the four panes available in the Portal Administrator Wizard and the tasks that can be performed in each pane.
S ystem C onfiguration S ite M anagem ent
D efine database connections S pecify the nam e of the server running the S equeLink service S pecify the location of the P ortal R epository
S ite Preferences
D efine channels S pecify device types S elect default devices S elect device settings C hoose inform ation source settings C onfigure other site properties
S ervices C onfiguration
P ick a service C onfigure page-by questions for static subscription sets C onfigure page-by questions for dynam ic subscription sets S et storage m appings for dynam ic subscription sets
Before you begin, you should be familiar with these basic concepts: Subscription Portal system Database connections Site definition Services configuration
156
C O N C E P T S
Portal Repository
A Portal Repository is a specific set of tables defined by the Subscription Portal, located in a database, and identified by a certain table prefix. The tables for each Portal Repository can be given a unique table prefix, so that multiple Portal Repositories can exist in the same physical database instance. Each Portal Repository can store the definitions of one or more sites. Multiple Subscription Portal systems can also share the same set of Portal Repository tables.
Table prefixes for the Portal Repository
When you select the database connection that corresponds to the database you will use for the Portal Repository, you can enter a table prefix that will be used to prefix the names of all the Portal Repository tables in this database. This is useful if you want to have multiple independent Portal Repositories in the same physical database. If you are selecting a database in which Portal Repository tables have already been created and you want to reuse those tables, enter the same table prefix as the existing tables. If you enter a table prefix for which Portal Repositories tables have not been created, Subscription Portal creates those tables in the selected database.
Database connections
The first time you configure Subscription Portal, you must create a database connection for each of the databases to which you will connect. Subscription Portal connects to the following information repositories: Portal Repository Object Repository Subscription Book Repository These information repositories, which can reside in the same database or separate databases, are described in detail in their corresponding sections.
Database connections
157
C O N C E P T S
When you create a new database connection, the information entered is the same for all the aforementioned repositories: A name by which you want to refer to the connection you are creating The type of the database (SQL Server, Oracle, DB2, or Teradata) The name of the machine on which SequeLink is installed and running The name of the ODBC DSN on the SequeLink machine that corresponds to the database to which you want to connect The login ID and password that the Subscription Portal should use when it accesses that database For steps to add new database connections in Subscription Portal, see Adding and Editing Database Connections in Subscription Portal.
Table prefixes
Table prefixes are useful if you have multiple independent repositories in the same physical database. If you are selecting a database in which tables have already been created and you want to reuse those tables, be sure to enter the same table prefix as on the existing tables. This is always the case when selecting an Object Repository or a Subscription Book Repository because Subscription Portal does not create those tables. When selecting a Portal Repository, if you enter a table prefix for which tables have never been created, Subscription Portal creates those tables for you in the selected database.
Site definition
A site identifies a set of services that are made available through a portal for access by end users. A site is defined by a connection to a single Object Repository and Subscription Book Repository. In addition, the definition of a site contains a collection of channels plus a set of properties that define certain characteristics of the Subscription Portal. Since each site is associated with a single Object Repository, multiple sites must be created to provide access to services in multiple Object Repositories. The definition of a site and its related channels is stored in a Portal Repository. A site can only be made available to end users through a portal, but multiple portals can provide access to the same site.
158
The properties contained within the site definition include the following: Portal Site name and description Object Repository Subscription Book Repository Channels Device types Devices Device settings Information sources Preferences
C O N C E P T S
Portal
A portal defines the Web location (URL) through which end users access Subscription Portal services and subscriptions. A portal is defined by a Web server virtual directory and provides access to one and only one site. Two or more portals can, however, provide access to the same site. This is most typically done on different Web servers so that clustering can be used to provide increased system performance for a high number of concurrent users. The definition of each portal and which site it accesses are defined and saved in the file system of the machine running the Subscription Portal Web server.
Deleting a Subscription Portal
Deleting a portal means the site is no longer accessible through that virtual directory. It does nothing to the site definition or properties that were configured through the site. The site would still be available for viewing through another portal, once that Subscription Portal has been configured to point to the site definition.
Site definition
159
C O N C E P T S
If you delete a site it does not delete the subscriptions users have created. However, it cuts off access to those subscriptions. End users cannot edit, add, or delete subscriptions from their list of services. Also, any portal using the deleted site definition must be reconfigured to use a different site definition.
Object Repository
The site definition includes the location of the Object Repository. This information repository is created using Narrowcast Administrator and stores services, documents, publications, scheduling information, and device definitions. If you edit the location of the Object Repository, you have redefined the site definition, which means that services might no longer be available. You might be better served to create a new site and point it to a different database connection. The option to change the location of the Object Repository after the site has been defined is most useful if the new repository is an exact copy of the original repository. For additional information about Object Repository properties refer to the About Narrowcast Server System chapter of the Narrowcast System Administrator Guide.
Table prefixes for the Object Repository
When you select the database connection that corresponds to the database you will use for the Object Repository, you can enter a table prefix to prefix the names of all the Object Repository tables in this database. If you used a table prefix when creating the Object Repository tables through Narrowcast Administrator, you must enter that same table prefix here.
160
location of the Subscription Book Repository after the site has been defined is most useful if the new repository is an exact copy of the original repository. For more information on the Subscription Book Repository refer to the Microstrategy Narrowcast Server Achitecture chapter of the Narrowcast Server System Administrator Guide.
Table prefixes for the Subscription Book Repository
C O N C E P T S
When you select the database connection that corresponds to the database you use for the Subscription Book Repository, you can enter a table prefix to prefix the names of all the Subscription Book Repository tables in this database. If you used a table prefix when creating the Subscription Book Repository tables through Narrowcast Administrator, you must enter that same table prefix here.
Channels
A channel is a grouping of services available to end users within the Subscription Portal. Channels are created through the Narrowcast Server Subscription Portal Administrator Wizard and deployed through the Subscription Portal. A channel is defined by a folder of services from an Object Repository. Multiple channels can be defined within one site to group different sets of services. Each channel appears as a tab in the Subscription Portal interface. Each user subscription that is created through the Subscription Portal can be accessed only through the channel through which it was created. A site without at least one channel does not provide any functionality to end users. When a folder is selected in a Narrowcast Server system to define a channel, this selection provides the structure of the channel in terms of what services are available and how these services are arranged in subfolders within the Subscription Portal. Each subfolder under the folder chosen to define the channel appears as a folder in the Subscription Portal and services are arranged within these folders just as they are within Narrowcast Administrator. In other words, the folder structure and service location in Narrowcast Administrator completely controls how services are arranged and grouped within the Subscription Portal. Thus, application design in Narrowcast Administrator should be carefully considered to ensure that services are logically arranged into folders so that the channels and their structure appears as desired in the Subscription Portal.
Site definition
161
C O N C E P T S
When a channel is created it is assigned a unique identification number. If a channel is deleted and then later recreated, it is assigned a different identification number in the Portal Repository database. One result of this is that end users cannot access, change, or delete services to which they have subscribed if the channel is deleted, or deleted and recreated. Publishing a channel consists of selecting a channel folder and entering a channel name and description.
Channel folders
Channel folders are the means by which services are grouped. Services can be published at any level within the folder structure. End users navigate through the Subscription Portal and select channel folders containing the services to which they want to subscribe.
Channel name and description
Once a folder has been selected from the Object Repository, a channel name and description must be entered. The name and description are visible to the end user through the Subscription Portal.
Device types
In addition to defining channels, the portal administrator determines what devices are available to end users when they create addresses. Narrowcast Server can deliver content to a large variety of devices, and each service is designed to deliver content to some subset of these devices such as desktop e-mail clients or wireless devices. Thus, when users create addresses and subscribe to services via the Subscription Portal, they must be allowed to select devices that are supported by the services to which they are subscribing. This is controlled by the portal administrator using device types. A device type is a grouping of devices defined in a Subscription Portal to make it easier for a user to find a certain device. For example, all e-mail devices are in a grouping called E-mail. A device type is defined by selecting one or more folders of devices from the Object Repository. Each service defined in the Object Repository supports a specific list of devices. There is no need to allow users to create addresses using devices that are not supported in any services in your Narrowcast Server system.
162
The device types that Narrowcast Server Subscription Portal defines by default are as follows: Mobile phone Pager E-mail Personal digital assistants Printer File These device types simply organize the devices to be made available to your subscribers. If you do not plan to support any of the devices in a given device type, you can remove that type through the Portal Administrator Wizard. You can also define your own groupings of devices by creating a new device type definition.
Device folders
C O N C E P T S
Devices are created by the system administrator in the Narrowcast Administrator Device Editor and stored in device folders. You can select groupings of devices and make them available to end users by selecting them through the Device Folders page in the Portal Administrator Wizard. The first time you access the Device Folders page it shows the four default device types. You can add additional folders to the available and selected tables by navigating through the folder structure.
Devices
A device is a format for receiving information content sent from Narrowcast Server to the subscriber of a specific service. These formats include settings such as Outlook 98, Outlook 2000, and a specific pager brand and model. New devices can be added to your system using Narrowcast Administrator. Each address that a user creates in the portal is designed for use with only one device. Refer to the Configuring Machines chapter of the Narrowcast Server System Administrator Guide for more information on devices.
Site definition
163
C O N C E P T S
Device settings
Each subscription site can define which device is used as the device to deliver content to the My Reports page and which device is used by default when new addresses are created during subscription creation.
Default device
The default device is used when the Subscription Portal automatically creates addresses. When a new user is created through the portal or when a user creates a subscription, the user can enter an address value directly without selecting a device. Those addresses are created using the device that you select as the default device. Only one device can be selected as a default device.
Portal device
This is a built-in device designed to deliver services to a Web page such as the Subscription Portal Reports page. You should only change this if you have built a customized version of the Web (Portal) information transmission module (ITM). For additional information on ITMs, refer to the Narrowcast Server System Administrator Guide.
Information sources
Each Narrowcast Server system supports a set of information sources. When Narrowcast Server connects to an information source to obtain content information, it uses authentication credentials that are specific to the information source. For example, when connecting to a MicroStrategy project, Narrowcast Server needs a login ID and password for that project. Narrowcast Server allows each user account to specify its own authentication credentials for each information source. If an authentication is specified for a certain user, that authentication is used for all connections to the specified information on behalf of that user. The definition of each information source also includes a default authentication that is used for all connections of any users for which no user-level authentication has been specified.
164
The user-level authentication, if specified, is used at design time. It is also used, if specified, at run time for personalized report execution. However, the default authentication is used at run time for personalized page execution. The default authentication allows the Narrowcast Server to connect to the Intelligence Server and retrieve personalized content for many subscriptions at once by executing a single report. Thus, the Narrowcast Server does not need to execute a duplicate report for each subscriber with the same personalization, which saves time and system resources.
C O N C E P T S
Using the Portal Administrator Wizard, you can specify whether user accounts created through the Subscription Portal interface are allowed to enter their own authentication credentials for each information source, or if the default credentials for that information source should be used instead. For each information source, you can select from the following options: Use Project Credentials Use User Credentials (required) Use User Credentials (optional)
Use Project Credentials
When a new user account is created through the Subscription Portal interface, the user is not prompted to enter authentication credentials for this information source. Instead, all new accounts use the default authentication credentials as specified in the definition of the information source.
Use User Credentials (required)
When a new user account is created through the Subscription Portal interface, the user is required to enter a login ID and password to be used as authentication credentials for this information source. The user must enter valid credentials for connecting to the information source to create the new account.
Use User Credentials (optional)
When a new user account is created through the Subscription Portal interface, the user is prompted to enter a login ID and password to be used as authentication credentials for this information source. If the user chooses to do so, the login ID and password entered must be valid credentials for connecting to the information source. Alternatively, the
Site definition
165
C O N C E P T S
user creating the account can choose to leave the login ID and password blank, in which case the new account uses the default authentication credentials as specified in the definition of the information source.
Preferences
The Preferences feature controls how the default values are set for users of the portal interface. It includes settings for the following: Enabling/disabling creation of new users Selecting default user account expiration settings (Expired users no longer receive messages from the services to which they have subscribed.) Designating default values for DHTML settings Specifying the location of temporary files (Subscription Portal can optionally create temporary files for performance purposes. If these files are needed, you should periodically delete any files that have not been cleaned up automatically. In most cases, temporary files are deleted after a subscription is created. However, if a user cancels before a subscription is complete, these files might not be cleaned up correctly in all cases.) Providing administrative contact information Specifying available and supported user login modes Specifying prompt governing settings Additional information on these settings is included in the Interface section of this book.
Login Mode
The login mode feature allows existing users of MicroStrategy Intelligence Server to use the Subscription Portal interface without creating a new Narrowcast Server user. When this feature is enabled, the Intelligence Server user can log on to the Subscription Portal using the same login method that they use to log on to MicroStrategy Web. The first time a user logs on to Subscription Portal, a Narrowcast Server user is created and the two user accounts are linked together. This happens transparently to the user, so the user is never aware of the fact that there are technically two user definitions. First you must enable Intelligence Server authentication (ISA). You can enable either the standard ISA, Intelligence Server-NT authentication, both, or neither. (If neither is enabled, Subscription Portal users need to log on using their Narrowcast Server login ID and password.) If either of the
166 Chapter 7 User Self Subscription
two ISA options is enabled, you need to enter the name of the MicroStrategy Intelligence Server to be used for user authentication. Any combination of the three login options (Narrowcast Server Normal, MicroStrategy Intelligence Server Normal, or MicroStrategy Intelligence Server NT) can be enabled together or independently. Depending on which of the three login modes are enabled, the Subscription Portal login page is modified to reflect the available options. If either Narrowcast Server authentication or MicroStrategy Intelligence Server Normal, or both are enabled, the login page shows text boxes for login ID and password, and a login button. If NT authentication is enabled, a link is displayed along with the text boxes and the login button. For example, the user types in a login ID and password and clicks Login. If MicroStrategy Intelligence Server Normal is enabled, the Subscription Portal passes the credentials that the user entered to the MicroStrategy Intelligence Server for authentication. If the Intelligence Server authenticates this user, the user is logged on to the Subscription Portal and a new Narrowcast Server user is created. If the authentication on the Intelligence Server fails (for example, the login ID that was entered is not a recognized login ID on the Intelligence Server), or if Narrowcast Server login mode is enabled, the Subscription Portal attempts to log the user on to the portal directly using the credentials entered. If that login fails, or if normal Narrowcast Server login mode is disabled, the user sees a message indicating that the login attempt failed. If MicroStrategy Intelligence Server Normal mode is not enabled, the Subscription Portal attempts to log the user on to the portal directly using the credentials entered. Alternatively, the option to log on using MicroStrategy Intelligence Server NT is enabled, and the user clicks on the option to log on using NT, then the Subscription Portal requests the Intelligence Server to authenticate the user using the current NT credentials (see the MicroStrategy System Administration Guide for information about how to configure NT Authentication mode using Intelligence Server and MicroStrategy Web.) If the Intelligence Server authenticates this user, the user is logged on to the Subscription Portal and a new Narrowcast Server user is created. If the authentication on the Intelligence Server fails (for example, the NT user does not correspond to any recognized Intelligence Server user), the user sees a message indicating that the log on attempt failed.
C O N C E P T S
Site definition
167
C O N C E P T S
Note the following: Intelligence Server authentication only works for Normal login mode and NT authentication, not for LDAP authentication, database authentication, or Guest user login modes. When using Intelligence Server authentication, the Allow Users to Create New Accounts option in the Portal Administrator Wizard works as follows: If normal Narrowcast Server login is enabled, this setting controls whether or not the user sees a link to Create New Account on the login page. If the users choose this option, they create a Narrowcast Server user. Whether normal Narrowcast Server login is enabled or not, if either of the Intelligence Server authentication options are enabled, this setting controls whether or not a new Narrowcast Server user account is created if one does not already exist for the specified Intelligence Server user. For example, if you log on to the Subscription Portal using your Intelligence Server login ID and password, the Subscription Portal validates your credentials through Intelligence Server, then Subscription Portal attempts to connect you to the Subscription Portal, but this fails since no corresponding Narrowcast Server user account exists. If this setting is ON, Subscription Portal automatically creates a new Narrowcast Server user account for you and you are connected to the Subscription Portal. But if this setting is Off, you are denied access to the Subscription Portal.
168
Services configuration
The diagram below illustrates the steps necessary to configure services with page-by questions.
Configure page-by questions for static subscription sets
C O N C E P T S
Pick a service
Before you begin configuring services with page-by questions it is important that you have a strong understanding of personalized page execution (page-by) question objects and dynamic subscription sets. You should also review the Advanced Subscription Portal Configuration chapter for examples of advanced configurations and when you would use the Services Configuration area of the Portal Administrator Wizard. It is not necessary to configure all services through the Services Configuration area of the Portal Administrator Wizard. Only those services using either personalized page execution or dynamic subscription sets need to be configured using this interface.
Services configuration
169
C O N C E P T S
During subscription creation, a personalization prompt object can be on the same attribute as the one in the page-by area of the content information object report. This allows the user to directly select which page of data to receive. The preference object for the page-by question is the ID of the attribute element that the user selects. You can also store a users answers to a personalization prompt object in a warehouse table. The preference object for the page-by question is an ID that maps to the user's answers for the subscription. The content information object will page by an attribute that corresponds to the column in the warehouse that contains the ID of the answer object. In either case, the preference object for the page-by question is an attribute element ID that corresponds to the same attribute used in the page-by area of the content information object.
Configuration through the Portal Administrator Wizard
For each service that uses page-by questions, you must indicate to the Subscription Portal the value to use as the preference object for each pageby question in the service.Using the Services Configuration area of the Portal Administrator Wizard, you can indicate the values to be used through the settings described below.
Answer to another question
The most typical setting to use is Answer to another question. Using this setting, you can select a question object, called an alternate question, that prompts the end user when a subscription is created. This alternate question collects the user's personalization for this subscription. You can select how and where the answer to that question is stored. This choice also determines whether the value that is used as the preference object for the page-by question is the ID of the attribute element that the user selects or the ID that references the answer object as stored in the warehouse. Subscription Book Repository: If you choose the option to store the answer to the alternate question in the Subscription Book Repository (SBR), the ID of the attribute element that the user selects in the prompt is written in the subscription as the preference object for the page-by question. This value then determines which page of data the subscription receives.
170
This option is only appropriate when the personalization for the content information object is on a single attribute and the user is restricted to selecting a single attribute element. The attribute on which the user is prompted should be the same attribute that is used in the page-by area of the content information object. To allow the user to personalize on multiple attributes or to select more than one attribute element, you must use the storage mapping approach described below. The SBR storage option is only available in two situations. First, the alternate question that is selected must contain only a single prompt object, which is an attribute element prompt, and the prompt definition is not set to require the selection of more than one element. Second, it could contain a single, constant value prompt. Additionally, user preferences are disabled for this question, so users are not able to save and reuse their answers to this question. When the SBR storage option is used with a dynamic subscription set, it does not mean that the user's answer is only stored in the SBR. The ID of the attribute element that the user selects can also be written to the warehouse when defining the mapping of the subscription information. To understand more about dynmanic subscription sets, see Dynamic subscription sets. For examples about using this option, see Scenario 1: Basic personalized page execution in the Advanced Subscription Portal Configuration chapter. Use a Storage Mapping: If you choose to store the answer to the prompt question in the warehouse using a storage mapping, the actual value or values that the user selects can be written to the warehouse. The ID given to that answer is written in the subscription as the answer to the page-by question. The storage mapping is defined to write to the same warehouse that contains the information content for the content information object. The ID of the answer object that corresponds to the users selections for each subscription is used to select the page of data that the subscription receives. The attribute on which the content information object is paged by should correspond to the column in the warehouse to which the answer ID is written. Using this approach, you can do the following:
C O N C E P T S
Personalize multiple attributes at the same time Select more than one attribute element from each attribute Personalize to include constant values such as metric qualifications
The question object that is selected can contain any number of prompt objects, but each must be either an attribute element prompt or a constant value prompt.
Services configuration
171
C O N C E P T S
User preferences are enabled for questions that use storage mappings, so user answers are reusable. If the user picks an existing answer, or preference, to answer the prompt for a subscription, nothing new is written to the warehouse. The ID of the selected answer object is written as the answer to the page-by question in that subscription. The subscription ID is typically not included in the mapping of a question to the warehouse table, but if it is included, user preferences functionality is disabled for that question. For an example using this option, see Scenario 3: Page-by Answer ID in chapter 9, Advanced Subscription Portal Configuration.
Subscription ID
When Subscription ID is selected, the ID of the subscription is written as the preference object for the page-by question. Typically, this option is used in conjunction with the additional questions option. One or more additional questions are selected, and the storage for each is specified in the same manner as with alternate questions. For more detail, see Additional questions below. For an example using this option and a static subscription set, see Scenario 3: Page-by Answer ID in chapter 9, Advanced Subscription Portal Configuration. For an example using this option and a dynamic subscription set, see Scenario 5: Personalized dynamic subscription in chapter 9, Advanced Subscription Portal Configuration.
User ID
When User ID is selected, the ID of the user who is creating the subscription is written as the preference object for the page-by question. This option is typically used only when the warehouse already contains relationship information between the ID of the user and the personalization content that this user should receive.
Address ID
When Address ID is selected, the ID of the address that is selected for delivery of the subscription is written as the preference object for the pageby question. This option is typically used only when the warehouse already contains relationship information between the ID of each of the user's addresses and the personalization content that this user should receive when subscribing to that address.
Additional questions
This option is most commonly used in conjunction with the Subscription ID setting for static subscription sets. It is also used with dynamic subscription sets. The same restrictions on the question objects and the storage locations apply here as with alternate questions.
172 Chapter 7 User Self Subscription
Subscription Book Repository: When used with static subscription sets, this option is generally not selected, since without writing the personalization information to the warehouse, the personalization cannot be included in the content information object. However, this option can be used with dynamic subscription sets, because in that case the answer value can also be written to the warehouse as part of the subscription set mapping. The dynamic subscription set approach is typically used when the user's personalization value is stored in the same warehouse table as the subscription information. This option is not possible when using a storage mapping. Choosing the Subscription Book Repository (SBR) option in this case is the equivalent of do not write anything to the warehouse specifically for this question, but save the answer for me so that I can use it as part of the subscription information when the subscription gets written to the warehouse. Use a Storage Mapping:
C O N C E P T S
Static subscription sets: This option is commonly used with static subscription sets when the answer to the page-by question is set to the Subscription ID. In this case, the Subscription ID is written to the warehouse table and user preferences functionality is disabled, since the preference becomes subscription-specific. The attribute on which the content information object is paged by then corresponds to the column in the warehouse to which the Subscription ID is written. Multiple additional questions can be added to the same service for use in this manner, even if there is only one page-by question. For an example using this option and a static subscription set, see Scenario 3: Page-by Answer ID in chapter 9, Advanced Subscription Portal Configuration.
Dynamic subscription sets: This option is sometimes used in conjunction with dynamic subscription sets to allow the user to enter additional personalization information that is written to the warehouse. The information can then be used as part of the subscription information object or the content information object. This option is employed instead of SBR when the personalization information must be written to a table other than the subscription information, the user selects multiple attribute elements, the user enters a constant value, or if user preferences are used. For an example using this option and a dynamic subscription set, see Scenario 5: Personalized dynamic subscription in chapter 9, Advanced Subscription Portal Configuration.
Services configuration
173
C O N C E P T S
For the Subscription Portal to create a subscription in a dynamic subscription set, the Subscription Portal must write subscription information to the warehouse. In general, at least the Subscription ID must be written to the warehouse. The exact information that the Subscription Portal must write depends on how the dynamic subscription set has been defined in Narrowcast Administrator. For each service that uses a dynamic subscription set, the Subscription Portal administrator must define which subscription information is written to the warehouse and to which columns and tables this information is written. The Services Configuration area of the Portal Administrator Wizard is used to configure this information. The first step of configuring a dynamic subscription set through the Subscription Portal is to configure any page-by questions that are used in the service. This configuration is described in Personalized page execution.
174
The next step is to define how and where the subscription information for the current dynamic subscription set is written to the warehouse. As mentioned before, the exact information that needs to be written to the warehouse depends on how the dynamic subscription set is defined. The information that the Subscription Portal can write to the warehouse for each subscription includes the standard subscription fields, other fields from the MSTRSubscriptions table in the SBR, and the answer value or answer for each alternate or additional question in the service. The standard subscription fields are: SUBSCRIPTION_ID: Integer ID used to uniquely identify a subscription. This value is used when the Subscription ID is used as the answer to a page-by question. This field references an object in the SBR. USER_ID: Globally unique identifier (GUID) used to identify the user to whom this subscription belongs. This field references an object in the SBR. ADDRESS_ID: GUID used to identify the address to be used for this subscription. This field references an object in the SBR. The remaining fields from the MSTRSubscriptions table in the Subscription Book Repository, which reference an object in the Object Repository unless otherwise noted, are: CREATED_BY: Narrowcast Server account that created this subscription. This field is set to SUBSCRIPTIONS_PORTAL if it was created by the Subscription Portal. CREATED_DATE: Time stamp indicating when the subscription was created. EXPIR_DATE: Time stamp indicating when the subscription expires. LAST_ACC_DATE: Time stamp indicating the last time this subscription was retrieved in a subscription set resolution. LAST_MOD_BY: Narrowcast Server account that last modified this subscription. This field is set to SUBSCRIPTIONS_PORTAL if it was last modified by the Subscription Portal. LAST_MOD_DATE: Time stamp indicating when the subscription was last modified. STATUS: Status, either valid or invalid, of this subscription. SUB_ACCOUNT_ID: GUID used to identify an external account ID. This field currently is not used by the Subscription Portal. SUB_GUID: Alternate ID (GUID) used to identify a subscription internally.
C O N C E P T S
Services configuration
175
C O N C E P T S
SUB_SET_ID: GUID used to identify the subscription set to which this subscription belongs. TRANSPROPS_ID: GUID used to identify the transmission properties object to be used for this subscription. This field references an object in the SBR. Finally, if an alternate or additional question was defined to be stored using the SBR option, the ID of the attribute element that the user selected can be written to the warehouse as part of the subscription information. If the question was stored in the warehouse using a question storage mapping, the ID of the answer object that corresponds to the user's selections can be written to the warehouse as part of the subscription information. For examples using these options, see Scenario 4: Non-personalized dynamic subscription and Scenario 5: Personalized dynamic subscription in chapter 9, Advanced Subscription Portal Configuration.
176
C H A PT E R
C O N C E P T S
Narrowcast Server provides the ability to support a diverse population of users such as users in different languages and users who use different devices, such as e-mail clients and cell phones. These capabilities are enabled through the use of devices and locales. Devices and locales are discussed in greater detail in the following sections.
177
C O N C E P T S
address device matches one of the devices supported by the publication. Each device then controls the formatting and transmission of content that is delivered to subscriptions that use this device. New devices can be created by right-clicking the Devices folder under Administration. For more information on devices, see the Narrowcast Server System Administrator Guide. In addition, the devices supported by a particular delivery method within a service can be edited within the Service Wizard on the content page for each delivery method. Narrowcast Server provides a wide variety of devices out of the box. Additional devices can be imported by right-clicking the Devices folder and selecting Import Devices. You are then asked to select a device file (.dvc). This can be helpful, for example, during upgrade if all desired SMTP devices do not exist under the desired information transmitter. It can also be helpful if subsequent device fixes of device sets are released by MicroStrategy and you want to add these to your system. For more information on how this functionality can be helpful when upgrading from MicroStrategy Broadcaster, see the Narrowcast Server Upgrade Guide.
Large numbers of devices for an information transmitter can impact the speed of some user interfaces such as the Service Editor and Publication Wizard.
The Service Wizard should support most of your needs when creating services to support different devices. The one limitation is that you can only create one publication per delivery method. For example, you cannot create one publication for Microsoft clients and a second publication for Internet-based clients and use the same information transmitter. If you need to implement this type of functionality, you can either use the Service Editor, which can add multiple publications for the same information transmitter, or you can create multiple information transmitters and create the appropriate devices for each information transmitter.
178
Overview
Each user specifies a locale for which the user wants to receive content. This is done through the Subscription Portal when users subscribe themselves or it can be set in an advanced options tab in the User Properties Editor when an administrator controls users and subscriptions. Additional steps may be necessary to set up language support. See the steps below for details required to send content in multiple languages to different users. When a publication is created, either using the Service Wizard or using the Publication Wizard, a specific locale is chosen. This is called the selection locale. Users are then matched to publications based on their chosen locale. In addition, each document is created to support one locale. This is called the execution locale and is set in the Properties dialog box for the document. The execution locale controls how information sources, document formatters, and information transmitters gather, format, and deliver content for this document. Thus, if one document is created for the English execution locale and a second document is created for a French execution locale, information sources can retrieve content in the correct language and character set and format numbers and dates according to the appropriate regional characteristics for each document. Note that the MicroStrategy information source supports locales, but it is up to the MicroStrategy Desktop administrator to ensure that content in the appropriate languages is available. Numbers and dates are formatted correctly automatically. You must add appropriate static content for each language in documents. As a result, locales typically require the use of multiple publications (one for each locale) for the same information transmitter. This type of application is best accomplished through the use of the Service Editor since the Service Wizard can only create one publication per information transmitter. For more information on using the Service Editor, see Service Editor.
C O N C E P T S
Locale concepts
The following concepts related to locales are used in Narrowcast Server: Locale (administrative object): defined by the System Administrator to specify how information should be retrieved, formatted, and transmitted for a particular region. Selection locale for a publication (administrative setting): locale selected within a service or publication to determine which content is delivered to users from a service. If the users selected locale matches the selection locale for the publication, the user receives that localized content.
179
C O N C E P T S
User locale (locale selected by user): locale chosen by end users to indicate regional preference.
If the users selected locale matches the selection locale for a publication, the user receives that localized content. If the user's selected locale matches the locale preferences in Subscription Portal, the date is displayed in correct format during execution of a service.
Execution locale (administrative setting): locale selected in a document to determine which locale should be used during service execution (content retrieval, document formatting, and delivery).
Locale processes
Locales are used in two processes within Narrowcast Server: Selection determines who receives what content. The Application Designer designs one service with multiple sets of content defined for different sets of users with different regional preferences. If the selection locale for a publication in the service definition matches the user locale, the users receive that content. Execution specifies how localized content is retrieved, formatted, and delivered. The execution locale in a document refers to the locale administrative object, which controls how information sources, document formatters, information transmitters, and compression (zip) processes handle regional characteristics.
Using locales
The following steps illustrate how locales can be configured and how they work with respect to multiple languages and locales.
1.
Create two locales using the Locale Editor, one for English (US) and one for French.
2. For each locale, define the appropriate available settings for information sources, document formatters, information transmitters, and compression to control retrieval, formatting, and delivery.
For a MicroStrategy information source, choose the language to be used by the MicroStrategy Intelligence Server (for example, English (US) or French). For the E-mail or Wireless SMTP Information Transmitter, choose the character set to use for delivery (for example, US ASCII or Western (ISO-8859-1)).
180
For some information sources, document formatters, and information transmitters, settings are not available.
Before executing the service, select the required language in Subscription Portal and in the language settings of the system to display the correct date. For example, to display correct date format for a French user, do the following: In the Subscription Portal, click Preferences. Select French from the Locale drop-down list in the User Options area. In the Regional and Language settings of the Control Panel, select French from the drop-down list.
C O N C E P T S
In the service (using the Service Wizard or the Publication Wizard), create two sets of content (that is, two publications) for two groups of users: English and French. Choose a selection locale for each publication to match the locales defined above. When users select French or English, they receive the appropriate content. For each document in each publication in the service, choose an execution locale as defined in step 2. This ensures that this locales settings are applied during service execution:
3.
4.
5.
When information objects are retrieved (information source settings defined in the Locale Editor) When document formatters are used (no settings are available for PDF, HTML, plain text, or Excel) When information transmitters deliver information (information transmitter settings defined in the Locale Editor, where available) If no language is selected for a MicroStrategy information source in a locale definition (in the Locale Editor), the default language in the information source definition is used.
181
C O N C E P T S
The following illustration summarizes the objects used in this sample service and how they are used:
Service Publication: P1 (Locale selection: French) Document: D1 (Locale 1: French) Information Object (IO1 from IS1) Publication: P2 (Locale selection: English) Document: D1 (Locale 2: English) Information Object (IO2 from IS1) selection process execution process selection process execution process
Locales Locale 1: French Information Source setting: French Information Transmitter setting: US ASCII Locale 2: English Information Source setting: English Information Transmitter setting: US ASCII execution process execution process execution process execution process
182
C H A PT E R
C O N C E P T S
This section provides several examples of how applications can be designed to support self-subscription using Narrowcast Server Subscription Portal. Several examples are presented which illustrate various possible application design scenarios. The services in this section use both personalized page execution and dynamic subscription functionality. For more information about using personalized page execution with dynamic subscriptions, see Page Personalization and Dynamic Subscriptions. Each scenario in this section explains the goal of the application design, discusses why this particular approach is chosen, outlines what has to be done using the MicroStrategy platform, and shows how the scenario works when complete. Each example consists of the following steps:
1. 2. 3.
Warehouse setup Creation of MicroStrategy Desktop objects Definition of Narrowcast Server objects
4. Service configuration through the Narrowcast Server Subscription Portal Administrator Wizard pages 5. 6.
User subscription through the Subscription Portal Delivery via Narrowcast Server
The general requirements for completing this section include the following: Warehouse:
ability to add tables for case numbers 2 (Subscription ID, value table), 3 (Answer ID, symbols table), 4, and 5 (Subscription data mapping table) fully configured MicroStrategy project and Intelligence Server
183
C O N C E P T S
Desktop administrator with permissions to add facts, metrics, and attributes to the project, and to update the warehouse catalog and schema for the project Fully configured Narrowcast Server system Information source configured to access the MicroStrategy project Narrowcast Server user defined in this system (for testing services) Fully configured Narrowcast Server Subscription Portal Subscription site defined to access the Object Repository of your Narrowcast Server system Database connection pointing to your warehouse
Narrowcast Server:
The following table summarizes the scenarios that are covered in this section.
Scenario Number Scenario Name Subscription Set Page-By? Alternate/ Additional Question Object? Yes Writing to Warehouse? User Preference Support?
Static
On any content-related attribute (not Subscription ID or Answer ID); in this example, Country
No
No
Static
Subscription ID; store Subscription ID as the preference in the Subscription Book Repository
Yes
Yes; Subscription No ID and the alternate question object answer value (Subscription_ID, threshold) Yes; Answer ID and the alternate question object answer value (Answer_ID, Symbol) Yes; Subscription ID, Address ID, and User ID Yes
Static
Yes
Dynamic
None
No
N/A
184
Scenario Number
Scenario Name
Subscription Set
Page-By?
Writing to Warehouse?
C O N C E P T S
Dynamic
Subscription ID
Yes; Subscription ID, Address ID, User ID, and the alternate question object answer value
No
185
C O N C E P T S
2. Create an attribute-element prompt for the attribute that you are paging by.
Create a report using the attribute-element prompt. Other than the prompt, the rest of the definition of this report is irrelevant. (Suggested name: Report 1.1 Alternate Question Object)
3.
Subscription Portal can only display the page-by attribute elements to a user through a prompt interface. Therefore, an attribute-element prompt for the page-by attribute must be created, and an alternate question object report containing this prompt must be created and configured for each personalized page question object.
For more information, refer to the Desktop MicroStrategy Basic Reporting Guide and the MicroStrategy Advanced Reporting Guide.
4. 6.
You should create a new subscription set for each service as Subscription Portal does not recognize subscription sets that are used in more than one service.
5. Personalize the subscription at the subscription level for the content information object by selecting an attribute element value.
7. Create a question object using Report 1.1 Alternate Question Object with Report Execution Method (under Advanced Properties, Report Execution tab) set to Personalized Report Execution. (Suggested name: 1.1 Alternate Question Object)
186
C O N C E P T S
On the Configure Subscription Set page, mark the page-by question (1.1 Page-by Information Object) as Page-by: Answer to another question. Browse for the alternate question and choose the Question Object 1.1 Alternate Question Object.
5. For storage of the alternate question, select the option to Use the Subscription Book Repository (as opposed to defining a storage mapping). 6. 4.
3.
Try it!
1. 2. 3.
Go to the Subscription Portal end user interface. Select the service that was created in Narrowcast Administrator.
After selecting a schedule and delivery location, you are prompted to choose an attribute element.
4. On the Subscriptions page, you see that there are now two subscriptions to the service. 5. 6.
In the Subscription Portal end user interface, verify the delivery of both subscriptions with the correct content to the address selected when the subscription was created.
How it works
1. When a user subscribes to this service through Subscription Portal, Subscription Portal determines that there is an alternate question object defined for this service. Subscription Portal retrieves the definition of the attribute element prompt from MicroStrategy Intelligence Server and shows that prompt to the user.
187
C O N C E P T S
2.
3. Subscription Portal creates an entry in the Subscription Book Repository for the new subscription. The definition of this subscription contains a preference object that is associated with Example 1 Page-by Information Object. The value of the preference object is the ID of the attribute element that the user selected, since Answer to another question was specified as the page-by answer for this question on the Portal Administrator Wizard Services Configuration page. Subscription Portal also stores the user's answer to the prompt in the Subscription Book Repository, as a preference object that is associated with the Example 1 Alternate Question Object. 4. When Narrowcast Server runs the service, it first retrieves a list of subscriptions to this service from the Subscription Book Repository. For each subscription, Narrowcast Server retrieves the value of the preference object that corresponds to Example 1 Page-by Information Object, also from the Subscription Book Repository. Narrowcast Server then executes the report associated with the content information object just once. The results of this report contain data for all of the elements of the page-by attribute. Narrowcast Server uses the value of the preference object for each subscription, which in this case is the ID of the page-by attribute element, as the page-by value to personalize the content of the information object. Each page of data includes only the data that corresponds to the selected attribute element.
188
You can choose this approach because you want to take advantage of the performance of personalized page execution (only execute one query against the warehouse). In this case, the user's personalization needs to be stored in the warehouse. You might also want to have easy access to each subscriber's personalization values, which is only feasible when the personalization information is stored in the warehouse. In this case, you choose to page by Subscription ID because that allows the personalization to be at the subscription level, but the threshold value is not reusable (that is, the User Preferences feature is disabled for this question in the Subscription Portal interface). This example assumes that your warehouse contains a populated table with a list of stock symbols and associated facts. The table is assumed to have the following columns:
SYMBOL, LAST_TRADE_PRICE, and PCT_CHANGE
C O N C E P T S
Create an empty table in the warehouse to hold the Subscription ID and the stock alert threshold, with the following columns: (Suggested name: SUB_THRESHOLD)
2. Create an attribute based on the Symbol column of the LU_SYMBOLS table. 3. Create metrics based on the LAST_TRADE_PRICE and PCT_CHANGE columns of the LU_SYMBOLS table.
4.
189
C O N C E P T S
7. Create a report with the Subscription attribute in the page-by area. Include the Symbol attribute and the metrics in the rows of the report. Include a metric qualification in the filter of the report where Pct change >= Threshold. (Suggested name: Report 1.2 Information Object)
8. Create a numeric value prompt that is used to prompt the subscriber for the threshold. 9. Create a report using the value prompt. Other than the prompt, the rest of the definition of this report is irrelevant. (Suggested name: Report 1.2 Additional Question Object)
For more information, refer to the Desktop MicroStrategy Basic Reporting Guide and the MicroStrategy Advanced Reporting Guide.
You should create a new subscription set for each service as Subscription Portal does not recognize subscription sets that are used in more than one service.
4. Create a question object using Report 1.2 Additional Question Object with Report Execution Method (under Advanced Properties, Report Execution tab) set to Personalized Report Execution. (Suggested name: 1.2 Additional Question Object)
190
C O N C E P T S
On the Static Subscriptions page, click Configure to define the configuration for all the static subscription sets in this service.
3. On the Configure Subscription Set page, mark the page-by question (1.2 Page-by Information Object) as Page-by: Subscription ID. 4. Browse for an additional question and choose the question object 1.2 Additional Question Object. 5. For storage of the additional question, choose to create a new storage mapping.
2.
Select the database connection that corresponds to your warehouse and select the SUB_THRESHOLD table created for this example.
7. Using the available answer components, map User ID to the MR_USER_ID column of the SUB_THRESHOLD table, Subscription ID to the MR_SUB_ID column, and the Prompt Answer to the THRESHOLD column. 8.
6.
Try it!
1. 2.
Go to the Subscription Portal end user interface. Select the service that was created in Narrowcast Administrator.
3. After selecting a schedule and delivery location, you are prompted to enter a threshold value. (Be sure to select a value that is less than or equal to at least one value in the LU_SYMBOLS table.) 4. 5.
On the Subscriptions page, you see that there is now one subscription to the service.
If you view the contents of the SUB_THRESHOLD table in the warehouse, you see that a record has been inserted for the subscription you just created.
6. 7.
In the Subscription Portal end user interface, verify the delivery of the subscription with the correct content to the address selected when the subscription was created.
191
C O N C E P T S
How it works
1. When a user subscribes to this service through Subscription Portal, Subscription Portal determines that there is an additional question object defined for this service. Subscription Portal retrieves the definition of the value prompt from MicroStrategy Intelligence Server and shows that prompt to the user (the threshold prompt). 2.
3. Subscription Portal inserts a single record into the SUB_THRESHOLD table in the warehouse, as specified by the Portal Administrator Wizard additional question mapping. This record includes the Narrowcast Server User ID, the Subscription Portal-generated Subscription ID, and the numeric value the user entered. 4. Subscription Portal creates an entry in the Subscription Book Repository for the new subscription. The definition of this subscription contains a preference object that is associated with Example 2 Page-by Information Object. The value of the preference object is the Subscription ID, since that is what was specified as the page-by answer for this question on the Portal Administrator Wizard Services Configuration page. Subscription Portal also stores the user's answer to the prompt in the Subscription Book Repository, as a preference object that is associated with the Example 2 Additional Question Object. 5. When Narrowcast Server runs the service, it first retrieves a list of subscriptions to this service from the Subscription Book Repository. For each subscription, Narrowcast Server retrieves the value of the preference object that corresponds to Example 2 Page-by Information Object, also from the Subscription Book Repository. Narrowcast Server then executes the report associated with the content information object just once. The results of this report contain data for all of the subscriptions that were written to the SUB_THRESHOLD. Narrowcast Server uses the value of the preference object for each subscription, which in this case is the Subscription ID, as the page-by value to personalize the content of the information object. Each page of data includes only those stocks that meet the condition determined by the subscription's threshold value.
192
C O N C E P T S
193
C O N C E P T S
Create an empty table in the warehouse to hold the Answer ID and the selected stock symbols, with the following columns: (Suggested name: REL_ANSWER_SYMBOL) where the ANSWER_ID column gets populated by the Subscription Portal with a Preference_ID which is a 32-character-long GUID.
Create metrics based on the LAST_TRADE_PRICE and PCT_CHANGE columns of the LU_SYMBOLS table.
4. Create an attribute based on the ANSWER_ID column of the REL_ANSWER_SYMBOL table. Define a parent-child relationship between the ANSWER_ID attribute and the Symbol attribute. 5.
3.
6. Create a report with the ANSWER_ID attribute in the page-by area. Include the Symbol attribute and the metrics in the rows of the report. (Suggested name: Report 1.3 Information Object)
7.
8. Create a report using the attribute-element prompt. Other than the prompt, the rest of the definition of this report is irrelevant. (Suggested name: Report 1.3 Alternate Question Object)
For more information, refer to the Desktop MicroStrategy Basic Reporting Guide and the MicroStrategy Advanced Reporting Guide.
194
C O N C E P T S
You should create a new subscription set for each service as Subscription Portal does not recognize subscription sets that are used in more than one service.
4. Create a question object using Report 1.3 Alternate Question Object with Report Execution Method (under Advanced Properties, Report Execution tab) set to Personalized Report Execution. (Suggested name: 1.3 Alternate Question Object)
On the Static Subscriptions page, click Configure to define the configuration for all the static subscription sets in this service.
3. On the Configure Subscription Set page, mark the page-by question (1.3 Page-by Information Object) as Page-by: Answer to another question. 4. Browse for the alternate question and choose the question object 1.3 Alternate Question Object. 5. For storage of the alternate question, choose to create a new storage mapping. 6. Select the database connection that corresponds to your warehouse and select the REL_ANSWER_SYMBOL table created for this example.
2.
195
C O N C E P T S
7. Using the available answer components, map User ID to the MR_USER_ID column of the REL_ANSWER_SYMBOL table, Answer ID to the ANSWER_ID column, and the Prompt Answer to the SYMBOL column. 8.
Try it!
1. 2.
Go to the Subscription Portal end user interface. Select the service that was created in Narrowcast Administrator.
3. After selecting a schedule and delivery location, you are prompted to select one or more stocks from a list. You have the option to save your selections under a name you choose. 4.
On the Subscriptions page, you see that there is now one subscription to the service.
5. If you view the contents of the REL_ANSWER_SYMBOL table in the warehouse, you see that a record has been inserted for each of the selected stocks in the subscription you just created. 6. 7.
In the Subscription Portal end user interface, verify the delivery of the subscription with the correct content to the address selected when the subscription was created.
How it works
1. When a user subscribes to this service through Subscription Portal, Subscription Portal determines that there is an alternate question object defined for this service. Subscription Portal retrieves the definition of the stock symbol prompt from MicroStrategy Intelligence Server and shows that prompt to the user. 2. The user answers the prompt by selecting one or more stock symbols from the list.
Subscription Portal inserts one record into the REL_ANSWER_SYMBOL table for each stock that the user selects, as specified by the Portal Administrator Wizard alternate question mapping. Each record includes the Narrowcast Server User ID, the Subscription Portal-generated Answer ID, and the stock symbol.
3.
196
4. Subscription Portal creates an entry in the Subscription Book Repository for the new subscription. The definition of this subscription contains a preference object that is associated with Example 3 Page-by Information Object. The value of the preference object is the Answer ID that was written to the warehouse, since Answer to another question was specified as the page-by answer for this question on the Portal Administrator Wizard Services Configuration page. Subscription Portal also stores the user's answer to the prompt in the Subscription Book Repository, as a preference object that is associated with the Example 3 Alternate Question Object.
C O N C E P T S
When Narrowcast Server runs the service, it first retrieves a list of subscriptions to this service from the Subscription Book Repository. For each subscription, Narrowcast Server retrieves the value of the preference object that corresponds to Example 3 Page-by Information Object, also from the Subscription Book Repository. Narrowcast Server then executes the report associated with the content information object just once. The results of this report contain data for all of the preferences that were written to the REL_ANSWER_SYMBOL table. Narrowcast Server uses the value of the preference object for each subscription, which in this case is the Answer ID that was written to the warehouse, as the page-by value to personalize the content of the information object. Each page of data includes those stocks that correspond to the user's selections for the subscription.
5.
C O N C E P T S
information from sources other than Narrowcast Server. It also allows the Narrowcast Server system administrator a large amount of flexibility in determining the structure of the tables that will hold the subscription information, which is not possible using static subscription sets.
1. 2. 3.
Other fields can be added if useful. This example only uses these fields.
Optional: Include an attribute qualification in the filter of the report where Subscription Set ID = SS for Example 4. This allows you to store the subscriptions belonging to multiple subscription sets in the same warehouse table. For more information, refer to the Desktop MicroStrategy Basic Reporting Guide and the MicroStrategy Advanced Reporting Guide.
198
1.
You need to use an information source that is configured to support dynamic subscriptions. For more information about defining an information source using an Information Source Module, see the Information Source Wizard chapter of the Narrowcast Server System Administrator Guide.
C O N C E P T S
Create an information object from within Narrowcast Administrator (role: Content Information Object; Report Execution Method (under Advanced Properties, Report Execution tab): Personalized Report Execution) using Report Example 4 Content Information Object. (Suggested name: Example 4 Content Information Object)
2. Create an information object from within Narrowcast Administrator (role: Subscription Information Object) using Report Example 4 Subscription Information Object. On the Source of Subscription Information page, select the Select or define a report and return dynamic subscription information from the selected report check box. Map Address ID and User ID to the corresponding page-by attributes, and set the rest of the delivery information fields to Retrieve from Subscription Book. (Suggested name: Example 4 Subscription Information Object)
Create a service with a document using the content information object. (Suggested name: Example 4 Service)
4. Create a dynamic subscription set using the subscription information object from step 2. Ensure that the dynamic subscription set is defined to automatically segment subscriptions. Add this subscription set to the definition of the service using whatever schedule is desired. (Suggested name: Example 4 Dynamic Subscription Set)
3.
1. 2.
Create a new subscription set for each service as Subscription Portal does not recognize subscription sets that are used in more than one service.
C O N C E P T S
4. On the Configure Subscription Set page you have no page-by questions to configure because the content is non-personalized, and you do not need to add any additional questions. 5. Dynamic subscription sets require a subscription storage mapping. Select the database connection that corresponds to your warehouse and select the WH_SUBSCRIPTIONS table that was created for this example. 6. Using the available subscription components, map Subscription ID to the MR_SUB_ID column of the WH_SUBSCRIPTIONS table, Address ID to the MR_ADDRESS_ID column, and the User ID to the MR_USER_ID column.
Optional: Using the Custom Value field, map the string SS for Example 4 to the MR_SUB_SET_ID column. This makes it possible for the subscription information object report to filter on only those subscriptions that were created using this dynamic subscription set.
Try it!
1. 2.
Select the service Example 4 Service that was created in Narrowcast Administrator.
3. After selecting a schedule and delivery location, the subscription is created. 4.
On the Subscriptions page, you see that there is now one subscription to the service.
5. If you view the contents of the WH_SUBSCRIPTIONS table in the warehouse, you see that a record has been inserted for the subscription you just created. 6. 7.
In the Subscription Portal end user interface, verify the delivery of the subscription with the correct content to the address selected when the subscription was created.
How it works
1. When a user subscribes to this service through Subscription Portal, Subscription Portal determines that there are no question objects defined for this service, so the user does not need to answer any prompts.
200
2. Subscription Portal creates an entry in the Subscription Book Repository for the new subscription.
Subscription Portal inserts a single record into the WH_SUBSCRIPTIONS table in the warehouse, as specified by the Portal Administrator Wizard dynamic subscription set mapping. This record includes the Subscription Portal-generated Subscription ID, the ID of the address the user selected for this subscription, and the Narrowcast Server User ID.
4. When Narrowcast Server runs the service, it first retrieves a list of subscriptions to this service from the warehouse by executing Example 4 Subscription Information Object. Narrowcast Server then executes the report associated with the content information object just once. Since this information object is not personalized, the same content is used for all subscriptions to this service. Finally, Narrowcast Server uses the Address ID from the subscription information object to look up the delivery address for each subscription in the Subscription Book Repository, as specified in the definition of Example 4 Subscription Information Object.
3.
C O N C E P T S
C O N C E P T S
terms of the process of signing up for the service. However, since this example uses a dynamic subscription set, Narrowcast Server retrieves the list of subscriptions from a warehouse report instead of from the Subscription Book Repository. You can choose this approach because you want to take advantage of the performance of personalized page execution (only execute one query against the warehouse). In this case, the user's personalization needs to be stored in the warehouse. You might also want to have easy access to each subscriber's personalization values, which is only feasible when the personalization information is stored in the warehouse. Finally, storing the subscription information in the warehouse has many advantages, such as the ability to manage, analyze, filter, or even populate and modify subscription information from sources other than Narrowcast Server. It also allows the Narrowcast Server system administrator a large amount of flexibility in determining the structure of the tables that hold the subscription information, which is not possible using static subscription sets. This example assumes that your warehouse contains a populated table with a list of stock symbols and associated facts. The table is assumed to have the following columns:
SYMBOL, LAST_TRADE_PRICE, and PCT_CHANGE
2.
Other fields can be added if useful. This example only uses these fields.
Create an empty table in the warehouse to hold the Subscription ID and the stock alert threshold, with the following columns: (Suggested name: SUB_THRESHOLD)
202
C O N C E P T S
Create metrics based on the LAST_TRADE_PRICE and PCT_CHANGE columns of the LU_SYMBOLS table.
4. Create attributes based on the Subscription ID, Address ID, User ID, and Subscription Set ID columns of the WH_SUBSCRIPTIONS2 table. 5. Create a metric based on the THRESHOLD column of the SUB_THRESHOLD table. 6.
3.
7. Create a report to be used as both the subscription information object and the content information object with the Subscription ID, Address ID, and User ID attributes in the page-by area in that order. Include the Symbol attribute and the metrics in the rows of the report. Include a metric qualification in the filter of the report where Pct change >= Threshold. (Suggested name: Report Example 5 Subscription IO and Content IO)
Optional: Include an attribute qualification in the filter of the report where Subscription Set ID = SS for Example 5. This allows you to store the subscriptions belonging to multiple subscription sets in the same warehouse table.
8. Create a numeric value prompt that is used to prompt the subscriber for the threshold. 9. Create a report using the value prompt. Other than the prompt, the rest of the definition of this report is irrelevant. (Suggested name: Report Example 5 Additional Question Object)
For more information, refer to the Desktop MicroStrategy Basic Reporting Guide and the MicroStrategy Advanced Reporting Guide.
You need to use an information source that is configured to support dynamic subscriptions. For more information, refer to the Narrowcast Server System Administrator Guide, Information Source Wizard.
203
C O N C E P T S
1. Create a content information object from within Narrowcast Administrator (role: Content Information Object) using the Report Example 5 Subscription IO and Content IO. On the Advanced Properties dialog box, Report Execution tab, set the Execution Mode to Personalized Page Execution and set the segmentation to segment automatically.
Create a subscription information object from within Narrowcast Administrator (role: Subscription Information Object) using Report Example 5 Subscription IO and Content IO. On the Source of Subscription Information page, select the Select or define a report and return dynamic subscription information from the selected report check box. Map Address ID and User ID to the corresponding page-by attributes. Set personalization to Generated by Report, and set the rest of the delivery information fields to Retrieve from Subscription Book. On the Preferences page, set the preference for question object Example 5 Pageby Information Object to the Subscription ID attribute from the report.
3. Create a service with a document using the content information object. (Suggested name: Example 5 Service) 4. Create a dynamic subscription set using the subscription information object from step 2. Ensure that the dynamic subscription set is defined to automatically segment subscriptions. Add this subscription set to the definition of the service using whatever schedule is desired. (Suggested name: Example 5 Dynamic Subscription Set)
2.
5.
You should create a new subscription set for each service as Subscription Portal does not recognize subscription sets that are used in more than one service.
Create a question object using Report Example 5 Additional Question Object with Report Execution Method (under Advanced Properties, Report Execution tab) set to Personalized report Execution. (Suggested name: Example 5 Additional Question Object)
3. On the Dynamic Subscriptions Configuration page, choose to configure subscription set Example 5 Dynamic Subscription Set.
204
4. On the Configure Subscription Set page, mark the page-by question (Example 5 Page-by Information Object) as Page-by: Subscription ID.
Browse for an additional question and choose the question object Example 5 Additional Question Object.
6. For storage of the additional question, choose to create a new storage mapping. 7. Select the database connection that corresponds to your warehouse and select the SUB_THRESHOLD table created for this example. 8. Using the available answer components, map User ID to the MR_USER_ID column of the SUB_THRESHOLD table, Subscription ID to the MR_SUB_ID column, and the Prompt Answer to the THRESHOLD column. 9. Dynamic subscription sets require a subscription storage mapping. Select the database connection that corresponds to your warehouse and select the WH_SUBSCRIPTIONS2 table that was created for this example. 10. Using the available subscription components, map Subscription ID
5.
C O N C E P T S
to the MR_SUB_ID column of the WH_SUBSCRIPTIONS2 table, Address ID to the MR_ADDRESS_ID column, and the User ID to the MR_USER_ID column. Optional: Using the Custom Value field, map the string SS for Example 5 to the MR_SUB_SET_ID column. This makes it possible for the subscription information object report to filter on only those subscriptions that were created using this dynamic subscription set.
Try it!
1.
2. Select the service Example 5 Service.that was created in Narrowcast Administrator. 3. After selecting a schedule and delivery location, you are prompted to enter a threshold value. (Be sure to select a value that is less than or equal to at least one value in the LU_SYMBOLS table.) 4. 5.
On the Subscriptions page, you see that there is now one subscription to the service.
If you view the contents of the WH_SUBSCRIPTIONS2 and SUB_THRESHOLD tables in the warehouse, you will see that a record has been inserted into each table for the subscription you just created.
Scenario 5: Personalized dynamic subscription 205
C O N C E P T S
6. 7.
In the Subscription Portal end user interface, verify the delivery of the subscription with the correct content to the address selected when the subscription was created.
How it works
1. When a user subscribes to this service through Subscription Portal, Subscription Portal determines that there is an additional question object defined for this service. Subscription Portal retrieves the definition of the value prompt from MicroStrategy Intelligence Server and shows that prompt to the user (the threshold prompt). 2.
3. Subscription Portal inserts a single record into the SUB_THRESHOLD table in the warehouse, as specified by the Portal Administrator Wizard additional question mapping. This record includes the Narrowcast Server User ID, the Subscription Portal-generated Subscription ID, and the numeric value the user entered.
Subscription Portal creates an entry in the Subscription Book Repository for the new subscription. The definition of this subscription contains a preference object that is associated with Example 5 Page-by Information Object. The value of the preference object is the Subscription ID, since that is what was specified as the page-by answer for this question on the Portal Administrator Wizard Services Configuration page. Subscription Portal also stores the user's answer to the prompt in the Subscription Book Repository, as a preference object that is associated with the Example 5 Additional Question Object.
5. Subscription Portal inserts a single record into the WH_SUBSCRIPTIONS2 table in the warehouse, as specified by the Portal Administrator Wizard dynamic subscription set mapping. This record includes the Subscription Portal-generated Subscription ID, the ID of the address the user selected for this subscription, and the Narrowcast Server User ID.
4.
206
6. When Narrowcast Server runs the service, it first retrieves a list of subscriptions to this service from the warehouse by executing Example 5 Subscription IO and Content IO. For each subscription, Narrowcast Server retrieves the value of the preference object that corresponds to Example 5 Page-by Information Object, in this case from the Subscription ID column of the subscription information object, as specified in the definition of Example 5 Subscription IO and Content IO. The results of the subscription information object also contain data for all of the subscriptions that were written to the WH_SUBSCRIPTIONS2 table. Narrowcast Server uses the value of the preference object for each subscription, which in this case is the Subscription ID, as the page-by value to personalize the content of the information object. Each page of data includes only those stocks that meet the condition determined by the subscription's threshold value. Finally, Narrowcast Server uses the Address ID from the subscription information object to look up the delivery address for each subscription in the Subscription Book Repository, as specified in the definition of Example 5 Subscription IO and Content IO.
C O N C E P T S
207
C O N C E P T S
208
SECTION II
II
I N T E R F A C E
209
I N T E R F A C E
210
Section II
C H A PT E R
10
10.
10
The Choose Subscription Sets dialog box opens when multiple subscription sets are associated with a service you are running. The dialog box lets you select which subscription sets to use with the running service. For information on running a service immediately, see Creating and Managing Services and Schedules.
Accessing the Choose Subscription Sets dialog box
I N T E R F A C E
Right-click a service and select Run Immediately. The Choose Subscription Sets dialog box opens automatically if the service has multiple subscription sets associated with it.
211
I N T E R F A C E
212
C H A PT E R
11
11.
11
Using the Desktop Document Selector dialog box, you can select an existing MicroStrategy Desktop document to send in a Narrowcast Server service. These documents are already formatted and ready to be included. You cannot open or edit a Desktop document from within Narrowcast Server. For more information on how to use MicroStrategy Desktop documents within the services of your Narrowcast Server, see Creating Publications and Content Section Documents, Documents, and Desktop documents.
Accessing the Desktop Document Selector dialog box
I N T E R F A C E
From the New Document dialog box, select the option to link to an existing MicroStrategy Desktop document. Then, select the appropriate information source. Or from the Select Information Source dialog box, select the appropriate source. Click OK.
213
I N T E R F A C E
There is a difference between Flash (.html) and Flash attachment (.mht and.pdf) document formats. The .html file can only be sent in the e-mail body. The .mht and .pdf files can be delivered to a file location or as an e-mail attachment. By default, HTML is the only enabled format if none of the export formats were selected while creating the document. Information Object Properties: Click Advanced Properties. The Advanced Properties dialog box opens, where you can specify the information object properties. For steps to use the dialog box, see Advanced Properties dialog box. Choose the Excel 2000 SP3 or lower on recipients machine option to have all layouts of a multi-layout document appear on a single Excel sheet. This feature is available only if the recipient has Excel 2000 SP3 or earlier versions of Excel installed on the machine.
214
Chapter 11
Choose the Excel 2003, Excel XP, or above on recipients machine option to have each layout of a multi-layout document sent to different Excel sheets. This feature is available only if the recipient has Excel 2003, Excel XP, or later versions installed on the machine. When creating documents linked to Excel, use this option to open or save the document in Outlook Web Access. Choose the Excel 2007 and above on recipients machine option to enable users to view data in Report Services document when exporting to Excel 2007 or later, or MAC Office 2008 or later installed on their computers.
For information on how to create different types of documents for use by Narrowcast Server, see Working with Documents.
I N T E R F A C E
Note the following: To enable links in documents that is delivered as a Flash attachment (.mht): Select the Enable links in exported Flash documents (.mht files) check box in the Project Configuration Editor of Desktop. For more details, see the Desktop Online help. Configure the Adobe Flash Security settings to enable hyperlinks in dashboard documents sent as MHT files in MicroStrategy Narrowcast Server. For steps, see TN30398.
Click OK to save your selections. The Save Desktop Linked Document dialog box opens.
215
General tab
The General tab has multiple panes. Name and Description: In this pane, you can enter the name and description of the new information object.
I N T E R F A C E
Filter information: This pane is displayed only if you select a report as the information object. Select the Include report filter information with report results check box if you want to retrieve the filter information when the MicroStrategy Desktop report is executed. Layout Settings: This pane is available only for multi-layout documents; it is not available for reports and single layout documents. For an explanation and examples about multi-layout documents, see the MicroStrategy Report Services Document Creation Guide.
Choose the All Layout option to send all the layouts of a multi-layout document to different Excel sheets. Choose the Current Layout option to only the current layout of a multi-layout document to the Excel sheet.
If the Expand all pages check box is selected, the users receive all the pages of the report or document, when the service is executed. The Each page on a different worksheet check box is enabled only if the document format is Excel and if the Expand all pages check box is selected. This check box allows you receive each page of the report on a different worksheet in the Excel report. This feature is available only for Excel 2002 and later.
The Each page on a different worksheet option is available only for reports; it is not available for Report Services documents.
Formatting: This option is enabled only if you select the document format as Excel. Use the Overlap grid titles check box to eliminate the blank column with the heading Metrics from the report exported in Excel format. Eliminating this column reduces the load time when opening the Excel document. Use the Include report title check box to include or exclude the report title from the report exported in Excel format.
The Report Execution tab is displayed only if you link a report to the service. It has the following areas.
216 Chapter 11 Desktop Document Selector Dialog Box
In the Intelligence Server cache area, select one or both of the following check boxes: Use cached report if available from MicroStrategy Intelligence Server: If the report has been cached, use it; otherwise rerun the report. Update MicroStrategy Intelligence Server cache with execution result if cache is not used or unavailable: Run the report and cache it for future use.
I N T E R F A C E
If personalized page execution and autosegmentation are selected in this tab, caching is not available. The check boxes are disabled, new caches cannot be generated, and existing caches cannot be used.
Personalization Mode
In the Personalization Mode area, select one of the following options: Personalized report execution: A separate report is executed for each group of subscriptions with the same personalization. Personalized page execution: Narrowcast Server executes one report for all subscriptions within a segment, and each subscription receives one page of content. It allows one report to satisfy many personalization sets.
Segmentation Properties
If you select Personalized page execution, the Segmentation Properties area is enabled. Select one of the following options: Do not segment this information object. This information object returns content for the entire subscription set. Any report can be used. For large subscription sets, this option can significantly reduce performance or increase memory consumption. Automatically segment this information object. This information object returns only subscriptions or content in the current segment. Any report can be used and the data is filtered automatically. Segment using segmentation prompts defined in the report. This information object returns only subscriptions or content in the current segment. To filter the data, the report must contain prompts to gather the subscription IDs for the start and end of the segment.
217
The Document Execution tab is available only if you link a report services document to a service. This tab has the following areas: Document cache properties
I N T E R F A C E
In the Document cache properties area, you can select the Use report cache during document execution check box. This applies only to existing MicroStrategy Desktop documents that are linked to from Narrowcast Administrator. Using the document cache speeds up document execution, but limits the data to what has already been cached.
Document execution
In the Document execution area, select one of the following options: Personalized document execution: A separate document is executed for each group of subscriptions with the same personalization. Personalized page execution: Narrowcast Server executes one document for all subscriptions within a segment, and each subscription receives one page of content. It allows one document to satisfy many personalization sets.
Segmentation Properties
If you select Personalized page execution, the Segmentation Properties area is enabled. Select one of the following options: Do not segment this information object. This information object returns content for the entire subscription set. Any document can be used. For large subscription sets, this option can significantly reduce performance or increase memory consumption. Segment using segmentation prompts defined in the document. This information object returns only subscriptions or content in the current segment. To filter the data, the document must contain prompts to gather the subscription IDs for the start and end of the segment.
Error handling tab
The settings on the Error handling tab allow you to specify error handling rules for the selected report or document. If the report or document returns partial data, you can choose to either fail the document or use the partial results. This tab is displayed only for File delivery services.
218
Chapter 11
For Report Services documents in Flash format, neither of the error handling options Fail the document and Use the partial result are available.
I N T E R F A C E
Documents that are links to existing MicroStrategy Desktop documents cannot be opened or modified from within Narrowcast Server.
219
I N T E R F A C E
220
Chapter 11
C H A PT E R
12
12.
12
The Dynamic Subscription Set Wizard lets you to create and edit dynamic subscription sets in the Subscription Book. You can specify SQL statements to be executed before and after a dynamic subscription set executes. For more information on which information objects you want to include for segmentation and subscription resolution, see Creating and Managing Subscription Sets. For information on the SQL statements you want to include for pre-processing and post-processing, see Subscription Preferences.
Accessing the Dynamic Subscription Set Wizard
I N T E R F A C E
Right-click Applications, select New, and then select Subscription Set. The Subscription dialog box opens. Select Dynamic Subscription Set, then click OK.
Finish: Completes the creation of the Dynamic Subscription Set and returns you to the Narrowcast Administrator console; if creating a new subscription set, you are prompted to select a location in which to save the subscription set.
I N T E R F A C E
Introduction
The Introduction page provides you with a summary of what you can do in the Dynamic Subscription Set Wizard. Each step is identified on this page.
Subscription Selection
Browse through the folders and click the information object to use for subscription. Click Clear to remove a selected information object. You can also create a subscription information object from the Dynamic Subscription Set Wizard.
If a subscription information object report meets any of the following criteria, you should not use automatic segmentation. In this case, you must create a segment information object to avoid errors during segmentation. The report is a datamart report The report contains a custom group or consolidation.
For more information about the use of subscription information objects, see Information objects.
Segmentation
Browse through the folders and click the information object to use for segmentation. Click Clear to remove a selected information object. You can also create a segmentation information object from the Dynamic Subscription Set Wizard. For more information about the use of segmentation information objects, see Information objects.
222
I N T E R F A C E
Summary
The Summary page provides you with a summary of the definition for this dynamic subscription set.
223
I N T E R F A C E
224
C H A PT E R
13
13.
13
Using the Document Element Properties dialog box, you can select a different stylesheet and specify error handling rules for the selected document element. You can use these error handling rules to fail documents. When these documents are set as required in the Publication Wizard, these rules can be used to control whether or not publications are delivered to individual recipients based on the data returned by information objects. For more information, see Error handling.
Accessing the Document Element Properties dialog box
I N T E R F A C E
From within the Excel Document Editor, HTML Document Editor, or the Plaintext Document Editor, double-click on a document element (on the generic title Document Element 1, Document Element 2, and so on). For instructions on the above topics, see Creating Publications and Content Section Documents.
Prerequisites
Before you begin using the Document Element Properties dialog box, you must have created a document.
225
Stylesheet selection
By default, MicroStrategy information objects use a stylesheet that preserves the formatting defined in the MicroStrategy Desktop or Web products. Information objects from information sources other than the MicroStrategy information source prompt you if a stylesheet is required. The following stylesheets are available by default:
MicroStrategy information source
I N T E R F A C E
Text documents:
MSTR7ToText-CSV.xsl: Returns report results in comma separated values (CSV) format. This delimited file format allows report results to be used by Excel and other third-party applications and systems. MSTR7ToText-CSV-NoDoubleQuotes.xsl: Changes the name of the attachments sent using the Control Documents. This stylesheet is similar to MSTR7ToText-CSV.xsl, but it also removes the double quotes displayed around each cell and the linefeed after the last cell. For more information on changing attachment names using Control Documents, refer to Appendix A, Dynamically changing attachment name. MSTR8ToText-CSVWithColumnTitles.xsl: Allows the attribute names to be displayed in the report columns on execution. MSTR8ToText-NoRowHeader.xsl: Changes the name of the attachments sent via the Control Documents. It displays only one attribute value and no attribute headers. This is possible only when the attribute is on the rows. This stylesheet retrieves an attribute element from the report as the attachment name. The only limitation is that the report which is used as an Information Object in the Control Document should have only one attribute element and the attribute should have only one form. For more information on changing attachment names using Control Documents refer to Appendix A, Dynamically changing attachment name. MSTR7ToText-Default.xsl: Returns plain text grid suitable for display in wireless devices and other devices that render plan text content. This stylesheet is applied by default to reports in text documents. MSTR7ToText-FilterInfoOnly.xsl: Returns only the description of the filter used by this report and not the report data.
226
SubscriptionInfoToText.xsl: Returns the physical address for a given subscription in the form of a sentence such as This message is sent to address info@microstrategy.com, and in the proper XML format for the Plaintext document formatter. This stylesheet provides a starting point with which you can develop custom XSL stylesheets to return a custom grouping of subscription information properties for text documents. UserInfoToText.xsl: This stylesheet provides an example you can use to develop custom XSL stylesheets to return a logic-driven custom grouping of user information properties for plain text documents. If the recipients last name and user properties are set, this XSL returns the text Dear title last-name in the proper XML format for the Plaintext document formatter. For example, if a users title is Ms. and the last name is Jones, this XSL returns Dear Ms. Jones. If one of these two user properties is empty, this XSL returns Dear Sir so that the contents delivered to the recipient are still sensible. MSTR7ToText-LongNames.xsl: Preserves and displays the long names of the row headers in a report when the report is sent in the text format. This stylesheet preserves the long names of the attributes only when the attributes are placed on the row header. For example, when you want to display separate headers for each attribute form and not the attribute name as a header, importing this XSL displays the long names of each attribute. For more information, see Import a file. MSTR7ToHTML-DefaultFormatting.xsl: Preserves all formatting defined in MicroStrategy Desktop and Web. This stylesheet also supports white spaces in the HTML documents. This stylesheet is applied by default so that any report formatting defined in Web or Desktop is automatically leveraged by Narrowcast Server. The stylesheet has been updated to preserve the correct format of Narrowcast reports in HTML for Outlook 2007. Outlook 2007 uses Word 2007 to display HTML reports in the email, and does not support all HTML attributes. The MSTR7ToHTMLDefaultFormatting.xsl preserves the HTML formatting for reports accessed through Outlook 2007. MSTR7ToHTML-DefaultFormatting2.xsl: Preserves the correct format of Narrowcast reports in HTML for Outlook 2007. Outlook 2007 uses Word 2007 to display HTML reports in the email, and does not support all HTML attributes. The MSTR7ToHTMLDefaultFormatting2.xsl preserves the HTML formatting for reports accessed through Outlook 2007.
I N T E R F A C E
HTML documents:
227
MSTR7ToHTML-FilterInfoOnly.xsl: Returns only the description of the filter used by this report and not the report data. This can be useful when graph reports are delivered, for example, and you want to include only filter information along with this graph. MSTR7ToHTML-ReturnXML.xsl: Returns report XML. The resulting XML structure can be retrieved for and combined with different XSL stylesheets for development and testing purposes. Read the remainder of this section for more information on this process. MSTR7ToHTML-OverlapGridTitles.xsl: To keep the Metrics column from appearing in the HTML documents, import the MSTR7ToHTML-OverlapGridTitles.xsl into Narrowcast Server before using it for the document. Eliminating this column reduces the load time when opening the document. In the report, if the metric is used in the rows, then the Metric column is not removed by using the MSTR7ToHTMLOverlapGridTitles.xsl stylesheet described above.
I N T E R F A C E
SubscriptionInfoToHTML.xsl: Returns the physical address for a given subscription in the form of a sentence such as This message is sent to address info@microstrategy.com. This stylesheet provides a starting point with which you can develop custom XSL stylesheets to return a custom grouping of subscription information properties for HTML documents. UserInfoToHTML.xsl: This stylesheet provides an example you can use to develop custom XSL stylesheets to return a logic-driven custom grouping of user information properties. If the recipients last name and user properties are set, this XSL returns the text Dear title last-name. For example, if a users title is Mr. and the last name is Bush, this XSL returns Dear Mr. Bush. If one of these two user properties is empty, this XSL returns Dear Sir so that the contents delivered to the recipient are still sensible. MSTR8ToHTML-LongNames.xsl: See the description under Text documents MSTR7ToExcel-DataOnly.xsl: Returns data only with no additional formatting such as colors, font specification, and so on. This can be useful if Excel macros are applied to data when no changes to the initial formatting is desired.
Excel documents:
228
MSTR7ToExcel-DefaultFormatting.xsl: Preserves all formatting defined in MicroStrategy Desktop and Web. This stylesheet also supports the hierarchy in the report template. This stylesheet is applied by default so that any report formatting defined in Web or Desktop is automatically leveraged by Narrowcast Server. MSTR7ToExcel-FilterInfoOnly.xsl: Returns only the description of the filter used by this report and not the report data. MSTR7ToExcel-WithoutColumnAxisHeaders.xsl: This stylesheet does not display the column axis headers on the report template. The column axis headers describe the items on the report columns. Column axis headers typically display the title Metrics or the names of any attributes that are present on the report columns. In Narrowcast Server 7.1 and previous versions, the column axis headers were not shown by default, so this stylesheet is necessary to achieve the default formatting provided by these product versions. SubscriptionInfoToExcel.xsl: Returns the physical address for a given subscription in the form of a sentence such as This message is sent to address info@microstrategy.com, and in the proper XML format for the Excel document formatter. This stylesheet provides a starting point with which you can develop custom XSL stylesheets to return a custom grouping of subscription information properties for Excel documents. UserInfoToExcel.xsl: This stylesheet provides an example you can use to develop custom XSL stylesheets to return a logic-driven custom grouping of user information properties for Excel documents. If the recipients last name and user properties are set, this XSL returns the text Dear title last-name in the proper XML format for the Excel document formatter. For example, if a users title is Mrs. and the last name is Smith, this XSL returns Dear Mrs. Smith. If one of these two user properties is empty, this XSL returns Dear Sir so that the contents delivered to the recipient are still sensible. MSTR8ToExcel-LongNames.xsl: See the description under Text documents.
I N T E R F A C E
229
I N T E R F A C E
Additional example stylesheets are installed with Narrowcast server. They are located in the ..\Delivery Engine\XSL\ subdirectory where the Narrowcast Server was installed. Once these stylesheets are imported into the Object Repository using the Import File dialog box, they are available for selection from the Document Element Properties dialog box. Stylesheets for reports running in MicroStrategy Intelligence Server 7.1 or earlier are also located in the same subdirectory.
User information
When user information (first name, last name, and so on) is inserted in a document, an appropriate stylesheet is automatically selected. You do not need to select a stylesheet.
Subscription information
When subscription information (address ID, subscription ID, and so on) is inserted in a document, an appropriate stylesheet is automatically selected. You do not need to select a stylesheet.
Error handling
Error handling rules can be applied to the following three events: An information object returns no data An information object returns an error The document formatter is unable to format the document element In each case, you can choose one out of the following options: Fail the document Use string
230
If you choose to fail the document, the document element raises an error so that the document fails to be returned to the publication. If you choose to use string, you can enter a string that is displayed in the document contents in place of the information object results in the case of this event.
I N T E R F A C E
231
I N T E R F A C E
232
C H A PT E R
14
14.
14
The Document Properties dialog box allows you to choose an execution locale for the current document. The execution locale defines how content is gathered, formatted, packaged, and transmitted for a document. For most documents, it also allows you to specify document-level error handling. Document-level error handling is based on information objects and affects the entire document. For Excel documents, this dialog box also allows you to choose how column widths should be set for MicroStrategy reports.
Accessing the Document Properties dialog box
I N T E R F A C E
From within the Excel Document Editor, HTML Document Editor, or the Plaintext Document Editor, select Properties from the File menu. When linking to an existing MicroStrategy Desktop document, from the Desktop Document Selector dialog box, click Document Locale. For instructions on the above topics, see Creating Publications and Content Section Documents.
Prerequisite
Before you begin using the Document Properties dialog box, you must have created a document and understand the purpose of execution locales and error handling. For more information about error handling in documents, see Error handling. For information on locales, see the Locales in the Narrowcast Server System Administrator Guide.
233
General
The Document Properties dialog box allows you to select an execution locale from a list of all available locales for your document. An execution locale tailors the format of content such as numbers, date, and currency according to regional preferences. For example, if your system administrator defined French and German locales to gather information in the appropriate languages, you can select one of these locales as the execution locale for a document. All dynamic content in this document is then retrieved using the corresponding language.
Document element-level error handling still applies for failures in specific document elements. For more information on specifying document element-level error handling rules, see chapter 13, Document Element Properties Dialog Box.
234
235
I N T E R F A C E
236
C H A PT E R
15
15.
15
The Excel Document Editor allows you to design Excel documents to include in services. An Excel document is composed of a set of worksheets that can contain static and dynamic text items. Static text is manually entered, while dynamic text is loaded through information objects. Use the Excel Document Editor to do the following: Create an Excel document Add multiple XML information objects with the same stylesheet in a document Select a different XSL stylesheet for an XML information object For detailed instructions, see Creating Publications and Content Section Documents.
Accessing the Excel Document Editor
I N T E R F A C E
Right-click Applications, point to New, then choose Document. The New Document dialog box opens. Double-click Excel Document on the New Document dialog box.
Prerequisites
Before you begin using the Excel Document Editor, you should: Understand how documents are used in publications Know what document elements, information objects, and XSL stylesheets are Understand the concept of imported files and know how to import them For more information on the above topics, see Publications. For information on the formats of the XML structures, see Appendix D, XML for Narrowcast Server Objects.
237
Document element pane, which displays the dynamic content of the Excel document in a hierarchical format and shows the properties of the currently selected document element or information object Content definition pane, which contains the documents worksheets and allows you to reposition the contents Menu bar that offers standard Windows NT menus (Edit, View, and Help) as well as File and Insert menus that contain Narrowcast Serverspecific items Toolbar that provides the ability to do the following:
Open a document Save the document and exit Insert an information object (click the button to create a new information object; click the arrow to see the available information sources and kinds of information objects as well as the option to insert a new or existing information object)
The Choose XML Information Object Destination dialog box is accessed only when you select a document element containing an XML information object, and then add another XML information object.
You cannot see any Excel macros included in the template. Therefore, you need to know what the macros are, as well as where the macros assume the text is placed.
Right-clicking in the body of the template displays an insert menu, and selecting Insert Static Text inserts the static text in the next available cell. Clicking X deletes the selected row. The up and down arrows move the selected row up or down in the content definition spreadsheet.
238
The sheets columns contain the following information: Number (#): a reference number for the content item Contents: the actual text included in the document, if it is a static text item; otherwise, the document element number Row Positioning: how the content item is placed in a row:
Absolute means the item is offset from the top of the sheet. Relative Top means the item is offset from the top of another row. Relative Bottom means the item is offset from the bottom of another row.
Row Reference: the row to use as the starting point for the offset; not used for absolute row positioning, which is always offset from the top of the sheet Row Offset: the number of rows the item is offset from the top of the sheet, if absolute row positioning is used, or from the Row Reference Column Positioning: how the content item is placed in a column:
I N T E R F A C E
Absolute means the item is offset from the left of the sheet. Relative Left means the item is offset from the left side of another column. Relative Right means the item is offset from the right side of another column.
Column Reference: the column to use as the starting point for the offset; not used for absolute column positioning, which is always offset from the left of the sheet Column Offset: the number of columns the item is offset from the left of the sheet, if absolute column positioning is used, or from the Column Reference You can resize the width of the columns to view the entire contents of the cells. Once you add a template file, you can insert information objects into it by right-clicking in the body of the template and selecting from the resulting menu to create a certain kind of information object or to insert an existing information object. Note the tabs that allow you to access different spreadsheets, if the template file contains multiple spreadsheets. The sheet names default to those of the template files. You can also change the name for each spreadsheet independently in either of the following ways: Double-click the spreadsheets tab and enter a new name.
239
I N T E R F A C E
Right-click the spreadsheets tab and choose a kind of information object or choose Insert Information Object, which allows you to create a new information object to supply the name. Or choose Insert Existing Information Object, which allows you to select an information object to supply the sheet name. The actual name is determined when the report is executed, and can be personalized for each subscriber.
This information object must return only one line, without carriage returns, or the formatting could fail.
Menu bar
The File and Insert menu bar options contain items unique to Narrowcast Server. The following tables describe the contents of each.
File menu options
Function Allows you to create a new document from within the document editor Allows you to browse for an excel document to edit within the document editor Saves the Excel document; if this is a new document, the Save As dialog box opens Saves the Excel document with a new name Opens the Document Properties dialog box in which you can select the documents locale from a list of all available locales and specify error handling rules for the document Closes the Document Editor; if changes have been made, you are prompted if you want to save
Close
240
I N T E R F A C E
When you insert an XML information object that was created for a MicroStrategy Information Source, an XSL stylesheet is automatically selected.
241
I N T E R F A C E
242
C H A PT E R
16
16.
16
The Filter and governing editor dialog box allows you to restrict the number of users or addresses, and the number of subscriptions to retrieve when you open the Subscription Book or a subscription set. It also allows you to define filters for the Users and addresses list as well as the Subscription list. For steps to create and use the Subscription Set, see Creating and Managing Subscription Sets. For steps to use the Subscription Book, see Managing a Subscription Book.
Accessing the Filter and governing editor
I N T E R F A C E
Open the Subscription Book Editor or the Static Subscription Set Editor. From the Tools menu, select Filter and governing editor.
Prerequisites
Before you begin using the Filter and governing editor dialog box, you should: Know the total number of items in your Subscription Book. Know the total number of items in your largest static subscription set. Determine the maximum number of users or addresses you can retrieve at a given time. For more information on the above topics, see Subscriptions and subscription sets and The Subscription Book.
243
Define filter for: Select the list for which you want to define the filters forthe Users and addresses list or the Subscription list. You can then set the filter conditions for address names, login IDs, and physical addresses. Maximum number of addresses/users to retrieve: Specify the maximum number of users or addresses to retrieve for the Subscription Book. If the total number of users and addresses available in the Subscription Book exceeds the number in the governing setting, a message is displayed that only the number of users and addresses indicated in the governing setting will be retrieved. Maximum number of subscriptions to retrieve: Specify the maximum number of subscriptions to retrieve for all subscription sets. The default value for both the Subscription Book and Subscription Set sections is 100, which is also the smallest number allowed for these settings.
If you open this dialog box from the Subscription Book Editor, you can see the Define filter and Subscription Book options, but not the Subscription Set option.
244
C H A PT E R
17
17.
17
The HTML Document Editor allows you to create and format HTML documents to include in services. Using the HTML Document Editor you can: Add multiple XML information objects with the same stylesheet in a document Edit an HTML document Select a different XSL stylesheet for an XML information object For more information on how to add documents to the service, see Creating Publications and Content Section Documents.
Accessing the HTML Document Editor
I N T E R F A C E
Right-click anywhere in the Applications folder, point to New, then choose Document. Double-click HTML Document on the New Document dialog box.
Prerequisites
Before you begin using the HTML Document Editor, you should: understand how documents are used in publications know what document elements, information objects, and XSL stylesheets are For more information on the above topics, see Publications.
245
A document element pane that displays the content of the document in a hierarchical format and the properties of the currently selected document element. A content definition pane that can be set to allow editing of the content, display the HTML source, or preview the document. A menu bar that offers standard Windows menus (Edit and Help) as well as File, View, Insert, Format, and Table menus that contain Narrowcast Server-specific items. A toolbar that provides formatting and table options. In addition, some of these options are displayed in the right-click menu. If you right-click in the content definition pane, you can insert information objects. Also, you can double-click the objects in the document element pane. If you double-click Document Element 1, Document Element 2, and so forth, the Document Element Properties dialog box appears. If you double-click the name of an inserted object, the Information Object Wizard appears. The Choose XML Information Object Destination dialog box is accessed only when you select a document element containing an XML information object, and then add another XML information object. You can create the required content for your HTML document within the HTML Document Editor, in the content definition pane using the Editor mode (select View, Editor) or by typing the source code directly with the Source mode enabled (select View, Source). You can also create an HTML template in an external application such as Microsoft FrontPage or Allaire HomeSite and then copy the source HTML code from this application into the HTML Document Editors content definition pane with Source mode enabled. Within the HTML Document Editor, you can perform tasks such as adding tables, changing fonts, and so on, using the Editor mode. However, to accomplish more advanced tasks such as changing column widths or inserting HTML hyperlinks, use the Source mode and directly modify the HTML.
Menu bar
The File, View, Insert, Format, and Table menu bar options contain items unique to Narrowcast Server. The following tables describe the contents of each.
246
Function Allows you to create a new document from within the document editor Allows you to browse for an excel document to edit within the document editor Saves the Excel document; if this is a new document, the Save As dialog box opens Saves the Excel document with a new name Opens the Document Properties dialog box in which you can select the documents locale from a list of all available locales and specify error handling rules for the document Closes the Document Editor; if changes have been made, you are prompted if you want to save
I N T E R F A C E
Close
Source Preview
247
I N T E R F A C E
When you insert an XML information object that was created for the MicroStrategy Information Source, an XSL stylesheet is automatically selected. For HTML documents, the original reports formatting (from MicroStrategy Desktop) is preserved.
248
Menu option Outdent Indent Foreground Color Background Color Numbered List Bulleted List
Function Moves the selected indented text back to the left Indents the selected text Opens the Color dialog box to set the color of the text Opens the Color dialog box to set the background color of the text Formats the selected text into a numbered list Formats the selected text into a bulleted list
I N T E R F A C E
Toolbar
The formatting and table menu options are replicated on the toolbar as icons. Their use is described below.
Toolbar icon Open Save and Close Cut Function Opens the Open Document dialog box to select a document to open Saves the file and exits the HTML Document Editor Moves the selection to the clipboard
249
Function Copies the selection to the clipboard Inserts the clipboards contents into the selected area Opens the Select Information Source dialog box to create and insert an information object Clicking the arrow lists the available information sources and kinds of information objects as well as the option to insert a new or existing information object
I N T E R F A C E
Insert
Bold Italic Underline Choose Font Choose Foreground Color Choose Background Color Left Align Center Right Align Toggle Numbered List Toggle Bulleted List Outdent Indent Toggle Hidden Table Borders Toggle Hidden Formatting Tags Create Table Insert Row Delete Rows Insert Column Delete Columns Insert Cell
Bolds the selected text Italicizes the selected text Underlines the selected text Opens the Font dialog box to choose a font to apply to the selected text Opens the Color dialog box to set the color of the text Opens the Color dialog box to set the background color Left-aligns the selected text Centers the selected text Right-aligns the selected text Formats the selected text into or out of a numbered list Formats the selected text into or out of a bulleted list Moves the selected indented text back to the left Indents the selected text Hides or displays table borders Hides or displays formatting tags Opens the Create Table dialog box to create a new table Inserts a row above the selected row Deletes the selected row Inserts a column to the left of the selected column Deletes the selected column Inserts a cell to the left of the selected cell
250
Function Deletes the selected cell Merges the selected cells Splits the selected cells
I N T E R F A C E
251
I N T E R F A C E
252
C H A PT E R
18
18.
18
The Imported Document Editor allows you to create a document from an imported file. A file itself cannot be used in a publication, only documents. Imported documents can be included in the publication as binary attachments. You can import a new file or use an already imported file. For information on importing a file, see Creating Publications and Content Section Documents.
Accessing the Imported Document Editor
I N T E R F A C E
Right-click anywhere in the Applications folder, point to New, then choose Document. Double-click Imported Document on the New Document dialog box.
Prerequisites
Before you begin using the Imported Document Editor, you should: Understand how documents are used in publications Understand that imported files must be associated with a document before they can be used in a publication Understand how locales can be set for documents (locales are necessary when an imported document contains a file that was imported using a character set other than the system default) For more information on the above topics, see Publications.
Use an existing file object, which means that you will create a document from a file you already imported into the system The task flow changes depending on which option you select.
254
C H A PT E R
19
19.
19
The Import File dialog box imports a file to use as a stylesheet, template, or attachment. An XSL stylesheet is applied at the document element level and transforms the XML returned by an information object into a format that can be used in a document. A template is used as the basis for creating a new document. For example, an Excel template file sets the number of worksheets in the document and can provide Excel macros as well.You can import a zip file, associate it to a document, and then attach it to a publication.
I N T E R F A C E
Note the following: After the file has been saved, the file type cannot be changed. After a file is imported, the character set used to import the file cannot be changed. After a file is imported, the file path displayed is blank because the file path is saved in the Narrowcast Server Repository as part of the Narrowcast Server file object definition. The user can only reimport a file to that object.
For steps to import files, see Creating Publications and Content Section Documents.
Accessing the Import File dialog box
Before you begin using the Import File dialog box, you should: Understand how imported files are used in the Delivery Engine. Know the location of the file to import. Know the character set that was used to create the file if it differs from your system character set. For more information, see Creating Services.
255
Specify the File Type which is initially set automatically. You can change it by selecting a file type from the File Type list. Browse to locate the file to import. Select the character set to use while importing a file. By default, the System Character Set (ANSI) is selected. Click Modify to import the file using another character set. The Select a Character Set dialog box opens. Click OK to continue.
The following file types are considered text files: plaintext, HTML, XML, XSL, and WML.
The character set that was used when creating the file should be selected, because this character set is used to interpret the file and store it in the Narrowcast Server Object Repository. When this file object is used within an imported document, the locale for the document should be set to a locale whose character set for relevant ITMs is the same as or compatible to the character set that was selected when the file was imported.
You need to select a locale with this same character set (or a compatible character set) for any imported document that contains this file in the future for the file to be decoded correctly.
Click OK to continue.
for imported files in a folder or the entire system and refresh all the imported files.The Refresh Imported File dialog box displays the status of file import, summary of the file import and errors, if any. Right-click the required files and select Refresh Imported File to open the Refresh Imported File dialog box. Click Open Log File to view a summary of the file import. The summary details includes the date and time stamp, and the status, summary, and error details of the import process. Click OK to continue.
I N T E R F A C E
257
I N T E R F A C E
258
C H A PT E R
20
20.
20
The Information Object Wizard allows you to quickly create a new MicroStrategy information object, which is a report with certain properties that specify how to get data from a MicroStrategy Information Source. The wizard allows you to create the following types of information objects: Content, which supplies data for the document Subscription, which provides a list of subscribers for the service Segment, which specifies the first and last subscriptions for each segment of the subscription set The Information Object Wizard displays different pages depending on which information object type, or role, you assign to your new information object.
Accessing the Information Object Wizard
I N T E R F A C E
Right-click anywhere in the Applications folder, point to New, then choose Information Object. Double-click a MicroStrategy Information Source.
Using the Information Object Wizard
Use the Information Object Wizard to do the following: Edit a MicroStrategy content information object Create a MicroStrategy subscription information object Create a MicroStrategy segment information object Set advanced options for report execution Associate a question object to an information object Define delivery information for a subscription information object For instructions on any of the above topics, see Creating Information Objects and Question Objects.
259
Prerequisites
Before you begin using the Information Object Wizard, you should: Understand what an information object is
I N T E R F A C E
Know the difference between the various kinds of information objects Know how information objects are used in documents and subscription sets Ensure that the system administrator has defined a MicroStrategy Information Source Ensure that, in the project source, a report has been set up to be associated with the information object For more information on the above topics, refer to the following: Publications Information objects
260
Click Next to go to the next page of the wizard. Click Back to go to the previous page. Click Cancel at any time to exit the wizard without saving any changes.
Role page
Choose how this information object should be used: Content Information Object: The report results are used as content in document elements. Subscription Information Object: The report results provide the subscription set, within a particular segment. Segment Information Object: The report results define segment boundaries for subscriptions.
I N T E R F A C E
261
For content and subscription information objects, a brief explanation of what is needed is shown. When you select a report or filter, the explanation changes to tell you whether the report or filter is valid for the type of information object you are creating. If the report or filter is not valid, the explanation indicates what is needed. For more information on validation, see Information object validation, below. You can navigate to the desired report and select it. Or you can open a folder, type some or all of the report name in the Find box, and click the Find in list button to list all reports with the typed characters in their names.
Note the following: If multiple reports are found, the first one found is highlighted. Reports in different subfolders are listed together.
You can create a new report or filter by clicking the New Report or New Filter button. You can edit an existing report or filter by clicking Edit Object. You can refresh the list of objects by clicking Refresh browser. You must have a compatible version of MicroStrategy Desktop installed on the local machine to access New Report, New Filter, and Edit Object functionality.
Click Advanced Options to access the Advanced Properties dialog box. For more information on execution modes, see chapter 6, Page Personalization and Dynamic Subscriptions.
262
Content information object executed using personalized report execution Content information object executed using personalized page execution Subscription information object
Content information object executed using personalized report execution
I N T E R F A C E
For these information objects, three potential problems exist: A personalized report execution information object should not contain an attribute on the page axis of the report. If it does, only one page is returned rather than the entire report. You cannot continue without changing your selection. A personalized report execution information object should contain the security object prompt if the information source contains a default security object. If a security object prompt is not in this information object, the security object is not applied to filter the report results if personalization is on a different attribute form than the security object. You are warned but can continue without changing your selection. A personalized report execution information object might fail to execute if required prompts with no default answer are present. For this information object to execute successfully, these prompts must be answered by user preferences. You are warned but can continue without changing your selection.
Content information object executed using personalized page execution
A personalized page execution information object must contain an attribute form on the page axis of the report. This enables the appropriate pages to be sent rather than the entire report. You cannot continue without changing your selection. A personalized page execution information object should not contain the security object prompt. If it does, the information source default security object is applied. This can mean that the page element selected for personalization is actually not present in the report results. This validation occurs when you have not chosen to segment prompts in the report. If segmenting using prompts in the report, it cannot be determined whether the prompts are for segmentation or security. You are warned but can continue without changing your selection.
263
I N T E R F A C E
A personalized page execution information object fails to execute if required prompts with no default answer are present. This validation occurs when you have chosen to segment prompts in the report. If segmenting using prompts in the report, it cannot be determined whether the prompts are for segmentation. You cannot continue without changing your selection. If you are segmenting using prompts in a report, a personalized page execution information object must contain two prompts, for the beginning and end of the segments. You cannot continue without changing your selection.
Subscription information object
A subscription information object using a report must contain one attribute form on the page axis. You cannot continue without changing your selection. If a report is selected as a subscription information object, the ID form of the first attribute on the page axis will be used as Subscription ID. This should match the Subscription ID selected in the information source definition. If it does not, any content information object executed using personalized page execution will be segmented incorrectly when used with a subscription information object. If you selected a filter, you cannot elect to segment this subscription information object using prompts in a report. You cannot continue without changing your selection. If you selected a report and if you are segmenting using prompts in a report, a subscription information object must contain two prompts, for the beginning and end of the segments. You cannot continue without changing your selection.
264
Note the following: The Report Execution tab is not displayed in case of subscription information objects in which you choose a filter to constrain the subscription information returned. The Question Object tab is not displayed in case of subscription information objects when you choose a filter to constrain the subscription information returned and when you choose a report to retrieve the subscription information.
I N T E R F A C E
For more information on execution modes, see Page Personalization and Dynamic Subscriptions.
General tab
The General tab has the following areas: Name and description: In this area, you can enter a name and description for the information object. Filter Information: Select the Include report filter information with report results check box if you want to retrieve the filter information when the MicroStrategy Desktop report is executed.
The Filter Information is not displayed if you have subscription information objects that contain a filter for restricting the subscription information that is returned.
The Report Execution tab has multiple areas. In some cases, not all areas are available or visible. The following areas may appear: Intelligence Server cache Personalization Mode Segmentation Properties
Intelligence Server cache
In the Intelligence Server cache area, select one or both of the following check boxes: Use cached report if available from MicroStrategy Intelligence Server: If the report has been cached, use it; otherwise rerun the report. Update MicroStrategy Intelligence Server cache with execution result if cache is not used or unavailable: Run the report and cache it for future use.
265
I N T E R F A C E
If personalized page execution and autosegmentation are selected in this tab, caching is not available. The check boxes are disabled, new caches cannot be generated, and existing caches cannot be used.
Personalization Mode
In the Personalization Mode area, select one of the following options: Personalized report execution: A separate report is executed for each group of subscriptions with the same personalization. Personalized page execution: Narrowcast Server executes one report for all subscriptions within a segment, and each subscription receives one page of content. It allows one report to satisfy many personalization sets.
Segmentation Properties
If you select Personalized page execution, the Segmentation Properties area is enabled. Select one of the following options: Do not segment this information object. This information object returns content for the entire subscription set. Any report can be used. For large subscription sets, this option can significantly reduce performance or increase memory consumption. Automatically segment this information object. This information object returns only subscriptions or content in the current segment. Any report can be used and the data is filtered automatically. Segment using segmentation prompts defined in the report. This information object returns only subscriptions or content in the current segment. To filter the data, the report must contain prompts to gather the subscription IDs for the start and end of the segment.
The Segmentation Properties area is not displayed in case of subscription information objects in which you choose a report to retrieve the subscription information.
On the Question Object tab, select or create a question object to be used with this information object. First select the Gather preferences using a question object check box. Then browse to an existing question object on the Narrowcast Server system, or click New to create a new question object. You can also select an existing question object and click Edit to modify it.
266
For more information on question objects, see the following: Question Object Browser dialog box
On the Error handling tab, select the Fail segment if Information Object fails check box to fail the complete segment if the information object fails.
Format page
The Format page is used for content information objects only. Report results can be returned in either a tabular format, ready for further processing, or in a graphical format, which is a GIF file. If graphical is selected, the image size can be customized.
One graph is generated no matter how compact it might be. The entire report results are scaled according to the graph size setting. To ensure the graph is readable, check whether the report returns a suitable graph with personalized data in the MicroStrategy Desktop interface using the same settings as in MicroStrategy Narrowcast Server. The setting is under Graph Preference Options in the MicroStrategy Desktop interface when the report is running in graph mode. Ensure that the scrolling settings (the maximum number of categories and the maximum number of series) are large enough to cover the scope of the entire report results.
267
This page defines which fields in the report results map to which pieces of subscription information, including the Address ID, User ID, Locale ID, Security, and Personalization. The option you select for one ID affects the options available for the next ID. The following sections explain the operations:
I N T E R F A C E
Address and User Information Personalization (Authentication and Security, and Preference)
Then:
The subscription ID is always generated from the report and defaults to the first page-by attribute in the selected report template.
If Address ID is retrieved from the Subscription Book, User ID is retrieved from the Subscription Book Locale ID is retrieved from the Subscription Book If Address ID is generated by the report, Then: Locale ID and User ID can be obtained from the Subscription Book, the report, or a constant
268
Address ID
User ID
Locale ID
Subscription Book
Subscription Book
Subscription Book
Report
Subscription Book
I N T E R F A C E
Report
Constant
If User ID is retrieved from Subscription Book, Then: Security must come from Subscription Book, Else: Security can be obtained from Subscription Book, report or you can use a constant
269
Preferences can always be obtained from the Subscription book, report or a constant.
Authentication and Security
Address ID
User ID
Preference
I N T E R F A C E
Subscription Book
Subscription Book
Subscription Book
Report
Subscription Book
Subscription Book
Report
Constant
Preferences page
The Preferences page is displayed only if personalization was set to be generated by the report, on the User Properties and Personalization page.
270
This page continues the specification of the personalization. For each information source and question object combination, the reports page-by attribute forms are provided in drop-down lists to be selected for the preference object.
I N T E R F A C E
Summary page
This page provides a summary of the selections you made while building the information object. Review the information and click Finish. The Save XML Information Object dialog box appears so you can save the information object and return to the Narrowcast Administrator.
271
I N T E R F A C E
272
C H A PT E R
21
21.
21
The Modify Schedule Queue Parameters dialog box allows you to change the following parameters for the Delivery Engines scheduled services queue: How long to calculate the queue for each service. The maximum number, up to 999, of scheduled executions to display. For steps to modify the Schedule Queue Parameters, see Creating and Managing Services and Schedules.
Accessing the Modify Schedule Queue Parameters dialog box
I N T E R F A C E
Expand Administration and select Scheduled Services. Double-click or right-click Scheduled Services. Or Click the Set Queue Parameters icon on the toolbar.
Prerequisite
Before you begin using the Modify Schedule Queue Parameters dialog box, services must be scheduled.
273
I N T E R F A C E
274
C H A PT E R
22
22.
22
The New Document dialog box allows you to choose whether to create a new Narrowcast Server document or to link to an existing MicroStrategy Desktop Report Services document. You can create an Excel, HTML, imported, or plaintext document. For steps to create a document, see Creating Publications and Content Section Documents.
Accessing the New Document dialog box
I N T E R F A C E
Before you begin using the New Document dialog box, you should: Understand how documents are used in publications. Know what document elements, information objects, and XSL stylesheets are. For more information, see Publications and Documents.
275
The options are as follows: Open Excel Document Editor Open HTML Document Editor Open Imported Document Editor
I N T E R F A C E
Open Plaintext Document Editor If you choose the second option, you must also choose the available information sources to access. You can choose to display the options as large or small icons, list, or details.
276
C H A PT E R
23
23.
23
The Portal Administrator Wizard allows you to configure the Subscription Portal, create site definitions, configure data sources and portal layouts, publish services and device types, select default services, and specify information source properties and default portal preferences. The wizard also allows you to manage the portal to allow end users to subscribe to a variety of services through the MicroStrategy Web. For more information about these features, see Managing a Channel, Adding and Editing Database Connections in Subscription Portal, Managing Device Types, Configuring Subscription Sets, and Creating and Managing Sites and Subscription Portal.
Accessing the Portal Administrator Wizard
I N T E R F A C E
From the Start menu, select Programs, MicroStrategy, Narrowcast Server and then choose Portal Administrator.
Prerequisites
Before you use the Portal Administrator Wizard, you should: Understand the relationship between a portal and a site Know the workflow of creating a service through the Service Wizard Know the objects that are created for the specific portal and are configured for the site being defined For more information about these topics, see Portal, Site definition, and Creating Services.
277
Site Management section Site Preferences section Services Configuration section These features are explained in detail in the following sections.
The System Configuration Welcome page provides an overview of the Portal Administrator Wizard. This page details the responsibilities of the portal administrator and lists the features of the Portal Administrator Wizard.
Portal Repository page
The Portal Repository page displays the options to select or delete an existing database connection or create a new database connection. To select an existing database connection, enter the table prefix for the database. To create a new database connection, click Add a new database connection. To delete an existing database connection, click Delete next to the database.
278 Chapter 23 Portal Administrator Wizard
The Portal Repository page consists of the following page: Add a new database connection page
Add a new database connection page
The Add a new database connection page allows you to create a new database connection. To create a new database connection, click Add database connection. This page displays the following fields:
Field
Database connection name Database SequeLink server name ODBC data source name
Description
Enter a name to refer to the connection you are creating. Select the type of database (SQL Server, Oracle, or DB2) from the drop-down list. Enter the name of the computer on which SequeLink is installed and running Enter the name of the ODBC DSN on the SequeLink computer, which corresponds to the database to which you want to connect. Enter the login ID that the Subscription Portal should use when it accesses the database. Enter the password that the Subscription Portal should use when it accesses the database. Retype the password for confirmation. Enter the number of external connections to connect to the database server.
I N T E R F A C E
Summary page
The Summary page helps you to review the steps you completed in the System Configuration section. Click Next to advance to the Site Management section.
279
The Site Management section consists of the following pages: Overview page Site Definition pageThe Site Definition page lists the sites that are already defined in the current Portal Repository. You can select an existing site definition or create a new site definition for the users to view through the Web browser. Summary page These pages are explained in detail in the following sections.
Overview page
I N T E R F A C E
The Site Management Overview page provides an overview of the task you will perform in this section. It details the information you need prior to creating a site definition.
Site Definition pageThe Site Definition page lists the sites that are
already defined in the current Portal Repository. You can select an existing site definition or create a new site definition for the users to view through the Web browser. To configure a different portal, click Click here. To create a new site definition, click Add a new site definition. To edit an existing site definition, click Edit. To delete an existing site definition, click Delete.
Note the following: To proceed to the Site Preferences section, select the site definition you just created or edited and click Next. To go to the active Subscription Portal, click the portal name in the upper left corner of the page.
The Site Definiton page consists of the following pages: Select or Create Portal page Site Name and Description page Object Repository page Subscription Book Repository page
Select or Create Portal page
The Select or Create Portal page lets you select an existing Subscription Portal or create a new portal.
280
To select an existing portal, select the portal to be activated and click OK. To create a new Subscription Portal, enter a name for the new portal in the Portal name field and click Create New Portal. To delete an existing portal, click Delete next to the portal to be deleted.
After you create a new portal, the Site Definition page appears again.
The Site Name and Description page allows you to enter a Name and Description for the site. Click Next to continue.
Object Repository page
I N T E R F A C E
The Object Repository page displays the list of existing Object Repository database connections. You can select an existing database connection or create a new database connection. To select an existing database connection, enter the table prefix for the database in the Tables prefix field and click Next. To create a new database connection, click Add a new database connection.
If the Subscription Book Repository and the Object Repository connections are stored in the same database location, select the Use the same database connection for the Subscription Book Repository check box.
The Subscription Book Repository page displays the list of the existing Subscription Book Repository database connections. You can select or delete an existing database connection or create a new database connection. To select an existing database connection, enter the table prefix for the database in the Tables prefix field and click Next. To create a new database connection, click Add a new database connection. To delete a database connection, click Delete next to the database connection to be deleted.
281
Summary page
The Summary page helps you to review the steps you completed on the Site Management section. Click Next to proceed to the Site Preferences section.
I N T E R F A C E
The Site Preferences Overview page provides an overview of the task you will perform in this section.
Channels page
The Channels page lists all the channels for site definition. To edit the channel folder name or description, click Edit next to the channel. To delete the channel from the Subscription Portal, click Delete next to the channel. To select a new service folder for the Subscription Portal, click Add a new channel. The Channels page consists of the following pages: Select the Channels Folder page Channel Name and Description page
282 Chapter 23 Portal Administrator Wizard
The Select the Channels Folder page allows you to select a service folder for the channel. Click Next to continue.
Channel Name and Description page
The Channel Name and Description page displays the default channel name and description. To change the name and description of the channel, enter a Name and Description. To enable the channel and make it visible to the user through the Subscription Portal, select the Channel Enabled check box.
Device Types page
I N T E R F A C E
The Device Types page displays a list of the device types defined for the current site. To edit the name of the device type, click rename next to the device type. To edit the properties of the device type, click definition next to the device type. To delete the device type from the options available to the user, click Delete next to the device type. To edit the device folders of the device type, click edit device folders next to the device type. To create a new device type, click Create a new device type. The Device Types page consists of the following pages: New Definition page Device Folders page
New Definition page
The New Definition page displays information relating to the device type. This page is the same for editing a device type definition; however, when editing a device type definition, you cannot edit the device type name. This page provides the following options: Device Type Name: Enter the name of the device type. The name should accurately describe the group of devices, for example, faxes, pager, and e-mail. Large icon URL: Enter the path of the large icon to be displayed on the Addresses page of the Subscription Portal.
283
Small icon URL: Enter the path of the small icon to be displayed on the Addresses page of the Subscription Portal. Address format: Select the appropriate validation to be applied to addresses created for devices within this device type. Validation occours when the subscriber enters an address in the Subscription Portal.
I N T E R F A C E
E-mail requires that all addresses created for this device type follow the standard e-mail address format, for example, yourname@company.extension. Numeric requires the user to enter an address for the device type using only numbers, parentheses, and dashes. No validation allows the user to enter any combination of text and numbers into the address field.
Display fields: Select the following check boxes to determine which attributes appear on the Addresses page:
Address Name shows the name given to each address by the user, for example, My Email. Address Value shows the physical value of each address, for example, yourname@company.extension. Style displays the specific device for which the address was created. Delivery Window shows a specific time for services to be delivered to each address, such as sending services to a mobile telephone only during the morning hours.
Edit fields: Select the check boxes to determine which attributes of an address the user can edit in the Subscription Portal:
Address Name allows the user to give a name to each address (cannot be disabled). Address Value allows the user to enter the physical value of the address (cannot be disabled). Style allows the user to select the device for which the address is defined (cannot be disabled). PIN allows the user to enter a personal identification number (PIN) that is used when sending content to the address. Delivery Window allows the user to enter a start time and an end time during which services can be delivered to the address.
The Device Folders page displays the list of available and selected devices in the device type folder.
284
To activate the folder for the specific device type, select the check box next to the folder or folders. Use the toggle button to the move selected folders to the Selected side of the table.
Any given device folder can only be used for one device type. Once the folder is used for one device type, it is no longer available for other device types.
The Device Settings page displays the default settings for the devices. To set the address format for a device, select the appropriate option from the Address format list. To select a another device, click Change. To disable the device, click Disable next to the device.
I N T E R F A C E
When you select the Default Device, you must select the validation for the address format. For more information about the options of the address format, see New Definition page.
The Information Sources page displays the list of information sources. Select the authentication method for each information source. Click Next to continue.
Preferences page
The Preferences page displays the list of default values set for the users of the portal interface. You can modify the following settings on the Preferences page: Project Settings Enable creation of new accounts: Select Yes or No from the dropdown list to allow or prohibit the creation of new accounts through the Subscription Portal interface. New account expiration: Set the expiration date for a new user account created in Narrowcast Administrator.
no expiration: This is the default option and does not set an expiration date on new user accounts. on (mm/dd/yyyy): Enter a date in this box to indicate that all new user accounts terminate on the given date.
Portal Administrator Wizard layout 285
after (nn) days: Enter a valid number in this box to indicate that all new user accounts expire after the given number of days.
Interface Settings
I N T E R F A C E
Default use DHTML: Select one of the following options to determine the use of DHTML on the users Web browser:
Determine Automatically: Enables the use of DHTML only if the users Web browser supports DHTML. Yes: Enables the use of DHTML even if the browsers do not support DHTML. No: Disables the use of DHTML even if the browsers support DHTML. Selecting Yes or No does not change the default DHTML settings of the users Web browsers. Use the Determine Automatically option if the DHTML is not working properly.
Cache Storage Mechanism: While creating subscriptions, the Subscription Portal has the option of writing temporary data to one of the following locations: Session variables stores the temporary subscription data in the memory. Temp files directory stores the temporary subscription data in temporary files in the specified directory.
Display questions overview page for personalized services: When a user creates a new subscription, an overview page appears if the subscription has personalization. Selecting one of the following options determines whether this page appears in the Subscription Portal.
Always displays the Summary page regardless of how many questions are being asked. Only when there is more than one question displays the Summary page only if multiple questions are asked by the user. Never does not display the Summary page.
Administrator information E-mail allows you to enter the e-mail address of the Technical Support. Telephone number allows you to enter the telephone number of the Technical Support. Login mode
286
Narrowcast Server Normal (User Name and Password): Select this mode if the Subscription Portal users will use Narrowcast Server credentials (NOT Intelligence Server logins or NT authentication). MicroStrategy Intelligence Server Normal (User Name and Password): Select this mode if the Subscription Portal users use Intelligence Server credentials (NOT Narrowcast Server credentials or NT authentication). MicroStrategy Intelligence Server NT (NT User Name): Select this mode if the Subscription Portal users use NT authentication (NOT Narrowcast Server or Intelligence Server credentials) Intelligence Server name: Provide a MicroStrategy Intelligence Server name if you select the MicroStrategy Intelligence Server Normal or the MicroStrategy Intelligence Server option. The login mode feature allows existing users of MicroStrategy Intelligence Server to use the Subscription Portal interface without creating a new Narrowcast Server user. When this feature is enabled, the Intelligence Server user can log on to the Subscription Portal using the same login method that they use to log on to MicroStrategy Web. The first time a user logs on to Subscription Portal, a Narrowcast Server user is created and the two user accounts are linked together. This happens transparently to the user, so the user is never aware of the fact that there are technically two user definitions. For more information about the login mode feature, see Login Mode.
I N T E R F A C E
287
I N T E R F A C E
Note the following: Intelligence Server authentication only works for Normal login mode and NT authentication, not for LDAP authentication, database authentication, or Guest user login modes. When using Intelligence Server authentication, the Allow Users to Create New Accounts option in the Portal Administrator Wizard works as follows: If normal Narrowcast Server login is enabled, this setting controls whether or not the user sees a link to Create New Account on the login page. If the users choose this option, they create a Narrowcast Server user. Whether normal Narrowcast Server login is enabled or not, if either of the Intelligence Server authentication options are enabled, this setting controls whether or not a new Narrowcast Server user account is created if one does not already exist for the specified Intelligence Server user.
Prompt settings Number of items to be returned for element prompts: Specify the maximum number of elements returned by an element prompt. The default is 30. Number of items to be returned for object prompts: Specify the maximum number of elements returned by an object prompt. The default is 30.
The Subscription Portal stores prompt information in temporary files. These files can be used for debugging purposes.
Summary page
The Summary page helps you to review the steps you completed in the Site Preferences section. Click Next to proceed to the Services Configuration section.
288
I N T E R F A C E
The Services Configuration Overview page provides an overview of the default service configuration properties.
Services page
The Services page displays the list of services that are configured. To add a new service with personalization, click Configure another service. To edit a service configuration, click Edit next to the service. To delete a service configuration, click Clear next to the service. The Services page consists of the following pages: Select Services page Static Subscriptions page Configure Subscription Set page Select Question page Select Storage page Dynamic Subscriptions page Select Tables page Select Columns page
289
I N T E R F A C E
You only use the Services page when you are configuring a service with page-by questions or dyanamic subscription sets. If you do not have any services with page-by questions or dynamic subscription sets, click Next to proceed to the Finish page.
The Select Services page displays the list of folders and services that you can configure. Navigate through the folders to select the service to be configured.
Static Subscriptions page
The Static Subscriptions page displays the list of the Static Subscription sets associated with the service. This page allows you to configure and edit the default settings of the Static Subscription set. To configure the default settings, click configure. To edit the default settings, click Edit. To clear the default settings, click Clear.
Configure Subscription Set page
The Configure Subscription Set page displays the list of the page-by questions. This page allows you to select how the page-by question will be answered from the drop-down list. You can also select additional question prompts. The page-by questions can be answered in one of the following ways: User_ID writes the unique user ID of the subscriber to the Subscription Book Repository as the answer to the page-by question. Subscription_ID writes the unique subscription ID to the Subscription Book Repository as the answer to the page-by question. Address_ID writes the unique address ID of the selected address to the Subscription Book Repository as the answer to the page-by question. Answer to another question writes data to the Subscription Book Repository based on the information that the subscriber provides through a prompt in the Subscription Portal. The answer to the page-by question is either the value of the users answer to the alternate question or the ID of the preference object generated for that answer.
290
If there are additional questions, you can browse for those questions by clicking Browse in the lower left corner of the page and continue to answer another question.
Once you are done configuring the page-by questions for static subscription sets, you are returned to this page. Click OK to proceed.
Select Question page
The Select Question page displays the list of the alternate question objects. Select the alternate question that needs to be shown to the subscriber, and click Next to proceed.
You need to navigate through the services folders until you find the question object that corresponds to the specific question you want to use.
I N T E R F A C E
The Select Storage page displays the list of database connections and storage mappings. It allows you to select the Subscription Book Repository or create a new storage mapping for the Subscription Set. To select the storage mapping, select the appropriate option from the Database connections list. To create a new storage mapping, click Add a new storage mapping. Click Next to proceed.
Dynamic Subscriptions page
The Dynamic Subscriptiosn page displays the list of the Dynamic Subscription sets associated with the service. This page allows to configure and edit the default settings of the Dynamic Subscription set. To configure the default settings, click configure. To edit the default settings, click Edit. To clear the default settings, click Clear.
You can edit the settings for an individual subscription set in addition to the default settings. The settings for the individual subset override the default settings for that particular service.
The Select Tables page allows you to select the tables from the data warehouse where you store the answers or the subscription information for dynamic subscription sets. Use the toggle button to move the selected tables to the Selected Tables side of the table.
291
I N T E R F A C E
You can use the Filter table names box to restrict the list of table names that is returned. Use the percent sign (%) after the letter or string to return all entries beginning with that letter or series.
The Select Columns page defines how the questions are stored each time a subscriber answers the question through the Subscription Portal and how the dynamic subscriptions get written to the warehouse. This page also displays the storage mapping name. To change the current storage mapping name, edit the name in the Storage Mapping name field. To add the answer components, drag the components to the columns in the table.
Summary page
The Summary page congratulates you on completing the site configuration and allows you to link directly to the portal by clicking Finish.
292
C H A PT E R
24
24.
24
The Plaintext Document Editor allows you to create and format a plaintext document. You can add multiple XML information objects with the same stylesheet in a document and also select a different XSL stylesheet for an XML information object. For steps to create a plaintext document, see Creating Publications and Content Section Documents.
Accessing the Plaintext Document Editor
I N T E R F A C E
Right-click Applications, point to New, then choose Document. The New Document window opens. From the Create a new Narrowcast Server document option, double-click Plaintext Document.
Prerequisites
Before you begin using the Plaintext Document Editor, you should: Understand how documents are used in publications Know what document elements, information objects, and stylesheets are For more information on the above topics, see Publications.
293
A menu bar that offers standard Windows menus (Edit, View, and Help) as well as File and Insert menus that contain Delivery Enginespecific options A toolbar that provides the ability to:
I N T E R F A C E
Open a document Save the document and exit Perform cut and paste operations Insert an information object (click the button to create a new information object; click the arrow to see the available information sources and kinds of information objects as well as the option to insert a new or existing information object)
In addition, some of the same options are offered via the right-click menu. If you right-click in the content definition pane, you can insert information objects. Also, you can double-click the objects in the document element pane. If you double-click Document Element 1, Document Element 2, and so forth, the Document Element Properties dialog box appears. If you double-click the name of an inserted object, the Information Object Wizard appears. The Choose XML Information Object Destination dialog box is accessed only when you select a document element containing an XML information object and then add another XML information object.
Menu bar
The File and Insert menu bar options contain items unique to the Delivery Engine. The following tables describe the contents of each.
File menu options
Function Allows you to create a new document from within the document editor Allows you to browse for an excel document to edit within the document editor Saves the Excel document; if this is a new document, the Save As dialog box opens Saves the Excel document with a new name
294
Function Opens the Document Properties dialog box in which you can select the documents locale from a list of all available locales and specify error handling rules for the document Closes the Document Editor; if changes have been made, you will be prompted if you want to save
Close
I N T E R F A C E
When you insert an XML information object that was created for the MicroStrategy Information Source, an XSL stylesheet is automatically selected.
295
I N T E R F A C E
296
C H A PT E R
25
25.
25
The Subscription Set Properties dialog box allows you to add, remove, or modify SQL statements to be used before and after subscription sets are executed. Pre- and Post-SQL statements are optional for subscription set execution. You can also enable one-time immediate delivery for subscriptions that is similar to the Send Now functionality in MicroStrategy Web. For steps to create and use the subscription sets, see Creating and Managing Subscription Sets.
Accessing the Subscription Set Properties dialog box
I N T E R F A C E
You can access the Subscription Set Properties dialog box from the Static Subscription Set Editor or the Dynamic Subscription Set Wizard. In the Static Subscription Set Editor, from the Edit menu, select Subscription Set Properties. Or In the Dynamic Subscription Set Wizard, on the Pre- and Post-SQL Definition page, click Define.
Prerequisites
Before you begin using the Subscription Set Properties dialog box, you should: Identify the SQL statements needed before segmentation and after service execution. Determine the name, connection information, number of necessary retries, service execution impact, and the SQL definition for these SQL statements. For more information, see Subscriptions and subscription sets.
297
Pre-execution SQL Specification tab, which lists the SQL statements that run before segmentation occurs. Post-execution SQL Specification tab, which lists the SQL statements that run after the service executes. Send Now tab, which enables a one-time immediate delivery. On the Pre-execution SQL and Post-execution SQL tabs, a list of SQL statements appears, with the following details: Name: The name of the SQL statement. DSN: The data source name needed to connect to the appropriate database. SQL: The SQL statement. Execution Impact: Whether the SQL statement is required or optional for the service being sent to this subscription set. This information is entered in the SQL statements dialog box (see SQL statements dialog box layout, below). The following buttons appear at the bottom of the Pre- and Post-SQL Specification dialog box: Add: Displays the SQL statements dialog box, which allows you to create a new SQL statement. Remove: Allows you to remove the selected SQL statement. Edit: Displays the SQL statements dialog box, which allows you to edit the selected SQL statement. The arrows on the right side of this dialog box allow you to move the statements up and down within the list if multiple SQL statements are listed. The SQL statements are executed in the order in which they are displayed (top to bottom). On the Send Now tab, you must select the Enable send now delivery check box to enable the Subscription Portal users to have the option for a one-time immediate delivery similar to Send Now in MicroStrategy Web. The subscription set, which has this check box enabled should be used only with a schedule that has the On Demand Schedule property enabled. Otherwise, it can result in slower performance due to loading of the service. This subscription set deletes all the subscriptions in it once the service is delivered.
298
Connection Data Source Name Select the data source name (DSN) needed to connect to the database against which this SQL statement will execute. Enter the login for the database. Enter the password for this login. (Optional) Enter the name of the database. If this is not specified, the default database is assumed. Click to verify that this connection information is valid. Select or enter a number to indicate the number of times a failed SQL statement should retry before stopping. Pre SQL Errors in SQL statement execution do not impact service execution and a minor error is logged. Post SQL Errors in SQL statement execution do not impact any subsequent PostSQL statements and a minor error is logged. Stop execution of any subsequent Post-SQL statements and log an error if SQL statement returns an: Empty result set Error Note: The two check boxes are active only when the Required radio button is selected. At least one check box must be selected.
I N T E R F A C E
Test Connection SQL Retries Number of retries for failed SQL statement executions Service Execution Impact Optional
Required
Stop service execution and log an error if SQL statement returns an: Empty result set Error
Note: The two check boxes are active only when the Required radio button is selected. At least one check box must be selected.
299
Description Select to indicate that any result that returns zero records cause the service execution to stop and a log file is created. This check box is available in the SQL statements dialog box for Pre-execution SQL and Post-execution SQL statements Select to indicate that a SQL statement that returns an error cause the service execution to stop and a log file is created. This log file, Delog*.txt, can be found in the location C: \Program Files\MicroStrategy\Narrowcast Server\Delivery Engine. This check box is available in the SQL statements dialog box for Preexecution SQL and Post-execution SQL statements.
I N T E R F A C E
Error
SQL Definition SQL Statement Insert Parameter Enter a single SQL statement. Click to see a list of parameters that you can select and insert into your SQL statement at the position of your cursor. Parameters are used to include information about the service being executed in your SQL statement. For more information, see Pre- and post-service execution SQL.
300
C H A PT E R
26
26.
26
The Question Object dialog set is a series of dialog boxes that allow you to quickly create a new question object, either from a MicroStrategy or User Information Source. A question object is a set of questions that the end user answers to personalize the content of an information object. They allow services to be personalized at the information object, or report, level.
I N T E R F A C E
You do not see an interface named Question Object dialog set; it is a term for a series of dialog boxes that allow you to perform an action.
For instructions on creating question objects, see Creating Information Objects and Question Objects.
Accessing the Question Object dialog box
Before you begin using the Question Object dialog set, you should: Understand what a question object is and how it is used. Ensure that the system administrator has defined an information source. Ensure that, in the project source, a report has been set up to be associated with the question object.
302
You can create two kinds of question objects. Each has its own potential problems. Question object using personalized report execution Question object using personalized page execution
Question object using personalized report execution
I N T E R F A C E
A personalized report execution question object must contain a superset of information object prompts. This is necessary because one question object can be used by multiple information objects. You cannot continue without changing your selection. A personalized report execution question object for an information source with security should have the same security object prompt as the information source. If not, the security object is not applied and the information object might fail. You are warned but can continue without changing your selection.
Question object using personalized page execution
A personalized page execution question object for an information source with security should have the security object prompt as the information source. This enables Narrowcast Server to limit the available page choices for a particular user based on his security object. If the security object is not present, the users available page choices are not limited. You are warned but can continue without changing your selection. A personalized page execution question object must contain at least one attribute form on the page axis of the report. The first attribute form must be the same one as on the information object using this question object. You cannot continue without changing your selection.
This validation only occurs for question objects created from within the Information Object Wizard. Otherwise the question object is not associated to any information object and the first attribute forms cannot be compared.
303
I N T E R F A C E
304
C H A PT E R
27
27.
Service Editor
27
The Service Editor allows you to create a new service or modify the properties of an existing service. It provides access to all service-level settings and is more robust and flexible than the Service Wizard, which provides a simplified but less powerful way to build services. Use the Service Editor to do the following: Add multiple publications to a service to support more than one set of devices per delivery method or more than one locale Use existing publications, schedules, and subscription sets Create new publications, schedules, and subscription sets on the fly Set service properties such as start and end dates, service priority segment size, and service expiration Edit an existing service, whether it was created through the Service Editor or Service Wizard For steps to create a service using the service editor, see Creating and Managing Services and Schedules. Use the Service Wizard to: Create new documents, schedules, and subscription sets on the fly Be guided step by step through the process of creating a new service using multiple delivery methods and the default devices and locale For more information on the Service Wizard, see Service Wizard.
Accessing the Service Editor
I N T E R F A C E
Before you begin using the Service Editor, it is recommended that you understand how services integrate with publications and subscriptions For more information, see Creating Services.
305
Subscription Sets and Schedules General Properties Service Execution Timeout Save Service dialog box It also has a Menu bar that contains the File, View, Edit, and Help menu items.
Menu bar
The File and Edit menu bar options contain items that are unique to the Delivery Engine. The following tables describe the contents of each.
File menu options
Menu option New... Service Publication Schedule Subscription Set Open Service
Function
Allows you to create a new service from within the Service Editor Opens the Publication Wizard so that you can create a new publication from within the Service Editor Opens the Schedule Wizard so that you can create a new schedule from within the Service Editor Opens the Subscription dialog box so that you can create a new subscription set from within the Service Editor Allows you to save and close the service you are currently defining and open a different existing service
306
Function If the Content tab is displayed and a publication is selected, opens the Publication Wizard so that you can edit this publication from within the Service Editor If the Subscription Sets and Schedules tab is displayed and a schedule is selected, opens the Schedule Wizard so that you can edit this schedule from within the Service Editor If the Subscription Sets and Schedules tab is displayed and a subscription set is selected, opens the appropriate subscription set dialog box so that you can edit this subscription from within the Service Editor
I N T E R F A C E
Message Contents
The locale drop-down list displays the list of devices and publications supporting the devices for that locale in the display pane. This is useful for quickly determining what publications support a particular device for the locale.
If a publication does not support a given locale-device combination, a user with that locale subscribing an address with that device does not receive the service.
The Available Publications tree allows you to browse existing publications. You can Add or Remove publications from the Selected Publications list. The up arrow and down arrow change the priority ranking of the selected publication. As publications are added, they are also displayed in the ITM/Device/Publications grid in the corresponding row. You can create a New publication or Edit a publication. In both cases, the Publication Wizard opens. You can also right-click within the Available Publications tree to create a new publication or edit an existing publication. See chapter 28, Publication Wizard for more information on creating or editing a publication.
If multiple publications use the same ITM and device, only the one with the highest priority is displayed in the ITM/Device/Publications grid. A subscriber receives the highest-priority publication with a locale and device that matches the locale and device defined in the subscription. An icon is displayed next to the publication to warn of a possible conflict.
307
I N T E R F A C E
General Properties
The General Properties tab allows you to define the following: Start Date and End Date (optional): The service executes between these two dates on the interval determined by its schedule; if they are not changed, the service starts today and runs indefinitely. The service execution period determines when a service will run automatically as scheduled. Outside of this time period, the service is not executed even if scheduled. Priority: Determines which services will be executed first; higher priority services run before lower priority ones. Segment Size: The number of recipients per segment; at run time, the total number of recipients will be divided into segments of this size. Description: A description, up to 5000 characters, of the service. Segment Execution Timeout: Specifies the timeout period for each segment in this service; the default is 1 hour.
308 Chapter 27 Service Editor
The segment expiration period should be set according to how long the service content is expected to take to be sent to the number of recipients a segment can have. The purpose is to avoid hanging the system if a segment does not execute. The system retries up to the number of times set in the System Governing Settings dialog box. (For more information, refer to the Narrowcast Server System Administrator Guide.)
Segment execution timeout should be set longer than the time it takes to run a segment. This prevents a segment from timing out while it is being sent.
I N T E R F A C E
A services start date and its schedule interact with each other to determine an overall schedule for the service. Schedules define particular periodicities (every week, every second Tuesday, every third month), and a services start date is the starting point for the calculation of these periodicities. Thus, two services that use the same schedule but have different start dates can have very different overall schedules. For example, a quarterly update service that uses an Every Three Months schedule and starts on January 1, generates messages on April 1, July 1, October 1, and January 1. The same service starting on February 1, generates messages on May 1, August 1, November 1, and February 1. The only difference between these two services is that they have different start dates, thus changing the starting point of the schedule calculation. Note that in the case above, the best implementation of a quarterly schedule is to build a schedule that explicitly states the months in which to run, thereby avoiding the issue of having execution times that depend on the start date. To verify that a service start date and schedule are interacting as expected, activate the service. Then view the Scheduled Services folder under the Administration folder when the system is running to see when the service will be triggered in the future.
309
You select an execution timeout option from the following: Never Time Out: The service runs forever. Time Out at Specific Time: The service ends at the time entered in the selected time zone.
I N T E R F A C E
Offset Timeout from Service Execution Start: The service runs for the specified length of time from the start of service execution. For example, if this is set to two hours and the service is triggered at 8 P.M., any segments that have not been executed by 10 P.M. are cancelled.
310
C H A PT E R
28
28.
Publication Wizard
28
The Publication Wizard allows you to quickly create a new publication. Use the Publication Wizard to do the following: Create a new publication Edit a publication For instructions on the above topics, see Creating Publications and Content Section Documents.
Accessing the Publication Wizard
I N T E R F A C E
Right-click anywhere in the Applications folder, point to New, then choose Publication.
Prerequisites
Before you begin using the Publication Wizard, it is recommended that you: Understand how publications integrate with services Be familiar with the concepts of selection locales, information transmission modules, devices, and documents Ensure that the system administrator has set up the appropriate locale, information transmission module, and devices for this publication For more information on the above topics, refer to the following Concepts topics: Publications Creating Services For information on locales, see the Locales section in the MicroStrategy Narrowcast Server Architecture chapter of the Narrowcast Server System Administrator Guide.
311
Name and Description Delivery Method Selection Locale Supported Devices Message Contents Delivery Method Rules Summary Click Next to advance to the next page of the wizard. Click Back to go back to the previous page. Click Cancel at any time to exit the wizard without saving any changes.
Welcome
This page provides a brief summary of the steps required to create a publication. You can choose not to display this page again in the future.
Delivery Method
This page provides a list of every information transmission module (ITM) registered in the system. Choose the Delivery Method that will deliver the service. Once the publication has been saved, you cannot change the ITM without redoing the entire publication definition. In effect, it is same as deleting the publication and starting a new one.
Selection Locale
This page provides a list of locales available in the system. Choose the Selection Locale that this publication will support. This locale defines which users will receive the content of this publication. It must match the
312
user locale (selected by either the subscription administrator via Narrowcast Server or by the user via Subscription Portal). Once the publication has been saved, the locale cannot be altered.
Supported Devices
The available devices for the delivery method chosen previously are listed in the Available column. The Add button moves the selected device from the Available column to the Selected column. The Remove button moves the selected device from the Selected column to the Available column. The devices in the Selected column are used for the publication.
I N T E R F A C E
Message Contents
The Available Documents browser on the left displays the Applications folder. On the right, the Content Sections are listed, which are place holders provided by the ITM. For each Publication area, select one or more documents, which define the content of the publication. You can create a new document by clicking anywhere in Available Documents and clicking New. The New Document dialog box opens. You can edit an existing document in both browsers by selecting it and clicking Edit. The appropriate document editor opens.
Note the following: Documents used as the subject, a text attachment, or a binary attachment should have names that can be shown with US ASCII characters, unless the publications using them are only being sent to devices that support other character sets for subject and attachment names. If the name of such a document cannot be shown with US ASCII characters, the publication is not sent to devices that do not support other character sets for subject and attachment names. For a custom ITM, different Publication areas might be provided.
When you select a document from the browser, the areas to which it can be added are displayed in bold type. Choose an area and click Add. If the Add button is unavailable, the selected document-section combination is not allowed by the ITM. For more details, click Rules to display the Content Definition Rules dialog box. This summarizes the rules specified by the ITM. Until these rules are satisfied, the Next button is not enabled and you cannot complete the publication. For example, if the E-mail (SMTP) ITM
Publication Wizard layout 313
must have at least one document in the Subject, Plaintext Body, or HTML Body sections, the Next button is not enabled until you add a document to one of those sections. Once a document has been added to a section, you can select the Do not deliver if document fails check box under the Document Sections tree. If this option is chosen, and the document cannot retrieve content from its information source or the content cannot be formatted, the publication is not sent. The Remove button deletes the selected document from the document section.
I N T E R F A C E
The Publication Wizard does not support creating new zipped sections or displaying the zip status of documents. This can only be done when you create a service using the Service Wizard. However, if you add content to a publication section that is already compressed, or zipped, the new content can still be added and will also be zipped. For more information, see Service Wizard.
The Publication Sections available for the E-mail (SMTP) ITM are as follows: Subject Message body (Text) Message body (HTML) Text and binary attachments: used to attach any binary files such as WAV, zip, and the like Execution control (advanced): overrides the default information transmitter settings; see Appendix A: E-mail and Wireless (SMTP) ITM Execution Control Documents for more information
For the E-mail (SMTP) ITM, one document is required, but this document can go into any Publication Section.
The Publications Sections available for the Print ITM are as follows: cover page: allows one or more text or HTML documents; these are printed first in the order they appear in the interface
314
documents: requires at least one text, PDF, imported, or HTML document; these are printed second in the order they appear in the interface
File ITM Publication Sections
The Publications Sections available for the File ITM are as follows: saved documents: requires at least one document of any type; one or more are allowed execution control (advanced): allows only one text document; this document is optional. For more information, see Appendix B: Changing File Names and Extensions: Execution Control Documents.
SMS (SMPP) ITM Publication Sections
I N T E R F A C E
The Publication Sections available for the SMS (SMPP) ITM are message body: required and limited to one plaintext document) execution control document (advanced): overrides the default information transmitter settings; this document is optional and limited to one plaintext document. For more information, see Appendix C: SMS (SMPP) ITM Execution Control Documents
Web (Portal) ITM Publication Sections
The Publication Sections available for the Web (Portal) ITM are as follows: document body: can be one HTML or one plaintext document attachments: can be any number and any type of documents) link rendering style: an XSL stylesheet file that transforms ITMgenerated XSML into hyperlinks. These hyperlinks are then added to the bottom of the HTML message body for Subscription Portal messages. By using a different XSL stylesheet, the appearance of these hyperlinks can be changed.
Wireless (SMTP) ITM Publication Sections
The Publication Sections available for the Wireless (SMTP) ITM are as follows: subject message body (Text) message body (HTML)
315
text and binary attachments: used to attach any binary files such as WAV, zip, and the like execution control (advanced): overrides the default information transmitter settings; see Appendix A: E-mail and Wireless (SMTP) ITM Execution Control Documents for more information
I N T E R F A C E
Summary
This page provides a summary of the selections you made while building the publication. Review the information and click Finish to create the publication.
316
C H A PT E R
29
29.
29
The Schedule Wizard allows you to quickly create a new schedule or edit an existing schedule, which is the definition of the times or frequencies a service is executed.
I N T E R F A C E
The Schedule Wizard does not define a services start and end dates; these are defined using the Service Editor.
For instructions on creating services, see Creating and Managing Services and Schedules.
Accessing the Schedule Wizard
Right-click anywhere in the Applications folder, point to New, then choose Schedule.
Prerequisites
Before you begin using the Schedule Wizard, you should: Know how schedules integrate with services Understand how schedules execute a service For more information on the above topics, see Creating Services.
317
Click Next to advance to the next page of the wizard. Click Back to go back to the previous page. Click Cancel at any time to exit the wizard without saving any changes.
I N T E R F A C E
Introduction
This page provides a brief summary of the steps required to create a schedule. You can choose not to display this page again in future.
Recurrence Pattern
This page lets you to set the Recurrence Pattern, which is a schedule set to run the service. This schedule can be set at daily, weekly, monthly, or yearly level. Also, select a Start date for this schedule.
If the start date is a valid execution day for the schedule, the schedule is triggered beginning on that day. For example, if you specify the schedule to run every Tuesday starting on Tuesday, October 17th, 2000, the schedule runs on that day and every Tuesday thereafter. When you specify a schedule to run on the 29th, 30th, or 31st day for every x number of months, if the month does not have a 29th, 30th, or 31st day, the schedule is triggered on the last day of the month.
Interval
Time zone
This page lets you select a Time zone to use as a reference point for the service execution time. Choose the services Frequency and Starting Time: If the Executes once a day option is selected, the service frequency is set to once a day. You must also enter the service start time.
318
If the Executes multiple times a day option is selected, the service frequency is executed multiple times a day. You must also enter the service start time, finish time, and interval between executions. If the Executes all day option is selected, the service runs all day. You must also set the interval between executions.
On Demand Schedule
I N T E R F A C E
For Send Now schedules, select the On Demand Schedule check box. Select this check box for a Send Now schedule so that service execution is stopped before the segmentation of a service is performed. Segmentation is performed only when there is a subscription associated with the schedule that is fired. This prevents unnecessary loading of the Distribution Manager.
The status of a Send Now schedule is Not Demanded by default. When a user clicks the Send Now button in MicroStrategy Web, the status of the Send Now schedule changes to Demanded. Once service execution is completed, the schedule status changes back to Not Demanded. An Application Administrator can still deactivate or activate a Send Now schedule. To do this, right-click a schedule and select Active/Inactive. Selecting the On Demand Schedule check box is recommended if the following conditions are satisfied: Each service uses a separate on-demand schedule In a service, an on-demand schedule is paired with a single subscription set In a service, a subscription set is paired with a single on-demand schedule
319
Summary
This page provides a summary of the selections you made while building the schedule. The next 20 occurrences that the service will run are also listed. Review the information and click Finish to create the schedule.]
I N T E R F A C E
If the schedule is created using Narrowcast Administrator 8.1.x, you should create a new subscription set of the respective email, file, or print service, and add the schedule to the subscription set. If you do not add the schedule to a subscription set, the schedule will not be listed in MicroStrategy Web 8.1.x. To create the subscription set, right-click the required service and select Edit with Service Wizard. For more information about creating subscription set and schedules, see Subscriptions and Schedules.
320
C H A PT E R
30
30.
30
The Static Subscription Set Editor allows you to create a static subscription set, and add and delete subscriptions to and from a subscription set. You can also specify SQL statements to be executed before and after a static subscription set executes, set properties for individual users and subscriptions, and enable one-time immediate delivery similar to Send Now in MicroStrategy Web. For steps to operate the Static Subscription Set Editor, see Creating and Managing Subscription Sets.
Accessing the Static Subscription Set Editor
I N T E R F A C E
Right-click Applications, select New, then select Subscription Set. In the Subscription dialog box, select Static Subscription Set, then click OK.
Prerequisites
Before you begin using the Static Subscription Set Editor, you should: Identify which addresses you want to include Identify which subscriptions you want to remove Know the SQL statements you want to include for pre-processing and post-processing (if any) For more information, see Subscriptions and subscription sets. For more information on the Subscription Book, see The Subscription Book.
321
A Users and Addresses available in the Subscription Book pane on the left. The pane contains a list of addresses in the Subscription Book, that includes the status, address name, login ID, physical address, locale, device, and transmitter.
I N T E R F A C E
The left-hand pane is the same as the Subscription Book Editor and allows you to perform the same functions as in the Subscription Book Editor, such as adding and deleting users. The difference is that you can add users to new and existing subscription sets in the Static Subscription Set Editor, which you cannot in the Subscription Book Editor.
A menu bar that includes Subscription Set, Edit, View, Tools, and Help menus A toolbar that lets you:
Save and close the subscription set Add users Delete users Add addresses Delete addresses Add subscriptions Delete subscriptions Edit subscription, user, or address properties Add or remove filters Refresh the list Access online Help
You can sort addresses and subscriptions using a column by clicking the desired column header. Clicking the column header a second time reverses the sort order. In addition, buttons appear between the Subscription Set and Subscription Book lists. Select Subscribe Addresses to move the subscriptions in the Subscription Set. Select Delete Subscriptions to move the subscriptions out of the Subscription Set. The following topics discuss menu bar and toolbar options available in the Static Subscription Set Editor.
322
I N T E R F A C E
New User
Delete Addresses
323
I N T E R F A C E
Refresh
Descending
The toolbar
The Toolbar contains the most frequently used menu options. The details of the options are as follows: Save and Close saves and closes the subscription set. New User opens the User Properties Editor, allowing you to add a new user to the Subscription Book. Delete Users deletes the selected user. New Address opens the User Properties Editor for the selected user, allowing you to add a new address for that user in the Subscription Book. Delete Addresses deletes the selected address. Subscribe Addresses adds the address highlighted in the Subscription Book to the subscription set.
324 Chapter 30 Static Subscription Set Editor
Delete Subscriptions deletes the selected subscription. Edit opens the Subscription Properties Editor or opens the User Properties Editor for the selected user. Filter adds a filter to the list for the selected field. Remove Filter removes the filter from the list for the selected field. Refresh updates the list with the current information. MicroStrategy Narrowcast Server Help accesses online Help for the Static Subscription Set Editor.
I N T E R F A C E
325
I N T E R F A C E
326
C H A PT E R
31
31.
Service Wizard
31
The Service Wizard guides you through the steps of creating a new service, including selecting a delivery method, developing documents with dynamic content, and defining a schedule and subscription set. The Service Wizard allows you to select as many delivery methods as are available in your system. The resulting service will support users using the system locale and all devices for the chosen delivery methods. The Service Wizard creates a fully-functional service and all supporting application objects required for a fully-functional Narrowcast Server application. The following objects are created: Service: A service is created with the name and description entered on the Service Name page. Documents: Any documents required to provide the chosen content can either be created or selected using an object browsing interface. Schedules: Schedules can be created or selected using an object browsing interface. Subscription Sets: Subscription sets can be created or selected using an object browsing interface. Use the Service Wizard to: Create new documents, schedules, and subscription sets on the fly Be guided step by step through the process of creating a new service using multiple delivery methods and the default devices and locale edit existing service Use the Service Editor to: Add multiple publications to a service to support more than one set of devices per delivery method or more than one locale Use existing publications, schedules, and subscription sets Create new documents, schedules, and subscription sets on the fly
I N T E R F A C E
327
Set service properties such as start and end dates, service priority segment size, and service expiration Edit an existing service, whether it was created through the Service Editor or Service Wizard
I N T E R F A C E
Right-click anywhere in the Applications folder, point to New, then choose Service (Wizard). Or, double-click an existing service. The Service Wizard opens if the service is a simple service that can be edited in the Service Wizard.
Prerequisites
Before you begin using the Service Wizard, you should: Know what delivery method to use to send the service Understand how services integrate with subscriptions For more information on the above topics, see Creating Services.
328
Help information about the current page is displayed in the help window on the right. For more in-depth information about the page, click Get more help at the bottom of the window. To close the help window, click the question mark in the far right. Clicking it again reopens the help window.
Welcome
This section contains one page, Welcome. The Service Wizard guides you through creating a service in three steps: Selecting the delivery method Specifying message contents Defining subscription sets and schedules You can select whether to display this page in the future.
I N T E R F A C E
Delivery Methods
This section contains one page, Delivery Methods. Select one or more delivery methods. The following are always available: E-mail (SMTP) Web (Portal) Wireless (SMTP) SMS (SMP) Print File
You must select at least one delivery method. By default, E-mail (SMTP) is selected.
Additional delivery methods can be configured by the system administrator and are then available on this page.
Message Contents
This section contains the Message Contents page and a page for each delivery method selected in the previous section. Each of these pages is named <Delivery Method> Content, where <Delivery Method> is the name of the selected method, for example E-mail (SMTP) Content.
329
I N T E R F A C E
Each content page allows you to specify the content for each delivery method selected. For each delivery method, you can create new documents, insert existing documents, edit existing documents, save the document for use outside this service, verify the rules for content, and specify error handling. Each delivery method must have a certain amount and type of content specified for it. Each content page includes a toolbar with the following buttons: New: Click to create a new document for the selected section. Only the appropriate document types can be created. Use existing: Click to browse for an existing document to insert into the selected section. Edit: Click to edit the selected document. Rename: Click to rename the selected document (for new documents only). Delete: Click to remove the selected document from this service. Save As: Click to save the selected document and make it reusable in another service. By default, new documents are embedded and not available for other services. Specify Devices and Locales: Click to open the Devices and Locale Support dialog box. Use this to specify the devices and locale supported by the content. Compression: Click to open the Compression Properties dialog box. Use this to compress, or zip, documents in one content section in the selected delivery method. Rules: Click to open the Content Definition Rules dialog box. Use this to verify the types of documents required for this delivery method. Show Error Handling: Click to display the Error Handling dialog box. Use this to review and specify error handling settings for each document in this delivery method. Below the toolbar is a box listing the content sections available for this delivery method. To define content, highlight a section and click the appropriate toolbar to create, insert, or edit a document. The section name indicates both the types of document that can be used and how the content will be used. From the toolbar, you can select the devices and locale to use for this delivery method. By default, all devices and the System locale are selected. Right-click and select Specify Devices and Locale to change the selection. For more information, see Devices and Locale Support dialog box.
330
You can elect to include a compressed, or zipped, file for one content section using the selected delivery method. Several settings must be specified to produce the zipped file. For more information, see Compression Properties dialog box. Below the box listing the sections a message appears that tells you the type of content that must be included for this delivery method. Once you add the appropriate content, the message disappears. Select the Show advanced content sections check box to see additional content sections. These are sections not needed for basic applications, but which can provide additional power and flexibility for advanced users. For more information, see Creating Publications and Content Section Documents. To edit a document already inserted, highlight it and click Edit. You can also right-click on a document to access the same functionality as that provided in the toolbar. For more information on the rules and error handling settings, see the following topics: Delivery Method Rules Error Handling dialog box
I N T E R F A C E
331
Edit: Click to edit the selected subscription set or schedule. Rename: Click to rename the selected subscription set or schedule (for new subscription sets and schedules only).
I N T E R F A C E
Delete: Click to remove the selected subscription set or schedule from this service. Save As: Click to save the selected subscription set or schedule and make it reusable in another service. By default, new subscription sets and schedules are embedded and not available for other services. You can insert multiple subscription sets and schedules into a service.At least one schedule must be associated with each subscription set For more information on the Schedule Wizard, see Defining when a service is sent: Schedule Wizard. For more information on working with subscription sets, see the following Interfaces topics: Dynamic Subscription Set Wizard Static Subscription Set Editor
Use an existing schedule dialog box
This dialog box allows you to select an existing schedule to insert into the service. By default, the existing schedules in the Schedules folder are displayed. Select a schedule and click OK to insert the schedule, and close the dialog box.
Use an existing subscription set dialog box
The Use an existing subscription set dialog box lists the subscription sets that you can add to a service. Select a subscription and click OK to use the subscription, and close the dialog box.
Save As dialog box
The Save As dialog box lets you to save the selected subscription set or schedule. Choose the folder in which to save the file. Enter a name and click Save.
332
Service Summary
This section includes one page, Service Summary. This page provides an overview of the service definition, including a list of the content, subscriptions and schedules, and general settings. If any red text appears, you must go back to the appropriate wizard pages and complete the service definition as directed. You cannot continue without doing this. To change general settings for this service, click Modify General Settings. The General Service Settings dialog box opens. If no red text appears in the service definition, click Finish and save the service and return to the Narrowcast Administrator. To run the service immediately, highlight the service and click Run Immediately. For more information on service settings, see General Service Settings dialog box.
I N T E R F A C E
Red text appears if you have specified no subscription set and schedule pairs. Because this incomplete service is useful for testing purposes, you are allowed to click Finish and save the service.
333
I N T E R F A C E
In the Password section, select one of the following regarding passwords for your compressed files: Do not use password protection. Use the following password: (then type the password into the box) Use the address PIN for each recipient individually. If you select the third option, the service delivery is canceled for recipients whose subscribed addresses do not have a PIN specified. To specify a PIN, go to the User Properties Editor, Addresses tab, and click Advanced Properties to open the Advanced Properties for Address dialog box. For more information, see chapter 36, User Properties Editor. End users can specify their PINs through the Subscription Portal. For more information, see chapter 23, Portal Administrator Wizard. To change the compression level, select from the following: Maximum (slowest)
334 Chapter 31 Service Wizard
Medium Minimum None Maximum (slowest) is selected by default. For more information, see Compressed documents. Click OK to save your changes and return to the delivery method content page.
I N T E R F A C E
335
I N T E R F A C E
The time stamp at which a service expires is always transformed in terms of the Greenwich Mean Time (GMT), as a standard reference time zone. Therefore, the service execution time stamp (in local time) and the time stamp (in GMT) of the timeouts could reference different time zones.
Offset Timeout from Service Execution Start - causes the service to expire after a specified period after it begins executing. Select the days, hours, or minutes after which you want the service to expire. For example, if you want your service to expire after exactly 1 hour and 15 minutes after it begins executing, you can set the time accordingly. If the service is triggered at 8 PM, any segments that have not been executed by 9.15 PM are cancelled.
Configuring the timeout too low will cause the service to fail unnecessarily.
Segment Execution Timeout - specifies the timeout period for each segment in the service. The default setting is 1 hour. The Segment Execution Timeout should be set longer than the time it takes to run a segment. This prevents a segment from timing out while it is being sent.
336 Chapter 31 Service Wizard
The system tries to re-execute the segment for the number of times specified in the Maximum failover count in the System Settings dialog box. However, if this time taken exceeds the segment execution timeout, the service fails. For example, you have a service in which you have set the Segment Execution Timeout as 10 minutes, and the Maximum failover count as 10. When the segment is assigned for the first time, it takes 10 minutes to execute. If it fails and is reassigned, the segment time is reset. The failover segment can use the whole segment timeout time, which is 100 minutes, to execute. As a result, the service has a total of 110 minutes to successfully execute the segment. The Information Transmission Modules are not affected by the timeouts. They have an expiration by date for User, Address, or Subscription. If a user, address or subscription expires while a service is being executed, the service expires. For more information on the System Settings dialog box, refer to the Narrowcast Server System Administrator Guide. Service Execution Status - specifies the service should be failed if any of the segment fails and the remaining service segments should also be failed. The Fail service if any segment fails check box causes the service to fail if any of the segment fails. The Cancel remaining service segments check box causes the remaining service segments to be cancelled.
I N T E R F A C E
337
I N T E R F A C E
338
C H A PT E R
32
32.
32
The Subscription Book Editor allows you to administer users and addresses in the Subscription Book. You can also define personalization for these users. For steps to add these details in the Subscription Book Editor interface, see Managing a Subscription Book.
Accessing the Subscription Book Editor
I N T E R F A C E
Before you begin using the Subscription Book Editor, you should: Ensure that your system administrator has set up the appropriate information transmitters and devices. Ensure that your system administrator has set up the information sources. Collect the appropriate user information, including login ID, locale, and personalization. Collect the appropriate address information, including physical address, device, and delivery window. For more information on the above topics, see The Subscription Book.
339
A list of users and addresses in the Subscription Book, including status, address name, login ID, physical address, locale, device, and transmitter. A menu bar that includes Subscription Book, Edit, View, Tools, and Help menus. A toolbar that lets you:
Add users and addresses Edit user or address properties Delete users and addresses Add or remove filters to specify the addresses and displays shown in the editor interface Refresh the list Access online Help
The following topics address the menu bar and toolbar options available in the Subscription Book Editor.
Menu bar
The Subscription Book, Edit, View, and Tools menus contain items unique to the Subscription Book Editor. The following tables describe the function of these menu options.
Subscription Book menu options
Menu option Exit Function Closes the Subscription Book Editor
Delete Users
340
Function Opens the User Properties Editor for the selected user, in which you can add a new address Deletes the selected address or addresses Opens the User Properties Editor for the selected user, in which you can edit the user and addresses, add new addresses, and define personalization for this user
I N T E R F A C E
Remove Filter
Toolbar
The most frequently used menu options are placed on the toolbar where they are accessible by clicking buttons. The use of these buttons is described below. New User opens the User Properties Editor. This editor allows you to add a new user to the Subscription Book, and define personalization and other characteristics for the user. Delete Users deletes the selected user or users.
Subscription Book Editor layout 341
New Address opens the User Properties Editor for the selected user, allowing you to add a new address for that user in the Subscription Book. Delete Addresses deletes the selected address.
I N T E R F A C E
Edit opens the User Properties Editor for the selected user, in which you can edit the user login, address, preference, authentication and security, and user information for this user. Filter adds a filter to the list for the selected field. Remove Filter removes a filter from the list for the selected field. Refresh updates the list with the most current information. MicroStrategy Narrowcast Server Help accesses online Help for the Subscription Book Editor.
342
C H A PT E R
33
33.
33
The Subscription Book Synchronization Wizard allows you to add new users, delete obsolete users, remap users, import or update user attributes, and import or update user personalization and subscription in the Subscription Book. For instructions on completing one of the above tasks, see Managing a Subscription Book.
Accessing the Subscription Book Synchronization Wizard
I N T E R F A C E
From the Tools menu, select Synchronize Subscription Data. Or Click the Synchronize Subscription Data icon on the toolbar.
Prerequisites
Before you begin using the Subscription Book Synchronization Wizard, you should Have a file ready to be used for synchronization Know which type of file you want to use for synchronization Understand the delimited and LDIF file formats Be familiar with subscription book properties, including user and address information Know which attributes and values exist for individuals and groups in your source file Have subscription sets available for mapping subscriptions For more information on the above topics, see the following topics: The Subscription Book Subscriptions and subscription sets Synchronization with external sources
343
I N T E R F A C E
If you do not already have a synchronization file to use and want to export users from your MicroStrategy Intelligence Server, you can use the MicroStrategy Intelligence Server User Export Tool to create a comma separated values (CSV) file. See the MicroStrategy Intelligence Server User Export Tool section at the end of this chapter.
344
Welcome
This page provides you with a summary of what you can do in the Subscription Book Synchronization Wizard. Each step is described on this page.
Synchronization Options
This page allows you to: Select the source for synchronization Select the type of synchronization The Source Type section allows you to specify the source for synchronization information. This can be one of two types of flat files: Lightweight Directory Interchange Format (LDIF) File CSV File
I N T E R F A C E
To use a CSV file with the Subscription Book Synchronization Wizard, each user must be unique. The column that contains the unique strings representing the users identity need to be selected in the Distinguished Name is in column number field.
Select the source type from the Source Type drop-down list. Then browse to and select your source file in the File Location box, or enter the path and file name. If you select CSV File as the source type, you can select a separator, including a comma, space or tab from the Separator Character dropdown list. You can specify the column to use for the distinguished name. Two types of synchronization are available in the Synchronization Type section, which are represented by two radio buttons: First-time import. Enter name for user synchronization tables: By default, this option is selected, the first time you use this wizard. Enter the prefix to use for the user synchronization table. Reimport using previous synchronization table: Use this whenever you import using the same synchronization table you have used for previous imports. This is selected by default the second and succeeding times you use this wizard. Select the prefix to use for the user synchronization table. In addition, you need to select the appropriate import settings. Click Synchronization Settings to access the Synchronization Settings dialog box.
345
Which addresses to create or update for each user Which user and address attributes to synchronize Which source file attributes to map to the Subscription Book properties for users and addresses Whether to enable smart user remapping
The column that was specified as the distinguished name in Synchronization Options page needs to contain a unique user identity. This is not an issue for LDIF files as the LDIF file specification indicates which item is the Distinguished Name. All other items in the delimited file are interpreted as attributes to be available for mapping on subsequent mapping pages.
The first table lists all user properties in the Subscription Book User Properties column such as name, locale, activate and expire status, password, and password hint. The Source File Attributes column provides a drop-down list in each row. Each drop-down list contains all source file attributes where only one attribute can be specified for each row. For first-time synchronizations, blank is selected by default. For resynchronizations, the items are preselected to represent the mapping used during the last synchronization. If nothing is selected and a user is created, the user is created with the same default settings used in Narrowcast Administrator. At runtime, all mapped user attributes are imported. If nothing is selected for optional user attributes, these attributes will not be imported. If this is an existing user and nothing is selected for a given attribute, existing attribute is not overwritten unless you select to replace existing users in the Synchronization Settings dialog box. If this is a new user and nothing is selected for a given attribute, the default used when creating users through Narrowcast Administrators will be applied. If the Enable Smart User Remapping check box is selected, the Subscription Book Synchronization Wizard: Identifies users in the synchronization file who are not mapped to Subscription Book users. Identifies unmapped users in the Subscription Book. Determines which unmapped Subscription Book users have the same user name as unmapped synchronization file users.
346
If the user names match, users in the synchronization file are automatically moved to the Users Available for Remapping table on the User Addition or Mapping page. Users in the Subscription Book with matching names are also moved to the Users Available for Remapping table and mapped to the corresponding new users in the synchronization file in the Remove Users table on the User Removal or Mapping page. This is useful when a large number of users should be remapped as the process is then more automated. However, each mapping can be changed or not performed, as needed, on the appropriate wizard page. In the Address Property Mappings section, the Address Mappings dropdown list allows you to map address attributes to one of several addresses. This list includes address mappings that represent the action of gathering information from the synchronization source and mapping it to one address. Click Create Address Mapping to create a new entry in the list. Creating a new address mapping resets the table to its defaults (described below) so that source file attributes can be mapped to address properties for this address. Click Delete Address Mapping to delete an address mapping. Physical Address and Address Name are required but the same attribute can be used for both. The attribute name specified for the physical address should be used along with the users distinguished name to synchronize the address. Thus a table is created mapping address IDs in the Subscription Book Repository to a concatenation of the users distinguished name and the attribute name specified to contain the physical address. This mapping is stored for each address mapping so that it is available for resynchronizations. If this is a resynchronization, all existing address mappings should be shown. Address Display is also required. The Subscription Book address property mappings table lists all address properties in the first column, including name, transmitter, device, and so forth. The Source File Attributes column provides a drop-down list in each row. Each list contains all source file attributes where only one attribute can be specified for each row. If this is a first-time synchronization for the chosen address, Not mapped is selected by default. If this is a resynchronization for the chosen address, these items are preselected to represent the mappings used during the last synchronization for the chosen address. If an address is invalid, this information is logged to the log file and the address is skipped. Addresses are mapped by their names. If an address already exists with a same name as the address being imported, the older address will be overwritten with the new address. Existing addresses will be preserved unless you select to delete unmapped addresses in the Synchronization Settings dialog box.
Subscription Book Synchronization Wizard layout 347
I N T E R F A C E
I N T E R F A C E
Note the following: Address Name, Physical Address, and Address Display are required properties. These properties must be mapped to synchronization file attributes if address properties are synchronized. An address must exist on this page to synchronize user subscriptions on the next page.
Subscriptions
Subscriptions can be synchronized by defining subscriptions for the available address mappings. The Subscriptions page allows you to synchronize user subscriptions. If you choose to synchronize this information, the import file subscription information is always used and the chosen address is subscribed to the subscription sets indicated. The Address Mapping drop-down list displays all address mappings defined on the User and Address Properties page. You must select an address mapping to reset the default on the table (described below) and map subscriptions in the table below. An address mapping must exist on the User and Address Properties page to synchronize user subscriptions. This page also provides a table to indicate which addresses should be subscribed to which subscription sets. The details of the columns are: Subscription Set: Lists all subscription sets in the Subscription Book. Source File Attributes: Provides a drop-down list in each column. Each list contains all synchronization file attributes where only one can be selected for each row. For first-time synchronizations, nothing is selected by default. For resynchronizations, these items are preselected to represent the mappings used during the last synchronization for the chosen address mapping. Attribute Value Indicating Subscription: This column is enabled only if a mapping is chosen in the second column. You can enter a string representing the value that indicates that the selected address should be subscribed to this subscription set. For example, if you want to subscribe a particular user to a subscription set, you could select the attribute givenname and enter givenname=name (where name equals the users given name. If you want to subscribe a group of users to a subscription set, you could select a common attribute such as language and enter language=English (if those users share that value for the language attribute).
348
At run time, all addresses indicated (by selecting an address mapping) are subscribed to the indicated subscription sets. Existing subscriptions of the subscription sets are preserved unless you select Delete subscriptions from the subscription book that are not found in the synchronization source in the Synchronization Settings dialog box.
Preferences
User preferences can be synchronized by mapping synchronization file attributes to each question object. The Preferences page allows you to synchronize user preferences. This does not allow a user-by-user specification of whether to use import file preferences information. If you choose to synchronize this information, the latest information is always used. The details of the columns are as follows: Information Source: Lists all information sources. Object Personalized: Lists all the question objects for the information sources. Attribute Containing Preference: Provides a drop-down list in each row. Each list contains all synchronization file attributes where only one can be specified for each row. For first-time synchronizations, Not mapped is selected by default. For resynchronizations, these items are preselected to represent the mappings used during the last synchronization. The string returned by the specified synchronization file attribute is passed in directly as the user preference. The fourth column provides a drop-down list in each row. This column is enabled only after the third column is successfully mapped. Each list contains all synchronization file attributes where only one can be specified for each row. For first-time synchronizations, nothing is selected by default. For resynchronizations, these items are preselected to represent the mappings used during the last synchronization. The string returned by the specified synchronization file attribute is passed in directly as the user preference name. The string returned by the specified synchronization file attribute is passed in directly as the user preference string, something recognized only by the particular information source. Following is a sample preference string for the MicroStrategy information source.
<rsl> <pa pt="7" pin="0" did="A20C9CF311D60AE310008BB3D1CEE6A4" tp="10"> <mi> <es>
I N T E R F A C E
349
<at did="8D679D4B11D3E4981000E787EC6DE8A4" tp="12"/> <e emt="1" ei="8D679D4B11D3E4981000E787EC6DE8A4:1" art="1" disp_n="Northeast"/> </es> </mi> </pa> </rsl>
I N T E R F A C E
The IDs represented here are IDs for report, attribute, and attribute element. For more information on the MicroStrategy information source preference string, refer to Appendix E, Synchronization Data Types.
Security
User security objects can be synchronized by mapping a synchronization file attribute to each information source. The Security page allows you to import user security. If you choose to import this information, the latest information is always used. This is accomplished in the table, in which the first column lists all information sources sorted alphabetically, and the second column provides a drop-down list in each row. Each list contains all synchronization file attributes where only one can be specified for each row. For first-time synchronizations, nothing is selected by default. For resynchronizations, these items are preselected to represent the mappings used during the last synchronization. The string returned by the specified synchronization file attributes is passed in directly as the security object. At run time, the indicated security objects are created. If this is an existing user, all existing user security objects are deleted. Following is a sample security string for the user information source.
Authentication:AuthUserName="administrator" AuthUserPwd="ODEJQGGC" AuthUserID="54F3D26011D2896560009A8E67019608" Security:SecurityObject="8D679D3811D3E4981000E787EC6DE8A4:5" SecurityObjName="Country = Germany" UserDetailPref:<UserDetail><First_Name Name="First Name" Default="0"/><Last_Name Name="Last Name" Default="0" Value="Eberle"/><Middle_Initial Name="Middle Initial" Default="0"/><Suffix Name="Suffix" Default="0"/><Salutation Name="Salutation" Default="0"/><Zip_Code Name="Zip Code" Default="0"/><Title Name="Title" Default="0"/></UserDetail>
350
Authentication
User authentication can be synchronized by mapping a synchronization file attribute to each information source. The Authentication page allows you to import user authentication. If you choose to import this information, the latest information is always used. This is accomplished in the table in which the first column lists all information sources and the second column provides a drop-down list in each row. Each list contains all synchronization file attributes where only one can be specified for each row. For first-time synchronizations, Not mapped is selected by default. For resynchronizations, these items are preselected to represent the mappings used during the last synchronization. The string returned by the specified synchronization file attribute is passed in directly as the authentication object. In other words, for a MicroStrategy Intelligence Server information source, this string is a concatenation of user and password. At run time, the indicated authentication objects are created. If this is an existing user, all existing authentication objects are deleted.
I N T E R F A C E
351
Leave the users in the Subscription Book. Remap the users to new users found in the synchronization file and set aside as available for remapping to existing users. The User Removal or Mapping page determines which users are deleted and remapped. All users found in the Subscription Book synchronization tables (this can include users from the Subscription Book if you enabled this option on the first wizard page) and not in the synchronization file are shown in the Remove Users list on the left side. To remove users, leave them in the Remove Users table. Use the arrows to move individual or multiple (multi-select is enabled) users to either of the list on the right. Users moved to the top right list are ignored and are maintained in the Subscription Book and in the Subscription Book synchronization tables. Users moved to the lower right list (Remap Users) must be remapped before continuing. For each user in the lower right list, a drop-down list is provided that lists all users specified as available for remapping on the User Addition or Mapping wizard page. Select one of these users for each remapped user. When you click Next, the changes are not committed but are stored until you reach the Review page.
Review
A summary of all changes to be made appears on this page. The lists display all users to be added, removed, and remapped. The User Removal or Mapping list has two columns for existing and new users, which shows you how existing users are going to be remapped. Review the summary of changes and click Next to commit these changes or click Back to modify these changes.
Finish
The Finish page indicates that you have successfully synchronized or imported users. Click Finish to close the Subscription Book Synchronization Wizard.
352
Each option requires mapping properly formatted synchronization file (synchronization source file) attributes and should not be selected unless the synchronization file contains the required information. While completing the Subscription Book Synchronization wizard, if you click Cancel and confirm the cancellation to close the wizard, or change the user settings from Automatic to Manual, the settings you have selected in the wizard are deleted from the system. You must select the Subscription Book Synchronization options in the wizard again.
User Settings
User settings include the following: Automatically Add/Remove Users; Update Existing User PropertiesSelect this option to automatically add new users, update existing users, and delete users not found in the synchronization source file. (See the Note about deleting users at the end of this section.) No user remapping takes place. For users who exist in both the import source and the Subscription Book, only user properties mapped from
353
I N T E R F A C E
the source file are updated. Other user properties in the Subscription Book are maintained and are not reset based on the Subscription Book Synchronization Wizards default user property values. The Add or Map Users, Remove or Map Users, and Review pages of the Subscription Book Synchronization Wizard do not appear if this is selected. Automatically Add/Remove Users; Replace Existing UsersSelect this option to automatically add new users, replace existing users, and delete users not found in the synchronization source file. (See the Note about deleting users at the end of this section.) No user remapping takes place. Users who exist in both the synchronization source file and the Subscription Book are deleted and recreated in the Subscription Book so that all user properties are updated according to the synchronization source file and the Subscription Book Synchronization Wizards default user property values. The Add or Map Users, Remove or Map Users, and Review pages of the Subscription Book Synchronization Wizard do not appear if this is selected.
All addresses, subscriptions, preferences, authentication, and security for existing users in the Subscription Book are lost.
Manually Add/Remove/Remap Users; Update Existing User PropertiesSelect this option to manually determine which new users in the synchronization source file to add to the Subscription Book, which obsolete users not in the synchronization source file to delete from the Subscription Book, and which new users to remap to obsolete users. (See the Note about deleting users at the end of this section.) Existing users are updated. For users who exist in both the synchronization source file and the Subscription Book, only user properties that are mapped from the source file are updated. Other user properties in the Subscription Book are maintained and are not reset based on the Subscription Book Synchronization Wizards default user property values. Manually Add/Remove/Remap Users; Replace Existing Users Select this option to manually determine which new users in the synchronization source file to add to the Subscription Book, which obsolete users not in the synchronization source file to delete from the Subscription Book, and which new users to remap to obsolete users. (See the Note about deleting users at the end of this section.) Users who exist in both the synchronization source file and the Subscription Book are deleted and recreated in the Subscription Book so that all user properties are updated according to the synchronization source file and the Subscription Book Synchronization Wizards default user property values. This is selected by default.
354
All addresses, subscriptions, preferences, authentication, and security for existing users in the Subscription Book are lost.
Manually Add/Remove/Remap Users; Dont Update Existing UsersSelect this option to manually determine which new users in the synchronization source file to add to the Subscription Book, which obsolete users not in the synchronization source file to delete from the Subscription Book, and which new users to remap to obsolete users. (See the Note about deleting users at the end of this section.) For users who exist in both the synchronization source file and the Subscription Book, no user properties are updated. User properties in the synchronization source file and the Subscription Book Synchronization Wizards default user property values are not used. Do Not Add/Remove/Remap Users; Dont Update Existing Users Select this option if you do not want to add new users to or delete obsolete users from the Subscription Book. No user remapping takes place. For users who exist in both the synchronization source file and the Subscription Book, no user properties are updated. User properties in the synchronization source file and the Subscription Book Synchronization Wizards default user property values are not used.
I N T E R F A C E
Users, addresses, subscriptions, preferences, authentication, and security created through methods other than the Subscription Book Synchronization Wizard (that is, through the Narrowcast Administrator, through the Subscription Portal, or using another synchronization source) are deleted if this option is chosen. This wizard does not synchronize solely with Subscription Book information originally created through this synchronization source.
Address Settings
Address settings include the following: Update Mapped Addresses; Delete Unmapped AddressesSelect this option to automatically add new addresses to and delete unmapped addresses from the Subscription Book. (See the Note about deleting addresses at the end of this section.) For addresses mapped from the synchronization source file to the Subscription Book, only address properties that are mapped from the source file are updated. Other address properties in the Subscription Book are maintained and are not reset based on the Subscription Book Synchronization Wizards default address property values. Replace Mapped Addresses; Delete Unmapped AddressesSelect this option to automatically add new addresses to and delete unmapped addresses from the Subscription Book. (See the Note about deleting
Synchronization Settings dialog box 355
addresses at the end of this section.) Addresses mapped from the synchronization source file to the Subscription Book are deleted and replaced so that all address properties are updated according to the synchronization source file and the Subscription Book Synchronization Wizards default address property values.
I N T E R F A C E
All subscriptions and subscription-level preferences for existing addresses are lost.
Update Mapped Addresses; Preserve Unmapped Addresses Select this option to automatically add new addresses to the Subscription Book and preserve unmapped addresses. For addresses mapped from the synchronization source file to the Subscription Book, only address properties that are mapped from the source file are updated. Other address properties in the Subscription Book are maintained and are not reset based on the Subscription Book Synchronization Wizards default address property values. This is selected by default. Replace Mapped Addresses; Preserve Unmapped Addresses Select this option to automatically add new addresses to the Subscription Book and preserve unmapped addresses. Addresses mapped from the synchronization source file to the Subscription Book are deleted and replaced so that all address properties are updated according to the source file and the Subscription Book Synchronization Wizards default address property values. (See the Note about deleting addresses at the end of this section.)
All subscriptions and subscription-level preferences for existing addresses are lost.
Do Not Update Mapped Addresses; Preserve Unmapped AddressesSelect this option if you do not want to add new addresses to or delete unmapped addresses from the Subscription Book. For addresses mapped from the synchronization source file to the Subscription Book, no address properties are updated. Address properties in the synchronization source file and the Subscription Book Synchronization Wizards default address property values are not used. The Map User and Address Properties page of the Subscription Book Synchronization Wizard does not appear if this is selected.
Users, addresses, subscriptions, preferences, authentication, and security created through methods other than the Subscription Book Synchronization Wizard (that is, through the Narrowcast Administrator, through the Subscription Portal, or using another synchronization source) are deleted if this option is chosen. This
356
wizard does not synchronize solely with Subscription Book information originally created through this synchronization source.
Subscription Settings
Subscription settings include the following: Subscribe addresses, Delete unmapped subscriptionsSelect this option to subscribes addresses as indicated in the synchronization source file and delete existing subscriptions for these addresses. (See the Note about deleting subscriptions at the end of this section.) Subscribe addresses, preserve unmapped subscriptionsSelect this option to subscribe addresses as indicated in the synchronization source file and preserve existing subscriptions for these addresses. Do not subscribe addressesSelect this option if you do not want to subscribe addresses based on the synchronization source file. Existing subscriptions for these addresses are preserved. This is selected by default. The Define Subscriptions page of the Subscription Book Synchronization Wizard does not appear if this is selected.
I N T E R F A C E
Users, addresses, subscriptions, preferences, authentication, and security created through methods other than the Subscription Book Synchronization Wizard (that is, through the Narrowcast Administrator, through the Subscription Portal, or using another synchronization source) are deleted if this option is chosen. This wizard does not synchronize solely with Subscription Book information originally created through this synchronization source.
Preference Settings
Preference settings include the following: Create preferences, preserve unmapped preferencesSelect this option to create preferences as indicated in the synchronization source file and preserve existing preferences for all other information objects and question objects. Create preferences, delete unmapped preferencesSelect this option to create preferences as indicated in the synchronization source file and delete existing preferences for all other information objects and question objects. (See the Note about deleting subscriptions at the end of this section.)
357
I N T E R F A C E
Do not create preferencesSelect this option if you do not want to create preferences based on the synchronization source file. Existing preferences for all information objects and question objects are preserved. This is selected by default. The Define Preferences page of the Subscription Book Synchronization Wizard does not appear if this is selected.
Users, addresses, subscriptions, preferences, authentication, and security created through methods other than the Subscription Book Synchronization Wizard (that is, through the Narrowcast Administrator, through the Subscription Portal, or using another synchronization source) are deleted if this option is chosen. This wizard does not synchronize solely with Subscription Book information originally created through this synchronization source.
Authentication Settings
Authentication settings include the following: Define information source authenticationSelect this option to define information source authentication as indicated in the synchronization source file and preserve existing information source authentication for all other information sources. Do not define information source authenticationSelect this option if you do not want to define information source authentication based on the synchronization source file. Existing information source authentication for all information sources is preserved. This is selected by default. The Define Authentication page of the Subscription Book Synchronization Wizard does not appear if this is selected.
Security Settings
Security settings include the following: Define information source securitySelect this option to define information source security as indicated in the synchronization source file and preserve existing information source security for all other information sources. Do not define information source securitySelect this option if you do not want to define information source security based on the synchronization source file. Existing information source security for all information sources is preserved. The Define Security page of the Subscription Book Synchronization Wizard does not appear if this is selected.
358
By default, Narrowcast Server uses the file SBRAttributeList.txt installed in the Delivery Engine folder where the program files are installed. You can specify a different file in the wizard. For more information, see the following section, Subscription Book Attribute File.
Default Attribute Values File: This setting points to the file that specifies the default values for attributes when either no specific attribute mapping is specified for the attribute or no value is found in the source file and the attribute is not required. This file can be modified to give different default values to attributes that are mapped to attributes in the source file. For example, you can change the devices of addresses by replacing the value in this file.
By default, Narrowcast Server uses the file SBRAttributeDefaultValues.txt installed in the Delivery Engine folder where the program files are installed. You can specify a different file in the wizard. For more information, see the following section, Default Attribute Values File.
Log File: This setting points to the location of the log file if the log file is generated. Logging Level: This setting determines how much logging is performed when the Subscription Book Synchronization Wizard imports or synchronizes the subscription book information. Select one of the following:
Log errors and information: logs all actions taken and errors encountered Log errors only: logs only errors encountered Do not create a log file: logs nothing
359
A sample of this file is shown along with an explanation of how this information is used.
I N T E R F A C E
User Name:MR_USER_NAME,true,true Password:MR_PASSWORD,false,false Password Hint:MR_PWD_HINT,false,false Locale:MR_LOCALE_ID,false,false User Status:MR_STATUS,false,false User Expiration Date:MR_EXPIR_DATE,false,false Address Name:ADDR_MR_NAME,true,true Physical Address:ADDR_MR_PHYSICAL_ADD,true,false Address Display:ADDR_MR_DISPLAY,true,false Device:ADDR_MR_DEVICE_ID,false,false PIN:ADDR_MR_PIN,false,false Delivery Window:ADDR_MR_DELIVERY_WIN,false,false Time Zone:ADDR_MR_TIMEZONE_ID,false,false Address Status:ADDR_MR_STATUS,false,false Address Expiration Date:ADDR_MR_EXPIR_DATE,false,false
The following list identifies the information and its use in the Subscription Book Attribute file. The first item before the colon (:) is the option that appears in the Subscription Book Synchronization Wizard. The second item is the user or address property that is available for synchronization. You can add or remove items from this list to control what user and address properties are available for synchronization. The third item controls whether the option is required (true=required, false=optional). If an item is required, a mapping must be provided in the Subscription Book Synchronization Wizard. You cannot continue unless you map all required properties to source file attributes. By default, User Name, Address Name, Physical Address, and Address Display are required. All other user and address properties do not need to be provided and constants in the Default Attribute Values File can be used. The fourth item determines which user and address properties are used to uniquely identify addresses once they are synchronized. This value should generally not be changed and there must be only one True value among all address properties and only one True value among all user properties.
Default Attribute Values File
A sample of this file is shown along with an explanation of how this information is used.
360
MR_PASSWORD:password MR_PWD_HINT:password hint MR_LOCALE_ID:FBBF7C1E37EC11D4887C00C04F48F8FD MR_STATUS:1 MR_EXPIR_DATE:12/30/9999 ADDR_MR_DEVICE_ID:1D2E6D168A7711D4BE8100B0D04B6F0B ADDR_MR_PIN:0000 ADDR_MR_DELIVERY_WIN:0x0000000000000000000000000000000000000 00000000000 ADDR_MR_TIMEZONE_ID:21 ADDR_MR_STATUS:1 ADDR_MR_EXPIR_DATE:12/30/9999
The following list identifies the information and its use in the Default Attribute Values file. The first item before the colon (:) is the user or address property for which a default value is being provided. The second item provides the default value to be used if the synchronization source file does not provide a value.
Incomplete Records in Source Files
I N T E R F A C E
By default, if the synchronization source file does not contain a user name, physical address, address display name, or address name for a particular user or address, the synchronization of the corresponding user or address fails (not for all users or addresses, just for the user or address that is missing information) and is logged. This is controlled by the fact that SBRAttributeDefaultValues.txt does not contain default values for the following properties:
MR_USER_NAME ADDR_MR_NAME ADDR_MR_PHYSICAL_ADD ADDR_MR_DISPLAY
If the synchronization source file does not contain these properties, the user (for MR_USER_NAME) or address (for all other properties) synchronization fails and is logged. For addresses, no address is added or updated. For users, the user does not appear on the User Addition or Mapping page and is subsequently ignored. However, you can change this behavior and assign a default physical address, display name, and address name by adding the corresponding lines to the SBRAttributeDefaultValues.txt file:
ADDR_MR_NAME:Default Address ADDR_MR_PHYSICAL_ADD:Physical Address ADDR_MR_DISPLAY:Address Display
361
By default, the values specified in the file SBRAttributeDefaultValues.txt are skipped. But in this case, it is important to understand the following: The synchronization process maps addresses in the synchronization source with addresses in the Subscription Book based on user ID and address name (note: not physical address). The address name is missing in the synchronization source file. When both of these are true, this address is added to the Subscription Book as a new address using the default values specified in the file SBRAttributeDefaultValues.txt.
I N T E R F A C E
362
specified comma separated values (CSV) file. Once the export is complete, the Status message becomes Status: XXX users exported to file where XXX is the number of users exported. Click Exit to close the MicroStrategy Intelligence Server User Export Tool. The CSV file that is created includes the following types of information for each user: user name, password, address name, address display, physical address, Web portal device ID, e-mail device ID, and authentication. Some or all of this information can be used by the Subscription Book Synchronization Wizard, depending on the needs of your application. For more information, see Synchronization with external sources.
I N T E R F A C E
363
I N T E R F A C E
364
C H A PT E R
34
34.
34
The Subscription Properties Editor allows you to modify subscription properties for subscriptions within static subscription sets. Using the Subscription Properties Editor, you can do the following: Modify the subscriptions preferences for each information source. Modify transmission properties. Activate or deactivate this subscription. Set an expiration date for this subscription. Send a notification through e-mail when a file or print delivery is complete. For instructions on completing one of the above tasks, see Creating and Managing Subscription Sets.
Accessing the Subscription Properties Editor
I N T E R F A C E
In the Static Subscription Set Editor, select a subscription in the Subscriptions in the subscription set box (the right-hand pane). From the Edit menu, select Edit.
Prerequisites
Before you begin using the Subscription Properties Editor, you should: Determine the appropriate preferences for this subscription. Determine the correct transmission properties for this subscription. Determine the appropriate status for this subscription. For more information on the above topics, see Subscriptions and subscription sets.
365
Preference tab
When you create a service using the Service Wizard and insert a subscription set (new or existing subscription set), you can edit the subscription properties. The Preference tab allows you to specify preferences for this subscription based on the information objects used in your services delivery methods. You can specify settings for these subscription preferences, and also modify or delete each setting. The default user preference for each personalized object is listed next to the information source if a default user preference exists for the personalized object. Subscription preferences apply only to one subscription, but they override any existing user preferences. To create a subscription preference, highlight the appropriate personalized object and click Define Subscription Preference. If the personalized object is executed using personalized page execution, the Select Attribute Form dialog box appears. In the Select Attribute Form dialog box, select an attribute form from a list of available attributes so that only the content corresponding to that attribute is sent to the subscription recipient. If the personalized object is executed using personalized report execution, the Prompt Resolution Wizard appears.The Prompt Resolution Wizard allows you to select elements that govern the options that are available when selecting preferences and to set the first level of information filtering. You answer a series of prompts to define the subscription preference.
Transmission tab
Using the Transmission tab you can specify transmission properties that govern certain information transmitter settings. The transmission properties depend on the transmitter used by the subscription.
366
For the e-mail transmitter, the transmission properties specify whether the recipient name should be put in the To:, CC:, or BCC: fields. Click the button next to the desired setting in the Recipient Field box to specify where the recipient name should be displayed. By default, the recipient name is entered in the BCC: field. For the file transmitter, the transmission properties include the following selections: Overwrite files with the same name: Select this check box to overwrite files when they have the same name. If it is not selected, the file transmitter uses the device settings (specified by the system administrator). If these settings are not available, the service fails. Create required folders: Select this check box to create any folders that are needed. If it is not selected, the file transmitter uses the device settings (specified by the system administrator). If these settings are not available, the service fails. Append timestamp to file name: Select this check box to add the time the file is saved to the end of the file name. There are no subscription-level properties for the print transmitter, the SMS transmitter or the Portal transmitter.
I N T E R F A C E
Status tab
Using the Status tab, you can specify the following: Status: whether this subscription is active or inactive Expiration date: whether this subscription has an expiration date
Notification tab
Using the Notification tab, you can notify the user that a file or print delivery service is complete. Choose from the following: No notification required: Select this option if user notification is not required. E-mail: Select this option if a notification is to be sent through e-mail. By default, the system sends the e-mail to the address of the user you have specified in the User Properties Editor.
367
I N T E R F A C E
368
C H A PT E R
35
35.
35
The Subscription dialog box allows you to select the type of subscription set you want to create: Static Subscription Set or Dynamic Subscription Set. For steps to create and use a subscription set, see Creating and Managing Subscription Sets.
Accessing the Subscription dialog box
I N T E R F A C E
Right-click the Applications folder, select New, then select Subscription Set.
Prerequisites
Before you begin using the Subscription dialog box, you should know which type of subscription set you want to create. For more information about subscriptions, see Subscriptions and subscription sets.
369
I N T E R F A C E
370
C H A PT E R
36
36.
36
The User Properties Editor allows you to add users and address in the Subscription Book, as well as define the personalization for a user. You can also: Add addresses to the Subscription Book Edit users in the Subscription Book Edit addresses in the Subscription Book Delete addresses from the Subscription Book Define personalization for a user Assign a password for the user Edit user information For instructions on completing one of the above tasks, see Managing a Subscription Book.
Accessing the User Properties Editor
I N T E R F A C E
From the Tools menu, select Open Subscription Book. The Subscription Book Editor opens. From the Edit menu, select New User.
Prerequisites
Before you begin using the User Properties Editor, you should: Ensure that your system administrator has set up the appropriate information transmitters and devices. Ensure that your system administrator has set up the information sources. Collect the appropriate user information, including login ID, locale, and personalization. Collect the appropriate address information, including physical address, device, and delivery window. For more information on the above topics, see The Subscription Book.
371
For more information on locales, see Locales in the Narrowcast Server System Administrator Guide.
The User Properties Editor consists of the following five tabs: Login tab Addresses tab Preference tab Authentication and Security tab User Information tab
Login tab
The Login tab allows you to specify the following: Login ID: An ID of your choice. It must be unique and limited to 127 characters. The \ character is not permitted. The default is New User. Password: A password for the user. This is especially useful for selfsubscription applications to preserve user account integrity. Hint: A hint for the user to help remember the password. Click Advanced Properties to open the Advanced Properties for New User dialog box to specify additional user properties.
Advanced Properties for New User dialog box
The Advanced Properties for New User dialog box allows you to specify the following: Locale: Defines the type of content that a user receives from a service which content the user will receive. The locale is used to control character sets, number formats, date formats, and time formats. Your system might support multiple locales, but a given user may only have one locale. This locale must match the selection locale for a given publication to receive it. The default is System locale. Status: Allows you to select either to Activate this user or to Expire this user on, with an expiration date that you specify. When a user expires, no services are sent to any addresses for this user.
372
It also displays Information showing when the user was created and modified, and by whom.
Addresses tab
The Addresses tab allows you to create, delete, and rename addresses. To create a new address, click New Address. To delete an address, select it and click Delete Address. To rename an address, select it and click Rename Address. The Addresses tab allows you to specify the following: Address Name: A name of your choice. The name is limited to 250 characters. The \ character is not allowed. The address name is displayed under Available Addresses. The default is New Address 1. Physical Address: The actual address where the message is sent to the user. An example is yourname@yourcompany.com. The address is limited to 250 characters. The \ character is not permitted. The default is Physical Address. Address Display: Appears in the To: field in e-mail services. An example is Last Name, First Name. The address format is limited to 250 characters. The \ character is not allowed. The default is Display Name. Delivery Method: The way messages are delivered to this address. The default is E-mail (SMTP). When you select this, the set of devices associated with the selected delivery method becomes available. Device: The device to use to format and transmit to a specific receiver type. The default is Generic e-mail client. Click Advanced Properties to open the Advanced Properties for Address dialog box to specify additional address properties.
Advanced Properties for Address dialog box
I N T E R F A C E
The Advanced Properties for Default Portal Address dialog box allows you to specify the following: Locale: Selects the Locale of the user to receive the publications. Status: Indicates whether this address is the default for this user (must have one default address per user), whether this address is activated, or whether this address should be expired and the date for the expiration.
373
I N T E R F A C E
Delivery Window: Indicates the hours each day during which messages can be transmitted to this address and the time zone being used for the delivery window for this address. The default time zone is the time zone specified in the local machine. In this manner, a user can specify that no messages should be delivered until 9:00 A.M. Eastern time, and the delivery window automatically takes into effect time changes resulting from Daylight Savings Time. PIN: Defines a personal identification number for this address. It also displays Information showing when this address was created and modified, and by whom.
Preference tab
The Preference tab allows you to specify user preferences for the selected user. All information objects with question objects selected and all question objects are listed, along with the corresponding information sources and any previously-defined user preferences. You can create new user preferences, modify existing ones, or delete user preferences that are no longer needed. Specifying preferences uses interfaces supplied by the information source. Though these interfaces vary for each information source, the MicroStrategy Information Source provides the following: Define User Preference dialog box to define user preferences Prompt Resolution Wizard to specify preferences for personalized objects that contain prompts Select Attribute Form dialog box to specify preferences for other personalized objects Multiple user preferences can be defined for a given personalized object. After preferences are defined, you are asked to provide a name for this user preference. As user preferences are defined, they are added to a drop-down list next to the question object to which they belong. The default user preference is identified in the drop-down list with a (default) next to its name. User preferences apply to all subscriptions for this user. If user preferences have already been set, select the user preference you want from the drop-down list and click Modify to update it or click Delete to remove it from the selected question object.
374
This applies only for MicroStrategy information sources. Other information sources provide different user interfaces.
On the Define User Preference dialog box, click Answer to display the Prompt Resolution Wizard. This dialog box opens only for personalized objects with prompts. The Prompt Resolution Wizard allows you to select elements that govern the options that are available when selecting preferences and to set the first level of information filtering. You answer a series of prompts to define your user preferences.
This applies only for MicroStrategy information sources. Other information sources provide different user interfaces.
On the Define User Preference dialog box, click Answer to display the Select Attribute Form dialog box. The Select Attribute Form dialog box allows you to select the attribute elements for an attribute. When the service is executed, the recipients receive only the page of content that corresponds to the element that you have selected. Click Purge cache to clear the Intelligence Server's element cache.
This applies only for MicroStrategy information sources. Other information sources provide different user interfaces.
For more information about security, see the following: Information source security Specifying preferences uses interfaces supplied by the information source. Though these interfaces vary for each information source, the MicroStrategy Information Source provides the following: Login Information dialog box to specify authentication Prompt Resolution Wizard to specify authentication and security
Login Information dialog box
I N T E R F A C E
On the User Properties Editor - Authentication and Security tab, select an information source in the Authentication table, then click Define to display the Login Information dialog box. The Login Information dialog box allows you to specify a MicroStrategy user login and password that the selected information source will use to validate permissions for this user to view and access MicroStrategy Desktop (or metadata) objects.
Use standard authentication when connecting Narrowcast Server to Intelligence Server. However, database authentication and warehouse pass-through may also be used for the MicroStrategy platform. For details, refer to TechNote TN620075x-0709 or the Narrowcast Server MicroStrategy System Administration Guide.
If authentication has already been set, click Define to update it or click Clear to remove it from the selected information source.
This applies only for MicroStrategy information sources. Other information sources provide different user interfaces.
On the User Properties Editor - Authentication and Security tab, select an information source in the Security table and click Define to display the Prompt Resolution Wizard. The Prompt Resolution Wizard allows you to select elements that govern the options that are available when selecting preferences and to set the first level of information filtering. You answer a series of prompts to define your user preferences.
376
This applies only for MicroStrategy information sources. Other information sources provide different user interfaces.
377
I N T E R F A C E
378
SECTION III
III
H O W D O I
379
H O W D O I
380
C H A PT E R
37
37.
Managing a Channel
37
H O W D O I
This chapter describes procedures to add and manage a channel. A channel is a grouping of services available to end users within the Subscription Portal. For an introduction to channels, see Channels.
Click Next. Enter a name for the channel. Enter a description of the channel.
6. To display this channel to the end user, select the Channel Enabled check box. 7.
Click Edit next to the channel of the folder that you want to change.
381
3. Select the folder that contains the services to display in the Subscription Portal for this channel. 4.
Click Next.
Delete a channel
Steps 1. In the Site Preferences section, click Channels. The Channels page opens. 2.
H O W D O I
Click Delete next to the channel to delete. In the confirmation window, click OK to delete the channel.
3.
382
C H A PT E R
38
38.
38
H O W D O I
This chapter describes procedures to create and manage device types used in services. A device type is a grouping of devices defined in a Subscription Portal to make it easier for a user to find a certain device. For a detailed explanation of all device types and their uses, see Device types.
In the Site Preferences section, click Device Types. The Device Types page opens.
2. 3.
1.
Click Create new device type. The New Definition page opens. Type the new Device Type Name.
4. Type the URLs of the large and small image icons for the device. The default image icons are available in the MicroStrategy\Narrowcast Server\Subscription Portal\asp\images folder. For example, for the Pager device type, type images\big_pager.gif for large icon, and images\pager.gif for small icon. 5.
6. Select the Display and Edit fields to display and edit the addresses of the device type. 7.
383
Click edit device folders... next to the device type of the folders you want to edit. The Device Folders: <device name> page opens.
3. Select the device folders in the Available list, that you want to activate for this device type.
H O W D O I
2.
4.
Use the toggle switch and move the selected folders to the Selected Click Next to proceed to the Name and Description page.
list.
5.
Click Delete next to the device type to delete. Click Yes to confirm the deletion.
In the Site Preferences section, click Device Types. The Device Types page opens.
2.
1.
384
3. Type the URLs of the large and small image icons for the device. The default image icons are available in the MicroStrategy\Narrowcast Server\Subscription Portal\asp\images folder. For example, for the Pager device type, type images\big_pager.gif for large icon, and images\pager.gif for small icon. 4.
5. Select the Display and Edit fields to display and edit the addresses of the device type. 6.
H O W D O I
In the Site Preferences section, click Device Types. The Device Types page opens.
2. 3. 4.
1.
Click rename next to the device type to rename. Type the new name of the device. Click Rename.
385
H O W D O I
386
C H A PT E R
39
39.
39
H O W D O I
This chapter describes procedures to create and manage information objects such as Content, Subscription, and Segment objects. An information object is a set of instructions specifying how to get data from an external information source. For more information on the type of information objects, see Information objects. This chapter also describes the procedures to create a question object and associate the object with an information object. A question object is a container that holds a set of questions that users answer to define their preferences. For information on how to use question objects, see Question objects.
Best practices for creating an information object outside the service
To make an information object reusable, you may want to create a standalone information object in the following situations: A service that uses an information object has more than one delivery method. The information object is used for other services.
Content information objects are embedded in the object in which they are created. They are not saved to an independent location within Narrowcast Administrator.
Best practices for segmenting an information object used with dynamic subscription sets
To improve system performance, you may want to segment an information object used with dynamic subscription sets using a method other than the default segmentation method. The information object used with a dynamic subscription set is segmented in the following situations: The subscription set returned varies from one execution to the next. The size of the segment varies from one execution to the next.
387
Segment the content information object used with dynamic subscriptions so that only the content for subscriptions being processed by the execution engine is returned.
H O W D O I
For information on best practices to be followed while segmenting an information object used with dynamic subscription sets, see Best practices for segmenting an information object used with dynamic subscription sets.
1. Right-click Applications, point to New, and then click Information Object. The Select Information Source dialog box opens. 2. Double-click the MicroStrategy information source to use. The Information Source Wizard opens.
Choose Content Information Object to create an information object used as document content only.
4. 5.
3.
Click Next. The Report page opens. Select the report to be used as content. If the selected report is not valid for this type of information object, an error message is displayed next to the menu. If the report is valid, a green check mark is displayed. For more information on report validation, see Information object validation.
7. 8.
In the Personalization Mode section, select Personalized page execution. One report is used for multiple personalization sets by dividing the report results into pages on the Delivery Engine.
388
9. To set the cache properties of the intelligence server, make the following selections in the Intelligence Server cache section.
This section is not active if you select the Automatically segment this information object option in the Segmentation Properties section.
Use cached report if available from MicroStrategy Intelligence Server, is the default option. If the report is not cached, the report is rerun. Update MicroStrategy Intelligence Server cache with execution results if cache is not used or unavailable, runs the report and caches it for future use.
H O W D O I
10. In the Segmentation Properties section, select whether to segment the report. If you choose to segment it, the report must contain two segmentation prompts. 11. Click OK to save your changes and return to the Report page. 12. Click Next. The Format page opens. If you have chosen to segment
Select the prompt from the drop-down list to use as the Segment beginning prompt. Select the prompt from the drop-down list to use as the Segment end prompt. Click Next. The Format page opens.
13. On the Format page, select whether to return the report results in a tabular or graphical format. 14. If you choose graphical format, you can also customize the image size. Select the appropriate check box and type the width and height of the image in pixels. 15. Click Next. The Summary page opens. 16. Review the information on the Summary page and click Finish to create the new information object. If you have chosen the Tabular format option, the Save XML Information Object dialog box opens. If you have chosen the Graphical format option, the Save Image Information Object dialog box opens. 17. Choose a folder to save the object. Type a name for the new information object and click Save.
389
For information on best practices to be followed while segmenting an information object used with dynamic subscription sets, see Best practices for segmenting an information object used with dynamic subscription sets.
1. Right-click Applications, point to New, and then click Information Object. The Select Information Source dialog box opens.
H O W D O I
2. Double-click the MicroStrategy information source to use. The Information Source Wizard opens.
Choose Content Information Object to create an information object used as document content only.
4. 5.
3.
Click Next. The Report page opens. Select the report to be used as content. If the selected report is not valid for this type of information object, an error message is displayed next to the menu. If the report is valid, a green check mark is displayed. For more information on report validation, see Information object validation.
7. 8.
In the Personalization Mode section, select Personalized report execution. One report is executed for each personalization set.
390
9. To set the cache properties of the intelligence server, make the appropriate selections in the Intelligence Server cache section.
This section is not active if you select the Automatically segment this information object option in the Segmentation Properties section.
Use cached report if available from MicroStrategy Intelligence Server, is the default option. If the report is not cached, the report is rerun. Update MicroStrategy Intelligence Server cache with execution results if cache is not used or unavailable, runs the report and caches it for future use.
H O W D O I
10. Click OK to save your changes and return to the Report page. 11. Click Next. The Format page opens. 12. Select whether to return the report results in a tabular or graphical format. 13. If you choose graphical format, you can also customize the image size. Select the appropriate check box and type the width and height of the image in pixels. 14. Click Next. The Summary page opens. 15. Review the information on the Summary page and click Finish to create the new information object. If you have chosen the Tabular format option, the Save XML Information Object dialog box opens. If you have chosen the Graphical format option, the Save Image Information Object dialog box opens. 16. Choose a folder to save the object. Type a name for the new information object and click Save.
For information on best practices to be followed while segmenting an information object used with dynamic subscription sets, see Best practices for segmenting an information object used with dynamic subscription sets.
391
1. Right-click Applications, point to New, and then click Information Object. The Select Information Source dialog box opens.
Double-click the MicroStrategy information source to use. The Information Source Wizard opens.
3. Choose Subscription Information Object to create an information object used for subscription information. 4. 5.
2.
Make the appropriate selection and click Next. One of the following pages opens:
H O W D O I
If you have selected the Retrieve dynamic subscription information from the information source and do not choose a filter option, the User Properties and Personalization page opens. Go to step 10. If you have selected the Retrieve dynamic subscription information from the information source and choose a filter option, the Filter page opens. Go to step 6. If you have selected the Select or define a report and retrieve dynamic subscription information from the selected report option, the Report page opens. Go to step 6.
6. Select the report or filter to use for subscription information. A report must contain segmentation prompts and at least one page by attribute.
8.
If the selected report is not valid for this type of information object, an error message is displayed next to the menu. If the report is valid, a green check mark is displayed. For more information on report validation, see Information object validation.
Click the General tab. Enter the Name and Description of the new subscription information object.
9. Click the Report Execution tab. To set the cache properties of the intelligence server, make the appropriate selections in the Intelligence Server cache section.
392
This section is not active if you select the Automatically segment this information object option in the Segmentation Properties section.
Use cached report if available from MicroStrategy Intelligence Server, is the default option. If the report is not cached, the report is rerun. Update MicroStrategy Intelligence Server cache with execution results if cache is not used or unavailable, runs the report and caches it for future use.
10. In the Segmentation Properties section, select whether to segment the report. If you choose to segment it, the report must contain two segmentation prompts. 11. Click OK. You are returned to the Report page. 12. Click Next. The User Properties and Personalization page opens. 13. Select whether the Address ID is generated by the report or retrieved from the subscription book.
If you select generate from the report, another drop-down list is displayed. From the drop-down list, select the attribute form on the report that maps to the address ID.
H O W D O I
14. Select whether the User ID is generated by the report, retrieved from the subscription book, or set to apply a constant.
If the user ID is generated by the report, another drop-down list is displayed. From the drop-down list, select the attribute form on the report that maps to the user ID. If the user ID is set to apply a constant, a text box is displayed. Enter the constant in the text box.
If the locale ID is generated by the report, another drop-down list is displayed. From the drop-down list, select the attribute form on the report that maps to the locale ID. If the locale ID is set to apply a constant, another drop-down list is displayed. From the drop-down list, select the correct locale. The Subscription ID is always generated from the report. By default, it is the ID form of the first page-by attribute in the selected report template. You cannot change the Subscription ID.
393
If the Address ID has been set to be generated from the report, then the Address Properties page opens. For more information about defining information, see Define delivery information for a subscription information object
17. Review the information on the Summary page and click Finish to create the new information object. The Save XML Information Object dialog box opens. 18. Choose a folder to save the object. Type a name for the new information object and click Save.
H O W D O I
For information on best practices to be followed while segmenting an information object used with dynamic subscription sets, see Best practices for segmenting an information object used with dynamic subscription sets.
1. Right-click Applications, point to New, and then click Information Object. The Select Information Source dialog box opens. 2. Double-click the MicroStrategy information source to use. The Information Source Wizard opens.
Choose Segment Information Object to create an information object that defines segment boundaries for subscriptions.
4.
3.
5. Select the report that contains the segment boundaries. The report must have at least one prompt for segmentation by size.
6.
If the selected report is not valid for this type of information object, an error message is displayed next to the menu. If the report is valid, a green check mark is displayed. For more information on report validation, see Information object validation.
394
8. Click the Report Execution tab. To set the cache properties of the intelligence server, make the appropriate selections in the Intelligence Server cache section.
This section is not active if you select the Automatically segment this information object option in the Segmentation Properties section.
Use cached report if available from MicroStrategy Intelligence Server, is the default option. If the report is not cached, the report is rerun. Update MicroStrategy Intelligence Server cache with execution results if cache is not used or unavailable, runs the report and caches it for future use. Click OK. You are returned to the Report page.
H O W D O I
9.
10. Click Next. The Segment Size page opens. 11. Select the prompt which controls the Segment size returned by the report. 12. Click Next. The Summary page opens. 13. Review the information on the Summary page and click Finish to
create the new segment information object. The Save XML Information Object dialog box opens.
14. Choose a folder to save the object. Type a name for the new
Type a Name and Description for the new question object. Click Define. The Question Object Browser dialog box opens. Select the report to be used as the question object.
395
If the selected report is not valid for this type of question object, an error message is displayed next to the menu. If the report is valid, a green check mark is displayed. For more information on report validation, see Information object validation.
6. Select whether to use Personalized page execution, which divides the report results so that one report satisfies many personalization sets; or select Personalized report execution, where one report is executed for each personalization set.
H O W D O I
If you select personalized report execution, the selected report is not validated because the intended information object is unknown. Do one of the following: Save this question object as is. Then create or edit the required information object, and associate this question object with the information object. Click Edit on the Advanced Options dialog box to validate the report. Do not save this question object. Create or edit the required information object. From the Advanced Options dialog box, Question Object tab, create a new question object for the intended information object. The report is validated.
7. 8.
Click OK. You are returned to the New Question Object dialog box. Click OK. The Save Question Object dialog box opens.
9. Choose a folder to save the object. Type a name for the new question object and click Save.
On the Report page of the Information Object Wizard, click Advanced Options to open the Advanced Properties dialog box. Click the Question Object tab.
3. Select an existing question object or create a new one and click OK. You are returned to the Report page.
396
Click the Question Object tab. Clear the Gather preferences using a question object check box. Click OK. You are returned to the Report page.
H O W D O I
Address Display Physical Address Device Transmission Properties PIN Time Zone Delivery Window
2. If you choose Generated by report, another drop-down box appears. From this list, select the corresponding attribute form. 3. If you choose Apply a constant, another field appears. Enter or select the constant to use for that piece of delivery information.
397
4.
5. For each information source and question object combination, you can select a Preference object from the drop-down list of the reports pageby attribute forms. 6.
7. Once the Summary page opens, return to the previous How Do I...? topic to continue creating an information object.
Steps 1. 2. 3. 4.
On the Report page of the Information Object Wizard, click Advanced Options.The Advanced Properties dialog box opens. Click the Error handling tab.
Select the Fail segment if Information Object fails check box, to fail the complete segment if the Information Object fails. Click OK to return to the Report page.
398
C H A PT E R
40
40.
40
H O W D O I
This chapterdescribes procedures to add new database connections to connect to the subscription portal. The chapter also describes the procedure to edit the existing database connections. The first time you configure Subscription Portal, you must create a database connection for each of the databases to which you will connect. For more information on database connections, see Database connections.
Click Add a new database connection. The Add a new database connection page opens.
3. In the Database connection name field, type a name for the database connection .
4.
This name is displayed in the Database connections list on the Portal Repository page, after the new dababase connection is created.
From the Database drop-down list, select the type of database to store the portal repository.
5. In the SequeLink Server name field, type the name of the computer on which SequeLink is running .
399
6. In the ODBC data source name field, type the ODBC DSN as defined on the computer on which the SequeLink server is running.
Type the User name that the Subscription Portal should use to connect to this database.
8. 9.
7.
Type the Password that corresponds to this User name. In the Confirm password field, re-type the password.
10. In the Number of pooled connections field, type a number to set the connection pool size.
H O W D O I
11. Click Add database connection to add the new database connection with the specified detalis. You are returned to the Portal Repository page.
2. For editing the Portal Repository connection: In the System Configuration section, click Portal Repository. The Portal Repository page opens. 3. For editing the Object Repository or Subscription Repository connections, do the following:
In the Site Management section, click Site Definition. The Site Definition page opens. Select a site from the list and click Edit. The Site Name and Description page is displayed. Click Object Repository. The Object Repository page opens. After you update the Object Repository, click Subscription Book Repository to update the Subscription Repository details.
4. Click Edit next to the database connection. The Edit a database connection page is displayed. 5.
From the Database drop-down list, modify the database type to store the portal repository.
400
6. In the SequeLink Server name field, change the name of the computer on which SequeLink is running.
In the ODBC data source name field, modify the ODBC DSN as defined on the computer on which the SequeLink server is running.
8. 9.
7.
Change the User name that the Subscription Portal should use to connect to this database. Modify the Password that corresponds to this User name.
10. In the Confirm password box, re-type the new password. 11. In the Number of pooled connection box, change the connection pool size. Set the connection pool size to control the number of database connections and improve performance.
H O W D O I
12. Click Update database connection. You are returned to the repository page.
In the Site Management section, on the Object Repository page, choose the database connection that contains the Object Repository.
2.
1.
3. Select the Use the same database connection for the Subscription Book Repository check box if the Subscription Book Repository and Object Repository is stored in the same database location. 4.
401
3. 4.
Type the Tables prefix for the Portal Repository. Click Next to continue with the Subscription Portal configuration.
In the Site Management section, on the Subscription Book Repository page, choose the database connection that contains the Subscription Book Repository.
2.
H O W D O I
1.
Type the Tables prefix for the Subscription Book Repository. Click Next to continue with the site definition.
3.
402
C H A PT E R
41
41.
41
H O W D O I
This chapter describes the procedure to create a new publication in Narrowcast Administrator using the Publication Wizard. For information about the usage of publications in a service, see Publications. This chapter also describes the procedure to create documents for the content sections in the publications. For more information about the type of documents that can be used to create the service contents, see Working with Documents.
Click anywhere in the contents area of the document editor. If you are working in the Excel Document Editor and you click on a spreadsheet tab before this step, the information object becomes the name of the spreadsheet.
3.
2. From the Insert menu, select Existing Information Object. The Select Information Object dialog box opens.
Select an information object and click OK. You are returned to the document editor and a document element is automatically created.
If this object is an XML information object created for the MicroStrategy Information Source, an XSL stylesheet is automatically selected.
4. To change the stylesheet, double-click the document element (on the words Document Element 1or Document Element 2, for example, in the Document Element List frame). The Document Element Properties dialog box opens.
Click Browse and select a different stylesheet file, then click OK to return to the document editor.
403
5.
6. To set error handing rules, double-click any of the error handling rules at the bottom of the Document Element pane. The Document Element Properties dialog box opens. 7. Set the Error Handling Rules. For each type of error, choose whether to send an error or a text string you define. 8.
Add multiple XML information objects with the same stylesheet in a document
H O W D O I
Only XML information objects can be placed into the same document element, and therefore be formatted by the same stylesheet. You can add any number of XML information objects to the same document element.
Steps 1. From a document editors Insert menu, select Existing Information Object. The Select Information Object dialog box opens. 2. Select an XML information object and click OK. You are returned to the document editor.
A document element is automatically created. If this object is an XML information object created for the MicroStrategy Information Source, an XSL stylesheet is automatically selected.
3. To change the stylesheet, double-click the document element (on the words Document Element 1or Document Element 2, for example, in the Document Element List frame). The Document Element Properties dialog box opens. 4. Click Browse and select a different stylesheet file, then click OK to return to the document editor. 5. To set error handling, double-click any of the error handling rules at the bottom of the Document Element pane. The Document Element Properties dialog box opens. 6. Set the Error Handling Rules. For each type of error, choose whether to send an error or a text string you define.
404
7. 8.
Click OK. You are returned to the document editor. Select the newly created document element.
9. From the Insert menu, select Existing Information Object. The Select Information Object dialog box opens. 10. Select an XML information object and click OK. The Choose XML
Open an Excel workbook. Click the Button icon from the Forms toolbar. To view the Forms toolbar, select View>Toolbars>Forms.
5.
3. Click and drag the mouse on the worksheet Assign macro dialog box is displayed. 4. Assign a macro to the new button by choosing from the list of available macros.
Click OK.
From this point on, whenever you click the new button, the macro is executed. By incorporating the Excel workbook into a MicroStrategy Narrowcast Server service, this macro can be sent to all subscribers for quickly charting the data. For more information on importing this newly created Excel workbook as a template in MicroStrategy Narrowcast Server, see Import a file.
405
From the View menu, select Document Element List. This works as a toggle, hiding and revealing the Document Elements pane on the left.
Steps 1. Right-click the Applications folder, point to New, and then select Document. The New Document dialog box opens.
Choose Link to an existing report, HTML document or Report Services document in MicroStrategy project and select the appropriate information source. Or from the Select Information Source dialog box, select the appropriate information source.
3.
2.
4. Navigate to the MicroStrategy Desktop document that you want to link and select the document. 5. From the Name drop-down list, select the appropriate execution locale for this document. 6. From the Choose document format drop-down list, select a suitable document format, depending on the type of document that you have selected. 7. Click Advanced Properties. The Advanced Properties dialog box opens.
Click the Document Excution tab. Set the cache properties of the document from the Document cache properties section.
9.
8.
10. Click OK in the Desktop Document Selector dialog box. The Save Desktop Linked Document dialog box opens. 11. Type a new name in the Object Name field.
406
12. Click Save. The new document object is created in Narrowcast Administrator.
You can also create links to Desktop documents from within both the Service Wizard and the Publication Wizard. Service Wizard documents are embedded within the service and do not appear in Narrowcast Administrator.
Enter a name for the macro, press ENTER, and note that a recorder symbol appears. Excel records all actions performed until you click the recorders Stop button. Launch the Chart Wizard by selecting Chart from the Insert menu. Select the chart type and the charts characteristics.
3. 4.
5. Bind the chart to a particular cell range. Do this by manually entering the cell range or by dragging over the desired cells with the mouse. Discontinuous cell ranges can be selected by control-selecting and shiftselecting, and these cell ranges can reside on multiple sheets. 6. Specify where the chart should be placed. It can either be placed on an existing worksheet or it can be placed on a special chart sheet (a sheet that has no cells and is just used to hold the chart). 7. Click Finish on the Chart Wizards final page. The new chart appears as specified in the wizard. 8. Click the recorders Stop button to end the recording session and save the macro.
To verify that a chart is correct, you can place dummy data that closely matches the structure and content of the real data in the appropriate cell ranges. This data should be removed from the template/workbook before saving.
407
3. Click Browse in the Excel Template area. The Open Excel Imported File dialog box opens. 4. Select an Excel document to use as the template and click OK. You are returned to the Excel Document Editor. The Name and Description of the template is displayed in the Excel Template area.
H O W D O I
5.
You do not see any Excel macros included in the template. Therefore, you need to know what the macros are, and where the macros assume the text is placed.
To add a static text item, From the Insert menu, select Static Text. Click a cell in the Contents column of the template. Type the static text.
6. To add a dynamic text item, see Add a dynamic text item to a document. 7. To create a new information object and add it to the document, see Create a new information object in a document. 8.
To change the row position of a document item, Click a cell in the Row Positioning column of the document item to be positioned. Select the type of positioning from the drop-down list:
Absolute: The item is offset from the top of the sheet. Type the
Relative Top: The item is offset from the top of another document
item. Type the number of rows to offset by in the Row Offset cell. Select the document item number in the Row Reference cell. document item. Type the number of rows to offset by in the Row Offset cell. Select the document item number in the Row Reference cell.
408
9.
Relative Top and Relative Bottom are not available for the first content element in a spreadsheet.
To change the column position of a document item, Click a cell in the Column Positioning column of the document item to be positioned. Select the type of positioning from the drop-down list:
Absolute: The item is offset from the left of the sheet. Type the
Relative Left: The item is offset from the left side of another
document item. Type the number of columns to offset by in the Column Offset cell. Select the document item number in the Column Reference cell. document item. Type the number of columns to offset by in the Column Offset cell. Select the document item number in the Column Reference cell.
H O W D O I
Relative Right: The item is offset from the right side of another
Relative Left and Relative Right are not available for the first content element in a spreadsheet.
Double-click the spreadsheets tab and type a new name. Right-click the sheet tab and select Insert Information Object.The Select Information Object dialog box opens. Select an existing information object to supply the sheet name. This setting is the same as inserting an information object into the spreadsheet. For instructions, see Add a dynamic text item to a document. Right-click the sheet tab and select Insert New Information Object. The Select Information Source dialog box opens. Create a new information object to supply the sheet name. This setting is the same as creating a new information object and adding it to the spreadsheet. For instructions, Create a new information object in a document.
11. Click Save and Close. The Save Excel Document dialog box opens. 12. Choose a folder in which to save the document. Type a name for the
409
2.
To add a static text item, Position the cursor in the content definition pane at the required location within the document. Type the static text You can format the text, using the options in the Format menu. They are similar to standard Windows formatting choices, such as font selection, indents, and lists.
H O W D O I
4. To add a dynamic text item, see Add a dynamic text item to a document. 5. To create a new information object and add it to the document, see Create a new information object in a document. 6.
To insert an image, Position the cursor in the content definition pane at the required location within the document. From the Insert menu, select Picture. The Picture dialog box opens. Click Browse, select the image file, and click Open. You are returned to the Picture dialog box. Type the Alternate Text to be displayed if you have selected not to display images. Customize the layout, by selecting an Alignment option from the drop-down menu and entering a Border Thickness. Type the Horizontal and Vertical spacing. Click OK. You are returned to the HTML Document Editor. To insert a hyperlink,
7.
Select the text to be hyperlinked in the content definition pane . From the Insert menu, select Hyperlink. The Hyperlink dialog box opens.
410
Choose a protocol Type from the drop-down list. Type the URL or e-mail address in the URL field. It is important for hyperlinks to reference only complete URLs, because no source path is available for relative URLs in an HTML e-mail. However, bookmarks relative to the page, such as #top, can be used.
8.
To create a table, Position the cursor in the content definition pane at the required location within the document. From the Table menu, select Create. The Create Table dialog box opens. Type the Number of Rows and the Number of Columns. Edit the Table Tag Attributes, if required, to change the size of the border, cell padding, and cell spacing. Add Cell Tag Attributes, if required. This setting allows you to specify a string with HTML attributes to be included with every cell in the table. Type a Caption, if required. Click OK. You are returned to the HTML Document Editor. The table is displayed in the Content Definition pane. You can enter text, document elements, or images into the tables cells. You can resize any item, except for static text, by clicking and dragging one of the items handles. You can also move any item, except for static text, by clicking on it and dragging it to the new position.
H O W D O I
9. Click Save and Close. The Save HTML Document dialog box opens. 10. Choose a folder in which to save the document. Type a name for the
411
Steps 1. Right-click the Applications folder, point to New, and then choose Document. The New Document dialog box opens. 2. 3. 4.
Double-click Imported Document. The Imported Document Editor dialog box opens.
Choose Create a new imported file and click OK. The Import File dialog box opens. Type a Name for the new file.
5. The file type is automatically set, but you can change it by selecting a File Type from the drop-down list.
H O W D O I
Click the browse button to locate the file. The Open dialog box opens.
6.
8. 9.
You can click Modify to select the character set that was used when the file was created. By default, the System Character Set (ANSI) is selected. The file is imported using the selected character set.
7. Select the file to be imported and click Open. You are returned to the Import File dialog box.
Choose a folder in which to save the imported file. Type a name and click Save. The Save Imported Document As dialog box opens.
10. Choose a folder in which to save the document. Type a name for the new document and click Save.
From the Insert menu, select New Information Object. The Select Information Source dialog box opens.
412
4. Double-click the MicroStrategy information source to use. The Information Object Wizard opens. For information about creating MicroStrategy content information objects, see Create a MicroStrategy content information object with personalized page execution and Create a MicroStrategy content information object with personalized report execution. For XML information objects, an XSL stylesheet is automatically selected. You are returned to the document editor.
A document element is automatically created containing the new information object and is displayed in the Document Elements pane.
5. To change the stylesheet, double-click the document element (on the words Document Element 1or Document Element 2, for example, in the Document Elements pane). The Document Element Properties dialog box opens. 6. Click Browse and select a different stylesheet file, then click OK to return to the document editor. 7. To set error handling, double-click any of the error handling rules at the bottom of the Document Element pane. The Document Element Properties dialog box opens. 8. Set the error handling rules. For each type of error, choose whether to fail the document to be returned to the publication or define a text string to be displayed instead of the information object results. 9.
H O W D O I
To add a static text item, type the text in the content definition pane.
4. To add a dynamic text item, see Add a dynamic text item to a document.
413
5. To create a new information object and add it to the document, see Create a new information object in a document.
You can resize a document element by clicking and dragging one of the items handles. You can also move a document element by clicking on it and dragging it to the new position. Click Save and Close. The Save Plaintext Document dialog box opens.
8. Choose a folder in which to save the document. Type a name for the new document and click Save. 7.
6.
H O W D O I
Create a publication
Steps 1. Right-click the Applications folder, point to New, and then select Publication. The Publication Wizard opens at the Welcome page. 2. Read the introduction and click Next. The Name and Description page opens. 3.
Provide the following information: Publication name: Type a name for the new publication. Publication description: Type a description, up to 5000 characters, of the new publication. Click Next. The Delivery Method page opens.
4.
5. From the Delivery Method drop-down list, select the information transmission module (ITM) that will broadcast the service.
6.
7. From the Selection Locale drop-down list, select the locale that this publication will support.
8. 9.
414
From the Available list, select the devices to use and click Add to add them to the Selected list.
Chapter 41 Creating Publications and Content Section Documents
10. Click Next. The Message Contents page opens. 11. Select a document in the Available Documents list on the left. To
create a new document, click New to open the New Document dialog box and create a document. To edit an existing document, select it and click Edit to open the appropriate document editor. When you select a document from the list, the sections to which the document can be added are displayed in bold in the Content Sections list on the right.
12. Select a section to which to add this document. If the documentcontent section combination is valid, the Add button becomes available.
Refer to the tips area at the bottom of the page for helpful information on the status of your selections.
H O W D O I
13. Click Add to assign the selected document to the selected section. 14. Select the Do not deliver message if document fails check box, if required. If this option is chosen and the document cannot retrieve content from its information source or the formatting fails, the publication will not be sent.
publication is complete. The Next button is activated only after all the ITMs rules are fulfilled. For a summary of the ITMs rules, click Rules to access the Content Definition Rules dialog box.
16. Click Next. The Summary page opens. 17. Review the information and click Finish to create the new publication. The Save Publication dialog box opens. 18. Choose a folder in which to save the publication. Type a name for the publication and click Save.
Create a publication
415
Import a file
Steps 1. Right-click the Applications folder, point to New, and then select Imported File. The Import File dialog box opens. 2.
3. The file type is automatically set, but you can change it by selecting a File Type from the drop-down list. 4. Click the Browse button to locate the file. The Open dialog box opens.
H O W D O I
5. 6. 7.
You can click Modify to select the character set that was used when the file was created. By default, the System Character Set (ANSI) is selected. The file is imported using the selected character set.
Select the file to be imported and click Open. You are returned to the Import File dialog box. Click OK. The Save As dialog box opens. Select a folder in which to save the file. Type a name and click Save.
416
Click Ok if the files are successfully imported. If the Refresh Imported File dialog box is unable to successfully update the imported files click Open Log File, to view the log file.
3.
H O W D O I
Double-click the file to reimport. The Import File dialog box opens.
2. Click the Browse button to locate the file. The Open dialog box opens.
Select the file to be imported and click Open. You are returned to the Import File dialog box.
4.
3.
Click OK. You cannot change the File Type and Character Set of the file.
Steps
1. Create a new document (Excel, HTML, or plain text) or edit an existing document.
417
2.
3. In the Document Properties dialog box, select the locale that is appropriate for this document. System is the default locale. 4. 5.
Click OK to return to the document editor. Click Save and close to return to the Narrowcast Administrator.
Steps 1. Create a new document (Excel, HTML, or plain text) or edit an existing document. 2. In the document editor, double-click on a document element (on the words Document Element 1or Document Element 2, for example, in the Document Element pane). The Document Element Properties dialog box opens. 3. 4. 5.
In the Document Element Properties dialog box, click Browse and select the stylesheet file you want to use in this document. Click OK to return to the document editor. Click Save and close to return to the Narrowcast Administrator.
Or edit a service containing a document. Go to the Message Contents page and double-click the document.
418
For PDF documents in Web subscription services, the Document Properties dialog box opens at this point. Go to step 3.
2. In the document editor, from the File menu, select Properties. The Document Properties dialog box opens. 3. Click the Document-Level Error Handling tab, and choose Cancel this document if all selected information objects fail. Then select one of the following:
All information objects: Select this check box to select all information objects in this document. The entire set of information objects must fail for error handling to apply to this document. One or more check boxes in the list of information objects. All the selected information objects must fail for error handling to apply to this document.
4. Select the appropriate check boxes to specify how to apply this error handling rule:
H O W D O I
Return no data: Select to apply the rule for information objects that return no data. Return an error: Select to apply the rule for information objects that fail. One of these check boxes must be selected.
5. 6.
Click OK to return to the document editor. Click Save and close to return to the Narrowcast Administrator.
Create a new document (Excel, HTML, or plain text) or edit an existing document.
1.
419
2. In the document editor, double-click on a document element (on the words Document Element 1or Document Element 2, for example, in the Document Element List pane). The Document Element Properties dialog box opens. 3. Set the error handling rules. For each type of error, choose whether to fail the document to be returned to the publication or define a text string to be displayed instead of the information object results. 4. 5.
Click OK to return to the document editor. Click Save and close to return to Narrowcast Administrator.
H O W D O I
Right-click the object in Narrowcast Administrator and select Properties from the menu. The Properties dialog box opens. Information on the Properties dialog box includes Type Owner Status (whether the object is active, inactive, or invalid) ID (the object identifier used by Narrowcast Server) Creation Time Modification Time Description
420
Edit the document elements containing these reports and apply the MSTR7ToHTML-ReturnXML.xsl stylesheet. Set the information transmitter used for this service to save messages to file only.
5. 4.
3.
H O W D O I
Execute the service and edit the message that is saved to file.
6. Copy the XML structures from this service and save to files with .xml extensions.
From the Start menu, select Programs, MicroStrategy, Tools, and then XML Test Tool.
8. In the XML window, click Load and then browse for one of the XML files that you created. 9. In the XSL window, click Load and then browse for the stylesheet that you want to test. 10. Click Transform and then View Source. 11. Repeat steps 8 through 10 for as many reports (XML files) and XSL stylesheets as you want to test.
7.
421
H O W D O I
422
C H A PT E R
42
42.
42
H O W D O I
This chapter describes procedures to create and manage services and schedules in Narrowcast Administrator. A service is an essential tool to deliver information using Narrowcast Administrator and a schedule determines the frequency and recurrence pattern for service execution. For a detailed explanation of services and schedules, see Creating Services.
Create a service
You can create a service using either the Service Wizard or the Service Editor. You may find the Service Wizard easier to use, if you have never created a service before. If you want more control over how to create a service, use the Service Editor. The Service Wizard also allows you to select multiple delivery methods which are available in your system.
Best practices
You may want to create a dynamic subscription in the following situations: The subscription set varies from one service execution to the next. A dynamic subscription dynamically generates a list of recipients who should receive the service. The subscription is for an alert-driven service. A dynamic service delivers content to recipients only when a certain criteria is met. For example, managers are alerted when the performance of their employees falls below 50%. The subscription information is created or updated by an external system. A dynamic service evaluates whether a given parameter has reached a critical value before a service is executed.
423
From the Welcome page, review the information and click Next. The Delivery Method page opens.
3.
2.
4. Click Next. The first page of the Message Contents section opens. A list of pages to follow appears on the left, one for each delivery method chosen in the previous section. 5. Insert or create the necessary documents for this delivery method. Review the content definition rules to ensure that the correct content is added. Update error handling as required.
The delivery method automatically defaults to sending the content to all devices for the selected information transmitter. To modify the set of devices (useful in the event a new device is added to the system), click Specify Devices and Locale in the toolbar to open the Devices and Locale Support dialog box. The default locale for the delivery method can also be set in the Devices and Locale Support dialog box.
6. Click Next. If multiple delivery methods were chosen, a content page for the next delivery method selected opens. 7. 8. 9.
Repeat steps 6 and 7 as necessary. Click Next. The Subscriptions and Schedules page opens.
Insert or create subscription sets and schedules as appropriate. Make sure that each subscription set has at least one schedule associated with it.
10. Click Next. The Service Summary page opens. 11. If any red text appears in the summary, click Back to return to the appropriate page and make any changes necessary.
424
Service settings, such as the start date and execution settings, can be accessed by clicking Modify General Settings. For more information on modify general settings, see General Service Settings dialog box.
12. If no red text appears in the summary, click Finish. 13. Select a folder in which to save the new service. Type a name for the
H O W D O I
On the Message Contents tab, from the Locale drop-down list, select the Locale for which to define publications.
The Available Publications list allows you to browse existing publications. Perform one of the following steps in the Available Publications list:
To add an existing publication, select the publication and click Add. The selected publication is added to the Selected Publications list. To edit a publication, select the publication and click Edit. The Publication Wizard opens. To edit a publication, see Publication Wizard. To create a new publication, click New. The Publication Wizard opens. To create a new publication, see Publication Wizard.
4. As publications are added, the Selected Publications list lists them with their assigned priority. To reprioritize a publication, select the publication in the table and click the up or down arrow next to the table. 5. As publications are added, they are also added on the corresponding row in the ITM/Device/Publications table.
Create a service
425
6.
If multiple publications use the same information transmitter and device, only the one with the highest priority is displayed in the ITM/Device/Publications table. A subscriber receives the highest-priority publication with a locale and device that matches the locale and device defined in the subscription. An icon is displayed next to the publication to warn of a possible conflict.
The Subscription Sets and Schedules tab allows you to combine subscription sets and schedules to use for this service. First you need to select a subscription set. Perform one of the following steps in the Available Subscription sets and Schedules list:
H O W D O I
To add an existing subscription set, select a subscription and click Add. The selected subscription set is added to the Selected Subscriptions Sets and Schedules list. To edit a subscription set, right-click the subscription set and select Edit Subscription Set. If you choose to edit a static subscription set, the Static Subscription Set Editor opens. If you choose to edit a dynamic subscription set, the Dynamic Subscription Set Wizard opens. To edit a subscription set, see Dynamic Subscription Set Wizard and Static Subscription Set Editor. To create a new subscription set, right-click any folder and select New Subscription Set. The Subscription dialog box opens. To create a new subscription set, see Dynamic Subscription Set Wizard and Static Subscription Set Editor.
7. Select a schedule. Perform one of the following steps in the Available Subscription sets and Schedules list:
To add an existing schedule, select a schedule and click Add. A green check mark appears when the pair is valid. The selected schedule is added to the Selected Subscriptions Sets and Schedules list. To edit a schedule, right-click the schedule and select Edit Schedule. The Schedule Wizard opens. To edit a schedule, see Defining when a service is sent: Schedule Wizard. To create a new schedule, right-click any folder and select New Schedule. The Schedule Wizard opens. To create a new schedule, see Defining when a service is sent: Schedule Wizard. You cannot save the new service until your combined subscription sets and schedules are valid.
8.
426
The General Properties tab allows you to specify the following options:
In the Service Execution Period section, select the check boxes and choose the dates from the calender drop-down list to change Start Date and End Date. In the Service Priority section, set Priority and Segment Size for the service. In the Description section, type a description, up to 5000 characters long, for the service. In the Segment Execution Timeout section, select a segment execution timeout for the service. On the Service Execution Timeout tab, select an expiration option: Never Time Out Time Out at Specific Time, and enter the time and time zone Offset Timeout from Service Execution Start, and enter the length of time, in days, hours, or minutes, to run the service
H O W D O I
9.
10. When you complete all the tabs, click Save and Close. The Save Service dialog box opens. 11. Select a folder in which to save the new service. Type a name for the
Steps 1.
The option to zip attachments is not available with the SMS (SMPP) delivery method.
On the Service Wizard - <Delivery Method> Content page, click Compression to open the Compression Properties dialog box.
2. From the Section drop-down list, select the content section to be zipped. 3. Type a name or macro for the zip file to be produced in the File Name box. For more information on the use of macros, see the Compression Properties dialog box.
427
4. To specify a password, select the Use the following Password check box and type a password in the Password box.
From the Compression Level drop-down list, select the compression level. An appropriate selection of the compression level helps to maintain the speed and performance of your computer while delivering large documents in Narrowcast Server services.
6. Click OK to save this information and return to the Service Wizard <Delivery Method> Content page.
5.
H O W D O I
1. 2. 3.
The steps listed below are applicable to services for both file and email deliveries.
Right-click the service and select Edit with Service Wizard. The Service Wizard opens.
Right-click the Excel file attachment and select Edit. The Desktop Document Selector dialog box opens.
4. Click Advanced Properties. The Advanced Properties dialog box opens. 5. On the General tab, clear the Include report title check box and click OK to return to the Desktop Document Selector dialog box. 6. 7.
Click OK to save the changes and return to the Service Wizard. Close the Service Wizard.
For reports subscribed through MicroStrategy Web, edit the service that supports report deliveries for MicroStrategy Web.
428
For each project, supporting services are created in the Services for Web Deliveries folder in the Narrowcast Administrator Folder List.
Create a schedule
Steps 1. Right-click the Applications folder, point to New, then select Schedule. The Schedule Wizard opens. 2. Read the introduction and click Next. The Name and Description page opens. 3.
429
Name: Type a name, up to 50 characters and not including \, for the new schedule. Description: Type a description, up to 5000 characters, of the new schedule. Click Next. The Recurrence Pattern page opens. Select one of the following options to specify the recurrence pattern.
4. 5.
Daily: The service will run every x number of days or every weekday. Weekly: The service will run every x number of weeks for any given days. Monthly: The service will run any given day or date every x number of months. Yearly: The service will run any given day or date in any given month on an annual basis. If you set a service to run yearly starting on February 29th, 2000, the next run date of the service will be February 28th, 2001, not March 1st, 2001. Similarly, a monthly service starting on March 31st results in a next run date of April 30th, not May 1st.
H O W D O I
6. 7. 8. 9.
Select a start date for the schedule. Click Next. The Interval page opens. Select the time zone on which to base the service execution time. Select how frequently your service will run during the day: Executes once a day: The service will run once a day at the specified time. Executes multiple times a day: The service will run multiple times at the specified interval between the selected start and end times. Executes all day: The service will run all day at the specified interval.
10. Specify Start Time. 11. For Send Now schedules, select the On Demand Schedule check
box.
430
13. Review the summary information and click Finish to create the new schedule. The Save Schedule page opens. 14. Select a folder in which to save the new schedule. Type a name for
999.
5.
2. If the system is not currently running, a message box opens. Click Yes to start the server. 3. If the system is out of compliance with respect to CPU usage, a message appears. For information on efficient CPU utilization, see Clustering in the Narrowcast Server System Administrator Guide. 4. If the service has only one subscription set, the service runs automatically using the subscription set.
431
5.
If the service has multiple subscription sets, the Choose Subscription Sets dialog box opens. Select the subscription sets to use from the list. Click OK to run the service.
6. If the service has no subscription sets associated with it, a message box opens allowing you to browse for a subscription set. Click Yes to open a browser to find one. Select the subscription set to use and click OK to run the service.
1.
2. Click the Scheduled Services object in the object browser. Services scheduled to execute the soonest appear in the object browser folder contents window. The services shown depend on the service queue parameters specified. To know how the service queue parameters are specified, see Modify how the schedule queue is displayed.
If a service was recently activated or deactivated in the object browser, the information displayed is updated automatically. Otherwise, the information must be refreshed to display an accurate list of upcoming services.
432
C H A PT E R
43
43.
43
H O W D O I
This chapter describes procedures to configure dynamic and static subscription sets in a service configuration. To understand concepts related to subscriptions and subscription sets, see Subscriptions and subscription sets.
In the Services Configuration section, on the Overview page, review the Default Service Configuration settings.
2.
1.
Click Next to proceed to the Select Services page. If you have already configured one or more services, the Services page opens. Click the Configure another service link to proceed to the Select Services page.
3. On the Select Services page, navigate through the folders until you locate the application object that represents the service to be configured. Select the service and click Next to proceed to the Static Subscriptions page. 4.
5. Click the configuration link next to the Dynamic Subscription Set you want to configure.
433
Note the following: You can choose either to configure dynamic subscription sets individually or to define a single configuration to blanket all dynamic subscription sets. If you wish to configure dynamic subscription sets individually, click the configure link next to the subscription set you wish to configure. To create a single configuration, select the configure link available under the Configure dynamic subscription sets default option. If you configure the default dynamic subscription set configuration, you can configure individual dynamic subscription sets as well. The individual configurations overwrite the default settings for the specific subscription set it is being configured for.
H O W D O I
6.
Set the options for the page by questions and click Next.
7. Select the warehouse and tables in which you want to store the subscriptions for the selected subscription set. Click Next. 8.
9. Repeat steps 5 through 9 for all dynamic subscription sets you wish to configure. 10. Having configured all dynamic subscriptions sets, click Next to
Click Next to proceed to the Select Services page. If you have already configured one or more services, the Services page opens. Click the Configure another service link to proceed to the Select Services page.
434
3. On the Select Services page, navigate through the folders until you locate the application object that represents the service to be configured. Select the service and click Next to proceed to the Static Subscriptions page. 4. 5. 6.
Click Next to proceed to the Dynamic Subscriptions page. Click the configure link next to the dynamic subscription set. Select the answer to be used for each page-by question. For each question for which you choose answer to another question, you need to select an alternative question by following the steps described in Select an alternate question.
H O W D O I
7.
Configure any additional questions you want the user to answer when creating a subscription (optional).
8. Click Next to proceed to the Select Tables page and then proceed with mapping the subscription information to the data warehouse tables.
Click Next to proceed to the Select Services page. If you have already configured one or more services, the Services page opens. Click the Configure another service link to proceed to the Select Services page.
3. On the Select Services page, navigate through the folders until you locate the application object that represents the service to be configured. Select the service and click Next to proceed to the Static Subscriptions page. 4. Click the configure link in Static subscription sets default settings table. 5.
435
7.
For each question for which you choose answer to another question, you need to select an alternative question by following the steps described in Select an alternate question.
6. Configure any additional questions you want the user to answer when creating a subscription (optional).
Click OK and then click Next to proceed to the Dynamic Subscriptions page.
1. In the Services Configuration section, on the Select Question page, browse through the folders to find the application object that corresponds to the question you want to use to prompt users when they subscribe to this service. 2.
3. Select whether you would like to store the answers to this question in the Subscription Book Repository or in a warehouse. 4. To store the answers in a warehouse, you can either select an existing storage mapping that has previously been created for this question object, or you can create a new storage mapping. 5. Continue with the steps to Select tables for question mappings and subscription mappings and Map question object information to data warehouse tables and return to this screen 6.
436
2. Click Refresh to refresh the list of available tables associated with the selected data warehouse. 3.
4. Using the arrows move the tables to the left and right until all the required tables are present in the Selected Tables list.
You can use the Filter table names field to restrict the list of tables names that is returned. You must use the percent (%) sign after the letter, that is, a%, to return all entries beginning with that letter or series of letters.
H O W D O I
In the Services Configuration section, on the Select Columns page, select one or more general components and drag them each to one of the table columns on the right.
1.
Note the following: The general components include all of the standard subscription fields, including Subscription_ID, User_ID and Preference_ID. Subscription_ID must be included in every table.
Every time a subscription is created, Subscription Portal creates a new Subscription ID, which is unique to the subscription.
2. Select one or more question components and drag them each to one of the table columns on the right.
3. If required, type a name of the value in the Custom value field to create a custom value. Select the required custom value component and drag and drop the custom value to the required table coulmn.
437
Custom values allow you to write a constant value into warehouse tables each time data is inserted.
Note the following: The name of the storage mapping is initially generated from the list of tables for this data warehouse as shown in the Select Tables page. Storage mapping names cannot contain spaces. Use underscores instead of spaces; for example, Subscription_Stocks_Two.
2. Select one or more general components and drag each of them to one of the table columns on the right.
Note the following: General components include Subscription_ID, User_ID and Preference_ID. A general component provides a reference to the Subscription Book Repository for the prompts. Either Subscription_ID or Preference_ID has to be included in every table.
Every time the question is answered it creates a new Preference ID, which will be unique to the subscription. Select one or more question components and drag each of them to one of the table columns on the right.
3.
A question component is either the answer value for each prompt or the answer ID of the question.
4. If required, type a name of the value in the Custom value field to create a custom value. Select the required custom value component and drag and drop the custom value to the required table column.
438
Custom values allow you to write a constant value into warehouse tables each time data is inserted.
H O W D O I
439
H O W D O I
440
C H A PT E R
44
44.
44
H O W D O I
This chapter describes procedures to create and manage a site and Subscription Portal. A site is a set of services that are made available through a portal for access by users. A Subscription Portal allows users to control the content they receive by specifying what information they want to use. For detailed information on sites and Subscription Portal, see Site definition and Subscription Portal system.
441
Click Edit. Edit the Name and Description boxes. Click Next. Select the Object Repository. Click Next. Select the Subscription Book Repository.
7.
Type a Name for the site definition. Type a Description of the site. Click Next. Select the database connection where the Object Repository is stored. Enter the table prefix for the Object Repository.
Select the Use same database connection for the Subscription Book Repository check box.
8.
If the Subscription Book Repository is in a different location, clear the check box and click Next. On the Subscription Book Repository page, enter the database connection where the Subscription Book Repository (SBR) is stored and the table prefix for the SBR.
Click Next.
442
Click Delete next to the site definition to be deleted. The delete a database connection page opens.
3.
2.
Click OK.
H O W D O I
In the Site Management section, on the Site Definition page, click the link labeled click here. Select a portal from the list. Click Delete. At the confirmation window click Yes.
443
H O W D O I
444
C H A PT E R
45
45.
45
H O W D O I
This chapter describes procedures to manage a Subscription Book. The Subscription Book consists of users, addresses, and subscription. The Subscription Book is responsible for administering and providing recipients as a service. For detailed information on Subscription Book, see The Subscription Book.
Launch the Narrowcast Administrator console. From the Tools menu, select Open Subscription Book. Select the user for whom you want to add a new address.
From the Edit menu, select New Address. The User Properties Editor - Addresses tab opens. Click New Address.
6. Enter a name for the address, which appears in the Available Addresses list.
Enter the actual address to which messages will be sent in the Physical Address box.
8. 9.
7.
Enter a display for the address in the Address Display box. Select a delivery method from the list in the Delivery Method box.
10. Select a device from the list in the Device box. 11. Click Advanced Properties to specify additional address properties. 12. If this is going to be the default address, select the Set this address
445
14. To specify an expiration date, select the Expire this address on check box and choose a date. 15. To change the delivery window start time, select from the list in the
Start box.
16. To change the delivery window end time, select from the list in the End box. 17. To change the time zone, select from the list in the Time Zone box. 18. To add a Personal Identification Number for this address, enter a
number in the Enter PIN box. Enter the same number to confirm the PIN in the Confirm PIN box.
19. Click OK to save your changes and return to the Addresses tab.
H O W D O I
20. Click OK to finish and return to the Subscription Book Editor. You might not see the new address if the filter being applied to the list excludes it. 21. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.
Launch the Narrowcast Administrator console. From the Tools menu, select Open Subscription Book. On the toolbar, click New User. On the Login tab, enter a login ID for the user in the Login ID box.
To specify password information for this user, enter a password in the Enter Password and Confirm Password boxes. To provide a password hint for the user, enter text in the Hint box. Click Advanced Properties to specify additional user properties.
8. Select a locale from the list in the Select locale box or use the default suggested. 9.
To deactivate this user, clear the Activate this user check box.
10. To specify an expiration date, select the Expire this user on check
446
11. Click OK to save your changes and return to the Login tab. 12. To add an address for this user, click the Addresses tab. See Add an address to the Subscription Book. 13. To specify preference personalization settings, click the Preference tab. See Add preference personalization to a user in the Subscription Book. 14. To specify authentication and security personalization settings, click the Authentication and Security tab. See Add authentication and security personalization to a user in the Subscription Book. 15. To add user-specific information, click the User Information tab. 16. Click OK to finish and return to the Subscription Book Editor. You might not see the new user if the filter being applied excludes it. 17. From the Subscription Book menu, select Exit to return to the
H O W D O
Launch the Narrowcast Administrator console. From the Tools menu, select Open Subscription Book.
3. Double-click the user you want to modify, or create a new user. The User Properties Editor opens. 4.
5. To add authentication personalization for this user, select an information source in the Authentication table and click Define. The Login Information dialog box opens. 6. Type the MicroStrategy user login and password for the selected information source. 7. Click OK to finish and return to the User Properties Authentication and Security tab.
447
8. To add security personalization for this user, select an information source in the Security table and click Define. The Prompt Resolution Wizard opens. 9. Make the appropriate selections and click Next to go to the next page of the wizard. 10. Make the appropriate selections and click Finish. The wizard closes
and you are returned to the User Properties - Authentication and Security tab.
11. Click OK to finish and return to the Subscription Book Editor. 12. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.
H O W D O I
Launch the Narrowcast Administrator console. From the Tools menu, select Open Subscription Book.
3. Double-click the user you want to modify, or create a new user. The User Properties Editor opens. 4.
5. In the User Preference column next to the information object or question object for which you want to specify a user preference, select Create to add a new user preference. The User Preference Editor opens. 6. 7.
To use this user preference as the user-level preference for this question object, select the Use this profile as the default check box.
8. Click Answer to specify a preference. The Prompt Resolution Wizard opens. 9. Make the appropriate selections and click Next to go to the next page of the wizard.
448
10. Make the appropriate selections and click Finish. The wizard closes and you are returned to the User Preference Editor. 11. Click OK to save and return to the User Properties - Preference tab. 12. Repeat steps 4 through 11 for each information object or question object you want to answer for this user. 13. Click OK to finish and return to the Subscription Book Editor. 14. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.
H O W D O I
From the Tools menu, select Open Subscription Book. The Open Subscription Book editor opens. Select the address you want to delete. From the Edit menu, select Delete Addresses.
5. In the Confirm Deletion of address(es) dialog box, click Yes to delete the address. 6. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.
Steps 1.
2. From the Tools menu, select Open Subscription Book. The Open Subscription Dialog box opens. 3.
449
4. 5.
On the toolbar, click Delete Users. In the Confirm Deletion of user(s) dialog box, click Yes to delete the
user.
6. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.
H O W D O I
Deleting a user deletes all addresses and subscriptions belonging to that user.
2. From the Tools menu, select Open Subscription Book. The Open Subscription Book editor opens. 3. 4. 5.
Select the address you want to edit. From the Edit menu, select Edit. Click the Addresses tab.
6. From the Available Addresses list, select the address you want to modify. 7. 8.
Modify the information as needed. Click OK to finish and return to the Subscription Book Editor.
9. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.
2. From the Tools menu, select Open Subscription Book.The Open Subscription Book Editor opens. 3.
450
4. 5. 6.
From the Edit menu, select Edit. Modify the information on each tab as needed. Click OK to finish and return to the Subscription Book Editor.
7. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.
Do not change the password of a MicroStrategy user stored in the Subscription Book Repository. When a MicroStrategy user subscribes to a report or document from MicroStrategy Web, the user is stored in the Narrowcast Server Subscription Book Repository. The Login ID of the MicroStrategy user is stored in the form of UserName(GUID), for example, Edward Perryman(28ECA8CF11D5188EC000E9ABCA1B1A4F). The GUID associated with the user name helps you distinguish MicroStrategy users from the Narrowcast Server users.
H O W D O I
2. From the Tools menu, select Synchronize Subscription Data. The Welcome page of the Subscription Book Synchronization Wizard opens. 3. 4.
Click Next to go to the Synchronization Options page. Select the synchronization type.
5. From the Source Type drop-down list, select the synchronization source file format. 6.
7. If you had selected comma separated value (CSV) format in step 5, specify which column contains the distinguished name. 8. Click Synchronization Settings. The Synchronization Settings dialog box opens. 9. On the Synchronization Process tab, select the appropriate option under User Settings and Address Settings. 10. Click OK to return to the Subscription Book Synchronization
Wizard.
451
11. Click Next to go to the User and Address Properties page. 12. Select a source file attribute to use for the User Name property (required). 13. Select source file attributes to use for the other user properties, as desired. 14. Select the Enable Smart User Remapping check box, if required. 15. Select an address mapping from the Address Mapping drop-down list or click New Address Mapping to create a new address mapping. 16. Select source file attributes to use for the Address Name, Physical Address, and Address Display properties (required).
H O W D O I
17. Select source file attributes to use for the other address properties, as required. 18. Click Next to go to the User Addition or Mapping page. 19. To add, exclude, and remap new users, choose from the following:
To add all the users to the Subscription Book, do nothing; leave them in the Add Users table. To exclude any users in the import file from being added to the Subscription Book, select and move them to the Do Not Add Users table. To make new users available for mapping to existing Subscription Book users, select and move them to the Make Users Available for Mapping table.
20. Click Next to go to the Users Removal or Mapping page. 21. To remove, keep, or remap existing users, choose from the following:
To remove all existing users from the Subscription Book, do nothing; leave them in the Remove Users table. To keep existing Subscription Book users, select and move them to the Do Not Remove Users table. To map existing Subscription Book users to new users available for mapping, select and move them to the User Mappings table. Then select a new user from the drop-down list in the New Users column for each existing user.
22. Click Next to go to the Review Changes page. 23. Review the information and click Next to run the synchronization
452
2. From the Tools menu, select Synchronize Subscription Data. The Welcome page of the Subscription Book Synchronization Wizard opens. 3. 4.
Click Next to go to the Synchronization Options page. Select the synchronization type.
5. From the Source Type drop-down list, select the synchronization source file format. 6.
7. Click Synchronize Settings. The Synchronization Settings dialog box opens. 8. On the Synchronization Process tab, under User Settings, select Do not add/remove/remap users; Dont update existing users. 9.
H O W D O I
Under Address Settings, select Do not update mapped addresses; Preserve unmapped addresses.
10. Under Subscription Settings, select Do not subscribe addresses. 11. Under Preference Settings, select Do not create preferences. 12. Under Authentication Settings, select Define information source
authentication.
13. Under Security Settings, select Do not define information source security. 14. Click OK to return to the Subscription Book Synchronization
Wizard.
15. Click Next to go to the Authentication page. 16. Select an import file attribute for each information source. 17. Click Next to go to the Review page. 18. Review the information and click Next to run the synchronization and go to the Finish page. 19. Click Finish to return to the Narrowcast Administrator console.
453
2. From the Tools menu, select Synchronize Subscription Data. The Welcome page of the Subscription Book Synchronization Wizard opens. 3. 4.
Click Next to go to the Synchronization Options page. Select the synchronization type.
5. From the Source Type drop-down list, select the synchronization source file format.
H O W D O I
6.
7. Click Synchronize Settings. The Synchronization Settings dialog box opens. 8. On the Synchronization Process tab, under User Settings, select Do not add/remove/remap users; Dont update existing users. 9.
Under Address Settings, select Do not update mapped addresses; Preserve unmapped addresses.
10. Under Subscription Settings, select Do not subscribe addresses. 11. Under Preference Settings, select one of the following:
Create preferences, preserve unmapped preferences to create preferences as indicated in the synchronization source file and preserve existing preferences for all other information objects and question objects Create preferences, delete unmapped preferences to create preferences as indicated in the synchronization source file and delete existing preferences for all other information objects and question objects
12. Under Authentication Settings, select Do not define information source authentication. 13. Under Security Settings, select Do not define information source security. 14. Click OK to return to the Subscription Book Synchronization
Wizard.
15. Click Next to go to the Preferences page.
454
16. Select an import file attribute for each question object. 17. Click Next to go to the Review page. 18. Review the information and click Next to run the synchronization and go to the Finish page. 19. Click Finish to return to the Narrowcast Administrator console.
From the Tools menu, select Synchronize Subscription Data. The Welcome page of the Subscription Book Synchronization Wizard opens. Click Next to go to the Synchronization Options page. Select the synchronization type.
H O W D O I
5. From the Source Type drop-down list, select the synchronization source file format. 6. 7.
Under Address Settings, select Do not update mapped addresses; Preserve unmapped addresses.
10. Under Subscription Settings, select Do not subscribe addresses. 11. Under Preference Settings, select Do not create preferences. 12. Under Authentication Settings, select Do not define information source authentication. 13. Under Security Settings, select Define information source security. 14. Click OK to return to the Subscription Book Synchronization
Wizard.
15. Click Next to go to the Security page.
455
16. Select an import file attribute to use for each information source. 17. Click Next to go to the Review page. 18. Review the information and click Next to run the synchronization and go to the Finish page. 19. Click Finish to return to the Narrowcast Administrator console.
1. 2. 3. 4.
From the Tools menu, select Synchronize Subscription Data. The Welcome page of the Subscription Book Synchronization Wizard opens. Click Next to go to the Synchronization Options page. Select the synchronization type.
5. From the Source Type drop-down list, select the synchronization source file format. 6. 7.
Under Address Settings, select Do not update mapped addresses; Preserve unmapped addresses.
Subscribe addresses, delete unmapped subscriptions to subscribe addresses as indicated in the synchronization source file and delete existing subscriptions for these addresses Subscribe addresses, preserve unmapped subscriptions to subscribe addresses as indicated in the synchronization source file and preserve existing subscriptions for these addresses
456
12. Under Authentication Settings, select Do not define information source authentication. 13. Under Security Settings, select do not define information source
security.
14. Click OK to return to the Subscription Book Synchronization
Wizard.
15. Click Next to go to the Subscriptions page to define subscriptions for
H O W D O I
2. From the Tools menu, select Open Subscription Book. The Open Subscription Book Editor opens. 3. From the Tools menu, select Filter and governing editor. The Filter and governing editor opens. 4. In the Subscription Book section, specify the maximum number of users and addresses to retrieve for the Subscription Book. 5.
6. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.
457
Synchronize users
Steps 1.
2. From the Tools menu, select Synchronize Subscription Data. The Welcome page of the Subscription Book Synchronization Wizard opens. 3.
H O W D O I
Click Next to go to the Synchronization Options page. From the Source Type drop-down list, select the synchronization Type the synchronization source file format. Specify the synchronization source file location.
4.
type.
5. 6.
7. Click Synchronize Settings. The Synchronization Settings dialog box opens. 8. On the Synchronization Process tab, select the appropriate option under User Settings. 9.
10. Click Next to go to the User and Address Properties page. 11. Select an import file attribute to use for the User Name property (this is required). 12. Select import file attributes to use for the other properties, as desired. 13. Select the Enable Smart User Remapping check box, if desired. 14. Click Next to go to the User Addition or Mapping page. 15. To add, exclude, and remap new users, choose from the following:
To add all the users to the Subscription Book, do nothing; leave them in the Add Users table. To exclude any users in the import file from being added to the Subscription Book, highlight and move them to the Do Not Add Users table. To make new users available for mapping to existing Subscription Book users, highlight and move them to the Make Users Available for Mapping table.
458
16. Click Next to go to the User Removal or Mapping page. 17. To remove, retain, or remap existing users, choose from the following:
To remove all existing users from the Subscription Book, do nothing; leave them in the Remove Users table. To keep existing Subscription Book users, highlight and move them to the Do Not Remove Users table. To map existing Subscription Book users to new users available for mapping, highlight and move them to the User Mappings table. Then select a new user from the drop-down list in the New Users column for each existing user.
H O W D O I
18. Click Next to go to the Review page. 19. Review the information and click Next to run the synchronization
Synchronize users
459
H O W D O I
460
C H A PT E R
46
46.
46
H O W D O I
This chapter describes procedures to create and manage subscription sets. A subscription set is a collection of subscriptions that is treated as a single unit. It can be associated with one or more services to specify which recipients should receive these services. For detailed information on subscription sets, see Subscriptions and subscription sets.
3. In the Subscription Properties - Status tab, select or clear the Activate this subscription check box. 4. Click OK to save your changes and return to the Static Subscription Set Editor.
In the Static Subscription Set Editor, select the address in the Addresses in Subscription Book pane you want to add to the subscription set. An address can be added to the same subscription set more than once, and personalization can be set for each address. Click Subscribe Addresses. You may not see the subscription you added if your filter excludes it.
2.
461
H O W D O I
Click Add to display the SQL Statements dialog box. Enter or specify the information as needed.
Click OK to return to the Post-Execution SQL Specification tab. The new SQL statement appears in the list. Click OK to return to the Static Subscription Set Editor or the Dynamic Subscription Set Wizard.
In the Static Subscription Set Editor, select Subscription Set Properties from the Edit menu. OR In the Dynamic Subscription Set Wizard, on the Subscription Set Properties page, click Define.
2. In the Subscription Set Properties dialog box, click the Preexecution SQL Specification tab.
1.
462
3. 4.
Click Add to display the SQL Statements dialog box. Enter or specify the information as needed.
5. Click OK to return to the Pre-execution SQL Specification tab. The new SQL statement appears in the list. 6.
Click OK to return to the Static Subscription Set Editor or the Dynamic Subscription Set Wizard. Related topics
2. Right-click the Applications folder, select New, then select Subscription Set. The Subscription dialog box opens. 3. Select Dynamic Subscription Set and click OK. The Dynamic Subscription Set Wizard opens. 4.
5. On the Name and Description page, type a Name for the subscription set and then type a description (optional), and click Next. 6. On the Subscription Selection page, select the information object to be used for subscription, and click Next. 7.
To provide a segment information object, select Advanced Option provide a segmented information object, and click Next.
8. On the Segmentation Selection page, select the information object to be used for segmentation, and click Next. 9. On the Pre- and Post-SQL specification page, to add the SQL statements, click Define. The Pre- and Post-SQL specification dialog box opens. For details on how to add SQL statements, see Add SQL statements to be executed before segmentation occurs and Add SQL statements to be executed after service execution is completed. Click Next. 10. On the Summary page, review the information and click Finish. The
463
Select Static Subscription Set and click OK. The Static Subscription Set Editor opens.
3. Add subscriptions as required. For more details on how to add subscriptions, see Add a subscription to a subscription set. 4. Add pre- and post-SQL statements as required. For more details on how to add SQL statements, see Add SQL statements to be executed before segmentation occurs and Add SQL statements to be executed after service execution is completed. 5. 6. 7.
Click Save and Close. The Save Subscription Set dialog box opens. Type a name for the subscription set and select a folder to save it in. Click Save to return to the Narrowcast Administrator console.
In the Subscriptions in Subscription Set pane of the Static Subscription Set Editor, select the subscription you want to delete.
2. Click Delete Subscriptions. The Confirm deletion of subscription(s) dialog box opens. 3.
1.
Click Yes.
464
Browse to find the subscription set you want to delete. Right-click the subscription set and select Delete. In the Confirm Object Delete dialog box, click Yes.
H O W D O I
In the Subscription Set Properties dialog box, click the Send Now
tab.
3. Select the Enable send now delivery check box to enable one-time immediate delivery. By default, this check box is cleared.
4.
If you select the Enable send now delivery check box, select a schedule that has the On Demand Schedule property enabled. Otherwise, it can result in slower performance due to loading of the service.
In the Static Subscription Set Editor, select a subscription in the Subscription Set box, then from the Edit menu select Edit.
1.
465
2. In the Subscription Properties Editor- Preference tab, select the question object for which you want to modify the subscriptions preferences. 3. From the Preference Applied drop-down list, select from the following options:
Select a user preference to use as the preference for this personalized object. Select [default user preference] to use the default user preference for this personalized object.
4. To create a runtime preference for the personalized object, Click Define Subscription Preference. The Prompt Resolution Wizard opens. Make the appropriate selections and click Next to go to the next page.
H O W D O I
5.
Make the appropriate selections and click Finish. You are returned to the Subscription Properties Editor - Preference tab.
To remove preferences from a personalized object, select the appropriate personalized object and select [default user preference] from the Default User Preference drop-down list.
8.
7.
466
4.
For the e-mail transmitter, select To:, CC:, or BCC:. There are no subscription-level properties for the SMS (SMPP) ITM or the Web (Portal) ITM.
5. Click OK to save your changes and return to the Static Subscription Set Editor.
Click the Notification tab. This tab is available only if you select File or Print as the delivery method in the Service Wizard, and the User Properties Editor.
3. Select the E-mail option to send a notification through e-mail after the service is delivered. 4. Click OK to save your changes and return to the Static Subscription Set Editor.
In the Subscription Properties - Status tab, select the Expire this subscription on check box.
4. By default, the expiration date is set to two years from the current date. Click the down drop-down list to select a different expiration date on a calendar.
467
5. Click OK to save your changes and return to the Static Subscription Set Editor.
H O W D O I
2. To modify an existing subscription set, double click the subscription set. To create a new static subscription set, right-click the Applications folder, select New, then select Subscription Set. For detailed steps on how to create a new static subscription set, see Create a static subscription set. 3. In the Static Subscription Set Editor, from the Tools menu, select Filter and governing editor. The Filter and governing editor opens. 4.
Specify the Maximum number of subscriptions to retrieve for the Subscription Set. The number in this setting applies to all subscription sets.
5.
Specify the Maximum number of addresses/users to retrieve for the Subscription Book. The default value for Maximum number of subscriptions to retrieve and Maximum number of addresses/users to retrieve is set to 50. A value lower than 50 is not allowed and a number smaller than 50 automatically reverts to 50.
6.
7. From the Subscription Set menu, select Exit to return to Narrowcast Administrator.
You can also open the Filter and governing editor from the Subscription Book Editor by selecting Filter and governing editor from the Tools menu. However, you will not see the Subscription Set section.
468
SECTION IV
IV
A P P E N D I X E S
469
A P P E N D I X E S
470
Appendixes
APPENDIX
A
A P P E N D I X E S
An execution control document is a plaintext document containing specific information. The E-mail (SMTP) Transmitter uses this information to complement or overwrite message properties. Execution control documents allow you to insert dynamic content into any of these properties. For example, sender name and the e-mail importance level could be obtained from a report, so that each user receives a different broadcast.
where,
CustomHeaderList
is a control line feed-delimited list of custom headers. A custom header should always include a field name, a colon, and an optional text field.
Example
CustomHeaders=X-FirstHeader: This is a sample header, add any information you want here x-SecondHeader: more data X-EmptyHeader:
471
Syntax Rules
The following syntax rules are applicable for the CustomHeaders property in an execution control document: The field name always starts with X- or x-, followed by any printable character except a space, tab, or colon. Only ASCII characters from 33 to 126 are allowed. The text field can be any text including space, tab, and colon characters. A maximum of 75 characters per line is recommended to prevent an old SMTP gateway from truncating the text. Multiple lines are allowed to extend a text field to any length. Each new line must start with a tab or space. The message fails if any of the headers in the list is malformed.
A P P E N D I X E S
where,
Addresses List
Example
CC='mymail1@server.com;mymail2@server.com'
Control line feeds, spaces, and tabs are not accepted in this list.
Syntax Rules
The following syntax rules are applicable for the CC property in an execution control document: All syntax rules for an email address are applicable to the semicolonseparated email addresses in Addresses List.
472
The semicolon-separated email addresses in Addresses List should have same properties in the Information Transmission Module as any subscription address.
where,
Addresses List
Example
BCC=rcver@server1.com;rcver2@server2.com
Control line feeds, spaces, and tabs are not accepted in this list.
Syntax Rules
The following syntax rules are applicable for the BCC property in an execution control document: All syntax rules for an email address are applicable to semicolonseparated email addresses in Addresses List. The semicolon-separated email addresses in Addresses List should have same properties in the Information Transmission Module as any subscription address, except that the Execution Engine does not have knowledge of them.
A P P E N D I X E S
473
This section is not applicable to rename the zip files. For more information on dynamically renaming a zip file, see Dynamically renaming the zip file and files within the zip file in email attachments.
where,
Original_file_name.Ext1 is the original current name and extension of the attachment that requires a name change. New_File_name.Ext2
Example
ChangeAttachmentName=MyAttachments.txt=Sales Report.txt ChangeAttachmentName=MyAttachments.txt=Sales Report.csv
A P P E N D I X E S
where,
Original_Doc_Name1.Ext1 is the current name and extension of the first attachment that requires a name change. New_File_Name1.Ext2
attachment.
Original_Doc_Name2.Ext1 is the current name and extension of the second attachment that requires a name change. New_File_Name2.Ext2
attachment.
Example
ChangeAttachmentName=MyAttachments.txt=Sales Report.xls|MyExcelAtachments.xls=Profit Report.txt
474
Syntax Rules
The following syntax rules are applicable for the ChangeAttachmentName property in an execution control document: Single quotes are used, not double quotes. Document names are case sensitive. The separator for renaming multiple documents is the pipe symbol (|). Invalid characters in the new name are replaced with underscore characters. Renaming a non-existent attachment has no effect. Creating more than one ChangeAttachmentName entry in the control document causes the service to fail. Renaming the new document into an empty name causes the document to be given an automatically-generated new name.
475
For example, if the Information Object contains a report attribute named Manager in the page-by field and the first attribute element displayed is Barbara Aoter, the attachment name is changed to Manager.Aoter.Barbara. The sample XSL stylesheets are installed in the \Delivery Engine\XSL\TextDocuments folder. The XSL stylesheet details are as follows: MSTR8ToText-PageByInfoOnly.xsl for report attribute in the page-by field. MSTR8ToText-NoRowHeader.xsl for the report filter.
A P P E N D I X E S
To add the Information Object, choose Existing Information Object from the Insert menu of the File Execution Control Editor.
Example to dynamically rename the attachment using Region attribute (in the row) based on the attribute element name
You want to create a service to be named dynamically according to the details of the report filter contained in the report. The high level steps to do this are as follows:
1.
476
2.
3. Create a service that uses e-mail delivery and this Information Object. 4.
Use the following syntax in the control document: where, [IO] is the placeholder for the Information Object icon.
ChangeAttachmentName=MyAttachments.html=[IO].html
5.
When you execute the service, the attachment is created with the name Region.Northeast.html.
Example to dynamically rename the file based on the report attribute name in the page-by field
You want to create a service to be named dynamically according to the attribute called Manager which is contained in the page-by field of the report. The high level steps to do this are as follows:
1. 2.
Create a report using the attribute "Manager" in the page-by field. Create an Information Object that uses this report.
A P P E N D I X E S
3. Create a service that uses e-mail delivery and this Information Object. 4.
Use the following syntax in the control document: where [IO] is the placeholder for the Information Object icon.
ChangeAttachmentName=MyAttachments.html=[IO].html
5.
When you execute the service, the file is created with the name Manager.Aoter.Barbara.html.
Dynamically renaming the zip file and files within the zip file in email attachments
You can have the system dynamically rename the files contained within a zip file in e-mail deliveries. All System, Subscription, and User Information information objects can be used in the new file name.
Dynamically renaming the zip file and files within the zip file in email attachments
477
Syntax to dynamically rename the zip file and files within the zip file
ChangeAttachmentName=My Attachment.xls=NewName.xls|My Attachment.pdf=[IO].pdf|My Zipped File=NewZipName.zip
where,
My Attachment.xls is the current name of the file within the My Zipped File.zip file that requires a name change. NewName.xls
My Attachment.pdf is the current name of the file within the My Zipped File.zip file that requires a name change. [IO]
is the placeholder for the Information Object icon. is the current name of the zip file that requires a
My Zipped File.zip
name change.
NewZipName.zip
A P P E N D I X E S
An execution control document does not support macros for renaming the files that you want to zip. To rename a file, use static strings or information objects.
Example
ChangeAttachmentName = My Attachment.xls=MonthlySales.xls | My Attachment.pdf=[IO].pdf | My Zipped File.zip=MonthlySales.zip
Syntax Rules
The following syntax rules are applicable for the ChangeAttachmentName property in an execution control document: Single quotes are used, not double quotes. Document names are case sensitive. The separator for renaming multiple documents is the pipe symbol (|). Invalid characters in the new name are replaced with underscore characters at run-time. Renaming a non-existent attachment has no effect.
478
Creating more than one ChangeAttachmentName (e-mail) entry in the control document causes the SMTP ITM to fail the service. Renaming the new document into an empty name has no effect.
Other properties
Each of the following properties overwrites the corresponding property defined in the SMTP ITM properties. The one exception is Importance; there is no corresponding SMTP ITM property for it to overwrite.
Syntax
SenderDisplayName=XXX SenderEmailAddress=XXX ReplyToDisplayName=XXX ReplyToEmailAddress=XXX Importance=normal/high/low DeliveryStatusNotificationEmailAddress=XXX RequestDeliveryStatusNotificationOnSuccess=yes/no RequestDeliveryStatusNotificationOnFailure=yes/no
Examples
SenderDisplayName=MicroStrategy ReplyToDisplayName=MicroStrategy Importance=high RequestDeliveryStatusNotificationOnSuccess=yes RequestDeliveryStatusNotificationOnFailure=no
A P P E N D I X E S
Syntax Rules
The syntax is a subset of the XML definition for tag attribute lists, the part that is inside tags: Single quotes are used, not double quotes. Text is case sensitive. White space can be any character, including tabs, spaces, carriage returns, or line feeds. The order of parameters is arbitrary. Not all parameters have to be included.
Other properties
479
Escaping rules apply only in decimal format, for example, 	 but not <. Replace the XXX in the SenderEmailAddress, ReplyToEmailAddress, and DeliveryStatusNotificationEmailAddress properties with an e-mail address in the format name@company.
A P P E N D I X E S
480
APPENDIX
B
A P P E N D I X E S
An execution control document is a plain text document containing specific information on how a service should be executed. The File Transmitter uses this information to add or to overwrite file properties. Execution control documents allow you to have the system insert dynamic content into a file that is being transmitted.
This section is not applicable to rename the zip files. To change a zip file name or extension, see Changing a zip file name or extension.
where,
OldFileName.html
change.
is the current name of the file that requires a name is the new name for the file.
NewFileName.html
Example
SaveDocumentAs=HTMLDocument1.html=Sales Report.html
When you execute the service, the attached HTMLDocument1.html file is renamed as Sales Report.html.
481
where,
OldFileName1.html
name change.
is the current name of the first file that requires a is the new name for the first file. second file that requires a
NewFileName1.html
name change.
Example
SaveDocumentAs=HTMLDocument1.html=Sales Report1.html|HTMLDocument2.html=Sales Report2.html
A P P E N D I X E S
When you execute the service, the attached HTMLDocument1.html and HTMLDocument2.html files are renamed as Sales Report1.html and Sales Report2.html.
Syntax rules
The following syntax rules are applicable for the SaveDocumentAs property in an execution control document: Single quotes are used, not double quotes. File names are case sensitive. Invalid characters in the new name are replaced with underscore characters. Renaming a non-existent file has no effect. Creating more than one SaveDocumentAs entry in the execution control document causes the service to fail. If you need to rename multiple files, use the pipe symbol (|) to separate the files, as shown in the syntax above for multiple files. Renaming the new file to a blank name causes the file to be given an automatically-generated new name.
482
This section is used to rename the file name and extension only for zip file and the files within the zip file that use the file delivery method.
where,
OldFileName.zip NewFileName.doc
is the current name of the file and extension that requires a name change. is the new name and extension of the file.
Example
SaveDocumentFileExtensionAs= HTMLFileName.zip=SalesReport.doc
A P P E N D I X E S
When you execute the service, the attached HTMLFileName.zip file is renamed as SalesReport.doc.
Syntax to change the name and extension of a zip file and files within the zip file
To change the name and/or extension of a zip file and files within the zip file, use the following syntax:
SaveDocumentFileExtensionAs= OldZipFileName.zip=NewZipFileName.doc|OldFileName.xls= NewFileName.doc
483
where,
OldZipFileName.zip is the current name and extension of the zip file that
NewZipFileName.doc
OldFileName.xls is the current name and extension of the file within the OldZipFileName.zip file that requires a name change. NewFileName.doc is the new NewZipFileName.doc file.
Example
SaveDocumentFileExtensionAs= FileNameOne.zip=SalesReportOne.doc|XLSFileName.xls= SalesReportTwo.doc
When you execute the service, the attached FileNameOne.zip file and the XLSFileName.xls within the attached zip file are renamed as SalesReportOne.doc and SalesReportTwo.doc.
A P P E N D I X E S
Syntax rules
The following syntax rules are applicable for the SaveDocumentFileExtensionAs property in an execution control document: Single quotes are used, not double quotes. File names are case sensitive. The separator for renaming multiple files (single zip file and files within the zip file) is the pipe symbol (|). Invalid characters in the new name are replaced with underscore characters. Renaming a non-existent file has no effect.
Information Objects use Narrowcast XSL stylesheets that change the name of the file. When you create a service that uses an Information Object to dynamically name a file based on a report object within the report, you select the appropriate stylesheet to be applied to ensure correct name change. Stylesheets work to dynamically change the file name as follows: For a report attribute element, the name of the file is changed to the name of the attribute element returned by the report filter. For example, if the Information Object contains a report filter named Region : Northeast, the file name is changed to Northeast. For a report attribute in the page-by field, the name of the attached file is changed to Attributename. Elementname. For example, if the Information Object contains a report attribute named Manager in the page-by field and the first attribute element displayed is Barbara Aoter, the file name is changed to Manager.Aoter.Barbara. The sample XSL stylesheets are installed in the Delivery Engine\XSL\TextDocuments folder. The XSL stylesheet details are as follows: MSTR8ToText-PageByInfoOnly.xsl for report attribute in the page-by field. MSTR8ToText-NoRowHeader.xsl for the report attribute element name. MSTR8ToText-FilterNameOnly.xsl for the report filter.
A P P E N D I X E S
485
To add the Information Object, choose Existing Information Object from the Insert menu of the File Execution Control Editor.
Example to dynamically rename the file using Region attribute (in the row) based on the attribute element name
You want a service to dynamically name the file based on the attribute element name returned by the report filter. The steps below show how to have a file name changed dynamically by the system at the service execution time. The file name is changed to reflect the attribute element name returned by the report filter. The steps below use report data from the sample Tutorial project as an example.
1. Create a report in Desktop using the Region attribute and filter the report on a single region, Northeast. The Region attribute must be placed in the row of the report. 2. Create an Information Object in Narrowcast Server that uses the report you created above. For more information on how to create an Information Object, refer to the Advanced Subscription Portal Configuration chapter.
A P P E N D I X E S
Create a new service for file delivery using the Service Wizard, which uses the Information Object you created to dynamically name the file. For more information on how to create a service, refer to the Creating and Managing Services and Schedules chapter.
4.
3.
486
5. Select the Show advanced content sections check box to enable usage of the execution control document.
6. Click Define Execution Control (Advanced) to create a new execution control document. The File Execution Control (Advanced) Editor is displayed. 7. Replace the default text in the execution control document with the following syntax:
SaveDocumentAs=My Saved Documents.pdf=[IO].pdf
A P P E N D I X E S
where [IO] is the placeholder for the Information Object icon. For more information on how to insert the Information Object in the syntax used in the execution control document, refer to the Creating Publications and Content Section Documents chapter.
8. Right-click the [IO] icon in the execution control document and select Edit Information Object. The Information Object Wizard is displayed. 9. Click Advanced Options. The Advanced Properties dialog box is displayed.
487
10. Ensure the Include report filter information with report results check box is cleared.
A P P E N D I X E S
11. Click OK. 12. Right-click the [IO] icon in the execution control document and select Edit Document Element. The Document Element Properties dialog box is displayed. 13. From the Document Element Properties dialog box, select MSTR8ToText-NoRowHeader stylesheet to retrieve the required information from the report filter. For more information on how to select a stylesheet for an execution control document, refer to the Creating Publications and Content Section Documents chapter. 14. Click Next. The Subscription and Schedule page is displayed.
488
15. Define the subscription set and schedule for the service. For more information on adding a subscription set and schedule, refer to the Creating and Managing Services and Schedules chapter.
By default, the date and time stamp is appended to the file name. To remove the date and time stamp from the file name, clear the Append timestamp to filename check box in the Transmission tab of the Subscription Properties Editor dialog box.
When you execute the service, the attached file is automatically named as Northeast.pdf.
Example to dynamically rename the file based on the report filter name
You want to create a service to dynamically rename the file based on the name of the report filter contained in the report. The steps below show how to have a file name changed dynamically by the system at service execution time. The file name is changed to reflect the report filter. The steps below use report data from the sample Tutorial project as an example.
1.
Create a standalone filter with the name as Region : Northeast. You can use special characters such as :, /, *, ?, <, and > in the name of the filter, except for =.
2. Create a report with a Region attribute in Desktop and add the standalone filter named Region : Northeast using the Replace Report Filter with a shortcut to this filter option. 3. Create an Information Object in Norrowcast Server that uses the report you created above. For more information on how to create an Information Object, refer to the Advanced Subscription Portal Configuration chapter.
A P P E N D I X E S
Create a service designed for file delivery using the Service Wizard, which uses the Information Object you created to dynamically name the file. For more information on how to create a service, refer to the Creating and Managing Services and Schedules chapter.
5.
4.
6. Select the Show advanced content sections check box to enable usage of the execution control document.
489
7. Click Define Execution Control (Advanced) to create a new execution control document. The File Execution Control (Advanced) Editor is displayed. 8. Replace the default text in the execution control document with the following syntax:
SaveDocumentAs=My Saved Documents.pdf=[IO].pdf
where [IO] is the placeholder for the Information Object icon. For more information on how to insert the Information Object in the syntax used in the execution control document, refer to the Creating Publications and Content Section Documents chapter.
9. Right-click the [IO] icon in the execution control document and select Edit Information Object. The Information Object Wizard is displayed. 10. Click Advanced Options. The Advanced Properties dialog box is displayed. 11. Ensure the Include report filter information with report results
13. Right-click the [IO] icon in the execution control document and select Edit Document Element. The Document Element Properties dialog box is displayed. 14. From the Document Element Properties dialog box, select MSTR8ToText-FilterNameOnly stylesheet to retrieve the required information from the report filter. For more information on how to select a stylesheet for an execution control document, refer to the Creating Publications and Content Section Documents chapter. 15. Click Next. The Subscription and Schedule page is displayed. 16. Define the subscription set and schedule for the service. For more information on adding a subscription set and schedule, refer to the Creating and Managing Services and Schedules chapter.
By default, the date and time stamp is appended to the file name. To remove the date and time stamp from the file name, clear the Append timestamp to filename check box in Transmission tab of the Subscription Properties Editor dialog box.
When you execute the service, the attached file is automatically named as Region.Northeast.pdf.
490
Example to dynamically rename the file based on the report attribute name in the page-by field
You want to create a service to dynamically rename the file based on the attribute named Manager, which is contained in the page-by field of the report to be used by the Information Object. The steps below show how to have a file name dynamically changed by the system at service execution time. The file name is changed to reflect the attribute and the attribute element name displayed in the page-by field of the report. The steps below use report data from the sample Tutorial project as an example.
1. Create a report in Desktop using the Manager attribute in the page-by field. Create a copy of the Manager attribute and place it in the row of the report. 2. Create a content Information Object in Narrowcast Server that uses the report you created and select Personalized Page Execution as the Personalization Mode. For more information on how to create an Information Object, refer to the Advanced Subscription Portal Configuration chapter. 3. Create a service designed for file delivery using the Service Wizard, which uses the Information Object you created to dynamically name the file. For more information on how to create a service, refer to the Creating and Managing Services and Schedules chapter. 4.
A P P E N D I X E S
5. Select the Show advanced content sections check box to enable usage of the execution control document. 6. Click Define Execution Control (Advanced) to create a new execution control document. The File Execution Control (Advanced) Editor is displayed. 7. Replace the default text in the execution control document with the following syntax:
SaveDocumentAs=My Saved Documents.pdf=[IO].pdf
where [IO] is the placeholder for the Information Object icon. For more information on how to insert the Information Object in the syntax used in the execution control document, refer to the Creating Publications and Content Section Documents chapter.
8.
Right-click the [IO] icon in the execution control document and select Edit Information Object. The Information Object Wizard is displayed.
Dynamically changing a file name 491
9. Click Advanced Options. The Advanced Properties dialog box is displayed. 10. Ensure the Include report filter information with report results
By default, the date and time stamp is appended to the file name. To remove the date and time stamp from the file name, clear the Append timestamp to filename check box in Transmission tab of the Subscription Properties Editor dialog box.
When you execute the service, the attached file is automatically named as Manager.Aoter.Barbara.pdf.
Dynamically renaming the zip file and files within the zip file in file attachments
You can have the system dynamically rename a zip file and files within the zip file in file deliveries. The file name can be changed to reflect either the attribute element name returned by the report filter or the attribute and the attribute element name displayed in the page-by field of the report. All System, Subscription, and User Information Objects can be used in the new file name.
492
Syntax to change the name of zip file and files within the zip file in the file attachment
SaveDocumentAs=OldZipFileName.zip=NewZipFileName.zip|OldFil eName1.xls=NewFileName.xls|OldFileName2.pdf=[IO].pdf
where,
OldZipFileName.zip
name change.
is the current name of the zip file that requires a is the new name of the zip file. the
NewZipFileName.zip
OldFileName1.xls is the current name of the first file within OldZipFileName.zip file that requires a name change. NewFileName.xls is the new NewZipFileName.zip file.
OldFileName2.pdf is the current name of the second file OldZipFileName.zip file that requires a name change. [IO]
Example
You want to create a service to dynamically rename a zip file and files within the zip file based on the attribute element name returned by the report filter.
SaveDocumentAs =My Zipped File.zip=MonthlySales.zip|My Saved Document.pdf=[IO].pdf
where [IO] is the placeholder for the Information Object icon. For more information, refer to the Example to dynamically rename the file using Region attribute (in the row) based on the attribute element name section. When you execute the service, the attached files are automatically named as MonthlySales.zip and Northeast.pdf.
A P P E N D I X E S
Syntax rules
The following syntax rules apply to execution control documents: Single quotes are used, not double quotes. File names are case sensitive. Invalid characters in the new name are replaced with underscore characters at run-time.
Dynamically renaming the zip file and files within the zip file in file attachments
493
Renaming a non-existent file has no effect. Creating more than one SaveDocumentAs entry in the execution control document causes the service to fail. If you need to rename multiple files (single zip file and files within the zip file), use the pipe symbol (|) to separate the files, as shown in the syntax above. Renaming the new file to a blank name causes the file to be given an automatically-generated new name.
An execution control document does not support macros for renaming the files that you want to zip. To rename a file, use static strings or Information Objects.
A P P E N D I X E S
494
APPENDIX
C
A P P E N D I X E S
An execution control document is a plaintext document containing specific information. The SMS (SMPP) Transmitter uses this information to complement or overwrite message properties. Execution control documents allow you to alter these properties at the message level. For example, the return address and the priority could vary for different services that use the same SMS (SMPP) ITM.
where,
XXX YYY
is the actual value of the TON you want to use. Valid TON values are listed in the table below.
Valid TON values 0 1 2 Description Unknown International National
495
ZZZ is the actual value of the NPI you want to use. Valid NPI values are listed in the table below :
Description Unknown ISDN/Telephone (E.164/E.163) Data (X.121) Telex National Private ERMES (ETSI DE/PS 3 01-3) Reserved
A P P E N D I X E S
8 9 10 15
Example
ReturnAddress=60000 TON=1 NPI=1
496
In this interface, all time/date related values are in ASCII with the following format:
YYMMDDhhmmsstnnp
p-+ R
where,
XXX
When an SMSC reports responses, the local time of the SMSC is given, and the format is YYMMDDhhmmssp, with the same value descriptions as above.
A P P E N D I X E S
is the actual expiration date you want to be used by the SMSC for all messages sent in the publication that contains your execution control document.
Example
Expire=081201000000+
where,
XXX
A P P E N D I X E S
498
Note the following: These coding schemes are common to Global System for Mobile Communication (GSM), Time Division Multiple Access (TDMA), and Code-Division Multiple Access (CDMA). The SMPP protocol allows client applications to use the same DCS value (GSM 03.38 value) for all three technologies. In cases where a data coding scheme is defined for TDMA or CDMA but not for GSM, SMPP uses GSM 03.38 reserved values.
Example
DataEncoding=00000000
where,
XXX
Example
Priority =1
499
A P P E N D I X E S
500
APPENDIX
D
A P P E N D I X E S
This appendix describes the format of the XML structures used by various components of Narrowcast Server. This information can be used to develop custom modules such as information source modules, and to write custom XSL stylesheets that control how information is rendered and delivered by Narrowcast Server. The term tag is used instead of the XML term element to avoid confusion with MicroStrategy object elements. XML is used throughout Narrowcast Server to share information between modules. The MicroStrategy Information Source Module uses XML to represent reports that are displayed in grid mode. The plaintext and Excel document formatting modules expect XML in a certain format that represents how data should be rendered or arranged in the documents they produce. The Web (Portal) Information Transmitter uses XML to communicate the attached documents for which links need to be provided. By using custom XSLs that handle these specific XML formats, you gain more control over how information is rendered and how it is delivered. For information on the format of the XML structure for the MicroStrategy Information Source Module, see the Narrowcast Server SDK online help, available in the MicroStrategy Developer Library, which is sold as part of the MicroStrategy SDK.
Organization
This appendix provides the following pieces of information about each XML specification: Overview: a list of all of the tags in the specification and a diagram showing how they relate to each other in the XML tree structure Tags: detailed information about each tag, including the attributes that apply and whether the tag or any of these attributes are required Example: a fragment of XML meeting the specification
501
Overview
This section summarizes the XML representation of document elements expected by the plaintext DFM. It details the characteristics of each tag and the attributes within it. A plaintext XML document element can have two types of content: text and table. The only processing performed on text content is character replacement. For example, if a specific pager cannot support the <Carriage Return> character, it might be useful to replace that character with a blank space to maintain the white space arrangement of the content. This replacement process is applied to both text and table content. Table content is processed much more intensely. Table content processing ensures that the strings in each column are aligned properly with each other. This alignment often requires that specific modifications be made to the underlying text for each device. Some devices support tab stops while others do not. Some have fixed-width fonts like Courier New so that a blank space can be used to pad the strings to equal lengths. Others have proportional fonts such as Times New Roman that require string width calculations to take string contents into account. All of these formatting and alignment factors are accounted for in the plaintext DFM so that the best possible output is rendered for each device. These are the tags that make up the plaintext XML document element specification: The pt-container tag is the root level of every plaintext XML document element that contains the text and table tags. This tag is required. The text tag contains text, including white space, that is inserted directly into plaintext documents. Character replacement then occurs according to the definition of the receiving device. The table tag contains data that is represented in a tabular or grid format. It is divided into rows. A table must contain at least one row.
502 Appendix D XML for Narrowcast Server Objects
A P P E N D I X E S
Each row in a table can contain cells. If it has no cells, it represents a blank row. Each cell in a row contains the data that should be placed into the corresponding cell in the resulting grid. To align the columns in a grid, the string in each cell is compared to the string of every other cell in the same column. Padding characters, cell separation characters, or both are added as needed by each device.
pt-container text table row cell cell row
A P P E N D I X E S
Tags
All the tags allowed in a plaintext XML document element are listed below, along with their meanings. None of the tags have attributes.
Tag Name pt-container text Purpose The root tag of a plaintext XML document element. A string of text that is inserted directly into the plaintext document. Afterwards, character replacement will be performed. A collection of strings of text arranged in rows and columns. The strings in each column are padded so that they align properly on devices.
table
503
Purpose An individual row of data in a table. There must be at least one row in each table. An individual field or cell of data in a row. Cells with the same ordinal position in different rows are considered to be part of the same column. There must be at least one cell in each table.
pt-container
None
Child tags
text, table
text
A P P E N D I X E S
A string of text that is inserted directly into the plaintext document. Afterwards, character replacement is performed. White space in a text tag is preserved.
Parent tags
pt-container
Child tags
None
table
A collection of strings of text arranged in rows and columns. The strings in each column are padded so that they align properly on devices. Every table must contain at least one row, and there must be at least one row containing at least one cell.
Parent tags
pt-container
Child tags
row
504
row
An individual row of data in a table. There must be at least one row in each table. At least one of the rows in each table must contain at least one cell. A row with no cells can represent a blank row.
Parent tags
table
Child tags
cell
cell
An individual field or cell of data in a row. Cells with the same ordinal position in different rows are considered to be part of the same column. There must be at least one cell in each table.
Parent tags
row
Child tags
None
Example
This is an example of a valid plaintext XML document element.
<pt-container> <text>Northeast Sales Report</text> <table> <row> <cell /> <cell>2000</cell> <cell>1999</cell> </row> <row> <cell>New York</cell> <cell>$150k</cell> <cell>$138k</cell> </row> <row> <cell>Boston</cell>
A P P E N D I X E S
505
<cell>$82k</cell> <cell>$86k</cell> </row> <row> <cell>Providence</cell> <cell>$91k</cell> <cell>$76k</cell> </row> </table> </pt-container>
A P P E N D I X E S
Overview
This section provides an overview of the XML representation of document elements expected by the Excel DFM. It details the characteristics of each tag and the attributes within it.
506
All aspects of this XML specification, including element (tag) names, attribute names, and attribute values are case sensitive.
An Excel XML document element is always represented by a table. A table is a tabular arrangement of fields or cells in which each cell signifies an individual piece of data. It is typically represented by rows and columns. These are the tags that make up the Excel XML document element specification: The pt-container is the root level of every Excel XML document element that contains the table tag. This tag is required. The table tag contains both content and formatting tags for turning data into a well-formatted grid. The resulting grid overwrites a contiguous rectangle of cells in an Excel workbook when an Excel document is rendered. An Excel XML document element can contain only one table tag. The fonts tag contains the set font definitions that control the font characteristics of cells written into the Excel workbook. Font definitions include font type, color, size, weight, and modifiers like italic. An Excel XML document element can contain only one fonts tag. The font tag contains the definition of a specific font used for this document element. Zero or more font tags are required. The styles tag contains the set style definitions that control cell formatting for cells written into the Excel workbook. Style definitions include all font characteristics as well as background color, orientation, alignment, and borders. An Excel XML document element can contain only one styles tag. The style tag contains the definition of a specific style that is used for this document element. Zero or more style tags are required. The formats tag contains the set of format strings that are used to format date, time, and numeric cell contents. An Excel XML document element can contain only one formats tag. The format tag contains the definition of a specific format string that is used for this document element. Zero or more format tags are required. Each row in a table contains cells. A blank row can be represented by the inclusion of a row containing an empty cell. One or more row tags are required. Each cell in a row contains the data that should be placed into the corresponding cell in the resulting grid. One or more cell tags are required.
A P P E N D I X E S
507
cell
Tags
This section lists all the tags that are allowed in an Excel XML document element, their meanings, and the attributes each tag can have.
Tag Name pt-container table fonts font styles style formats Purpose The root tag of an Excel document element. A collection of data cells arranged in rows and columns, along with the formatting instructions for each cell. A collection of font definitions used in style definitions. The definition of a specific font including typeface, size, color, weight, and modifiers. A collection of style definitions used to control cell formatting. The definition of a specific style, including font as defined in a font tag, background color, orientation, alignment, and borders. A collection of format strings controlling number and date formatting.
508
Purpose An Excel-compatible format string. An individual row of data in a table. There must be at least one non-empty row in each table. An individual field or cell of data in a row. Cells with the same ordinal position in different rows are considered to be part of the same column. There must be at least one cell in each table, and there must be the same number of cells in each row.
pt-container
None
Parent tags
None
Child tags
table
table
A collection of data cells arranged in rows and columns, along with the formatting instructions for each cell. There must be exactly one table and it must be a child of the pt-container tag. This table must contain at least one non-empty row and cell. It must also contain exactly one fonts, one styles, and one formats tag.
Optional attributes
A P P E N D I X E S
column-count = the number of columns in the table row-count = the number of rows in the table If both are present, these two attributes enable the Excel DFM to process workbooks more quickly.
Parent tags
pt-container
Child tags
509
fonts
A collection of font definitions used in style definitions. There must be exactly one fonts tag and it must be a child of the table tag.
Attributes
None
Parent tags
table
Child tags
font
font
The definition of a specific font including typeface, size, color, weight, and modifiers. There can be any number of font tags.
Required attributes
A P P E N D I X E S
name = the name that a style in this document element uses to reference this font. It can be any XML-compliant string that does not include the following characters: &, <, >, ", ', space. family = the typeface of the font, such as Times New Roman.
Optional attributes
color = A number between 8 and 63. If not specified, the default font color for the cell is used. size = A number between 1 and 409 representing the font size in points. If not specified, the value 10 is used. style = A string representing the modifiers to the font such as italics. Possible values may include any combination of: ["italic", "strikeout"]. If not specified, no modifiers are used. The strikeout attribute overrides this attribute. underline = A string representing the type of underline to apply. Possible values: ["none" | "single" | "double" | "single accounting" | "double accounting"]. If not specified, the value "none" is used. weight = A string representing the weight of the font. Possible values: ["bold" | "normal"]. If not specified, the value "normal" is used. strikeout = A string indicating whether or not the strikeout modifier should be applied. Possible values: ["yes" | "no"]. This attribute overrides the style attribute.
510
Parent tags
fonts
Child tags
None
styles
A collection of style definitions that control cell formatting. There must be exactly one styles tag and it must be a child of the table tag.
Attributes
None
Parent tags
table
Child tags
style
style
A P P E N D I X E S
The definition of a specific style, including font as defined in a font tag, background color, orientation, alignment, and borders. There can be any number of style tags.
Required attributes
name = the name that a cell in this document element uses to reference this style. It can be any XML-compliant string that does not include the following characters: &, <, >, ", ', space.
Optional attributes
align = A string representing the horizontal alignment of cell data. Possible values: ["general" | "left" | "center" | "right" | "fill" | "justify"]. If not specified, the value "general" is used. background-color = A number between 8 and 63 or the number 0. If not specified, or the number 0 is used, the default font color for the cell is used.
511
border-bottom = A string representing the color, thickness, and style of the bottom border on a cell. This string is composed of a "style" component and a "color" component. The "style" component can have any one of the following values: ["single" | "thin" | "medium" | "dashed" | "dotted" | "thick" | "double" | "hair" | "mediumdashed" | "dashdot" | "mediumdashdot" | "dashdotdot" | "mediumdashdotdot" | "slanteddashdot"]. The "color" component can be any number between 8 and 63.An example of a border-bottom setting for a medium, red border would be: <style name="bottom_red" border-bottom="style:medium;color:10">
There cannot be any spaces before or after either colon, or before or after the semicolon in a border format string.
border-top = A string representing the color, thickness, and style of the top border on a cell. This string has the same requirements as borderbottom. border-left = A string representing the color, thickness, and style of the left border on a cell. This string has the same requirements as borderbottom.
A P P E N D I X E S
border-right = A string representing the color, thickness, and style of the right border on a cell. This string has the same requirements as border-bottom. border-bottom-color = A number between 8 and 63 or the number 0. When present, this attribute overrides the color specified in the borderbottom attribute and the cell default. border-bottom-style = A string representing the style of the border of the cell. Possible values: ["single" | "thin" | "medium" | "dashed" | "dotted" | "thick" | "double" | "hair" | "mediumdashed" | "dashdot" | "mediumdashdot" | "dashdotdot" | "mediumdashdotdot" | "slanteddashdot"]. border-top-color = A number between 8 and 63 or the number 0. When present, this attribute overrides the color specified in the border-top attribute and the cell default. border-top-style = A string representing the style of the border of the cell. Possible values: ["single" | "thin" | "medium" | "dashed" | "dotted" | "thick" | "double" | "hair" | "mediumdashed" | "dashdot" | "mediumdashdot" | "dashdotdot" | "mediumdashdotdot" | "slanteddashdot"]. border-left-color = A number between 8 and 63 or the number 0. When present, this attribute overrides the color specified in the border-left attribute and the cell default.
512 Appendix D XML for Narrowcast Server Objects
border-left-style = A string representing the style of the border of the cell. Possible values: ["single" | "thin" | "medium" | "dashed" | "dotted" | "thick" | "double" | "hair" | "mediumdashed" | "dashdot" | "mediumdashdot" | "dashdotdot" | "mediumdashdotdot" | "slanteddashdot"]. border-right-color = A number between 8 and 63 or the number 0. When present, this attribute overrides the color specified in the borderright attribute and the cell default. border-right-style = A string representing the style of the border of the cell. Possible values: ["single" | "thin" | "medium" | "dashed" | "dotted" | "thick" | "double" | "hair" | "mediumdashed" | "dashdot" | "mediumdashdot" | "dashdotdot" | "mediumdashdotdot" | "slanteddashdot"]. font = A string indicating which font, as defined in a font tag in the document element, should be used for this style. This should match the name of the font specified in the "name" attribute. If no font is specified, the default font for the cell is used. orientation = A number between -90 and 90, or the number 255. This number represents the orientation, in degrees, of text in the cell. A value of 0 is horizontal. Positive numbers tilt the text up and to the right. Negative numbers tilt the text down and to the right. The value 255 arranges the letters in the text vertically. If not specified, the value 0 is used and the text is oriented horizontally. vertical-align = A string representing the vertical alignment of cell data. Possible values: ["top" | "center" | "bottom" | "justify"]. If not specified, the value "top" is used. wrap = A string indicating whether cell data may wrap lines. Possible values: ["True" | "False"]. If not specified, the value "False" is used.
Parent tags
A P P E N D I X E S
styles
Child tags
None
formats
A collection of format strings used to control number and date formatting. There must be exactly one formats tag and it must be a child of the table tag.
513
Attributes
None
Parent tags
table
Child tags
format
format
An Excel-compatible format string. There can be any number of format tags. For numeric format strings, certain characters have special effects: # displays a significant digit 0 displays insignificant leading or trailing zeros / displays a number or decimal portion of a number as a fraction , divides the number by 1000 or displays thousands separator characters % shows the number as a percentage
A P P E N D I X E S
? adds a space so that values with different numbers of significant digits align along the decimal point or division character, for example, "/" Examples of valid format string values and their effects on numeric data:
Positive Number Format String 0 #,##0 0.00; (0.00) 0% 00.0, # ??/?? 1234.567 1235 1,235 1234.57 123457% 01.2 1234 55/97 Negative Number -1234.567 -1235 -1,235 (1234.57) -123457% -01.2 -1234 55/97
For date and time formatting, the following character combinations have special meanings: "m" represents months as 1-12 and minutes as 0-59 "mm" represents months as 01-12 and minutes as 00-59 "mmm" represents months as a three-character string such as "Jan"
514 Appendix D XML for Narrowcast Server Objects
"mmmm" represents months as the full month name such as "January" "mmmmm" represents months by their first letters such as "J", "F", or "M" "d" represents days as 1-31 "dd" represents days as 01-31 "ddd" represents the day of the week as a three-character string such as "Mon" "dddd" represents the day of the week name such as "Monday" "yy" represents years using 2 digits "yyyy" represents years using 4 digits "h" represents hours as 0-23 "hh" represents hours as 00-23 "h AM/PM" represents hours as 12 AM, 1 AM, 11 PM "s" represents seconds as 0-59 "ss" represents seconds as 00-59 For example, to display the date and time as "Monday, January 3, 2001 4:01:05 PM", use the string "dddd, mmmm d, yyyy h:mm:ss PM". For more information about Excel format strings, refer to Microsoft Excel online help.
Attributes
A P P E N D I X E S
formats
Child tags
None
row
An individual row of data in a table. There must be at least one non-empty row in a table. All rows in a table should have the same number of cells.
Attributes
None
Parent tags
table
Excel XML format 515
Child tags
cell
cell
An individual field or cell of data in a row. Cells with the same ordinal position in different rows are considered to be part of the same column. There must be at least one non-empty cell in each table.
Optional attributes
format = A number indicating which format, as defined in a format tag in the document element, should be used for this cell. This should match the ID of the format specified in the id attribute. If no format is specified, the default format string for the workbook is used.
A P P E N D I X E S
If no format is specified, any format string currently applied to the cell in the document template is overwritten by the default workbook format.
style = A string indicating which style, as defined in a style tag in the document element, should be used for this cell. This should match the name of the style specified in the name attribute. If no style is specified, the default style for the workbook is used.
If no style is specified, any cell formatting applied to the cell in the document template is overwritten by the default workbook cell format.
type = A number indicating the type of data being returned by the cell. Possible values: 1 is not used 2 is a two-byte integer 3 is a four-byte integer 4 is a single-precision floating point 5 is a double-precision floating point 6 is not used 7 is a date 8 is a string
Parent tags
row
516
Child tags
None
Color definition
Color is defined three ways for Excel XML. Excel color index RGB color Named color
Excel color index
Colors are predefined in Excel. Each of them has an index. The numbers you can use are from 8 to 63, as shown below:
A P P E N D I X E S
517
8-Black
9-White
10-Red
12-Blue
13-Yellow
14-Pink
17-Green
20-Violet
21-Teal
45-Rose
53-Orange
55-Gray40% 63-Gray80%
57-Sea Green
58-Olive Green
59-Olive Green
61-Plum
RGB color
RBG color uses values from 0 to 255. The following syntax is used:
"rgb(RED,GREEN,BLUE)"
where RED,GREEN,BLUE are the desired values of red, green, and blue.
A P P E N D I X E S
Named color
You can use named values instead of indexes. The names correspond to the indexes in the table in Excel color index. An example using named colors is:
border-top-color = "bright green"
Example
Here is an example of a valid Excel XML document element.
<pt-container> <table> <fonts> <fontname="Header" color="8" family="Arial" size="12" weight="bold" style="italic" underline="none" /> 518 Appendix D XML for Narrowcast Server Objects
<fontname="Body" size="10" weight="normal" /> </fonts> <styles> <stylename="CHeader" background-color="22" align="right" border-bottom="style:medium;color:8" font="Header" /> <stylename="RHeader" background-color="22" align="left" border-right="style:thin;color:8" font="Body" /> <stylename="data" align="right" font="Body" /> </styles> <formats> <format id="1">0000</format> <format id="2">$?,??0, k</format> </formats> <row> <cell style="CHeader" /> <cell style="CHeader" type="2" format="1">2000</cell> <cell style="CHeader" type="2" format="1">1999</cell> </row> <row> <cell style="RHeader" type="8">New York</cell> <cell style="data" type="5" format="2">1350300.0</cell> <cell style="data" type="5" format="2">1338100.0</cell> </row> <row> <cell style="RHeader" type="8">Boston</cell> <cell style="data" type="5" format="2">820200.0</cell>
A P P E N D I X E S
519
<cell style="data" type="5" format="2">861300.0</cell> </row> <row> <cell style="RHeader" type="8">Providence</cell> <cell>912800.0</cell> <cell>760100.0</cell> </row> </table> </pt-container>
The Web (Portal) Information Transmission Module (ITM) is a key component that links the Narrowcast Server Delivery Engine and Narrowcast Server Subscription Portal. Through this module, the Delivery Engine puts formatted documents into the Portal Repository used by the Subscription Portal. These documents are then retrieved and presented to the users by the Subscription Portal. Each publication transmitted through the Web (Portal) ITM is allowed to have one body document and one or more optional attachments. For the user to access the attachments from the Subscription Portal, a list of links to the attachments is generated and appended to the document body. The formatting of this list is customizable, and is done using the XML structure described below.
Overview
The XML structure used to represent the attachment list is a fairly simple one. Two tags make up this XML specification: The atts tag is the root-level tag. This tag is required.
520
Each att tag contains information about one attachment. The information is stored in various attributes, all of which are required. Depending on the publication definition, there can be zero to many attachments in the list.
Tags
All the tags allowed in an attachment list XML are listed below, along with their meanings.
Tag Name atts att Purpose The root tag of an attachment list XML An individual attachment. All the information about the attachment is stored in various attributes within this tag.
atts
None
Child tags
att
att
A P P E N D I X E S
An individual attachment. All the information about the attachment is stored in various attributes within this tag.
Required attributes
name = the name of the attachment document type = the file type of the attachment document docId = the unique identifier of the body document index = index of this attachment in the attachment list
Parent tags
atts
Child tags
None
Web (Portal) XML format 521
Example
This is an example of a valid attachment list XML.
<atts> <att name='doc1.txt' type='text/plain' docId='12345' index='1' /> <att name='doc2.htm' type='text/html' docId='23456' index='2' /> </atts>
A P P E N D I X E S
Example
522
Example
A P P E N D I X E S
523
A P P E N D I X E S
524
APPENDIX
E
A P P E N D I X E S
Certain types of data must be included for Subscription Book synchronization, synchronization of source files, including delimited (for example, CSV) and Lightweight Directory Interchange Format (LDIF) files. Data for user and address properties, subscription set, preference, authentication, and security must be in the appropriate format to be synchronized. The following sections describe the appropriate format of the data type for synchronization. User properties Address properties Subscription set Preference Authentication Security Time zone constants
User properties
Login ID Data type: Restrictions: Sample: Password Data type: Restrictions: Sample: Default: text 127 characters, unique user1 text 250 characters pwd password
525
Password hint
text 250 characters hint password hint GUID 32 characters Object Repository FBBF7C1E37EC11D4887C00C04F48F8FD FBBF7C1E37EC11D4887C00C04F48F8FD Boolean 0 (inactive) or 1 (active) 1 1 date 12/30/9999 12/30/9999
Locale
User status
A P P E N D I X E S
Address properties
Address name Data type: Restrictions: Sample: Default: Physical address Data type: Restrictions: Sample: Default: text 250 characters work e-mail Default Address text 250 characters user1@work.com Physical Address
526
Address display
text 250 characters User 1 Address Display GUID 32 characters Object Repository 1D2E6D168A7711D4BE8100B0D04B6F0B 1D2E6D168A7711D4BE8100B0D04B6F0B text 250 characters 5555 0000 binary Subscription Book Repository 0x000000000000000000000000000000000000000000000000 0x000000000000000000000000000000000000000000000000 integer see Time zone constants see Time zone constants 21 21 boolean 0 (inactive) or 1 (active) 0 1
Device
PIN
Delivery window
Time zone
A P P E N D I X E S
Address status
Address properties
527
Subscription set
Subscription set Data type: Sample: text finance department
Preference
Preference Data type: How to get it: Sample: xml Subscription Book Repository <UserDetail><First_Name Name="First Name" Default="0" Value="John"/><Last_Name Name="Last Name" Default="0"/><Middle_Initial Name="Middle Initial" Default="0"/><Suffix Name="Suffix" Default="0"/><Salutation Name="Salutation" Default="0"/><Zip_Code Name="Zip Code" Default="0"/><Title Name="Title" Default="0"/></UserDetail>
A P P E N D I X E S
Authentication
Authentication Data type: How to get it: Sample: xml Subscription Book Repository AuthUserName="Administrator" AuthUserPwd="pwd" AuthUserID="54F3D26011D2896560009A8E67019608"
528
Security
Security Data type: How to get it: Sample: xml Subscription Book Repository SecurityObject="A6DE4BA111D3ADA0C0002B91E22B284F:8" SecurityObjName="Sector Group = T"
A P P E N D I X E S
Security
529
Time zone (GMT-03:00) (GMT+01:00) (GMT+10:00) (GMT+01:00) (GMT+02:00) (GMT-03:00) (GMT+02:00) (GMT+10:00) (GMT-04:00) (GMT) (GMT-06:00) (GMT+06:00)
City Brasilia Bratislava, Budapest, Ljubljana, Prague, Warsaw Brisbane Brussels, Berlin, Bern, Rome, Stockholm, Vienna Bucharest Buenos Aires, Georgetown Cairo Canberra, Melbourne, Sydney Caracas, La Paz Casablanca, Monrovia Central Time (US & Canada) Colombo Darwin Eastern Time (US & Canada) Ekaterinburg Eniwetok, Kwajalein Fiji, Kamchatka, Marshall Is. Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London Guam, Port Moresby Harare, Pretoria Hawaii Helsinki, Riga, Tallinn Hobart Indiana (East) Islamabad, Karachi, Tashkent Israel
Constant 20 11 18 58 19 42 22 50 44 28 14 49 4 21 23 16 24 27 60 48 29 25 52 54 59 32
A P P E N D I X E S
(GMT+09:30) (GMT-05:00) (GMT+05:00) (GMT-12:00) (GMT+12:00) (GMT) (GMT+10:00) (GMT+02:00) (GMT-10:00) (GMT+02:00) (GMT+10:00) (GMT-05:00) (GMT+05:00) (GMT+02:00)
530
Time zone (GMT+04:30) (GMT+11:00) (GMT-06:00) (GMT-02:00) (GMT-11:00) (GMT+03:00) (GMT-07:00) (GMT+03:00) (GMT-03:30) (GMT+09:00) (GMT-08:00) (GMT+08:00) (GMT-06:00) (GMT+09:00) (GMT+08:00) (GMT+08:00) (GMT+03:30) (GMT+10:00) (GMT+09:00)
City Kabul Magadan, Solomon Is., New Caledonia Mexico City, Tegucigalpa Mid-Atlantic Midway Island, Samoa Moscow, St. Petersburg, Volgograd Mountain Time (US & Canada) Nairobi Newfoundland Osaka, Sapporo, Tokyo Pacific Time (US & Canada); Tijuana Perth Saskatchewan Seoul Singapore Taipei Tehran Vladivostok Yakutsk
Constant 0 13 34 35 45 41 36 17 38 53 39 57 7 33 47 51 31 56 61
A P P E N D I X E S
531
A P P E N D I X E S
532
Index
A
activating subscriptions 461 adding addresses 445 channels, new 381 documents, zipped 427 dynamic text to documents 403 personalization to users 447, 448 site definitions, new 442 SQL for post-service execution 462 SQL for pre-service execution 462 subscriptions to subscription sets 461 users 446 XML information objects, multiple 404 zipped documents 427 additional questions option, Portal Administrator Wizard 172 Address IDs, as preference object 172 addresses adding 445 deleting 449 display 84 editing 450 formats 284, 285 names 84 overview 83 properties 526 user property 83 Advanced Properties dialog box 264 advanced segmentation control techniques 149 alert-based applications 105 alert-based services application design 109 importance 105 process flow 106 alerting, edge-triggered 92 alternate questions 170, 176 alternate questions, selecting 436 answer to another question setting, Portal Administrator Wizard 170 application design hierarchy 18 requirements 142 application designer tasks xxii applications, defining with security 38 architecture, component-based 18 associating macros with events 405 question objects to information objects 396 attachment names, changing 473 attributes, importing user and address 451 authentication 33, 528 authentication and security adding to users 447 authentication, importing user 453 automatic charts, creating 407
B
Best practice for creating a dynamic subscription service 423 Best practice for creating an information object outside the service 387 blind carbon copy (BCC) list 473
C
changing device folders associated with device types 384 folders of services associated with channels 381 views in document editors 406 channels adding new 381 deleting 382 description 161 folders 162 names and descriptions 162, 283 selecting folder 283 Site Preferences page 282 chart creation in Excel documents 54 charts, creating automatic 407 Choose Subscription Sets dialog box 211 clearing question objects from information objects 397 clients see devices column widths in MicroStrategy Web or Desktop 77 setting 235 upgraded systems 78 compressed documents 15 Compression Properties dialog box 334 configuring dynamic subscription sets 433 page-by questions for dynamic subscription sets 434
I N D E X
Index
533
page-by questions for static subscription sets 435 Subscription Portal, different 441 content information objects creating with personalized page execution 388 creating with personalized report execution 390 overview 26 personalization by subscription information objects 129 control documents E-mail and Wireless (SMTP) ITM execution 471 File ITM execution 481 SMS (SMPP) ITM execution 495 creating automatic charts 407 content information objects with personalized page execution 388 content information objects with personalized report execution 390 device types 383 dynamic subscription sets 463 Excel documents 408 HTML documents 410, 412 imported documents from new imported files 411 information objects in documents 412 links to Desktop documents 406 plain text documents 413 publications 414 question objects 395 schedules 429 segment information objects 394 services 424, 425 static subscription sets 464 subscription information objects 392 Subscription Portal, new 441 text documents 413 credentials project 165 user, optional 165 users, required 165
D
I N D E X
data coding scheme (DCS) 498 data in Excel documents 53 data warehouse tables, mapping question object information 438 database connections overview 157 Portal Administrator Wizard page 279 deactivating subscriptions 461 defining delivery information for subscription information
objects 397 deleting addresses 449 channels 382 device types 384 site definitions 443 Subscription Portal 443 subscription sets 465 subscriptions 464 users 449 delivery information, defining for subscription information objects 397 delivery methods definition 84 E-mail (SMTP) 9 File 10 multiple 177 overview 3 Print 9 SMS (SMPP) 10 Web (Portal) 10 Wireless (SMTP) 9 delivery windows 85 Desktop Document Selector dialog box 213 Desktop documents creating links to 406 overview 67 device type definitions, reconfiguring 384 device types changing device folders for 384 creating new 383 deleting 384 name 283 new 163 new definition 283 overview 162 renaming 385 specifying 283 devices content selection 5 default 164 definition 84, 163 description 22 device file 178 folders 163, 284 multiple end-user 177 multiple sets 177 portal 164 settings 164 Devices and Locale Support dialog box 333
534
Index
display fields 284 Document Element Properties dialog box 225 document element-level error handling 12 document elements overview 12 properties 225 specifying error handling rules 419 with multiple information objects 29 Document Properties General tab 234 Document Properties dialog box 233 document-level error handling 13, 234 documents compressed 15 creating Excel 408 creating HTML 410, 412 creating links to 406 creating plain text 413 definition 21 Desktop 67 Excel 52, 237 HTML 47, 245 HTML (Desktop) 67 imported 67, 253 imported - creating from new imported files 411 new 275 overview 11 plain text 293 properties 233 Report Services 67 specifying error handling rules 418 text 64 versus imported file 14 working with 47 zipped 15 zipped, adding to services 427 dynamic content 25 dynamic subscription information, mapping to data warehouse tables 437 Dynamic Subscription Set Wizard 221 dynamic subscription sets advanced Subscription Portal configuration 183 configuring 174, 433 configuring page-by questions for 434 creating 463 description 89 for storage mapping 173 overview 16, 81 personalization 174 to support alert services 109
dynamic subscriptions description 125 implementing 147 non-personalized 197 personalization 108, 116 personalized 201 dynamic text, adding to documents 403
E
edge-triggered alerting 92 edit fields 284 editing addresses 450 site definitions 442 users 450 EIS interfaces, building in Excel 56 E-mail (SMTP) delivery method 9 E-mail (SMTP) ITM Publication Sections 314 E-mail and wireless (SMTP) ITM execution control documents 471 blind carbon copy (BCC) list 473 changing attachment names 473 custom e-mail headers 471 other properties 479 e-mail headers, custom 471 e-mail transmitters, transmission properties 367 error handling alerts 14 document element-level 12 document-level 13, 234 Excel documents 14, 63 properties 12 publication-level 13 specifying rules for document elements 419 specifying rules for documents 418 Error Handling dialog box 335 event-triggered service execution 107, 109, 110 event-triggered services 105 Excel Document Editor 237 Excel documents accommodating reports of different sizes 62 automatic chart creation 54 building EIS interfaces 56 building pivot tables 58 converting URLs into hyperlinks 61 creating 408 data placement and formatting 53 editor 237
I N D E X
Index
535
error handling 63 overview 52 preserving leading zeros 62 reports from Intelligence Server 63 strategy 52 using macros 60 VBA macros and viruses 62 Excel XML color definition 517 formats 506 tags 508 execution control documents E-mail and Wireless (SMTP) ITM 471 File ITM 481 SMS (SMPP) ITM 495 execution locales 179, 180, 234 execution periods see schedules Executive Information System 56 expiration 82, 85, 86, 367 expiration dates, setting for subscriptions 467 expiration/validation dates 496 external sources 89
editor 47, 245 overview 47 previewing 416 techniques 50 hyperlinks in Excel documents 61
I
image information objects 27 Import File dialog box 255 import tasks 95 Imported Document Editor 253 imported documents creating from new imported files 411 overview 67 versus imported files 15 imported files 14 importing files 416 user and address attributes 451 user authentication 453 user preferences 454 user security 455 user subscriptions 456 users and addresses 95 information delivery platforms xxi Information Object Wizard 259 information objects adding multiple XML 404 content 26, 129 creating 28 creating content information objects with personalized page execution 388 creating content information objects with personalized report execution 390 creating in documents 412 creating segment information objects 394 creating subscription information objects 392 description 22 error handling 398 image 27 limiting information returned 41 overview 25 role in execution 40 roles 26 segment 27, 149 subscription 26 text 27 types 27
F
File delivery method 10 File ITM execution control documents 481 File ITM Publication Sections 315 file transmitters, transmission properties 367 files imported versus document 14 importing 416 reimporting to update 417 folders, changing for services associated with channels 381
G
General Service Settings dialog box 335 governing 85, 94 setting limits for subscriptions 468 setting limits for users and addresses 457
H
I N D E X
HTML (Desktop) documents 67 HTML Document Editor 47, 245 HTML documents creating 410, 412 development strategy 48
536
Index
XML 27 information sources overview 164 security 38 site preferences 285 Use Project Credentials 165 Use User Credentials 165 information transmission modules 164 information transmitters 4, 177 ITM see information transmission modules
modifying schedule queue parameters 431 subscription preferences for each information source 465 transmission properties for address display 466, 467 MSTRSubscriptions table 175
N
Narrowcast Server SDK 113 nationalities, multiple 178 New Document dialog box 275 NPI see numbering plan indicator property numbering plan indicator property 495
J
jobs see services
L
languages see locales languages, multiple 178 large icon URL 283 leading zeros in Excel documents 62 links to Desktop documents, creating 406 locale objects 179 locales advanced user properties 372 content 5 description 22 execution 180 multiple languages and nationalities 178 objects 179 selecting for documents 417 selection 33, 179, 180 user 83, 180 using 180 login IDs 82 Login Information dialog box 376
O
Object Repository overview 160 Portal Administrator Wizard page 281 objects devices 22 documents 21 information objects 22 locales 22 publications, description 21 question objects 23 schedules 21 services 20 subscription sets 21 viewing properties 420 XSL files 22 organization of guide xxi
P
page-by answer ID 193 questions 169 subscription ID 188 page-by questions configuring for dynamic subscription sets 434 configuring for static subscription sets 435 passwords 82 personal identification numbers 85 personalization adding to users for authentication and security 447 adding to users for preference 448 advanced techniques 34 description 32
M
macros associating with events 405 in Excel documents 60 mapping dynamic subscription information to data warehouse tables 437 question object information to data warehouse tables 438 messages see services MicroStrategy Intelligence Server User Export Tool 362 Modify Schedule Queue Parameters dialog box 273
I N D E X
Index
537
I N D E X
dynamic subscriptions 108, 116 to support alert services 109 types 32 users 83 personalized page execution advanced Subscription Portal configuration 183 basic 185 configuring 169, 170 creating content information objects 388 implementing 147 implications 128 overview 123 versus personalized report execution 126 with dynamic subscriptions 143 with static subscriptions 145 personalized report execution creating content information objects 390 implications 128 overview 124 versus personalized page execution 126 with dynamic subscriptions 146 with static subscriptions 142 physical addresses 84 PIN see personal identification numbers pivot tables in Excel documents 58 plain text documents, creating 413 Plaintext Document Editor 293 plaintext XML example 505 format 502 tags 503 portal description 159 devices 285 selecting or creating 280 portal administrator tasks xxiii Portal Administrator Wizard configuration 170, 174 introduction 277 services configuration 289 site management 280 site preferences 282 Subscription Portal configuration 156 system configuration 278 Portal Repository overview 157 Portal Administrator Wizard page 278 selecting 401 post-service data source cleansing 109
execution SQL 119 post-SQL 92 pre- and post-service execution SQL 92 Pre- and Post-SQL Specification dialog box 297 preference personalization, adding to users 448 preferences importing user 454 modifying subscription preferences for each information source 465 objects 169 page in Portal Administrator Wizard 285 regional 178 subscriptions 33, 86 synchronization data type 528 type of personalization 32 pre-service execution SQL 110 pre-SQL 92 previewing HTML documents 416 Print delivery method 9 Print ITM Publication Sections 314 priority, SMS (SMPP) ITM execution control documents 499 project credentials 165 projects see information sources Prompt Resolution Wizard 375, 376 Publication Sections E-mail (SMTP) ITM 314 File ITM 315 Print ITM 314 SMS (SMPP) ITM 315 Web (Portal) ITM 315 Wireless (SMTP) ITM 315 Publication Wizard 311 publication-level error handling 13 publications creating 414 description 21 overview 4
Q
Question Object Browser dialog box 302 Question Object dialog box 302 Question Object dialog set 301 question object information, mapping to data warehouse tables 438 question objects advanced techniques 35 advantages 35 associating to information objects 396
538
Index
clearing from information objects 397 creating 395 description 23 personalization 36 prerequisites 35 role in execution 40 queues 273
R
recipients see subscriptions reconfiguring device type definitions 384 reference material xxii regional preferences 178 reimporting files to update 417 renaming device types 385 report delivery methods see information transmitters Report Services documents 67 report sizes in Excel documents 62 report types see documents reports from Intelligence Server Excel documents 63 reports see information objects repositories selecting Portal Repository 401 selecting Subscription Book Repository 402 Return Address property 495 rules, error handling - specifying for document elements 419 running services immediately 431
S
Save Desktop Linked Document dialog box 219 scalability 130 schedule queue parameters, modifying 273, 431 Schedule Wizard 317 scheduled services, viewing 432 schedules creating 429 definition 21 delivery, specifying 17 overview 17 security description 33 importing user 455 information objects 39 information sources 38, 39 objects 43 question objects 39
synchronization data type 529 upgraded reports 44 user personalization 44 segment information objects advanced segmentation control techniques 149 creating 394 overview 27 segmentation advanced segmentation control techniques 149 application design implications 134 processes 131 Select Information Source dialog box 261, 302 selecting alternate questions 436 locales for documents 417 Portal Repository 401 stylesheet files for documents 418 Subscription Book Repository 402 tables for question and subscription mappings 436 selection locales 179 self subscription 155 send now 465 Service Editor creating services 425 using 305 Service Wizard creating services 424 using 327 services configure with page-by question 169 creating 3 creating with Service Editor 425 creating with Service Wizard 424 description 20 event-triggered 105 overview 3 running immediately 431 specifying recipients 16 viewing schedules 432 services configuration, Portal Administrator Wizard 289 setting expiration dates for subscriptions 467 governing limits for subscriptions 468 governing limits for users and addresses 457 site definitions adding new 442 deleting 160, 443 editing 442 Site Management, Portal Administrator Wizard 280 Site Preferences, Portal Administrator Wizard 282
I N D E X
Index
539
I N D E X
sites definitions 158 names and descriptions 159, 281 preferences 166 slicing and segmentation 130 slicing attributes 136 small icon URL 284 SMS (SMPP) delivery method 10 SMS (SMPP) ITM execution control documents data encoding scheme 498 expiration/validation dates 496 NPI 495 overview 495 priority 499 return address 495 TON 495 SMS (SMPP) ITM Publication Sections 315 specifying error handling rules for document elements 419 error handling rules for documents 418 SQL statements 92, 297 adding for post-service execution 462 adding for pre-service execution 462 SQL statements dialog box 299 static content 25 Static Subscription Set Editor 321 static subscription sets creating 464 description 88 for storage mapping 173 introduction 16 overview 81 status addresses 85 advanced user properties 372 subscriptions 86, 367 users 83 storage mappings 171, 173 stylesheet files, selecting for documents 418 subscription administrator tasks xxiii Subscription Book 81 Subscription Book Editor 339 Subscription Book Governing dialog box 243 Subscription Book Repository additional questions setting 173 answer to another question setting 170 overview 160, 161 Portal Administrator Wizard page 281 selecting 402 Subscription Book synchronization tutorial
adding addresses 99 creating subscriptions 99 importing users and addresses 97 introduction 97 remapping users 99 updating users 99 Subscription Book Synchronization Wizard 343 Subscription dialog box 369 Subscription ID as preference object 172 requirements 141 versus slicing attribute 136 subscription imports see synchronization subscription information description 137 location 137 overview 31 store in the Subscription Book Repository 125 subscription information objects creating 392 overview 26 personalizing content information objects 129 Subscription Portal advanced configuration 183 application 157 configuring different 441 creating new 441 deleting 443 site, default 155 system 156 user self subscription 155 subscription preferences 33 Subscription Properties Editor 365 subscription sets concepts 86 configuring 290 configuring page-by questions 434, 435 creating dynamic 463 creating static 464 definition 21 deleting 465 dynamic 89 introduction 16 SQL statements 92 static 87, 88 synchronization data type 528 subscriptions 16, 86 activating 461 adding to subscription sets 461 deactivating 461
540
Index
deleting 464 importing user 456 subscriptions and subscription sets 86 supporting diverse user populations 177 synchronization importing or updating users and addresses 95 overview 95 synchronizing users 96 tutorial 97 updating user personalization and subscription 96 with external sources 94 synchronization data types address properties 526 authentication 528 preferences 528 security 529 subscription set 528 time zone constants 529 user properties 525 Synchronization Settings dialog box 353 synchronizing users 458 System Configuration Wizard 155 System Configuration, Portal Administrator Wizard 278 system performance 34
overview 87 print transmitters 87 Subscription Properties Editor 366 transmissions see services Tutorial configuration process 155 type of number property 495
U
updating users and addresses 95 URLs in Excel documents 61 user and address attributes, importing 451 user authentication, importing 453 User IDs, as preference object 172 user locales 180 user preferences, importing 454 User Properties Editor 371 user security, importing 455 user subscriptions, importing 456 users adding 446 credentials 165 deleting 449 editing 450 export tool 362 information 30 login IDs 82 management 81 overview 82 preferences 33, 172 properties 525 self subscription 155 synchronizing 458
T
table prefixes description 158 Object Repository 160 Portal Repository 157 Subscription Book Repository 161 tables, selecting for question and subscription mappings 436 tasks application designer xxii overview xxii portal administrator xxiii subscription administrator xxiii text documents creating 413 overview 64 text information objects 27 time zone constants 529 TON see type of number property touch points see devices transmission properties e-mail transmitters 87, 367 file transmitters 87, 367 modifying for address display 466, 467
V
VBA macros and viruses in Excel documents 62 viewing object properties 420 scheduled services 432 XSL stylesheet results 421 views, changing in document editors 406
W
Web (Portal) delivery method 10 Web (Portal) ITM Publication Sections 315 Wireless (SMTP) delivery method 9 Wireless (SMTP) ITM Publication Sections 315
I N D E X
Index
541
X
XML Excel 506 for Narrowcast Server objects 501 format 501 information objects 27 plaintext 502 XML information objects, adding multiple 404 XSL files 22 XSL stylesheets advantages 68 default Excel documents 74 default HTML documents 70 default stylesheets provided 70 default Subscription Portal attachments 77 default text documents 76 developing and testing 78 using 68 viewing results 421 XML for Narrowcast Server object 501
Z
zipped documents adding to services 427 overview 15
I N D E X
542
Index