%SYSTEM.CSP
Class %SYSTEM.CSP Extends Help [ Abstract, System = 4 ]
The %SYSTEM.CSP class provides an interface for managing CSP pages.
You can use it via the special $system object: Do $SYSTEM.CSP.LoadPage("/user/apps/page.csp","ck")
Parameters
Config
Parameter Config = ",8BitLocaleCharset,DebugErrorPage,DefaultErrorPage,ClearSessionsOnRestart,SessionLockTimeout,Expire,DefaultServerName,CSPConfigName,DefaultLoginPage,DefaultPasswordChangePage,OptionalBrokerJS,FileServerPage,UseLegacySessionSharing,ProtectSessionCallback,DisableGatewayCacheClear,GatewayPingHTTPSConfig,GatewayPingHTTPSPort,SessionPersistentHeaders,SQLGatewayTimeout,";
Methods
LoadPage
ClassMethod LoadPage(pageURL As %String, flags As %String = "ck") As %Status [ CodeMode = expression ]
Load a CSP page from disk and compile it.
Load a CSP page from the file pageURL specified as a URL and create a class representation of them. The class created will be compiled unless you pass the qualifier /cspcompileclass=0.
LoadPageDir
ClassMethod LoadPageDir(dirURL As %String, flags As %String = "ck") As %Status [ CodeMode = expression ]
Load all CSP pages in a directory from disk and compile them.
Load all CSP page from the directory dirURL specified as a URL and create a class representation of them. The classes created will be compiled unless you pass the qualifier /cspcompileclass=0.
DeletePage
ClassMethod DeletePage(pageURL As %String, qspec As %String) As %Status
Delete a CSP page from the disk file pageURL specified as a URL as well as the associated class representation.
Show
ClassMethod Show(url As %String, showhttp As %Boolean = 1, session As %CSP.Session) As %String
Display a CSP page on the console. Displays the CSP page with URL url to the primary device (console). If auto-compiling is enabled, it checks the timestamp of the source file to see if a recompilation is required and peforms it if necessary.
showhttp if false will skip the HTTP headers and the OnPreHTTP callback
session if you pass in an existing %CSP.Session object it will use this one rather than making a new one.
LoadRule
ClassMethod LoadRule(file As %String, flags As %String = "") As %Status [ CodeMode = expression ]
Load a CSP rule file.
Loads the CSP rule file file (.csr file) into the current namespace and compiles it.
LoadRuleFile
ClassMethod LoadRuleFile(url As %String, flags As %String = "") As %Status [ CodeMode = expression ]
Load a CSP rule file specified as a URL.
Loads the CSP rule file url (.csr file) into the current namespace and compiles it.
LoadRuleDir
ClassMethod LoadRuleDir(directory As %String, flags As %String = "") As %Status [ CodeMode = expression ]
Load all CSP rule files in a directory specified as a URL.
Loads all the CSP rule files in directory (.csr files) into the current namespace and compiles it.
DeleteAllRules
ClassMethod DeleteAllRules() As %Status [ CodeMode = expression ]
Delete all the user defined rules in the current namespace.
DeleteRuleFile
ClassMethod DeleteRuleFile(url As %String, flags As %String = "") As %Status [ CodeMode = expression ]
Delete the rules that had been loaded by a CSP rule file specified as a URL. DeleteRuleFile allows easy cleanup of previously loaded rules.
DeleteRule
ClassMethod DeleteRule(rulename As %String, flags As %String = "") As %Status [ CodeMode = expression ]
Delete a CSP rule.
Deletes the CSP rule rulename in the current namespace.
Shell
ClassMethod Shell()
Provide a shell to get CSP pages on the command line.
Provide a command line interface to display CSP pages. This is useful for debugging.
GetClassName
ClassMethod GetClassName(url As %String, baseurl As %String = "") As %String [ CodeMode = expression ]
Return the CSP class name for a url.
Return the class name of the class that will be generated from url. If you use a relative URL then you should also specify baseurl which is the URL this page is relative to.
GetFileName
ClassMethod GetFileName(url As %String) As %String [ CodeMode = expression ]
Return the filename for a url of a CSP page.
Return the file name associated with the page url.
GetAppName
ClassMethod GetAppName(url As %String) As %String
Return the CSP application name from the url of a CSP page.
GetDefaultApp
ClassMethod GetDefaultApp(namespace As %String) As %String [ CodeMode = expression ]
Return the default CSP application name for this namespace.
The default application may be explicitly defined by going to the desired appliction, setting its namespace, and then checking the Is-Namespace-Default checkbox.
If there is no explicitly defined default, the following rules apply. If /csp/
SetConfig
ClassMethod SetConfig(param As %String, val As %String)
Set a CSP configuration parameter.
Set one of the CSP configuration parameters that effect how CSP runs on this entire machine. Pass in the param name and the val that you wish to set.
GetConfig
ClassMethod GetConfig(param As %String) As %String
Get the value of a CSP configuration parameter.
Gets the value of one of the CSP configuration parameters that effect how CSP runs on this entire machine. Pass in the param name and it returns the current value.
DisplayConfig
ClassMethod DisplayConfig()
Displays the current global CSP configuration parmeters and what they mean.
Displays a list of the current CSP configuration parameters, their values and what each of them means.
FilenameToUrls
ClassMethod FilenameToUrls(filename As %String) As %List
Take an absolute file name, e.g., "c:\dir1\dir2\myfile.dat". Search the lists of files for the CSP applications to find a match. (There may be more than one.) The matches are returned as a list of urls to the file: {"/csp/app1/myfile.dat","/csp/otherapp/myfile.dat"}
GetGatewayRegistry
ClassMethod GetGatewayRegistry() As %CSP.Mgr.GatewayRegistry
The gateway registry gives access to the CSP Gateways connected to InterSystems IRIS.
WebPage
ClassMethod WebPage(class As %String) As %Boolean
Pass it a classname, e.g. 'User.Test' and it returns if this is a CSP page or not by looking if it extends %CSP.Page class.
GetPortalApp
ClassMethod GetPortalApp(namespace As %String, page As %String) As %String
Return the correct CSP application link for this portal page. Return
- "" if we can not link to portal application in this namespace,
- otherwise return either the default application i.e. /csp/
/ for this namespace if this is linking to something like ensemble or deepsee portal page which have to run in an application defined in this namespace - or return /csp/sys/ if this is a system management portal page which always runs in /csp/sys/ application (or subapplication) and handles namespace switching itself.
IsUpToDate
ClassMethod IsUpToDate(url As %String) As %Boolean
Return true if this url is up to date and false otherwise