Application Properties

The following properties are available for Application objects, grouped by the categories shown in the Application Settings editor.

Appearance

Property Type Default Description

ApplicationCaption

string

Dodeca

The caption displayed on the application title bar.

ApplicationImage
displayed as ApplicationIcon

Image

default(Image)

The icon displayed on the task bar and application title bar.

ApplicationStyle

ApplicationStyle

ApplicationStyle.Office2007

Controls the appearance of the application.

Application styling can be specified using either the ApplicationStyle or StyleLibraryBinaryArtifact setting. The StyleLibraryBinaryArtifact setting takes precedence. When a library is specified, the ApplicationStyle setting is not used.

When the ApplicationStyle is set to Office2007, the Office2007ColorScheme setting controls the color scheme.

Office2007ColorScheme

NetAdvantageOffice2007ColorScheme

Default value

AppliedOLAP.Dodeca.Windows.Common.NetAdvantageOffice2007ColorScheme.Black

Controls the color scheme that is for all user-interface components whose style is set to Office 2007.

Office2010ColorScheme

NetAdvantageOffice2010ColorScheme

Default value

AppliedOLAP.Dodeca.Windows.Common.NetAdvantageOffice2010ColorScheme.Blue

Controls the color scheme that is for all user-interface components whose style is set to Office 2010.

StyleLibraryBinaryArtifact

BinaryArtifactIdAndVersion

Controls the appearance of the application.

The StyleLibraryBinaryArtifact indicates both the ID and version number of the binary artifact that contains the style library.

Application styling can be specified using either the ApplicationStyle or StyleLibraryBinaryArtifact setting. The StyleLibraryBinaryArtifact setting takes precedence. When a library is specified, the ApplicationStyle setting is not used.

Browser Emulation

Property Type Default Description

InternetExplorerEmulationMode

InternetExplorerEmulationMode

InternetExplorerEmulationMode.InstalledVersion

Controls the version of Internet Explorer that will be emulated by instances of the WebBrowser View type.

Components

Property Type Default Description

ComponentConfigurations
displayed as Component Configurations

List<ComponentConfiguration>

Gets or sets the list of component configurations for the application.

Culture

Property Type Default Description

CultureDisplayName
displayed as CultureName

string

English (United States)

When the CulturePolicy is set to UseSpecifiedCulture, the CultureName setting specifies the name of the culture used by the application.

CulturePolicy

ApplicationCulturePolicy

ApplicationCulturePolicy.UseSpecifiedCulture

Controls the culture used by the application.

UseSpecifiedCulture - makes the application use the culture specified by the CultureName setting

UseWindowsCulture - makes the application use the culture of the client Windows operating system

UseUserSpecifiedCulture - allows the user to choose from a list of available cultures at startup.

See also: CultureName

Debugging

Property Type Default Description

WorkbookScriptDebuggingEnabled

bool

true

Controls whether workbook script debugging is enabled for the application.

If enabled at the application level, then the DebugMode setting of a given workbook script controls whether debugging is enabled for the workbook script.

The WorkbookScriptDebuggingEnable setting also controls whether the Workbook Script Method Exception dialog provides an active Script ID link, which is used to navigate to the workbook script in the Workbook Script Editor.

When set to False, the WorkbookScriptDebuggingEnabled setting is used to prevent the possibility of the Workbook Script Debugger opening in a user application. And, to also prevents an end-user from opening the Workbook Script Editor and accessing the workbook script by clicking the Script ID link the Workbook Script Method Exception dialog.

Default View

Property Type Default Description

DefaultViewID

string

The ID of the view that is opened automatically when the application starts up.

Layout

Property Type Default Description

CacheWorkspaceLayout

bool

false

Controls whether or not the workspace layout is cached when the application exits and restored the next time the application starts up.

A workspace layout defines the physical layout of the windows within the workspace, including the docked window that contains the view selector and the tabbed windows that contain specific views, saved views, or metadata editors.

If the CacheWorkspaceLayout setting is True, the workspace layout is cached locally on the user’s machine when the application exits and is then loaded the next time the application is run. The views, saved views, and metadata editors that were open when the application was last exited are automatically opened and are arranged and grouped as captured within the layout. The view selector location, size, and whether the selector is pinned or unpinned are also retained on exit and restored on startup.

A layout does not retain content-related information for the views that are open when the layout is cached. At startup, each view in the layout is automatically opened just as if the user opened the view from the view selector. All of a view’s current metadata settings are applied and, if the view contains selectors, the default selections are set based on the current configuration. The latest version of a saved view is opened.

When a workspace layout is specified for the WorkspaceLayoutBinaryArtifact setting and the CacheWorkspaceLayout is True, the cached layout is used.

Any view or saved view that was deleted after the layout was cached is ignored when the layout is loaded.

WorkspaceLayoutBinaryArtifact

BinaryArtifactIdAndVersion

Specifies the workspace layout loaded at startup.

A workspace layout defines the physical layout of the windows within the workspace, including the docked window that contains the view selector and the tabbed windows that contain specific views, saved views, or metadata editors.

When the application starts up, the layout is loaded. The views, saved views, and metadata editors contained within the layout are automatically opened and are arranged and grouped as defined by the layout. The view selector location, size, and whether the selector is pinned or unpinned are also set as defined by the layout.

The Save Layout as Binary Artifact tool is used to capture the current layout of the workspace. The layout can then be associated with an application using the WorkspaceLayoutBinaryArtifact setting.

A layout does not retain content-related information for the views that are open when the layout is saved. At startup, each view in the layout is automatically opened just as if the user opened the view from the view selector. All of a view’s current metadata settings are applied and, if the view contains selectors, the default selections are set based on the current configuration. The latest version of a saved view is opened.

Any view or saved view that was deleted after the layout was saved is ignored when the layout is loaded.

Logging

Property Type Default Description

CollectViewUsageInfo

bool

true

Controls whether view usage logging is enabled.

CollectViewUsageInfoPolicy

CollectViewUsageInfoPolicy

CollectViewUsageInfoPolicy.CollectViewUsageInfoAlways

Controls whether the application collects view usage info for all builds or only failed builds.

DoRequestResponseLogging

bool

false

A flag that indicates if xml logging of the requests to the server and responses from the server, are logged on the server. The server must have the appropriate servlet filter enabled and properly configured.

Metadata Management

Property Type Default Description

CheckForMetadataUpdatesFrequencyPolicy

MetadataUpdateCheckFrequencyPolicy

Default value

MetadataUpdateCheckFrequencyPolicy.CheckForMetadataUpdatesOnViewOpen

The first time a given metadata instance, such as a view hierarchy, a selector list, a view, a toolbars configuration, etc., is used by the client, the metadata is downloaded to the client. The CheckForMetadataUpdatesFrequencyPolicy setting controls at what point the client requests information from the server that is used by the client to determine whether a given metadata instance has been updated on the server and needs to be re-downloaded to the client.

The policy options include the following:

CheckForMetadataUpdatesOnUse - The client sends a request to the server (to determine whether a given metadata instance needs to be re-downloaded) at the point at which the metadata instance is used. This option results in the most traffic between the client and the server, but allows for the end user to see changes made to the metadata more immediately than with the other options. In general, this option is not recommended, even for an Admin application.*

CheckForMetadataUpdatesOnViewOpen - The client sends a request (to get the information for all metadata instances) at session startup AND when a view is opened. This is the default option. It significantly reduces the traffic between the client and the server as compared to the CheckForMetadataUpdatesOnUse option. If an administrator modifies any of the metadata used by a given view, the changes are seen by an end user the next time the view is opened.

CheckForMetadataUpdatesOnSessionStartUp - The client requests the information only at startup. This option results in the least amount of traffic between the client and the server. It is an appropriate option for an application in production for which the metadata is not being modified.

*An Admin application requests the information based on the policy, but ALSO requests the information immediately after metadata is committed through a metadata editor, a wizard, or any client user-interface that supports editing and committing or importing metadata. This allows an administrator to immediately see the changes reflected in the client. For instance, if an administrator commits changes to a view hierarchy, and then refreshes the view selector, the view selector will reflect the changes.

MetadataFilesDeletionPolicy

MetadataDataDirectoryFilesDeletionPolicy

MetadataDataDirectoryFilesDeletionPolicy.Never

Controls whether the metadata files for the application’s tenant are retained in the Dodeca data directory across sessions or are deleted when an application session is closed.

By default and as is recommended for optimum performance, the policy is set to Never, and the files are retained across sessions. When set to OnSessionClose, the files are deleted when an application session is closed/exited.

The first time a given metadata instance is used by the client, a file, which contains the metadata for the instance, is downloaded to the client. The files are retained in the data directory, and the location of the directory is determined by the type of deployment.

If the metadata for a given instance is changed in the metadata repository, the timing of the re-download of the instance’s metadata file to the client is determined by the CheckForMetadataUpdatesFrequencyPolicy. Deleting the metadata files when a session is closed is NOT necessary to ensure that the client is using the most recent version of the metadata in the repository during the next session.

Security

Property Type Default Description

AccessControlPolicy

AccessControlPolicy

AccessControlPolicy.ByApplication

Controls how functionality is accessed by users of an application.

ByApplication - Access to functionality is controlled by the application that a user is running.

ByAdmin - Access to functionality is controlled based on whether a user is assigned the Admin role or not.

ByRole - Access to functionality is controlled by a user’s roles.

AdminApplication

bool

false

Controls whether the application is considered an administrative application.

AdminPrivilegeRequiredForStartup

bool

false

Controls whether the user must have administrative privileges in the user table in order to start the application.

See also: AdminApplication

AllowUserArgument

bool

false

Controls whether a user argument passed to the application will be honored when the application starts.

For a ClickOnce URL, the user ID can be specified by appending the following argument to the URL: &&u=testdomain/testuser

For an XCopy or local deployment, the user ID can be specified by appending the following argument to the launch command: /user testdomain/testuser

This setting should be set to False for an application in production, but it can be set to True for the purpose of testing Dodeca user roles assigned to particular users.

AuthenticationProviderObjectTypeID

string

The object type ID of the service used to validate the identity of the user.

AuthenticationProviderProperties

object

The authentication properties used to configure an identity and service provider.

AuthenticationServiceObjectTypeID

string

The object type ID of the service used to provide role-based security authentication. If no authentication service is specified, the defaults provided by the .NET framework for role-based security are used.

AuthenticationServiceProperties

object

The settings used by the authentication service.

IntegrateDodecaUserRoles

bool

true

Controls whether assigned Dodeca user roles are integrated into the role set returned by the chosen authentication service. If no authentication service is specified, the defaults provided by the .NET framework for role-based security are used.

PasswordContainer
displayed as Password

PasswordContainer

A password used to restrict access to the application.

Typically, a password is used to restrict access to an application that is used for metadata administration. When the ToolbarsConfigurationID refers to a toolbars configuration that contains administration tools, such as metadata editors, password protecting the application helps to secure the metadata.

See also: PasswordPrompt

PasswordPrompt

string

The prompt or message displayed on the password dialog.

See also: Password

PrincipalResolutionPolicy
displayed as Principal Resolution Policy

string

Controls how the Dodeca user is derived from an authenticated identity: Asserted follows the name the identity provider asserts each sign-in, Principal pins to the provider’s stable subject through a canonical principal. A blank value is treated as Asserted.

Session Caching

Property Type Default Description

SessionCacheTimeoutElapsedMinutes
displayed as ElapsedMinutes

int

60

Controls the time between session cache timeouts.

SessionCacheTimeoutPolicy

SessionCacheTimeoutPolicy

Dodeca.Common.SessionCacheTimeoutPolicy.None

Controls the session cache timeout policy of the application.

None - No session cache timeout is applied.

Scheduled - A session cache timeout will occur at a designated time each day. The session cache will be cleared at that time.

ElapsedMinutes - A session cache timeout is applied per the number of minutes specified. The session cache will be cleared at that time.

See also: ElapsedMinutes, ScheduledTimeout

SessionCacheTimeoutScheduledTime
displayed as ScheduledTime

string

12:00 AM

Controls the designated time that an session cache will be cleared each day.

SessionCachingEnabled

bool

true

Controls whether session caching is enabled. When enabled, a session cache is used to store data, such as resolved selector lists and SQL pass-through datasets, for the duration of a session. Session caching improves performance by reducing the number of client to server requests.

Session caching is optional for a SQLPassthroughDataSet. The SQLPassthroughDataSet’s SessionCachingEnabled setting controls whether the data generated by the SQL queries is cached.

Session caching is supported for Essbase selector lists: EssbaseDelimitedString, EssbaseMemberQuery, and EssbaseReportScript selector lists are optionally cached based on the selector list’s SessionCachingEnabled setting. An EssbaseSQLPassthroughDataSet selector list is optionally cached, based on the associated SQLPassthroughDataSet’s SessionCachingEnabled setting.

The contents of the session cache can be viewed using the Cache Viewer tool, which is available in the default administrator toolbars configuration. The tool is located in the Admin menu.

Session Timeout

Property Type Default Description

AllowCancelOnUnsavedChanges

bool

false

Controls whether a user can cancel an application timeout if there are unsaved changes. In either case, the user will be prompted with an opportunity to save changes before the application closes. Setting AllowCancelOnUnsavedChanges allows the user to cancel the application shutdown by pressing the cancel button when prompted.

AllowReauthenticateAndContinue

bool

false

Controls whether an authenticated user can reauthenticate against the configured authentication service to continue the session when the application timeout is reached.

When this property is set to true and an authentication service that requires credentials is configured, the user will be prompted with an opportunity to reauthenticate and continue the session if valid credentials are provided. Likewise, when this property is set to true, the MessageTextForClosingSession property should be updated to tell the user that she or he must re-authenticate to continue and that canceling will terminate the application.

InactivityTimeout

int

60

Controls the length of time before an application session times out and the user will be forced to restart the application.

MessageCaptionForClosingSession

string

When the application closes due to inactivity, a MessageBox is optionally displayed. If MessageTextForClosingSession is non-empty, a MessageBox is displayed and the MessageCaptionForClosingSession is used as the MessageBox caption.

MessageTextForClosingSession

string

When the application closes due to inactivity, a MessageBox is optionally displayed. If MessageTextForClosingSession is non-empty, a MessageBox is displayed and the MessageTextForClosingSession is used as the MessageBox text.

"{0}" can be used in the message text to represent the InactivityTimeout or ScheduledCloseTime. "{1}" can be used in the message text to represent a new line.

For example, when the InactivityTimout is set to 15 and the MessageTextForClosingSession is set to "Your Dodeca session has timed out after {0} minutes of inactivity.{1}{1}The application will now exit.", the following message will be shown:

"Your Dodeca session has timed out after 15 minutes of inactivity.

The application will now exit."

ScheduledCloseTime

string

12:00 AM

Controls the designated time that an application session will time out and the user will be forced to restart the application, regardless of activity or inactivity.

SessionTimeoutPolicy

SessionTimeoutPolicy

Dodeca.Common.SessionTimeoutPolicy.None

Controls the session timeout policy of the application.

None - No session timeout is applied. The application will continue to run indefinitely.

Scheduled - A session timeout will occur at a designated time. The application will close at that time.

InactivityBased - A session timeout is applied. The application will close after a designated period of inactivity.

See also: InactivityTimeout, ScheduledTimeout

WaitForReactivation

bool

true

Controls whether the application waits until the user returns to force a restart.

Splash Screen

Property Type Default Description

SplashEnabled

bool

true

Toggle to enable or disable the splash screen.

SplashImage

Image

default(Image)

Image used as the base for the splash screen.

SplashProgressBarBackColor

System.Drawing.Color

0xFFFFFFFF

The color of the background on the progress bar.

SplashProgressBarDisplayed

bool

true

Toggle to turn off the progress bar on the splash screen.

SplashProgressBarFromColor

System.Drawing.Color

0xAD4525

The starting color used to paint the gradient in the progress bar.

SplashProgressBarOffsetX

int

25

The number of pixels the progress bar is positioned from the left edge of the splash screen.

SplashProgressBarOffsetY

int

35

The number of pixels the progress bar is positioned above the bottom of the splash screen.

SplashProgressBarToColor

System.Drawing.Color

0xAD4525

The ending color used to paint the gradient in the progress bar.

SplashProgressBarWidth

int

0

The SplashProgressBarWidth sets the width of the progress bar. If the value is zero, the progress bar is centered in the form based on the SplashProgressBarOffsetY value.

SplashProgressTextColor

System.Drawing.Color

Black

The color used for the progress text, which displays the status messages.

SplashStatusOffsetX

int

25

The number of pixels the status message is positioned from the left edge of the splash screen.

SplashStatusOffsetY

int

50

The number of pixels the status message is positioned above the bottom of the splash screen.

Tokens

Property Type Default Description

ApplicationTokens

TokenTable

The token definitions that are available to all views at run-time.

ApplicationTokensSqlPassthroughDataSetID
displayed as ApplicationTokensSQLPassthroughDataSetID

string

The ID of the SQLPassthroughDataSet used to obtain application tokens at startup.

If specified, the SQLPassthroughDataSet defines the query used to obtain the application tokens for the current application, optionally using any of the following variables to return columns containing token names and values:

The first column returned by the SQLPassthroughDataSet represents token names, and the second column returned by the SQLPassthroughDataSet represents token values.

See also: ApplicationTokensSQLPassthroughDataSetQueryAsync

ApplicationTokensSqlPassthroughDataSetQueryAsync
displayed as ApplicationTokensSQLPassthroughDataSetQueryAsync

bool

true

Whether the ApplicationTokensSQLPassthroughDataSet will be executed asynchronously on a background thread.

If the application uses a default view or application tool controllers that leverage application tokens obtained from the SQLPassthroughDataSet, executing the query in the background could cause some required tokens to be unresolvable at application startup. If a default view or application tool controllers depend on application tokens from SQL, this value should be set to false, although startup will be delayed by the amount of time it takes to connect and execute the query.

See also: ApplicationTokensSQLPassthroughDataSetID

UI

Property Type Default Description

DefaultAdminToolbarsConfigurationDisplayPolicy
displayed as DefaultToolbarsConfigurationDisplayPolicy

ApplicationToolbarsConfigurationDisplayPolicy

ApplicationToolbarsConfigurationDisplayPolicy.AsMainMenuBar

When UseDefaultToolbarsConfiguration is True, controls whether the default tools are displayed as a main menu bar or as a ribbon.

MDI

bool

true

Indicates whether the application provides a multiple document interface. If true, multiple views can be open at the same time. If false, only a single view can be open in the workspace.

MergeableToolbarsConfigurationPolicy

ViewMergeableToolbarsConfigurationPolicy

ViewMergeableToolbarsConfigurationPolicy.Merge

Controls whether the mergeable toolbars configurations, as defined by the view MergeableToolbarsConfigurationID, are merged into the application’s main menu bar (or ribbon) at runtime.

TabbedWindowCloseButtonVisibility

TabbedMdiCloseButtonVisibility

TabbedMdiCloseButtonVisibility.WhenSelectedOrHotTracked

Controls whether and when the close button is visible on tabbed windows.

TabbedWindowShowTab

bool

true

Controls whether the tab area of the tabbed window groups is visible.

ToolbarsConfigurationID

string

The ID of the toolbars configuration displayed by the application.

When UseDefaultToolbarsConfiguration is True, the ToolbarsConfigurationID takes precedence.

UseDefaultAdminToolbarsConfiguration
displayed as UseDefaultToolbarsConfiguration

bool

false

Controls whether the default toolbars are used when no ToolbarsConfigurationID is specified. The default toolbars contain the administration tools, such as the standard metadata editors and import/export metadata utilities.

If UseDefaultToolbarsConfiguration is True and the ToolbarsConfigurationID is assigned an ID, the specified toolbars configuration is used instead of the default toolbars.

User Access

Property Type Default Description

AllowContextMenuNavigationInMetadataEditors

bool

true

Indicates whether the application allows users to quickly navigate from one Metadata Editor to another via the context menu. If True, the context menu contains an Edit "Metadata Instance ID" item when the right mouse button is clicked on a property that represents a metadata instance. When the item is clicked, the appropriate Metadata Editor is opened and the metadata instance is set as the active instance.

This setting should be set to False for an application that limits user access to some Metadata Editors.

MessageCaptionForDisabledUser

string

When the user is not enabled, a MessageBox is optionally displayed. If MessageTextForDisabledUser is non-empty, a MessageBox is displayed and the MessageCaptionForDisabledUser is used as the MessageBox caption.

MessageCaptionForNonexistentUser

string

When the user does not exist in the table and the UserAccessPolicy is set to RequireUserEntriesForStartup, a MessageBox is optionally displayed. If MessageTextForNonexistentUser is non-empty, a MessageBox is displayed and the MessageCaptionForNonexistentUser is used as the MessageBox caption.

MessageTextForDisabledUser

string

When the user is not enabled, a MessageBox is optionally displayed. If MessageTextForDisabledUser is non-empty, a MessageBox is displayed and the MessageTextForDisabledUser is used as the MessageBox text.

MessageTextForNonexistentUser

string

When the user does not exist in the table and the UserAccessPolicy is set to RequireUserEntriesForStartup, a MessageBox is optionally displayed. If MessageTextForNonexistentUser is non-empty, a MessageBox is displayed and the MessageTextForNonexistentUser is used as the MessageBox text.

UserAccessPolicy

UserAccessPolicy

UserAccessPolicy.CreateUserEntriesOnStartup

Controls whether new users without entries in the Users table will be allowed into the application and have an entry automatically created.

If the UserAccessPolicy is set to CreateUserEntriesOnStartup, new users will be automatically created and added to the Users table upon startup.

If the UserAccessPolicy is set to RequireUserEntriesForStartup, users will not be allowed to startup the application until entries are created for them in the Users table.

View Chat

Property Type Default Description

ViewChatPollingInterval

int

30

The polling interval (in seconds) used by the View Comments Editor to check for new/updated comments when the editor is configured in Chat mode. A value of 0 disables polling for updated comments

View Selector

Property Type Default Description

ViewSelectorAllowResize
displayed as AllowResize

bool

true

Controls whether the view selector can be resized by the user.

If ViewSelectorAllowResize is false, the user cannot resize a view selector by dragging the splitter bar when the window is docked or by dragging the borders when the window is floating.

The ViewSelectorAllowResize setting should only be set to False when ViewSelectorLocked is True.

This setting is typically only set to False for custom view selectors that do not display a view hierarchy.

ViewSelectorCaption
displayed as Caption

string

The caption displayed on the view selector when the pane is pinned.

ViewSelectorCaptionTab
displayed as CaptionTab

string

View Selector

The caption displayed on the view selector tab when the pane is unpinned.

ViewSelectorDockedLocation
displayed as DockedLocation

DockedControlLocation

DockedControlLocation.Left

The docked location of the view selector.

ViewSelectorItemToolTipPolicy
displayed as ItemToolTipPolicy

ViewSelectorItemToolTipPolicyFlags

Default value

ViewSelectorItemToolTipPolicyFlags.Name | ViewSelectorItemToolTipPolicyFlags.SavedName

Controls the contents of the tooltip displayed when the mouse is over an item in the view selector.

Name — Indicates that the view name will be shown in the tool tip.

Saved Name — For a saved view, indicates that the saved name will be shown in the tool tip.

Description — Indicates that the view description (if available) will be shown in the tool tip.

Saved Description — For a saved view, indicates that the saved description (if available) will be shown in the tool tip.

All (all selections) — Indicates that all available item names and descriptions will be shown in the tool tip.

None (no selections) — Indicates that no tool tip will be shown for view selector items.

ViewSelectorLocked
displayed as Locked

bool

false

Controls whether the view selector can be undocked and moved by the user to a different docked location.

If ViewSelectorLocked is false, the user can undock and drag the view selector to a different docked location. If ViewSelectorLocked is true, the view selector is locked in the location specified by the ViewSelectorDockedLocation setting and cannot be moved.

ViewSelectorObjectTypeID
displayed as ObjectTypeID

string

The object type ID of the view selector used to present the views that can be opened from within the application.

ViewSelectorProperties

object

The settings used to configure the view selector.

ViewSelectorRefreshElapsedMinutes
displayed as RefreshMinutesElapsed

int

60

Specifies the number of minutes between view selector refreshes.

ViewSelectorRefreshPolicy
displayed as RefreshPolicy

RefreshPolicy

RefreshPolicy.None

Controls the refresh policy of the view selector.

None - The view selector is not refreshed.

Scheduled - The view selector will be refreshed at the specified time.

ElapsedTime - The view selector will be refreshed after the specified period of time.

ViewSelectorRefreshScheduledTime
displayed as RefreshScheduledTime

string

12:00 AM

Specifies the time that the view selector will be refreshed.

ViewSelectorShowAutoFind
displayed as ShowAutoFind

bool

true

Whether to show the AutoFind control at the top of the View Selector.

ViewSelectorToolTip
displayed as ToolTip

string

Default value

To open a view, click on the view name with the left mouse button.

The tooltip displayed when the mouse is over the view selector caption.