Sie sind auf Seite 1von 566

MicroStrategy Narrowcast Server

Application Designer Guide


Version 9.3

Twenty-fourth Edition, version 9.3


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: 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 may
not 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 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,
MicroStrategy Intelligence Server Universal Edition, MicroStrategy MDX Adapter, MicroStrategy Narrowcast Server,

ii

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, 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, 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 more
of 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 Unicode
Copyright 1999-2012 Compaq Computer Corporation
Copyright 1999-2012 Hewlett-Packard Company
Copyright 1999-2012 IBM Corporation
Copyright 1999-2012 Hummingbird Communications Ltd.
Copyright 1999-2012 Silicon Graphics, Inc.
Copyright 1999-2012 Sun Microsystems, Inc.
Copyright 1999-2012 The Open Group
All rights reserved.
Real Player and RealJukebox are included under license from Real Networks, Inc. Copyright 1999-2012. 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

Contents

xi

Chapter 27 Service Editor 305


Service Editor layout 306
Menu bar 306
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

xii

Contents

General Service Settings dialog box 335


Name and Description tab 335
Delivery Properties tab 336
Execution Settings tab 336

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 Database Connections in Subscription


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

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
Create an imported document 412
xiv

Contents

Create a new information object in a document 413


Create a plain text document 414
Create a publication 414
Import a file 416
Preview an HTML document in the HTML Document Editor 416
Reimport a file to update it 417
Select a locale for a document 417
Select a stylesheet file for a document 417
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 420

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
Add a new site definition 442
Delete a site definition 443
Contents

xv

Delete a Subscription Portal 443

Chapter 45 Creating and Managing Subscription Sets 445


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

Chapter 46 Managing a Subscription Book 453


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

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
Syntax Rules 472
Specifying Carbon Copy (CC) list 472

xvi

Contents

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
page-by 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
Syntax to dynamically rename a file 485

Contents

xvii

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
page-by 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

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.

xxii

Application Designer Overview

Creating Publications and Content


Section Documents, Creating
Information Objects and Question
Objects

Task

How Do I... Chapter

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

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

C
O
N
C
E
P
T
S

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

Go to first
publication
Go to next
publication

Publication
supports user's
device?

no

yes

Publication
supports user's
locale?

yes

More
publications?

no
Go to first
publication

no

Go to next
publication

yes
Publication is used to
determine service
content for user

Publication
supports user's
device?

no

End

More
publications?
yes

Publication
supports user's
system locale?

yes

no
no
Subscription not
supported by service
definition. No
message generated.

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.

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

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.

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

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

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

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.

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

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.

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.

Specifying delivery schedules

17

C
O
N
C
E
P
T
S

C
O
N
C
E
P
T
S

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

18

Chapter 1 Creating Services

C
O
N
C
E
P
T
S

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

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

Application design hierarchy

21

C
O
N
C
E
P
T
S

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.

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

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.

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

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.

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

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.

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

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.

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

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

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

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.

Personalization

35

C
O
N
C
E
P
T
S

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.

Personalization

37

C
O
N
C
E
P
T
S

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

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

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.

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

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.

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

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.

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

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

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.

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.

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

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

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

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

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.

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

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

C
O
N
C
E
P
T
S

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.

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

C
O
N
C
E
P
T
S

For example, the user would see the following screen after clicking the
Sports Equipment button:

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.

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

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

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

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.

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

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.

Text documents

65

C
O
N
C
E
P
T
S

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.

66

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.

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.

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

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.

Using XSL stylesheets

69

C
O
N
C
E
P
T
S

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.

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

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.

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

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.

Using XSL stylesheets

75

C
O
N
C
E
P
T
S

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

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

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.

Using XSL stylesheets

79

C
O
N
C
E
P
T
S

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

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

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

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

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

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

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.

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

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

Note the following:


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.

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

Macro

Description

Datatype

Maximum Width

External service
execution ID

\E

Unique identifier of the current


service execution; specified
externally

char, varchar

32 characters

Service execution ID

\F

Unique identifier of the current


service execution; assigned by the
Narrowcast Server system

char, varchar

32 characters

Subscriptions and subscription sets

93

C
O
N
C
E
P
T
S

C
O
N
C
E
P
T
S

Variable

Macro

Description

Datatype

Maximum Width

Service ID

\S

Identifier of the service object in the


repository

char, varchar

32 characters

Execution priority

\P

Priority of the execution

integer

Service execution
timestamp

\C

Date and time the service executes

date-time

Service expiration
timestamp

\R

Date and time the service expires

date-time

Subscription Set ID

\D

Identifier of the subscription set that


receives the service

char, varchar

32 characters

Current timestamp

\T

Current date and time

date-time

\\

Escaped character

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.

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

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.

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

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

In the Address Property Mappings frame, note that one blank


address mapping is available automatically.
3.

4.

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.

User Addition or Mapping page

1.

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

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.

Moving users to the Remove Users list causes these users to be


permanently deleted.

Click Next.

Review page

1.

Note that the three new users appear under Users to Add.

2.

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.

Click Next.

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.

2.

Click Finish.

Narrowcast Administrator

1.

From the Tools menu, select Open Subscription Book.

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

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

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

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.

Keep LDIF File as the Source Type.

8.

Change the File Location box to the full path of the second sample
LDIF file: SynchronizationTutorial2.ldif.

9.

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

In the Address Property Mappings frame, note that one blank


address mapping is automatically created.
3.

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.

5.

For Address Name, select wireless.

For Physical Address, select wireless.

For Address Display, select wireless.

For Device, select wireless_device.


Click Next.

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

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

1.

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

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.

Click Next.

Review page

1.

Note that the mapping Brown, Sarah to Smith, Sarah appears


under Existing Users and New Users.
2.

Click Next.

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.

2.

Click Finish.

Narrowcast Administrator

1.

From the Tools menu, select Open Subscription Book.

2. Edit the subscription sets SubSet1 and SubSet2 and verify that new
subscriptions have been added.

102

Chapter 4 User Management

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

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:

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

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.

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

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.

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

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.

Create a table using SQL such as the following:

create table event (event_flag int)

2.

Insert a value into this table using SQL such as the following:

insert into event values (0)

3.

Create the stored procedure using SQL such as the following:

create procedure SProcedure


as
begin
DECLARE @del_error int
select @del_error = event_flag from event where event_flag=0
IF @del_error = 0
RAISERROR ('Error- no services can be run', 16,1)
end

112

Chapter 5 Alert-Based Applications

4.

C
O
N
C
E
P
T
S

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

exec SProcedure

5.

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

insert into event values (0)

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
Application design for alert-based implementations

113

C
O
N
C
E
P
T
S

functions to create application components, manage system configuration


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.

114

Chapter 5 Alert-Based Applications

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

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:
Application design for alert-based implementations

115

C
O
N
C
E
P
T
S

C
O
N
C
E
P
T
S

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

116

Chapter 5 Alert-Based Applications

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

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

Application design for alert-based implementations

117

C
O
N
C
E
P
T
S

C
O
N
C
E
P
T
S

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

Chapter 5 Alert-Based Applications

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

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

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.

Summary

121

C
O
N
C
E
P
T
S

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.

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

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.

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

Personalized Report Execution

Execution
Engine
One multipage report is
executed for all subscriptions
in a segment and then sliced
by the execution engine to
gather content for
subscriptions with different
personalization.

Execution
Engine

Intelligence
Server

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

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

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

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

Segment
Executor

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

Segment
Executor

Segment #1

Intelligence
Server

Segment #2

C
O
N
C
E
P
T
S

Subscription IDs
129857109235
Segment #1
298367102895
243523424535
145153451354
Segment #2
125145632365
125457625671
734756757868
Segment #3
457437568754
374373476347
375347347347
Segment #4
345623453254
356236234656

Segment Executor
gathers only content
for subscriptions in
current segments
from 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.

Slicing and segmentation

133

C
O
N
C
E
P
T
S

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.

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

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

Address ID

Address display

Physical address

Device

Transmission properties

PIN

Time zone

Delivery window

user information

User ID

Locale ID

Security for each information source

Preferences for information objects and question objects

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

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

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

C
O
N
C
E
P
T
S

140

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.

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.

Understanding subscription information

141

C
O
N
C
E
P
T
S

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

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

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

Report template is not used.

Attribute forms used


for personalization
Note: the first attribute form on the page
axis must be Subscription ID.

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

C
O
N
C
E
P
T
S

Scenario 3: Personalized page execution with


static subscriptions
Overview

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

C
O
N
C
E
P
T
S

Subscription Information Content*


Subscription ID
Other subscription
information (physical
address, etc.)

Report template is not used.

XML used for


personalization
Note: the first attribute form on the page
axis must be Subscription ID.

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?

2.

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:

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.

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

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.

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

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.

150

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.

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.

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

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.

6.

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.

7.

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

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

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

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

S ervices C onfiguration

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

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.

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

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

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

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 Architecture chapter of the Narrowcast
Server System Administrator Guide.
Table prefixes for the Subscription Book Repository

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

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

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

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.

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

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.

Site definition

167

C
O
N
C
E
P
T
S

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.

Pick a service

Configure page-by
questions for static
subscription sets

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

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 dynamic 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:

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

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:

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

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.

Services configuration

175

C
O
N
C
E
P
T
S

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.

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

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.

180

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

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.

3.

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

Choose a selection locale for each publication to match the locales


defined above. When users select French or English, they receive the
appropriate content.
5.

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:

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

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)

selection process
execution process

Information Object (IO1 from IS1)


Publication: P2 (Locale selection: English)
Document: D1 (Locale 2: English)

selection process
execution process

Information Object (IO2 from IS1)

Users: U1 (Locale selection: French)


U2 (Locale selection: English)

selection process
selection process

Information Source: IS1 (Language: English)

default if locale is
not fully defined

Locales
Locale 1: French
Information Source setting: French

execution process

Information Transmitter setting: US ASCII

execution process

Locale 2: English

182

Information Source setting: English

execution process

Information Transmitter setting: US ASCII

execution process

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.

Warehouse setup

2.

Creation of MicroStrategy Desktop objects

3.

Definition of Narrowcast Server objects

4. Service configuration through the Narrowcast Server Subscription


Portal Administrator Wizard pages
5.

User subscription through the Subscription Portal

6.

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)

Desktop and Intelligence Server:

fully configured MicroStrategy project and Intelligence Server

183

C
O
N
C
E
P
T
S

Desktop administrator with permissions to add facts, metrics, and


attributes to the project, and to update the warehouse catalog and
schema for the project

Narrowcast Server:

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

The following table summarizes the scenarios that are covered in this
section.
Scenario
Number

Scenario
Name

Subscription
Set

Page-By?

Alternate/
Additional
Question
Object?

Writing to
Warehouse?

User
Preference
Support?

Scenario 1:
Basic
personalized
page
execution

Static

On any content-related
attribute (not Subscription
ID or Answer ID); in this
example, Country

Yes

No

No

Scenario 2:
Page-by
Subscription
ID

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)

Scenario 3:
Page-by
Answer ID

Static

Portfolio ID; store


Portfolio ID as Answer ID

Yes

Yes; Answer ID
and the alternate
question object
answer value
(Answer_ID,
Symbol)

Yes

Scenario 4:
Nonpersonalized
dynamic
subscription

Dynamic

None

No

Yes; Subscription
ID, Address ID,
and User ID

N/A

184

Chapter 9 Advanced Subscription Portal Configuration

Scenario
Number

Scenario
Name

Subscription
Set

Page-By?

Alternate/
Additional
Question
Object?

Writing to
Warehouse?

User
Preference
Support?

Scenario 5:
Personalized
dynamic
subscription

Dynamic

Subscription ID

Yes

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

C
O
N
C
E
P
T
S

2. Create an attribute-element prompt for the attribute that you are


paging by.
3.

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)

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


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

4.

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

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.

3.

On the Configure Subscription Set page, mark the page-by question


(1.1 Page-by Information Object) as Page-by: Answer to another
question.
4.

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.

Skip the Dynamic Subscription Configuration page for this service.

Try it!
1.

Go to the Subscription Portal end user interface.

2.

Select the service that was created in Narrowcast Administrator.

3.

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.

Run the service in Narrowcast Administrator.

6.

In the Subscription Portal end user interface, verify the delivery of


both subscriptions with the correct content to the address selected when the
subscription was created.

How it works
1. When a user subscribes to this service through Subscription Portal,
Subscription Portal determines that there is an alternate question object
defined for this service. Subscription Portal retrieves the definition of the
attribute element prompt from MicroStrategy Intelligence Server and
shows that prompt to the user.

Scenario 1: Basic personalized page execution

187

C
O
N
C
E
P
T
S

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

(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:

MR_USER_ID, MR_SUB_ID and THRESHOLD

(Suggested name: SUB_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.
4.

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.

Update the schema of your project.

Scenario 2: Page-by Subscription ID

189

C
O
N
C
E
P
T
S

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

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

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.

Skip the Dynamic Subscription Configuration page for this service.

Try it!
1.

Go to the Subscription Portal end user interface.

2.

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. On the Subscriptions page, you see that there is now one subscription
to the service.
5.

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.

Run the service in Narrowcast Server.

7. In the Subscription Portal end user interface, verify the delivery of


the subscription with the correct content to the address selected when the
subscription was created.

Scenario 2: Page-by Subscription ID

191

C
O
N
C
E
P
T
S

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

(Suggested name: LU_SYMBOLS)

Scenario 3: Page-by Answer ID

193

C
O
N
C
E
P
T
S

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:

MR_USER_ID, ANSWER_ID, and SYMBOL

(Suggested name: REL_ANSWER_SYMBOL)


where the ANSWER_ID column gets populated by the Subscription
Portal with a Preference_ID which is a 32-character-long GUID.

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

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.

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

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.

Scenario 3: Page-by Answer ID

195

C
O
N
C
E
P
T
S

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.

Go to the Subscription Portal end user interface.

2.

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.

Run the service in Narrowcast Server.

7.

In the Subscription Portal end user interface, verify the delivery of


the subscription with the correct content to the address selected when the
subscription was created.

How it works
1. When a user subscribes to this service through Subscription Portal,
Subscription Portal determines that there is an alternate question object
defined for this service. Subscription Portal retrieves the definition of the
stock symbol prompt from MicroStrategy Intelligence Server and shows
that prompt to the user.
2. The user answers the prompt by selecting one or more stock symbols
from the list.
3.

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.

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

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

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)

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


these fields.

Create objects in the MicroStrategy Desktop


interface
1.

Update the warehouse catalog of your project.

2.

Create attributes based on the Subscription ID, Address ID, User ID,
and Subscription Set ID columns of the WH_SUBSCRIPTIONS table.
3.

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

C
O
N
C
E
P
T
S

Create objects in Narrowcast Administrator

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.

1.

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)

3.

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)

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


1.

Use the Services Configuration page of the Portal Administrator


Wizard to select service Example 4 Service.
2.

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.

Go to the Subscription Portal end user interface.

2.

Select the service Example 4 Service that was created in Narrowcast


Administrator.
3. After selecting a schedule and delivery location, the subscription is
created.
4. On the Subscriptions page, you see that there is now one subscription
to the service.
5. If you view the contents of the WH_SUBSCRIPTIONS table in the
warehouse, you see that a record has been inserted for the subscription you
just created.
6.

Run the service in Narrowcast Server.

7. In the Subscription Portal end user interface, verify the delivery of


the subscription with the correct content to the address selected when the
subscription was created.

How it works
1. When a user subscribes to this service through Subscription Portal,
Subscription Portal determines that there are no question objects defined
for this service, so the user does not need to answer any prompts.

200

Chapter 9 Advanced Subscription Portal Configuration

2. Subscription Portal creates an entry in the Subscription Book


Repository for the new subscription.
3.

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.

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

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)

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


these fields.

2.

Create an empty table in the warehouse to hold the Subscription ID


and the stock alert threshold, with the following columns:

MR_USER_ID, MR_SUB_ID and THRESHOLD

(Suggested name: SUB_THRESHOLD)

202

Chapter 9 Advanced Subscription Portal Configuration

C
O
N
C
E
P
T
S

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

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

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)

You should create a new subscription set for each service as


Subscription Portal does not recognize subscription sets that are
used in more than one service.

5.

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


1.

Use the Services Configuration page of the Portal Administrator


Wizard to select service Example 5 Service.
2.

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

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
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. On the Subscriptions page, you see that there is now one subscription
to the service.
5.

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

C
O
N
C
E
P
T
S

6.

Run the service in Narrowcast Server.

7. In the Subscription Portal end user interface, verify the delivery of


the subscription with the correct content to the address selected when the
subscription was created.

How it works
1. When a user subscribes to this service through Subscription Portal,
Subscription Portal determines that there is an additional question object
defined for this service. Subscription Portal retrieves the definition of the
value prompt from MicroStrategy Intelligence Server and shows that
prompt to the user (the threshold prompt).
2.

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

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.

Scenario 5: Personalized dynamic subscription

207

C
O
N
C
E
P
T
S

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

Choose Subscription
Sets Dialog Box

10.

10

The Choose Subscription Sets dialog box opens when multiple


subscription sets are associated with a service you are running. The dialog
box lets you select which subscription sets to use with the running service.
For information on running a service immediately, see Creating and
Managing Services and Schedules.
Accessing the Choose Subscription Sets dialog box

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

I
N
T
E
R
F
A
C
E

212

Chapter 10 Choose Subscription Sets Dialog Box

C H A PT E R

11

Desktop Document
Selector Dialog Box

11.

11

Using the Desktop Document Selector dialog box, you can select an
existing MicroStrategy Desktop document to send in a Narrowcast Server
service. These documents are already formatted and ready to be included.
You cannot open or edit a Desktop document from within Narrowcast
Server.
For more information on how to use MicroStrategy Desktop documents
within the services of your Narrowcast Server, see Creating Publications
and Content Section Documents, Documents, and Desktop documents.
Accessing the Desktop Document Selector dialog box

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

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.

If you select Excel, you can:

214

Chapter 11

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.

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.

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

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

220

Chapter 11

Desktop Document Selector Dialog Box

C H A PT E R

12

Dynamic Subscription
Set Wizard

12.

12

The Dynamic Subscription Set Wizard lets you to create and edit dynamic
subscription sets in the Subscription Book. You can specify SQL
statements to be executed before and after a dynamic subscription set
executes.
For more information on which information objects you want to include
for segmentation and subscription resolution, see Creating and Managing
Subscription Sets. For information on the SQL statements you want to
include for pre-processing and post-processing, see Subscription
Preferences.
Accessing the Dynamic Subscription Set Wizard

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

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

224

Chapter 12 Dynamic Subscription Set Wizard

C H A PT E R

13

Document Element
Properties Dialog Box

13.

13

Using the Document Element Properties dialog box, you can select a
different stylesheet and specify error handling rules for the selected
document element.
You can use these error handling rules to fail documents. When these
documents are set as required in the Publication Wizard, these rules can
be used to control whether or not publications are delivered to individual
recipients based on the data returned by information objects. For more
information, see Error handling.
Accessing the Document Element Properties dialog box

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

I
N
T
E
R
F
A
C
E

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:

I
N
T
E
R
F
A
C
E

MicroStrategy information source

Text documents:

226

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.

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.

HTML documents:

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.

Document Element Properties dialog box layout

227

I
N
T
E
R
F
A
C
E

I
N
T
E
R
F
A
C
E

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.

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

Excel documents:

228

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.

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.

Document Element Properties dialog box layout

229

I
N
T
E
R
F
A
C
E


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

Document Properties
Dialog Box

14.

14

The Document Properties dialog box allows you to choose an execution


locale for the current document. The execution locale defines how content
is gathered, formatted, packaged, and transmitted for a document. For most
documents, it also allows you to specify document-level error handling.
Document-level error handling is based on information objects and affects
the entire document. For Excel documents, this dialog box also allows you
to choose how column widths should be set for MicroStrategy reports.
Accessing the Document Properties dialog box

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

I
N
T
E
R
F
A
C
E

Document Properties dialog box layout


The Document Properties dialog box includes the following tabs:
General
Document-Level Error Handling

I
N
T
E
R
F
A
C
E

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.

234

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.

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.

Document Properties dialog box layout

235

I
N
T
E
R
F
A
C
E

I
N
T
E
R
F
A
C
E

236

Chapter 14 Document Properties Dialog Box

C H A PT E R

15

Excel Document
Editor

15.

15

The Excel Document Editor allows you to design Excel documents to


include in services. An Excel document is composed of a set of worksheets
that can contain static and dynamic text items. Static text is manually
entered, while dynamic text is loaded through information objects.
Use the Excel Document Editor to do the following:
Create an Excel document
Add multiple XML information objects with the same stylesheet in a
document
Select a different XSL stylesheet for an XML information object
For detailed instructions, see Creating Publications and Content Section
Documents.
Accessing the Excel Document Editor

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

I
N
T
E
R
F
A
C
E

Excel Document Editor layout


The Excel Document Editor is composed of the following elements:
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

I
N
T
E
R
F
A
C
E

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:

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.

I
N
T
E
R
F
A
C
E

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

240

Menu option

Function

New Document

Allows you to create a new document from within the document


editor

Open Document

Allows you to browse for an excel document to edit within the


document editor

Save

Saves the Excel document; if this is a new document, the Save


As dialog box opens

Save As

Saves the Excel document with a new name

Properties

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

Close

Closes the Document Editor; if changes have been made, you


are prompted if you want to save

Chapter 15 Excel Document Editor

Insert menu options


Menu option

Function

List of available
information sources,
for example,
MicroStrategy Tutorial
or User Information

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

New Information
Object

Opens the Select Information Source dialog box to begin


creating a new information object, which will be added to the
document

Existing Information
Object

Opens the Select Information Object dialog box to choose an


existing information object to insert.

Static Text

Inserts static text into the next available cell

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

I
N
T
E
R
F
A
C
E

242

Chapter 15 Excel Document Editor

C H A PT E R

16

Filter and Governing


Editor Dialog Box

16.

16

The Filter and governing editor dialog box allows you to restrict the
number of users or addresses, and the number of subscriptions to retrieve
when you open the Subscription Book or a subscription set. It also allows
you to define filters for the Users and addresses list as well as the
Subscription list.
For steps to create and use the Subscription Set, see Creating and
Managing Subscription Sets. For steps to use the Subscription Book, see
Managing a Subscription Book.
Accessing the Filter and governing editor

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

I
N
T
E
R
F
A
C
E

Filter and governing editor dialog box layout


The Filter and governing editor dialog box includes the following:
Define filter for: Select the list for which you want to define the filters
forthe Users and addresses list or the Subscription list.

I
N
T
E
R
F
A
C
E

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.

244

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.

Chapter 16 Filter and Governing Editor Dialog Box

C H A PT E R

17

HTML Document
Editor

17.

17

The HTML Document Editor allows you to create and format HTML
documents to include in services.
Using the HTML Document Editor you can:
Add multiple XML information objects with the same stylesheet in a
document
Edit an HTML document
Select a different XSL stylesheet for an XML information object
For more information on how to add documents to the service, see
Creating Publications and Content Section Documents.
Accessing the HTML Document Editor

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

I
N
T
E
R
F
A
C
E

HTML Document Editor layout


The HTML Document Editor is composed of the following elements:
A document element pane that displays the content of the document in
a hierarchical format and the properties of the currently selected
document element.

I
N
T
E
R
F
A
C
E

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

Function

New Document

Allows you to create a new document from within the document


editor

Open Document

Allows you to browse for an excel document to edit within the


document editor

Save

Saves the Excel document; if this is a new document, the Save


As dialog box opens

Save As

Saves the Excel document with a new name

Properties

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

Close

Closes the Document Editor; if changes have been made, you


are prompted if you want to save

View menu options


Menu option

Function

Document Element
List

Opens or closes the Document Element List

Editor

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.

Source

Displays, in the Content Definition pane on the right, the


HTML source code underlying the document

Preview

Displays, in the Content Definition pane on the right, a preview


of the HTML document; does not allow editing

HTML Document Editor layout

247

I
N
T
E
R
F
A
C
E

Insert menu options

I
N
T
E
R
F
A
C
E

Menu option

Function

List of available
information sources,
for example,
MicroStrategy Tutorial
or User Information

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

New Information
Object

Opens the Select Information Source dialog box to begin


creating a new information object, which will be added to the
document

Existing Information
Object

Opens the Select Information Object dialog box to choose an


existing information object to insert.

Picture

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

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

Function

Font...
Choose

Opens the Font dialog box to choose a font to apply to the


selected text

Bold

Bolds the selected text

Italic

Italicizes the selected text

Underline

Underlines the selected text

Alignment...

248

Left

Left-aligns the selected text

Center

Centers the selected text

Right

Right-aligns the selected text

Chapter 17 HTML Document Editor

Menu option

Function

Outdent

Moves the selected indented text back to the left

Indent

Indents the selected text

Foreground Color

Opens the Color dialog box to set the color of the text

Background Color

Opens the Color dialog box to set the background color of the
text

Numbered List

Formats the selected text into a numbered list

Bulleted List

Formats the selected text into a bulleted list

Table menu options


Menu option

Function

Create

Opens the Create Table dialog box to create a new table

Insert Row

Inserts a row above the selected row

Delete Rows

Deletes the selected row

Insert Column

Inserts a column to the left of the selected column

Delete Column

Deletes the selected column

Insert Cell

Inserts a cell to the left of the selected cell

Delete Cell

Deletes the selected cell

Merge Cells

Merges the selected cells

Split Cell

Splits the selected cells

Toolbar
The formatting and table menu options are replicated on the toolbar as
icons. Their use is described below.
Toolbar icon

Function

Open

Opens the Open Document dialog box to select a document to


open

Save and Close

Saves the file and exits the HTML Document Editor

Cut

Moves the selection to the clipboard

HTML Document Editor layout

249

I
N
T
E
R
F
A
C
E

I
N
T
E
R
F
A
C
E

Toolbar icon

Function

Copy

Copies the selection to the clipboard

Paste

Inserts the clipboards contents into the selected area

Insert

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

250

Bold

Bolds the selected text

Italic

Italicizes the selected text

Underline

Underlines the selected text

Choose Font

Opens the Font dialog box to choose a font to apply to the


selected text

Choose Foreground
Color

Opens the Color dialog box to set the color of the text

Choose Background
Color

Opens the Color dialog box to set the background color

Left Align

Left-aligns the selected text

Center

Centers the selected text

Right Align

Right-aligns the selected text

Toggle Numbered List

Formats the selected text into or out of a numbered list

Toggle Bulleted List

Formats the selected text into or out of a bulleted list

Outdent

Moves the selected indented text back to the left

Indent

Indents the selected text

Toggle Hidden Table


Borders

Hides or displays table borders

Toggle Hidden
Formatting Tags

Hides or displays formatting tags

Create Table

Opens the Create Table dialog box to create a new table

Insert Row

Inserts a row above the selected row

Delete Rows

Deletes the selected row

Insert Column

Inserts a column to the left of the selected column

Delete Columns

Deletes the selected column

Insert Cell

Inserts a cell to the left of the selected cell

Chapter 17 HTML Document Editor

Toolbar icon

Function

Delete Cells

Deletes the selected cell

Merge Cells

Merges the selected cells

Split Cell

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.

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

I
N
T
E
R
F
A
C
E

252

Chapter 17 HTML Document Editor

C H A PT E R

18

Imported Document
Editor

18.

18

The Imported Document Editor allows you to create a document from an


imported file. A file itself cannot be used in a publication, only documents.
Imported documents can be included in the publication as binary
attachments. You can import a new file or use an already imported file. For
information on importing a file, see Creating Publications and Content
Section Documents.
Accessing the Imported Document Editor

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

I
N
T
E
R
F
A
C
E

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

Import File Dialog Box

19.

19

The Import File dialog box imports a file to use as a stylesheet, template,
or attachment. An XSL stylesheet is applied at the document element level
and transforms the XML returned by an information object into a format
that can be used in a document. A template is used as the basis for creating
a new document. For example, an Excel template file sets the number of
worksheets in the document and can provide Excel macros as well.You can
import a zip file, associate it to a document, and then attach it to a
publication.

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

I
N
T
E
R
F
A
C
E

Import File dialog box layout


The Import File dialog box allows you to
Enter a Name for the imported file.
Specify the File Type which is initially set automatically. You can
change it by selecting a file type from the File Type list.

I
N
T
E
R
F
A
C
E

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.
I
N
T
E
R
F
A
C
E

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.

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

Information Object
Wizard

20.

20

The Information Object Wizard allows you to quickly create a new


MicroStrategy information object, which is a report with certain properties
that specify how to get data from a MicroStrategy Information Source. The
wizard allows you to create the following types of information objects:
Content, which supplies data for the document
Subscription, which provides a list of subscribers for the service
Segment, which specifies the first and last subscriptions for each
segment of the subscription set
The Information Object Wizard displays different pages depending on
which information object type, or role, you assign to your new information
object.
Accessing the Information Object Wizard

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

I
N
T
E
R
F
A
C
E

Prerequisites

Before you begin using the Information Object Wizard, you should:
Understand what an information object is
Know the difference between the various kinds of information objects

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

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

I
N
T
E
R
F
A
C
E

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

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.

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

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:
Address and User Information

I
N
T
E
R
F
A
C
E

Personalization (Authentication and Security, and Preference)

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,


Then:
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

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

I
N
T
E
R
F
A
C
E

Preferences can always be obtained from the Subscription book, report or


a constant.

I
N
T
E
R
F
A
C
E

Address ID

User ID

Authentication
and Security

Preference

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.

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

I
N
T
E
R
F
A
C
E

272

Chapter 20 Information Object Wizard

C H A PT E R

21

Modify Schedule
Queue Parameters
Dialog Box

21.

21

The Modify Schedule Queue Parameters dialog box allows you to change
the following parameters for the Delivery Engines scheduled services
queue:
How long to calculate the queue for each service.
The maximum number, up to 999, of scheduled executions to display.
For steps to modify the Schedule Queue Parameters, see Creating and
Managing Services and Schedules.
Accessing the Modify Schedule Queue Parameters dialog
box

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

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

New Document Dialog


Box

22.

22

The New Document dialog box allows you to choose whether to create a
new Narrowcast Server document or to link to an existing MicroStrategy
Desktop Report Services document. You can create an Excel, HTML,
imported, or plaintext document.
For steps to create a document, see Creating Publications and Content
Section Documents.
Accessing the New Document dialog box

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

I
N
T
E
R
F
A
C
E

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

Portal Administrator
Wizard

23.

23

The Portal Administrator Wizard allows you to configure the Subscription


Portal, create site definitions, configure data sources and portal layouts,
publish services and device types, select default services, and specify
information source properties and default portal preferences. The wizard
also allows you to manage the portal to allow end users to subscribe to a
variety of services through the MicroStrategy Web.
For more information about these features, see Managing a Channel,
Adding Database Connections in Subscription Portal, Managing Device
Types, Configuring Subscription Sets, and Creating and Managing Sites
and Subscription Portal.
Accessing the Portal Administrator Wizard

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

I
N
T
E
R
F
A
C
E

Portal Administrator Wizard layout


The Portal Administrator Wizard consists of the following areas:
System Configuration section
Site Management section

I
N
T
E
R
F
A
C
E

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

Description

Database connection name

Enter a name to refer to the connection you are


creating.

Database

Select the type of database (SQL Server,


Oracle, or DB2) from the drop-down list.

SequeLink server name

Enter the name of the computer on which


SequeLink is installed and running

ODBC data source name

Enter the name of the ODBC DSN on the


SequeLink computer, which corresponds to the
database to which you want to connect.

User name

Enter the login ID that the Subscription Portal


should use when it accesses the database.

Password

Enter the password that the Subscription Portal


should use when it accesses the database.

Confirm password

Retype the password for confirmation.

Number of pooled connections

Enter the number of external connections to


connect to the database server.

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 Database Connections in Subscription Portal and
Creating and Managing Sites and Subscription Portal.

Portal Administrator Wizard layout

279

I
N
T
E
R
F
A
C
E

The Site Management section consists of the following pages:


Overview page
Site Definition page The 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.

I
N
T
E
R
F
A
C
E

Summary page
These pages are explained in detail in the following sections.
Overview page

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 page The 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

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

I
N
T
E
R
F
A
C
E

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

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

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

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
Default use DHTML: Select one of the following options to determine
the use of DHTML on the users Web browser:

I
N
T
E
R
F
A
C
E

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.

286

Chapter 23 Portal Administrator Wizard

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

Portal Administrator Wizard layout

287

I
N
T
E
R
F
A
C
E


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

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


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

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

I
N
T
E
R
F
A
C
E

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

Plaintext Document
Editor

24.

24

The Plaintext Document Editor allows you to create and format a plaintext
document. You can add multiple XML information objects with the same
stylesheet in a document and also select a different XSL stylesheet for an
XML information object.
For steps to create a plaintext document, see Creating Publications and
Content Section Documents.
Accessing the Plaintext Document Editor

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

I
N
T
E
R
F
A
C
E

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

294

Menu option

Function

New Document

Allows you to create a new document from within the document


editor

Open Document

Allows you to browse for an excel document to edit within the


document editor

Save

Saves the Excel document; if this is a new document, the Save


As dialog box opens

Save As

Saves the Excel document with a new name

Chapter 24 Plaintext Document Editor

Menu option

Function

Properties

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

Close

Closes the Document Editor; if changes have been made, you


will be prompted if you want to save

Insert menu options


Menu option

Function

List of available
information sources,
for example,
MicroStrategy Tutorial
or User Information

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

New Information
Object

Opens the Select Information Source dialog box to begin


creating a new information object, which will be added to the
document

Existing Information
Object

Opens the Select Information Object dialog box to choose an


existing information object to insert.

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

I
N
T
E
R
F
A
C
E

296

Chapter 24 Plaintext Document Editor

C H A PT E R

25

Subscription Set
Properties Dialog Box

25.

25

The Subscription Set Properties dialog box allows you to add, remove, or
modify SQL statements to be used before and after subscription sets are
executed. Pre- and Post-SQL statements are optional for subscription set
execution. You can also enable one-time immediate delivery for
subscriptions that is similar to the Send Now functionality in
MicroStrategy Web.
For steps to create and use the subscription sets, see Creating and
Managing Subscription Sets.
Accessing the Subscription Set Properties dialog box

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

I
N
T
E
R
F
A
C
E

Subscription Set Properties dialog box layout


The Subscription Set Properties dialog box consists of the following tabs:
Pre-execution SQL Specification tab, which lists the SQL statements
that run before segmentation occurs.

I
N
T
E
R
F
A
C
E

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.

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

298

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

Description

Statement Name

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.

Login name

Enter the login for the database.

Password

Enter the password for this login.

Database

(Optional) Enter the name of the database. If this is


not specified, the default database is assumed.

Test Connection

Click to verify that this connection information is valid.

SQL Retries
Number of retries for failed
SQL statement executions

Select or enter a number to indicate the number of


times a failed SQL statement should retry before
stopping.

Service Execution Impact

Pre SQL

Post SQL

Optional

Errors in SQL statement


execution do not impact
service execution and a
minor error is logged.

Errors in SQL statement


execution do not impact
any subsequent PostSQL statements and a
minor error is logged.

Required

Stop service execution


and log an error if SQL
statement returns an:

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.

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

I
N
T
E
R
F
A
C
E

Box/Button Name

Description

Empty result set

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.

Error

I
N
T
E
R
F
A
C
E

SQL Definition
SQL Statement
Insert Parameter

300

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.

Chapter 25 Subscription Set Properties Dialog Box

C H A PT E R

26

Question Object
Dialog Set

26.

26

The Question Object dialog set is a series of dialog boxes that allow you to
quickly create a new question object, either from a MicroStrategy or User
Information Source. A question object is a set of questions that the end user
answers to personalize the content of an information object. They allow
services to be personalized at the information object, or report, level.

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

I
N
T
E
R
F
A
C
E

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

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

I
N
T
E
R
F
A
C
E

304

Chapter 26 Question Object Dialog Set

C H A PT E R

27

Service Editor

27.

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

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

I
N
T
E
R
F
A
C
E

Service Editor layout


The Service Editor has the following tabs:
Message Contents
Subscription Sets and Schedules

I
N
T
E
R
F
A
C
E

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

Function

New...

306

Service

Allows you to create a new service from within the Service


Editor

Publication

Opens the Publication Wizard so that you can create a new


publication from within the Service Editor

Schedule

Opens the Schedule Wizard so that you can create a new


schedule from within the Service Editor

Subscription Set

Opens the Subscription dialog box so that you can create a


new subscription set from within the Service Editor

Open Service

Allows you to save and close the service you are currently
defining and open a different existing service

Chapter 27 Service Editor

Edit menu option

Menu option

Function

Definition

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

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

I
N
T
E
R
F
A
C
E

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.

I
N
T
E
R
F
A
C
E

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.

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

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

I
N
T
E
R
F
A
C
E

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

I
N
T
E
R
F
A
C
E

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

Publication Wizard

28.

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

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

I
N
T
E
R
F
A
C
E

Publication Wizard layout


The Publication Wizard consists of the following pages:
Welcome
Name and Description

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

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.

I
N
T
E
R
F
A
C
E

The Remove button deletes the selected document from the document
section.

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

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

I
N
T
E
R
F
A
C
E

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

Defining when a
service is sent:
Schedule Wizard

29.

29

The Schedule Wizard allows you to quickly create a new schedule or edit
an existing schedule, which is the definition of the times or frequencies a
service is executed.

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

I
N
T
E
R
F
A
C
E

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.

Introduction

I
N
T
E
R
F
A
C
E

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

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

I
N
T
E
R
F
A
C
E

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

Static Subscription
Set Editor

30.

30

The Static Subscription Set Editor allows you to create a static subscription
set, and add and delete subscriptions to and from a subscription set. You
can also specify SQL statements to be executed before and after a static
subscription set executes, set properties for individual users and
subscriptions, and enable one-time immediate delivery similar to Send
Now in MicroStrategy Web.
For steps to operate the Static Subscription Set Editor, see Creating and
Managing Subscription Sets.
Accessing the Static Subscription Set Editor

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

I
N
T
E
R
F
A
C
E

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.
I
N
T
E
R
F
A
C
E

Subscription Set menu options


Menu option

Function

Save

Saves the subscription set

Exit

Closes the Static Subscription Set Editor

Edit menu options


Menu option

Function

Subscribe Addresses

Adds the address highlighted in the Subscription Book to the


Subscription Set

Delete Subscriptions

Deletes the selected subscription

Edit

Opens the Subscription Properties Editor for the selected


subscription or the User Properties Editor for the selected
user

Subscription Set
Properties

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

New User

Opens the User Properties Editor, in which you can add a


new user

Delete Users

Deletes the selected user or users

New Address

Opens the User Properties Editor for the selected user, in


which you can add a new address

Delete Addresses

Deletes the selected address or addresses

Static Subscription Set Editor layout

323

View menu options

I
N
T
E
R
F
A
C
E

Menu option

Function

Status Bar

Turns the status bar on or off

Refresh

Updates the selected list with the most current information

Tools menu options


Menu option

Function

Sort...
Ascending

Sorts the selected list in ascending order by the selected


column

Descending

Sorts the selected list in descending order by the selected


column

Filter and Governing


Editor

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

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.

Static Subscription Set Editor layout

325

I
N
T
E
R
F
A
C
E

I
N
T
E
R
F
A
C
E

326

Chapter 30 Static Subscription Set Editor

C H A PT E R

31

Service Wizard

31.

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

327

I
N
T
E
R
F
A
C
E

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 more information on the Service Editor, see Service Editor.

I
N
T
E
R
F
A
C
E

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.

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.

I
N
T
E
R
F
A
C
E

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

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

I
N
T
E
R
F
A
C
E

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).
Delete: Click to remove the selected subscription set or schedule from
this service.

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

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.

I
N
T
E
R
F
A
C
E

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.

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.

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

I
N
T
E
R
F
A
C
E

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.

General Service Settings dialog box

337

I
N
T
E
R
F
A
C
E

I
N
T
E
R
F
A
C
E

338

Chapter 31 Service Wizard

C H A PT E R

32

Subscription Book
Editor

32.

32

The Subscription Book Editor allows you to administer users and


addresses in the Subscription Book. You can also define personalization
for these users.
For steps to add these details in the Subscription Book Editor interface, see
Managing a Subscription Book.
Accessing the Subscription Book Editor

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

I
N
T
E
R
F
A
C
E

Subscription Book Editor layout


The Subscription Book Editor includes:
A list of users and addresses in the Subscription Book, including status,
address name, login ID, physical address, locale, device, and
transmitter.

I
N
T
E
R
F
A
C
E

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

Function

Exit

Closes the Subscription Book Editor

Edit menu options

340

Menu option

Function

New User

Opens the User Properties Editor, in which you can add a


new user

Delete Users

Deletes the selected user or users

Chapter 32 Subscription Book Editor

Menu option

Function

New Address

Opens the User Properties Editor for the selected user, in


which you can add a new address

Delete Addresses

Deletes the selected address or addresses

Edit

Opens the User Properties Editor for the selected user, in


which you can edit the user and addresses, add new
addresses, and define personalization for this user

I
N
T
E
R
F
A
C
E

View menu options


Menu option

Function

Status Bar

Turns the status bar on or off

Refresh

Updates the list with the most current information

Tools menu options


Menu option

Function

Sort...
Ascending

Sorts the list in ascending order for the selected field

Descending

Sorts the list in descending order for the selected field

Filter and governing


editor

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

Remove Filter

Removes the filter from the list for the selected field

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

I
N
T
E
R
F
A
C
E

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

Subscription Book
Synchronization
Wizard

33.

33

The Subscription Book Synchronization Wizard allows you to add new


users, delete obsolete users, remap users, import or update user attributes,
and import or update user personalization and subscription in the
Subscription Book.
For instructions on completing one of the above tasks, see Managing a
Subscription Book.
Accessing the Subscription Book Synchronization Wizard

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


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.
I
N
T
E
R
F
A
C
E

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

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:
Which addresses to create or update for each user

I
N
T
E
R
F
A
C
E

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>

Subscription Book Synchronization Wizard layout

349

I
N
T
E
R
F
A
C
E

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

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

I
N
T
E
R
F
A
C
E

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.

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.

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

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.

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.

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.

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.

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

I
N
T
E
R
F
A
C
E

Subscription Book Attribute File

A sample of this file is shown along with an explanation of how this


information is used.
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

I
N
T
E
R
F
A
C
E

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

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

I
N
T
E
R
F
A
C
E

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

I
N
T
E
R
F
A
C
E

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.

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.

MicroStrategy Intelligence Server User Export Tool

363

I
N
T
E
R
F
A
C
E

I
N
T
E
R
F
A
C
E

364

Chapter 33 Subscription Book Synchronization Wizard

C H A PT E R

34

Subscription
Properties Editor

34.

34

The Subscription Properties Editor allows you to modify subscription


properties for subscriptions within static subscription sets. Using the
Subscription Properties Editor, you can do the following:
Modify the subscriptions preferences for each information source.
Modify transmission properties.
Activate or deactivate this subscription.
Set an expiration date for this subscription.
Send a notification through e-mail when a file or print delivery is
complete.
For instructions on completing one of the above tasks, see Creating and
Managing Subscription Sets.
Accessing the Subscription Properties Editor

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

I
N
T
E
R
F
A
C
E

Subscription Properties Editor layout


The Subscription Properties Editor consists of the following tabs:
Preference tab
Transmission tab

I
N
T
E
R
F
A
C
E

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.

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

I
N
T
E
R
F
A
C
E

368

Chapter 34 Subscription Properties Editor

C H A PT E R

35

Subscription Dialog
Box

35.

35

The Subscription dialog box allows you to select the type of subscription
set you want to create: Static Subscription Set or Dynamic Subscription
Set. For steps to create and use a subscription set, see Creating and
Managing Subscription Sets.
Accessing the Subscription dialog box

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

I
N
T
E
R
F
A
C
E

370

Chapter 35 Subscription Dialog Box

C H A PT E R

36

User Properties Editor

36.

36

The User Properties Editor allows you to add users and address in the
Subscription Book, as well as define the personalization for a user. You can
also:
Add addresses to the Subscription Book
Edit users in the Subscription Book
Edit addresses in the Subscription Book
Delete addresses from the Subscription Book
Define personalization for a user
Assign a password for the user
Edit user information
For instructions on completing one of the above tasks, see Managing a
Subscription Book.
Accessing the User Properties Editor

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

I
N
T
E
R
F
A
C
E

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

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.

I
N
T
E
R
F
A
C
E

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

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

I
N
T
E
R
F
A
C
E

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:

I
N
T
E
R
F
A
C
E

Login Information dialog box to specify authentication


Prompt Resolution Wizard to specify authentication and security
Login Information dialog box

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

I
N
T
E
R
F
A
C
E

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.

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

Managing a Channel

37.

37

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.
H
O
W

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.

Click Next.

4.

Enter a name for the channel.

5.

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

D
O
I

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.

H
O
W

2.

Click Delete next to the channel to delete.

3.

In the confirmation window, click OK to delete the channel.

D
O
I

382

Chapter 37 Managing a Channel

C H A PT E R

38

Managing Device
Types

38.

38

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.
H
O
W

Create a new device type

D
O

Steps

1.

In the Site Preferences section, click Device Types. The Device


Types page opens.
2.

Click Create new device type. The New Definition page opens.

3.

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

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

H
O
W

5.

D
O
I

Use the toggle switch and move the selected folders to the Selected

list.
Click Next to proceed to the Name and Description page.

Delete a device type


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

Click Delete next to the device type to delete.

3.

Click Yes to confirm the deletion.

Reconfigure a device type definition


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

384

Click definition next to the device type to reconfigure.

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

H
O
W

Steps

D
O

1.

In the Site Preferences section, click Device Types. The Device


Types page opens.
2.

Click rename next to the device type to rename.

3.

Type the new name of the device.

4.

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

Creating Information
Objects and Question
Objects

39.

39

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

H
O
W
D
O
I

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

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.

H
O
W

1. Right-click Applications, point to New, and then click Information


Object. The Select Information Source dialog box opens.

D
O

2. Double-click the MicroStrategy information source to use. The


Information Source Wizard opens.

3.

Choose Content Information Object to create an information


object used as document content only.
4.

Click Next. The Report page opens.

5.

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.

6. Click Advanced Options. The Advanced Properties dialog box


opens.
7.

Click the Report Execution tab.

8.

In the Personalization Mode section, select Personalized page


execution. One report is used for multiple personalization sets by dividing
the report results into pages on the Delivery Engine.

388

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.

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:

D
O
I

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

H
O
W

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.
2. Double-click the MicroStrategy information source to use. The
Information Source Wizard opens.

H
O
W

3.

Choose Content Information Object to create an information


object used as document content only.

D
O
I

4.

Click Next. The Report page opens.

5.

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.

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

Click the Report Execution tab.

8.

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.

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

H
O
W
D
O
I

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.
3. Choose Subscription Information Object to create an information
object used for subscription information.
4.

Click Next. The Source of Subscription Information page opens.

5.

Make the appropriate selection and click Next. One of the following
pages opens:

H
O
W

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.

D
O
I

6. Select the report or filter to use for subscription information. A report


must contain segmentation prompts and at least one page by attribute.

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

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.

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

H
O
W
D
O
I

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

Create a MicroStrategy segment information object


Steps

D
O

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

Choose Segment Information Object to create an information


object that defines segment boundaries for subscriptions.
4.

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.

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.

6.

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.

9.

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

Click OK. You are returned to the Report page.

10. Click Next. The Segment Size page opens.


11. Select the prompt which controls the Segment size returned by the
report.

D
O

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.

Type a Name and Description for the new question object.

4.

Click Define. The Question Object Browser dialog box opens.

5.

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.

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.

H
O
W
D
O

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.

Click OK. You are returned to the New Question Object dialog box.

8.

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.

On the Report page of the Information Object Wizard, click


Advanced Options to open the Advanced Properties dialog box.

2.

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.

Click the Question Object tab.

3.

Clear the Gather preferences using a question object check box.

4.

Click OK. You are returned to the Report page.

H
O
W
D
O

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

Steps

D
O

1.

On the Report page of the Information Object Wizard, click


Advanced Options.The Advanced Properties dialog box opens.

2.

Click the Error handling tab.

3.

Select the Fail segment if Information Object fails check box, to


fail the complete segment if the Information Object fails.
4.

398

Click OK to return to the Report page.

Chapter 39 Creating Information Objects and Question Objects

C H A PT E R

40

Adding Database
Connections in
Subscription Portal

40.

40

This chapter describes procedures to add new database connections to


connect to the subscription portal. 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

D
O

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 .

H
O
W

This name is displayed in the Database connections list on the


Portal Repository page, after the new dababase connection is
created.

4.

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 .
6. In the ODBC data source name field, type the ODBC DSN as
defined on the computer on which the SequeLink server is running.

399

7.

Type the User name that the Subscription Portal should use to
connect to this database.

8.

Type the Password that corresponds to this User name.

9.

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.

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.

H
O
W

Select an Object Repository

D
O

Steps

1. In the Site Management section, on the Object Repository page,


choose the database connection that contains the Object Repository.
2.

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.

400

2.

Choose the database connection that contains the Portal Repository.

3.

Type the Tables prefix for the Portal Repository.

4.

Click Next to continue with the Subscription Portal configuration.

Chapter 40 Adding Database Connections in Subscription Portal

Select a Subscription Book Repository


Steps
1. In the Site Management section, on the Subscription Book
Repository page, choose the database connection that contains the
Subscription Book Repository.
2.

Type the Tables prefix for the Subscription Book Repository.

3.

Click Next to continue with the site definition.

H
O
W
D
O
I

Select a Subscription Book Repository

401

H
O
W
D
O
I

402

Chapter 40 Adding Database Connections in Subscription Portal

C H A PT E R

41

Creating Publications
and Content Section
Documents

41.

41

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.

D
O

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.

2. From the Insert menu, select Existing Information Object. The


Select Information Object dialog box opens.
3.

Select an information object and click OK. You are returned to the
document editor and a document element is automatically created.

H
O
W

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

Click Browse and select a different stylesheet file, then click OK to


return to the document editor.
403

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

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.

D
O

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.

Click OK. You are returned to the document editor.

8.

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.

D
O

Steps
1.

Open an Excel workbook.

2.

Click the Button icon from the Forms toolbar.

To view the Forms toolbar, select View>Toolbars>Forms.

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

H
O
W

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
Steps

H
O
W

1. Right-click the Applications folder, point to New, and then select


Document. The New Document dialog box opens.

D
O

2.

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.

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.

8.

Click the Document Excution tab. Set the cache properties of the
document from the Document cache properties section.
9.

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.

H
O
W

2.

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.

3.

Launch the Chart Wizard by selecting Chart from the Insert menu.

4.

Select the chart type and the charts characteristics.

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

D
O
I

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.
H
O
W

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.

D
O

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.

408

Chapter 41 Creating Publications and Content Section Documents

Relative Bottom: The item is offset from the bottom 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.

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.

Relative Right: The item is offset from the right 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.

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

H
O
W
D
O
I

Create an HTML document


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

3.

D
O
I

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.

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.

7.

410

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,

Chapter 41 Creating Publications and Content Section Documents

Select the text to be hyperlinked in the content definition pane .

From the Insert menu, select Hyperlink. The Hyperlink dialog box
opens.

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.

H
O
W

From the Table menu, select Create. The Create Table dialog box
opens.

Type the Number of Rows and the Number of Columns.

D
O

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.

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 HTML document

411

Create an imported document


This procedure is used to import a new file and then associate the file with
a document.
Steps
1. Right-click the Applications folder, point to New, and then choose
Document. The New Document dialog box opens.
2. Double-click Imported Document. The Imported Document Editor
dialog box opens.
3.

Choose Create a new imported file and click OK. The Import File
dialog box opens.

H
O
W

4.

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.

D
O

6.

Click the browse button to locate the file. The Open dialog box
opens.

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

Click OK. The Save As dialog box opens.

9.

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.

412

Chapter 41 Creating Publications and Content Section Documents

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

Click OK. You are returned to the document editor.

Create a new information object in a document

413

H
O
W
D
O
I

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

H
O
W

To create a new information object and add it to the document, see


Create a new information object in a document.

D
O

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

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

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.

4.

414

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.

Chapter 41 Creating Publications and Content Section Documents

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.

You cannot alter the locale after the publication is saved.

Click Next. The Supported Devices page opens.

9. From the Available list, select the devices to use and click Add to
add them to the Selected list.
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.

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.


Create a publication

415

H
O
W
D
O
I

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.

Import a file
Steps
1. Right-click the Applications folder, point to New, and then select
Imported File. The Import File dialog box opens.

H
O
W

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.

D
O

4.

Click the Browse button to locate the file. The Open dialog box
opens.

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.

5. Select the file to be imported and click Open. You are returned to the
Import File dialog box.
6.

Click OK. The Save As dialog box opens.

7.

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.

416

Chapter 41 Creating Publications and Content Section Documents

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.

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.

3.

Select the file to be imported and click Open. You are returned to the
Import File dialog box.
4.

Click OK.

D
O

You cannot change the File Type and Character Set of the file.

Select a locale for a document


This applies to Excel, HTML, and plain text documents.
Steps
1. Create a new document (Excel, HTML, or plain text) or edit an
existing document.
2.

H
O
W

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.

Click OK to return to the document editor.

5.

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.

Reimport a file to update it

417

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.

In the Document Element Properties dialog box, click Browse and


select the stylesheet file you want to use in this document.

4.

Click OK to return to the document editor.

5.

Click Save and close to return to the Narrowcast Administrator.

H
O
W
D
O

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.

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:

418

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.

Chapter 41 Creating Publications and Content Section Documents

4. Select the appropriate check boxes to specify how to apply this error
handling rule:

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.

Click OK to return to the document editor.

6.

Click Save and close to return to the Narrowcast Administrator.


H
O
W

Specify error handling rules for a document


element

D
O
I

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


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

Click OK to return to the document editor.

5.

Click Save and close to return to Narrowcast Administrator.

Specify error handling rules for a document element

419

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

H
O
W

1. Right-click the object in Narrowcast Administrator and select


Properties from the menu. The Properties dialog box opens.

D
O

2.

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

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

Chapter 41 Creating Publications and Content Section Documents

3.

Edit the document elements containing these reports and apply the
MSTR7ToHTML-ReturnXML.xsl stylesheet.

4.

Set the information transmitter used for this service to save messages
to file only.
5.

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

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.

View the results of XSL stylesheets applied to various reports

H
O
W
D
O
I

421

H
O
W
D
O
I

422

Chapter 41 Creating Publications and Content Section Documents

C H A PT E R

42

Creating and
Managing Services
and Schedules

42.

42

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

H
O
W
D
O

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

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

H
O
W

3.

D
O

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.

Repeat steps 6 and 7 as necessary.

8.

Click Next. The Subscriptions and Schedules page opens.

9.

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

H
O
W
D
O
I

1. Right-click the Applications folder, point to New, then select


Service (Editor). The Service Editor opens.
2.

On the Message Contents tab, from the Locale drop-down list,


select the Locale for which to define publications.

3.

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

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.

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

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.

D
O
I

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.

The General Properties tab allows you to specify the following


options:

426

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.

9.

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

10. When you complete all the tabs, click Save and Close. The Save
Service dialog box opens.

D
O

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.

The option to zip attachments is not available with the SMS


(SMPP) delivery method.

Steps
1.

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

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.

H
O
W

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.

D
O
I

For reports subscribed through Narrowcast Server, edit the service that is
used to deliver Excel file attachments:

The steps listed below are applicable to services for both file
and email deliveries.

1. Right-click the service and select Edit with Service Wizard. The
Service Wizard opens.
2. On the Message Contents section, browse to the Excel file
attachment.
3.

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.

Click OK to save the changes and return to the Service Wizard.

7.

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.

Close the Object child dependencies dialog box.

D
O

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

H
O
W

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.

4.

Click Next. The Recurrence Pattern page opens.

5.

Select one of the following options to specify the recurrence pattern.

H
O
W

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.

D
O
I

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.

6.

Select a start date for the schedule.

7.

Click Next. The Interval page opens.

8.

Select the time zone on which to base the service execution time.

9.

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.

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


schedule.

12. Click Next. The Summary page opens.

430

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.

H
O
W

2. Select Set Queue Parameters. The Modify Schedule Queue


Parameters dialog box opens.

D
O

3. Select the number and unit of measure to set how far into the future
the service queue shows service executions.
4.

Select the Maximum scheduled service executions to display, up to

999.
5.

Click OK.

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, refer to the
MicroStrategy Narrowcast Server System Administrator Guide, chapter 3,
Configuring Machines, Clustering section.

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

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.

D
O
I

432

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.

Chapter 42 Creating and Managing Services and Schedules

C H A PT E R

43

Configuring
Subscription Sets

43.

43

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.
H
O
W

Configure a dynamic subscription set

D
O

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.

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

6.

Set the options for the page by questions and click Next.

D
O

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.

434

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.

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.

Click Next to proceed to the Dynamic Subscriptions page.

5.

Click the configure link next to the dynamic subscription set.

6.

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.

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
1. In the Services Configuration section, on the Overivew page,
review the Default Service Configuration settings.

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

D
O
I

Steps

2.

H
O
W

435

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).
7. Click OK and then click Next to proceed to the Dynamic
Subscriptions page.

Select an alternate question


Steps
H
O
W

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.

D
O

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

H
O
W

Steps

D
O

1.

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.

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

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.

3.

Select one or more question components and drag each of them to


one of the table columns on the right.

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

Creating and
Managing Sites and
Subscription Portal

44.

44

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.

D
O

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.

Type the new Portal name.

3.

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.

Select the portal to be configured.

3.

Click OK.

H
O
W

441

Edit a site definition


Steps
1.

In the Site Management section, on the Site Definition page, select


a site from the list.

H
O
W
D
O

2.

Click Edit.

3.

Edit the Name and Description boxes.

4.

Click Next.

5.

Select the Object Repository.

6.

Click Next.

7.

Select the Subscription Book Repository.

Add a new site definition

Steps
1.

In the Site Management section, on the Site Definition page, click


Add a new site definition.

2.

Type a Name for the site definition.

3.

Type a Description of the site.

4.

Click Next.

5.

Select the database connection where the Object Repository is stored.

6.

Enter the table prefix for the Object Repository.

7.

Select the Use same database connection for the Subscription


Book Repository check box.

8.

442

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.

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

Click Delete next to the site definition to be deleted. The delete a


database connection page opens.
3.

Click OK.

Delete a Subscription Portal


This removes a virtual directory without modifying the definition of the
site.
Steps

H
O
W
D
O
I

1.

In the Site Management section, on the Site Definition page, click


the link labeled click here.
2.

Select a portal from the list.

3.

Click Delete.

4.

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

Creating and
Managing
Subscription Sets

45.

45

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

D
O

Steps

1. In the Static Subscription Set Editor, select a subscription in the


Subscription Set box, then select Edit from the Edit menu.
2.

H
O
W

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.
2. Click Subscribe Addresses. You may not see the subscription you
added if your filter excludes it.

445

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.

H
O
W

2. In the Subscription Set Properties dialog box, click the Postexecution SQL Specification tab.

D
O
I

3.

Click Add to display the SQL Statements dialog box.

4.

Enter or specify the information as needed.

5. Click OK to return to the Post-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.

Add SQL statements to be executed before


segmentation occurs
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 Preexecution SQL Specification tab.
3.

446

Click Add to display the SQL Statements dialog box.

Chapter 45 Creating and Managing Subscription Sets

4.

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.

Create a dynamic subscription set


Steps
1.

H
O
W

Start Narrowcast Administrator.

2. Right-click the Applications folder, select New, then select


Subscription Set. The Subscription dialog box opens.

D
O

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.
12. Click Save to return to Narrowcast Administrator.

Create a dynamic subscription set

447

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

H
O
W

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.

D
O
I

5.

Click Save and Close. The Save Subscription Set dialog box opens.

6.

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

7.

Click Save to return to the Narrowcast Administrator console.

Delete a subscription from a subscription set


Steps
1.

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.

448

Click Yes.

Chapter 45 Creating and Managing Subscription Sets

Delete a subscription set


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

Browse to find the subscription set you want to delete.

3.

Right-click the subscription set and select Delete.

4.

In the Confirm Object Delete dialog box, click Yes.

Enable send now delivery

H
O
W

Steps

D
O

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


Subscription Set Properties.
2.

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.

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.

4.

Click OK to return to Static Subscription Set Editor.

Modify the subscription preferences for each


information source
Steps
1.

In the Static Subscription Set Editor, select a subscription in the


Subscription Set box, then from the Edit menu select Edit.

Delete a subscription set

449

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

5.

D
O

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


required.

7.

Make the appropriate selections and click Finish. You are returned to
the Subscription Properties Editor - Preference tab.

To remove preferences from a personalized object, select the


appropriate personalized object and select [default user preference] from
the Default User Preference drop-down list.
8.

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.

Click the Transmission tab.

3.

In the Transmission Properties section, select the appropriate


properties.

450

Chapter 45 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
H
O
W

1.

In the Static Subscription Set Editor, select a subscription in the


Subscription Set box, then from the Edit menu, select Edit.
2.

D
O

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.

Click the Status tab.

3.

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

451

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.

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.

H
O
W

3. In the Static Subscription Set Editor, from the Tools menu, select
Filter and governing editor. The Filter and governing editor opens.

D
O

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.

6.

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.

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.

452

Chapter 45 Creating and Managing Subscription Sets

C H A PT E R

46

Managing a
Subscription Book

46.

46

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

D
O

Steps
1.

Launch the Narrowcast Administrator console.

2.

From the Tools menu, select Open Subscription Book.

3.

Select the user for whom you want to add a new address.

4.

From the Edit menu, select New Address. The User Properties
Editor - Addresses tab opens.
5.

H
O
W

Click New Address.

6. Enter a name for the address, which appears in the Available


Addresses list.
7.

Enter the actual address to which messages will be sent in the


Physical Address box.
8.

Enter a display for the address in the Address Display box.

9.

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.

453

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

H
O
W
D
O

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

Add a user to the Subscription Book


Steps
1.

Launch the Narrowcast Administrator console.

2.

From the Tools menu, select Open Subscription Book.

3.

On the toolbar, click New User.

4.

On the Login tab, enter a login ID for the user in the Login ID box.

5.

To specify password information for this user, enter a password in the


Enter Password and Confirm Password boxes.
6.

To provide a password hint for the user, enter text in the Hint box.

7.

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.

454

Chapter 46 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

H
O
W

Narrowcast Administrator console.

D
O

Add authentication and security personalization to


a user in the Subscription Book
Steps
1.

Launch the Narrowcast Administrator console.

2.

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

455

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.

Launch the Narrowcast Administrator console.

2.

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.

Give the user preference a name and description.

7.

To use this user preference as the user-level preference for this


question object, select the Use this profile as the default check box.
8. Click Answer to specify a preference. The Prompt Resolution
Wizard opens.
9. Make the appropriate selections and click Next to go to the next page
of the wizard.

456

Chapter 46 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

H
O
W

Steps
1.

D
O

Start Narrowcast Administrator.

2.

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

Select the address you want to delete.

4.

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.

Deleting an address deletes all subscriptions for that address.

Delete a user from the Subscription Book


Steps
1.

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

457

4.

On the toolbar, click Delete Users.

5.

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.

Deleting a user deletes all addresses and subscriptions belonging


to that user.

Edit an address in the Subscription Book


H
O
W

Steps

D
O

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

3.

Select the address you want to edit.

4.

From the Edit menu, select Edit.

5.

Click the Addresses tab.

1.

Start Narrowcast Administrator.

6.

From the Available Addresses list, select the address you want to
modify.

7.

Modify the information as needed.

8.

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.

458

Select the user you want to edit.

Chapter 46 Managing a Subscription Book

4.

From the Edit menu, select Edit.

5.

Modify the information on each tab as needed.

6.

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.

D
O

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.

Click Next to go to the Synchronization Options page.

4.

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

H
O
W

459

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


17. Select source file attributes to use for the other address properties, as
required.

H
O
W

18. Click Next to go to the User Addition or Mapping page.


19. To add, exclude, and remap new users, choose from the following:

D
O

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.

460

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

Click Next to go to the Synchronization Options page.

4.

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

461

H
O
W
D
O
I

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.

Click Next to go to the Synchronization Options page.

4.

Select the synchronization type.

5.

From the Source Type drop-down list, select the synchronization


source file format.

H
O
W

6.

Type the synchronization source file location.

7. Click Synchronize Settings. The Synchronization Settings dialog


box opens.

D
O

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.

462

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

Start Narrowcast Administrator.

2.

From the Tools menu, select Synchronize Subscription Data. The


Welcome page of the Subscription Book Synchronization Wizard opens.

3.

Click Next to go to the Synchronization Options page.

4.

Select the synchronization type.

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

D
O
I

5. From the Source Type drop-down list, select the synchronization


source file format.
6.

H
O
W

463

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

1.

Start Narrowcast Administrator.

2.

From the Tools menu, select Synchronize Subscription Data. The


Welcome page of the Subscription Book Synchronization Wizard opens.

D
O
I

3.

Click Next to go to the Synchronization Options page.

4.

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

464

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

H
O
W

19. Click Next to go to the Review page.

D
O

20. Review the information and click Next to run the synchronization

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

465

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.

Click Next to go to the Synchronization Options page.

4.

From the Source Type drop-down list, select the synchronization

H
O
W

type.
5.

Type the synchronization source file format.

D
O

6.

Specify the synchronization source file location.

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:

466

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.

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

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.

H
O
W
D
O
I

Synchronize users

467

H
O
W
D
O
I

468

Chapter 46 Managing a Subscription Book

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.

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

A
P
P
E
N
D
I
X
E
S

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.

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

A
P
P
E
N
D
I
X
E
S

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,
is the original current name and extension of
the attachment that requires a name change.

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

is the current name and extension of the


second attachment that requires a name change.

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

Dynamically changing attachment name

475

A
P
P
E
N
D
I
X
E
S

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.

A
P
P
E
N
D
I
X
E
S

The syntax to be used in the execution control document is as follows:


ChangeAttachmentName=My Saved Documents.html=[IO].html

where,
My Saved Documents.html

requires a name change.

[IO]

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.

476

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

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:

ChangeAttachmentName=MyAttachments.html=[IO].html

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


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.

Create a report using the attribute "Manager" in the page-by field.

2.

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:

ChangeAttachmentName=MyAttachments.html=[IO].html

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


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.

My Zipped File.zip

name change.

NewZipName.zip

A
P
P
E
N
D
I
X
E
S

is the current name of the zip file that requires a

is the new name of the zip file.

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
A
P
P
E
N
D
I
X
E
S

Examples
SenderDisplayName=MicroStrategy
ReplyToDisplayName=MicroStrategy
Importance=high
RequestDeliveryStatusNotificationOnSuccess=yes
RequestDeliveryStatusNotificationOnFailure=no

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.

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

is the current name of the file that requires a name

NewFileName.html

is the new name for the file.

change.

Example
SaveDocumentAs=HTMLDocument1.html=Sales Report.html

When you execute the service, the attached HTMLDocument1.html file is


renamed as Sales Report.html.

481

A
P
P
E
N
D
I
X
E
S

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

is the current name of the first file that requires a

NewFileName1.html

is the new name for the first file.

name change.

OldFileName2.html is the current name of the

name change.

NewFileName2.html

second file that requires a

is the new name for the second file.

Example
SaveDocumentAs=HTMLDocument1.html=Sales
Report1.html|HTMLDocument2.html=Sales Report2.html

When you execute the service, the attached HTMLDocument1.html and


HTMLDocument2.html files are renamed as Sales Report1.html and
Sales Report2.html.

A
P
P
E
N
D
I
X
E
S

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,

A
P
P
E
N
D
I
X
E
S

is the current name of the file and extension that


requires a name change.

OldFileName.zip
NewFileName.doc

is the new name and extension of the file.

Example
SaveDocumentFileExtensionAs=
HTMLFileName.zip=SalesReport.doc

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.

Syntax rules

A
P
P
E
N
D
I
X
E
S

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.

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,
My Saved Documents.html

name change.

[IO]

is the current name of the file that requires a

is the placeholder for the Information Object icon.

Dynamically changing a file name

485

A
P
P
E
N
D
I
X
E
S

To add the Information Object, choose Existing Information Object from


the Insert menu of the File Execution Control Editor.

Example to dynamically rename the 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

3.

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.

486

Click Next. The File Content page is displayed.

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.

A
P
P
E
N
D
I
X
E
S

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

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.

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

A
P
P
E
N
D
I
X
E
S

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.

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

A
P
P
E
N
D
I
X
E
S

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.

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.

A
P
P
E
N
D
I
X
E
S

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

is the current name of the zip file that requires a

NewZipFileName.zip

is the new name of the zip file.

name change.

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

OldFileName2.pdf is the current name of the second file


OldZipFileName.zip file that requires a name change.
[IO]

the

within the

is the placeholder for the Information Object icon.

Example

A
P
P
E
N
D
I
X
E
S

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.

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.

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

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.

YYY

Valid TON values

Description

Unknown

International

National

495

A
P
P
E
N
D
I
X
E
S

Valid TON values

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 :

A
P
P
E
N
D
I
X
E
S

Valid NPI values

Description

Unknown

ISDN/Telephone
(E.164/E.163)

Data (X.121)

Telex

National

Private

10

ERMES (ETSI DE/PS 3 01-3)

15

Reserved

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

Description

YY

last two digits of the year (00-99)

MM

month (01-12)

DD

day (01-31)

hh

hour (00-23)

mm

minute (00-59)

ss

second (00-59)

tenths of second (0-9)

nn

time difference in quarter hours between local time (as


expressed in the first 13 octets) and UTC (Universal Time
Constant) time (00-48)

p-+

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

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.

Syntax to specify expiration/validation date


Expire=XXX

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

XXX

Example
Expire=081201000000+

This sets the expiration date to December 1, 2008.


Specifying Expiration/Validation Date

497

A
P
P
E
N
D
I
X
E
S

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

A
P
P
E
N
D
I
X
E
S

498

4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

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

1
0
1
0
1

1
x
x
x
x

1
x
x
x
x

1
x
x
x
x

1
x
x
x
x

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

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.

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

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.

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

A
P
P
E
N
D
I
X
E
S

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.

A
P
P
E
N
D
I
X
E
S

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

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
A
P
P
E
N
D
I
X
E
S

row

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

Purpose

pt-container

The root tag of a plaintext XML document element.

text

A string of text that is inserted directly into the plaintext


document. Afterwards, character replacement will be
performed.

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.

Plaintext XML format

503

Tag Name

Purpose

row

An individual row of data in a table. There must be at least one


row in each table.

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.

pt-container

The root tag of a plaintext XML document element.


Parent tags

None
Child tags

text, table
text

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.

A
P
P
E
N
D
I
X
E
S

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
A
P
P
E
N
D
I
X
E
S

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>

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

A
P
P
E
N
D
I
X
E
S

2000

1999

New York

$150k

$138k

Boston

$82k

$86k

Providence

$91k

$76k

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.

Excel XML format

507

A
P
P
E
N
D
I
X
E
S

pt-container
table
fonts
font
styles
style
formats
format
row
cell

A
P
P
E
N
D
I
X
E
S

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.

508

Tag Name

Purpose

pt-container

The root tag of an Excel document element.

table

A collection of data cells arranged in rows and columns, along


with the formatting instructions for each cell.

fonts

A collection of font definitions used in style definitions.

font

The definition of a specific font including typeface, size, color,


weight, and modifiers.

styles

A collection of style definitions used to control cell formatting.

style

The definition of a specific style, including font as defined in a


font tag, background color, orientation, alignment, and borders.

formats

A collection of format strings controlling number and date


formatting.

Appendix D XML for Narrowcast Server Objects

Tag Name

Purpose

format

An Excel-compatible format string.

row

An individual row of data in a table. There must be at least one


non-empty row in each table.

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

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

A
P
P
E
N
D
I
X
E
S

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

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.

A
P
P
E
N
D
I
X
E
S

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

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

A
P
P
E
N
D
I
X
E
S

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

A
P
P
E
N
D
I
X
E
S

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

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

A
P
P
E
N
D
I
X
E
S

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
? adds a space so that values with different numbers of significant digits
align along the decimal point or division character, for example, "/"

A
P
P
E
N
D
I
X
E
S

Examples of valid format string values and their effects on numeric data:
Positive Number

Negative Number

Format String

1234.567

-1234.567

1235

-1235

#,##0

1,235

-1,235

0.00; (0.00)

1234.57

(1234.57)

0%

123457%

-123457%

00.0,

01.2

-01.2

# ??/??

1234 55/97

-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

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

A
P
P
E
N
D
I
X
E
S

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.

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.

A
P
P
E
N
D
I
X
E
S

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

12-Blue

13-Yellow

14-Pink

15Turquoise

16-Dark
Red

17-Green

18-Dark
Blue

19-Dark
Yellow

20-Violet

21-Teal

22-Gray25%

23-Gray50%

40-Sky
Blue

41-Light
Turquoise

42-Light
Green

43-Light
Yellow

44-Pale
Blue

45-Rose

46Lavender

47-Tan

48-Light
Blue

49-Aqua

50-Lime

51-Gold

52-Light
Orange

53-Orange

54-Bluegray

55-Gray40%

56-Dark
Teal

57-Sea
Green

58-Olive
Green

59-Olive
Green

60-Brown

61-Plum

62-Indigo

63-Gray80%

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>

Excel XML format

A
P
P
E
N
D
I
X
E
S

519

<cell style="data" type="5"


format="2">861300.0</cell>
</row>
<row>
<cell style="RHeader" type="8">Providence</cell>
<cell>912800.0</cell>
<cell>760100.0</cell>
</row>
</table>
</pt-container>

In Excel, the result resembles this:


2000

1999

New York

$1,350 k

$1,388 k

Boston

$ 820 k

$ 861 k

Providence

$ 913 k

$ 760 k

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

Purpose

atts

The root tag of an attachment list XML

att

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

A
P
P
E
N
D
I
X
E
S

None
Child tags

att
att

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
P
P
E
N
D
I
X
E
S

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>

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.

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

A
P
P
E
N
D
I
X
E
S

Authentication
Security
Time zone constants

User properties
Login ID

Password

Data type:

text

Restrictions:

127 characters, unique

Sample:

user1

Data type:

text

Restrictions:

250 characters

Sample:

pwd

Default:

password

525

Password hint

Locale

User status

A
P
P
E
N
D
I
X
E
S

User expiration date:

Data type:

text

Restrictions

250 characters

Sample:

hint

Default:

password hint

Data type:

GUID

Restrictions:

32 characters

How to get it:

Object Repository

Sample:

FBBF7C1E37EC11D4887C00C04F48F8FD

Default:

FBBF7C1E37EC11D4887C00C04F48F8FD

Data type:

Boolean

Restrictions:

0 (inactive) or 1 (active)

Sample:

Default:

Data type:

date

Sample:

12/30/9999

Default:

12/30/9999

Address properties
Address name

Physical address

526

Data type:

text

Restrictions:

250 characters

Sample:

work e-mail

Default:

Default Address

Data type:

text

Restrictions:

250 characters

Sample:

user1@work.com

Default:

Physical Address

Appendix E Synchronization Data Types

Address display

Device

PIN

Delivery window

Time zone

Address status

Data type:

text

Restrictions

250 characters

Sample:

User 1

Default:

Address Display

Data type:

GUID

Restrictions:

32 characters

How to get it:

Object Repository

Sample:

1D2E6D168A7711D4BE8100B0D04B6F0B

Default:

1D2E6D168A7711D4BE8100B0D04B6F0B

Data type:

text

Restrictions:

250 characters

Sample:

5555

Default:

0000

Data type:

binary

How to get it:

Subscription Book Repository

Sample:

0x000000000000000000000000000000000000000000000000

Default:

0x000000000000000000000000000000000000000000000000

Data type:

integer

Restrictions:

see Time zone constants

How to get it:

see Time zone constants

Sample:

21

Default:

21

Data type:

boolean

Restrictions:

0 (inactive) or 1 (active)

Sample:

Default:

Address properties

A
P
P
E
N
D
I
X
E
S

527

Address expiration date

Data type:

date

Sample:

12/30/9999

Default:

12/30/9999

Subscription set
Subscription set

Data type:

text

Sample:

finance department

Data type:

xml

How to get it:

Subscription Book Repository

Sample:

<UserDetail><First_Name Name="First Name" Default="0"


Value="John"/><Last_Name Name="Last Name"
Default="0"/><Middle_Initial Name="Middle Initial"
Default="0"/><Suffix Name="Suffix" Default="0"/><Salutation
Name="Salutation" Default="0"/><Zip_Code Name="Zip Code"
Default="0"/><Title Name="Title" Default="0"/></UserDetail>

Preference
Preference

A
P
P
E
N
D
I
X
E
S

Authentication
Authentication

528

Data type:

xml

How to get it:

Subscription Book Repository

Sample:

AuthUserName="Administrator" AuthUserPwd="pwd"
AuthUserID="54F3D26011D2896560009A8E67019608"

Appendix E Synchronization Data Types

Security
Security

Data type:

xml

How to get it:

Subscription Book Repository

Sample:

SecurityObject="A6DE4BA111D3ADA0C0002B91E22B284F:8"
SecurityObjName="Sector Group = T"

Time zone constants


Time zone

City

Constant

(GMT+04:00)

Abu Dhabi, Muscat

(GMT+09:30)

Adelaide

(GMT-09:00)

Alaska

(GMT+06:00)

Almaty, Dhaka

10

(GMT+01:00)

Amsterdam, Copenhagen, Madrid, Paris, Vilnius

40

(GMT-07:00)

Arizona

55

(GMT+02:00)

Athens, Istanbul, Minsk

26

(GMT-04:00)

Atlantic Time (Canada)

(GMT+12:00)

Auckland, Wellington

(GMT-01:00)

Azores, Cape Verde Is.

(GMT+03:00)

Baghdad, Kuwait, Riyadh

(GMT+04:00)

Baku, Tbilisi

(GMT+07:00)

Bangkok, Hanoi, Jakarta

(GMT+08:00)

Beijing, Chongqing, Hong Kong, Urumqi

15

(GMT+01:00)

Belgrade, Sarajevo, Skopje, Sofija, Zagreb

12

(GMT-05:00)

Bogota, Lima, Quito

43

(GMT+05:30)

Bombay, Calcutta, Madras, New Delhi

30

A
P
P
E
N
D
I
X
E
S

37
5
46

Security

529

A
P
P
E
N
D
I
X
E
S

530

Time zone

City

(GMT-03:00)

Brasilia

20

(GMT+01:00)

Bratislava, Budapest, Ljubljana, Prague, Warsaw

11

(GMT+10:00)

Brisbane

18

(GMT+01:00)

Brussels, Berlin, Bern, Rome, Stockholm, Vienna

58

(GMT+02:00)

Bucharest

19

(GMT-03:00)

Buenos Aires, Georgetown

42

(GMT+02:00)

Cairo

22

(GMT+10:00)

Canberra, Melbourne, Sydney

50

(GMT-04:00)

Caracas, La Paz

44

(GMT)

Casablanca, Monrovia

28

(GMT-06:00)

Central Time (US & Canada)

14

(GMT+06:00)

Colombo

49

(GMT+09:30)

Darwin

(GMT-05:00)

Eastern Time (US & Canada)

21

(GMT+05:00)

Ekaterinburg

23

(GMT-12:00)

Eniwetok, Kwajalein

16

(GMT+12:00)

Fiji, Kamchatka, Marshall Is.

24

(GMT)

Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London

27

(GMT+10:00)

Guam, Port Moresby

60

(GMT+02:00)

Harare, Pretoria

48

(GMT-10:00)

Hawaii

29

(GMT+02:00)

Helsinki, Riga, Tallinn

25

(GMT+10:00)

Hobart

52

(GMT-05:00)

Indiana (East)

54

(GMT+05:00)

Islamabad, Karachi, Tashkent

59

(GMT+02:00)

Israel

32

Appendix E Synchronization Data Types

Constant

Time zone

City

Constant

(GMT+04:30)

Kabul

(GMT+11:00)

Magadan, Solomon Is., New Caledonia

13

(GMT-06:00)

Mexico City, Tegucigalpa

34

(GMT-02:00)

Mid-Atlantic

35

(GMT-11:00)

Midway Island, Samoa

45

(GMT+03:00)

Moscow, St. Petersburg, Volgograd

41

(GMT-07:00)

Mountain Time (US & Canada)

36

(GMT+03:00)

Nairobi

17

(GMT-03:30)

Newfoundland

38

(GMT+09:00)

Osaka, Sapporo, Tokyo

53

(GMT-08:00)

Pacific Time (US & Canada); Tijuana

39

(GMT+08:00)

Perth

57

(GMT-06:00)

Saskatchewan

(GMT+09:00)

Seoul

33

(GMT+08:00)

Singapore

47

(GMT+08:00)

Taipei

51

(GMT+03:30)

Tehran

31

(GMT+10:00)

Vladivostok

56

(GMT+09:00)

Yakutsk

61

A
P
P
E
N
D
I
X
E
S

Time zone constants

531

A
P
P
E
N
D
I
X
E
S

532

Appendix E Synchronization Data Types

Index
A
activating subscriptions 445
adding
addresses 453
channels, new 381
documents, zipped 427
dynamic text to documents 403
personalization to users 455, 456
site definitions, new 442
SQL for post-service execution 446
SQL for pre-service execution 446
subscriptions to subscription sets 445
users 454
XML information objects, multiple 404
zipped documents 427
additional questions option, Portal Administrator Wizard 172
Address IDs, as preference object 172
addresses
adding 453
deleting 457
display 84
editing 458
formats 284, 285
names 84
overview 83
properties 526
user property 83
Advanced Properties dialog box 264
advanced segmentation control techniques 149
alert-based applications 105
alert-based services
application design 109
importance 105
process flow 106
alerting, edge-triggered 92
alternate questions 170, 176
alternate questions, selecting 436
answer to another question setting, Portal Administrator
Wizard 170
application design
hierarchy 18
requirements 142
application designer tasks xxii
applications, defining with security 38
architecture, component-based 18

associating
macros with events 405
question objects to information objects 396
attachment names, changing 473
attributes, importing user and address 459
authentication 33, 528
authentication and security
adding to users 455
authentication, importing user 461
automatic charts, creating 407

B
Best practice for creating a dynamic subscription service 423
Best practice for creating an information object outside the
service 387
blind carbon copy (BCC) list 473

C
changing
device folders associated with device types 384
folders of services associated with channels 381
views in document editors 406
channels
adding new 381
deleting 382
description 161
folders 162
names and descriptions 162, 283
selecting folder 283
Site Preferences page 282
chart creation in Excel documents 54
charts, creating automatic 407
Choose Subscription Sets dialog box 211
clearing question objects from information objects 397
clients see devices
column widths
in MicroStrategy Web or Desktop 77
setting 235
upgraded systems 78
compressed documents 15
Compression Properties dialog box 334
configuring
dynamic subscription sets 433
page-by questions for dynamic subscription sets 434

Index

I
N
D
E
X

533

page-by questions for static subscription sets 435


Subscription Portal, different 441
content information objects
creating with personalized page execution 388
creating with personalized report execution 390
overview 26
personalization by subscription information objects 129
control documents
E-mail and Wireless (SMTP) ITM execution 471
File ITM execution 481
SMS (SMPP) ITM execution 495
creating
automatic charts 407
content information objects with personalized page
execution 388
content information objects with personalized report
execution 390
device types 383
dynamic subscription sets 447
Excel documents 408
HTML documents 410, 413
imported documents from new imported files 412
information objects in documents 413
links to Desktop documents 406
plain text documents 414
publications 414
question objects 395
schedules 429
segment information objects 394
services 424, 425
static subscription sets 448
subscription information objects 392
Subscription Portal, new 441
text documents 414
credentials
project 165
user, optional 165
users, required 165

D
I
N
D
E
X

data coding scheme (DCS) 498


data in Excel documents 53
data warehouse tables, mapping question object information 438
database connections
overview 157
Portal Administrator Wizard page 279
deactivating subscriptions 445
defining delivery information for subscription information

534

Index

objects 397
deleting
addresses 457
channels 382
device types 384
site definitions 443
Subscription Portal 443
subscription sets 449
subscriptions 448
users 457
delivery information, defining for subscription information
objects 397
delivery methods
definition 84
E-mail (SMTP) 9
File 10
multiple 177
overview 3
Print 9
SMS (SMPP) 10
Web (Portal) 10
Wireless (SMTP) 9
delivery windows 85
Desktop Document Selector dialog box 213
Desktop documents
creating links to 406
overview 67
device type definitions, reconfiguring 384
device types
changing device folders for 384
creating new 383
deleting 384
name 283
new 163
new definition 283
overview 162
renaming 385
specifying 283
devices
content selection 5
default 164
definition 84, 163
description 22
device file 178
folders 163, 284
multiple end-user 177
multiple sets 177
portal 164
settings 164
Devices and Locale Support dialog box 333

display fields 284


Document Element Properties dialog box 225
document element-level error handling 12
document elements
overview 12
properties 225
specifying error handling rules 419
with multiple information objects 29
Document Properties
General tab 234
Document Properties dialog box 233
document-level error handling 13, 234
documents
compressed 15
creating Excel 408
creating HTML 410, 413
creating links to 406
creating plain text 414
definition 21
Desktop 67
Excel 52, 237
HTML 47, 245
HTML (Desktop) 67
imported 67, 253
imported - creating from new imported files 412
new 275
overview 11
plain text 293
properties 233
Report Services 67
specifying error handling rules 418
text 64
versus imported file 14
working with 47
zipped 15
zipped, adding to services 427
dynamic content 25
dynamic subscription information, mapping to data warehouse
tables 437
Dynamic Subscription Set Wizard 221
dynamic subscription sets
advanced Subscription Portal configuration 183
configuring 174, 433
configuring page-by questions for 434
creating 447
description 89
for storage mapping 173
overview 16, 81
personalization 174
to support alert services 109

dynamic subscriptions
description 125
implementing 147
non-personalized 197
personalization 108, 116
personalized 201
dynamic text, adding to documents 403

E
edge-triggered alerting 92
edit fields 284
editing
addresses 458
site definitions 442
users 458
EIS interfaces, building in Excel 56
E-mail (SMTP) delivery method 9
E-mail (SMTP) ITM Publication Sections 314
E-mail and wireless (SMTP) ITM execution control
documents 471
blind carbon copy (BCC) list 473
changing attachment names 473
custom e-mail headers 471
other properties 479
e-mail headers, custom 471
e-mail transmitters, transmission properties 367
error handling
alerts 14
document element-level 12
document-level 13, 234
Excel documents 14, 63
properties 12
publication-level 13
specifying rules for document elements 419
specifying rules for documents 418
Error Handling dialog box 335
event-triggered service execution 107, 109, 110
event-triggered services 105
Excel Document Editor 237
Excel documents
accommodating reports of different sizes 62
automatic chart creation 54
building EIS interfaces 56
building pivot tables 58
converting URLs into hyperlinks 61
creating 408
data placement and formatting 53
editor 237

Index

I
N
D
E
X

535

error handling 63
overview 52
preserving leading zeros 62
reports from Intelligence Server 63
strategy 52
using macros 60
VBA macros and viruses 62
Excel XML
color definition 517
formats 506
tags 508
execution control documents
E-mail and Wireless (SMTP) ITM 471
File ITM 481
SMS (SMPP) ITM 495
execution locales 179, 180, 234
execution periods see schedules
Executive Information System 56
expiration 82, 85, 86, 367
expiration dates, setting for subscriptions 451
expiration/validation dates 496
external sources 89

F
File delivery method 10
File ITM execution control documents 481
File ITM Publication Sections 315
file transmitters, transmission properties 367
files
imported versus document 14
importing 416
reimporting to update 417
folders, changing for services associated with channels 381

G
General Service Settings dialog box 335
governing 85, 94
setting limits for subscriptions 452
setting limits for users and addresses 465

H
I
N
D
E
X

HTML (Desktop) documents 67


HTML Document Editor 47, 245
HTML documents
creating 410, 413
development strategy 48

536

Index

editor 47, 245


overview 47
previewing 417
techniques 50
hyperlinks in Excel documents 61

I
image information objects 27
Import File dialog box 255
import tasks 95
Imported Document Editor 253
imported documents
creating from new imported files 412
overview 67
versus imported files 15
imported files 14
importing
files 416
user and address attributes 459
user authentication 461
user preferences 462
user security 463
user subscriptions 464
users and addresses 95
information delivery platforms xxi
Information Object Wizard 259
information objects
adding multiple XML 404
content 26, 129
creating 28
creating content information objects with personalized page
execution 388
creating content information objects with personalized report
execution 390
creating in documents 413
creating segment information objects 394
creating subscription information objects 392
description 22
error handling 398
image 27
limiting information returned 41
overview 25
role in execution 40
roles 26
segment 27, 149
subscription 26
text 27
types 27

XML 27
information sources
overview 164
security 38
site preferences 285
Use Project Credentials 165
Use User Credentials 165
information transmission modules 164
information transmitters 4, 177
ITM see information transmission modules

modifying
schedule queue parameters 431
subscription preferences for each information source 449
transmission properties for address display 450, 451
MSTRSubscriptions table 175

N
Narrowcast Server SDK 113
nationalities, multiple 178
New Document dialog box 275
NPI see numbering plan indicator property
numbering plan indicator property 495

jobs see services

L
languages see locales
languages, multiple 178
large icon URL 283
leading zeros in Excel documents 62
links to Desktop documents, creating 406
locale objects 179
locales
advanced user properties 372
content 5
description 22
execution 180
multiple languages and nationalities 178
objects 179
selecting for documents 417
selection 33, 179, 180
user 83, 180
using 180
login IDs 82
Login Information dialog box 376

M
macros
associating with events 405
in Excel documents 60
mapping
dynamic subscription information to data warehouse
tables 437
question object information to data warehouse tables 438
messages see services
MicroStrategy Intelligence Server User Export Tool 362
Modify Schedule Queue Parameters dialog box 273

O
Object Repository
overview 160
Portal Administrator Wizard page 281
objects
devices 22
documents 21
information objects 22
locales 22
publications, description 21
question objects 23
schedules 21
services 20
subscription sets 21
viewing properties 420
XSL files 22
organization of guide xxi

P
page-by
answer ID 193
questions 169
subscription ID 188
page-by questions
configuring for dynamic subscription sets 434
configuring for static subscription sets 435
passwords 82
personal identification numbers 85
personalization
adding to users for authentication and security 455
adding to users for preference 456
advanced techniques 34
description 32

Index

I
N
D
E
X

537

I
N
D
E
X

dynamic subscriptions 108, 116


to support alert services 109
types 32
users 83
personalized page execution
advanced Subscription Portal configuration 183
basic 185
configuring 169, 170
creating content information objects 388
implementing 147
implications 128
overview 123
versus personalized report execution 126
with dynamic subscriptions 143
with static subscriptions 145
personalized report execution
creating content information objects 390
implications 128
overview 124
versus personalized page execution 126
with dynamic subscriptions 146
with static subscriptions 142
physical addresses 84
PIN see personal identification numbers
pivot tables in Excel documents 58
plain text documents, creating 414
Plaintext Document Editor 293
plaintext XML
example 505
format 502
tags 503
portal
description 159
devices 285
selecting or creating 280
portal administrator tasks xxiii
Portal Administrator Wizard
configuration 170, 174
introduction 277
services configuration 289
site management 280
site preferences 282
Subscription Portal configuration 156
system configuration 278
Portal Repository
overview 157
Portal Administrator Wizard page 278
selecting 400
post-service
data source cleansing 109

538

Index

execution SQL 119


post-SQL 92
pre- and post-service execution SQL 92
Pre- and Post-SQL Specification dialog box 297
preference personalization, adding to users 456
preferences
importing user 462
modifying subscription preferences for each information
source 449
objects 169
page in Portal Administrator Wizard 285
regional 178
subscriptions 33, 86
synchronization data type 528
type of personalization 32
pre-service execution SQL 110
pre-SQL 92
previewing HTML documents 417
Print delivery method 9
Print ITM Publication Sections 314
priority, SMS (SMPP) ITM execution control documents 499
project credentials 165
projects see information sources
Prompt Resolution Wizard 375, 376
Publication Sections
E-mail (SMTP) ITM 314
File ITM 315
Print ITM 314
SMS (SMPP) ITM 315
Web (Portal) ITM 315
Wireless (SMTP) ITM 315
Publication Wizard 311
publication-level error handling 13
publications
creating 414
description 21
overview 4

Q
Question Object Browser dialog box 302
Question Object dialog box 302
Question Object dialog set 301
question object information, mapping to data warehouse
tables 438
question objects
advanced techniques 35
advantages 35
associating to information objects 396

clearing from information objects 397


creating 395
description 23
personalization 36
prerequisites 35
role in execution 40
queues 273

R
recipients see subscriptions
reconfiguring device type definitions 384
reference material xxii
regional preferences 178
reimporting files to update 417
renaming device types 385
report delivery methods see information transmitters
Report Services documents 67
report sizes in Excel documents 62
report types see documents
reports from Intelligence Server
Excel documents 63
reports see information objects
repositories
selecting Portal Repository 400
selecting Subscription Book Repository 401
Return Address property 495
rules, error handling - specifying for document elements 419
running services immediately 431

S
Save Desktop Linked Document dialog box 219
scalability 130
schedule queue parameters, modifying 273, 431
Schedule Wizard 317
scheduled services, viewing 432
schedules
creating 429
definition 21
delivery, specifying 17
overview 17
security
description 33
importing user 463
information objects 39
information sources 38, 39
objects 43
question objects 39

synchronization data type 529


upgraded reports 44
user personalization 44
segment information objects
advanced segmentation control techniques 149
creating 394
overview 27
segmentation
advanced segmentation control techniques 149
application design implications 134
processes 131
Select Information Source dialog box 261, 302
selecting
alternate questions 436
locales for documents 417
Portal Repository 400
stylesheet files for documents 417
Subscription Book Repository 401
tables for question and subscription mappings 436
selection locales 179
self subscription 155
send now 449
Service Editor
creating services 425
using 305
Service Wizard
creating services 424
using 327
services
configure with page-by question 169
creating 3
creating with Service Editor 425
creating with Service Wizard 424
description 20
event-triggered 105
overview 3
running immediately 431
specifying recipients 16
viewing schedules 432
services configuration, Portal Administrator Wizard 289
setting
expiration dates for subscriptions 451
governing limits for subscriptions 452
governing limits for users and addresses 465
site definitions
adding new 442
deleting 160, 443
editing 442
Site Management, Portal Administrator Wizard 280
Site Preferences, Portal Administrator Wizard 282

Index

I
N
D
E
X

539

I
N
D
E
X

sites
definitions 158
names and descriptions 159, 281
preferences 166
slicing and segmentation 130
slicing attributes 136
small icon URL 284
SMS (SMPP) delivery method 10
SMS (SMPP) ITM execution control documents
data encoding scheme 498
expiration/validation dates 496
NPI 495
overview 495
priority 499
return address 495
TON 495
SMS (SMPP) ITM Publication Sections 315
specifying
error handling rules for document elements 419
error handling rules for documents 418
SQL statements 92, 297
adding for post-service execution 446
adding for pre-service execution 446
SQL statements dialog box 299
static content 25
Static Subscription Set Editor 321
static subscription sets
creating 448
description 88
for storage mapping 173
introduction 16
overview 81
status
addresses 85
advanced user properties 372
subscriptions 86, 367
users 83
storage mappings 171, 173
stylesheet files, selecting for documents 417
subscription administrator tasks xxiii
Subscription Book 81
Subscription Book Editor 339
Subscription Book Governing dialog box 243
Subscription Book Repository
additional questions setting 173
answer to another question setting 170
overview 160, 161
Portal Administrator Wizard page 281
selecting 401
Subscription Book synchronization tutorial

540

Index

adding addresses 99
creating subscriptions 99
importing users and addresses 97
introduction 97
remapping users 99
updating users 99
Subscription Book Synchronization Wizard 343
Subscription dialog box 369
Subscription ID
as preference object 172
requirements 141
versus slicing attribute 136
subscription imports see synchronization
subscription information
description 137
location 137
overview 31
store in the Subscription Book Repository 125
subscription information objects
creating 392
overview 26
personalizing content information objects 129
Subscription Portal
advanced configuration 183
application 157
configuring different 441
creating new 441
deleting 443
site, default 155
system 156
user self subscription 155
subscription preferences 33
Subscription Properties Editor 365
subscription sets
concepts 86
configuring 290
configuring page-by questions 434, 435
creating dynamic 447
creating static 448
definition 21
deleting 449
dynamic 89
introduction 16
SQL statements 92
static 87, 88
synchronization data type 528
subscriptions 16, 86
activating 445
adding to subscription sets 445
deactivating 445

deleting 448
importing user 464
subscriptions and subscription sets 86
supporting diverse user populations 177
synchronization
importing or updating users and addresses 95
overview 95
synchronizing users 96
tutorial 97
updating user personalization and subscription 96
with external sources 94
synchronization data types
address properties 526
authentication 528
preferences 528
security 529
subscription set 528
time zone constants 529
user properties 525
Synchronization Settings dialog box 353
synchronizing users 466
System Configuration Wizard 155
System Configuration, Portal Administrator Wizard 278
system performance 34

T
table prefixes
description 158
Object Repository 160
Portal Repository 157
Subscription Book Repository 161
tables, selecting for question and subscription mappings 436
tasks
application designer xxii
overview xxii
portal administrator xxiii
subscription administrator xxiii
text documents
creating 414
overview 64
text information objects 27
time zone constants 529
TON see type of number property
touch points see devices
transmission properties
e-mail transmitters 87, 367
file transmitters 87, 367
modifying for address display 450, 451

overview 87
print transmitters 87
Subscription Properties Editor 366
transmissions see services
Tutorial configuration process 155
type of number property 495

U
updating users and addresses 95
URLs in Excel documents 61
user and address attributes, importing 459
user authentication, importing 461
User IDs, as preference object 172
user locales 180
user preferences, importing 462
User Properties Editor 371
user security, importing 463
user subscriptions, importing 464
users
adding 454
credentials 165
deleting 457
editing 458
export tool 362
information 30
login IDs 82
management 81
overview 82
preferences 33, 172
properties 525
self subscription 155
synchronizing 466

V
VBA macros and viruses in Excel documents 62
viewing
object properties 420
scheduled services 432
XSL stylesheet results 420
views, changing in document editors 406

I
N
D
E
X

Web (Portal) delivery method 10


Web (Portal) ITM Publication Sections 315
Wireless (SMTP) delivery method 9
Wireless (SMTP) ITM Publication Sections 315

Index

541

working with documents 47

X
XML
Excel 506
for Narrowcast Server objects 501
format 501
information objects 27
plaintext 502
XML information objects, adding multiple 404
XSL files 22
XSL stylesheets
advantages 68
default Excel documents 74
default HTML documents 70
default stylesheets provided 70
default Subscription Portal attachments 77
default text documents 76
developing and testing 78
using 68
viewing results 420
XML for Narrowcast Server object 501

Z
zipped documents
adding to services 427
overview 15

I
N
D
E
X

542

Index

Das könnte Ihnen auch gefallen