narrow cast application designer

Upload: mfuenzalida

Post on 05-Jan-2016

218 views

Category:

Documents


0 download

DESCRIPTION

Narrow Cast Application Designer

TRANSCRIPT

  • MicroStrategy Narrowcast ServerApplication Designer Guide

    Version 9.3

  • ii

    Twenty-fourth Edition, version 9.3To ensure that you are using the documentation that corresponds to the software you are licensed to use, compare thisversion number with the software version shown in About MicroStrategy... in the Help menu of your software.

    Document number: 09830930

    Copyright 2001-2012 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 maynot be provided to any other person. Copyright 2001-2012 by MicroStrategy Incorporated. All rights reserved.THIS SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS AND WITHOUT EXPRESS OR LIMITEDWARRANTY OF ANY KIND BY EITHER MICROSTRATEGY INCORPORATED OR ANYONE WHO HAS BEENINVOLVED IN THE CREATION, PRODUCTION, OR DISTRIBUTION OF THE SOFTWARE OR DOCUMENTATION,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR APARTICULAR PURPOSE, GOOD TITLE AND NONINFRINGMENT, QUALITY OR ACCURACY. THE ENTIRE RISK AS TOTHE QUALITY AND PERFORMANCE OF THE SOFTWARE AND DOCUMENTATION IS WITH YOU. SHOULD THESOFTWARE OR DOCUMENTATION PROVE DEFECTIVE, YOU (AND NOT MICROSTRATEGY, INC. OR ANYONE ELSEWHO HAS BEEN INVOLVED WITH THE CREATION, PRODUCTION, OR DISTRIBUTION OF THE SOFTWARE ORDOCUMENTATION) 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 MAYNOT APPLY TO YOU.In no event will MicroStrategy, Inc. or any other person involved with the creation, production, or distribution of the Softwarebe 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 thirdparty, arising from the use, inability to use, quality, or performance of such Software and Documentation, even ifMicroStrategy, Inc. or any such other person or entity has been advised of the possibility of such damages, or for the claimby any other party. In addition, MicroStrategy, Inc. or any other person involved in the creation, production, or distribution ofthe 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, strictliability for the negligence of indemnity or contribution, the failure of any remedy to achieve its essential purpose, orotherwise. The entire liability of MicroStrategy, Inc. and your exclusive remedy shall not exceed, at the option ofMicroStrategy, Inc., either a full refund of the price paid, or replacement of the Software. No oral or written information givenout expands the liability of MicroStrategy, Inc. beyond that specified in the above limitation of liability. Some states do notallow the limitation or exclusion of liability for incidental or consequential damages, so the above limitation may not apply toyou.The information contained in this manual (the Documentation) and the Software are copyrighted and all rights are reservedby MicroStrategy, Inc. MicroStrategy, Inc. reserves the right to make periodic modifications to the Software or theDocumentation without obligation to notify any person or entity of such revision. Copying, duplicating, selling, or otherwisedistributing any part of the Software or Documentation without prior written consent of an authorized representative ofMicroStrategy, Inc. are prohibited. U.S. Government Restricted Rights. It is acknowledged that the Software andDocumentation were developed at private expense, that no part is public domain, and that the Software and Documentationare Commercial Computer Software provided with RESTRICTED RIGHTS under Federal Acquisition Regulations andagency supplements to them. Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forthin subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFAR 252.227-7013 et. seq. orsubparagraphs (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 copyrightlaws 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 certainother countries: MicroStrategy, MicroStrategy 6, MicroStrategy 7, MicroStrategy 7i, MicroStrategy 7i Evaluation Edition,MicroStrategy 7i Olap Services, MicroStrategy 8, MicroStrategy 9, MicroStrategy Distribution Services, MicroStrategyMultiSource Option, MicroStrategy Command Manager, MicroStrategy Enterprise Manager, MicroStrategy Object Manager,MicroStrategy Reporting Suite, MicroStrategy Power User, MicroStrategy Analyst, MicroStrategy Consumer, MicroStrategyEmail Delivery, MicroStrategy BI Author, MicroStrategy BI Modeler, MicroStrategy Evaluation Edition, MicroStrategyAdministrator, MicroStrategy Agent, MicroStrategy Architect, MicroStrategy BI Developer Kit, MicroStrategy BroadcastServer, 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,MicroStrategy Intelligence Server Universal Edition, MicroStrategy MDX Adapter, MicroStrategy Narrowcast Server,

  • iii

    MicroStrategy Objects, MicroStrategy OLAP Provider, MicroStrategy SDK, MicroStrategy Support, MicroStrategyTelecaster, 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, TheFoundation For Intelligent E-Business, The Integrated Business Intelligence Platform Built For The Enterprise, The PlatformFor Intelligent E-Business, The Scalable Business Intelligence Platform Built For The Internet, 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 allregistered 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. MicroStrategymakes no warranties or commitments concerning the availability of future products or versions that may be planned or underdevelopment.Patent InformationThis 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, 8,005,870, 8,051,168, 8,051,369,8,094,788, and 8,130,918. Other patent applications are pending.Various MicroStrategy products contain the copyrighted technology of third parties. This product may contain one or moreof the following copyrighted technologies:Graph Generation Engine Copyright 1998-2012. Three D Graphics, Inc. All rights reserved.Actuate Formula One. Copyright 1993-2012 Actuate Corporation. All rights reserved.XML parser Copyright 2003-2012 Microsoft Corporation. All rights reserved.Xalan XSLT processor. Copyright 1999-2012. The Apache Software Foundation. All rights reserved.Xerces XML parser. Copyright 1999-2012. The Apache Software Foundation. All rights reserved.FOP XSL formatting objects. Copyright 2004-2012. The Apache Software Foundation. All rights reserved.Portions of Intelligence Server memory management Copyright 1991-2012 Compuware Corporation. All rights reserved.ASIHTTPRequest library. Copyright 2007-2012, 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 UnicodeCopyright 1999-2012 Compaq Computer CorporationCopyright 1999-2012 Hewlett-Packard CompanyCopyright 1999-2012 IBM CorporationCopyright 1999-2012 Hummingbird Communications Ltd.Copyright 1999-2012 Silicon Graphics, Inc.Copyright 1999-2012 Sun Microsystems, Inc.Copyright 1999-2012 The Open GroupAll rights reserved.Real Player and RealJukebox are included under license from Real Networks, Inc. Copyright 1999-2012. All rightsreserved.

  • iv

  • vContents

    Application Designer Overview xxiOrganization xxiReference materials xxiiTask list xxii

    Section I Application Designer Concepts 1

    Chapter 1 Creating Services 3Choosing delivery methods 3

    Delivery methods 3Publications 4

    Creating service contents 8Content sections 8Documents 11Document elements 12Error handling 12Documents versus imported files 14Compressed documents 15

    Specifying service recipients 16Specifying delivery schedules 17

    Schedules 17Simulating compound schedules 17

    Application design hierarchy 18Next steps 23

    Chapter 2 Dynamic Content and Personalization 25Dynamic content 25Information objects 25

    Roles of information objects 26Types of information objects 27Creating information objects 28Document elements with multiple information objects 29

    Other types of dynamic content 30User information 30Subscription information 31

    Personalization 32Types of personalization 32User and subscription preferences 33Personalization and system performance 34Advanced techniques 34Other considerations 36

  • vi Contents

    Information source security 38Defining applications with security 38Implications for upgraded reports 44

    To learn about... 45

    Chapter 3 Working with Documents 47HTML documents 47

    Working with the HTML Document Editor 47Strategy for HTML document development 48Helpful techniques 50

    Excel documents 52General strategy 52Data placement and formatting 53Automatic chart creation 54Building EIS interfaces in Excel 56Building pivot tables 58Using macros in Excel 97 or 2000 60Converting URLs into hyperlinks 61Preserving leading zeros 62Accommodating reports of different sizes 62VBA macros and viruses 62Excel for Report from Intelligence Server 63Error handling 63

    Text documents 64Imported documents 67Desktop documents 67Using XSL stylesheets 68

    Advantages of XSL stylesheets 68Default stylesheets provided 70Column widths specified in MicroStrategy Web or Desktop 77Developing and testing XSL stylesheets 78

    Chapter 4 User Management 81The Subscription Book 81Users and addresses 82

    Users 82Addresses 83Governing 85

    Subscriptions and subscription sets 86Subscriptions 86Static subscription sets 87Dynamic subscription sets 89Pre- and post-service execution SQL 92Static subscription set governing 94

    Synchronization with external sources 94

  • Contents vii

    Import or update user and address attributes 95Synchronize users 96Update user personalization and subscription 96

    Subscription Book synchronization tutorial 97Scenario 1: Import users and addresses 97Scenario 2: Update users, remap users, add addresses, and create subscriptions 99

    Chapter 5 Alert-Based Applications 105Importance of alert-based services 105Overview of support for alerting functionality 106

    Process flow 106Event-triggered service execution 107Dynamic subscriptions and personalization 108

    Application design for alert-based implementations 109Event-triggered service execution 110Dynamic subscriptions and personalization 116Post-service execution data source update 119

    Summary 121

    Chapter 6 Page Personalization and Dynamic Subscriptions 123Before you begin 123Introduction 123

    Personalized page execution 123Dynamic subscription 125Storing subscription information in the Subscription Book Repository 125

    Understanding personalized page execution and dynamic subscriptions 126Personalized page execution versus personalized report execution 126Personalization method and implications 128Content information objects personalization by subscription information objects 128

    Slicing and segmentation 130Segmentation processes 131Segmentation implications for application design 134Subscription ID versus slicing attribute 136

    Understanding subscription information 137Storing subscription information 137Subscription ID requirements 141

    Designing applications to support dynamic subscriptions and personalizedpage execution 142

    Application design requirements 142Scenario 1: Personalized report execution with static subscriptions 142Scenario 2: Personalized page execution with dynamic subscriptions 143Scenario 3: Personalized page execution with static subscriptions 145Scenario 4: Personalized report execution with dynamic subscriptions 146Implementing personalized page execution and dynamic subscriptions 147

  • viii Contents

    Advanced segmentation control techniques 149

    Chapter 7 User Self Subscription 155Subscription Portal system 156

    Subscription Portal application 157Portal Repository 157

    Database connections 157Table prefixes 158

    Site definition 158Portal 159Site name and description 159Object Repository 160Subscription Book Repository 160Channels 161Device types 162Devices 163Device settings 164Information sources 164Preferences 166

    Services configuration 169Personalized page execution 169Dynamic subscription sets 174

    Chapter 8 Supporting Diverse User Populations 177Multiple sets of user devices 177Multiple languages and locales 178

    Overview 179Locale concepts 179Locale processes 180Using locales 180

    Chapter 9 Advanced Subscription Portal Configuration 183Scenario 1: Basic personalized page execution 185

    Change the warehouse 185Create objects in the MicroStrategy Desktop interface 185Create objects in Narrowcast Administrator 186Configure with the Portal Administrator Wizard 187Try it! 187How it works 187

    Scenario 2: Page-by Subscription ID 188Change the warehouse 189Create objects in the MicroStrategy Desktop interface 189Create objects in Narrowcast Administrator 190Configure with the Portal Administrator Wizard 191Try it! 191

  • Contents ix

    How it works 192Scenario 3: Page-by Answer ID 193

    Change the warehouse 194Create objects in the MicroStrategy Desktop interface 194Create objects in Narrowcast Administrator 195Configure with the Portal Administrator Wizard 195Try it! 196How it works 196

    Scenario 4: Non-personalized dynamic subscription 197Change the warehouse 198Create objects in the MicroStrategy Desktop interface 198Create objects in Narrowcast Administrator 199Configure with the Portal Administrator Wizard 199Try it! 200How it works 200

    Scenario 5: Personalized dynamic subscription 201Change the warehouse 202Create objects in the MicroStrategy Desktop interface 203Create objects in Narrowcast Administrator 203Configure with the Portal Administrator Wizard 204Try it! 205How it works 206

    Section II Application Designer Interfaces 209

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

    Chapter 11 Desktop Document Selector Dialog Box 213Desktop Document Selector dialog box layout 213

    Advanced Properties dialog box 215Save Desktop Linked Document dialog box 219

    Chapter 12 Dynamic Subscription Set Wizard 221Dynamic Subscription Set Wizard layout 221

    Introduction 222Name and Description 222Subscription Selection 222Segmentation 222Pre- and Post-SQL 223Summary 223

  • x Contents

    Chapter 13 Document Element Properties Dialog Box 225Document Element Properties dialog box layout 225

    Stylesheet selection 226Open XSL Imported File dialog box 230Error handling 230

    Chapter 14 Document Properties Dialog Box 233Document Properties dialog box layout 234

    General 234Document-Level Error Handling 234Column Width Options 235

    Chapter 15 Excel Document Editor 237Excel Document Editor layout 238

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

    Chapter 16 Filter and Governing Editor Dialog Box 243Filter and governing editor dialog box layout 244

    Chapter 17 HTML Document Editor 245HTML Document Editor layout 246

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

    Chapter 18 Imported Document Editor 253Imported Document Editor layout 253

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

    Chapter 19 Import File Dialog Box 255Import File dialog box layout 256

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

    Chapter 20 Information Object Wizard 259Information Object Wizard layout 260

    Select Information Source dialog box 261

  • Contents xi

    Role page 261Source of Subscription Information page 261Report or Filter page 262Information object validation 262Advanced Properties dialog box 264Format page 267Segmentation Prompts page 267User Properties and Personalization page 267Address Properties page 270Preferences page 270Authentication and Security page 271Segment Size page 271Summary page 271

    Chapter 21 Modify Schedule Queue Parameters Dialog Box 273

    Chapter 22 New Document Dialog Box 275New Document dialog box layout 275

    Chapter 23 Portal Administrator Wizard 277Portal Administrator Wizard layout 278

    System Configuration section 278Site Management section 279Site Preferences section 282Services Configuration section 289

    Chapter 24 Plaintext Document Editor 293Plaintext Document Editor layout 293

    Menu bar 294Choose XML Information Object Destination dialog box 295

    Chapter 25 Subscription Set Properties Dialog Box 297Subscription Set Properties dialog box layout 298SQL statements dialog box layout 299

    Chapter 26 Question Object Dialog Set 301Question Object dialog set layout 301

    Select Information Source dialog box 302Question Object dialog box 302Question Object Browser dialog box 302Question object validation 302

  • xii Contents

    Chapter 27 Service Editor 305Service Editor layout 306

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

    Chapter 28 Publication Wizard 311Publication Wizard layout 312

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

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

    Introduction 318Name and Description 318Recurrence Pattern 318Interval 318Summary 320

    Chapter 30 Static Subscription Set Editor 321Static Subscription Set Editor layout 321

    The menu bar 323The toolbar 324

    Chapter 31 Service Wizard 327Service Wizard layout 328

    Welcome 329Delivery Methods 329Message Contents 329Subscriptions and Schedules 331Service Summary 333

    Devices and Locale Support dialog box 333Compression Properties dialog box 334Error Handling dialog box 335

  • Contents xiii

    General Service Settings dialog box 335Name and Description tab 335Delivery Properties tab 336Execution Settings tab 336

    Chapter 32 Subscription Book Editor 339Subscription Book Editor layout 340

    Menu bar 340Toolbar 341

    Chapter 33 Subscription Book Synchronization Wizard 343Subscription Book Synchronization Wizard layout 344

    Welcome 345Synchronization Options 345User and Address Properties 346Subscriptions 348Preferences 349Security 350Authentication 351User Addition or Mapping 351User Removal or Mapping 352Review 352Finish 352

    Synchronization Settings dialog box 353Synchronization Process tab 353Synchronization Values tab 359

    MicroStrategy Intelligence Server User Export Tool 362

    Chapter 34 Subscription Properties Editor 365Subscription Properties Editor layout 366

    Preference tab 366Transmission tab 366Status tab 367Notification tab 367

    Chapter 35 Subscription Dialog Box 369

    Chapter 36 User Properties Editor 371User Properties Editor layout 372

    Login tab 372Addresses tab 373Preference tab 374Define User Preference dialog box 375Authentication and Security tab 375User Information tab 377

  • xiv Contents

    Section III Application Designer How Do I...? 379

    Chapter 37 Managing a Channel 381Add a new channel 381Change the folder of services associated with a channel 381Delete a channel 382

    Chapter 38 Managing Device Types 383Create a new device type 383Change the device folders associated with a device type 384Delete a device type 384Reconfigure a device type definition 384Rename a device type 385

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

    Chapter 40 Adding Database Connections in Subscription Portal 399Add a database connection 399Select an Object Repository 400Select a Portal Repository 400Select a Subscription Book Repository 401

    Chapter 41 Creating Publications and Content Section Documents 403Add a dynamic text item to a document 403Add multiple XML information objects with the same stylesheet in a document 404Associate a macro with an event in Microsoft Excel 405Change the view in a document editor 406Create a link to a Desktop document from Narrowcast Administrator 406Create an automatic chart 407Create an Excel document 408Create an HTML document 410Create an imported document 412

  • Contents xv

    Create a new information object in a document 413Create a plain text document 414Create a publication 414Import a file 416Preview an HTML document in the HTML Document Editor 416Reimport a file to update it 417Select a locale for a document 417Select a stylesheet file for a document 417Specify error handling rules for a document 418Specify error handling rules for a document element 419View the Document Elements pane in a document editor 420View object properties 420View the results of XSL stylesheets applied to various reports 420

    Chapter 42 Creating and Managing Services and Schedules 423Create a service 423

    Best practices 423Create a service using the Service Wizard 424Create a service using the Service Editor 425

    Add zipped documents to a service 427Modify a service to exclude report titles in the delivered reports 428

    To edit the service for Report Email Deliveries 429To edit the service for Report File Deliveries 429Create a schedule 429

    Modify how the schedule queue is displayed 431Run a service immediately 431View scheduled services 432

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

    Chapter 44 Creating and Managing Sites and Subscription Portal 441Create a new Subscription Portal 441Configure a different Subscription Portal 441Edit a site definition 442Add a new site definition 442Delete a site definition 443

  • xvi Contents

    Delete a Subscription Portal 443

    Chapter 45 Creating and Managing Subscription Sets 445Activate or deactivate a subscription 445Add a subscription to a subscription set 445Add SQL statements to be executed after service execution is completed 446Add SQL statements to be executed before segmentation occurs 446Create a dynamic subscription set 447Create a static subscription set 448Delete a subscription from a subscription set 448Delete a subscription set 449Enable send now delivery 449Modify the subscription preferences for each information source 449Modify transmission properties regarding address display 450Send e-mail notification for file and print delivery 451Set an expiration date for a subscription 451Set governing limits for subscriptions 452

    Chapter 46 Managing a Subscription Book 453Add an address to the Subscription Book 453Add a user to the Subscription Book 454Add authentication and security personalization to a user in the Subscription Book 455Add preference personalization to a user in the Subscription Book 456Delete an address from the Subscription Book 457Delete a user from the Subscription Book 457Edit an address in the Subscription Book 458Edit a user in the Subscription Book 458Import user and address attributes 459Import user authentication 461Import user preferences 462Import user security 463Import user subscriptions 464Set governing limits for users and addresses 465Synchronize users 466

    Section IV Application Designer Appendixes 469

    Appendix A E-mail and Wireless (SMTP) ITM Execution Control Documents 471Including custom e-mail headers 471

    Syntax to include custom email header 471Example 471Syntax Rules 472

    Specifying Carbon Copy (CC) list 472

  • Contents xvii

    Syntax to specify Carbon Copy list 472Example 472Syntax Rules 472

    Specifying Blind Carbon Copy (BCC) list 473Syntax to specify Blind Carbon Copy list 473Example 473Syntax Rules 473

    Changing attachment name and attachment 473Syntax to change name and extension of single attachment 474Example 474Syntax to change name and extension of multiple attachments 474Example 474Syntax Rules 475

    Dynamically changing attachment name 475Syntax to dynamically rename an attachment 476Example to dynamically rename the attachment using Region attribute (in the row) based on the attribute element name 476Example to dynamically rename the file based on the report attribute name in the page-by field 477

    Dynamically renaming the zip file and files within the zip file in email attachments 477Syntax to dynamically rename the zip file and files within the zip file 478Example 478Syntax Rules 478

    Other properties 479Syntax 479Examples 479Syntax Rules 479

    Appendix B Changing File Names and Extensions: Execution Control Documents 481Changing a file name 481

    Syntax to change the name of a single file 481Example 481Syntax to change the names of multiple files 482Example 482Syntax rules 482

    Changing a zip file name or extension 483Syntax to change the name and extension of a single zip file 483Example 483Syntax to change the name and extension of a zip file and files within the zip file 483Example 484Syntax rules 484

    Dynamically changing a file name 484Syntax to dynamically rename a file 485

  • xviii Contents

    Example to dynamically rename the file using Region attribute (in the row) based on the attribute element name 486Example to dynamically rename the file based on the report filter name 489Example to dynamically rename the file based on the report attribute name in the page-by field 491

    Dynamically renaming the zip file and files within the zip file in file attachments 492Syntax to change the name of zip file and files within the zip file in the file attachment 493Example 493Syntax rules 493

    Appendix C SMS (SMPP) ITM Execution Control Documents 495Defining SMS Address 495

    Syntax to define SMS address 495Example 496

    Specifying Expiration/Validation Date 496Syntax to specify expiration/validation date 497Example 497

    Specifying Data Coding Scheme (DCS) 498Syntax to specify data coding scheme 498Example 499

    Setting priority for a message 499Syntax to set priority for a message 499Example 499

    Appendix D XML for Narrowcast Server Objects 501Organization 501Plaintext XML format 502

    Overview 502Tags 503Example 505

    Excel XML format 506Overview 506Tags 508Color definition 517Example 518

    Web (Portal) XML format 520Overview 520Tags 521Example 522

    XML Structure for the Subscription Information Source Module XML 522XML Structure for the System Information Source Module XML 523

  • Contents xix

    Appendix E Synchronization Data Types 525User properties 525Address properties 526Subscription set 528Preference 528Authentication 528Security 529Time zone constants 529

    Section V Index 533

  • xx Contents

  • I N T R O D U C T I O N

    xxi

    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.

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

  • xxii Application Designer Overview

    Reference materialsBefore 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 listA 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 How Do I... Chapter

    Application Designer:

    1. Design and create services Creating and Managing Services and Schedules

    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 Publications and Content Section Documents, Creating Information Objects and Question Objects, Creating and Managing Subscription Sets

    3. Test services Creating and Managing Services and Schedules

    Check the services subscription sets and information objects to ensure that the correct information will be sent to the correct subscribers.

    Creating Publications and Content Section Documents, Creating Information Objects and Question Objects

  • Task list xxiii

    Check the schedule to ensure the service will be sent at the correct time.

    Creating and Managing Services and Schedules

    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.

    Creating and Managing Services and Schedules

    Run the service with a test subscription set to ensure the correct information is sent in the correct format.

    Creating and Managing Services and Schedules

    Subscription Administrator:

    4. Create, modify, delete users in the Subscription Book

    Managing a Subscription Book

    5. Create, modify, delete addresses in the Subscription Book

    Managing a Subscription Book

    6. Create, modify, delete subscriptions in subscription sets

    Creating and Managing Subscription Sets

    Portal Administrator:

    7. Select a Portal Repository Adding Database Connections in Subscription Portal

    8. Create or modify a site definition, including channels, service personalization settings, and device types

    Creating and Managing Sites and Subscription Portal, Managing a Channel, Configuring Subscription Sets, Managing Device Types

    9. Specify information source properties Configuring Subscription Sets

    10. Specify default preferences for the site definition

    Configuring Subscription Sets

    Task How Do I... Chapter

  • xxiv Application Designer Overview

  • IS E C T I O N I

    1

    CONCEPTS

    Application Designer Concepts I

  • 2 Section I Application Designer Concepts

    CONCEPTS

  • 1C H A P T E R 1

    3

    CONCEPTS

    1.Creating Services 1A 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 methodsServices 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.

  • 4 Chapter 1 Creating Services

    CONCEPTS

    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.

    PublicationsEach 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

  • Choosing delivery methods 5

    CONCEPTS

    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

  • 6 Chapter 1 Creating Services

    CONCEPTS

    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, Locale2If 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 LocaleIf 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

  • Choosing delivery methods 7

    CONCEPTS

    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.

    Publicationsupports user's

    device?

    Publicationsupports user's

    locale?

    Publication is used todetermine servicecontent for user

    Go to nextpublication

    Morepublications?

    Go to firstpublication

    Publicationsupports user's

    device?

    Publicationsupports user'ssystem locale?

    End

    End

    Subscription notsupported by service

    definition. Nomessage generated.

    Morepublications?

    Go to nextpublication

    yes

    yes

    no

    no

    yes

    no

    no

    yes

    no

    yes

    no

    Go to firstpublication

    Start

  • 8 Chapter 1 Creating Services

    CONCEPTS

    Creating service contents

    Content sectionsEach 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 e-mail. 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.

  • Creating service contents 9

    CONCEPTS

    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.

    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

  • 10 Chapter 1 Creating Services

    CONCEPTS

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

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

  • Creating service contents 11

    CONCEPTS

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

    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

  • 12 Chapter 1 Creating Services

    CONCEPTS

    characters can cause undesired behavior in some e-mail clients. In general, avoid using the following characters:

    Document elementsA 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 handlingIn 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.

    \ / : * ? < > |

  • Creating service contents 13

    CONCEPTS

    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

    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 element-level 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

  • 14 Chapter 1 Creating Services

    CONCEPTS

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

  • Creating service contents 15

    CONCEPTS

    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.

    Compressed documentsDelivering 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 databaseAny 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.

  • 16 Chapter 1 Creating Services

    CONCEPTS

    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.

  • Specifying delivery schedules 17

    CONCEPTS

    Specifying delivery schedulesThe 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.

    SchedulesA 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 schedulesConceptually, 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.

  • 18 Chapter 1 Creating Services

    CONCEPTS

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

  • Application design hierarchy 19

    CONCEPTS

    Who?(Who will receive this information?)

    Subscription Set

    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

  • 20 Chapter 1 Creating Services

    CONCEPTS

    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.

  • Application design hierarchy 21

    CONCEPTS

    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

  • 22 Chapter 1 Creating Services

    CONCEPTS

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

  • Next steps 23

    CONCEPTS

    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.

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

  • 24 Chapter 1 Creating Services

    CONCEPTS

  • 2C H A P T E R 2

    25

    CONCEPTS

    2.Dynamic Content and Personalization 2Dynamic 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 objectsA 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.

  • 26 Chapter 2 Dynamic Content and Personalization

    CONCEPTS

    Roles of information objectsInformation 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 segmentedAs 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.

  • Information objects 27

    CONCEPTS

    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.

    Types of information objectsInformation 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.

  • 28 Chapter 2 Dynamic Content and Personalization

    CONCEPTS

    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

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

  • Information objects 29

    CONCEPTS

    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 subscripti