{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\
{table:id=|class=servoy sSummary}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Event Summary{th}{tr}{tbody}{tr}{td}[Boolean]{td}{td}[#onClose]
The method that is executed when a solution closes.{td}{tr}{tbody}{tbody}{tr}{td}{td}{td}[#onDataBroadcast]
Method that is executed when data broadcast occurs.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#onError]
The method that is executed when a solution opens and an error occurs.{td}{tr}{tbody}{tbody}{tr}{td}{td}{td}[#onOpen]
The method that is executed when a solution opens.{td}{tr}{tbody}{table}\\
{table:id=|class=servoy sSummary}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Property Summary{th}{tr}{tbody}{tr}{td}[Number]{td}{td}[#firstForm]
Cache
index
true
refresh
100d
showRefresh
true
id
doc
title
Refresh page
showDate
true
retry
Enable
servoy sReturnTypes2100%height: 30px;2Supported ClientssWordListSmartClientsWordListWebClientsWordListNGClientsWordListMobileClientservoy sSummary12%30%58%height: 30px;3Property SummaryThe first form that loads when a solution is deployed.The i18n database server connection and database table that stores the i18n keys for a solution.The name of the login form that loads when a solution is deployed.Get the first module that is also a login solution.The list of modules that have been added to a solution.Flag that tells if authentication is needed in order to access the solution.The type of a solution; can be "Normal" (non-module), "Module", "Web client only", "Smart client only", "Login", "Authenticator", "Pre-import hook module", "Post-import hook module", "Mobile".The custom CSS used by the solution (a MEDIA lib entry).The direction that text is displayed.The menu bar title of a solution.This is the version of the solution, this can be any kind of string but try to follow "Semantic Versioning".servoy sSummary12%30%58%height: 30px;3Event SummaryvoidThe method that is executed when autosave results in validation or save failures.voidThe method that is to onOpen just that it executes before the login on solutions with a login form (not login soliution).The method that is executed when a solution closes.voidMethod that is executed when data broadcast occurs.The method that is executed when a solution opens and an error occurs.voidThe method that is executed when a solution opens.propertyservoy sDetail2100%height:30px2Property Detailscommentname
comment
dessIndentret
Returns
sIndentclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowfirstFormname
firstForm
dessIndent
The first form that loads when a solution is deployed.
{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#i18nDataSource]
The i18n database server connection and database table that stores the i18n keys for a solution.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#loginForm]
The name of the login form that loads when a solution is deployed.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#loginSolutionName]
Get the first module that is also a login solution.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#modulesNames]
The list of modules that have
NOTE: If the Login form is specified, then the firstForm is the first form that will load next after the loginForm.
Flag that tells if authentication is needed in order to access the solution.
{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#solutionType]
The type of a solution; can be "Normal" (non\-module), "Module", "Web client only", "Smart client only" .{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#textOrientation]
The direction that text is displayed.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#titleText]
The menu bar title of a solution.{td}{tr}{tbody}{table}\\
{table:id=event|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Event Details{th}{tr}{tbody:id=onClose|class=node}{tr:id=name}{td}h6.onClose{td}{tr}{tr:id=des}{td}{sub-section:onClose_des|text=|trigger=button}{sub-section}{sub-section:onClose_des|trigger=none|class=sIndent}The method that is executed when a solution closes. The default is \-none\-.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:onClose_snc|text=|trigger=button}{sub-section}{sub-section:onClose_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:onClose_prs|text=|trigger=button}{sub-section}{sub-section:onClose_prs|trigger=none|class=sIndent}\{[Boolean]} force -- if false then solution close can be stopped by returning false
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:onClose_ret|text=|trigger=button}{sub-section}{sub-section:onClose_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:onClose_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onClose_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:onClose_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onClose_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:onClose_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onClose_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onDataBroadcast|class=node}{tr:id=name}{td}h6.onDataBroadcast{td}{tr}{tr:id=des}{td}{sub-section:onDataBroadcast_des|text=|trigger=button}{sub-section}{sub-section:onDataBroadcast_des|trigger=none|class=sIndent}Method that is executed when data broadcast occurs. The default is \-none\-.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:onDataBroadcast_snc|text=|trigger=button}{sub-section}{sub-section:onDataBroadcast_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:onDataBroadcast_prs|text=|trigger=button}{sub-section}{sub-section:onDataBroadcast_prs|trigger=none|class=sIndent}\{[String]} dataSource -- table data source
\{[Boolean]} cached -- data was cached
{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=ret}{td}*Returns*\\{sub-section:onDataBroadcast_ret|text=|trigger=button}{sub-section}{sub-section:onDataBroadcast_ret|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:onDataBroadcast_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onDataBroadcast_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:onDataBroadcast_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onDataBroadcast_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:onDataBroadcast_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onDataBroadcast_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onError|class=node}{tr:id=name}{td}h6.onError{td}{tr}{tr:id=des}{td}{sub-section:onError_des|text=|trigger=button}{sub-section}{sub-section:onError_des|trigger=none|class=sIndent}The method that is executed when a solution opens and an error occurs. The default is \-none.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:onError_snc|text=|trigger=button}{sub-section}{sub-section:onError_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:onError_prs|text=|trigger=button}{sub-section}{sub-section:onError_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:onError_ret|text=|trigger=button}{sub-section}{sub-section:onError_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:onError_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onError_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:onError_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onError_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:onError_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onError_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=onOpen|class=node}{tr:id=name}{td}h6.onOpen{td}{tr}{tr:id=des}{td}{sub-section:onOpen_des|text=|trigger=button}{sub-section}{sub-section:onOpen_des|trigger=none|class=sIndent}The method that is executed when a solution opens. The default is \-none\-.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:onOpen_snc|text=|trigger=button}{sub-section}{sub-section:onOpen_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:onOpen_prs|text=|trigger=button}{sub-section}{sub-section:onOpen_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=ret}{td}*Returns*\\{sub-section:onOpen_ret|text=|trigger=button}{sub-section}{sub-section:onOpen_ret|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:onOpen_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onOpen_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:onOpen_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onOpen_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:onOpen_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:onOpen_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\
{table:id=property|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Property Details{th}{tr}{tbody:id=firstForm|class=node}{tr:id=name}{td}h6.firstForm{td}{tr}{tr:id=des}{td}{sub-section:firstForm_des|text=|trigger=button}{sub-section}{sub-section:firstForm_des|trigger=none|class=sIndent}The first form that loads when a solution is deployed.
NOTE: If the Login form is specified, then the firstForm is the first form that will load next after the loginForm.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:firstForm_snc|text=|trigger=button}{sub-section}{sub-section:firstForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:firstForm_prs|text=|trigger=button}{sub-section}{sub-section:firstForm_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:firstForm_ret|text=|trigger=button}{sub-section}{sub-section:firstForm_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:firstForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:firstForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:firstForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:firstForm_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:firstForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:firstForm_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=i18nDataSource|class=node}{tr:id=name}{td}h6.i18nDataSource{td}{tr}{tr:id=des}{td}{sub-section:i18nDataSource_des|text=|trigger=button}{sub-section}{sub-section:i18nDataSource_des|trigger=none|class=sIndent}The i18n database server connection and database table that stores the i18n keys for a solution.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:i18nDataSource_snc|text=|trigger=button}{sub-section}{sub-section:i18nDataSource_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:i18nDataSource_prs|text=|trigger=button}{sub-section}{sub-section:i18nDataSource_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:i18nDataSource_ret|text=|trigger=button}{sub-section}{sub-section:i18nDataSource_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:i18nDataSource_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:i18nDataSource_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:i18nDataSource_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:i18nDataSource_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:i18nDataSource_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:i18nDataSource_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=loginForm|class=node}{tr:id=name}{td}h6.loginForm{td}{tr}{tr:id=des}{td}{sub-section:loginForm_des|text=|trigger=button}{sub-section}{sub-section:loginForm_des|trigger=none|class=sIndent}The name of the login form that loads when a solution is deployed.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:loginForm_snc|text=|trigger=button}{sub-section}{sub-section:loginForm_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:loginForm_prs|text=|trigger=button}{sub-section}{sub-section:loginForm_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:loginForm_ret|text=|trigger=button}{sub-section}{sub-section:loginForm_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:loginForm_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:loginForm_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:loginForm_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:loginForm_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:loginForm_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:loginForm_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=loginSolutionName|class=node}{tr:id=name}{td}h6.loginSolutionName{td}{tr}{tr:id=des}{td}{sub-section:loginSolutionName_des|text=|trigger=button}{sub-section}{sub-section:loginSolutionName_des|trigger=none|class=sIndent}Get the first module that is also a login solution.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:loginSolutionName_snc|text=|trigger=button}{sub-section}{sub-section:loginSolutionName_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:loginSolutionName_prs|text=|trigger=button}{sub-section}{sub-section:loginSolutionName_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:loginSolutionName_ret|text=|trigger=button}{sub-section}{sub-section:loginSolutionName_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:loginSolutionName_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:loginSolutionName_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:loginSolutionName_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:loginSolutionName_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:loginSolutionName_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:loginSolutionName_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=modulesNames|class=node}{tr:id=name}{td}h6.modulesNames{td}{tr}{tr:id=des}{td}{sub-section:modulesNames_des|text=|trigger=button}{sub-section}{sub-section:modulesNames_des|trigger=none|class=sIndent}The list of modules that have been added to a solution.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:modulesNames_snc|text=|trigger=button}{sub-section}{sub-section:modulesNames_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:modulesNames_prs|text=|trigger=button}{sub-section}{sub-section:modulesNames_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:modulesNames_ret|text=|trigger=button}{sub-section}{sub-section:modulesNames_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:modulesNames_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:modulesNames_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:modulesNames_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:modulesNames_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:modulesNames_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:modulesNames_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=mustAuthenticate|class=node}{tr:id=name}{td}h6.mustAuthenticate{td}{tr}{tr:id=des}{td}{sub-section:mustAuthenticate_des|text=|trigger=button}{sub-section}{sub-section:mustAuthenticate_des|trigger=none|class=sIndent}Flag that tells if authentication is needed in order to access the solution.
To enforce a default Servoy user name and password login dialog; if set a login dialog is required, if unchecked no login dialog is required.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:mustAuthenticate_snc|text=|trigger=button}{sub-section}{sub-section:mustAuthenticate_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:mustAuthenticate_prs|text=|trigger=button}{sub-section}{sub-section:mustAuthenticate_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:mustAuthenticate_ret|text=|trigger=button}{sub-section}{sub-section:mustAuthenticate_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:mustAuthenticate_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:mustAuthenticate_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:mustAuthenticate_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:mustAuthenticate_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:mustAuthenticate_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:mustAuthenticate_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=solutionType|class=node}{tr:id=name}{td}h6.solutionType{td}{tr}{tr:id=des}{td}{sub-section:solutionType_des|text=|trigger=button}{sub-section}{sub-section:solutionType_des|trigger=none|class=sIndent}The type of a solution; can be "Normal" (non\-module), "Module", "Web client only", "Smart client only" .{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:solutionType_snc|text=|trigger=button}{sub-section}{sub-section:solutionType_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:solutionType_prs|text=|trigger=button}{sub-section}{sub-section:solutionType_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:solutionType_ret|text=|trigger=button}{sub-section}{sub-section:solutionType_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:solutionType_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:solutionType_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:solutionType_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:solutionType_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:solutionType_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:solutionType_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=textOrientation|class=node}{tr:id=name}{td}h6.textOrientation{td}{tr}{tr:id=des}{td}{sub-section:textOrientation_des|text=|trigger=button}{sub-section}{sub-section:textOrientation_des|trigger=none|class=sIndent}The direction that text is displayed.
Options include:
DEFAULT
left to right
right to left
locale specific{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:textOrientation_snc|text=|trigger=button}{sub-section}{sub-section:textOrientation_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:textOrientation_prs|text=|trigger=button}{sub-section}{sub-section:textOrientation_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:textOrientation_ret|text=|trigger=button}{sub-section}{sub-section:textOrientation_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:textOrientation_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:textOrientation_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:textOrientation_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:textOrientation_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:textOrientation_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:textOrientation_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=titleText|class=node}{tr:id=name}{td}h6.titleText{td}{tr}{tr:id=des}{td}{sub-section:titleText_des|text=|trigger=button}{sub-section}{sub-section:titleText_des|trigger=none|class=sIndent}The menu bar title of a solution.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:titleText_snc|text=|trigger=button}{sub-section}{sub-section:titleText_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:titleText_prs|text=|trigger=button}{sub-section}{sub-section:titleText_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:titleText_ret|text=|trigger=button}{sub-section}{sub-section:titleText_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:titleText_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:titleText_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:titleText_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:titleText_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:titleText_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:titleText_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}
If unchecked, the Smart Client will always require authentication, regardless of this setting.
If checked, authentication is required, and either a provided loginSolution or otherwise the default Servoy login mechanism will be used.
If default Servoy login mechanism is used, the "servoy.webclient.basic.authentication" setting on the Admin Page can be used to enable the use of the standard browser basic authentication.
The type of a solution; can be "Normal" (non-module), "Module", "Web client only", "Smart client only",
"Login", "Authenticator", "Pre-import hook module", "Post-import hook module", "Mobile".
These constants are defined in SolutionMetaData class.
The custom CSS used by the solution (a MEDIA lib entry). It can reference other media resources (even additional .css through relative '@import' statements).
For NGClient - this CSS will be available directly in the browser.
ret
Returns
sIndentclients
Supported Clients
sIndentNGClientsam
Sample
sIdentjavascriptlastDetailRowtextOrientationname
textOrientation
dessIndent
The direction that text is displayed.
Options include:
DEFAULT
left to right
right to left
locale specific
ret
Returns
sIndentclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowtitleTextname
titleText
dessIndent
The menu bar title of a solution.
ret
Returns
sIndentclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowversionname
version
dessIndent
This is the version of the solution, this can be any kind of string but try to follow "Semantic Versioning".
This version is important when you are making modules that are distributed by the Servoy Package Manager.
Then this version is used to know what the developer has installed. This version should be in sync then with the webpackage.json file.
The method that is executed when autosave results in validation or save failures.
This is not called for save or validate calls that are triggered from javascript itself (databaseManager.saveData()), only when Servoy tries an auto save
because of some event like user clicking on the form itself or foundset selection change.
prs
Parameters
sIndentrecordMarkersan array of all the record markers that failed to validate or save.clients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowonBeforeLoginname
onBeforeLogin(|)
dessIndent
The method that is to onOpen just that it executes before the login on solutions with a login form (not login soliution). The default is -none-.
prs
Parameters
sIndent|String> queryParams all query parameters of the deeplink url with which the Client was started, key>string if there was one value else key>Array<String>clients
The method that is executed when a solution closes. The default is -none-.
prs
Parameters
sIndentforceif false then solution close can be stopped by returning falseret
Returns
sIndentclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowonDataBroadcastname
onDataBroadcast(dataSource, action, pks, cached)
dessIndent
Method that is executed when data broadcast occurs. The default is -none-.
prs
Parameters
sIndentdataSourcetable data sourceactionsee SQL_ACTION_TYPES constantspksaffected primary keyscacheddata was cachedclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowonErrorname
onError(ex)
dessIndent
The method that is executed when a solution opens and an error occurs. The default is -none.
prs
Parameters
sIndentexexception to handleret
Returns
sIndentclients
Supported Clients
sIndentSmartClient,WebClient,NGClientsam
Sample
sIdentjavascriptlastDetailRowonOpenname
onOpen(arg, |)
dessIndent
The method that is executed when a solution opens. The default is -none-.
prs
Parameters
sIndentargstartup argument part of the deeplink url with which the Client was started|String> queryParams all query parameters of the deeplink url with which the Client was started, key>string if there was one value else key>Array<String>clients