Les layouts de la charte dépendent de régions. Il existe un ensemble par défaut de régions qui peut être modifié à l'aide du mécanisme des customizers afin de pouvoir en ajouter, en modifier ou même en supprimer afin d'éviter le calcul de régions inutilisées.

Les régions par défaut sont les suivantes :

header-metadataMétadonnées de l'entête de la page HTML.
toolbarBarre d'outils, pouvant contenir les outils d'administration.
searchZone de recherche.
tabsBarre d'onglets.
breadcrumbFil d'Arianne.
footerPied de page.

L'administrateur dispose d'une région supplémentaire non modifiable : "pageSettings".

Les régions "tabs" et "footer" ne sont pas calculées par défaut pour un site web.

L'objet contenant l'ensemble des régions devant être calculées implémente l'interface org.osivia.portal.api.theming.IRenderedRegions. Cette interface présente les deux méthodes suivantes, permettant l'ajout, la modification et la suppression de régions :

boolean defineRenderedRegion(String regionName, String regionPath);

boolean removeRenderedRegion(String regionName);

Le chemin des régions ajoutées ou modifiées doit commencer par un "/", et ce chemin est relatif au dossier "webapp" du projet courant.

Exemple de modification de la région "toolbar" par défaut :

public void customize(String customizationID, CustomizationContext context) {
    Map<String, Object> attributes = context.getAttributes();
    IRenderedRegions renderedRegion = (IRenderedRegions) attributes.get(IRenderedRegions.CUSTOMIZER_ATTRIBUTE_RENDERED_REGIONS);

    renderedRegion.defineRenderedRegion("toolbar", "/header/toolbar.jsp");
}