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


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

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


Parameters Properties Methods Queries Indices ForeignKeys Triggers
10 9 47


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
containerStyle cssLevel currSortMode currStep
currViewMode disabled dragAndDrop dragEnabled
dropEnabled 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

%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 GetDocPage 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 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
setProperty setPropertyAll setSortMode setSortModeHandler
setTraceOption setViewMode setViewModeHandler showAbout
showHelp startModal startProgressBar stopProgressBar

%CSP.Portal.Home %CSP.Portal.Template %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.
• parameter FAVORITEICON = "portal/sysoperate.ico";
SMP favorite icon.
• parameter HOMEPAGE = "/csp/sys/%25CSP.Portal.Home.zen";
URL of home page (used in links by many pages via homePage.)
• 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 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
This is deprecated and is expected to always return zero.
• 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 GetDocPage(pHelpAddress As %String) as %String [ ZenMethod ]
• 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 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 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 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 showHelp() [ Language = javascript ]
Show documentation.
• method switchNamespace() as %String [ Language = javascript ]
Show dialog to switch namespace