Home > Class Reference > ENSLIB namespace > %ZEN.Portal.standardPage
Private  Storage   


abstract class %ZEN.Portal.standardPage extends %ZEN.Component.page, %ZEN.Portal.abstractRefreshable

This base class provides a standard template for portal pages implemented using Zen.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
11 10 52


This is a Zen Page class. It belongs to the application %ZEN.Portal.Application.

%condition %import %includeFiles %page
%resource StdTitle aboutPage align
aux backgroundTimerInterval cellAlign cellSize
cellStyle cellVAlign children composite
contactPage containerStyle cssLevel currSortMode
currStep currViewMode disabled dragAndDrop
dragEnabled dropEnabled enableAutoRefresh enclosingClass
enclosingStyle error groupClass groupStyle
height hidden hint hintClass
hintStyle homePage id index
label labelClass labelDisabledClass labelPosition
labelStyle layout limitPopups name
onafterdrag onbeforedrag onclick ondrag
ondrop onhide onrefresh onshow
onupdate pageModified parent searchKey
showLabel slice title tuple
useSVG useSoftModals valign visible
width window zenPersistentPopup

%AddChild %AddChildAfter %AddChildBefore %AddComponent
%AddImportedComponents %AddToSaveSet %ApplyURLParms %Attr
%BindExport %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %DrawAutoLogout
%DrawClassDefinitions %DrawComponentHTML %DrawHTML %DrawHTMLPage
%DrawJSStrings %DrawObjectDefinitions %EnclosingDivId %EndBackgroundMethod
%EndScript %Eval %EvalC %Extends
%ForceClientRender %GetChildIndex %GetComponent %GetComponentById
%GetComponentByName %GetEventHandlers %GetLinks %GetLocatorLinks
%GetPageName %GetParameter %GetValueById %GetValueByName
%GetXMLName %IsA %IsModified %Link
%LinkCSS %LinkScript %MakeId %New
%NormalizeObject %ObjectModified %OnAddToPageAfter %OnAddToPageBefore
%OnAfterCreatePage %OnBeforeCreatePage %OnCreateApplication %OnCreatePage
%OnDetermineCSSLevel %OnDrawEnclosingDiv %OnDrawHTMLBody %OnDrawHTMLHead
%OnDrawHTMLMeta %OnDrawObjectProperties %OnFinishBackgroundTask %OnGetPageName
%OnGetProductName %OnGetSmallMenu %OnGetTitle %OnMonitorBackgroundTask
%OnMutateChildren %OnObjectSynch %OnPreHTTP %OnSubmit
%OnUseSoftModals %OnZENDeserialize %OriginalNamespace %PackageName
%QuoteValue %QuoteValueL10N %Register %RemoveChild
%RemoveChildren %RemoveComponent %RemoveFromSaveSet %RunBackgroundMethod
%Self %SerializeObject %SetBackgroundMethodStatus %SetErrorById
%SetErrorByName %SetModified %SetValueById %SetValueByName
%SetValuesByName %StartScript %ValidateObject %ZENVersion
BuildMenu CheckContextLinks CheckEnterpriseManager ConvertParameter
Decrypt DoLogout DrawLocator DrawRibbon
DrawTitle Encrypt EscapeHTML EscapeURL
GetCSPURL GetContextLinks GetDocURL GetNewURL
GetQuickLinks HyperEventCall HyperEventHead Include
InsertHiddenField InsertHiddenFields IsPrivate Link
OnDrawRibbon OnGetRibbonInfo OnHTTPHeader OnPage
OnPageError OnPostHTTP OnPostHyperEvent OnPreHTTP
OnPreHyperEvent Page QuoteJS RewriteURL
ShowError StartTimer StopTimer ThrowError
UnescapeHTML UnescapeURL XMLDTD XMLExport
XMLExportToStream XMLExportToString XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType addChild addChildAfter
addChildBefore cancelPopup changePassword childrenMutated
correctIELayering createComponent createComponentNS deleteComponent
dragFinishHandler dragHandler dragNotifyHandler dragStartHandler
dropHandler dropStartHandler endModal exposeComponent
findElement fireOnResizeEvent fireOnUnloadEvent fireOnUpdateEvent
firePopupAction getChildIndex getComponent getComponentById
getEnclosingDiv getHidden getHintElement getLabelElement
getOpener getPageTitle getProperty getSettings
getTitleAreaHeight getType goHome goMenu
gotoNamespace gotoPage invokeSuper isOfType
launchPopupWindow logout makeId navigate
onCreate onDelete onDisplayHandler onEndModalHandler
onPopupAction onRefreshContents onSerialize onServerMethodCall
onServerMethodError onServerMethodReturn onStartModalHandler ondisabledHandler
onkeydownHandler onkeyupHandler onlayoutHandler onloadHandler
onlogoutHandler onoverlayHandler onresizeHandler onunloadHandler
onupdateHandler popupActionHandler refreshContents removeChild
render renderContents renderSVG searchBlur
searchBoxHandler searchFocus searchKeyDown searchKeyPress
setComponentId setConnectivityStatusMsg setHidden setModified
setOverlayMode setPageTitle setProperty setPropertyAll
setSortMode setSortModeHandler setTraceOption setViewMode
setViewModeHandler showAbout showContact showHelp
startModal startProgressBar stopProgressBar switchNamespace

%CSP.Portal.Home %CSP.Portal.Template %CSP.UI.Portal.Contact
%CSP.UI.Portal.SQL.QButtons.OpenDetails %CSP.UI.Portal.SQL.QButtons.RuntimeStatsDetails %DeepSee.UI.standardPage
%UnitTest.Portal.standardPage %WebStress.Portal.standardPage %iKnow.UI.standardPage


• parameter APPLICATION = "%ZEN.Portal.Application";
Set this to the appropriate application class.
• parameter AUTONS = 1;
If true, auto-switch namespace to whatever $NAMESPACE is passed in.
• parameter DEFAULTSORTMODE = "name";
If this page has sort options, this is its initial sort mode.
• parameter DEFAULTVIEWMODE = "columns";
If this page has multiple views, this is its initial display mode.
• parameter DOMAIN = "%Utility";
Set this to the correct domain.
SMP favorite icon.
• parameter HOMEPAGE = "/csp/sys/%25CSP.Portal.Home.zen";
URL of home page (used in links by many pages via homePage.)
• parameter JSINCLUDES = "zenMenusSMP.js";
Comma-separated list of additional JS include files for the page.
• parameter PAGENAME = "Standard Portal Page";
Name of this page.
• parameter RECENT = 1;
If true, register visits to this page in the recent list.
• parameter SHOWNAMESPACE = 1;
If true, show the Namespace dropdown.


• property StdTitle as %ZEN.Datatype.string [ InitialExpression = $P($ZU(86),"*",2) _" - "_..#PAGENAME ];
Define the title that will be displayed within subclasses
• property aboutPage as %ZEN.Datatype.string [ InitialExpression = ..Link("_CSP.UI.Portal.About.zen") ];
About page URL
• property contactPage as %ZEN.Datatype.string [ InitialExpression = ..Link("/csp/sys/%25CSP.UI.Portal.Contact.cls") ];
• property currSortMode as %ZEN.Datatype.string [ InitialExpression = ..#DEFAULTSORTMODE ];
Current sort mode for this page (if applicable).
• property currStep as %ZEN.Datatype.integer [ InitialExpression = 1 ];
For pages with steps, this is the current step (1-based).
• property currViewMode as %ZEN.Datatype.string [ InitialExpression = ..#DEFAULTVIEWMODE ];
If this page has "views", this is the current view type.
• property homePage as %ZEN.Datatype.string [ InitialExpression = ..Link(..#HOMEPAGE,,1)_$select('$data(%response.Context("$NAMESPACE")): "$NAMESPACE="_$zcvt($namespace,"O","URL"), 1: "") ];
Product home page URL. Note that multiple portal pages rely on this being a fully formed link.
• property limitPopups as %ZEN.Datatype.boolean [ InitialExpression = ##class(%CSP.Portal.Utils).%IsConnectivityPopupDisabled() ];
Set to true to suppress hyperevent error pop-ups in the event of a connectitivity failure.
• property pageModified as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
True if the contents of this page need to be saved.
• property searchKey as %ZEN.Datatype.string;
Current search key value (if applicable).


• method %GetLocatorLinks(Output pLink) as %Status
Return the array of links to show in the locator bar.
pLink(n)=$LB(caption,link) Sub-class can override to include extra levels.
• method %OnAfterCreatePage() as %Status
Decorate the page.
• method %OnDrawHTMLMeta() as %Status
Ensure that we force Internet Explorer to use its most recent rendering engine.
• method %OnGetPageName() as %String
Get the (localized) name of the page. This should be implemented in a subclass.
• method %OnGetProductName() as %String
Get the product name for the page.
• method %OnGetSmallMenu(Output pMenu)
Get the contents of the small menu in the title area.
• method %OnGetTitle() as %String
Get the (localized) title string for the page. This should be implemented in a subclass.
• classmethod %OnUseSoftModals() as %Boolean
Use soft modals for the portal.
• method %Register() as %Status
Register this visit to the recent items list.
• method BuildMenu() as %Status
This method rebuilds context menu on the top left corner.
• classmethod CheckContextLinks(ByRef pLinks) as %Status
Helper method to ensure that the user has sufficient privileges to access the links returned in GetContextLinks(). This is especially important for cases where system administrators have specified custom resources for pages in the portal, as we need to check the custom resources before adding the option to the context menu.
• method CheckEnterpriseManager() as %Status
• classmethod DoLogout() as %String [ ZenMethod ]
• method DrawLocator(pSeed As %String) as %Status
Draw additional content in the locator bar.
• method DrawRibbon(pSeed As %String) as %Status
Draw the contents of the tool ribbon. This is displayed if a subclass implements the OnGetRibbonInfo callback.
• final method DrawTitle(pSeed As %String) as %Status
Draw the contents of the title area. Dispatch to application class.
• classmethod GetCSPURL(link As %String) as %String [ ZenMethod ]
Tranforms the link specified by link into a URL and returns it as a string
• classmethod GetContextLinks(Output pLinks) as %Status
Define any context links for the page. Sub-class to override. Note that the subclass should call CheckContextLinks() to ensure that the user is actually permitted to access all of the links - the pages may have custom resources defined that would prevent the user from seeing the page.
• classmethod GetDocURL(pHelpAddress As %String) as %String [ ZenMethod ]
Given a HelpAddress, this method finds the DocBook Link and constructs the proper URL for the Doc page and return to the client to be displayed.
• classmethod GetNewURL(pNS As %String, pPage As %String = "%25CSP.Portal.Home.zen") as %String [ ZenMethod ]
Given new namespace, return new URL with new $NAMESPACE. When changing namespace, always go back to Home page
because you don't know if the new namespace has or allows your current page.
• classmethod GetQuickLinks(Output pLinks) as %Status
Define any quick links for the page
• method OnDrawRibbon() as %Status
This is called in the middle of rendering the tool ribbon. Subclasses can inject their own content into the ribbon by writing it out in this method. This content is best wrapped within a single td element. It can also consist of multiple td elements.

To achieve a fixed position for elements within the ribbon, for a fixed width page you can use a single enclosing td that contains a table and a single tr, with td elements inside that single tr that contain your content for the ribbon.

To achieve a fixed position for elements within the ribbon, for a page whose width varies depending on its contents (thereby stretching the ribbon) you can use multiple td elements to contain your content and then a final td element that is empty and has width 40% (or so) to push your contents towards the left and keep them in their proper locations.

• method OnGetRibbonInfo(Output pDisplay As %Boolean, Output pViewIcons As %List, Output pSortOptions As %List, Output pSearchBox As %Boolean, Output pRibbonTitle As %String, Output pCommands As %List) as %Status
This callback, if implemented returns information used to display the standard ribbon bar.
pDisplay is true if the ribbon should be displayed.
pViewIcons is an array describing "view" buttons to display: pViewIcons(n) = $LB(id,help,icon)
pSortOptions is an array describing "sort" options to display: pSortOptions(n) = $LB(id,caption,help)
pSearch is true if a search box is displayed.
pRibbonTitle is a title to display.
pCommands is an array of command buttons to display: pCommands(n) = $LB(id,caption,help,onclick)
• method changePassword() as %String [ Language = javascript ]
Show dialog to change password
• method getPageTitle() as %String [ Language = javascript ]
Get the title string to add to the locator row. This should be implemented in a subclass.
• method getTitleAreaHeight() [ Language = javascript ]
Return the height of the title area (titleBar plus locator).
• method goHome() [ Language = javascript ]
Go to the home page.
• method goMenu(link) [ Language = javascript ]
Go to the menu link.
• method gotoNamespace(url) [ Language = javascript ]
Navigate to a new namespace in the portal.
• method logout() [ Language = javascript ]
End the current session. If user has unsaved changes, prompt to save before process logout.
• method navigate(url) [ Language = javascript ]
Navigate to a new page in the portal.
• method onPopupAction(popupName, action, value) [ Language = javascript ]
Subclass need to include the case "switchNamespace" if it is enabling "Switch" next to namespace.
• method onServerMethodError(err, errObject) [ Language = javascript ]
Custom handler for hyperEvent handlers to be (optionally) less intrusive if the cause of the error was an auto-refresh timer losing commectivity with the host.
• method onloadHandler() [ Language = javascript ]
This client event, if present, is fired when the page is loaded.
• method onlogoutHandler() [ Language = javascript ]
This client method, if defined and the AUTOLOGOUT parameter for this page is true, is invoked when the logout timer for this page fires.
If this method return true then the normal page logout behavior will fire. That is, the page will be reloaded causing a login page to appear if the current session has ended.
• method onunloadHandler() [ Language = javascript ]
This client event, if present, is fired when the page is unloaded. If this method returns a string value, then that is used as the return value of the HTML page's onbeforeunload handler (if more than one component returns a string, the first one encountered is used).
• method searchBlur(evt) [ Language = javascript ]
Blur event in search box.
• method searchBoxHandler(searchKey) [ Language = javascript ]
Change in search box value. Can be overridden by subclasses.
• method searchFocus(evt) [ Language = javascript ]
Blur event in search box.
• method searchKeyDown(evt) [ Language = javascript ]
Key down in search box (work-around for ie).
• method searchKeyPress(evt) [ Language = javascript ]
Key press in search box (work-around for ie).
• method setConnectivityStatusMsg(msg) [ Language = javascript ]
• method setModified(flag) [ Language = javascript ]
Set the modified flag for the page.
• method setPageTitle(name) [ Language = javascript ]
Set the document name for the page.
• method setSortMode(mode) [ Language = javascript ]
Change the current sort mode for the page.
• method setSortModeHandler(mode) [ Language = javascript ]
Do the actual work of updating the view to match the current sort mode.
• method setViewMode(mode) [ Language = javascript ]
Change the current display mode for this page. This is called by the icon buttons on the ribbon. This will call the setViewModeHandler within a subclass.
• method setViewModeHandler(mode, oldmode) [ Language = javascript ]
Do the actual work of updating the view to match the current view mode.
• method showAbout() [ Language = javascript ]
Go to the about page.
• method showContact() [ Language = javascript ]
Go to the about page.
• method showHelp() [ Language = javascript ]
Show documentation.
• method switchNamespace() as %String [ Language = javascript ]
Show dialog to switch namespace