{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:class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[JSServer]{span}{span:class=sWordList}[JSTableObject]{span}{span:class=sWordList}[JSClientInformation]{span}{td}{tr}{table}\\{table:class=servoy sSummery}{colgroup}{column:width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[JSClientInformation]\[]{td}{td}[#getConnectedClients]\()
Returns an array of JSClientInformation elements describing the clients connected to the server.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[]{td}{td}[#getDataModelClonesFrom]\(serverName)
Retrieves a list with names of all database servers that have property DataModelCloneFrom equal to the parameter.{td}{tr}{tbody}{tbody}{tr}{td}[JSServer]{td}{td}[#getServer]\(serverName, mustBeEnabled, mustBeValid)
Retrieves an instance of JSServer corresponding to the server with the name specified through the "serverName" argument.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[]{td}{td}[#getServerNames]\(mustBeEnabled, mustBeValid, sort, includeDuplicates)
Retrieves a list with the names of all available database servers.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#isInMaintenanceMode]\()
Returns true if the server is in maintenance mode, false otherwise.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#sendMessageToAllClients]\(message)
Sends a message to all connected clients.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#sendMessageToClient]\(clientId, message)
Sends a message to a specific client, identified by its clientId.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setMaintenanceMode]\(maintenanceMode)
Puts the server into/out of maintenance mode, depending on the boolean parameter that is specified (if the parameter is true, then the server will be put into maintenance mode; if the parameter is false, then the server will be put out of maintenance mode).{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#shutDownAllClients]\()
Shuts down all connected clients.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#shutDownClient]\(clientId)
Shuts down a specific client, identified by its clientId.{td}{tr}{tbody}{table}\\{table:class=servoy sDetail}{colgroup}{column:width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=EDB517C6-4E03-4867-A02B-AE097D599928}{tr:id=name}{td}h6.getConnectedClients{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSClientInformation]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getConnectedClients{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_des|text=|trigger=button}{sub-section}{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_des|trigger=none|class=sIndent}Returns an array of JSClientInformation elements describing the clients connected to the server.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_ret|text=|trigger=button}{sub-section}{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_ret|trigger=none|class=sIndent}[JSClientInformation]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_see|text=|trigger=button}{sub-section}{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_see|text=|trigger=button}{sub-section}{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_sam|text=|trigger=button}{sub-section}{sub-section:EDB517C6-4E03-4867-A02B-AE097D599928_sam|class=sIndent|trigger=none}{code:language=javascript}
var clients = plugins.maintenance.getConnectedClients();
application.output("There are " + clients.length + " connected clients.");
for (var i = 0; i < clients.length; i++)
	application.output("Client has clientId '" + clients[i].getClientId() + "' and has connected from host '" + clients[i].getHostAddress() + "'.");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=68B0946A-E5E1-4260-A195-FE51161939DE}{tr:id=name}{td}h6.getDataModelClonesFrom{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getDataModelClonesFrom{span}{span:id=iets|style=float: left;}\(serverName){span}{td}{tr}{tr:id=des}{td}{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_des|text=|trigger=button}{sub-section}{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_des|trigger=none|class=sIndent}Retrieves a list with names of all database servers that have property DataModelCloneFrom equal to the parameter.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_prs|trigger=none}serverName
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_ret|text=|trigger=button}{sub-section}{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_ret|trigger=none|class=sIndent}[String]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_see|text=|trigger=button}{sub-section}{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_see|text=|trigger=button}{sub-section}{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_sam|text=|trigger=button}{sub-section}{sub-section:68B0946A-E5E1-4260-A195-FE51161939DE_sam|class=sIndent|trigger=none}{code:language=javascript}
var serverNames = plugins.maintenance.getDataModelClonesFrom('my_server');
for (var i=0; i<serverNames.length; i++)
	application.output("Process server " + i + ": " + serverNames[i]);
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=F549F6E2-5536-4E1B-A97B-52BA83693312}{tr:id=name}{td}h6.getServer{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSServer]{span}{span:id=iets|style=float: left; font-weight: bold;}getServer{span}{span:id=iets|style=float: left;}\(serverName, mustBeEnabled, mustBeValid){span}{td}{tr}{tr:id=des}{td}{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_des|text=|trigger=button}{sub-section}{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_des|trigger=none|class=sIndent}Retrieves an instance of JSServer corresponding to the server with the name specified through the "serverName" argument.
If the optional argument "mustBeEnabled" is set to true, then the JSServer instance is returned only if the server is active.
Similarly, if the "mustBeValid" optional argument is set to true, then the JSServer instance is returned only if the server is valid.
If the specified server is not found, or if it does not meet the requirements imposed by the optional arguments, then null is returned.
By default both optional arguments have the value false.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_prs|trigger=none}serverName
\[mustBeEnabled\]
\[mustBeValid\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_ret|text=|trigger=button}{sub-section}{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_ret|trigger=none|class=sIndent}[JSServer]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_see|text=|trigger=button}{sub-section}{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_see|text=|trigger=button}{sub-section}{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_sam|text=|trigger=button}{sub-section}{sub-section:F549F6E2-5536-4E1B-A97B-52BA83693312_sam|class=sIndent|trigger=none}{code:language=javascript}
var server = plugins.maintenance.getServer("example_data");
if (server) {
	var tableNames = server.getTableNames();
	application.output("There are " + tableNames.length + " tables.");
	for (var i=0; i<tableNames.length; i++)
		application.output("Table " + i + ": " + tableNames[i]);
	}
else {
	plugins.dialogs.showInfoDialog("Attention","Server 'example_data' cannot be found.","OK");
}
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=50187FB6-AC4B-4AF6-8111-4BAB3987EE56}{tr:id=name}{td}h6.getServerNames{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getServerNames{span}{span:id=iets|style=float: left;}\(mustBeEnabled, mustBeValid, sort, includeDuplicates){span}{td}{tr}{tr:id=des}{td}{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_des|text=|trigger=button}{sub-section}{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_des|trigger=none|class=sIndent}Retrieves a list with the names of all available database servers. The returned list will contain only enabled servers if the "mustBeEnabled"
optional argument is set to true. The list will contain only valid servers if the "mustBeValid" argument is set to true. If the "sort" optional
argument is set to true, then the list will be sorted alphabetically. If the "includeDuplicates" optional argument is set to false, then duplicate
servers will appear only once in the list. By default, the "mustBeEnabled" and the "mustBeValid" arguments have the value false, while the "sort"
and "includeDuplicates" arguments have the value true.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_prs|trigger=none}\[mustBeEnabled\]
\[mustBeValid\]
\[sort\]
\[includeDuplicates\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_ret|text=|trigger=button}{sub-section}{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_ret|trigger=none|class=sIndent}[String]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_see|text=|trigger=button}{sub-section}{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_see|text=|trigger=button}{sub-section}{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_sam|text=|trigger=button}{sub-section}{sub-section:50187FB6-AC4B-4AF6-8111-4BAB3987EE56_sam|class=sIndent|trigger=none}{code:language=javascript}
var serverNames = plugins.maintenance.getServerNames();
application.output("There are " + serverNames.length + " servers.");
for (var i=0; i<serverNames.length; i++)
	application.output("Server " + i + ": " + serverNames[i]);
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DD66203A-4DD9-4464-8FBE-4860109C6B34}{tr:id=name}{td}h6.isInMaintenanceMode{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}isInMaintenanceMode{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_des|text=|trigger=button}{sub-section}{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_des|trigger=none|class=sIndent}Returns true if the server is in maintenance mode, false otherwise.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_ret|text=|trigger=button}{sub-section}{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_see|text=|trigger=button}{sub-section}{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_see|text=|trigger=button}{sub-section}{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_sam|text=|trigger=button}{sub-section}{sub-section:DD66203A-4DD9-4464-8FBE-4860109C6B34_sam|class=sIndent|trigger=none}{code:language=javascript}
if (plugins.maintenance.isInMaintenanceMode())
	application.output("Server is in maintenance mode.");
else
	application.output("Server is not in maintenance mode.");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27}{tr:id=name}{td}h6.sendMessageToAllClients{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}sendMessageToAllClients{span}{span:id=iets|style=float: left;}\(message){span}{td}{tr}{tr:id=des}{td}{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_des|text=|trigger=button}{sub-section}{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_des|trigger=none|class=sIndent}Sends a message to all connected clients.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_prs|trigger=none}message
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_ret|text=|trigger=button}{sub-section}{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_see|text=|trigger=button}{sub-section}{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_see|text=|trigger=button}{sub-section}{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_sam|text=|trigger=button}{sub-section}{sub-section:14BEF1A9-C5DC-4BFE-BD54-3BA76D4A3B27_sam|class=sIndent|trigger=none}{code:language=javascript}
plugins.maintenance.sendMessageToAllClients("Hello, all clients!");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=C84CAB7E-1AED-4AD7-A2EE-B3C71637A027}{tr:id=name}{td}h6.sendMessageToClient{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}sendMessageToClient{span}{span:id=iets|style=float: left;}\(clientId, message){span}{td}{tr}{tr:id=des}{td}{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_des|text=|trigger=button}{sub-section}{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_des|trigger=none|class=sIndent}Sends a message to a specific client, identified by its clientId. The clientIds are retrieved by calling the getConnectedClients method.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_prs|trigger=none}clientId
message
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_ret|text=|trigger=button}{sub-section}{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_see|text=|trigger=button}{sub-section}{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_see|text=|trigger=button}{sub-section}{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_sam|text=|trigger=button}{sub-section}{sub-section:C84CAB7E-1AED-4AD7-A2EE-B3C71637A027_sam|class=sIndent|trigger=none}{code:language=javascript}
var clients = plugins.maintenance.getConnectedClients();
for (var i=0; i<clients.length; i++)
	plugins.maintenance.sendMessageToClient(clients[i].getClientId(), "Hello, client " + clients[i].getClientId() + "!");
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=10A06B87-1F09-4D37-A474-6E1C4BB6D492}{tr:id=name}{td}h6.setMaintenanceMode{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setMaintenanceMode{span}{span:id=iets|style=float: left;}\(maintenanceMode){span}{td}{tr}{tr:id=des}{td}{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_des|text=|trigger=button}{sub-section}{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_des|trigger=none|class=sIndent}Puts the server into/out of maintenance mode, depending on the boolean parameter that is specified (if the parameter is true, then the server will be put into maintenance mode; if the parameter is false, then the server will be put out of maintenance mode).{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_prs|trigger=none}maintenanceMode
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_ret|text=|trigger=button}{sub-section}{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_see|text=|trigger=button}{sub-section}{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_see|text=|trigger=button}{sub-section}{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_sam|text=|trigger=button}{sub-section}{sub-section:10A06B87-1F09-4D37-A474-6E1C4BB6D492_sam|class=sIndent|trigger=none}{code:language=javascript}
plugins.maintenance.setMaintenanceMode(!plugins.maintenance.isInMaintenanceMode());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5}{tr:id=name}{td}h6.shutDownAllClients{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}shutDownAllClients{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_des|text=|trigger=button}{sub-section}{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_des|trigger=none|class=sIndent}Shuts down all connected clients.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_ret|text=|trigger=button}{sub-section}{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_see|text=|trigger=button}{sub-section}{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_see|text=|trigger=button}{sub-section}{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_sam|text=|trigger=button}{sub-section}{sub-section:E03862A6-C2D8-46BA-8E17-2BC3A99EBCA5_sam|class=sIndent|trigger=none}{code:language=javascript}
plugins.maintenance.shutDownAllClients();
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=DE477B96-03E1-494A-8168-F0E6E46DE334}{tr:id=name}{td}h6.shutDownClient{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}shutDownClient{span}{span:id=iets|style=float: left;}\(clientId){span}{td}{tr}{tr:id=des}{td}{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_des|text=|trigger=button}{sub-section}{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_des|trigger=none|class=sIndent}Shuts down a specific client, identified by its clientId. The clientIds are retrieved by calling the getConnectedClients method.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_prs|trigger=none}clientId
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_ret|text=|trigger=button}{sub-section}{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_see|text=|trigger=button}{sub-section}{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_see|text=|trigger=button}{sub-section}{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_sam|text=|trigger=button}{sub-section}{sub-section:DE477B96-03E1-494A-8168-F0E6E46DE334_sam|class=sIndent|trigger=none}{code:language=javascript}
var clients = plugins.maintenance.getConnectedClients();
for (var i=0; i<clients.length; i++)
	plugins.maintenance.shutDownClient(clients[i].getClientId());
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}