Development Guide

Global Screen Extensions

Since ILIAS 5.4 Global Screen controls major parts of the Screen of ILIAS. With ILIAS 6 those parts have been extended with the following components:

  • Standard Layout, template file: src/UI/templates/default/Layout/tpl.standardpage.html, the frame of the DOM for the complete ILIAS page. Also checkout the according less variable under section Layout (UI Layout Page).
  • Meta Bar template file: src/UI/templates/default/MainControls/tpl.metabar.html, the Bar on the top holding Notification, Search User Avatar, etc. Also checkout the according metabar less variables.
  • Main Bar template directory: src/UI/templates/default/MainControls/tpl.mainbar.html, the Bar on the left holding triggers for opening the slates for accessing Repository, Dasbhoard etc. Content. Also checkout the according mainbar less variables.
  • Footer src/UI/templates/default/MainControls/tpl.footer.html, Footer at the bottom of the page.

Every type of plugin can extend the Global Screen Components to adapt them the the specific needs of the plugin by setting the respective provider in the constructor of the Plugin class exteinding from ilPlugin in your specific plugin. E.g. for a UI-Hook-Plugin:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class SomePlugin extends ilUserInterfaceHookPlugin {
 
 
public function __construct()
{
parent::__construct();
 
global $DIC;
$this->provider_collection->setMainBarProvider(new MainBarProvider($DIC, $this));
$this->provider_collection->setMetaBarProvider(new MetaBarProvider($DIC, $this));
$this->provider_collection->setNotificationProvider(new NotificationProvider($DIC, $this));
$this->provider_collection->setModificationProvider(new ModificationProvider($DIC, $this));
$this->provider_collection->setToolProvider(new ToolProvider($DIC, $this));
}
 
/**
* @return string
*/

function getPluginName() {
return 'RoleBasedTopItemAccess';
}
}

Detailed documentation of the Globas Screen Components in ILIAS 6: https://github.com/ILIAS-eLearning/ILIAS/tree/release_6/src/GlobalScreen

Maybe also checkout the following small example of how a Main Bar Top Entry could be added that is accessible only by some global to be defined in -> Administration -> Layout and Navigation -> Main Menu -> Add New Main Entry -> Check "Global Role Based Access" Radio Option

See: https://github.com/Amstutz/RoleBasedTopItemAccess