The following class contains 1 class method "test" that creates a Zen Application and Page:
Class objectscript.createZenPage
{
classmethod test() {
// create Application...
set app=##class(%Dictionary.ClassDefinition).%New()
set app.Super="%ZEN.application"
set app.Name="ZenTest.MyZenApplication"
set app.ProcedureBlock=1
set param=##class(%Dictionary.ParameterDefinition).%New()
set param.Name="APPLICATIONNAME"
set param.Default="MyZenApplication"
set param.parent=app
do param.%Save()
set param=##class(%Dictionary.ParameterDefinition).%New()
set param.Name="HOMEPAGE"
set param.Default=""
set param.parent=app
do param.%Save()
set ok=app.%Save()
if 'ok {
do DecomposeStatus^%apiOBJ(ok,.err)
write "Error creating App class: "_err(1),!
}
// create Page...
set page=##class(%Dictionary.ClassDefinition).%New()
set page.Name="ZenTest.MyZenPage"
set page.ProcedureBlock=1
set page.Super="%ZEN.Component.page"
set param=##class(%Dictionary.ParameterDefinition).%New()
set param.Name="APPLICATIONNAME"
set param.Default="ZenTest.MyZenApplication"
set param.parent=page
do param.%Save()
set param=##class(%Dictionary.ParameterDefinition).%New()
set param.Name="PAGENAME"
set param.Default="MyZenPage"
set param.parent=page
do param.%Save()
set xds=##class(%Dictionary.XDataDefinition).%New()
set xds.parent=page
set xds.Name="Style"
set xds.Data=##class(%Stream.TmpCharacter).%New()
do xds.Data.Rewind()
do xds.Data.Write("






