You are on page 1of 566

MicroStrategy Narrowcast Server

Application Designer Guide Version 9.2.1m

Twenty-Third Edition, 2011, version 9.2.1m


To ensure that you are using the documentation that corresponds to the software you are licensed to use, compare this version number with the software version shown in About MicroStrategy... in the Help menu of your software. Document number: 09830921m Copyright 2001-2011 by MicroStrategy Incorporated. All rights reserved. If you have not executed a written or electronic agreement with MicroStrategy or any authorized MicroStrategy distributor, the following terms apply: This software and documentation are the proprietary and confidential information of MicroStrategy Incorporated and may not be provided to any other person. Copyright 2001-2011 by MicroStrategy Incorporated. All rights reserved. THIS SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS AND WITHOUT EXPRESS OR LIMITED WARRANTY OF ANY KIND BY EITHER MICROSTRATEGY INCORPORATED OR ANYONE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DISTRIBUTION OF THE SOFTWARE OR DOCUMENTATION, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE AND NONINFRINGMENT, QUALITY OR ACCURACY. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE AND DOCUMENTATION IS WITH YOU. SHOULD THE SOFTWARE OR DOCUMENTATION PROVE DEFECTIVE, YOU (AND NOT MICROSTRATEGY, INC. OR ANYONE ELSE WHO HAS BEEN INVOLVED WITH THE CREATION, PRODUCTION, OR DISTRIBUTION OF THE SOFTWARE OR DOCUMENTATION) ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. In no event will MicroStrategy, Inc. or any other person involved with the creation, production, or distribution of the Software be liable to you on account of any claim for damage, including any lost profits, lost savings, or other special, incidental, consequential, or exemplary damages, including but not limited to any damages assessed against or paid by you to any third party, arising from the use, inability to use, quality, or performance of such Software and Documentation, even if MicroStrategy, Inc. or any such other person or entity has been advised of the possibility of such damages, or for the claim by any other party. In addition, MicroStrategy, Inc. or any other person involved in the creation, production, or distribution of the Software shall not be liable for any claim by you or any other party for damages arising from the use, inability to use, quality, or performance of such Software and Documentation, based upon principles of contract warranty, negligence, strict liability for the negligence of indemnity or contribution, the failure of any remedy to achieve its essential purpose, or otherwise. The entire liability of MicroStrategy, Inc. and your exclusive remedy shall not exceed, at the option of MicroStrategy, Inc., either a full refund of the price paid, or replacement of the Software. No oral or written information given out expands the liability of MicroStrategy, Inc. beyond that specified in the above limitation of liability. Some states do not allow the limitation or exclusion of liability for incidental or consequential damages, so the above limitation may not apply to you. The information contained in this manual (the Documentation) and the Software are copyrighted and all rights are reserved by MicroStrategy, Inc. MicroStrategy, Inc. reserves the right to make periodic modifications to the Software or the Documentation without obligation to notify any person or entity of such revision. Copying, duplicating, selling, or otherwise distributing any part of the Software or Documentation without prior written consent of an authorized representative of MicroStrategy, Inc. are prohibited. U.S. Government Restricted Rights. It is acknowledged that the Software and Documentation were developed at private expense, that no part is public domain, and that the Software and Documentation are Commercial Computer Software provided with RESTRICTED RIGHTS under Federal Acquisition Regulations and agency supplements to them. Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFAR 252.227-7013 et. seq. or subparagraphs (c)(1) and (2) of the Commercial Computer SoftwareRestricted Rights at FAR 52.227-19, as applicable. Contractor is MicroStrategy, Inc., 1850 Towers Crescent Plaza, Vienna, VA 22182. Rights are reserved under copyright laws of the United States with respect to unpublished portions of the Software. The following are either trademarks or registered trademarks of MicroStrategy Incorporated in the United States and certain other countries: MicroStrategy, MicroStrategy 6, MicroStrategy 7, MicroStrategy 7i, MicroStrategy 7i Evaluation Edition, MicroStrategy 7i Olap Services, MicroStrategy 8, MicroStrategy 9, MicroStrategy Distribution Services, MicroStrategy MultiSource Option, MicroStrategy Command Manager, MicroStrategy Enterprise Manager, MicroStrategy Object Manager, MicroStrategy Reporting Suite, MicroStrategy Power User, MicroStrategy Analyst, MicroStrategy Consumer, MicroStrategy Email Delivery, MicroStrategy BI Author, MicroStrategy BI Modeler, MicroStrategy Evaluation Edition, MicroStrategy Administrator, MicroStrategy Agent, MicroStrategy Architect, MicroStrategy BI Developer Kit, MicroStrategy Broadcast Server, MicroStrategy Broadcaster, MicroStrategy Broadcaster Server, MicroStrategy Business Intelligence Platform, MicroStrategy Consulting, MicroStrategy CRM Applications, MicroStrategy Customer Analyzer, MicroStrategy Desktop, MicroStrategy Desktop Analyst, MicroStrategy Desktop Designer, MicroStrategy eCRM 7, MicroStrategy Education, MicroStrategy eTrainer, MicroStrategy Executive, MicroStrategy Infocenter, MicroStrategy Intelligence Server,

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

Application Designer Concepts 1


Chapter 1 Creating Services 3
Choosing delivery methods 3 Delivery methods 3 Publications 4 Creating service contents 8 Content sections 8 Documents 11 Document elements 12 Error handling 12 Documents versus imported files 14 Compressed documents 15 Specifying service recipients 16 Specifying delivery schedules 17 Schedules 17 Simulating compound schedules 17 Application design hierarchy 18 Next steps 23

Chapter 2 Dynamic Content and Personalization 25


Dynamic content 25 Information objects 25 Roles of information objects 26 Types of information objects 27 Creating information objects 28 Document elements with multiple information objects 29 Other types of dynamic content 30 User information 30 Subscription information 31 Personalization 32 Types of personalization 32 User and subscription preferences 33 Personalization and system performance 34 Advanced techniques 34 Other considerations 36
v

Information source security 38 Defining applications with security 38 Implications for upgraded reports 44 To learn about... 45

Chapter 3 Working with Documents 47


HTML documents 47 Working with the HTML Document Editor 47 Strategy for HTML document development 48 Helpful techniques 50 Excel documents 52 General strategy 52 Data placement and formatting 53 Automatic chart creation 54 Building EIS interfaces in Excel 56 Building pivot tables 58 Using macros in Excel 97 or 2000 60 Converting URLs into hyperlinks 61 Preserving leading zeros 62 Accommodating reports of different sizes 62 VBA macros and viruses 62 Excel for Report from Intelligence Server 63 Error handling 63 Text documents 64 Imported documents 67 Desktop documents 67 Using XSL stylesheets 68 Advantages of XSL stylesheets 68 Default stylesheets provided 70 Column widths specified in MicroStrategy Web or Desktop 77 Developing and testing XSL stylesheets 78

Chapter 4 User Management 81


The Subscription Book 81 Users and addresses 82 Users 82 Addresses 83 Governing 85 Subscriptions and subscription sets 86 Subscriptions 86 Static subscription sets 87 Dynamic subscription sets 89 Pre- and post-service execution SQL 92 Static subscription set governing 94 Synchronization with external sources 94

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

Chapter 5 Alert-Based Applications 105


Importance of alert-based services 105 Overview of support for alerting functionality 106 Process flow 106 Event-triggered service execution 107 Dynamic subscriptions and personalization 108 Application design for alert-based implementations 109 Event-triggered service execution 110 Dynamic subscriptions and personalization 116 Post-service execution data source update 119 Summary 121

Chapter 6 Page Personalization and Dynamic Subscriptions 123


Before you begin 123 Introduction 123 Personalized page execution 123 Dynamic subscription 125 Storing subscription information in the Subscription Book Repository 125 Understanding personalized page execution and dynamic subscriptions 126 Personalized page execution versus personalized report execution 126 Personalization method and implications 128 Content information objects personalization by subscription information objects 128 Slicing and segmentation 130 Segmentation processes 131 Segmentation implications for application design 134 Subscription ID versus slicing attribute 136 Understanding subscription information 137 Storing subscription information 137 Subscription ID requirements 141 Designing applications to support dynamic subscriptions and personalized page execution 142 Application design requirements 142 Scenario 1: Personalized report execution with static subscriptions 142 Scenario 2: Personalized page execution with dynamic subscriptions 143 Scenario 3: Personalized page execution with static subscriptions 145 Scenario 4: Personalized report execution with dynamic subscriptions 146 Implementing personalized page execution and dynamic subscriptions 147

Contents

vii

Advanced segmentation control techniques 149

Chapter 7 User Self Subscription 155


Subscription Portal system 156 Subscription Portal application 157 Portal Repository 157 Database connections 157 Table prefixes 158 Site definition 158 Portal 159 Site name and description 159 Object Repository 160 Subscription Book Repository 160 Channels 161 Device types 162 Devices 163 Device settings 164 Information sources 164 Preferences 166 Services configuration 169 Personalized page execution 169 Dynamic subscription sets 174

Chapter 8 Supporting Diverse User Populations 177


Multiple sets of user devices 177 Multiple languages and locales 178 Overview 179 Locale concepts 179 Locale processes 180 Using locales 180

Chapter 9 Advanced Subscription Portal Configuration 183


Scenario 1: Basic personalized page execution 185 Change the warehouse 185 Create objects in the MicroStrategy Desktop interface 185 Create objects in Narrowcast Administrator 186 Configure with the Portal Administrator Wizard 187 Try it! 187 How it works 187 Scenario 2: Page-by Subscription ID 188 Change the warehouse 189 Create objects in the MicroStrategy Desktop interface 189 Create objects in Narrowcast Administrator 190 Configure with the Portal Administrator Wizard 191 Try it! 191

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

Application Designer Interfaces 209


Chapter 10 Choose Subscription Sets Dialog Box 211
Choose Subscription Sets dialog box layout 211 Executing a service without a subscription set 211

Chapter 11 Desktop Document Selector Dialog Box 213


Desktop Document Selector dialog box layout 213 Advanced Properties dialog box 215 Save Desktop Linked Document dialog box 219

Chapter 12 Dynamic Subscription Set Wizard 221


Dynamic Subscription Set Wizard layout 221 Introduction 222 Name and Description 222 Subscription Selection 222 Segmentation 222 Pre- and Post-SQL 223 Summary 223

Contents

ix

Chapter 13 Document Element Properties Dialog Box 225


Document Element Properties dialog box layout 225 Stylesheet selection 226 Open XSL Imported File dialog box 230 Error handling 230

Chapter 14 Document Properties Dialog Box 233


Document Properties dialog box layout 234 General 234 Document-Level Error Handling 234 Column Width Options 235

Chapter 15 Excel Document Editor 237


Excel Document Editor layout 238 Content definition pane 238 Open Excel Imported File dialog box 240 Menu bar 240 Choose XML Information Object Destination dialog box 241

Chapter 16 Filter and Governing Editor Dialog Box 243


Filter and governing editor dialog box layout 244

Chapter 17 HTML Document Editor 245


HTML Document Editor layout 246 Menu bar 246 Toolbar 249 Choose XML Information Object Destination dialog box 251 Save HTML Document dialog box 251

Chapter 18 Imported Document Editor 253


Imported Document Editor layout 253 Imported Document Editor dialog box 254 Import File dialog box 254 Select Imported File 254 Imported Document Editor - document name 254

Chapter 19 Import File Dialog Box 255


Import File dialog box layout 256 Select a Character Set dialog box 256 Refresh Imported File layout 256

Chapter 20 Information Object Wizard 259


Information Object Wizard layout 260 Select Information Source dialog box 261

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

Chapter 23 Portal Administrator Wizard 277


Portal Administrator Wizard layout 278 System Configuration section 278 Site Management section 279 Site Preferences section 282 Services Configuration section 289

Chapter 24 Plaintext Document Editor 293


Plaintext Document Editor layout 293 Menu bar 294 Choose XML Information Object Destination dialog box 295

Chapter 25 Subscription Set Properties Dialog Box 297


Subscription Set Properties dialog box layout 298 SQL statements dialog box layout 299

Chapter 26 Question Object Dialog Set 301


Question Object dialog set layout 301 Select Information Source dialog box 302 Question Object dialog box 302 Question Object Browser dialog box 302 Question object validation 302

Chapter 27 Service Editor 305


Service Editor layout 306 Menu bar 306
Contents xi

Message Contents 307 Subscription Sets and Schedules 308 General Properties 308 Service Execution Timeout 309 Save Service dialog box 310

Chapter 28 Publication Wizard 311


Publication Wizard layout 312 Welcome 312 Name and Description 312 Delivery Method 312 Selection Locale 312 Supported Devices 313 Message Contents 313 Delivery Method Rules 316 Summary 316

Chapter 29 Defining when a service is sent: Schedule Wizard 317


Schedule Wizard layout 317 Introduction 318 Name and Description 318 Recurrence Pattern 318 Interval 318 Summary 320

Chapter 30 Static Subscription Set Editor 321


Static Subscription Set Editor layout 321 The menu bar 323 The toolbar 324

Chapter 31 Service Wizard 327


Service Wizard layout 328 Welcome 329 Delivery Methods 329 Message Contents 329 Subscriptions and Schedules 331 Service Summary 333 Devices and Locale Support dialog box 333 Compression Properties dialog box 334 Error Handling dialog box 335 General Service Settings dialog box 335 Name and Description tab 335 Delivery Properties tab 336 Execution Settings tab 336
xii Contents

Chapter 32 Subscription Book Editor 339


Subscription Book Editor layout 340 Menu bar 340 Toolbar 341

Chapter 33 Subscription Book Synchronization Wizard 343


Subscription Book Synchronization Wizard layout 344 Welcome 345 Synchronization Options 345 User and Address Properties 346 Subscriptions 348 Preferences 349 Security 350 Authentication 351 User Addition or Mapping 351 User Removal or Mapping 352 Review 352 Finish 352 Synchronization Settings dialog box 353 Synchronization Process tab 353 Synchronization Values tab 359 MicroStrategy Intelligence Server User Export Tool 362

Chapter 34 Subscription Properties Editor 365


Subscription Properties Editor layout 366 Preference tab 366 Transmission tab 366 Status tab 367 Notification tab 367

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

Application Designer How Do I...? 379

Chapter 37 Managing a Channel 381


Add a new channel 381 Change the folder of services associated with a channel 381 Delete a channel 382

Chapter 38 Managing Device Types 383


Create a new device type 383 Change the device folders associated with a device type 384 Delete a device type 384 Reconfigure a device type definition 384 Rename a device type 385

Chapter 39 Creating Information Objects and Question Objects 387


Create a MicroStrategy content information object with personalized page execution 388 Create a MicroStrategy content information object with personalized report execution 390 Create a MicroStrategy subscription information object 391 Create a MicroStrategy segment information object 394 Create a MicroStrategy question object 395 Associate a question object to an information object 396 Clear a question object from an information object 397 Define delivery information for a subscription information object 397 Specify error handling rules for an information object 398

Chapter 40 Adding and Editing Database Connections in Subscription Portal 399


Add a database connection 399 Edit a database connection 400 Select an Object Repository 401 Select a Portal Repository 401 Select a Subscription Book Repository 402

Chapter 41 Creating Publications and Content Section Documents 403


Add a dynamic text item to a document 403 Add multiple XML information objects with the same stylesheet in a document 404 Associate a macro with an event in Microsoft Excel 405 Change the view in a document editor 406 Create a link to a Desktop document from Narrowcast Administrator 406 Create an automatic chart 407 Create an Excel document 408 Create an HTML document 410
xiv Contents

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

Chapter 42 Creating and Managing Services and Schedules 423


Create a service 423 Best practices 423 Create a service using the Service Wizard 424 Create a service using the Service Editor 425 Add zipped documents to a service 427 Modify a service to exclude report titles in the delivered reports 428 To edit the service for Report Email Deliveries 429 To edit the service for Report File Deliveries 429 Create a schedule 429 Modify how the schedule queue is displayed 431 Run a service immediately 431 View scheduled services 432

Chapter 43 Configuring Subscription Sets 433


Configure a dynamic subscription set 433 Configure page-by questions for dynamic subscription sets 434 Configure page-by questions for static subscription sets 435 Select an alternate question 436 Select tables for question mappings and subscription mappings 436 Map dynamic subscription information to data warehouse tables 437 Map question object information to data warehouse tables 438

Chapter 44 Creating and Managing Sites and Subscription Portal 441


Create a new Subscription Portal 441 Configure a different Subscription Portal 441 Edit a site definition 442
Contents xv

Add a new site definition 442 Delete a site definition 443 Delete a Subscription Portal 443

Chapter 45 Managing a Subscription Book 445


Add an address to the Subscription Book 445 Add a user to the Subscription Book 446 Add authentication and security personalization to a user in the Subscription Book 447 Add preference personalization to a user in the Subscription Book 448 Delete an address from the Subscription Book 449 Delete a user from the Subscription Book 449 Edit an address in the Subscription Book 450 Edit a user in the Subscription Book 450 Import user and address attributes 451 Import user authentication 453 Import user preferences 454 Import user security 455 Import user subscriptions 456 Set governing limits for users and addresses 457 Synchronize users 458

Chapter 46 Creating and Managing Subscription Sets 461


Activate or deactivate a subscription 461 Add a subscription to a subscription set 461 Add SQL statements to be executed after service execution is completed 462 Add SQL statements to be executed before segmentation occurs 462 Create a dynamic subscription set 463 Create a static subscription set 464 Delete a subscription from a subscription set 464 Delete a subscription set 465 Enable send now delivery 465 Modify the subscription preferences for each information source 465 Modify transmission properties regarding address display 466 Send e-mail notification for file and print delivery 467 Set an expiration date for a subscription 467 Set governing limits for subscriptions 468

Section IV

Application Designer Appendixes 469

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

Appendix C SMS (SMPP) ITM Execution Control Documents 495


Defining SMS Address 495 Syntax to define SMS address 495 Example 496 Specifying Expiration/Validation Date 496 Syntax to specify expiration/validation date 497 Example 497 Specifying Data Coding Scheme (DCS) 498 Syntax to specify data coding scheme 498 Example 499 Setting priority for a message 499 Syntax to set priority for a message 499 Example 499

Appendix D XML for Narrowcast Server Objects 501


Organization 501 Plaintext XML format 502 Overview 502 Tags 503 Example 505 Excel XML format 506 Overview 506 Tags 508 Color definition 517 Example 518 Web (Portal) XML format 520 Overview 520 Tags 521 Example 522 XML Structure for the Subscription Information Source Module XML 522 XML Structure for the System Information Source Module XML 523

xviii

Contents

Appendix E Synchronization Data Types 525


User properties 525 Address properties 526 Subscription set 528 Preference 528 Authentication 528 Security 529 Time zone constants 529

Section V

Index 533

Contents

xix

xx

Contents

INTRODUCTION

Application Designer Overview

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

Application Designer Overview

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

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

Application Designer Overview

SECTION I

Application Designer Concepts

C O N C E P T S

C O N C E P T S

Section I Application Designer Concepts

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.

Choosing delivery methods


Delivery methods
Services can be delivered by one or more means such as via e-mail, wireless devices, Subscription Portal. Each means of delivering a message is called a delivery method. In Narrowcast Server, each service can be defined to support one or more delivery methods. For example, you might design a service to be sent to all subscribers via e-mail or to deliver content to subscribers via both e-mail and the Subscription Portal.
3

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

Chapter 1 Creating Services

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

Go to first publication Go to next publication

Publication supports user's device? yes

no

More publications?

yes

no Go to first publication

Publication supports user's locale?

no

yes Publication is used to determine service content for user

Go to next publication

Publication supports user's device?

no

End Publication supports user's system locale?

More publications? yes no no Subscription not supported by service definition. No message generated.

yes

End

Choosing delivery methods

C O N C E P T S

Creating service contents


Content sections
Each delivery method includes a number of content sections. They are described in the following sections.

Other information transmitters might offer different content sections.

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.

Chapter 1 Creating Services

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

E-mail (SMTP) delivery method

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

Creating service contents

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

Chapter 1 Creating Services

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

Creating service contents

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

Chapter 1 Creating Services

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.

Publication-level error handling

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.

Documents versus imported files


It is important to understand the difference between a document and an imported file. A file is imported from the Windows file system and is stored in the Object Repository in a special encoded form of the original file. For example, a text file contains only plain text and an HTML file contains only HTML. Therefore, files cannot be changed using the document editors, and cannot contain document elements and information

14

Chapter 1 Creating Services

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.

Specifying service recipients


When defining a service, one of the primary questions that needs to be answered is To whom will this service be delivered?. In Narrowcast Server, this question is answered by defining a subscription set for a service. A subscription is a request to deliver the content in a service to a recipient. A subscription also provides a particular address and personalization for this recipient. A subscription set is a collection of subscriptions that is used for the same service. Narrowcast Server has two fundamental types of subscription sets: static and dynamic. Static subscription sets store subscription information in the Narrowcast Server Subscription Book. Dynamic subscription sets execute an information object to retrieve user and subscription information from an external, dynamic data source such as a MicroStrategy project, a database query, or some other type of external system. Thus, in the Subscriptions and Schedules pane of the Service Wizard, after defining the delivery method and message contents for a service, you are first asked whether you want a static or dynamic subscription set. If you are a beginner, a static subscription set is the preferred choice because it is less complex and does not require subscription information in an external source. You are then asked to either provide a subscription information object if you have chosen a dynamic subscription set, or an editor appears in which you can create users and then subscribe them to this subscription set, if you have chosen a static subscription set. For more information about managing users and subscriptions using subscription sets, see Subscriptions and subscription sets.

16

Chapter 1 Creating Services

Specifying delivery schedules


The last question that you must answer when defining a service is When should this content be delivered?. In Narrowcast Server, this question is answered with the use of a schedule. In the Service Wizard, you are asked to select an existing schedule or create a new schedule. This section provides an overview of schedules in Narrowcast Server.

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.

Simulating compound schedules


Conceptually, a compound schedule is any schedule that involves the use of two or more periodicities. For example, the schedule weekly on Thursday and biweekly on Fridays is a compound because it uses both a weekly and a biweekly periodicity. This kind of schedule cannot be created directly in Narrowcast Server, because Narrowcast Server allows only one periodicity to be defined for a given schedule. However, it is possible to achieve this functionality by simulating compound schedules. To simulate a compound schedule, it is necessary to create multiple individual schedules. When defining the service, add all the schedules to the same subscription set. Using the example above, the selected

Specifying delivery schedules

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.

Application design hierarchy


Although the Service Wizard guides you through a straightforward application design process which results in only one object (the service itself), Narrowcast Server provides a powerful component-based architecture. Even though you do not need to fully understand every object used by Narrowcast Server to create services, understanding how different objects fit together can provide powerful advantages. For example, one information object can be created and reused in multiple documents in the same service or even in several services, so preferences only need to be defined for one information object. In addition, one document can be reused across multiple delivery methods within one service or across multiple service so only one document needs to be maintained and updated so that changes are reflected in all services that use this document. This section provides a high-level overview of Narrowcast Server's objects and how they fit together to create powerful, flexible applications.

18

Chapter 1 Creating Services

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

Application design hierarchy

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

Chapter 1 Creating Services

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

Application design hierarchy

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

Chapter 1 Creating Services

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

Chapter 1 Creating Services

C H A PT E R

Dynamic Content and Personalization


2.

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

Roles of information objects


Information objects can serve three roles in Narrowcast Server: Content, which supply data for documents Subscription, which provide subscription information for dynamic subscription sets within the services Segment, which control how dynamic subscription sets are segmented As the application designer, you might create information objects for all three roles. Before you can create one, however, the system administrator must define the required information sources. For more information on working with a MicroStrategy information source, see the Executing a Service: Service Execution Flow chapter in the Narrowcast Server Getting Started Guide.
Content information objects

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

Chapter 2 Dynamic Content and Personalization

Segment information objects

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

Types of information objects


Information objects come in three types: text, XML, or image. An information object's type indicates the format of the data returned by the information object and how Narrowcast Server can use the data returned by the information object. A text information object returns a plaintext string that is inserted directly into a document's content. An XML information object returns an XML string that must be combined with an XSL stylesheet to produce content appropriate for each type of document. To illustrate further, an XML information object can be combined with different stylesheets to be used in text, HTML, or Excel documents. For MicroStrategy Grid report information objects, an appropriate XSL stylesheet is chosen automatically with no action by the user. Any report formatting specified in MicroStrategy Desktop is automatically preserved. For all XML information objects other than MicroStrategy Grid reports (that is, information objects returned by other information sources), you are prompted to select an XSL stylesheet once the information object is defined. Once a stylesheet is applied to an XML information object, you can change the stylesheet selected by editing the document element properties for the information object. You might want to do this, for example, if reports displayed via the Web and delivered via e-mail are required to have different formats, perhaps to match a Web page or to match an e-mail template. An image information object returns an image in GIF format that is inserted directly into the document's content.

Information objects

27

C O N C E P T S

Information object availability within documents

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.

Creating information objects


You can create information objects several ways. Each case has a different impact on the creation process. When you create an information object directly from Narrowcast Administrator, all information object options are presented. You must select an information source as well as the role and other properties. An information object created this way is reusable; that is, it can be used for multiple services or other application objects. For information on best practices to be followed while creating an information object outside the service, see Best practices for creating an information object outside the service.

28

Chapter 2 Dynamic Content and Personalization

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

Document elements with multiple information objects


It is sometimes desirable to apply a single stylesheet to two or more information objects at the same time. For example, this technique can be used to merge the contents of two MicroStrategy reports so that the contents of one report can be used to control the formatting of the other report. This advanced feature of Narrowcast Server requires the development of a custom XSL stylesheet. The XML structure that is

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.

Other types of dynamic content


User information
Narrowcast Server also provides the ability to insert information about message recipients into service content. Using this capability, you can personalize messages using user information and create message content such as Dear Mr. Smith, or include any other user-related information such as title, state, or zip code. You can also provide preferences for user information from within Narrowcast Server or allow users to define their preferences through the Subscription Portal. The following user information is available by default in Narrowcast Server: First name Last name Middle initial salutation Suffix Title Street address City State Country Zip code Custom combination (returns XML string with all user details)

30

Chapter 2 Dynamic Content and Personalization

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

Other types of dynamic content

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

Chapter 2 Dynamic Content and Personalization

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

User and subscription preferences


A user preference is a named preference that can be reused across subscriptions. For example, a user might create a Boston user preference created for the What City? question object, which he selects for subscriptions to both the Weather and Current Events services. To create a user preference, the questions within an information object or question object are answered and the user preference is given a name and description. Multiple user preferences can be defined for an information object or question object (for example, a Boston user preference and an Atlanta user preference can be created for the Which City? question object), but one and only one user preference is defined as the default user preference. The default user preference specifies the preferences that are used by default for all subscriptions defined for a user. At the subscription level, the default user preference can be overruled by selecting a different user preference (if more than one user preference exists for a question object) or by defining personalization at the subscription level called subscription preferences. Thus, user preferences enable the reuse of a users preference decisions across

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.

Personalization and system performance


The personalization of users can impact service execution time. This is due to the process through which information objects are executed for subscribers within a segment. When an information object is executed, each users preference, authentication, security, and the document locale are combined to define that users complete personalization requirements. Within each segment execution, the personalization requirements (preference, authentication, security, and locale) for all subscribers are compared. All subscribers who have the same personalization requirements receive the same information object content from the same execution of an information object. The number of unique personalization groups thus determines the number of information object executions for a segment. As a result, for personalized report execution mode, the number of unique personalization groups is an important factor of system performance. Note, however, that the comparison of personalization requirements to create personalization groups occurs after segmentation. Thus, for large services with multiple segments, not all subscribers with the same personalization requirements receive content from the same information object execution.

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

Question objects and personalization

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

Chapter 2 Dynamic Content and Personalization

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

Information source security


Security in MicroStrategy Narrowcast Server is one of three methods (preference, authentication, and security) of personalizing the content returned by information objects. However, unlike user preferences and authentication, which users can set through the Subscription Portal to control the content they want to receive, security can only be defined by an administrator through the Narrowcast Administrator to control user access to information and thus to limit the information that users can receive. Security can be used to limit user information in two different ways. Security can be used to limit the choices available when a user defines his preferences. For example, if an administrator uses security to constrain a users regional preferences to cities within the Southeast region, when a user defines his preferences, the user can see and select preferences for cities in the Southeast Region such as Atlanta and Charleston, but not for San Francisco or Chicago. Security can be used to limit the content returned by information objects. For example, for the case above, if security is instead defined to limit a user to see only sales for the electronics product category, a user can select preferences for any city in any region, but if the report returns sales broken down by both city and product category, only sales information for the electronics product category is returned by the information object.

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).

Defining applications with security


To define a MicroStrategy Narrowcast Server application with security, consider the design of the following administration and application components: Information sources Information objects and question objects User personalization A description of the impact of these components on security follows.

38

Chapter 2 Dynamic Content and Personalization

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.

Information source 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

Chapter 2 Dynamic Content and Personalization

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.

Limiting the information returned by information objects

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.

Information source security

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

Chapter 2 Dynamic Content and Personalization

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.

Limiting the choices available to users in question object prompts

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

Information source security

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.

Implications for upgraded reports


This section discusses how security is handled when MicroStrategy Broadcast Server reports are upgraded to MicroStrategy Narrowcast Server information objects. MicroStrategy Broadcast Server does not have the concept of security objects. However, some reports can be upgraded to information sources with default security objects defined. If a report is
44 Chapter 2 Dynamic Content and Personalization

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

Chapter 2 Dynamic Content and Personalization

C H A PT E R

Working with Documents


3.

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.

Working with the HTML Document Editor


The HTML Document Editor provides three modes in which you can interact with HTML content. You can switch among these modes by selecting Editor, Source, or Preview from the View menu within the HTML Document Editor. The first option is the Editor mode. This mode provides an intuitive, WYSIWYG HTML editor in which you can add, edit, or remove content while it is rendered as HTML. This mode is useful for creating basic

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.

Strategy for HTML document development


HTML documents can be developed using a variety of processes. The following process has proven helpful to some application designers. Prepare or obtain HTML template. The HTML template forms the basis and overall structure for the HTML document. In many cases, an external party such as a graphics department or an existing corporate standard determines what HTML template is used. In other cases, you need to design and create the HTML template yourself. While Narrowcast Server provides an HTML editor suitable for creating HTML templates, many users prefer to use tools with which they are already familiar. Regardless of how the HTML template is obtained, you need to ensure that the desired HTML source is available in the HTML Document Editor.
2. Determine dynamic content and formatting personalization strategy. If you are simply inserting a single grid report that is personalized for each user, this job is relatively simple. However, if you wish to personalize the HTML template formatting using HTML returned by an information object, return natural language text, or arrange multiple information objects on the template with a high degree of placement control, this task becomes more important. The following items describe specific instances when this step deserves special attention. 1.

48

Chapter 3 Working with Documents

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

Chapter 3 Working with Documents

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

Chapter 3 Working with Documents

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

Data placement and formatting


One important capability of Narrowcast Server is its ability to place static text or dynamic content anywhere in the workbook and to format this data as desired. If multiple sheets are present in the Excel template file, these sheets and their names are available in the Excel Document Editor. Using the Excel Document Editor, you can place text or information object data anywhere within each sheet. This can be done by assigning absolute placement coordinates (for example, cell D11 corresponds to a row offset

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.

Automatic chart creation


As the business intelligence saying goes, a graph is worth a thousand grid reports. For convenient overviews of data trends and comprehensive summaries of detailed data, Excels charting capabilities are extremely useful and versatile. By writing a few simple macros and embedding these macros in an Excel template, it is possible to generate workbooks that automatically convert raw data into charts or build graphs on the fly as the user selects different data views.

54

Chapter 3 Working with Documents

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.

Building EIS interfaces in Excel


Excel provides a wealth of programming tools which make it easy to build highly usable mini-applications within a workbook. A common miniapplication is a so-called Executive Information System (EIS) that provides one-click access to popular reports. These systems can be built by first writing the appropriate code in Excel, and then building a MicroStrategy Narrowcast Server service that places report data on specific sheets. When the data-rich workbooks are sent to all subscribers, the recipients can open the workbooks and operate within an easy-to-use point-and-click interface that provides very quick access to their data. It is easy to create custom Excel interfaces that let the recipients interact directly with the contents of a workbook. In the example below, a foursheet EIS is shown. A start sheet greets the user with the available reporting options, and three other sheets are populated with data from MicroStrategy Narrowcast Server.

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

Chapter 3 Working with Documents

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

Building pivot tables


Data delivered by MicroStrategy Narrowcast Server can be readily inserted into pivot tables, which allow available data to be summarized along different dimensions and at different levels of granularity. Assume that a straightforward grid of profitability numbers needed to be analyzed. The grid might look as follows:

58

Chapter 3 Working with Documents

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.

Using macros in Excel 97 or 2000


Excel 97 and 2000 use Visual Basic for Applications (VBA) as their macro language, and provide a macro recording feature that makes it easy to build macros. In most cases, creating such things as automatically updating charts is as simple as recording a macro and associating it with a particular Excel event. From that point on, whenever the event occurs, the corresponding macro is run.

60

Chapter 3 Working with Documents

Recording a macro in Excel 97

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.

Converting URLs into hyperlinks


It is possible to use a macro to transform URLs from dynamic content (grid reports, direct text insertions, and so on) into hyperlinks. This creates a powerful capability when report data is combined with XSL formatting to create hyperlinks using dynamic report data. As an illustration, the following macro converts every cell entry starting with http:// into a hyperlink:
Dim xsheet As Variant Dim xcell As Variant For Each xsheet In Worksheets() For Each xcell In xsheet.UsedRange.Cells() If Left(xcell.Text, 7) = "http://" Then ActiveSheet.Hyperlinks.Add _ Anchor:=xcell, _ Address:=xcell.Text End If Next xcell Next xsheet

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.

Preserving leading zeros


Some reports contain ID numbers that have leading zeroes. Normally, Excel removes leading zeroes as the numbers are placed in the spreadsheet, but there is a way to preserve leading zeroes. An Excel template with predefined formatting characteristics solves the problem. Assume that a report contains leading-zero IDs in its third column, and assume that this report is placed on the sheet starting at location A1. The following macro sets the formatting for column C (the third column) to preserve all characters that are placed in the cell, even leading zeroes:
Sub save_leading_zeros() Range("C:C").Select Selection.NumberFormat = "@" End Sub

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.

Accommodating reports of different sizes


Personalization often causes each subscriber to receive a different amount of data, which makes it seemingly difficult to build a single Excel chart which graphs varying amounts of data. The easiest way to achieve this is to record the action of the Chart Wizard and then replace the Range("") command in the Source:= line with the UsedRange command. This selects just the active data area, thereby enabling one chart macro to accommodate varied amounts of data.

VBA macros and viruses


A macro virus is a program that is written in an applications macro language and performs undesired actions (such as file deletions) on one or more machines. Several Excel 97 and 2000 macro viruses exist, and you must use extreme care to ensure that viruses are not transmitted inside spreadsheets that are generated by MicroStrategy Narrowcast Server. While Narrowcast Server itself cannot generate or deliberately enclose a macro virus in a workbook, viruses can be present in Excel templates used as the basis for narrowcasts.

62

Chapter 3 Working with Documents

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

Excel for Report from Intelligence Server


Excel for reports generated from Intelligence Server are commonly used to provide consistency in the reports generated by MicroStrategy Desktop and Narrowcast Server, and to leverage any enhancements to the Excel formatting. You can choose to have the Excel reports generated from Intelligence Server by setting the execution and governing properties of Intelligence Server in the Information Source Wizard. For reports that have one or more attributes in the page-by field, you can choose to expand all the pages and view each page on a new sheet in the Excel report. This setting is available for subscriptions through Narrowcast Server and Web Deliveries.

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

Chapter 3 Working with Documents

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

Chapter 3 Working with Documents

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.

Using XSL stylesheets


As discussed in chapter 2, Dynamic Content and Personalization, information objects always return contents in one of three formats: image, XML, and text. Information objects that return XML always use XSL stylesheets to format information object results into content that is appropriate for the document in which they are inserted. For MicroStrategy Grid reports, a default stylesheet is automatically applied that transforms the report XML into a grid that preserves all report formatting defined in MicroStrategy Desktop or Web. As a result, you do not need to know how XSL stylesheets work to use XML information objects. You simply need to know that when you insert a grid report into an HTML or Excel document that the report formatting appears the same as it does in MicroStrategy Web and Desktop. However, XSL stylesheets also offer some powerful advantages if you choose to take advantage of them. This section discusses some of these advantages and provides the basic tools to allow you to get started using XSL stylesheets.

Advantages of XSL stylesheets


XSL stylesheets provide complete control over how HTML, text, or Excel content is displayed based on the personalized data returned by information objects. In its simplest form, this allows application designers to format report grids. However, it also allows application designers to tailor message formatting and return highly personalized natural language text. Specifically, XSL stylesheets can:

68

Chapter 3 Working with Documents

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

Using XSL stylesheets

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.

Default stylesheets provided


MicroStrategy Narrowcast Server provides a number of precreated XSL stylesheets in two locations. First, a small number of commonly used XSL stylesheets are automatically added to new systems when systems are first created. These files are available in the following folder location within Narrowcast Administrator:
\\Applications\My First Application\Services\XSL Stylesheets

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

Chapter 3 Working with Documents

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.

Using XSL stylesheets

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

Chapter 3 Working with Documents

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.

Using XSL stylesheets

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

Chapter 3 Working with Documents

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

Using XSL stylesheets

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

Chapter 3 Working with Documents

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.

Column widths specified in MicroStrategy Web or Desktop


MicroStrategy Narrowcast Server allows you to preserve column width settings specified in MicroStrategy Web or MicroStrategy Desktop. This can be accomplished by selecting the default XSL stylesheets used by Narrowcast Server for MicroStrategy reports within HTML and Excel documents. Since this stylesheet is selected by default, this behavior is automatically enabled for new systems. To specify column widths for reports, Narrowcast Server must be used with Intelligence Server version 7.2.1 or later and must use the default XSL stylesheets provided with Narrowcast Server 7.2.1 or later as described below. For new systems created in Narrowcast Server 7.2.1 or later, the default XSL stylesheets for HTML and Excel documents automatically apply column widths set in Web or Desktop. Reports set to fit the entire page in MicroStrategy Web are set to fit report contents when delivered in HTML documents by Narrowcast Server since this produces more desirable

Using XSL stylesheets

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

Developing and testing XSL stylesheets


The XSL stylesheets described above provide a variety of standard styles that can easily be applied to MicroStrategy reports to standardize the formatting of reports. You can import any of these files into your

78

Chapter 3 Working with Documents

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

Using XSL stylesheets

79

C O N C E P T S

80

Chapter 3 Working with Documents

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.

The Subscription Book


The Subscription Book is the component of Narrowcast Server responsible for administering and providing recipients of a service. The Subscription Book consists of users, addresses, subscriptions, and their corresponding personalization. At design time, the Subscription Book supplies full editing capabilities for these items. At run time, the Subscription Book supplies a list of subscriptions to be used as recipients of a service. The Subscription Book supports two types of subscription sets: static subscription sets and dynamic subscription sets. Static subscription sets are created by directly adding addresses into a subscription set. Dynamic subscription sets supply a list of subscribers via the execution of an information object. As a result, dynamic subscription sets can retrieve recipient data from a source outside the Subscription Book Repository (for example, a data warehouse). In this case, subscriber management cannot be performed with the interfaces provided by Narrowcast Server. The Subscription Book content is stored in a database location called the Subscription Book Repository and contains only information directly relevant to a subscriber. It is not a directory and does not store any information other than data that is essential for correctly personalizing and addressing content to subscribers. Sensitive information, such as passwords, is encrypted before being stored to provide security. Two primary items exist in the Subscription Book to store user-related information: Users and addresses. These two items are discussed in more detail in the following sections.

81

C O N C E P T S

Users and addresses


Users
Users represent and serve as the end users who receive Narrowcast Server services. Each user is given an account, allowing a login ID and password to be associated with a user, thus enabling self-subscription interfaces to enforce authentication requirements. In addition, users allow all personalization settings to be defined at the user or account level. Finally, users provide the structure necessary to allow one user to have multiple addresses (such as a wireless PDA address and an e-mail address) so that personalization can be applied consistently across them. A user has the following properties: Login ID Password Expiration date Locale Addresses Personalization (preference, authentication, and security) Status
Login ID

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

Chapter 4 User Management

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

Users and addresses

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

Chapter 4 User Management

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 and subscription sets


Now that you understand the basic concepts of users and addresses, it is important to understand how to use these items effectively to create subscription sets that suit your application needs. This section introduces you to the concepts of subscriptions and subscription sets and provides a high-level overview of how to manage users and subscriptions in Narrowcast Server using both static and dynamic subscription sets.

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.

Static 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 what recipients should receive these services. Subscription sets can be termed reusable or embedded objects, and are either static or dynamic.

Subscriptions and subscription sets

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

Chapter 4 User Management

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

Dynamic subscription sets


A dynamic subscription set is a subscription set that gathers some or all user and subscription related information from an external, dynamic data set such as a report result, a database query, or some other external system. It is also possible to gather only partial user and subscription information from an external source and to join this information with other user and subscription information in the Subscription Book. For user and subscription information that can be incorporated into a MicroStrategy project, a MicroStrategy information source can be used to gather subscription information either from a MicroStrategy report or directly from attributes in the project. Subscription information can also be gathered from other sources such as the Web, a flat file, and so on, using other information sources. Dynamic subscription sets are useful when customer data already exists in an external source such as a relational database and when subscription information is created or updated by an external system. They are particularly useful when a subscription set is expected to vary from one service execution to the next, such as with alert-driven services. Dynamic subscription sets use subscription information objects to gather information from external sources. The information object can provide the following information for each recipient: Subscription ID (required) Address ID User ID Address Display Physical Address Locale Device PIN

Subscriptions and subscription sets

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

Chapter 4 User Management

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.

Pre- and post-service execution SQL

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

Chapter 4 User Management

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

Subscriptions and subscription sets

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

Datatype char, varchar

Maximum Width 32 characters

Execution priority Service execution timestamp Service expiration timestamp Subscription Set ID

\P \C

integer date-time

\R

Date and time the service expires

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 \\

date-time char, varchar

1 character

Static subscription set governing


Governing is used to restrict the number of items that are retrieved when you open the subscription set in Narrowcast Administrator. This allows Narrowcast Administrator to work more efficiently when you have a large subscription book or subscription set and do not want to risk long waiting times when you open it. For example, if you set a limit of 5,000 subscriptions to retrieve for the subscription set and 10,000 subscriptions are in the subscription set, only the first 5,000 are retrieved. Governing can be used in conjunction with filtering to restrict the items that are retrieved.

Synchronization with external sources


While users and addresses can be added to the Subscription Book manually through Narrowcast Administrator or by end users through the Subscription Portal, they can also be imported from and synchronized with external sources. This allows you to add large numbers of users and addresses to your Subscription Book from existing sources and to automatically define all user, address, personalization, and subscription information for these users. You might use this method when you have existing user information in, for example, a Lightweight Directory Access Protocol (LDAP) directory or a mail server such as Microsoft Exchange. To be used as a source for user import or synchronization, the user information must be exported to one of two file formats: Delimited, for example, comma separated values (CSV)

94

Chapter 4 User Management

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

Import or update user and address attributes


Importing or updating users and addresses involves choosing the following: Addresses to create or update for each user User and address properties to synchronize Synchronization file attributes to map to the Subscription Book properties for users and addresses User properties that can be imported or synchronized include user login ID, locale, status, password, hint, and so forth. These properties can be mapped to any attributes in the synchronization file. Address properties that can be imported or synchronized include address name, transmitter, device, and so forth. These properties can be mapped to any attributes in the synchronization file. New users and addresses can be imported with no properties mapped, in which case the same defaults used when users and addresses are created through Narrowcast Administrator are applied.

Synchronization with external sources

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.

Update user personalization and subscription


Narrowcast Server offers advanced synchronization capabilities including the ability to import user personalization and subscription. User personalization includes preference, security, and authentication, and each of these can be synchronized. User preferences are synchronized by mapping synchronization file attributes to the Narrowcast Server objects to be personalized. All information objects and question objects that can be personalized are provided such that synchronization file attributes can be mapped to these objects. Synchronization file attribute values used for user preferences must be in valid formats for each information object or question object. User authentication and security are synchronized by mapping a synchronization file attribute to each information source. Synchronization file attribute values used for information source authentication and security must be in valid formats for each information source. User subscriptions are synchronized by mapping a synchronization file attribute to each subscription set and choosing one value that indicates an address should be subscribed. If the selected attribute in the synchronization file has the chosen value for an address, that address is subscribed to this subscription set. Otherwise it is not subscribed.

96

Chapter 4 User Management

Subscription Book synchronization tutorial


To understand how Subscription Book synchronization works, it is very helpful to actually proceed through the process yourself. The following section contains a brief tutorial that guides you through the basic steps involved in synchronization. The tutorial uses two sample LDIF files as the basis for two potential scenarios relating to Subscription Book synchronization. In the first scenario, you import users and addresses and define their associated properties. Although only a few users are added in this example, this scenario demonstrates the ability of the Subscription Book Synchronization Wizard to import multiple users quickly and easily. The second scenario demonstrates more advanced capabilities based upon the lessons learned in the first scenario. In this scenario, you add additional addresses to an existing user, remap a user whose identity has changed in the synchronization file, and subscribe an address to an existing subscription set.

C O N C E P T S

Scenario 1: Import users and addresses


Requirements

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

Subscription Book synchronization tutorial

97

C O N C E P T S

Synchronization Wizard steps


Narrowcast Administrator

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.

Select LDIF File as the Source Type.

3. In the File Location box enter the full path to the provided sample file SynchronizationTutorial1.ldif. 4.

Click Next to start the import process.

User and Address Properties page

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.

User Addition or Mapping page

Note that three new users from the synchronization file appear in the Add Users list.
2.

1.

Click Next.

User Removal or Mapping page

1. Note that any existing users in the subscription book appear in the Do Not Remove Users list.

98

Chapter 4 User Management


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.

Subscription Book synchronization tutorial

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.

Click OK to close the Synchronization Settings dialog box.

Chapter 4 User Management

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.

Keep LDIF File as the Source Type.

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.

User and Address Properties page

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.

Subscription Book synchronization tutorial

101

C O N C E P T S

User Addition or Mapping page

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.

User Removal or Mapping page

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

Chapter 4 User Management

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.

Subscription Book synchronization tutorial

103

C O N C E P T S

104

Chapter 4 User Management

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.

Importance of alert-based services


For the last ten years companies have expended large amounts of time, money, and energy to set up systems that aggregate and organize vast amounts of data. Now that companies have a wealth of data available for analysis, they are finding that it is not reasonable to assume that users have the time to search through all of this data to identify important information that should be acted upon. Proactive information delivery is increasingly becoming paramount to any business intelligence initiative, and alertbased information delivery can provide the crucial advantage of providing the right information at the right time to the right people when an alerting condition is met.

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.

Overview of support for alerting functionality


Process flow
When creating alert-based applications, it is important to consider how the system works from both an end user and an administrator perspective. From the end user point of view, the recipient tells Narrowcast Server the event criteria for which he wants to receive information and what information he wants to receive. When this event occurs, Narrowcast Server delivers the requested information to the recipient. From the Narrowcast Server system administrators point of view, the process contains the following steps:
1. New information is loaded into the data store to which the Narrowcast Server has been connected. This connection is most likely through a MicroStrategy Information Source Module connected to MicroStrategy Intelligence Server, but this connection could also be a Database (ODBC) Information Source Module or a custom information source module. 2. Narrowcast Server and any required external applications are configured to evaluate some condition on a periodic basis. This can be accomplished in one of two ways:

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

Chapter 5 Alert-Based Applications

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).

Event-triggered service execution


Event-triggered services are services for which the triggering of the service itself is event or data driven. In other words, rather than having an existing executing service evaluate which recipients should receive content (as described in the process flow), the service execution itself is triggered by some event or change in the data warehouse. This functionality requires some additional setup to either (a) configure an external system to trigger

Overview of support for alerting 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.

Dynamic subscriptions and personalization


Many alert-based application requirements are actually met with methods other than explicitly evaluating a condition and then executing or not executing a service. In fact, this method of personalization is often not very useful because it treats all recipients within a service the same way and does not distinguish between the alerting criteria defined by different users. Narrowcast Server provides two different ways to evaluate conditions at the user level such that users receive content or do not receive content according to their own preferences. Dynamic subscription sets, in which an information object is executed to determine which recipients should receive a service. Document element and publication settings, in which MicroStrategy Narrowcast Server delivers content only to certain recipients based on the content returned by information objects. Thus, in many cases, what an end user might consider an alert service actually corresponds to a personalized service with either a dynamic subscription set or appropriate document element and publication settings such that the service is delivered on a scheduled basis to the appropriate recipients. (These cases are described in step 4 in the process flow.) In either case (assuming the MicroStrategy Information Source is used), the recipients of the service are determined by data driven analysis conducted by the MicroStrategy Intelligence Server. This capability enables Narrowcast Server to make full use of the power of Intelligence Server to analyze the information stored in the data warehouse to return the recipients of the service. This is a powerful advantage and allows the use of complex analytic functions in evaluating alert conditions.

108

Chapter 5 Alert-Based Applications

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

Application design for alert-based implementations


Alert-based services are feasible through several different MicroStrategy Narrowcast Server feature sets that support a wide variety of functional requirements. The following feature sets can be used to achieve alert-based functionality. The use of these feature sets in implementing alert-based service functionality is described below. Event-triggered service execution enables Narrowcast Server to check for the occurrence of an event that requires the delivery of information.

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.

Application design for alert-based implementations

109

C O N C E P T S

Event-triggered service execution


Event-triggered service execution functionality allows MicroStrategy Narrowcast Server to check a predefined alerting condition before a service execution is triggered. For example, this could provide a check to see if new information has loaded into the database or whether a given parameter has reached a critical value before a service is executed. This section describes two ways in which this functionality can be implemented.

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.

Event-triggered service execution using pre-service execution SQL

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

Chapter 5 Alert-Based Applications

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.

Application design for alert-based implementations

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 table event (event_flag int)

insert into event values (0)

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

Specify the pre-service execution SQL in the subscription set:

Chapter 5 Alert-Based Applications

exec SProcedure

5.

Specify the pre-service execution SQL in the subscription set:

insert into event values (0)

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.

Event-triggered service execution using the Narrowcast Server SDK

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

Application design for alert-based implementations

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

Chapter 5 Alert-Based Applications

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.

Application design for alert-based implementations

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.

Dynamic subscriptions and personalization


In addition to triggering service executions based on external events, alerting functionality can be achieved through the use of dynamic subscription sets and personalization. Dynamic subscription sets achieve alerting functionality by determining which subscribers should be included when a service is executed. Personalization can be used to determine which recipients should receive content based on the personalized content returned by information objects. Once a service is triggered, event-triggered services and scheduled services go through the same service execution process of determining the list of subscribers, and gathering, formatting and transmitting personalized content. Thus both event-triggered and scheduled services can use the methods described in this section. For information on best practices to be followed while creating a dynamic subscription service, see Best practices.

116

Chapter 5 Alert-Based Applications

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

Chapter 5 Alert-Based Applications

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

Post-service execution data source update


The final feature set that might be needed by alert-based services is postservice execution SQL, which can be used to update or clean the data warehouse after an alert service has been run. This feature enables Narrowcast Server to change information in the data source to acknowledge that an alert service has already been delivered. In this way, when Narrowcast Server checks the data warehouse again (for example, for a scheduled service), it does not generate another alert message until the alert condition is reactivated by the desired event. MicroStrategy Narrowcast Server supports post-service execution data source cleansing through post-service execution SQL. This functions in the same way as the pre-service execution SQL. Post-service execution SQL functionality allows Narrowcast Server to reset or update alert conditions for future use. For instance, for a stock alert service, after generating a message notifying a recipient of a 10% increase in stock, the post-service execution SQL can be used to update the last notification stock price for each recipient. Thus, in the future, when Narrowcast Server checks for stock information that needs to be delivered, Narrowcast Server does not resend multiple alert messages to the same recipients.

Application design for alert-based implementations

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

Chapter 5 Alert-Based Applications

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

Chapter 5 Alert-Based Applications

C H A PT E R

Page Personalization and Dynamic Subscriptions


6.

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.

Before you begin


You should familiarize yourself thoroughly with the following concepts before you attempt to develop services that use dynamic subscription or personalized page execution: Subscriptions and subscription sets: refer to chapter 4, User Management. Segment and subscription information object roles: refer to Roles of information objects in chapter 2, Dynamic Content and Personalization. Project objects including attributes and attribute forms, prompts, filters, reports and the page axis of a report: refer to the MicroStrategy Basic Reporting Guide and the MicroStrategy Advanced Reporting Guide.

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

Chapter 6 Page Personalization and Dynamic Subscriptions

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.

Storing subscription information in the Subscription Book Repository


For static subscription sets, all subscription information is stored in and retrieved from the Subscription Book Repository. For dynamic subscription sets, it is also possible to retrieve some subscription information, such as preferences, address information, and user authentication, from the Subscription Book Repository instead of from a subscription information object.

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.

Understanding personalized page execution and dynamic subscriptions


Personalized page execution versus personalized report execution
Personalized page execution and personalized report execution are different ways that an execution engine can request personalized reports from MicroStrategy Intelligence Server for content information objects. For personalized report execution, each execution engine looks at all subscriptions in the segment that is currently being processed by the execution engine and divides subscriptions into groups that share the same personalization. The execution engine then executes one report for each group of users with the same personalization. Thus, if a large number of subscriptions have a small number of different personalizations, personalized report execution can be a relatively efficient way to execute the service. On the other hand, if there is a large number of subscriptions and many subscriptions have different personalization, this can result in a very large number of reports being executed.

126

Chapter 6 Page Personalization and Dynamic Subscriptions

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

Personalized Report Execution

Intelligence Server

Execution Engine

One prompted report is executed for each group of subscriptions with the same personalization.

Understanding personalized page execution and dynamic subscriptions

127

C O N C E P T S

Personalization method and implications


It is important to understand that personalized page execution and personalized report execution do not only differ in how reports are executed, but they also differ in how the reports are designed and how subscribers provide personalization for information objects. For MicroStrategy information objects executed using personalized report execution, reports are personalized by adding any number of prompt objects to the reports. These prompts are then answered by Narrowcast Server using the personalization defined for each group of subscribers. Any type of prompt object and any number of prompt objects can be used. As a result, personalized report execution provides much greater flexibility and control over personalization since user preferences are stored as each users answers to one or more prompts. For MicroStrategy information objects executed using personalized page execution, reports are personalized by adding an attribute form to the page axis of the report. This allows MicroStrategy Narrowcast Server to divide the report into multiple pages, which can be used for different subscriptions. Subscriptions indicate their preferences by specifying the attribute value for the first attribute form on the page axis. Thus, for personalized page execution, user preferences are stored as the value of an attribute form, such as for the region attribute, Region = Northeast. This can be a disadvantage when personalization is stored in the Subscription Book since the full power of prompted reports is not realized, but this is actually an advantage when user and subscription information is stored in a relational data warehouse since these attribute values are exactly the type of information that is easily returned by a report from a customer-centric data warehouse.

Content information objects personalization by subscription information objects


The previous sections have explained how information objects are personalized when using personalized page execution. This section describes in greater detail how this personalization can be driven from the information returned in dynamic subscription sets. Subscription information objects always return a Subscription ID for each subscription and may also return any additional information required for personalization, such as a specific attribute form such as Region ID for each subscription.

128

Chapter 6 Page Personalization and Dynamic Subscriptions

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

Understanding personalized page execution and dynamic subscriptions

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.

Slicing and segmentation


A key benefit of Narrowcast Server is that it provides both user and data scalability. This means that Narrowcast Server can scale linearly with available system resources to deliver to a large number of users and also handle a large amount of information that must be delivered to these users. To do this, Narrowcast Server employs two key capabilities: the ability to execute reports efficiently to gather personalized content for a large number of users the ability to divide a large amount of work and distribute it across a large number of machines The first of these capabilities, often termed slicing, is accomplished using personalized page execution and has been discussed in previous sections. The second of these capabilities requires Narrowcast Server to take the work required to execute a service, divide it into sections, and then distribute these sections across several machines. Narrowcast Server distributes work by dividing the subscription set into groups and assigning each group of subscriptions to a machine. Segmentation is this process of dividing a subscription set into smaller groups of subscriptions, called segments, and distributing the work required to execute a service among multiple machines. Although both slicing and segmentation improve the scalability of the service execution process, they achieve different goals. Slicing allows Narrowcast Server to execute reports more efficiently, while segmentation allows Narrowcast Server to distribute work across machines to both increase execution speed and provide failover support. The figure below provides a conceptual illustration of the segmentation process.

130

Chapter 6 Page Personalization and Dynamic Subscriptions

Distribution Manager

Distribution Manager passes only IDs for subscriptions in each segments to each Segment Executor

Segment Executor Segment #1

Segment Executor Segment #2


Segment Executor gathers only content for subscriptions in current segments from Intelligence Server

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

The figure below provides a conceptual illustration of the slicing process.


First attribute on Page Axis

Report Structure

Conceptual Result: Multiple Pages

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

Chapter 6 Page Personalization and Dynamic Subscriptions

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

Slicing and segmentation

133

C O N C E P T S

Segmentation implications for application design


As described in Segmentation processes, three processes come into play during segmentation to ensure that subscription sets are divided into smaller groups and that information objects return information appropriate for the current segment. It is important to note that all subscription sets are always segmented based on Subscription ID. As a result, subscription information objects and content information objects should always be segmented using this same Subscription ID to ensure that the content and subscriptions returned to an execution engine are filtered properly. If subscription information objects are defined using the subscription information provided in the information source definition (rather than selecting a report to return subscription information) and subscription information objects and content information objects are segmented automatically (as is selected by default), the correct Subscription ID is used automatically for all segmentation processes. This is because a single Subscription ID is always defined in the information source when dynamic subscriptions are enabled, and this Subscription ID is used by default for all segmentation processes when a report is not selected for the subscription information object. On the other hand, when a report is selected to define a subscription information object, the first attribute form on the page axis of the selected report is used as Subscription ID, and is applied when the dynamic subscription set is segmented and when the subscription information object is segmented. However, by default, content information objects are segmented using the Subscription ID specified in the information source. As a result, content information objects are segmented incorrectly in this case unless the first attribute form on the page axis of the subscription information object report returns the same attribute values as the attribute form specified in the information source as Subscription ID, or segmentation for the content information object is defined manually by adding prompt objects to the content information object. This can only be avoided by adding prompt objects to the content information object to define the method of segmentation.

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

Chapter 6 Page Personalization and Dynamic Subscriptions

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

Slicing and segmentation

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.

Subscription ID versus slicing attribute


When defining an application to support dynamic subscription sets and personalized page execution, it is important to properly select attribute forms that support the processes of segmentation and slicing. Although the same attribute form can be used to both segment a subscription set and to personalize a content information object using personalized page execution, this is not always the case. As a result, it is important to understand the difference between Subscription IDs and slicing attributes. A Subscription ID is the attribute form used to segment dynamic subscription sets, subscription information objects, and content information objects. By contrast, a slicing attribute is the attribute form used to slice the data set returned using personalized page execution mode to provide personalized content for each subscription. Thus, if the same attribute form is chosen for each purpose, each subscription receives a unique page of content and no two subscriptions share the same page. However, in many cases, the slicing attribute is a different value so that all subscriptions share a smaller number of available pages. In this case, Subscription IDs and slicing attributes have differing requirements due to their different purposes. A Subscription ID must be a 4-byte integer. No workaround exists for using Subscription IDs in other formats. However, a slicing attribute can be any numeric or text datatype. The integer-only constraint for Subscription ID ensures that database configuration differences such as case sensitivity on comparisons do not cause unpredictable behavior. On the other hand, a slicing attribute is used to match preferences to a specific page of content returned and thus any numeric or text data type can be used. However, the slicing attribute used for personalized page execution information object reports cannot use an attribute with a compound key.

136

Chapter 6 Page Personalization and Dynamic Subscriptions

Understanding subscription information


Subscription information refers to the information that fully defines a subscription and that is required to deliver messages for a subscription. This includes user information such as user name, address information such as physical address, device types, and personalization information. The following items comprise the complete list of subscription information. This is the information returned by either a static or a dynamic subscription set for each subscription. Subscription ID Address information

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

Storing subscription information


The location of subscription information is a key determinant of how dynamic subscriptions and personalized page execution can be implemented. The location of subscription information determines application design characteristics such as: Whether dynamic subscriptions and personalized page execution functionality, and as a result, the benefits listed previously in this chapter, can be used, What type of personalization is used (using prompted reports or using information in the data warehouse to select a page of a report), and

Understanding subscription 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

Chapter 6 Page Personalization and Dynamic Subscriptions

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.

Understanding subscription information

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

Chapter 6 Page Personalization and Dynamic Subscriptions

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

Understanding subscription information

141

C O N C E P T S

Designing applications to support dynamic subscriptions and personalized page execution


Application design requirements
To achieve the benefits of personalized page execution and dynamic subscriptions, it is important to properly design applications to support either dynamic subscription sets, personalized page execution, or both. Several application design scenarios are possible, including the following: Scenario 1: Personalized report execution with static subscriptions Scenario 2: Personalized page execution with dynamic subscriptions Scenario 3: Personalized page execution with static subscriptions Scenario 4: Personalized report execution with dynamic subscriptions This section provides an overview of these scenarios.

Scenario 1: Personalized report execution with static subscriptions


Overview

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

Chapter 6 Page Personalization and Dynamic Subscriptions

Required reports and report design

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

Scenario 2: Personalized page execution with dynamic subscriptions


Overview

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.

Report template is not used.

Content Information Objects

Content for each report page.

Content for each report page.

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

Chapter 6 Page Personalization and Dynamic Subscriptions

Scenario 3: Personalized page execution with static subscriptions


Overview

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

Content for each report page

Content for each report page

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.

Designing applications to support dynamic subscriptions and personalized page execution

145

C O N C E P T S

Scenario 4: Personalized report execution with dynamic subscriptions


Overview

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

Chapter 6 Page Personalization and Dynamic Subscriptions

Subscription Information Content*


Subscription ID Other subscription information (physical address, etc.) XML used for personalization Note: the first attribute form on the page axis must be Subscription ID.

C O N C E P T S

Report template is not used.

Content Information Objects


One or more prompts Content for each report. Content for each report. Note: no attributes are on the page axis and reports contains one or more prompts.

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.

Implementing personalized page execution and dynamic subscriptions


The following steps provide a high-level overview of tasks that you need to accomplish to implement personalized page execution and dynamic subscriptions. For more information on specific tasks, please see other sections in this chapter and relevant How Do I...? topics in this guide.
1. Determine where subscription information will be stored (that is, in the Subscription Book Repository, the data warehouse, or both) and what type of subscription sets and which execution mode will be used. These decisions are interrelated. For more information about the various options for storing the subscription information, see Storing subscription information. Relevant questions an application designer should ask include:

Designing applications to support dynamic subscriptions and personalized page execution

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.

Create content information objects using the desired reports.

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

Chapter 6 Page Personalization and Dynamic Subscriptions

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

Advanced segmentation control techniques


By default, Narrowcast Server takes care of this segmentation process with no intervention required by the user. However, in some cases, you might want to control how this segmentation process is performed. When a dynamic subscription set is created, after the subscription information object is selected, you are presented with an advanced option to define how subscriptions are segmented. By default, this option is not selected. If this option is left unselected, MicroStrategy Narrowcast Server automatically segments the subscriptions returned by the subscription information object using a prompted rank value filter on the Subscription ID column. If this option is selected, you are asked to provide a segment information object. Segment information objects return the Subscription IDs at the beginning of segments and thus explicitly control how subscriptions are segmented into groups. To understand how Narrowcast Server performs segmentation, review the following steps, which explain how to create a segment information object that is functionally equivalent to Narrowcast Servers default segmentation method. The following is a step-by-step example using the MicroStrategy Tutorial project from MicroStrategy Desktop. It can be used for services such as the tutorial examples 3a and 3b, which use the Customer ID attribute form as the Subscription ID. Make Customer_ID a fact. MicroStrategy can only rank facts and only if they are numeric. For a different project, you would choose whichever column you are using for the Subscription ID attribute form.

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

Chapter 6 Page Personalization and Dynamic Subscriptions

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

Advanced segmentation control techniques

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

Chapter 6 Page Personalization and Dynamic Subscriptions

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) )

Advanced segmentation control techniques

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

Chapter 6 Page Personalization and Dynamic Subscriptions

C H A PT E R

7.

User Self Subscription

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 elect or create a S ubscription P ortal C reate or edit a site definition

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

Subscription Portal system


A Subscription Portal system includes the following: An installation of the Subscription Portal application A Portal Repository database

156

Chapter 7 User Self Subscription

Subscription Portal application


The Subscription Portal application is a set of Web pages that provide the administrative and end user interfaces to Subscription Portal functionality. This application must be installed on a machine on which the Microsoft Internet Information Server World Wide Web publishing service is installed and properly configured.

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

Chapter 7 User Self Subscription

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 name and description


Each site definition should have a unique name and description so you know at a glance which properties are contained within the definition. This name and description is seen only by the portal administrator.

Site definition

159

C O N C E P T S

Deleting a site definition

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.

Subscription Book Repository


The site definition includes the location of the Subscription Book Repository. This information repository is created by Narrowcast Administrator and stores the user information, addresses, personalization, and subscriptions. You should not change the location of the Subscription Book Repository after defining the site because users might no longer be able to log in to the portal and access their subscription information. The option to change the

160

Chapter 7 User Self Subscription

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

Chapter 7 User Self Subscription

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

Chapter 7 User Self Subscription

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

Chapter 7 User Self Subscription

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

Configure page-by questions for dynamic subscription sets

Set storage mappings for dynamic subscription sets

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.

Personalized page execution


The definition of each subscription created for a personalized service must include an answer for each question object in the service. When these answers are used in a subscription they are known as preference objects. The Delivery Engine uses preference objects during service execution to generate personalized content for each subscription. For any question objects that use personalized report execution, the preference object answers the prompt objects in the content information object. For question objects that use personalized page execution, or page-by questions, the preference object is a single attribute element ID that selects a specific page of data from the content information object.

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

Chapter 7 User Self Subscription

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

Dynamic subscription sets


Using dynamic subscription sets allows the Delivery Engine to retrieve a list of subscriptions from a warehouse rather than from the Subscription Book Repository (SBR). While the minimum requirement is that the subscription information object returns the ID of each subscription, any or all of the subscription information that Narrowcast Server needs to execute, personalize, and transmit a set of subscriptions can be retrieved from the warehouse instead of the SBR. If some of the information, such as the page-by question answer, that the Delivery Engine needs to personalize or transmit the subscriptions is not retrieved in the subscription information object, the Delivery Engine can retrieve that information from the SBR based on the Subscription ID returned in the subscription information object. By contrast, if all of the required information is retrieved in the subscription information object, no lookup in the SBR is necessary. This only occurs if the SBR tables are located in the warehouse, because the Subscription Portal writes user information such as address definitions only to the SBR. The Subscription Portal can write the address ID to the warehouse as part of a dynamic subscription mapping, but the Delivery Engine can obtain the address definition only by looking it up in the SBR based on the address ID retrieved from the warehouse. The Delivery Engine can also retrieve it directly from the warehouse by joining to the SBR addresses table.
Configuration through the Portal Administrator Wizard

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

Chapter 7 User Self Subscription

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

Chapter 7 User Self Subscription

C H A PT E R

Supporting Diverse User Populations


8.

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.

Multiple sets of user devices


A powerful feature of Narrowcast Server is the ability to format the same service content for multiple delivery methods and multiple end-user devices. To design applications to support different delivery methods and end user devices, it is helpful to understand how Narrowcast Server supports different types of devices and delivery methods using the information transmitters available to the system. Each information transmitter enables some number of devices that it supports for a delivery method. For example, the e-mail information transmitter supports Outlook 2000, Yahoo, and so on, while the Wireless information transmitter supports various phones, pagers and PDAs. Each device can control how documents are formatted and how information transmitters deliver content. As a result, a message generated for Outlook 2000 might be formatted differently than a message generated for Yahoo even though they use the same delivery method. Similarly, messages sent to one wireless device might have different transmission requirements than messages sent to a different device, even when the same information transmitter is used. Thus, when designing applications to support multiple devices, it is important to create an appropriate set of end user devices that provide the formatting and delivery characteristics you desire and create a service that both supports the desired devices and provides appropriate content for these devices. To illustrate further, each publication in a service supports a set of devices for the corresponding delivery method. Each address that is subscribed to a service selects a device. Subscriptions will only receive content if the

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.

Multiple languages and locales


Another powerful capability of Narrowcast Server is the ability to support users with different language or regional preferences in the same service. Thus, content can be designed and created once and subscribed to by all users regardless of their regional preferences. In Narrowcast Server, this is accomplished through the use of locales. Locales control which information end users receive and how content is retrieved, formatted and delivered to these users.

178

Chapter 8 Supporting Diverse User Populations

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.

Multiple languages and locales

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

Chapter 8 Supporting Diverse User Populations

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.

Multiple languages and locales

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

Users: U1 (Locale selection: French) U2 (Locale selection: English)

selection process selection process default if locale is not fully defined

Information Source: IS1 (Language: English)

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

Chapter 8 Supporting Diverse User Populations

C H A PT E R

Advanced Subscription Portal Configuration


9.

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

Desktop 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?

Scenario 1: Basic personalized page execution Scenario 2: Page-by Subscription ID

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

Scenario 3: Page-by Answer ID

Static

Portfolio ID; store Portfolio ID as Answer ID

Yes

Scenario 4: Nonpersonalized dynamic subscription

Dynamic

None

No

N/A

184

Chapter 9 Advanced Subscription Portal Configuration

Scenario Number

Scenario Name

Subscription Set

Page-By?

Alternate/ Additional Question Object? Yes

Writing to Warehouse?

User Preference Support?

C O N C E P T S

Scenario 5: Personalized dynamic subscription

Dynamic

Subscription ID

Yes; Subscription ID, Address ID, User ID, and the alternate question object answer value

No

Scenario 1: Basic personalized page execution


This case is the most basic form of personalized page execution. The personalization for each subscription is a single attribute element, which corresponds to a page of data in a multi-page report. Subscription Portal prompts the user to choose an attribute element and writes this preference directly to the Subscription Book Repository. Narrowcast Server then runs the service and delivers the corresponding page of the report to the user based on the Subscription Book Repository preference. The report used as the content information object can be based on any attribute in any project, as long as the report has the personalization attribute in the page-by area. This approach is appropriate when you want to avoid executing a single query against the warehouse for each personalization value that a user might select when creating a subscription. This approach only works when the personalization for each information object is on a single attribute, and each subscription can specify only a single attribute element value. To allow personalization on multiple attributes or to allow subscribers to select more than one attribute element for each subscription, consider Scenario 3.

Change the warehouse


No changes are necessary.

Create objects in the MicroStrategy Desktop interface


1. Create a report with the personalization attribute in the page-by area. (Suggested name: Report 1.1 Information Object)

Scenario 1: Basic personalized page execution

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.

Create objects in Narrowcast Administrator


Create an information object from within Narrowcast Administrator (role: Content Information Object; Report Execution Method (under Advanced Properties, Report Execution tab): Personalized Page Execution) using Report 1.1 Information Object (Suggested name: 1.1 Personalized Page Content Information Object).
2. Create a service with a document using the content information object. 3. Create a static subscription set and add it to the definition of the service using whatever schedule is desired. 1.

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.

Subscribe your user to this subscription set.

5. Personalize the subscription at the subscription level for the content information object by selecting an attribute element value.

Run the service to test and verify the results.

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

Chapter 9 Advanced Subscription Portal Configuration

Configure with the Portal Administrator Wizard


1. Use the Services Configuration page of the Portal Administrator Wizard to select the service that was created in the Narrowcast Administrator. 2. On the Static Subscriptions page, click Configure to define the configuration for all the static subscription sets in this service.

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.

Skip the Dynamic Subscription Configuration page for this service.

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.

Run the service in Narrowcast Administrator.

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.

Scenario 1: Basic personalized page execution

187

C O N C E P T S

2.

The user answers the prompt by selecting a single attribute element.

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.

Scenario 2: Page-by Subscription ID


When the user signs up for this service, the portal administrator wants the user to be prompted to enter a threshold value. The user then receives a service whose content includes a list of stocks whose percent change was greater than that value. The approach used in this example allows the Narrowcast Server application designer to use personalized page execution and to store the subscriber's preference value in the warehouse. This value is not necessarily returned in the report but is used to calculate which data are returned. In this example, the subscriber chooses a stock alert threshold percentage. The report has a filter that returns only symbols whose percent change was greater than the threshold entered by the subscriber. The threshold values must be stored on the Subscription ID level and are more easily manipulated as metrics in the warehouse (rather than as preference objects in the Subscription Book Repository).

188

Chapter 9 Advanced Subscription Portal Configuration

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

(Suggested name: LU_SYMBOLS)

Change the warehouse


1.

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)

MR_USER_ID, MR_SUB_ID and THRESHOLD

Create objects in the MicroStrategy Desktop interface


1.

Update the warehouse catalog of your project.

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.

Create an attribute based on the MR_SUB_ID column of the SUB_THRESHOLD table.


5. Create a metric based on the THRESHOLD column of the SUB_THRESHOLD table. 6.

4.

Update the schema of your project.

Scenario 2: Page-by Subscription ID

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)

This report should generate SQL similar to the following:


Select a.MR_SUB_ID, b.SYMBOL, sum(b.LAST_TRADE_PRICE), sum(b. PCT_CHANGE) from SUB_THRESHOLD a, LU_SYMBOLS b where sum(b.PCT_CHANGE)>=sum(a.THRESHOLD) group by a.MR_SUB_ID, b.SYMBOL

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.

Create objects in Narrowcast Administrator


1. Create an information object from within Narrowcast Administrator (role: Content Information Object; Report Execution Method (under Advanced Properties, Report Execution tab): Personalized Page Execution) using Report 1.2 Information Object. (Suggested name: 1.2 Personalized Page Content Information Object) 2. Create a service with a document using the content information object. 3. Create a static subscription set and add it to the definition of the service using whatever schedule is desired.

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

Chapter 9 Advanced Subscription Portal Configuration

Configure with the Portal Administrator Wizard


1. Use the Services Configuration page of the Portal Administrator Wizard to select the service that was created in Narrowcast Administrator.

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.

Skip the Dynamic Subscription Configuration page for this service.

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.

Run the service in Narrowcast Server.

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.

Scenario 2: Page-by Subscription ID

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.

The user answers the prompt by entering a numeric value.

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

Chapter 9 Advanced Subscription Portal Configuration

Scenario 3: Page-by Answer ID


When the user signs up for this service, the portal administrator wants him to be prompted to select a set of stocks that he is interested in from a list that is presented to him. The content of the service that the user receives includes detailed information about each of these stocks. While creating the subscription, the user should be able to save the list of stocks with a name, so that when creating other subscriptions to this or other services the user can select from any of those saved lists. The approach used in this example allows the Narrowcast Server application designer to use personalized page execution, and gives the user the option of choosing more than one attribute element as a preference object. (Scenario 1 limits the user to only a single attribute element per Information Object.) In this example, the subscriber can choose multiple symbols as his preference. Each symbol is written to a table in the warehouse that relates a Subscription Portal-generated Answer ID to the selected symbols. This same Answer ID is stored in the Subscription Book Repository as the preference object of the subscription, and the content information object will page by Answer ID. When the service is run, the user receives all the stock information related to the Answer ID of the subscription. 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). This requires the user's personalization 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 Answer ID because that allows the personalization to be at the subscription level, while not requiring the content information object to return duplicate data if the user subscribes to this service more than once using the same set of stocks (stored in a user preference), as would be the case if the page-by was by Subscription ID. 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

(Suggested name: LU_SYMBOLS)

Scenario 3: Page-by Answer ID

193

C O N C E P T S

Change the warehouse


1.

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.

MR_USER_ID, ANSWER_ID, and SYMBOL

Create objects in the MicroStrategy Desktop interface


1.

Update the warehouse catalog of your project.

2. Create an attribute based on the Symbol column of the LU_SYMBOLS table.

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.

Update the schema of your project.

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.

This report should generate SQL similar to the following:


Select a.ANSWER_ID, a.SYMBOL, sum(b.LAST_TRADE_PRICE), sum(b. PCT_CHANGE) from REL_ANSWER_SYMBOL a, LU_SYMBOLS b where a.SYMBOL=b.SYMBOL group by a.ANSWER_ID, a.SYMBOL

Create an attribute-element prompt on the Symbol attribute.

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

Chapter 9 Advanced Subscription Portal Configuration

Create objects in Narrowcast Administrator


1. Create an information object from within Narrowcast Administrator (role: Content Information Object; Report Execution Method (under Advanced Properties, Report Execution tab): Personalized Page Execution) using Report 1.3 Information Object. (Suggested name: 1.3 Personalized Page Content Information Object) 2. Create a service with a document using the content information object. 3. Create a static subscription set and add it to the definition of the service using whatever schedule is desired.

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)

Configure with the Portal Administrator Wizard


1. Use the Services Configuration page of the Portal Administrator Wizard to select the service that was created in Narrowcast Administrator.

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.

Scenario 3: Page-by Answer ID

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.

Skip the Dynamic Subscription Configuration page for this service.

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.

Run the service in Narrowcast Server.

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

Chapter 9 Advanced Subscription Portal Configuration

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.

Scenario 4: Non-personalized dynamic subscription


When the user signs up for this service, there is no personalization to be set. The subscriber can choose to receive the service or not, but everyone who receives it receives the same content. This example illustrates writing subscription information to the warehouse and retrieving it via a dynamic subscription set from the warehouse (previously known as a Dynamic Recipient List). The subscription information object returns Subscription IDs that match specific report filtering conditions. In this case, the subscription information object report brings back subscriptions based on a specific Subscription Set ID, which was associated with the service for which subscribers have signed up. Storing dynamic subscription sets and storing subscription information in a warehouse has many advantages, such as providing the ability to manage, analyze, filter, or even populate and modify subscription
Scenario 4: Non-personalized dynamic subscription 197

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.

Change the warehouse


1. Create an empty table in the warehouse to hold the information about each subscription, with the following columns:
MR_SUB_ID, MR_ADDRESS_ID, MR_USER_ID and MR_SUB_SET_ID

(Suggested name: WH_SUBSCRIPTIONS)

1. 2. 3.

Other fields can be added if useful. This example only uses these fields.

Create objects in the MicroStrategy Desktop interface


Update the warehouse catalog of your project. Create attributes based on the Subscription ID, Address ID, User ID, and Subscription Set ID columns of the WH_SUBSCRIPTIONS table. Update the schema of your project.
4. Create a report to be used as the content information object in your service. This can be any non-prompted report. (Suggested name: Report Example 4 Content Information Object) 5. Create a report to be used as a subscription information object with the Subscription ID, Address ID, and User ID attributes in the page-by area in that order. (Suggested name: Report Example 4 Subscription Information Object)

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

Chapter 9 Advanced Subscription Portal Configuration

Create objects in Narrowcast Administrator

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.

Configure with the Portal Administrator Wizard


Use the Services Configuration page of the Portal Administrator Wizard to select service Example 4 Service. Skip the Static Subscription Configuration page for this service.
3. On the Dynamic Subscriptions Configuration page, choose to configure subscription set Example 4 Dynamic Subscription Set.
Scenario 4: Non-personalized dynamic subscription 199

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.

Go to the Subscription Portal end user interface.

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.

Run the service in Narrowcast Server.

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

Chapter 9 Advanced Subscription Portal Configuration

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

Scenario 5: Personalized dynamic subscription


When the user signs up for this service, the portal administrator wants him to be prompted to enter a threshold value. The user then receives a service whose content includes a list of stocks whose percent change was greater than that value. The approach used in this example allows the Narrowcast Server application designer to use personalized page execution and to store the subscriber's preference value in the warehouse. This value is not necessarily returned in the report but is used to calculate which data are returned. In this example, the subscriber chooses a stock alert threshold percentage. The report has a filter that returns only symbols whose percent change was greater than the threshold entered by the subscriber. The threshold values must be stored on the Subscription ID level and are more easily manipulated as metrics in the warehouse (rather than as preference objects in the Subscription Book Repository). This example illustrates a dynamic subscription set with subscription-level personalization. It requires both a question object storage mapping (for the threshold value) and a subscription set storage mapping. As in Scenario 4, you are writing subscriptions to the warehouse and retrieving them via a dynamic subscription set from the warehouse. The subscription information object returns Subscription IDs based on the threshold filtering conditions. To the user, this case is no different than Scenario 2 in
Scenario 5: Personalized dynamic subscription 201

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

(Suggested name: LU_SYMBOLS)

Change the warehouse


1. Create an empty table in the warehouse to hold the information about each subscription, with the following columns:
MR_SUB_ID, MR_ADDRESS_ID, MR_USER_ID and MR_SUB_SET_ID

(Suggested name: WH_SUBSCRIPTIONS2)

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)

MR_USER_ID, MR_SUB_ID and THRESHOLD

202

Chapter 9 Advanced Subscription Portal Configuration

Create objects in the MicroStrategy Desktop interface


1.

Update the warehouse catalog of your project.

C O N C E P T S

2. Create an attribute based on the Symbol column of the LU_SYMBOLS table.

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.

Update the schema of your project.

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.

Create objects in Narrowcast Administrator

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.

Scenario 5: Personalized dynamic subscription

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)

Configure with the Portal Administrator Wizard


Use the Services Configuration page of the Portal Administrator Wizard to select service Example 5 Service.
2. 1.

Skip the Static Subscription Configuration page for this service.

3. On the Dynamic Subscriptions Configuration page, choose to configure subscription set Example 5 Dynamic Subscription Set.

204

Chapter 9 Advanced Subscription Portal Configuration

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.

Go to the Subscription Portal end user interface.

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.

Run the service in Narrowcast Server.

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.

The user answers the prompt by entering a numeric value.

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

Chapter 9 Advanced Subscription Portal Configuration

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

Scenario 5: Personalized dynamic subscription

207

C O N C E P T S

208

Chapter 9 Advanced Subscription Portal Configuration

SECTION II

Application Designer Interfaces

II

I N T E R F A C E

209

I N T E R F A C E

210

Section II

Application Designer Interfaces

C H A PT E R

10

10.

Choose Subscription Sets Dialog Box

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.

Choose Subscription Sets dialog box layout


The Choose Subscription Sets dialog box lists the subscription sets associated with the immediately running service. Select the sets to use during the service execution and click OK.

Executing a service without a subscription set


If you execute a service using the Run Immediately option and no subscription sets are associated with the service, the Select a Subscription Set for Execution dialog box opens instead of the Choose Subscription Sets dialog box. This occurs, for example, when you are testing a new service. In the Select a Subscription Set for Execution dialog box, you can select only one subscription set to associate with the service you want to execute. Select the subscription set and click OK.

211

I N T E R F A C E

212

Chapter 10 Choose Subscription Sets Dialog Box

C H A PT E R

11

11.

Desktop Document Selector Dialog Box

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.

Desktop Document Selector dialog box layout


Using the Desktop Document Selector dialog box, you can choose the document that you want to include in a Narrowcast Server service. Select a report or document from the list of MicroStrategy Desktop documents available in the selected information source. Choose execution locale: Choose the appropriate execution locale for this document from the Name drop-down list. For steps to select the execution locale using the Document Properties dialog box, see Document Properties Dialog Box. Choose document format: Depending on the type of document that you selected above, select a suitable document format such as HTML, PDF, Flash (.html), Flash attachment (.mht), Flash attachment (.pdf), or Excel. The delivery formats you can select depend on the export formats set while creating the document.

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.

If you select Excel, you can:

214

Chapter 11

Desktop Document Selector Dialog Box

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.

Advanced Properties dialog box


The Advanced Properties dialog box displays one or more of the following tabs, depending on the type of delivery method, the type of information object selected, and the service execution mode. General tab Report Execution tab Document Execution tab Error handling tab For more information on execution modes, see Page Personalization and Dynamic Subscriptions.

Desktop Document Selector dialog box layout

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 Formatting option is available only for the reports.

Report Execution tab

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

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.

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.

Desktop Document Selector dialog box layout

217

Document Execution tab

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

Document execution Segmentation Properties


Document cache properties

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

Desktop Document Selector Dialog Box

For Report Services documents in Flash format, neither of the error handling options Fail the document and Use the partial result are available.

Save Desktop Linked Document dialog box


Using the Save Desktop Linked Document dialog box, you can create a document object in Narrowcast Server that links to an existing document in Desktop. The document in Desktop can be a Report Services document or HTML document. The document can be in Excel, PDF, Flash, or HTML format. By default, the name of the document matches the name in Desktop. If you prefer, you can type a new name in the Object Name field. Click Save to create the new document object in Narrowcast Server.

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.

Save Desktop Linked Document dialog box

219

I N T E R F A C E

220

Chapter 11

Desktop Document Selector Dialog Box

C H A PT E R

12

12.

Dynamic Subscription Set Wizard

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.

Dynamic Subscription Set Wizard layout


The Dynamic Subscription Set Wizard consists of the following pages: Introduction Name and Description Segmentation Subscription Selection Pre- and Post-SQL Summary Each page of the wizard includes some or all of the following options: Cancel: Closes the Dynamic Subscription Set Wizard. Back: Returns to the previous page in the Dynamic Subscription Set Wizard. Next: Goes to the next page in the Dynamic Subscription Set Wizard.
221

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.

Name and Description


Type the name of your subscription set, and an optional description to provide more information about the subscription set.

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

Chapter 12 Dynamic Subscription Set Wizard

Pre- and Post-SQL


On the Pre- and Post-SQL page, add SQL statements to execute before and after the subscription set is executed. Click Define to open the Pre- and Post-SQL dialog box, then select the appropriate tab and click Add to specify the details about the SQL statement you want to use. Click Remove to delete the selected SQL statement. Click Edit to modify the details about the selected SQL statement. For more information, see Preand post-service execution SQL. For more information about specifying SQL statements, see Subscription Set Properties Dialog Box.

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.

Dynamic Subscription Set Wizard layout

223

I N T E R F A C E

224

Chapter 12 Dynamic Subscription Set Wizard

C H A PT E R

13

13.

Document Element Properties Dialog Box

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.

Document Element Properties dialog box layout


The Document Element Properties dialog box allows you to select a different stylesheet and specify error handling rules for the selected document element.

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

Chapter 13 Document Element Properties Dialog Box

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:

Document Element Properties dialog box layout

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

Chapter 13 Document Element Properties Dialog Box

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

Document Element Properties dialog box layout

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.

Open XSL Imported File dialog box


The Open XSL Imported File dialog box allows you to select an XSL stylesheet and use it for formatting the document. Use the Look In dropdown list to navigate to the appropriate folder. Select an existing stylesheet from the list and click OK. The details of the selected stylesheet are displayed in the Stylesheet File area of the Document Elements Properties dialog box.

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

Chapter 13 Document Element Properties Dialog Box

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

Document Element Properties dialog box layout

231

I N T E R F A C E

232

Chapter 13 Document Element Properties Dialog Box

C H A PT E R

14

14.

Document Properties Dialog Box

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

Document Properties dialog box layout


The Document Properties dialog box includes the following tabs: General
I N T E R F A C E

Document-Level Error Handling Column Width Options

Column Width Options only apply to Excel documents.

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-Level Error Handling


The Document Properties dialog box allows you to specify error handling rules for this document. You can choose not to apply collective error handling rules (selected by default) or you can select any or all information objects in this document. If the selected information objects fail, the document is cancelled. You can also specify when to apply this rule by choosing one or both of the following: if information objects return an error or if information objects return no data.

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

Chapter 14 Document Properties Dialog Box

Column Width Options


For Excel documents, the Document Properties dialog box allows you to specify how column widths should be set for MicroStrategy reports. You can choose one of the following column width options: Use column widths specified in Excel template file: Preserves the fixed column width or auto column width that is defined in the Excel template file. Use column widths specified in the report: Preserves the fixed column width or auto column width as specified in MicroStrategy Web or Desktop reports.
I N T E R F A C E

Document Properties dialog box layout

235

I N T E R F A C E

236

Chapter 14 Document Properties Dialog Box

C H A PT E R

15

15.

Excel Document Editor

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

Excel Document Editor layout


The Excel Document Editor is composed of the following elements:
I N T E R F A C E

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.

Content definition pane


The Browse button allows you to add a file to use as a template. A template is used as the basis for creating a new document. An Excel template file sets the number of worksheets in the document and can provide Excel macros as well. Once the template file is added, its Name and Description are displayed.

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

Chapter 15 Excel Document Editor

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.

Excel Document Editor layout

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.

Open Excel Imported File dialog box


The Open Excel Imported File dialog box allows you to select an Excel template and use it as a base for creating a new document. Use the Look In drop-down list to navigate to the appropriate folder. Select an existing template from the list and click OK. The details of the selected template are displayed in the Excel Template area of the Excel Document Editor.

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

Menu option New Document Open Document Save Save As Properties

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

Chapter 15 Excel Document Editor

Insert menu options


Menu option List of available information sources, for example, MicroStrategy Tutorial or User Information New Information Object Existing Information Object Static Text Function Displays the kinds of information objects that can be created using each available information source; selecting one either lists the available information objects or the available properties for that information source Opens the Select Information Source dialog box to begin creating a new information object, which will be added to the document Opens the Select Information Object dialog box to choose an existing information object to insert. Inserts static text into the next available cell

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.

Choose XML Information Object Destination dialog box


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. It provides two options for placing the new information object: New Document Element, which creates a document element and places the information object into it Currently Selected Document Element, which adds the information object into the document element you selected before you began inserting this information object. This allows all the information objects contained in this document element to be formatted by the same stylesheet. Use this option only if you have a stylesheet that supports it. For information on XML, see Appendix D, XML for Narrowcast Server Objects

Excel Document Editor layout

241

I N T E R F A C E

242

Chapter 15 Excel Document Editor

C H A PT E R

16

16.

Filter and Governing Editor Dialog Box

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

Filter and governing editor dialog box layout


The Filter and governing editor dialog box includes the following:
I N T E R F A C E

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

Chapter 16 Filter and Governing Editor Dialog Box

C H A PT E R

17

17.

HTML Document Editor

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

HTML Document Editor layout


The HTML Document Editor is composed of the following elements:
I N T E R F A C E

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

Chapter 17 HTML Document Editor

File menu options

Menu option New Document Open Document Save Save As Properties

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

View menu options


Menu option Document Element List Editor Function Opens or closes the Document Element List Displays the Editor view in the Content Definition pane on the right. The Editor view allows you to change formatting options. This is the default view. Displays, in the Content Definition pane on the right, the HTML source code underlying the document Displays, in the Content Definition pane on the right, a preview of the HTML document; does not allow editing

Source Preview

HTML Document Editor layout

247

Insert menu options


Menu option List of available information sources, for example, MicroStrategy Tutorial or User Information New Information Object Existing Information Object Picture Function Displays the kinds of information objects that can be created using each available information source; selecting one either lists the available information objects or the available properties for that information source Opens the Select Information Source dialog box to begin creating a new information object, which will be added to the document Opens the Select Information Object dialog box to choose an existing information object to insert. Opens the Picture dialog box to insert the path to an image at the selected place in the Content Definition pane Note: End users must be able to access this path to view the image. Hyperlink Opens the Hyperlink dialog box to insert a hyperlink on the selected item

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.

Format menu options


Menu option Font... Choose Bold Italic Underline Alignment... Left Center Right Left-aligns the selected text Centers the selected text Right-aligns the selected text Opens the Font dialog box to choose a font to apply to the selected text Bolds the selected text Italicizes the selected text Underlines the selected text Function

248

Chapter 17 HTML Document Editor

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

Table menu options


Menu option Create Insert Row Delete Rows Insert Column Delete Column Insert Cell Delete Cell Merge Cells Split Cell Function 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 Deletes the selected cell Merges the selected cells Splits the selected cells

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

HTML Document Editor layout

249

Toolbar icon Copy Paste

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

Chapter 17 HTML Document Editor

Toolbar icon Delete Cells Merge Cells Split Cell

Function Deletes the selected cell Merges the selected cells Splits the selected cells

Choose XML Information Object Destination dialog box


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. It provides two options for placing the new information object: New Document Element: Creates a document element and places the information object into it. Currently Selected Document Element: Adds the information object into the document element you selected before you began inserting this information object. This allows all the information objects contained in this document element to be formatted by the same stylesheet. Use this option only if you have a stylesheet that supports it. For information on XML, see XML for Narrowcast Server Objects.

I N T E R F A C E

Save HTML Document dialog box


The Save HTML Document dialog box allows you to save a new HTML document. Use the Look In drop-down list to navigate to the appropriate folder. Type a name for the document in the Object Name field and click Save. The new HTML document is created in Narrowcast Administrator.

HTML Document Editor layout

251

I N T E R F A C E

252

Chapter 17 HTML Document Editor

C H A PT E R

18

18.

Imported Document Editor

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.

Imported Document Editor layout


The Imported Document Editor contains the following interfaces: Imported Document Editor dialog box Import File dialog box Select Imported File Imported Document Editor - document name
253

Imported Document Editor dialog box


Using the dialog box, you can do the following: Create a new file object, which means you will import a file, then create a document from it
I N T E R F A C E

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.

Import File dialog box


The Import File dialog box is accessed only when you choose to create a new file object. Using this dialog box, you can do the following: Enter a Name for the imported file Select a new File Type, which is set automatically, from the drop-down list Select whether to import the file using the system character set as the default or using another character set Browse to find the File to import Click OK to import and save the file

Select Imported File


Click Browse to find the imported file to associate with the document.

Imported Document Editor - document name


When you double-click on an existing imported document, this editor allows you to change which file you are accessing or re-import the same file. Click Save and Close to save the new document.

254

Chapter 18 Imported Document Editor

C H A PT E R

19

19.

Import File Dialog Box

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

Right-click Applications, point to New, then choose Imported File.


Prerequisites

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

Import File dialog box layout


The Import File dialog box allows you to Enter a Name for the imported file.
I N T E R F A C E

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.

Select a Character Set dialog box


The Select a Character Set dialog box lets you select the character set used while importing a file. Select the character set from the Character Set drop-down list.

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.

Refresh Imported File layout


If the content of the source file changes, the imported file stored in the Narrowcast Server repository is not updated. Instead of manually reimporting the file, you can refresh the imported files. You can also search
256 Chapter 19 Import File Dialog Box

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

Refresh Imported File layout

257

I N T E R F A C E

258

Chapter 19 Import File Dialog Box

C H A PT E R

20

20.

Information Object Wizard

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

Information Object Wizard layout


The Information Object Wizard consists of the following pages and dialog boxes: Select Information Source dialog box Role page Source of Subscription Information page Report or Filter page Advanced Properties dialog box Format page Segmentation Prompts page User Properties and Personalization page Address Properties page Preferences page Authentication and Security page Segment Size page Summary page The pages that are displayed depend on the role that is chosen for the information object. The information object roles that apply to a specific page are described on that page.

260

Chapter 20 Information Object Wizard

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.

Select Information Source dialog box


This dialog box lists the information sources available in the system. Select the information source to use.

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

Source of Subscription Information page


For subscription information objects, this page allows you to choose how you want to retrieve subscription information. Choose one of the following: Retrieve dynamic subscription information from the information source and do not choose a filter: Subscription information is gathered using the properties defined in the information source. You cannot provide a filter to constrain the subscription information returned. Retrieve dynamic subscription information from the information source and choose a filter: Subscription information is gathered using the properties defined in the information source. You must provide a filter to constrain the subscription information returned. Select or define a report and retrieve dynamic subscription information from the selected report: Subscription information is gathered from the page axis of a report. You must select a report with subscription attributes on the page axis.

Information Object Wizard layout

261

Report or Filter page


Depending on the type of information object you are creating, this page displays a browser allowing you to select a report or filter to use.
I N T E R F A C E

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.

Information object validation


As a result of information object validation, one of two things happens: Narrowcast Server warns you about what might happen if you choose to continue without changing your selection Narrowcast Server does not allow you to continue without changing your selection Several situations prompt either a informational warning or an invalid selection error for content information objects and subscription information objects:

262

Chapter 20 Information Object Wizard

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.

Information Object Wizard layout

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.

Advanced Properties dialog box


The Advanced Properties dialog box contains the following tabs: General tab Report Execution tab Question Object tab Error handling tab

264

Chapter 20 Information Object Wizard

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.

Report Execution tab

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.

Information Object Wizard layout

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.

Question Object tab

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

Chapter 20 Information Object Wizard

For more information on question objects, see the following: Question Object Browser dialog box

An information object can be personalized without associating a question object to it.


I N T E R F A C E

Error handling tab

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.

Segmentation Prompts page


The Segmentation Prompts page is shown for personalized page content information objects that are segmented. This page allows you to select the prompts to use as the boundaries of the segment.

User Properties and Personalization page


The User Properties and Personalization page is used for subscription information objects only.

Information Object Wizard layout

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.

Address and User Information

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

Chapter 20 Information Object Wizard

Address ID

User ID

Locale ID

Subscription Book

Subscription Book

Subscription Book

Report

Subscription Book

Subscription Book, report, or constant

I N T E R F A C E

Report

Subscription Book, report, or constant

Constant

Subscription Book, report, or constant

Personalization (Authentication and Security, and Preference)

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

Information Object Wizard layout

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

Subscription Book or report

Report

Subscription Book

Subscription Book

Subscription Book or report

Report

Subscription Book or report

Subscription Book or report

Constant

Subscription Book or report

Subscription Book or report

Address Properties page


The Address Properties page is displayed only when the Address ID on the User Properties and Personalization page is generated by the report. This page allows you to define where the address information is found. For each piece of delivery information listed, you can choose whether to generate it from the report, retrieve it from the Subscription Book, or apply a 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

Chapter 20 Information Object Wizard

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.

Authentication and Security page


The Authentication and Security page is displayed only if security was set to be generated by the report on the User Properties and Personalization page. This page specifies how the data will be personalized. For each information source, the reports page-by attribute forms are provided in drop-down lists to be selected for the authentication and security objects.

I N T E R F A C E

Segment Size page


The Segment Size page is used only for segment information objects. Select the prompt that controls the size of the segments returned by the report.

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.

Information Object Wizard layout

271

I N T E R F A C E

272

Chapter 20 Information Object Wizard

C H A PT E R

21

21.

Modify Schedule Queue Parameters Dialog Box

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

Chapter 21 Modify Schedule Queue Parameters Dialog Box

C H A PT E R

22

22.

New Document Dialog Box

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

Right-click Applications, point to New, then choose Document.


Prerequisites

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.

New Document dialog box layout


The New Document dialog box allows you to choose from the following options: Create new Narrowcast Server document Link to existing MicroStrategy Report Services or HTML document If you choose the first option, you must also choose the document editor to access to create the new document.

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

Chapter 22 New Document Dialog Box

C H A PT E R

23

23.

Portal Administrator Wizard

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

Portal Administrator Wizard layout


The Portal Administrator Wizard consists of the following areas: System Configuration section
I N T E R F A C E

Site Management section Site Preferences section Services Configuration section These features are explained in detail in the following sections.

System Configuration section


The System Configuration section lets you set the minimum requirement to configure the Portal Administrator. It allows you to select a database connection for the Portal Repository and also create a new database. For instructions on database connections, see Adding and Editing Database Connections in Subscription Portal. The System Configuration section consists of the following pages: Welcome page Portal Repository page Summary page These pages are explained in detail in the following sections.
Welcome page

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

User name Password Confirm password Number of pooled connections

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.

Site Management section


The Site Management section allows you to establish your site definition, portal, and database connections to the Object Repository and Subscription Book Repository. For more information on database connection and site operations, see Adding and Editing Database Connections in Subscription Portal and Creating and Managing Sites and Subscription Portal.

Portal Administrator Wizard layout

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

Chapter 23 Portal Administrator Wizard

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.

Site Name and Description page

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.

Subscription Book Repository page

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.

Portal Administrator Wizard layout

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

Site Preferences section


The Site Preferences section allows you to establish channels, devices, information sources, and preferences for your site. For more information about these features, see Managing Device Types and Managing a Channel. The Site Preferences section consists of the following pages: Overview page Channels page Device Types page Device Settings page Information Sources page Preferences page Summary page These pages are explained in detail in the following sections.
Overview page

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

Select the Channels Folder page

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.

Portal Administrator Wizard layout

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.

Device Folders page

The Device Folders page displays the list of available and selected devices in the device type folder.

284

Chapter 23 Portal Administrator Wizard

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.

Device Settings page

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.

Information Sources 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

Chapter 23 Portal Administrator Wizard

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

Portal Administrator Wizard layout

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

Chapter 23 Portal Administrator Wizard

Services Configuration section


The Services Configuration section allows you to establish your service configuration, select services to be configured, and establish static and dynamic subscriptions, including alternate question objects, storage mappings, tables, and columns. For steps to configure the service, see Configuring Subscription Sets. The Services Configuration section consists of the following: Overview page Services page Summary page These pages are explained in detail in the following sections.
Overview page

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

Portal Administrator Wizard layout

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.

Select Services 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.

Chapter 23 Portal Administrator Wizard

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.

Select Storage page

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.

Select Tables page

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.

Portal Administrator Wizard layout

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.

Select Columns page

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

Chapter 23 Portal Administrator Wizard

C H A PT E R

24

24.

Plaintext Document Editor

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.

Plaintext Document Editor layout


The Plaintext Document Editor is composed of the following elements: A document element pane, which displays the content of the document in a hierarchical format and the properties of the currently selected document element A content definition pane, which allows editing and repositioning of the documents content

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

Menu option New Document Open Document Save Save As

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

Chapter 24 Plaintext Document Editor

Menu option Properties

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

Insert menu options


Menu option List of available information sources, for example, MicroStrategy Tutorial or User Information New Information Object Existing Information Object Function Displays the kinds of information objects that can be created using each available information source; selecting one either lists the available information objects or the available properties for that information source Opens the Select Information Source dialog box to begin creating a new information object, which will be added to the document Opens the Select Information Object dialog box to choose an existing information object to insert.

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.

Choose XML Information Object Destination dialog box


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. It provides two options for placing the new information object: New Document Element, which creates a document element and places the information object into it Currently Selected Document Element, which adds the information object into the document element you selected before you began inserting this information object. This allows all the information objects contained in this document element to be formatted by the same stylesheet. Use this option only if you have a stylesheet that supports it. For information on XML, see XML for Narrowcast Server Objects.

Plaintext Document Editor layout

295

I N T E R F A C E

296

Chapter 24 Plaintext Document Editor

C H A PT E R

25

25.

Subscription Set Properties Dialog Box

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

Subscription Set Properties dialog box layout


The Subscription Set Properties dialog box consists of the following tabs:
I N T E R F A C E

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

By default, the Enable send now delivery check box is cleared.

Chapter 25 Subscription Set Properties Dialog Box

SQL statements dialog box layout


The SQL statements dialog box allows you to create and edit SQL statements for the Pre- and Post-execution SQL Specification tabs. The following table identifies the information that must be provided for SQL statements.
Box/Button Name Statement Name Description Enter a name for the statement. This is used for identification only.

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

Login name Password Database

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.

SQL statements dialog box layout

299

Box/Button Name Empty result set

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

Chapter 25 Subscription Set Properties Dialog Box

C H A PT E R

26

26.

Question Object Dialog Set

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

Right-click Applications, point to New, then choose Question Object.


Prerequisites

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.

Question Object dialog set layout


The Question Object dialog set consists of the following dialog boxes: Select Information Source dialog box Question Object dialog box Question Object Browser dialog box Click Cancel at any time to exit the dialog set without saving any changes.
301

Select Information Source dialog box


This dialog box lists the information sources available in the system. Select the information source to use.
I N T E R F A C E

Question Object dialog box


This dialog box allows you to enter a Name and a Description for the question object you are creating. When you click Define, the Question Object Browser dialog box opens. After the question object has been defined, the Summary of definition contains the Information Source selected. Click OK to save the new object.

Question Object Browser dialog box


To access the Question Object Browser dialog box, click Define in the Question Object dialog box. It displays a browser, allowing you to select a report to use as the question object. You can also select whether the personalization is by page or by report. Personalized page execution divides the report results into pages on the Delivery Engine. This allows one report to satisfy many personalization sets. In personalized report execution, one report is executed for each personalization set. For question objects, a brief explanation of what is needed is shown. When you select a report, the explanation changes to tell you whether the report is valid for the type of information object you are creating. If the report is not valid, the explanation indicates what is needed. For more information on validation, see Question object validation, below. When you click OK, you are returned to the Question Object dialog box.

Question object validation


When you select a report to use as the question object, the report is validated and any one of the following warnings may be displayed: Narrowcast Server warns you about what might happen if you choose to continue without changing your selection. Narrowcast Server does not allow you to continue without changing your selection.

302

Chapter 26 Question Object Dialog Set

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.

Question Object dialog set layout

303

I N T E R F A C E

304

Chapter 26 Question Object Dialog Set

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

Right-click Applications, point to New, then choose Service (Editor).


Prerequisites

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

Service Editor layout


The Service Editor has the following tabs: Message Contents
I N T E R F A C E

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

Chapter 27 Service Editor

Edit menu option

Menu option Definition

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.

Service Editor layout

307

Subscription Sets and Schedules


The Available Subscription Sets and Schedules tree allows you to browse existing schedules and subscriptions. You can create a new schedule or subscription set or Edit a schedule or subscription set. Click New Subscription Set or Edit Subscription Set to open the Subscription dialog box. Click New Schedule or Edit Schedule to open the Schedule Wizard. You can also right-click within the Available Subscription Sets and Schedules tree to create a new subscription set or schedule or to edit an existing subscription set or schedule. See chapter 12, Dynamic Subscription Set Wizard and chapter 30, Static Subscription Set Editor for more information on creating or editing a subscription set. See chapter 29, Defining when a service is sent: Schedule Wizard for more information on creating or editing a schedule. You can Add or Remove them from the Selected Subscription Sets and Schedules grid to pair subscription sets and schedules. A pair is valid when it contains one schedule and one subscription. A green check means the pair is valid; a yellow and red X means that it is not valid. One subscription set can be paired with multiple schedules. You can sort paired subscription sets and schedules by clicking the Subscription Set or the Schedule column header. This is useful when you want to view all schedules paired with a subscription set or all subscription sets paired with a schedule.

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.

Important considerations when setting durations

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.

Service Execution Timeout


Service execution timeout is the date, specified by a time stamp, after which the content of the service is expected to be irrelevant or otherwise no longer useful to the subscriber. This date can be used to prevent delivery attempts after a certain time.

Service Editor layout

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.

Expiration applies only to each instance of the service execution.

Save Service dialog box


The Save Service dialog box allows you to save the new service. Use the Look In drop-down list to navigate to the appropriate folder. Type a name for the service in the Object Name field and click Save. The new service is created in Narrowcasr Administrator.

310

Chapter 27 Service Editor

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

Publication Wizard layout


The Publication Wizard consists of the following pages: Welcome
I N T E R F A C E

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.

Name and Description


This page allows you to enter a Name and a Description for the publication you are creating.

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

Chapter 28 Publication Wizard

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.

E-mail (SMTP) ITM Publication Sections

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.

Print ITM Publication Sections

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

Chapter 28 Publication Wizard

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)

Publication Wizard layout

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

Delivery Method Rules


This dialog box is accessed when you click Rules on the Message Contents page. This is a summary of the rules specified by the selected ITM. Until these rules are satisfied, you cannot complete the publication definition. Click Close to return to the Message Contents page.

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

Chapter 28 Publication Wizard

C H A PT E R

29

29.

Defining when a service is sent: Schedule Wizard

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.

Schedule Wizard layout


The Schedule Wizard consists of the following pages: Introduction Name and Description Recurrence Pattern Interval Summary

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.

Name and Description


This page allows you to enter a Name and a Description for the schedule you are creating.

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

Chapter 29 Defining when a service is sent: Schedule Wizard

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.

An On-demand schedule must be paired only with a Send Now schedule.

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

Schedule Wizard layout

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

Chapter 29 Defining when a service is sent: Schedule Wizard

C H A PT E R

30

30.

Static Subscription Set Editor

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.

Static Subscription Set Editor layout


The Static Subscription Set Editor includes A Subscriptions in the Subscription Set pane on the right. The pane contains a list of subscriptions in the subscription set, that includes the address name, login ID, physical address, locale, device, and transmitter.

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

Chapter 30 Static Subscription Set Editor

The menu bar


The Subscription Set, Edit, View, and Tools menus contain items that are unique to the Static Subscription Set Editor. The following tables describe the function of these menu items.
Subscription Set menu options
Menu option Save Exit Function Saves the subscription set Closes the Static Subscription Set Editor

I N T E R F A C E

Edit menu options


Menu option Subscribe Addresses Function Adds the address highlighted in the Subscription Book to the Subscription Set Deletes the selected subscription Opens the Subscription Properties Editor for the selected subscription or the User Properties Editor for the selected user Opens the Subscription Set Properties dialog box. On the Send Now tab, you can select the Enable send now delivery check box for supporting one-time immediate delivery for Subscription Portal users Opens the User Properties Editor, in which you can add a new user Deletes the selected user or users Opens the User Properties Editor for the selected user, in which you can add a new address Deletes the selected address or addresses

Delete Subscriptions Edit

Subscription Set Properties

New User

Delete Users New Address

Delete Addresses

Static Subscription Set Editor layout

323

View menu options


Menu option Status Bar Function Turns the status bar on or off Updates the selected list with the most current information

I N T E R F A C E

Refresh

Tools menu options


Menu option Sort... Ascending Sorts the selected list in ascending order by the selected column Sorts the selected list in descending order by the selected column Opens the Filter Editor and Governing Settings dialog box, in which you can specify the maximum number of subscriptions to retrieve for all subscription sets and the maximum number of addresses/users for the Subscription Book Define a filter for Address Name, Address ID, and Physical Address in the Users and Addresses List or Subscription List; filtering enables you to view a smaller, selected amount of data Remove Filter Removes the sorting filter from the selected list Function

Descending

Filter and Governing Editor

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

Static Subscription Set Editor layout

325

I N T E R F A C E

326

Chapter 30 Static Subscription Set Editor

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

For more information on the Service Editor, see Service Editor.


Accessing the Service Wizard

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.

Service Wizard layout


The Service Wizard comprises the following: Welcome Delivery Methods Message Contents Subscriptions and Schedules Service Summary Every page of the Service Wizard has the same basic layout. The various sections are displayed across the top of the page. The section you are currently working on is shown at the left with a list of topics for that section below it. The current page is highlighted. To hide this list, click the check on the far right. Clicking it again restores the list. The Home button in the upper left returns you to the Welcome page of the Service Wizard. Back and Next buttons are found at the lower right of every page. Next completes the current page and accesses the next page. Back returns you to the previous page.

328

Chapter 31 Service Wizard

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.

Service Wizard layout

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

Chapter 31 Service Wizard

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

Subscriptions and Schedules


This section contains one page, Subscriptions and Schedules. This page allows you to define subscription sets and schedules for this service. First, define a subscription set that determines the recipients of this service. Then define schedules that determine when this service will be delivered to the selected subscription set. Each content page includes a toolbar with the following buttons: New Subscription Set: Click to create a new subscription set for this service. At least one address must already exist in the Subscription Book. Use Existing Subscription Set: Click to use an existing subscription set in the selected service. Right-click Subscriptions and Schedules, then select Use Existing Subscription Set. The Use an existing subscription set dialog box opens. New Schedule: Click to open the Schedule Wizard to create a new schedule for the selected subscription set. Use Existing Schedule: Click to use an existing schedule into the selected subscription set. This opens the Use an existing schedule dialog box.

Service Wizard layout

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

Chapter 31 Service Wizard

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.

Devices and Locale Support dialog box


This dialog box displays the currently selected devices and locale for this delivery method. By default, all available devices are selected. To deselect all the devices, clear the Devices check box. To specify a device, select the appropriate check box. A delivery method can support multiple devices. Only addresses that specify a supported device receive the content in this delivery method. By default, the System locale is selected. To specify a different locale for this delivery method to support, select it from the Locale drop-down list. Only users who specify this locale receive the content in this delivery method. Click OK to save your changes and return to the delivery method content page.

Devices and Locale Support dialog box

333

Compression Properties dialog box


This dialog box allows you to specify a content section to be compressed and to specify the properties for the resulting zip file. One content section can be compressed, or zipped, per delivery method. Dynamic data such as the service name or execution time can be included in the file name. To specify the content section to be compressed, select the section name from the Section drop-down list. This list includes only the names of publication sections that allow imported documents. By default, Do not compress any sections is selected. To specify the file name for the zip file being produced, enter the appropriate name in the File Name field. By default, the section name, such as Attachments, is the file name. You can enter a name or specify one of the following macros: %%SERVICE NAME%% %%SERVICE EXECUTION ID%% %%SERVICE EXECUTION TIMESTAMP%% %%SERVICE EXECUTION TIME%% %%SERVICE EXECUTION DATE%% These macros are used to insert the service name, service execution ID, or the service execution time stamp at service run time, allowing dynamic data to be used in the file name.

I N T E R F A C E

These macros are case-sensitive and must be entered exactly as shown.

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

Error Handling dialog box


The Error Handling dialog box displays the current error handling settings for the documents that have been inserted as contents for this delivery method. For each document, you can choose to fail the message delivery or to remove the document on error. By default, the setting for each document is Remove Document on Error.

General Service Settings dialog box


The General Service Settings dialog box is used for settings that you can choose to modify or not, if you are content with the default settings. The following tabs are included in this dialog box: Name and Description tab Delivery Properties tab Execution Settings tab

Name and Description tab


On the Name and Description tab, you can enter a name for the new service. Enter a description to more clearly specify the function or use of this service. By default, the service name is New Service with no description.

Error Handling dialog box

335

Delivery Properties tab


On the Delivery Properties tab, you can specify a service execution period. This identifies when a service will run automatically. Use the priority settings to establish the priority and segment size used for this service. By default, there are no start and end dates; the priority is set to 5, and the segment size is 100.

I N T E R F A C E

Execution Settings tab


On the Execution Settings tab, you can change the timeout settings for service execution, as well as for segment execution. Never Time Out - ensures that the service never expires. This is the default setting. Time Out at Specific Time - causes the service to expire at a specific time that is not related to the time when the service began executing. You can select a time and a time zone when the service expires. For example, if you select the timeout for your service at 5.00 PM Mountain Time, this time is calculated in terms of GMT. Your service could start at 10.00 AM by your local time but it will expire at the time that you have specified with reference to GMT.

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

General Service Settings dialog box

337

I N T E R F A C E

338

Chapter 31 Service Wizard

C H A PT E R

32

32.

Subscription Book Editor

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

From the Tools menu, select Open Subscription Book.


Prerequisites

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

Subscription Book Editor layout


The Subscription Book Editor includes:
I N T E R F A C E

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

Edit menu options


Menu option New User Function Opens the User Properties Editor, in which you can add a new user Deletes the selected user or users

Delete Users

340

Chapter 32 Subscription Book Editor

Menu option New Address

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

Delete Addresses Edit

View menu options


Menu option Status Bar Refresh Function Turns the status bar on or off Updates the list with the most current information

I N T E R F A C E

Tools menu options


Menu option Sort... Ascending Descending Filter and governing editor Sorts the list in ascending order for the selected field Sorts the list in descending order for the selected field Opens the Filter editor and governing settings dialog box, in which you can define filters for the list selected, specify the maximum number of users and addresses to retrieve for the Subscription Book, and specify the maximum number of subscriptions to retrieve Removes the filter from the list for the selected field Function

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

Chapter 32 Subscription Book Editor

C H A PT E R

33

33.

Subscription Book Synchronization Wizard

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.

Subscription Book Synchronization Wizard layout


The Subscription Book Synchronization Wizard consists of the following pages: Welcome Synchronization Options User and Address Properties Subscriptions Preferences Security Authentication User Addition or Mapping User Removal or Mapping Review Finish Each page of the wizard includes some or all of the following buttons: Help opens online help for the Subscription Book Synchronization Wizard. Cancel closes the Subscription Book Synchronization Wizard. Back returns to the previous page in the Subscription Book Synchronization Wizard. Next goes to the next page in the Subscription Book Synchronization Wizard. Finish completes synchronization and returns you to the Narrowcast Administrator console.

344

Chapter 33 Subscription Book Synchronization Wizard

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.

Subscription Book Synchronization Wizard layout

345

User and Address Properties


User and address properties can be mapped to synchronization file attributes to be updated during synchronization. The User and Address Properties page allows you to choose:
I N T E R F A C E

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

Chapter 33 Subscription Book Synchronization Wizard

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

Chapter 33 Subscription Book Synchronization Wizard

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

Subscription Book Synchronization Wizard layout

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

Chapter 33 Subscription Book Synchronization Wizard

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

User Addition or Mapping


When new users that have not been previously synchronized are found in a synchronization file, you can either add these users to the Subscription Book, leave them out of the Subscription Book, or map them to existing users in the Subscription Book. Use the User Addition or Mapping page to determine which users are added. All users found in the synchronization file and not in the Subscription Book synchronization tables are shown in the Add Users list on the left side. To add users, leave them in the Add Users table. Use the arrows to move individual or multiple (multi-select is enabled) users to the list on the right. Users moved to the Do Not Add Users list are ignored and are not added to the Subscription Book or the Subscription Book synchronization tables. Users moved to the Users Available for Remapping list are stored and made available in the next wizard page. When you click Next, the changes are not committed but are stored until you reach the Review page.

Subscription Book Synchronization Wizard layout

351

User Removal or Mapping


When previously synchronized users no longer exist in the synchronization file, you can perform three actions: Remove the users from the Subscription Book.
I N T E R F A C E

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

Chapter 33 Subscription Book Synchronization Wizard

Synchronization Settings dialog box


The Synchronization Settings dialog box includes the following tabs: Synchronization Process tab Synchronization Values tab Once you make your selections, click OK to return to the Subscription Book Synchronization Wizard.
I N T E R F A C E

Synchronization Process tab


On the Synchronization Process tab, you can define the synchronization options. The options include the following: User Settings Address Settings Subscription Settings Preference Settings Authentication Settings Security Settings

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

Synchronization Settings dialog box

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

Chapter 33 Subscription Book Synchronization Wizard

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

Chapter 33 Subscription Book Synchronization Wizard

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.)

Synchronization Settings dialog box

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

Chapter 33 Subscription Book Synchronization Wizard

Synchronization Values tab


On the Synchronization Values tab, file settings and the logging level are displayed. Subscription Book Attribute File: This setting points to the file that specifies what subscription book attributes are supported by the Subscription Book Synchronization Wizard. This file can be modified to import and synchronize additional attributes or remove current attributes when performing import and synchronization. You can also use this file to determine which attributes are required and must be mapped during the synchronization process.
I N T E R F A C E

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

Synchronization Settings dialog box

359

Subscription Book Attribute File

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

Chapter 33 Subscription Book Synchronization Wizard

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

Synchronization Settings dialog box

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

MicroStrategy Intelligence Server User Export Tool


The MicroStrategy Intelligence Server User Export Tool provided with Narrowcast Server allows you to export users from MicroStrategy Intelligence Server to a file format that is compatible with the Subscription Book Synchronization Wizard. You can add these users to the Narrowcast Server Subscription Book using the Subscription Book Synchronization Wizard. The MicroStrategy Intelligence Server User Export Tool is a separate, external utility that is installed automatically when you install Narrowcast Server. To access it, navigate to the Narrowcast Server\Delivery Engine\Utilities folder you installed on your machine. Doubleclick UserExportTool.exe to open the MicroStrategy Intelligence Server User Export Tool. The first step is to connect to the Intelligence Server. You need to provide the following information: Server Name: Name of Intelligence Server to which you want to connect Port Number: Port number; this defaults to the standard port number used by Intelligence Servers User: Appropriate user name for this Intelligence Server Password: Appropriate password for this user name Click Connect. Note that the Status message, which originally is Waiting for user input, changes to Connected to MicroStrategy Intelligence Server when the connection is made. The second step is to export the users. You can use the default file location and file name, or click the browse button to select a different one. Once you are ready, click Export to export the Intelligence Server users to the

362

Chapter 33 Subscription Book Synchronization Wizard

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

MicroStrategy Intelligence Server User Export Tool

363

I N T E R F A C E

364

Chapter 33 Subscription Book Synchronization Wizard

C H A PT E R

34

34.

Subscription Properties Editor

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

Subscription Properties Editor layout


The Subscription Properties Editor consists of the following tabs: Preference tab
I N T E R F A C E

Transmission tab Status tab Notification tab

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

Chapter 34 Subscription Properties Editor

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.

Subscription Properties Editor layout

367

I N T E R F A C E

368

Chapter 34 Subscription Properties Editor

C H A PT E R

35

35.

Subscription Dialog Box

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

Chapter 35 Subscription Dialog Box

C H A PT E R

36

36.

User Properties Editor

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.

User Properties Editor layout


I N T E R F A C E

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

Chapter 36 User Properties Editor

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.

User Properties Editor layout

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.

Chapter 36 User Properties Editor

Define User Preference dialog box


On the User Properties Editor - Preference tab, highlight the personalized object for which you want to define a preference and click New to display the Define User Preference dialog box. This dialog box allows you to enter a name for this preference and then go to the Prompt Resolution Wizard to specify the preference elements. Click Answer to display the Prompt Resolution Wizard if the personalized object contains prompts, or the Select Attribute Form dialog box for other personalized objects.
Prompt Resolution Wizard
I N T E R F A C E

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.

Select Attribute Form dialog box

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.

Authentication and Security tab


The Authentication and Security tab allows you to specify authentication and security for this user. All the information sources available to your system are listed. After authentication and security is specified, you can modify or delete each setting.
User Properties Editor layout 375

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.

Prompt Resolution Wizard

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.

Chapter 36 User Properties Editor

User Information tab


The User Information tab allows you to personalize service content for this user by adding user-specific information to the content. You can specify values for user properties such as the following: First Name Middle Initial Last Name Suffix Title Salutation Street Address City State Zip Code Country You can add or remove user properties within Narrowcast Administrator by selecting Edit Available User Properties from the Tools menu.
I N T E R F A C E

User Properties Editor layout

377

I N T E R F A C E

378

Chapter 36 User Properties Editor

SECTION III

Application Designer How Do I...?

III
H O W D O I

379

H O W D O I

380

Section III Application Designer How Do I...?

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.

Add a new channel


Steps 1. In the Site Preferences section, on the Channels page, click Add a new channel. 2. Select the folder that contains the services you wish to be displayed in the Subscription Portal for this channel. 3. 4. 5.

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 Next. You are returned to the Channels page.

Change the folder of services associated with a channel


Steps 1. In the Site Preferences section, click Channels. The Channels page opens. 2.

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

Chapter 37 Managing a Channel

C H A PT E R

38

38.

Managing Device Types

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.

Create a new device type


Steps

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.

Select the Address format.

6. Select the Display and Edit fields to display and edit the addresses of the device type. 7.

Click Next to proceed to the Device Folders page.

383

Change the device folders associated with a device type


Steps 1. In the Site Preferences section, click Device Types. The Device Types page opens.

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.

Delete a device type


Steps 1. In the Site Preferences section, click Device Types. The Device Types page opens. 2. 3.

Click Delete next to the device type to delete. Click Yes to confirm the deletion.

Reconfigure a device type definition


Steps

In the Site Preferences section, click Device Types. The Device Types page opens.
2.

1.

Click definition next to the device type to reconfigure.

384

Chapter 38 Managing Device Types

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.

Select the Address format.

5. Select the Display and Edit fields to display and edit the addresses of the device type. 6.

Click Next to proceed to the Device Folders page.

Rename a device type


Steps

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.

Rename a device type

385

H O W D O I

386

Chapter 38 Managing Device Types

C H A PT E R

39

39.

Creating Information Objects and Question Objects

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.

Create a MicroStrategy content information object with personalized page execution


Steps

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.

6. Click Advanced Options. The Advanced Properties dialog box opens.

Click the Report Execution tab.

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

Chapter 39 Creating Information Objects and Question Objects

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

the report, the Segmentation Prompts page opens instead:


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.

Create a MicroStrategy content information object with personalized page execution

389

Create a MicroStrategy content information object with personalized report execution


Steps

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.

6. Click Advanced Options. The Advanced Properties dialog box opens.

Click the Report Execution tab.

In the Personalization Mode section, select Personalized report execution. One report is executed for each personalization set.

390

Chapter 39 Creating Information Objects and Question Objects

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.

Create a MicroStrategy subscription information object


Steps

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.

Create a MicroStrategy subscription information object

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.

Click Next. The Source of Subscription Information page opens.

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.

7. Click Advanced Options. The Advanced Properties dialog box opens.

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.

Chapter 39 Creating Information Objects and Question Objects

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.

15. Select whether the Locale ID is generated by the report, retrieved

from the subscription book, or set to apply a constant.

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.

16. Click Next. The Summary page opens.

Create a MicroStrategy subscription information object

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

Create a MicroStrategy segment information object


Steps

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.

Click Next. The Report page opens.

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.

Click Advanced Options. The Advanced Properties dialog box opens.


7. Click the General tab. Type the Name and Description for the new segment information object.

394

Chapter 39 Creating Information Objects and Question Objects

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

information object and click Save.

Create a MicroStrategy question object


Steps 1. Right-click Applications, point to New, and then click Question Object. The Select Information Source dialog box opens. 2. Double-click the MicroStrategy information source. The New Question Object dialog box opens. 3. 4. 5.

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.

Create a MicroStrategy 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.

Associate a question object to an information object


Steps 1. 2.

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

Chapter 39 Creating Information Objects and Question Objects

Clear a question object from an information object


Steps 1. On the Report page of the Information Object Wizard, select the report and click Advanced Options. The Advanced Properties dialog box opens. 2. 3. 4.

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

Define delivery information for a subscription information object


Steps 1. On the Information Object Wizards Address Properties page, select a source for each piece of delivery information. The options include retrieve from subscription book, generate by report, or apply a constant. The delivery information fields are listed below:

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.

Clear a question object from an information object

397

4.

Click Next. The Preferences page opens.

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.

Click Next. The Summary page opens.

7. Once the Summary page opens, return to the previous How Do I...? topic to continue creating an information object.

Specify error handling rules for an information object


H O W D O I

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

Chapter 39 Creating Information Objects and Question Objects

C H A PT E R

40

40.

Adding and Editing Database Connections in Subscription Portal

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.

Add a database connection


The first time you create a Subscription Portal, the list of database connections for the Portal Repository, Object Repository, and Subscription Book Repository is blank. You need to create a new database connection for each of these databases.
Steps 1. In the System Configuration section, click Portal Repository. The Portal Repository page opens. 2.

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

To disable connection pooling, set the pool size to 0.

11. Click Add database connection to add the new database connection with the specified detalis. You are returned to the Portal Repository page.

Edit a database connection


Steps 1.

Open Portal Administrator.

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

Chapter 40 Adding and Editing Database Connections in Subscription Portal

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.

To disable connection pooling, set the pool size to 0.

H O W D O I

12. Click Update database connection. You are returned to the repository page.

Select an Object Repository


Steps

In the Site Management section, on the Object Repository page, choose the database connection that contains the Object Repository.
2.

1.

Type the Tables prefix for the Object Repository.

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.

Click Next to continue with the site definition.

Select a Portal Repository


Steps 1. In the System Configuration section, click Portal Repository. The Portal Repository page opens. 2.

Choose the database connection that contains the Portal Repository.

Select an Object Repository

401

3. 4.

Type the Tables prefix for the Portal Repository. Click Next to continue with the Subscription Portal configuration.

Select a Subscription Book Repository


Steps

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

Chapter 40 Adding and Editing Database Connections in Subscription Portal

C H A PT E R

41

41.

Creating Publications and Content Section Documents

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.

Add a dynamic text item to a document


Steps 1.

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.

Click OK. You are returned to the document editor.

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

Chapter 41 Creating Publications and Content Section Documents

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

Information Object Destination dialog box opens.


11. Select Currently Selected Document Element and click OK.

Associate a macro with an event in Microsoft Excel


You can associate a macro with an event, by creating a button in Microsoft Excel that will be used to trigger the macro.
Steps 1. 2.
H O W D O I

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.

Associate a macro with an event in Microsoft Excel

405

Change the view in a document editor


Step

From the View menu, select Document Element List. This works as a toggle, hiding and revealing the Document Elements pane on the left.

Create a link to a Desktop document from Narrowcast Administrator


H O W D O I

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.

Click OK. The Desktop Document Selector dialog box opens.

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.

Click OK. You are returned to the Desktop Document Selector.

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

Chapter 41 Creating Publications and Content Section Documents

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.

Create an automatic chart


Steps 1. Select Macros from the Tools menu, then select Record New Macro. 2.
H O W D O I

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.

Create an automatic chart

407

Create an Excel document


Steps 1. Right-click the Applications folder, point to New, and then select Document. The New Document dialog box opens. 2.

Double-click Excel Document. The Excel Document Editor opens.

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

number of rows in the Row Offset cell.

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.

Relative Bottom: The item is offset from the bottom of another

408

Chapter 41 Creating Publications and Content Section Documents


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

number of columns in the Column Offset cell.

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.

10. To change a spreadsheet name, do one of the following:

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

new document and click Save.

Create an Excel document

409

Create an HTML document


Steps 1. Right-click the Applications folder, point to New, and then select Document. The New Document dialog box opens.

Double-click HTML Document. The HTML Document Editor opens.


3.

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

Chapter 41 Creating Publications and Content Section Documents

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

new document and click Save.

Create an imported document


This procedure is used to import a new file and then associate the file with a document.

Create an imported document

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.

Click OK. The Save As dialog box opens.

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.

Create a new information object in a document


Steps 1. Right-click the Applications folder, point to New, and then select Document. The New Document dialog box opens. 2. Double-click the document type that you want to create. The Document Editor opens. 3.

From the Insert menu, select New Information Object. The Select Information Source dialog box opens.

412

Chapter 41 Creating Publications and Content Section Documents

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

Click OK. You are returned to the document editor.

Create a plain text document


Steps 1. Right-click the Applications folder, point to New, and then select Document. The New Document dialog box opens. 2. Double-click Plaintext Document. The Plaintext Document Editor opens. 3.

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.

Create a plain text 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.

You cannot alter the ITM after the publication is saved.

Click Next. The Selection Locale page opens.

7. From the Selection Locale drop-down list, select the locale that this publication will support.

8. 9.
414

You cannot alter the locale after the publication is saved.

Click Next. The Supported Devices page opens.

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.

The check box is activated only after a document is added to a section.

15. Continue to add documents to the content sections until your

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.

Type a Name for the new file.

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.

Preview an HTML document in the HTML Document Editor


Steps 1. Double-click the HTML Document. The HTML Document Editor opens. 2. From the View menu, select Preview. The content definition pane, on the right, displays a preview of the HTML document. 3.

To return to editing, from the View menu, select Editor.

416

Chapter 41 Creating Publications and Content Section Documents

Refresh the imported files


You must ensure that you have not changed the file name or the file path of the imported files to successfully update the imported files. If you have changed the path or the file name, you have to browse to the updated location or enter the new path to update the imported files.
Steps 1. Expand the Applications folder, and then select the imported files you want to update. 2. Right-click the selected files and select Refresh Imported File. The Refresh Imported File dialog box appears.

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

Reimport a file to update it


Steps 1.

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

Select a locale for a document


This applies to Excel, HTML, and plain text documents.

1. Create a new document (Excel, HTML, or plain text) or edit an existing document.

Refresh the imported files

417

2.

In the document editor, select Properties from the File menu.

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.

Select a stylesheet file for a document


This applies to Excel, HTML, and plain text documents.
H O W D O I

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.

Specify error handling rules for a document


This applies to Excel, HTML, and plain text documents, and also to PDF documents in Web subscription services.
Steps 1. Create a new document (Excel, HTML, or plain text) or edit an existing document.

Or edit a service containing a document. Go to the Message Contents page and double-click the document.

418

Chapter 41 Creating Publications and Content Section Documents

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.

Specify error handling rules for a document element


This applies to document elements in Excel, HTML, and plain text documents.
Steps

Create a new document (Excel, HTML, or plain text) or edit an existing document.

1.

Specify error handling rules for a document element

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

View the Document Elements pane in a document editor


Step 1. From the View menu, select Document Element List. The Document Elements pane is displayed on the left.

View object properties


Steps 1. 2.

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

Chapter 41 Creating Publications and Content Section Documents

View the results of XSL stylesheets applied to various reports


Steps 1. Determine which reports you want to use for stylesheet testing. If you plan to use reports with many different characteristics such as subtotals, thresholds, different arrangements of metrics and attributes in the rows and columns, and so on, select a representative sample of reports. 2. Create a simple e-mail service containing one or more of the reports in an HTML message.

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.

View the results of XSL stylesheets applied to various reports

421

H O W D O I

422

Chapter 41 Creating Publications and Content Section Documents

C H A PT E R

42

42.

Creating and Managing Services and Schedules

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

Create a service using the Service Wizard


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.
Steps 1. Right-click the Applications folder, point to New, then select Service (Wizard). The Service Wizard opens.
H O W D O I

From the Welcome page, review the information and click Next. The Delivery Method page opens.
3.

2.

Select one or more delivery methods for this service.

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

Chapter 42 Creating and Managing Services and Schedules

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

service and click Save.

Create a service using the Service Editor


The Service Editor allows you specify message contents and add multiple publications for a given information transmitter allowing messages tailored specifically to sets of devices to be sent out when the service is executed. The Service Editor also allows you to add subscription sets and schedules, specify the start date, end date, and timeout for service execution.
Steps 1. Right-click the Applications folder, point to New, then select Service (Editor). The Service Editor opens. 2. 3.

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:

Chapter 42 Creating and Managing Services and Schedules

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

service and click Save.

Add zipped documents to a service


This procedure begins on the <Delivery Method> Content page of the Service Wizard. For information on how to create a service using the Service Wizard, see Create a service using the Service Wizard.

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.

Add zipped documents to a service

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

Modify a service to exclude report titles in the delivered reports


By default, the reports delivered in the form of attached Excel files have the report title appearing in the first row of the Excel file. Edit the services used to deliver the reports (as Excel file attachments) to change this default behaviour. For reports subscribed through Narrowcast Server, edit the service that is used to deliver Excel file attachments:

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.

On the Message Contents section, browse to the Excel file attachment.

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

Chapter 42 Creating and Managing Services and Schedules

For each project, supporting services are created in the Services for Web Deliveries folder in the Narrowcast Administrator Folder List.

To edit the service for Report Email Deliveries


1. Right-click the supporting service for Report Email Deliveries and select Child dependencies. The Object child dependencies dialog box opens. 2. Expand Email (SMTP), expand Excel Attachment, right-click Information Object for Excel Reports for ProjectName, and select Edit. The Advanced Properties dialog box opens. 3. On the General tab, clear the Include report title check box and click OK. 4.
H O W D O I

Close the Object child dependencies dialog box.

To edit the service for Report File Deliveries


1. Right-click the supporting service for Report File Deliveries and select Child dependencies. The Object child dependencies dialog box opens. 2. Expand File Publication, expand Excel Document, right-click Information Object for Excel Reports for ProjectName, and select Edit. The Advanced Properties dialog box opens. 3. On the General tab, clear the Include report title check box and click OK. 4.

Close the Object child dependencies dialog box.

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.

Enter the following information:

Modify a service to exclude report titles in the delivered reports

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

An On-demand schedule must be paired only with a Send Now schedule.

12. Click Next. The Summary page opens.

Chapter 42 Creating and Managing Services and Schedules

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

the schedule and click Save.

Modify how the schedule queue is displayed


Use the following steps to determine how far into the future the service queue displays service executions.
Steps 1. Expand the Administration folder and right-click Scheduled Services. 2. Select Set Queue Parameters. The Modify Schedule Queue Parameters dialog box opens. 3. Select the number and unit of measure to set how far into the future the service queue shows service executions. 4.
H O W D O I

Select the Maximum scheduled service executions to display, up to Click OK.

999.
5.

Run a service immediately


Steps 1.

Right-click the service to run and select Run Immediately.

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.

Modify how the schedule queue is displayed

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.

View scheduled services


Steps
H O W D O I

1.

Expand the Administration folder.

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

Chapter 42 Creating and Managing Services and Schedules

C H A PT E R

43

43.

Configuring Subscription Sets

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.

Configure a dynamic subscription set


Steps

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.

Click Next to proceed to the Dynamic Subscriptions page.

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.

Map the subscription information to the database tables. Click Next.

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

return to the Services page.

Configure page-by questions for dynamic subscription sets


Steps 1. In the Services Configuration section, on the Overview page, review the Default Service Configuration settings. 2.

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

Chapter 43 Configuring Subscription Sets

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.

Configure page-by questions for static subscription sets


Steps 1. In the Services Configuration section, on the Overivew page, review the Default Service Configuration settings. 2.

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.

Select the answer to be used for each page-by question.

Configure page-by questions for static subscription sets

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.

Select an alternate question


Steps
H O W D O I

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.

Select the question object and click Next.

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.

Click Next to finish the process of selecting the alternative question.

Select tables for question mappings and subscription mappings


Steps 1. In the Services Configuration section, on the Select Tables page, select the data warehouse.

436

Chapter 43 Configuring Subscription Sets

2. Click Refresh to refresh the list of available tables associated with the selected data warehouse. 3.

Select the tables to be used from the Available Tables list.

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.

Map dynamic subscription information to data warehouse tables


Steps

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.

A question component is the answer ID for each question in the service.

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.

Map dynamic subscription information to data warehouse tables

437

Custom values allow you to write a constant value into warehouse tables each time data is inserted.

Map question object information to data warehouse tables


Steps 1. In the Services Configuration section, on the Select Columns page, type a name you want to use to save this storage mapping.
H O W D O I

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

Chapter 43 Configuring Subscription Sets

Custom values allow you to write a constant value into warehouse tables each time data is inserted.

H O W D O I

Map question object information to data warehouse tables

439

H O W D O I

440

Chapter 43 Configuring Subscription Sets

C H A PT E R

44

44.

Creating and Managing Sites and Subscription Portal

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.

Create a new Subscription Portal


Use this procedure to create a new virtual directory through which a site definition can be made available to end users.
Steps 1. In the Site Management section, on the Site Definition page, click click here. 2. 3.

Type the new Portal name. Click Create New Portal.

Configure a different Subscription Portal


Use this procedure to configure a selected Subscription Portal.
Steps 1. In the Site Management section, on the Site Definition page, click click here. 2. 3.

Select the portal to be configured. Click OK.

441

Edit a site definition


Steps 1. In the Site Management section, on the Site Definition page, select a site from the list. 2. 3. 4. 5. 6.
H O W D O I

Click Edit. Edit the Name and Description boxes. Click Next. Select the Object Repository. Click Next. Select the Subscription Book Repository.

7.

Add a new site definition


Steps 1. In the Site Management section, on the Site Definition page, click Add a new site definition. 2. 3. 4. 5. 6. 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

Chapter 44 Creating and Managing Sites and Subscription Portal

Delete a site definition


Steps 1. In the Site Management section, on the Site Definition page, select a site from the list.

Click Delete next to the site definition to be deleted. The delete a database connection page opens.
3.

2.

Click OK.

Delete a Subscription Portal


This removes a virtual directory without modifying the definition of the site.
Steps 1. 2. 3. 4.

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.

Delete a site definition

443

H O W D O I

444

Chapter 44 Creating and Managing Sites and Subscription Portal

C H A PT E R

45

45.

Managing a Subscription Book

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.

Add an address to the Subscription Book


Steps 1. 2. 3. 4. 5.

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

as default check box. Each user can have a default address.


13. To activate this address, select the Activate this address check box.

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.

Add a user to the Subscription Book


Steps 1. 2. 3. 4. 5. 6. 7.

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

box and choose a date.

446

Chapter 45 Managing a Subscription Book

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

Narrowcast Administrator console.

H O W D O

Add authentication and security personalization to a user in the Subscription Book


Steps 1. 2.

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.

Click the Authentication and Security tab.

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.

Add authentication and security personalization to a user in the Subscription Book

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

Add preference personalization to a user in the Subscription Book


Steps 1. 2.

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.

Click the Preference tab.

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.

Give the user preference a name and description.

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

Chapter 45 Managing a Subscription Book

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.

Delete an address from the Subscription Book


Steps 1. 2. 3. 4.

H O W D O I

Start Narrowcast Administrator.

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.

Deleting an address deletes all subscriptions for that address.

Delete a user from the Subscription Book


Start Narrowcast Administrator.

2. From the Tools menu, select Open Subscription Book. The Open Subscription Dialog box opens. 3.

Select the user you want to delete.

Delete an address from the Subscription Book

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.

Edit an address in the Subscription Book


Steps 1.

Start Narrowcast Administrator.

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.

Edit a user in the Subscription Book


Steps 1.

Start Narrowcast Administrator.

2. From the Tools menu, select Open Subscription Book.The Open Subscription Book Editor opens. 3.

Select the user you want to edit.

450

Chapter 45 Managing a Subscription Book

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

Import user and address attributes


Steps 1.

Start Narrowcast Administrator.

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.

Type the synchronization source file location.

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.

Import user and address attributes

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

and go to the Finish page.


24. Click Finish to return to the Narrowcast Administrator console.

452

Chapter 45 Managing a Subscription Book

Import user authentication


Steps 1.

Start Narrowcast Administrator.

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.

Type the synchronization source file location.

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.

Import user authentication

453

Import user preferences


Steps 1.

Start Narrowcast Administrator.

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.

Type the synchronization source file location.

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

Chapter 45 Managing a Subscription Book

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.

Import user security


Steps 1. 2. 3. 4.

Start Narrowcast Administrator.

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.

Type the synchronization source file location.

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 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.

Import user security

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.

Import user subscriptions


Steps
H O W D O I

1. 2. 3. 4.

Start Narrowcast Administrator.

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.

Type the synchronization source file location.

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 one of the following:

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

11. Under Preference Settings, select Do not create preferences.

456

Chapter 45 Managing a Subscription Book

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

the available address mappings.


16. Select an address mapping. 17. For each subscription set listed, select which synchronization file attribute to use to determine whether the selected address mapping should be included in the subscription set. 18. In the third column, enter a value to indicate that the selected address mapping should be subscribed to this subscription set. 19. Click Next to go to the Review page. 20. Review the information and click Next to run the synchronization

H O W D O I

and go to the Finish page.


21. Click Finish to return to the Narrowcast Administrator console.

Set governing limits for users and addresses


Steps 1.

Start Narrowcast Administrator.

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.

Click OK to finish and return to the Subscription Book Editor.

6. From the Subscription Book menu, select Exit to return to the Narrowcast Administrator console.

Set governing limits for users and addresses

457

Synchronize users
Steps 1.

Start Narrowcast Administrator.

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.

Click OK to return to the Subscription Book Synchronization Wizard.

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

Chapter 45 Managing a Subscription Book

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

and go to the Finish page.


20. Click Finish to return to the Narrowcast Administrator console.

Synchronize users

459

H O W D O I

460

Chapter 45 Managing a Subscription Book

C H A PT E R

46

46.

Creating and Managing Subscription Sets

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.

Activate or deactivate a subscription


Steps 1. In the Static Subscription Set Editor, select a subscription in the Subscription Set box, then select Edit from the Edit menu. 2.

Click the Status tab.

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.

Add a subscription to a subscription set


Steps 1.

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

Add SQL statements to be executed after service execution is completed


Steps 1. 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 Postexecution SQL Specification tab. 3. 4. 5. 6.

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.

Add SQL statements to be executed before segmentation occurs


Steps

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

Chapter 46 Creating and Managing Subscription Sets

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

Create a dynamic subscription set


Steps 1.
H O W D O I

Start Narrowcast Administrator.

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.

On the Introduction page, click Next.

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

Save Subscription Set dialog box opens.


11. Type a name for the subscription set and select a folder to save it in.

Create a dynamic subscription set

463

12. Click Save to return to Narrowcast Administrator.

Create a static subscription set


Steps 1. Start Narrowcast Administrator. Right-click the Applications folder, select New, then select Subscription Set. The Subscription dialog box opens. 2.
H O W D O I

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.

Delete a subscription from a subscription set


Steps

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

Chapter 46 Creating and Managing Subscription Sets

Delete a subscription set


Steps 1. In the Narrowcast Administrator console, open the Applications folder. 2. 3. 4.

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.

Enable send now delivery


Steps 1. In Static Subscription Set Editor, from the Edit menu, select Subscription Set Properties. 2.

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.

Click OK to return to Static Subscription Set Editor.

Modify the subscription preferences for each information source


Steps

In the Static Subscription Set Editor, select a subscription in the Subscription Set box, then from the Edit menu select Edit.

1.

Delete a subscription set

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.

6. Repeat steps 3 through 5 for as many personalized objects as required.

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.

Click OK to finish and return to the Static Subscription Set Editor.

Modify transmission properties regarding address display


Steps 1. In the Static Subscription Set Editor, select a subscription from the Subscriptions in the subscription set table, then select Edit from the Edit menu. The Subscription Properties editor opens. 2. 3.

Click the Transmission tab.

In the Transmission Properties section, select the appropriate properties.

466

Chapter 46 Creating and Managing Subscription Sets

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.

Send e-mail notification for file and print delivery


Steps 1. In the Static Subscription Set Editor, select a subscription in the Subscription Set box, then from the Edit menu, select Edit. 2.
H O W D O I

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.

Set an expiration date for a subscription


Steps 1. In the Static Subscription Set Editor, select a subscription in the Subscription Set box, then from the Edit menu, select Edit. 2. 3.

Click the Status tab.

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.

Send e-mail notification for file and print delivery

467

5. Click OK to save your changes and return to the Static Subscription Set Editor.

Set governing limits for subscriptions


Steps 1.

Start Narrowcast Administrator.

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.

Click OK to finish and return to the Static Subscription Set Editor.

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

Chapter 46 Creating and Managing Subscription Sets

SECTION IV

Application Designer Appendixes

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

E-mail and Wireless (SMTP) ITM Execution Control Documents


A.

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.

Including custom e-mail headers


You can include any custom header in the message. These fields are not standard and most e-mail clients can ignore them, but a customized application can be developed to interpret and use them.

Syntax to include custom email header


To include custom email header, use the following syntax:
CustomHeaders=CustomHeaderList

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.

Specifying Carbon Copy (CC) list


You can specify e-mail addresses to receive messages. It works like a carbon copy of all the personalized messages and lets every recipient know the list of recipients who are receiving a copy of the message.

A P P E N D I X E S

Syntax to specify Carbon Copy list


CC=Addresses List

where,
Addresses List

is a list of semicolon-separated e-mail addresses.

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

Appendix A E-mail and Wireless (SMTP) ITM Execution Control Documents

The semicolon-separated email addresses in Addresses List should have same properties in the Information Transmission Module as any subscription address.

Specifying Blind Carbon Copy (BCC) list


You can specify addresses to receive messages without specifying any personalization. It works like a BCC copy of all the personalized messages.

Syntax to specify Blind Carbon Copy list


BCC=Addresses List

where,
Addresses List

is a list of semicolon-separated e-mail addresses.

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

Changing attachment name and attachment


You can change the name of e-mail attachments (including extensions such as .csv) sent via the email and Wireless (SMTP) ITMs.

Specifying Blind Carbon Copy (BCC) list

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.

Syntax to change name and extension of single attachment


ChangeAttachmentName=Original_file_name.Ext1=New_File_name. Ext2

where,
Original_file_name.Ext1 is the original current name and extension of the attachment that requires a name change. New_File_name.Ext2

is the new name and extension of the attachment.

Example
ChangeAttachmentName=MyAttachments.txt=Sales Report.txt ChangeAttachmentName=MyAttachments.txt=Sales Report.csv
A P P E N D I X E S

Syntax to change name and extension of multiple attachments


ChangeAttachmentName=Original_Doc_Name1.Ext1=New_File_Name1 .Ext2|Original_Doc_Name2.Ext1=New_File_Name2.Ext2

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.

is the new name and extension of the first

Original_Doc_Name2.Ext1 is the current name and extension of the second attachment that requires a name change. New_File_Name2.Ext2

attachment.

is the new name and extension of the second

Example
ChangeAttachmentName=MyAttachments.txt=Sales Report.xls|MyExcelAtachments.xls=Profit Report.txt

474

Appendix A E-mail and Wireless (SMTP) ITM Execution Control Documents

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.

Dynamically changing attachment name


You can have the system dynamically name the email attachments delivered through Narrowcast Server by adding a report Information Object to the syntax in the execution control document and by choosing a special stylesheet to be applied to the attachment. The attachment 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. Information Objects use Narrowcast XSL stylesheets that change the name of the attachment. When you create a service that uses an Information Object to dynamically name an attachment 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 attachment name as follows: For a report attribute element, the name of the attachment 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 attachment name is changed to Northeast. For a report attribute in the page-by field, the name of the attachment is changed to Attributename. Elementname.
A P P E N D I X E S

Dynamically changing attachment 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.

Syntax to dynamically rename an attachment


You can use an Information Object within the syntax of an execution control document to dynamically rename an attachment that is being delivered as a part of the service. The Information Object used in the execution control document references the data in the report to generate the attachment name. During service execution, the name of the attribute element or other report object is appended to the attachment name. The Information Object is replaced by an attribute element name returned by the report filter, the attribute and attribute element name displayed in the page-by field of the report, and so on. The syntax to be used in the execution control document is as follows:
ChangeAttachmentName=My Saved Documents.html=[IO].html

A P P E N D I X E S

where, requires a name change.


[IO] My Saved Documents.html

is the current name of the attachment that

is the placeholder for the Information Object icon.

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.

Create a report using the report filter, Region = Northeast.

476

Appendix A E-mail and Wireless (SMTP) ITM Execution Control Documents

2.

Create an Information Object that uses this report.

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.

Select the stylesheet as MSTR8ToText-FilterNameOnly.xsl.

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.

Select the stylesheet as MSTR8ToText-PageByInfoOnly.xsl

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

is the new name of the file within the NewZipName.zip file.

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

is the new name of the zip file.

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

where [IO] is the placeholder for the Information Object.

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

Appendix A E-mail and Wireless (SMTP) ITM Execution Control Documents

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, &#9; but not &lt;. 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 A E-mail and Wireless (SMTP) ITM Execution Control Documents

APPENDIX

Changing File Names and Extensions: Execution Control Documents


B.

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.

Changing a file name


You can specify the name of a file using an execution control document. The syntax to be used in the execution control document is provided below, for a single file and for multiple files. The syntax is followed by examples.

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.

Syntax to change the name of a single file


To change the name of a single file, use the following syntax:
SaveDocumentAs=OldFileName.html=NewFileName.html

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

Syntax to change the names of multiple files


To change the names of multiple files, use the following syntax:
SaveDocumentAs=OldFileName1.html=NewFileName1.html|OldFileN ame2.html=NewFileName2.html

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.

OldFileName2.html is the current name of the NewFileName2.html

is the new name for the second file.

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

Appendix B Changing File Names and Extensions: Execution Control Documents

Changing a zip file name or extension


You can change the name and extension of a zip file, or remove the file extension entirely, using an execution control document. The syntax to be used in the execution control document is provided below, for a single zip file and for multiple files (single zip file and files within the zip file). The syntax is followed by examples.

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.

Syntax to change the name and extension of a single zip file


To change the name and/or extension of a single zip file, use the following syntax:
SaveDocumentFileExtensionAs= OldFileName.zip=NewFileName.doc

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

Changing a zip file name or extension

483

where,
OldZipFileName.zip is the current name and extension of the zip file that

requires a name change.

NewZipFileName.doc

is the new name and extension of the zip file.

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.

name and extension of the file within the

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.

Dynamically changing a file name


You can have the system dynamically name a file delivered through Narrowcast Server by adding an Information Object to the syntax in the execution control document, and by choosing a special stylesheet to be applied to the attachment. 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.
484 Appendix B Changing File Names and Extensions: Execution Control Documents

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

Syntax to dynamically rename a file


You can use an Information Object within the syntax of an execution control document to dynamically rename a file that is being delivered as a part of the service. The Information Object used in the execution control document references the data in the report to generate the file name. During service execution, the name of the attribute element or other report object is appended to the file name of the file. The Information Object is replaced by an attribute element name returned by the report filter, the attribute and attribute element name displayed in the page-by field of the report, and so on. The syntax to be used in the execution control document is as follows:
SaveDocumentAs=My Saved Documents.html=[IO].html

where, name change.


[IO] My Saved Documents.html

is the current name of the file that requires a

is the placeholder for the Information Object icon.

Dynamically changing a file name

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.

Click Next. The File Content page is displayed.

486

Appendix B Changing File Names and Extensions: Execution Control Documents

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.

Dynamically changing a file name

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

Appendix B Changing File Names and Extensions: Execution Control Documents

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.

Click Next. The File Content page is displayed.

6. Select the Show advanced content sections check box to enable usage of the execution control document.

Dynamically changing a file name

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

check box is cleared.


12. Click OK.
A P P E N D I X E S

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

Appendix B Changing File Names and Extensions: Execution Control Documents

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

Click Next. The File Content page is displayed.

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

check box is cleared.


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-PageByInfoOnly stylesheet to retrieve the required information from the page-by field. 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. 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.
A P P E N D I X E S

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

Appendix B Changing File Names and Extensions: Execution Control Documents

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.

name of the first file within the within the

OldFileName2.pdf is the current name of the second file OldZipFileName.zip file that requires a name change. [IO]

is the placeholder for the Information Object icon.

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 B Changing File Names and Extensions: Execution Control Documents

APPENDIX

SMS (SMPP) ITM Execution Control Documents


C.

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.

Defining SMS Address


The combination of Return Address, Type of Number (TON), and Numbering Plan Indicator (NPI) properties define an SMS address. The NPI and TON values that are set for the return address are also used for all destination SMS addresses. These values can be altered at the message level to avoid the need to create a new SMS (SMPP) ITM for changing the properties.

Syntax to define SMS address


ReturnAddress=XXX TON=YYY NPI=ZZZ

where,
XXX YYY

is actual value of the return address you want to use

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

Valid TON values 3 4 5 6 7

Description Network Specific Subscriber Alphanumeric Abbreviated Reserved

ZZZ is the actual value of the NPI you want to use. Valid NPI values are listed in the table below :

Valid NPI values 0 1 3 4

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

Specifying Expiration/Validation Date


The expiration/validation date serves as the date until which an SMSC (the server) continues trying to send an SMS message to a mobile device. The default behavior is no expiration if a date is not specified. Dates are defined in the SMPP 3.4 protocol specification section in the 7.1.1 YYMMDDhhmmsstnnp format, which is explained in the table below.

496

Appendix C SMS (SMPP) ITM Execution Control Documents

In this interface, all time/date related values are in ASCII with the following format:
YYMMDDhhmmsstnnp

The description of each value is listed in the table below:


Value YY MM DD hh mm ss t nn Description last two digits of the year (00-99) month (01-12) day (01-31) hour (00-23) minute (00-59) second (00-59) tenths of second (0-9) time difference in quarter hours between local time (as expressed in the first 13 octets) and UTC (Universal Time Constant) time (00-48) local time in quarter hours advanced in relation to UTC time local time in quarter hours retarded in relation to UTC time local time relative to the current SMSC time

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

Syntax to specify expiration/validation date


Expire=XXX

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+

This sets the expiration date to December 1, 2008.


Specifying Expiration/Validation Date 497

Specifying Data Coding Scheme (DCS)


The Data Coding Scheme can be used for character set manipulation as explained in SMPP 3.4 protocol specification section 5.2.19. The default is the SMSC default alphabet if the data coding scheme is not specified. The range of values is explained below.

Syntax to specify data coding scheme


DataEncoding=XXX

where,
XXX

is valid data coding value that you want to be used.

SMPP 3.4 protocol specification section 5.2.19


Bits 7 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 : 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 x x x x 2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 x x x x 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 x x x x 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 x x x x Meaning Notes SMSC Default Alphabet IA5 (CCITT T.50)/ASCII (ANSI X3.4) b Octet unspecified (8-bit binary) b Latin 1 (ISO-8859-1) b Octet unspecified (8-bit binary) a JIS (X 0208-1990) b Cyrllic (ISO-8859-5) b Latin/Hebrew (ISO-8859-8) b UCS2 (ISO/IEC-10646) a Pictogram Encoding b ISO-2022-JP (Music Codes) b reserved reserved Extended Kanji JIS(X 0212-1990) b KS C 5601 b reserved reserved GSM MWI control; see [GSM 03.38] d GSM MWI control; see [GSM 03.38] d reserved GSM message class control; see [GSM 03.38] e

A P P E N D I X E S

498

Appendix C SMS (SMPP) ITM Execution Control Documents

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

This specifies the SMSC default alphabet.

Setting priority for a message


The priority can be set for messages to indicate to the SMSC whether a particular message has a low or high priority. If a mobile user has more than one message waiting at an SMSC, messages with a high priority are sent to the user before messages that have no priority. A 0 indicates no priority and a 1 indicates high priority. All messages are no priority by default.
A P P E N D I X E S

Syntax to set priority for a message


Priority =XXX

where,
XXX

is either a 0 or a 1 to mark messages as no priority or priority.

Example
Priority =1

This specifies that the message is high priority.

Setting priority for a message

499

A P P E N D I X E S

500

Appendix C SMS (SMPP) ITM Execution Control Documents

APPENDIX

XML for Narrowcast Server Objects


D.

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

Plaintext XML format


The plaintext document formatting module (DFM) is a powerful component of the Delivery Engine architecture. It can render text strings and tabular data on nearly any device. It can even do so with devices that have limited column alignment capabilities, proportional fonts, or character set limitations. For this module to render tabular data properly, it must be provided with information about the structure of the data such as which pieces of text fall under which columns. This is done using the XML structure described below.

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

Plaintext XML format

503

Tag Name row cell

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

The root tag of a plaintext XML document element.


Parent tags

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

Appendix D XML for Narrowcast Server Objects

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

Plaintext XML format

505

<cell>$82k</cell> <cell>$86k</cell> </row> <row> <cell>Providence</cell> <cell>$91k</cell> <cell>$76k</cell> </row> </table> </pt-container>

On a typical device, the result resembles this:


Northeast Sales Report 2000 New York Boston Providence $150k $82k $91k 1999 $138k $86k $76k

A P P E N D I X E S

Note that all information is left-justified.

Excel XML format


The Excel document formatting module (DFM) is a powerful component of the Delivery Engine architecture. It can insert text, numbers, and dates into any location in any Excel 97 or Excel 2000 compatible workbook. It can apply complex formatting such as borders, text rotation, colors, fonts, and alignment, as well as numeric and date formatting. For this module to perform rendering operations correctly, it must be provided with information about the structure of the data, such as which pieces of text fall under which columns, as well as information about the desired formatting. This is done using the XML structure explained below.

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.

Appendix D XML for Narrowcast Server Objects

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

Excel XML format

507

pt-container table fonts font styles style formats format row


A P P E N D I X E S

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

Appendix D XML for Narrowcast Server Objects

Tag Name format row cell

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

The root tag of an Excel XML document element.


Attributes

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

fonts, styles, formats, row

Excel XML format

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

Appendix D XML for Narrowcast Server Objects

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.

Excel XML format

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.

Excel XML format

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

id = A numeric value used to identify this format when it is used in a cell.


Parent tags

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

Appendix D XML for Narrowcast Server Objects

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

Excel XML format

517

8-Black

9-White

10-Red

11-Bright Green 19-Dark Yellow 43-Light Yellow 51-Gold

12-Blue

13-Yellow

14-Pink

15Turquoise 23-Gray50% 47-Tan

16-Dark Red 40-Sky Blue 48-Light Blue 56-Dark Teal

17-Green

18-Dark Blue 42-Light Green 50-Lime

20-Violet

21-Teal

22-Gray25% 46Lavender 54-Bluegray 62-Indigo

41-Light Turquoise 49-Aqua

44-Pale Blue 52-Light Orange 60-Brown

45-Rose

53-Orange

55-Gray40% 63-Gray80%

57-Sea Green

58-Olive Green

59-Olive Green

61-Plum

An example using the Excel color index is:


border-top-color = ["0" | "8" - "63"]

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

An example using RGB color is:


border-top-color = "rgb(0,60,0)"

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

Excel XML format

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>

In Excel, the result resembles this:


2000 New York Boston Providence $1,350 k $ 820 k $ 913 k $1,388 k $ 861 k $ 760 k 1999

Web (Portal) XML format


A P P E N D I X E S

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

Appendix D XML for Narrowcast Server Objects

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

The root tag of an Excel XML document element.


Parent tags

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>

XML Structure for the Subscription Information Source Module XML


The XML structure for the Subscription Information Source Module is shown as follows:
Subscription ISM tag: <SubsInfo> Address ID: <AddrID> Address Display: <AddrDspl> Device ID: <DvcID> Device Name: <DvcName> Locale ID: <LclID> Physical Address: <PhysicalAddr> PIN: <PIN> Subscription ID: <SubsID> Subscription Set ID: <SubsSetID> Subscription Set Name: <SubsSetName> User ID: <UsrID> Unique Message ID: <UniqueMsgID>

A P P E N D I X E S

Example

A sample XML structure is shown as follows:


<SubsInfo> <AddrDspl>Edgar email</AddrDspl> <AddrID>15DF1790C1D74D00924F5162B06935A9</AddrID> <DvcID>B8D0B2C18D9511D4B89E00C04F33122E</DvcID> <LclID>FBBF7C1E37EC11D4887C00C04F48F8FD</LclID> <PhysicalAddr>ecadena@microstrategy.com</PhysicalAddr> <PIN>1234</PIN> <SubsID>23</SubsID> <SubsSetID>A190A57660B0421089AC6CF631F3583D</SubsSetID> <UsrID>39754310A6554EE082BFA4B17FD5894B</UsrID> <SubsSetName>My Subscription Set</SubsSetName> <DvcName>Microsoft Outlook 2000</DvcName>

522

Appendix D XML for Narrowcast Server Objects

<UniqueMsgID>0AC6A72F989D4184B13E34BCA30D0D2F23 </UniqueMsgID> </SubsInfo>

XML Structure for the System Information Source Module XML


The XML structure for the System Information Source Module is shown as follows:
System ISM tag: <SysInfo> Service ID: <ServiceID> Service Name: <ServiceName> Service Description: <ServiceDesc> Service Execution ID: <ServiceExecID> Service Creation Date: <ServiceCreationDate> Service Execution Date: <ServiceExecDate> Service Execution Time: <ServiceExecTime> Service External Execution ID: <ServiceExternalExecID> Service Segment Execution ID: <ServiceSegmentExecID>

Example

A sample XML structure is shown as follows:


<SysInfo> <ServiceID>89B7E1493DAC449A82778FB1EC855E00</ServiceID> <ServiceName>New Service</ServiceName> <ServiceDesc>Test Service</ServiceDesc> <ServiceExecID>7D98AC1D6A264A26BD7ED8DB652785EF </ServiceExecID> <ServiceCreationDate>04/26/2004</ServiceCreationDate> <ServiceExecDate>04/26/2004</ServiceExecDate> <ServiceExecTime>19:54:24</ServiceExecTime> <ServiceExternalExecID>FC24C58C5D1747FBB3B2FB9EBE243123 </ServiceExternalExecID> <ServiceSegmentExecID>FC24C58C5D1747FBB3B2FB9EBE243282 </ServiceSegmentExecID> </SysInfo>

A P P E N D I X E S

XML Structure for the System Information Source Module XML

523

A P P E N D I X E S

524

Appendix D XML for Narrowcast Server Objects

APPENDIX

Synchronization Data Types


E.

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

Data type: Restrictions Sample: Default:

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

Data type: Restrictions: How to get it: Sample: Default:

User status

Data type: Restrictions: Sample: Default:

A P P E N D I X E S

User expiration date:

Data type: Sample: Default:

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

Appendix E Synchronization Data Types

Address display

Data type: Restrictions Sample: Default:

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

Data type: Restrictions: How to get it: Sample: Default:

PIN

Data type: Restrictions: Sample: Default:

Delivery window

Data type: How to get it: Sample: Default:

Time zone

Data type: Restrictions: How to get it: Sample: Default:

A P P E N D I X E S

Address st