* @var Array applications (each element is an instance of ApplicationConfiguration)
*/
public$applications=[];
/**
* @var Array authentication methods for this workspace (each element is an instance of AuthenticationMethod)
*/
public$authenticationMethods;
/**
* Determines if internal Obsidian Workspaces authentication can be used to login on this workspace URL
*
* @return boolean True if an user not logged in Obsidian Workspaces going to a workspace URL should be offered to login through Obsidian ; otherwise, false.
* Loads a WorkspaceConfiguration instance from an object
*
* @param object $data The object to deserialize
* @return WorkspaceConfiguration The deserialized instance
*/
publicstaticfunctionloadFromObject($data){
$instance=newWorkspaceConfiguration();
//Applications array
if(property_exists($data,'applications')){
foreach($data->applicationsas$application){
$controllerClass=$application->name;
if(!class_exists($controllerClass)){
trigger_error("Application controller doesn't exist: $controllerClass. If you've just added application code, update includes/autoload.php file to register your new classes.",E_USER_WARNING);