Version 0.1.64 0.1.64
authorThierry Florac <tflorac@ulthar.net>
Fri, 13 Nov 2020 16:32:09 +0100
changeset 1430 214c52ecca77
parent 1429 9b93fdd5ba30
child 1431 db9545c07bf1
Version 0.1.64
buildout.cfg
docs/HISTORY.txt
setup.py
src/pyams_content.egg-info/PKG-INFO
src/pyams_content.egg-info/SOURCES.txt
src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo
src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po
src/pyams_content/locales/pyams_content.pot
--- a/buildout.cfg	Fri Nov 13 13:13:48 2020 +0100
+++ b/buildout.cfg	Fri Nov 13 16:32:09 2020 +0100
@@ -87,4 +87,4 @@
 eggs = pyams_content [test]
 
 [versions]
-pyams_content = 0.1.63
+pyams_content = 0.1.64
--- a/docs/HISTORY.txt	Fri Nov 13 13:13:48 2020 +0100
+++ b/docs/HISTORY.txt	Fri Nov 13 16:32:09 2020 +0100
@@ -1,6 +1,16 @@
 History
 =======
 
+0.1.64
+------
+ - added "Hubs" managers
+ - allow inheritance of themes
+ - allow selection of pictograms from forms manager
+ - added alternate title to logos
+ - added site contents vocabulary
+ - allow selection of sub-themes in view themes settings
+ - updated menus order
+
 0.1.63
 ------
  - added header attribute to site manager
--- a/setup.py	Fri Nov 13 13:13:48 2020 +0100
+++ b/setup.py	Fri Nov 13 16:32:09 2020 +0100
@@ -24,7 +24,7 @@
 README = os.path.join(DOCS, 'README.txt')
 HISTORY = os.path.join(DOCS, 'HISTORY.txt')
 
-version = '0.1.63'
+version = '0.1.64'
 long_description = open(README).read() + '\n\n' + open(HISTORY).read()
 
 tests_require = []
--- a/src/pyams_content.egg-info/PKG-INFO	Fri Nov 13 13:13:48 2020 +0100
+++ b/src/pyams_content.egg-info/PKG-INFO	Fri Nov 13 16:32:09 2020 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pyams-content
-Version: 0.1.63
+Version: 0.1.64
 Summary: PyAMS base content interfaces and classes
 Home-page: http://hg.ztfy.org/pyams/pyams_content
 Author: Thierry Florac
@@ -72,6 +72,16 @@
         History
         =======
         
+        0.1.64
+        ------
+         - added "Hubs" managers
+         - allow inheritance of themes
+         - allow selection of pictograms from forms manager
+         - added alternate title to logos
+         - added site contents vocabulary
+         - allow selection of sub-themes in view themes settings
+         - updated menus order
+        
         0.1.63
         ------
          - added header attribute to site manager
--- a/src/pyams_content.egg-info/SOURCES.txt	Fri Nov 13 13:13:48 2020 +0100
+++ b/src/pyams_content.egg-info/SOURCES.txt	Fri Nov 13 16:32:09 2020 +0100
@@ -2,6 +2,7 @@
 setup.py
 docs/HISTORY.txt
 docs/README.txt
+docs/properties-menu.txt
 docs/workflow-basic.png
 docs/workflow-basic.puml
 docs/workflow-standard.png
@@ -352,6 +353,11 @@
 src/pyams_content/shared/form/zmi/manager.py
 src/pyams_content/shared/form/zmi/paragraph.py
 src/pyams_content/shared/form/zmi/properties.py
+src/pyams_content/shared/hub/__init__.py
+src/pyams_content/shared/hub/interfaces.py
+src/pyams_content/shared/hub/manager.py
+src/pyams_content/shared/hub/zmi/__init__.py
+src/pyams_content/shared/hub/zmi/manager.py
 src/pyams_content/shared/imagemap/__init__.py
 src/pyams_content/shared/imagemap/interfaces.py
 src/pyams_content/shared/imagemap/manager.py
Binary file src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo has changed
--- a/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Fri Nov 13 13:13:48 2020 +0100
+++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Fri Nov 13 16:32:09 2020 +0100
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2020-08-31 13:58+0200\n"
+"POT-Creation-Date: 2020-11-13 09:24+0100\n"
 "PO-Revision-Date: 2015-09-10 10:42+0200\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French\n"
@@ -116,8 +116,8 @@
 msgstr "Gérer cette table"
 
 #: src/pyams_content/reference/pictograms/interfaces.py:44
-#: src/pyams_content/component/extfile/__init__.py:240
-#: src/pyams_content/component/extfile/__init__.py:256
+#: src/pyams_content/component/extfile/__init__.py:230
+#: src/pyams_content/component/extfile/__init__.py:246
 #: src/pyams_content/shared/imagemap/interfaces.py:67
 msgid "Image"
 msgstr "Image"
@@ -192,7 +192,7 @@
 #: src/pyams_content/component/keynumber/portlet/interfaces.py:31
 #: src/pyams_content/component/gallery/interfaces.py:107
 #: src/pyams_content/component/paragraph/interfaces/milestone.py:42
-#: src/pyams_content/component/paragraph/zmi/container.py:266
+#: src/pyams_content/component/paragraph/zmi/container.py:268
 #: src/pyams_content/component/paragraph/zmi/milestone.py:238
 #: src/pyams_content/interfaces/__init__.py:101
 #: src/pyams_content/features/menu/portlet/navigation/interfaces/simple.py:31
@@ -204,7 +204,7 @@
 #: src/pyams_content/shared/common/zmi/reverse.py:69
 #: src/pyams_content/shared/common/zmi/templates/advanced-search.pt:223
 #: src/pyams_content/shared/site/portlet/interfaces.py:24
-#: src/pyams_content/shared/site/zmi/folder.py:68
+#: src/pyams_content/shared/site/zmi/folder.py:71
 #: src/pyams_content/shared/imagemap/portlet/interfaces.py:28
 #: src/pyams_content/shared/imagemap/zmi/container.py:123
 #: src/pyams_content/shared/logo/interfaces.py:42
@@ -235,11 +235,11 @@
 #: src/pyams_content/component/paragraph/interfaces/pictogram.py:41
 #: src/pyams_content/component/paragraph/interfaces/milestone.py:37
 #: src/pyams_content/component/paragraph/interfaces/__init__.py:39
-#: src/pyams_content/component/association/interfaces.py:39
+#: src/pyams_content/component/association/interfaces.py:38
 #: src/pyams_content/features/alert/interfaces.py:54
 #: src/pyams_content/features/menu/interfaces.py:62
 #: src/pyams_content/shared/form/interfaces.py:148
-#: src/pyams_content/shared/site/interfaces.py:186
+#: src/pyams_content/shared/site/interfaces.py:202
 msgid "Visible?"
 msgstr "Visible ?"
 
@@ -895,6 +895,7 @@
 #: src/pyams_content/component/links/interfaces.py:32
 #: src/pyams_content/shared/form/interfaces.py:207
 #: src/pyams_content/shared/imagemap/interfaces.py:55
+#: src/pyams_content/shared/logo/interfaces.py:61
 msgid "Alternate title"
 msgstr "Titre de substitution"
 
@@ -957,13 +958,13 @@
 
 #: src/pyams_content/component/links/interfaces.py:98
 #: src/pyams_content/features/redirect/interfaces.py:68
-#: src/pyams_content/shared/site/interfaces.py:199
+#: src/pyams_content/shared/site/interfaces.py:215
 #: src/pyams_content/shared/logo/interfaces.py:50
 msgid "Target URL"
 msgstr "URL cible"
 
 #: src/pyams_content/component/links/interfaces.py:99
-#: src/pyams_content/shared/site/interfaces.py:200
+#: src/pyams_content/shared/site/interfaces.py:216
 #: src/pyams_content/shared/logo/interfaces.py:51
 msgid "URL used to access external resource"
 msgstr ""
@@ -1078,7 +1079,8 @@
 #: src/pyams_content/component/paragraph/interfaces/header.py:33
 #: src/pyams_content/component/paragraph/interfaces/header.py:40
 #: src/pyams_content/shared/common/interfaces/__init__.py:160
-#: src/pyams_content/shared/site/interfaces.py:83
+#: src/pyams_content/shared/site/interfaces.py:86
+#: src/pyams_content/shared/site/interfaces.py:140
 msgid "Header"
 msgstr "Chapô"
 
@@ -1178,8 +1180,8 @@
 msgstr "Coordonnées GPS de situation du contact"
 
 #: src/pyams_content/component/paragraph/interfaces/video.py:32
-#: src/pyams_content/component/extfile/__init__.py:271
-#: src/pyams_content/component/extfile/__init__.py:276
+#: src/pyams_content/component/extfile/__init__.py:261
+#: src/pyams_content/component/extfile/__init__.py:266
 msgid "Video"
 msgstr "Vidéo"
 
@@ -1315,7 +1317,7 @@
 #: src/pyams_content/component/paragraph/interfaces/frame.py:44
 #: src/pyams_content/shared/form/interfaces.py:180
 #: src/pyams_content/shared/imagemap/interfaces.py:101
-#: src/pyams_content/shared/logo/interfaces.py:94
+#: src/pyams_content/shared/logo/interfaces.py:100
 msgid "Presentation template used for this paragraph"
 msgstr "Mode de rendu utilisé par ce bloc de contenu"
 
@@ -1377,7 +1379,7 @@
 msgstr "Liste des types de blocs de contenu autorisés pour ce gabarit."
 
 #: src/pyams_content/component/paragraph/interfaces/__init__.py:101
-#: src/pyams_content/shared/common/zmi/types/manager.py:139
+#: src/pyams_content/shared/common/zmi/types/manager.py:145
 #: src/pyams_content/shared/common/zmi/types/__init__.py:242
 msgid "Default paragraphs"
 msgstr "Types de blocs par défaut"
@@ -1584,45 +1586,45 @@
 msgid "Edit header paragraph properties"
 msgstr "Propriétés du chapô"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:70
+#: src/pyams_content/component/paragraph/zmi/container.py:72
 msgid "Contents..."
 msgstr "Blocs de contenu"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:211
+#: src/pyams_content/component/paragraph/zmi/container.py:213
 msgid "Set navigation anchor"
 msgstr "Ancre de navigation"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:285
+#: src/pyams_content/component/paragraph/zmi/container.py:287
 msgid "Show/hide all paragraphs"
 msgstr "Afficher/masquer tous les blocs"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:333
-#: src/pyams_content/component/paragraph/zmi/container.py:342
-#: src/pyams_content/component/paragraph/zmi/container.py:355
+#: src/pyams_content/component/paragraph/zmi/container.py:335
+#: src/pyams_content/component/paragraph/zmi/container.py:344
+#: src/pyams_content/component/paragraph/zmi/container.py:357
 msgid "Content blocks"
 msgstr "Blocs de contenu"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:412
+#: src/pyams_content/component/paragraph/zmi/container.py:414
 msgid "Links and attachments..."
 msgstr "Récap. liens et PJ"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:424
+#: src/pyams_content/component/paragraph/zmi/container.py:426
 msgid "Content blocks links and attachments"
 msgstr "Récapitulatif des liens et pièces jointes par bloc de contenu"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:141
+#: src/pyams_content/component/paragraph/zmi/container.py:143
 msgid "No currently defined paragraph."
 msgstr "Aucun bloc n'est associé à ce contenu."
 
-#: src/pyams_content/component/paragraph/zmi/container.py:294
+#: src/pyams_content/component/paragraph/zmi/container.py:296
 msgid "Click to open/close all paragraphs editors"
 msgstr "Afficher/masquer tous les blocs"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:307
+#: src/pyams_content/component/paragraph/zmi/container.py:309
 msgid "Click to open/close paragraph editor"
 msgstr "Afficher/masquer ce bloc"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:147
+#: src/pyams_content/component/paragraph/zmi/container.py:149
 msgid "Check allowed paragraph types to be able to create new paragraphs."
 msgstr ""
 "Vérifiez le paramétrage des types de blocs de contenu autorisés pour pouvoir "
@@ -1742,15 +1744,15 @@
 msgid "Edit verbatim paragraph properties"
 msgstr "Propriétés du verbatim"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:67
+#: src/pyams_content/component/paragraph/zmi/__init__.py:68
 msgid "Content block types..."
 msgstr "Types de blocs de contenu"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:81
+#: src/pyams_content/component/paragraph/zmi/__init__.py:82
 msgid "Content block types"
 msgstr "Types de blocs de contenu"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:92
+#: src/pyams_content/component/paragraph/zmi/__init__.py:93
 msgid ""
 "You can define which types of paragraphs are allowed in this container.\n"
 "\n"
@@ -1769,15 +1771,15 @@
 "REMARQUE : supprimer des types de la liste des types de blocs autorisés sera "
 "sans effet sur les contenus existants."
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:257
-#: src/pyams_content/component/paragraph/zmi/__init__.py:270
+#: src/pyams_content/component/paragraph/zmi/__init__.py:258
+#: src/pyams_content/component/paragraph/zmi/__init__.py:271
 #: src/pyams_content/features/preview/zmi/__init__.py:46
 #: src/pyams_content/shared/common/zmi/templates/preview-input.pt:39
 msgid "Preview"
 msgstr "Aperçu"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:262
-#: src/pyams_content/component/paragraph/zmi/__init__.py:275
+#: src/pyams_content/component/paragraph/zmi/__init__.py:263
+#: src/pyams_content/component/paragraph/zmi/__init__.py:276
 #: src/pyams_content/features/review/zmi/__init__.py:84
 #: src/pyams_content/shared/common/zmi/__init__.py:302
 #: src/pyams_content/shared/common/zmi/owner.py:73
@@ -1798,16 +1800,16 @@
 msgid "Cancel"
 msgstr "Annuler"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:264
-#: src/pyams_content/component/paragraph/zmi/__init__.py:277
+#: src/pyams_content/component/paragraph/zmi/__init__.py:265
+#: src/pyams_content/component/paragraph/zmi/__init__.py:278
 msgid "Submit"
 msgstr "Enregistrer"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:241
+#: src/pyams_content/component/paragraph/zmi/__init__.py:242
 msgid "Paragraph was correctly added."
 msgstr "Le bloc a été ajouté."
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:338
+#: src/pyams_content/component/paragraph/zmi/__init__.py:339
 msgid ""
 "You changed renderer selection. Don't omit to update new renderer "
 "properties..."
@@ -1864,21 +1866,21 @@
 msgstr "Propriétés de la bande son"
 
 #: src/pyams_content/component/association/container.py:88
-#: src/pyams_content/component/association/interfaces.py:94
+#: src/pyams_content/component/association/interfaces.py:89
 #: src/pyams_content/component/association/zmi/__init__.py:312
 msgid "Associations"
 msgstr "Liens et pièces jointes"
 
-#: src/pyams_content/component/association/interfaces.py:40
+#: src/pyams_content/component/association/interfaces.py:39
 #: src/pyams_content/features/menu/interfaces.py:63
 msgid "Is this item visible in front-office?"
 msgstr "Si 'non', ce lien ne sera pas présenté aux internautes"
 
-#: src/pyams_content/component/association/interfaces.py:101
+#: src/pyams_content/component/association/interfaces.py:96
 msgid "Associations template"
 msgstr "Mode de rendu"
 
-#: src/pyams_content/component/association/interfaces.py:102
+#: src/pyams_content/component/association/interfaces.py:97
 msgid "Presentation template used for associations"
 msgstr "Modèle de présentation utilisé par ce bloc de contenu"
 
@@ -1916,13 +1918,13 @@
 msgid "Edit association paragraph properties"
 msgstr "Propriétés du bloc « liens et pièces jointes »"
 
-#: src/pyams_content/component/extfile/__init__.py:188
-#: src/pyams_content/component/extfile/__init__.py:193
+#: src/pyams_content/component/extfile/__init__.py:178
+#: src/pyams_content/component/extfile/__init__.py:183
 msgid "Standard file"
 msgstr "Fichier"
 
-#: src/pyams_content/component/extfile/__init__.py:291
-#: src/pyams_content/component/extfile/__init__.py:296
+#: src/pyams_content/component/extfile/__init__.py:281
+#: src/pyams_content/component/extfile/__init__.py:286
 msgid "Audio file"
 msgstr "Fichier audio"
 
@@ -1963,7 +1965,7 @@
 "Cliquez sur le bouton 'Parcourir...' pour sélectionner un nouveau contenu"
 
 #: src/pyams_content/component/extfile/interfaces.py:69
-#: src/pyams_content/shared/logo/interfaces.py:61
+#: src/pyams_content/shared/logo/interfaces.py:67
 msgid "Image data"
 msgstr "Fichier"
 
@@ -2065,7 +2067,7 @@
 msgid "Created"
 msgstr "Création"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:435
+#: src/pyams_content/component/extfile/zmi/__init__.py:436
 msgid "Modified"
 msgstr "Dernière modification"
 
@@ -2128,9 +2130,9 @@
 msgid "Add new illustration"
 msgstr "Ajout d'une illustration"
 
-#: src/pyams_content/component/theme/__init__.py:73
-#: src/pyams_content/component/theme/interfaces.py:57
-#: src/pyams_content/component/theme/interfaces.py:71
+#: src/pyams_content/component/theme/__init__.py:78
+#: src/pyams_content/component/theme/interfaces.py:60
+#: src/pyams_content/component/theme/interfaces.py:74
 #: src/pyams_content/component/theme/zmi/portlet.py:40
 #: src/pyams_content/root/zmi/search.py:184
 #: src/pyams_content/root/zmi/templates/advanced-search.pt:181
@@ -2138,17 +2140,17 @@
 msgid "Tags"
 msgstr "Tags"
 
-#: src/pyams_content/component/theme/__init__.py:124
-#: src/pyams_content/component/theme/interfaces.py:98
-#: src/pyams_content/component/theme/interfaces.py:112
+#: src/pyams_content/component/theme/__init__.py:133
+#: src/pyams_content/component/theme/interfaces.py:101
+#: src/pyams_content/component/theme/interfaces.py:115
 #: src/pyams_content/component/theme/zmi/portlet.py:55
 #: src/pyams_content/shared/common/zmi/search.py:204
 msgid "Themes"
 msgstr "Thèmes"
 
-#: src/pyams_content/component/theme/__init__.py:175
-#: src/pyams_content/component/theme/interfaces.py:139
-#: src/pyams_content/component/theme/interfaces.py:153
+#: src/pyams_content/component/theme/__init__.py:190
+#: src/pyams_content/component/theme/interfaces.py:142
+#: src/pyams_content/component/theme/interfaces.py:156
 #: src/pyams_content/component/theme/zmi/portlet.py:70
 #: src/pyams_content/root/zmi/search.py:187
 #: src/pyams_content/root/zmi/templates/advanced-search.pt:188
@@ -2156,27 +2158,27 @@
 msgid "Collections"
 msgstr "Collections"
 
-#: src/pyams_content/component/theme/__init__.py:83
+#: src/pyams_content/component/theme/__init__.py:88
 msgid "no defined tag"
 msgstr "aucun tag défini"
 
-#: src/pyams_content/component/theme/__init__.py:134
+#: src/pyams_content/component/theme/__init__.py:143
 msgid "no defined theme"
 msgstr "aucun thème défini"
 
-#: src/pyams_content/component/theme/__init__.py:185
+#: src/pyams_content/component/theme/__init__.py:200
 msgid "no defined collection"
 msgstr "aucune collection définie"
 
-#: src/pyams_content/component/theme/interfaces.py:35
+#: src/pyams_content/component/theme/interfaces.py:38
 msgid "Enable glossary?"
 msgstr "Activer le glossaire ?"
 
-#: src/pyams_content/component/theme/interfaces.py:40
+#: src/pyams_content/component/theme/interfaces.py:43
 msgid "Glossary thesaurus name"
 msgstr "Thesaurus du glossaire"
 
-#: src/pyams_content/component/theme/interfaces.py:47
+#: src/pyams_content/component/theme/interfaces.py:50
 msgid "You must specify a glossary thesaurus to activate it!"
 msgstr ""
 "Vous devez indiquer le nom du thésaurus contenant les termes du glossaire "
@@ -2210,33 +2212,37 @@
 msgid "Enable glossary"
 msgstr "Activer le glossaire"
 
-#: src/pyams_content/component/theme/zmi/__init__.py:51
-#: src/pyams_content/shared/view/zmi/theme.py:49
+#: src/pyams_content/component/theme/zmi/__init__.py:53
+#: src/pyams_content/shared/view/zmi/theme.py:51
 msgid "Tags..."
 msgstr "Tags"
 
-#: src/pyams_content/component/theme/zmi/__init__.py:64
+#: src/pyams_content/component/theme/zmi/__init__.py:66
 msgid "Content tags"
 msgstr "Tags du contenu"
 
-#: src/pyams_content/component/theme/zmi/__init__.py:97
-#: src/pyams_content/shared/view/zmi/theme.py:95
+#: src/pyams_content/component/theme/zmi/__init__.py:99
+#: src/pyams_content/shared/view/zmi/theme.py:99
 msgid "Themes..."
 msgstr "Thèmes"
 
-#: src/pyams_content/component/theme/zmi/__init__.py:105
+#: src/pyams_content/component/theme/zmi/__init__.py:107
 msgid "Content themes"
 msgstr "Thèmes du contenu"
 
-#: src/pyams_content/component/theme/zmi/__init__.py:157
-#: src/pyams_content/shared/view/zmi/theme.py:141
+#: src/pyams_content/component/theme/zmi/__init__.py:185
+#: src/pyams_content/shared/view/zmi/theme.py:148
 msgid "Collections..."
 msgstr "Collections"
 
-#: src/pyams_content/component/theme/zmi/__init__.py:170
+#: src/pyams_content/component/theme/zmi/__init__.py:198
 msgid "Content collections"
 msgstr "Collections associées au contenu"
 
+#: src/pyams_content/component/theme/zmi/__init__.py:128
+msgid "Don't inherit parent themes"
+msgstr "Ne pas hériter des thèmes du parent"
+
 #: src/pyams_content/interfaces/__init__.py:95
 msgid "Unique key"
 msgstr "Clé unique"
@@ -2251,7 +2257,7 @@
 "seront remplacées automatiquement."
 
 #: src/pyams_content/interfaces/__init__.py:102
-#: src/pyams_content/shared/site/zmi/folder.py:69
+#: src/pyams_content/shared/site/zmi/folder.py:72
 msgid "Visible label used to display content"
 msgstr "Le titre présenté aux internautes"
 
@@ -3268,12 +3274,12 @@
 "restreint"
 
 #: src/pyams_content/features/search/interfaces.py:119
-#: src/pyams_content/shared/view/interfaces.py:111
+#: src/pyams_content/shared/view/interfaces.py:113
 msgid "Order by"
 msgstr "Ordre de tri"
 
 #: src/pyams_content/features/search/interfaces.py:120
-#: src/pyams_content/shared/view/interfaces.py:112
+#: src/pyams_content/shared/view/interfaces.py:114
 msgid ""
 "Property to use to sort results; publication date can be different from "
 "first publication date for contents which have been retired and re-published "
@@ -3286,25 +3292,25 @@
 "la plus en arrière dans le temps des deux)"
 
 #: src/pyams_content/features/search/interfaces.py:128
-#: src/pyams_content/shared/site/interfaces.py:97
+#: src/pyams_content/shared/site/interfaces.py:102
 msgid "Visible in folders list"
 msgstr "Visible dans la liste des rubriques ?"
 
 #: src/pyams_content/features/search/interfaces.py:129
-#: src/pyams_content/shared/site/interfaces.py:98
+#: src/pyams_content/shared/site/interfaces.py:103
 msgid "If 'no', folder will not be displayed into folders list"
 msgstr ""
 "Si 'non', cette rubrique ne sera pas affichée dans la liste des rubriques "
 "affichée par un composant de navigation"
 
 #: src/pyams_content/features/search/interfaces.py:134
-#: src/pyams_content/shared/site/interfaces.py:102
-#: src/pyams_content/shared/site/interfaces.py:171
+#: src/pyams_content/shared/site/interfaces.py:108
+#: src/pyams_content/shared/site/interfaces.py:185
 msgid "Navigation title"
 msgstr "Titre de navigation"
 
 #: src/pyams_content/features/search/interfaces.py:135
-#: src/pyams_content/shared/site/interfaces.py:103
+#: src/pyams_content/shared/site/interfaces.py:109
 msgid ""
 "Folder's title displayed in navigation pages; original title will be used if "
 "none is specified"
@@ -3383,7 +3389,7 @@
 msgstr "Paramètres de la recherche"
 
 #: src/pyams_content/features/search/zmi/properties.py:71
-#: src/pyams_content/shared/site/zmi/folder.py:212
+#: src/pyams_content/shared/site/zmi/folder.py:215
 msgid "Navigation properties"
 msgstr "Propriétés de navigation"
 
@@ -3403,19 +3409,19 @@
 msgid "Enable search by collection"
 msgstr "Activer la recherche par collection"
 
-#: src/pyams_content/features/search/zmi/__init__.py:59
+#: src/pyams_content/features/search/zmi/__init__.py:62
 msgid "This search folder"
 msgstr "Ce moteur de recherche"
 
-#: src/pyams_content/features/search/zmi/__init__.py:84
+#: src/pyams_content/features/search/zmi/__init__.py:89
 msgid "Add search folder..."
 msgstr "Moteur de recherche"
 
-#: src/pyams_content/features/search/zmi/__init__.py:100
+#: src/pyams_content/features/search/zmi/__init__.py:105
 msgid "Add search folder"
 msgstr "Ajout d'un moteur de recherche"
 
-#: src/pyams_content/features/search/zmi/__init__.py:69
+#: src/pyams_content/features/search/zmi/__init__.py:72
 #, python-format
 msgid "Search folder « {title} »"
 msgstr "Moteur de recherche « {title} »"
@@ -3503,7 +3509,7 @@
 
 #: src/pyams_content/zmi/viewlet/toplinks/__init__.py:45
 msgid "Shared sites"
-msgstr "Sites et blogs"
+msgstr "Sites"
 
 #: src/pyams_content/zmi/viewlet/toplinks/__init__.py:69
 msgid "Shared contents"
@@ -3569,8 +3575,8 @@
 "groupe"
 
 #: src/pyams_content/root/zmi/sites.py:63
-#: src/pyams_content/shared/site/zmi/container.py:225
-#: src/pyams_content/shared/site/zmi/container.py:235
+#: src/pyams_content/shared/site/zmi/container.py:230
+#: src/pyams_content/shared/site/zmi/container.py:240
 msgid "Site tree"
 msgstr "Arborescence"
 
@@ -4319,6 +4325,7 @@
 msgstr "Mode de rendu"
 
 #: src/pyams_content/shared/form/interfaces.py:208
+#: src/pyams_content/shared/logo/interfaces.py:62
 msgid ""
 "If set, this title will be displayed in front-office instead of original "
 "title"
@@ -4652,204 +4659,215 @@
 "Trier tous les résultats sur la date de première publication (du plus récent "
 "au plus ancien)"
 
-#: src/pyams_content/shared/view/interfaces.py:31
+#: src/pyams_content/shared/view/interfaces.py:33
 msgid "View"
 msgstr "Vue"
 
-#: src/pyams_content/shared/view/interfaces.py:41
-#: src/pyams_content/shared/view/interfaces.py:54
-msgid "Published version creation date"
-msgstr "Date de création de la version publiée"
-
-#: src/pyams_content/shared/view/interfaces.py:42
-#: src/pyams_content/shared/view/interfaces.py:55
-msgid "Published version last update date"
-msgstr "Date de dernière modification de la version publiée"
-
 #: src/pyams_content/shared/view/interfaces.py:43
 #: src/pyams_content/shared/view/interfaces.py:56
-msgid "Current version publication date"
-msgstr "Date de publication de la version publiée"
+msgid "Published version creation date"
+msgstr "Date de création de la version publiée"
 
 #: src/pyams_content/shared/view/interfaces.py:44
 #: src/pyams_content/shared/view/interfaces.py:57
-msgid "Current version first publication date"
-msgstr "Première date de publication de la version publiée"
+msgid "Published version last update date"
+msgstr "Date de dernière modification de la version publiée"
 
 #: src/pyams_content/shared/view/interfaces.py:45
 #: src/pyams_content/shared/view/interfaces.py:58
+msgid "Current version publication date"
+msgstr "Date de publication de la version publiée"
+
+#: src/pyams_content/shared/view/interfaces.py:46
+#: src/pyams_content/shared/view/interfaces.py:59
+msgid "Current version first publication date"
+msgstr "Première date de publication de la version publiée"
+
+#: src/pyams_content/shared/view/interfaces.py:47
+#: src/pyams_content/shared/view/interfaces.py:60
 msgid "Visible publication date"
 msgstr "Date de publication affichée"
 
-#: src/pyams_content/shared/view/interfaces.py:53
+#: src/pyams_content/shared/view/interfaces.py:55
 msgid "Relevance (on user search; if not on visible publication date)"
 msgstr ""
 "Pertinence (si recherche lancée par l'utilisateur ; sinon sur la date de "
 "publication affichée)"
 
-#: src/pyams_content/shared/view/interfaces.py:76
+#: src/pyams_content/shared/view/interfaces.py:78
 msgid "Select context path?"
 msgstr "A l'intérieur du contexte ?"
 
-#: src/pyams_content/shared/view/interfaces.py:77
+#: src/pyams_content/shared/view/interfaces.py:79
 msgid "If 'yes', only contents located inside context will be selected"
 msgstr ""
 "Si 'oui', seuls les contenus stockés à l'intérieur du contexte d'application "
 "de la vue seront sélectionnés ; utilisé typiquement pour rechercher les "
 "articles au sein d'un blog"
 
-#: src/pyams_content/shared/view/interfaces.py:84
+#: src/pyams_content/shared/view/interfaces.py:86
 msgid "Select context type?"
 msgstr "Même gabarit que le contexte ?"
 
-#: src/pyams_content/shared/view/interfaces.py:85
+#: src/pyams_content/shared/view/interfaces.py:87
 msgid "If 'yes', content type will be extracted from context"
 msgstr ""
 "Si 'oui', seuls des contenus du même gabarit que le contexte seront "
 "automatiquement sélectionnés"
 
-#: src/pyams_content/shared/view/interfaces.py:89
+#: src/pyams_content/shared/view/interfaces.py:91
 msgid "Other content types"
 msgstr "Autres gabarits"
 
-#: src/pyams_content/shared/view/interfaces.py:90
+#: src/pyams_content/shared/view/interfaces.py:92
 msgid "Selected content types; leave empty for all"
 msgstr ""
 "Autres gabarits sélectionnés ; si l'on n'extrait pas le gabarit du contexte "
 "et si cette sélection est vide, tous les gabarits seront pris en charge"
 
-#: src/pyams_content/shared/view/interfaces.py:97
+#: src/pyams_content/shared/view/interfaces.py:99
 msgid "Select context data type?"
 msgstr "Même type que le contexte ?"
 
-#: src/pyams_content/shared/view/interfaces.py:98
+#: src/pyams_content/shared/view/interfaces.py:100
 msgid ""
 "If 'yes', content data type (if available) will be extracted from context"
 msgstr ""
 "Si 'oui', et si le contexte de la vue est \"typé\", seuls des contenus du "
 "même type que le contexte seront automatiquement sélectionnés"
 
-#: src/pyams_content/shared/view/interfaces.py:103
+#: src/pyams_content/shared/view/interfaces.py:105
 msgid "Other data types"
 msgstr "Autres types de contenus"
 
-#: src/pyams_content/shared/view/interfaces.py:104
+#: src/pyams_content/shared/view/interfaces.py:106
 msgid "Selected data types; leave empty for all"
 msgstr ""
 "Autres types de contenus sélectionnés ; si l'on n'extrait pas le type du "
 "contexte et si cette sélection est vide, tous les contenus (typés ou non) "
 "seront pris en charge"
 
-#: src/pyams_content/shared/view/interfaces.py:119
+#: src/pyams_content/shared/view/interfaces.py:121
 msgid "Reversed order?"
 msgstr "Ordre inverse ?"
 
-#: src/pyams_content/shared/view/interfaces.py:120
+#: src/pyams_content/shared/view/interfaces.py:122
 msgid "If 'yes', items order will be reversed"
 msgstr ""
 "Si 'non', le tri se fera en ordre \"naturel\", donc du plus ancien au plus "
 "récent"
 
-#: src/pyams_content/shared/view/interfaces.py:124
+#: src/pyams_content/shared/view/interfaces.py:126
 #: src/pyams_content/shared/view/portlet/interfaces.py:87
 msgid "Results count limit"
 msgstr "Limite de résultats"
 
-#: src/pyams_content/shared/view/interfaces.py:125
+#: src/pyams_content/shared/view/interfaces.py:127
 msgid "Maximum number of results that the view may retrieve"
 msgstr "Nombre maximal de résultats que la vue doit renvoyer"
 
-#: src/pyams_content/shared/view/interfaces.py:206
+#: src/pyams_content/shared/view/interfaces.py:208
 msgid "Always include selected internal references"
 msgstr "Toujours inclure toutes les références internes"
 
-#: src/pyams_content/shared/view/interfaces.py:207
+#: src/pyams_content/shared/view/interfaces.py:209
 msgid "Include selected internal references only if view is empty"
 msgstr "Inclure les références internes seulement lorsque la vue est vide"
 
-#: src/pyams_content/shared/view/interfaces.py:208
+#: src/pyams_content/shared/view/interfaces.py:210
 msgid "Include ONLY selected references (no search will be made)"
 msgstr ""
 "N'inclure QUE les références internes (aucune autre filtre de recherche ne "
 "sera appliqué)"
 
-#: src/pyams_content/shared/view/interfaces.py:217
+#: src/pyams_content/shared/view/interfaces.py:219
 msgid "Select context references?"
 msgstr "Références du contexte ?"
 
-#: src/pyams_content/shared/view/interfaces.py:218
+#: src/pyams_content/shared/view/interfaces.py:220
 msgid "If 'non', references imposed by the context will not be used"
 msgstr ""
 "Si 'non', les références imposées au niveau du contexte d'application de la "
 "vue ne seront pas prises en compte"
 
-#: src/pyams_content/shared/view/interfaces.py:222
+#: src/pyams_content/shared/view/interfaces.py:224
 msgid "Other references"
 msgstr "Autres références"
 
-#: src/pyams_content/shared/view/interfaces.py:223
+#: src/pyams_content/shared/view/interfaces.py:225
 msgid "List of internal references"
 msgstr "Liste de références internes vers des contenus imposés à la vue"
 
-#: src/pyams_content/shared/view/interfaces.py:226
+#: src/pyams_content/shared/view/interfaces.py:228
 msgid "Internal references usage"
 msgstr "Utilisation des références internes"
 
-#: src/pyams_content/shared/view/interfaces.py:227
+#: src/pyams_content/shared/view/interfaces.py:229
 msgid "Specify how selected references are included into view results"
 msgstr ""
 "Indique comment les références internes indiquées seront intégrées à la "
 "liste des résultats"
 
-#: src/pyams_content/shared/view/interfaces.py:232
+#: src/pyams_content/shared/view/interfaces.py:234
 msgid "Exclude context?"
 msgstr "Exclure le contexte ?"
 
-#: src/pyams_content/shared/view/interfaces.py:233
+#: src/pyams_content/shared/view/interfaces.py:235
 msgid "If 'yes', context will be excluded from results list"
 msgstr ""
 "Si 'oui', le contexte d'application de la vue sera automatiquement exclu de "
 "la liste des résultats"
 
-#: src/pyams_content/shared/view/interfaces.py:247
+#: src/pyams_content/shared/view/interfaces.py:249
 msgid "Select context tags?"
 msgstr "Tags du contexte ?"
 
-#: src/pyams_content/shared/view/interfaces.py:248
+#: src/pyams_content/shared/view/interfaces.py:250
 msgid "If 'yes', tags will be extracted from context"
 msgstr ""
 "Si 'oui', les tags associés au contexte d'application de la vue seront "
 "automatiquement sélectionnés"
 
-#: src/pyams_content/shared/view/interfaces.py:252
+#: src/pyams_content/shared/view/interfaces.py:254
 msgid "Other tags"
 msgstr "Autres tags"
 
-#: src/pyams_content/shared/view/interfaces.py:268
+#: src/pyams_content/shared/view/interfaces.py:270
 msgid "Select context themes?"
 msgstr "Thèmes du contexte ?"
 
-#: src/pyams_content/shared/view/interfaces.py:269
+#: src/pyams_content/shared/view/interfaces.py:271
 msgid "If 'yes', themes will be extracted from context"
 msgstr ""
 "Si 'oui', les thèmes associés au contexte d'application de la vue seront "
 "automatiquement sélectionnés"
 
-#: src/pyams_content/shared/view/interfaces.py:273
+#: src/pyams_content/shared/view/interfaces.py:275
 msgid "Other themes"
 msgstr "Autres thèmes"
 
-#: src/pyams_content/shared/view/interfaces.py:289
+#: src/pyams_content/shared/view/interfaces.py:278
+msgid "Include all subthemes?"
+msgstr "Inclure tous les sous-thèmes ?"
+
+#: src/pyams_content/shared/view/interfaces.py:279
+msgid ""
+"If 'yes', subthemes of selected themes will also be used to search contents"
+msgstr ""
+"Si 'oui', les sous-thèmes des thèmes sélectionnés seront également utilisés pour effectuer "
+"la recherche de contenus"
+
+#: src/pyams_content/shared/view/interfaces.py:297
 msgid "Select context collections?"
 msgstr "Collections du contexte ?"
 
-#: src/pyams_content/shared/view/interfaces.py:290
+#: src/pyams_content/shared/view/interfaces.py:298
 msgid "If 'yes', collections will be extracted from context"
 msgstr ""
 "Si 'oui', les collections associées au contexte d'application de la vue "
 "seront automatiquement sélectionnés"
 
-#: src/pyams_content/shared/view/interfaces.py:295
+#: src/pyams_content/shared/view/interfaces.py:303
 msgid "Other collections"
 msgstr "Autres collections"
 
@@ -5025,15 +5043,15 @@
 msgid "View « {title} »"
 msgstr "Vue « {title} »"
 
-#: src/pyams_content/shared/view/zmi/theme.py:60
+#: src/pyams_content/shared/view/zmi/theme.py:64
 msgid "View tags settings"
 msgstr "Paramétrage des tags de la vue"
 
-#: src/pyams_content/shared/view/zmi/theme.py:106
+#: src/pyams_content/shared/view/zmi/theme.py:112
 msgid "View themes settings"
 msgstr "Paramétrage des thèmes de la vue"
 
-#: src/pyams_content/shared/view/zmi/theme.py:152
+#: src/pyams_content/shared/view/zmi/theme.py:161
 msgid "View collections settings"
 msgstr "Paramétrage des collections de la vue"
 
@@ -5052,8 +5070,8 @@
 
 #: src/pyams_content/shared/blog/interfaces.py:67
 #: src/pyams_content/shared/common/interfaces/__init__.py:167
-#: src/pyams_content/shared/site/interfaces.py:87
-#: src/pyams_content/shared/site/interfaces.py:132
+#: src/pyams_content/shared/site/interfaces.py:90
+#: src/pyams_content/shared/site/interfaces.py:144
 msgid "Meta-description"
 msgstr "Méta-description"
 
@@ -5070,17 +5088,17 @@
 
 #: src/pyams_content/shared/blog/interfaces.py:73
 #: src/pyams_content/shared/common/interfaces/__init__.py:182
-#: src/pyams_content/shared/site/interfaces.py:93
-#: src/pyams_content/shared/site/interfaces.py:138
-#: src/pyams_content/shared/site/zmi/folder.py:76
+#: src/pyams_content/shared/site/interfaces.py:98
+#: src/pyams_content/shared/site/interfaces.py:152
+#: src/pyams_content/shared/site/zmi/folder.py:79
 msgid "Notepad"
 msgstr "Bloc-notes"
 
 #: src/pyams_content/shared/blog/interfaces.py:74
 #: src/pyams_content/shared/common/interfaces/__init__.py:183
-#: src/pyams_content/shared/site/interfaces.py:94
-#: src/pyams_content/shared/site/interfaces.py:139
-#: src/pyams_content/shared/site/zmi/folder.py:77
+#: src/pyams_content/shared/site/interfaces.py:99
+#: src/pyams_content/shared/site/interfaces.py:153
+#: src/pyams_content/shared/site/zmi/folder.py:80
 msgid "Internal information to be known about this content"
 msgstr ""
 "Pour prendre note d'informations internes utiles ou importantes à propos de "
@@ -5105,18 +5123,18 @@
 
 #: src/pyams_content/shared/blog/zmi/manager.py:183
 #: src/pyams_content/shared/blog/zmi/manager.py:195
-#: src/pyams_content/shared/site/zmi/container.py:153
-#: src/pyams_content/shared/site/zmi/container.py:165
+#: src/pyams_content/shared/site/zmi/container.py:156
+#: src/pyams_content/shared/site/zmi/container.py:168
 msgid "Publication dates..."
 msgstr "Dates de publication"
 
 #: src/pyams_content/shared/blog/zmi/manager.py:209
-#: src/pyams_content/shared/site/zmi/container.py:179
+#: src/pyams_content/shared/site/zmi/container.py:182
 msgid "Update publication dates"
 msgstr "Dates de publication"
 
 #: src/pyams_content/shared/blog/zmi/manager.py:137
-#: src/pyams_content/shared/site/zmi/manager.py:176
+#: src/pyams_content/shared/site/zmi/manager.py:177
 msgid "You must provide a short name for default server language!"
 msgstr "Vous devez fournir un nom court pour la langue par défaut du serveur !"
 
@@ -5219,13 +5237,13 @@
 
 #: src/pyams_content/shared/common/interfaces/types.py:120
 #: src/pyams_content/shared/common/zmi/search.py:185
-#: src/pyams_content/shared/site/interfaces.py:154
+#: src/pyams_content/shared/site/interfaces.py:168
 #: src/pyams_content/shared/topic/interfaces.py:42
 msgid "Data type"
 msgstr "Type du contenu"
 
 #: src/pyams_content/shared/common/interfaces/types.py:121
-#: src/pyams_content/shared/site/interfaces.py:155
+#: src/pyams_content/shared/site/interfaces.py:169
 #: src/pyams_content/shared/topic/interfaces.py:43
 msgid "Type of content data"
 msgstr "Type du contenu associé à ce gabarit"
@@ -6128,32 +6146,32 @@
 msgid "Update successful. {count} contents have been updated"
 msgstr "Mise à jour terminée. {count} contenu(s) modifié(s)."
 
-#: src/pyams_content/shared/common/zmi/types/manager.py:46
+#: src/pyams_content/shared/common/zmi/types/manager.py:52
 msgid "Data types"
 msgstr "Types de contenus"
 
-#: src/pyams_content/shared/common/zmi/types/manager.py:115
+#: src/pyams_content/shared/common/zmi/types/manager.py:121
 msgid "Data type label"
 msgstr "Libellé du type"
 
-#: src/pyams_content/shared/common/zmi/types/manager.py:155
+#: src/pyams_content/shared/common/zmi/types/manager.py:161
 #: src/pyams_content/shared/common/zmi/types/__init__.py:258
 msgid "Default associations"
 msgstr "Liens et pièces jointes par défaut"
 
-#: src/pyams_content/shared/common/zmi/types/manager.py:171
+#: src/pyams_content/shared/common/zmi/types/manager.py:177
 msgid "Default themes"
 msgstr "Thèmes par défaut"
 
-#: src/pyams_content/shared/common/zmi/types/manager.py:199
+#: src/pyams_content/shared/common/zmi/types/manager.py:205
 msgid "Content data types"
 msgstr "Types de contenus"
 
-#: src/pyams_content/shared/common/zmi/types/manager.py:91
+#: src/pyams_content/shared/common/zmi/types/manager.py:97
 msgid "No currently defined data type."
 msgstr "Aucun type de contenu n'est actuellement défini."
 
-#: src/pyams_content/shared/common/zmi/types/manager.py:127
+#: src/pyams_content/shared/common/zmi/types/manager.py:133
 msgid "Click to see subtypes"
 msgstr "Montrer ou caher les sous-types"
 
@@ -6453,12 +6471,12 @@
 msgid "News topic « {title} »"
 msgstr "Actualité « {title} »"
 
-#: src/pyams_content/shared/site/manager.py:68
+#: src/pyams_content/shared/site/manager.py:72
 #: src/pyams_content/shared/site/zmi/manager.py:133
 msgid "Site manager"
 msgstr "Site"
 
-#: src/pyams_content/shared/site/folder.py:59
+#: src/pyams_content/shared/site/folder.py:58
 msgid "Site folder"
 msgstr "Rubrique"
 
@@ -6470,25 +6488,25 @@
 msgid "External content link"
 msgstr "Lien externe"
 
-#: src/pyams_content/shared/site/interfaces.py:148
+#: src/pyams_content/shared/site/interfaces.py:162
 msgid "Site topic"
 msgstr "Article (dans un site)"
 
-#: src/pyams_content/shared/site/interfaces.py:40
+#: src/pyams_content/shared/site/interfaces.py:42
 msgid "Redirect to first visible sub-folder or content"
 msgstr "Re-diriger vers le premier contenu publié"
 
-#: src/pyams_content/shared/site/interfaces.py:41
+#: src/pyams_content/shared/site/interfaces.py:43
 msgid "Use presentation template"
 msgstr "Afficher le modèle de présentation de la rubrique"
 
-#: src/pyams_content/shared/site/interfaces.py:84
+#: src/pyams_content/shared/site/interfaces.py:87
 msgid "Heading displayed according to presentation template"
 msgstr ""
 "Ce chapô pourra être affiché ou non en fonction du modèle de présentation "
 "retenu"
 
-#: src/pyams_content/shared/site/interfaces.py:88
+#: src/pyams_content/shared/site/interfaces.py:91
 msgid ""
 "The folder's description is 'hidden' into HTML's page headers; but it can be "
 "seen, for example, in some search engines results as content's description; "
@@ -6499,15 +6517,19 @@
 "des moteurs de recherche ; si la description n'est pas renseignée, le chapô "
 "(s'il existe pour ce contenu) sera utilisé."
 
-#: src/pyams_content/shared/site/interfaces.py:107
+#: src/pyams_content/shared/site/interfaces.py:114
 msgid "Navigation mode"
 msgstr "Mode de navigation"
 
-#: src/pyams_content/shared/site/interfaces.py:108
+#: src/pyams_content/shared/site/interfaces.py:115
 msgid "Folder behaviour when navigating to folder URL"
 msgstr "Comportement à adopter lorsqu'un internaute accède à cette rubrique"
 
-#: src/pyams_content/shared/site/interfaces.py:133
+#: src/pyams_content/shared/site/interfaces.py:141
+msgid "Site's header is generally displayed in page header"
+msgstr "Le chapô du site est généralement affiché en tête de page"
+
+#: src/pyams_content/shared/site/interfaces.py:145
 msgid ""
 "The site's description is 'hidden' into HTML's page headers; but it can be "
 "seen, for example, in some search engines results as content's description; "
@@ -6518,7 +6540,7 @@
 "moteurs de recherche ; si la description n'est pas renseignée, le chapô "
 "(s'il existe pour ce contenu) sera utilisé."
 
-#: src/pyams_content/shared/site/interfaces.py:172
+#: src/pyams_content/shared/site/interfaces.py:186
 msgid ""
 "Alternate content's title displayed in navigation pages; original title will "
 "be used if none is specified"
@@ -6527,19 +6549,19 @@
 "(notamment dans les pages carrefour) ; si rien n'est indiqué, le titre "
 "original du contenu référencé sera utilisé"
 
-#: src/pyams_content/shared/site/interfaces.py:176
+#: src/pyams_content/shared/site/interfaces.py:191
 msgid "Show header?"
 msgstr "Afficher le chapô ?"
 
-#: src/pyams_content/shared/site/interfaces.py:177
+#: src/pyams_content/shared/site/interfaces.py:192
 msgid "If 'no', no header will be displayed"
 msgstr "Si 'non', aucun chapô de navigation ne sera pas affiché"
 
-#: src/pyams_content/shared/site/interfaces.py:181
+#: src/pyams_content/shared/site/interfaces.py:196
 msgid "Navigation header"
 msgstr "Chapô de navigation"
 
-#: src/pyams_content/shared/site/interfaces.py:182
+#: src/pyams_content/shared/site/interfaces.py:197
 msgid ""
 "Alternate content's header displayed in navigation pages; original header "
 "will be used if none is specified"
@@ -6548,7 +6570,7 @@
 "navigation (notamment dans les pages carrefour) ; si rien n'est indiqué, le "
 "chapô original du contenu référencé sera utilisé"
 
-#: src/pyams_content/shared/site/interfaces.py:187
+#: src/pyams_content/shared/site/interfaces.py:203
 msgid "If 'no', link is not visible"
 msgstr ""
 "Si 'non', le lien ne sera pas visible même si le contenu référencé est publié"
@@ -6578,78 +6600,78 @@
 msgid "Navigation button title:"
 msgstr "Titre des boutons de navigation :"
 
-#: src/pyams_content/shared/site/zmi/container.py:357
-#: src/pyams_content/shared/site/zmi/container.py:203
+#: src/pyams_content/shared/site/zmi/container.py:367
+#: src/pyams_content/shared/site/zmi/container.py:207
 msgid "Visible element?"
 msgstr "Élément visible ?"
 
-#: src/pyams_content/shared/site/zmi/container.py:358
+#: src/pyams_content/shared/site/zmi/container.py:368
 msgid "Switch element visibility"
 msgstr "Cliquez pour rendre l'élément visible ou non"
 
-#: src/pyams_content/shared/site/zmi/container.py:425
+#: src/pyams_content/shared/site/zmi/container.py:442
 msgid "Folders and topics"
 msgstr "Rubriquage"
 
-#: src/pyams_content/shared/site/zmi/container.py:462
+#: src/pyams_content/shared/site/zmi/container.py:480
 msgid "Content"
 msgstr "Contenu"
 
-#: src/pyams_content/shared/site/zmi/container.py:559
+#: src/pyams_content/shared/site/zmi/container.py:590
 msgid "Delete site item"
 msgstr "Supprimer ce contenu"
 
-#: src/pyams_content/shared/site/zmi/container.py:102
-#: src/pyams_content/shared/site/zmi/container.py:109
-#: src/pyams_content/shared/site/zmi/container.py:99
+#: src/pyams_content/shared/site/zmi/container.py:104
+#: src/pyams_content/shared/site/zmi/container.py:111
+#: src/pyams_content/shared/site/zmi/container.py:101
 #: src/pyams_content/workflow/__init__.py:82
 #: src/pyams_content/workflow/basic.py:60
 msgid "Published"
 msgstr "Publié"
 
-#: src/pyams_content/shared/site/zmi/container.py:103
-#: src/pyams_content/shared/site/zmi/container.py:97
+#: src/pyams_content/shared/site/zmi/container.py:105
+#: src/pyams_content/shared/site/zmi/container.py:99
 #, python-format
 msgid "{state} since {from_date}"
 msgstr "{state} depuis {from_date}"
 
-#: src/pyams_content/shared/site/zmi/container.py:106
+#: src/pyams_content/shared/site/zmi/container.py:108
 msgid "To be published"
 msgstr "Publication"
 
-#: src/pyams_content/shared/site/zmi/container.py:107
+#: src/pyams_content/shared/site/zmi/container.py:109
 #, python-format
 msgid "{state} from {from_date} to {to_date}"
 msgstr "{state} {from_date}, retrait automatique {to_date}"
 
-#: src/pyams_content/shared/site/zmi/container.py:110
+#: src/pyams_content/shared/site/zmi/container.py:112
 #, python-format
 msgid "{state} after {to_date}"
 msgstr "{state} après {to_date}"
 
-#: src/pyams_content/shared/site/zmi/container.py:117
+#: src/pyams_content/shared/site/zmi/container.py:119
 msgid "Not published"
 msgstr "Non publié actuellement"
 
-#: src/pyams_content/shared/site/zmi/container.py:434
+#: src/pyams_content/shared/site/zmi/container.py:451
 msgid "Click to open/close all folders"
 msgstr "Afficher/masquer toutes les rubriques"
 
-#: src/pyams_content/shared/site/zmi/container.py:450
+#: src/pyams_content/shared/site/zmi/container.py:467
 msgid "Click to show/hide inner folders"
 msgstr "Cliquer pour afficher ou cache les sous-niveaux"
 
-#: src/pyams_content/shared/site/zmi/container.py:96
+#: src/pyams_content/shared/site/zmi/container.py:98
 #: src/pyams_content/workflow/__init__.py:84
 msgid "Retired"
 msgstr "Retiré"
 
-#: src/pyams_content/shared/site/zmi/container.py:100
+#: src/pyams_content/shared/site/zmi/container.py:102
 #, python-format
 msgid "{state} since {from_date} until {to_date}"
 msgstr "{state} depuis {from_date}, retrait automatique {to_date}"
 
-#: src/pyams_content/shared/site/zmi/container.py:314
+#: src/pyams_content/shared/site/zmi/container.py:322
 msgid "Can't reparent object to one of it's children. Reloading..."
 msgstr ""
 "Impossible de déplacer une rubrique dans l'une de ses sous-rubriques ou "
@@ -6665,92 +6687,110 @@
 msgstr "Ajouter un site"
 
 #: src/pyams_content/shared/site/zmi/manager.py:163
-#: src/pyams_content/shared/site/zmi/folder.py:194
+#: src/pyams_content/shared/site/zmi/folder.py:197
 msgid "Site folder properties"
 msgstr "Propriétés de la rubrique"
 
-#: src/pyams_content/shared/site/zmi/manager.py:181
+#: src/pyams_content/shared/site/zmi/manager.py:182
 msgid "Specified site manager name is already used!"
 msgstr "Le nom indiqué pour ce site existe déjà !"
 
-#: src/pyams_content/shared/site/zmi/manager.py:185
+#: src/pyams_content/shared/site/zmi/manager.py:186
 msgid "A site manager is already registered with this name!!"
 msgstr "Un site est déjà inscrit dans le registre avec ce nom !"
 
-#: src/pyams_content/shared/site/zmi/folder.py:59
+#: src/pyams_content/shared/site/zmi/folder.py:62
 msgid "Add site folder..."
 msgstr "Rubrique"
 
-#: src/pyams_content/shared/site/zmi/folder.py:91
+#: src/pyams_content/shared/site/zmi/folder.py:94
 msgid "Add site folder"
 msgstr "Ajout d'une rubrique"
 
-#: src/pyams_content/shared/site/zmi/folder.py:158
+#: src/pyams_content/shared/site/zmi/folder.py:161
 msgid "Site folder management"
 msgstr "Gérer cette rubrique"
 
-#: src/pyams_content/shared/site/zmi/folder.py:72
-#: src/pyams_content/shared/site/zmi/link.py:75
-#: src/pyams_content/shared/site/zmi/link.py:227
-#: src/pyams_content/shared/site/zmi/__init__.py:62
+#: src/pyams_content/shared/site/zmi/folder.py:75
+#: src/pyams_content/shared/site/zmi/link.py:78
+#: src/pyams_content/shared/site/zmi/link.py:231
+#: src/pyams_content/shared/site/zmi/__init__.py:63
 msgid "Parent"
 msgstr "Niveau parent"
 
-#: src/pyams_content/shared/site/zmi/folder.py:73
-#: src/pyams_content/shared/site/zmi/link.py:76
-#: src/pyams_content/shared/site/zmi/link.py:228
+#: src/pyams_content/shared/site/zmi/folder.py:76
+#: src/pyams_content/shared/site/zmi/link.py:79
+#: src/pyams_content/shared/site/zmi/link.py:232
 msgid "Folder's parent"
 msgstr "Niveau de rattachement de cette rubrique"
 
-#: src/pyams_content/shared/site/zmi/folder.py:151
+#: src/pyams_content/shared/site/zmi/folder.py:154
 msgid "You must provide a folder name for default server language!"
 msgstr ""
 "Vous devez fournir un nom pour ce dossier pour la langue par défaut du "
 "serveur !"
 
-#: src/pyams_content/shared/site/zmi/link.py:66
+#: src/pyams_content/shared/site/zmi/link.py:69
 msgid "Rent content..."
 msgstr "Lien interne"
 
-#: src/pyams_content/shared/site/zmi/link.py:86
+#: src/pyams_content/shared/site/zmi/link.py:89
 msgid "Rent existing content"
 msgstr "Ajouter un lien interne"
 
-#: src/pyams_content/shared/site/zmi/link.py:167
+#: src/pyams_content/shared/site/zmi/link.py:170
 msgid "Edit content link properties"
 msgstr "Propriétés du lien interne"
 
-#: src/pyams_content/shared/site/zmi/link.py:218
+#: src/pyams_content/shared/site/zmi/link.py:222
 msgid "External content link..."
 msgstr "Lien externe"
 
-#: src/pyams_content/shared/site/zmi/link.py:238
+#: src/pyams_content/shared/site/zmi/link.py:242
 msgid "Link external content"
 msgstr "Ajouter un lien externe"
 
-#: src/pyams_content/shared/site/zmi/link.py:302
+#: src/pyams_content/shared/site/zmi/link.py:306
 msgid "Edit external content link properties"
 msgstr "Propriétés du lien externe"
 
-#: src/pyams_content/shared/site/zmi/link.py:110
-#: src/pyams_content/shared/site/zmi/link.py:184
+#: src/pyams_content/shared/site/zmi/link.py:113
+#: src/pyams_content/shared/site/zmi/link.py:187
 msgid "Show navigation header"
 msgstr "Afficher le chapô"
 
-#: src/pyams_content/shared/site/zmi/__init__.py:53
+#: src/pyams_content/shared/site/zmi/__init__.py:54
 msgid "Add topic..."
 msgstr "Article"
 
-#: src/pyams_content/shared/site/zmi/__init__.py:76
+#: src/pyams_content/shared/site/zmi/__init__.py:77
 #: src/pyams_content/shared/topic/zmi/__init__.py:60
 #: src/pyams_content/shared/topic/zmi/__init__.py:73
 msgid "Add topic"
 msgstr "Ajout d'un article"
 
-#: src/pyams_content/shared/site/zmi/__init__.py:63
+#: src/pyams_content/shared/site/zmi/__init__.py:64
 msgid "Topic's parent"
 msgstr "Niveau parent"
 
+#: src/pyams_content/shared/hub/manager.py:64
+#: src/pyams_content/shared/hub/zmi/manager.py:77
+msgid "Hub manager"
+msgstr "Hub"
+
+#: src/pyams_content/shared/hub/zmi/manager.py:55
+msgid "Hub management"
+msgstr "Gérer ce hub"
+
+#: src/pyams_content/shared/hub/zmi/manager.py:64
+#: src/pyams_content/shared/hub/zmi/manager.py:78
+msgid "Add hub manager"
+msgstr "Ajouter un hub"
+
+#: src/pyams_content/shared/hub/zmi/manager.py:107
+msgid "Hub manager properties"
+msgstr "Propriétés du hub"
+
 #: src/pyams_content/shared/topic/interfaces.py:28
 msgid "Topic"
 msgstr "Article"
@@ -6899,11 +6939,11 @@
 msgid "Edit paragraph properties"
 msgstr "Propriétés de l'image cliquable"
 
-#: src/pyams_content/shared/logo/__init__.py:71
+#: src/pyams_content/shared/logo/__init__.py:78
 msgid "no image defined"
 msgstr "aucune image définie"
 
-#: src/pyams_content/shared/logo/__init__.py:74
+#: src/pyams_content/shared/logo/__init__.py:81
 msgid "no URL defined"
 msgstr "aucune URL définie"
 
@@ -6911,7 +6951,7 @@
 msgid "Logo"
 msgstr "Logo"
 
-#: src/pyams_content/shared/logo/interfaces.py:79
+#: src/pyams_content/shared/logo/interfaces.py:85
 msgid "Logos"
 msgstr "Logos"
 
@@ -6927,29 +6967,29 @@
 msgid "Matching logo acronym, without spaces or separators"
 msgstr "Acronyme de l'organisme, sans espace ni séparateur entre les lettres"
 
-#: src/pyams_content/shared/logo/interfaces.py:60
+#: src/pyams_content/shared/logo/interfaces.py:66
 msgid "Image (colored)"
 msgstr "Image (version couleur)"
 
-#: src/pyams_content/shared/logo/interfaces.py:64
+#: src/pyams_content/shared/logo/interfaces.py:70
 msgid "Image (monochrome)"
 msgstr "Image (version noir et blanc)"
 
-#: src/pyams_content/shared/logo/interfaces.py:65
+#: src/pyams_content/shared/logo/interfaces.py:71
 msgid "An alternate image which can be used by some presentation templates"
 msgstr ""
 "Image de substitution monochrome pouvant être utilisée par certains modes de "
 "rendu"
 
-#: src/pyams_content/shared/logo/interfaces.py:86
+#: src/pyams_content/shared/logo/interfaces.py:92
 msgid "Logos references"
 msgstr "Logos sélectionnés"
 
-#: src/pyams_content/shared/logo/interfaces.py:87
+#: src/pyams_content/shared/logo/interfaces.py:93
 msgid "List of internal logos references"
 msgstr "Liste de références internes vers les logos à afficher"
 
-#: src/pyams_content/shared/logo/interfaces.py:93
+#: src/pyams_content/shared/logo/interfaces.py:99
 msgid "Logos template"
 msgstr "Mode de rendu"
 
--- a/src/pyams_content/locales/pyams_content.pot	Fri Nov 13 13:13:48 2020 +0100
+++ b/src/pyams_content/locales/pyams_content.pot	Fri Nov 13 16:32:09 2020 +0100
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2020-08-31 13:58+0200\n"
+"POT-Creation-Date: 2020-11-13 09:24+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -117,8 +117,8 @@
 msgstr ""
 
 #: ./src/pyams_content/reference/pictograms/interfaces.py:44
-#: ./src/pyams_content/component/extfile/__init__.py:240
-#: ./src/pyams_content/component/extfile/__init__.py:256
+#: ./src/pyams_content/component/extfile/__init__.py:230
+#: ./src/pyams_content/component/extfile/__init__.py:246
 #: ./src/pyams_content/shared/imagemap/interfaces.py:67
 msgid "Image"
 msgstr ""
@@ -189,7 +189,7 @@
 #: ./src/pyams_content/component/keynumber/portlet/interfaces.py:31
 #: ./src/pyams_content/component/gallery/interfaces.py:107
 #: ./src/pyams_content/component/paragraph/interfaces/milestone.py:42
-#: ./src/pyams_content/component/paragraph/zmi/container.py:266
+#: ./src/pyams_content/component/paragraph/zmi/container.py:268
 #: ./src/pyams_content/component/paragraph/zmi/milestone.py:238
 #: ./src/pyams_content/interfaces/__init__.py:101
 #: ./src/pyams_content/features/menu/portlet/navigation/interfaces/simple.py:31
@@ -201,7 +201,7 @@
 #: ./src/pyams_content/shared/common/zmi/reverse.py:69
 #: ./src/pyams_content/shared/common/zmi/templates/advanced-search.pt:223
 #: ./src/pyams_content/shared/site/portlet/interfaces.py:24
-#: ./src/pyams_content/shared/site/zmi/folder.py:68
+#: ./src/pyams_content/shared/site/zmi/folder.py:71
 #: ./src/pyams_content/shared/imagemap/portlet/interfaces.py:28
 #: ./src/pyams_content/shared/imagemap/zmi/container.py:123
 #: ./src/pyams_content/shared/logo/interfaces.py:42
@@ -232,11 +232,11 @@
 #: ./src/pyams_content/component/paragraph/interfaces/pictogram.py:41
 #: ./src/pyams_content/component/paragraph/interfaces/milestone.py:37
 #: ./src/pyams_content/component/paragraph/interfaces/__init__.py:39
-#: ./src/pyams_content/component/association/interfaces.py:39
+#: ./src/pyams_content/component/association/interfaces.py:38
 #: ./src/pyams_content/features/alert/interfaces.py:54
 #: ./src/pyams_content/features/menu/interfaces.py:62
 #: ./src/pyams_content/shared/form/interfaces.py:148
-#: ./src/pyams_content/shared/site/interfaces.py:186
+#: ./src/pyams_content/shared/site/interfaces.py:202
 msgid "Visible?"
 msgstr ""
 
@@ -853,6 +853,7 @@
 #: ./src/pyams_content/component/links/interfaces.py:32
 #: ./src/pyams_content/shared/form/interfaces.py:207
 #: ./src/pyams_content/shared/imagemap/interfaces.py:55
+#: ./src/pyams_content/shared/logo/interfaces.py:61
 msgid "Alternate title"
 msgstr ""
 
@@ -904,13 +905,13 @@
 
 #: ./src/pyams_content/component/links/interfaces.py:98
 #: ./src/pyams_content/features/redirect/interfaces.py:68
-#: ./src/pyams_content/shared/site/interfaces.py:199
+#: ./src/pyams_content/shared/site/interfaces.py:215
 #: ./src/pyams_content/shared/logo/interfaces.py:50
 msgid "Target URL"
 msgstr ""
 
 #: ./src/pyams_content/component/links/interfaces.py:99
-#: ./src/pyams_content/shared/site/interfaces.py:200
+#: ./src/pyams_content/shared/site/interfaces.py:216
 #: ./src/pyams_content/shared/logo/interfaces.py:51
 msgid "URL used to access external resource"
 msgstr ""
@@ -1019,7 +1020,8 @@
 #: ./src/pyams_content/component/paragraph/interfaces/header.py:33
 #: ./src/pyams_content/component/paragraph/interfaces/header.py:40
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:160
-#: ./src/pyams_content/shared/site/interfaces.py:83
+#: ./src/pyams_content/shared/site/interfaces.py:86
+#: ./src/pyams_content/shared/site/interfaces.py:140
 msgid "Header"
 msgstr ""
 
@@ -1119,8 +1121,8 @@
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/interfaces/video.py:32
-#: ./src/pyams_content/component/extfile/__init__.py:271
-#: ./src/pyams_content/component/extfile/__init__.py:276
+#: ./src/pyams_content/component/extfile/__init__.py:261
+#: ./src/pyams_content/component/extfile/__init__.py:266
 msgid "Video"
 msgstr ""
 
@@ -1245,7 +1247,7 @@
 #: ./src/pyams_content/component/paragraph/interfaces/frame.py:44
 #: ./src/pyams_content/shared/form/interfaces.py:180
 #: ./src/pyams_content/shared/imagemap/interfaces.py:101
-#: ./src/pyams_content/shared/logo/interfaces.py:94
+#: ./src/pyams_content/shared/logo/interfaces.py:100
 msgid "Presentation template used for this paragraph"
 msgstr ""
 
@@ -1306,7 +1308,7 @@
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/interfaces/__init__.py:101
-#: ./src/pyams_content/shared/common/zmi/types/manager.py:139
+#: ./src/pyams_content/shared/common/zmi/types/manager.py:145
 #: ./src/pyams_content/shared/common/zmi/types/__init__.py:242
 msgid "Default paragraphs"
 msgstr ""
@@ -1491,45 +1493,45 @@
 msgid "Edit header paragraph properties"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:70
+#: ./src/pyams_content/component/paragraph/zmi/container.py:72
 msgid "Contents..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:211
+#: ./src/pyams_content/component/paragraph/zmi/container.py:213
 msgid "Set navigation anchor"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:285
+#: ./src/pyams_content/component/paragraph/zmi/container.py:287
 msgid "Show/hide all paragraphs"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:333
-#: ./src/pyams_content/component/paragraph/zmi/container.py:342
-#: ./src/pyams_content/component/paragraph/zmi/container.py:355
+#: ./src/pyams_content/component/paragraph/zmi/container.py:335
+#: ./src/pyams_content/component/paragraph/zmi/container.py:344
+#: ./src/pyams_content/component/paragraph/zmi/container.py:357
 msgid "Content blocks"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:412
+#: ./src/pyams_content/component/paragraph/zmi/container.py:414
 msgid "Links and attachments..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:424
+#: ./src/pyams_content/component/paragraph/zmi/container.py:426
 msgid "Content blocks links and attachments"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:141
+#: ./src/pyams_content/component/paragraph/zmi/container.py:143
 msgid "No currently defined paragraph."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:294
+#: ./src/pyams_content/component/paragraph/zmi/container.py:296
 msgid "Click to open/close all paragraphs editors"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:307
+#: ./src/pyams_content/component/paragraph/zmi/container.py:309
 msgid "Click to open/close paragraph editor"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:147
+#: ./src/pyams_content/component/paragraph/zmi/container.py:149
 msgid "Check allowed paragraph types to be able to create new paragraphs."
 msgstr ""
 
@@ -1647,15 +1649,15 @@
 msgid "Edit verbatim paragraph properties"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:67
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:68
 msgid "Content block types..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:81
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:82
 msgid "Content block types"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:92
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:93
 msgid ""
 "You can define which types of paragraphs are allowed in this container.\n"
 "\n"
@@ -1664,15 +1666,15 @@
 "NOTICE: removing types from allowed types list will have no effect on already created contents!"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:257
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:270
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:258
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:271
 #: ./src/pyams_content/features/preview/zmi/__init__.py:46
 #: ./src/pyams_content/shared/common/zmi/templates/preview-input.pt:39
 msgid "Preview"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:262
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:275
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:263
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:276
 #: ./src/pyams_content/features/review/zmi/__init__.py:84
 #: ./src/pyams_content/shared/common/zmi/__init__.py:302
 #: ./src/pyams_content/shared/common/zmi/owner.py:73
@@ -1693,16 +1695,16 @@
 msgid "Cancel"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:264
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:277
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:265
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:278
 msgid "Submit"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:241
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:242
 msgid "Paragraph was correctly added."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:338
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:339
 msgid ""
 "You changed renderer selection. Don't omit to update new renderer "
 "properties..."
@@ -1757,21 +1759,21 @@
 msgstr ""
 
 #: ./src/pyams_content/component/association/container.py:88
-#: ./src/pyams_content/component/association/interfaces.py:94
+#: ./src/pyams_content/component/association/interfaces.py:89
 #: ./src/pyams_content/component/association/zmi/__init__.py:312
 msgid "Associations"
 msgstr ""
 
-#: ./src/pyams_content/component/association/interfaces.py:40
+#: ./src/pyams_content/component/association/interfaces.py:39
 #: ./src/pyams_content/features/menu/interfaces.py:63
 msgid "Is this item visible in front-office?"
 msgstr ""
 
-#: ./src/pyams_content/component/association/interfaces.py:101
+#: ./src/pyams_content/component/association/interfaces.py:96
 msgid "Associations template"
 msgstr ""
 
-#: ./src/pyams_content/component/association/interfaces.py:102
+#: ./src/pyams_content/component/association/interfaces.py:97
 msgid "Presentation template used for associations"
 msgstr ""
 
@@ -1809,13 +1811,13 @@
 msgid "Edit association paragraph properties"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/__init__.py:188
-#: ./src/pyams_content/component/extfile/__init__.py:193
+#: ./src/pyams_content/component/extfile/__init__.py:178
+#: ./src/pyams_content/component/extfile/__init__.py:183
 msgid "Standard file"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/__init__.py:291
-#: ./src/pyams_content/component/extfile/__init__.py:296
+#: ./src/pyams_content/component/extfile/__init__.py:281
+#: ./src/pyams_content/component/extfile/__init__.py:286
 msgid "Audio file"
 msgstr ""
 
@@ -1848,7 +1850,7 @@
 msgstr ""
 
 #: ./src/pyams_content/component/extfile/interfaces.py:69
-#: ./src/pyams_content/shared/logo/interfaces.py:61
+#: ./src/pyams_content/shared/logo/interfaces.py:67
 msgid "Image data"
 msgstr ""
 
@@ -1946,7 +1948,7 @@
 msgid "Created"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:435
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:436
 msgid "Modified"
 msgstr ""
 
@@ -2004,9 +2006,9 @@
 msgid "Add new illustration"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/__init__.py:73
-#: ./src/pyams_content/component/theme/interfaces.py:57
-#: ./src/pyams_content/component/theme/interfaces.py:71
+#: ./src/pyams_content/component/theme/__init__.py:78
+#: ./src/pyams_content/component/theme/interfaces.py:60
+#: ./src/pyams_content/component/theme/interfaces.py:74
 #: ./src/pyams_content/component/theme/zmi/portlet.py:40
 #: ./src/pyams_content/root/zmi/search.py:184
 #: ./src/pyams_content/root/zmi/templates/advanced-search.pt:181
@@ -2014,17 +2016,17 @@
 msgid "Tags"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/__init__.py:124
-#: ./src/pyams_content/component/theme/interfaces.py:98
-#: ./src/pyams_content/component/theme/interfaces.py:112
+#: ./src/pyams_content/component/theme/__init__.py:133
+#: ./src/pyams_content/component/theme/interfaces.py:101
+#: ./src/pyams_content/component/theme/interfaces.py:115
 #: ./src/pyams_content/component/theme/zmi/portlet.py:55
 #: ./src/pyams_content/shared/common/zmi/search.py:204
 msgid "Themes"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/__init__.py:175
-#: ./src/pyams_content/component/theme/interfaces.py:139
-#: ./src/pyams_content/component/theme/interfaces.py:153
+#: ./src/pyams_content/component/theme/__init__.py:190
+#: ./src/pyams_content/component/theme/interfaces.py:142
+#: ./src/pyams_content/component/theme/interfaces.py:156
 #: ./src/pyams_content/component/theme/zmi/portlet.py:70
 #: ./src/pyams_content/root/zmi/search.py:187
 #: ./src/pyams_content/root/zmi/templates/advanced-search.pt:188
@@ -2032,27 +2034,27 @@
 msgid "Collections"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/__init__.py:83
+#: ./src/pyams_content/component/theme/__init__.py:88
 msgid "no defined tag"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/__init__.py:134
+#: ./src/pyams_content/component/theme/__init__.py:143
 msgid "no defined theme"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/__init__.py:185
+#: ./src/pyams_content/component/theme/__init__.py:200
 msgid "no defined collection"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/interfaces.py:35
+#: ./src/pyams_content/component/theme/interfaces.py:38
 msgid "Enable glossary?"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/interfaces.py:40
+#: ./src/pyams_content/component/theme/interfaces.py:43
 msgid "Glossary thesaurus name"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/interfaces.py:47
+#: ./src/pyams_content/component/theme/interfaces.py:50
 msgid "You must specify a glossary thesaurus to activate it!"
 msgstr ""
 
@@ -2084,33 +2086,37 @@
 msgid "Enable glossary"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/zmi/__init__.py:51
-#: ./src/pyams_content/shared/view/zmi/theme.py:49
+#: ./src/pyams_content/component/theme/zmi/__init__.py:53
+#: ./src/pyams_content/shared/view/zmi/theme.py:51
 msgid "Tags..."
 msgstr ""
 
-#: ./src/pyams_content/component/theme/zmi/__init__.py:64
+#: ./src/pyams_content/component/theme/zmi/__init__.py:66
 msgid "Content tags"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/zmi/__init__.py:97
-#: ./src/pyams_content/shared/view/zmi/theme.py:95
+#: ./src/pyams_content/component/theme/zmi/__init__.py:99
+#: ./src/pyams_content/shared/view/zmi/theme.py:99
 msgid "Themes..."
 msgstr ""
 
-#: ./src/pyams_content/component/theme/zmi/__init__.py:105
+#: ./src/pyams_content/component/theme/zmi/__init__.py:107
 msgid "Content themes"
 msgstr ""
 
-#: ./src/pyams_content/component/theme/zmi/__init__.py:157
-#: ./src/pyams_content/shared/view/zmi/theme.py:141
+#: ./src/pyams_content/component/theme/zmi/__init__.py:185
+#: ./src/pyams_content/shared/view/zmi/theme.py:148
 msgid "Collections..."
 msgstr ""
 
-#: ./src/pyams_content/component/theme/zmi/__init__.py:170
+#: ./src/pyams_content/component/theme/zmi/__init__.py:198
 msgid "Content collections"
 msgstr ""
 
+#: ./src/pyams_content/component/theme/zmi/__init__.py:128
+msgid "Don't inherit parent themes"
+msgstr ""
+
 #: ./src/pyams_content/interfaces/__init__.py:95
 msgid "Unique key"
 msgstr ""
@@ -2122,7 +2128,7 @@
 msgstr ""
 
 #: ./src/pyams_content/interfaces/__init__.py:102
-#: ./src/pyams_content/shared/site/zmi/folder.py:69
+#: ./src/pyams_content/shared/site/zmi/folder.py:72
 msgid "Visible label used to display content"
 msgstr ""
 
@@ -3011,12 +3017,12 @@
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:119
-#: ./src/pyams_content/shared/view/interfaces.py:111
+#: ./src/pyams_content/shared/view/interfaces.py:113
 msgid "Order by"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:120
-#: ./src/pyams_content/shared/view/interfaces.py:112
+#: ./src/pyams_content/shared/view/interfaces.py:114
 msgid ""
 "Property to use to sort results; publication date can be different from first"
 " publication date for contents which have been retired and re-published with "
@@ -3024,23 +3030,23 @@
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:128
-#: ./src/pyams_content/shared/site/interfaces.py:97
+#: ./src/pyams_content/shared/site/interfaces.py:102
 msgid "Visible in folders list"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:129
-#: ./src/pyams_content/shared/site/interfaces.py:98
+#: ./src/pyams_content/shared/site/interfaces.py:103
 msgid "If 'no', folder will not be displayed into folders list"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:134
-#: ./src/pyams_content/shared/site/interfaces.py:102
-#: ./src/pyams_content/shared/site/interfaces.py:171
+#: ./src/pyams_content/shared/site/interfaces.py:108
+#: ./src/pyams_content/shared/site/interfaces.py:185
 msgid "Navigation title"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:135
-#: ./src/pyams_content/shared/site/interfaces.py:103
+#: ./src/pyams_content/shared/site/interfaces.py:109
 msgid ""
 "Folder's title displayed in navigation pages; original title will be used if "
 "none is specified"
@@ -3107,7 +3113,7 @@
 msgstr ""
 
 #: ./src/pyams_content/features/search/zmi/properties.py:71
-#: ./src/pyams_content/shared/site/zmi/folder.py:212
+#: ./src/pyams_content/shared/site/zmi/folder.py:215
 msgid "Navigation properties"
 msgstr ""
 
@@ -3127,19 +3133,19 @@
 msgid "Enable search by collection"
 msgstr ""
 
-#: ./src/pyams_content/features/search/zmi/__init__.py:59
+#: ./src/pyams_content/features/search/zmi/__init__.py:62
 msgid "This search folder"
 msgstr ""
 
-#: ./src/pyams_content/features/search/zmi/__init__.py:84
+#: ./src/pyams_content/features/search/zmi/__init__.py:89
 msgid "Add search folder..."
 msgstr ""
 
-#: ./src/pyams_content/features/search/zmi/__init__.py:100
+#: ./src/pyams_content/features/search/zmi/__init__.py:105
 msgid "Add search folder"
 msgstr ""
 
-#: ./src/pyams_content/features/search/zmi/__init__.py:69
+#: ./src/pyams_content/features/search/zmi/__init__.py:72
 #, python-format
 msgid "Search folder « {title} »"
 msgstr ""
@@ -3289,8 +3295,8 @@
 msgstr ""
 
 #: ./src/pyams_content/root/zmi/sites.py:63
-#: ./src/pyams_content/shared/site/zmi/container.py:225
-#: ./src/pyams_content/shared/site/zmi/container.py:235
+#: ./src/pyams_content/shared/site/zmi/container.py:230
+#: ./src/pyams_content/shared/site/zmi/container.py:240
 msgid "Site tree"
 msgstr ""
 
@@ -4020,6 +4026,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/form/interfaces.py:208
+#: ./src/pyams_content/shared/logo/interfaces.py:62
 msgid ""
 "If set, this title will be displayed in front-office instead of original "
 "title"
@@ -4310,174 +4317,183 @@
 msgid "Sort all results by first publication date"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:31
+#: ./src/pyams_content/shared/view/interfaces.py:33
 msgid "View"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:41
-#: ./src/pyams_content/shared/view/interfaces.py:54
-msgid "Published version creation date"
-msgstr ""
-
-#: ./src/pyams_content/shared/view/interfaces.py:42
-#: ./src/pyams_content/shared/view/interfaces.py:55
-msgid "Published version last update date"
-msgstr ""
-
 #: ./src/pyams_content/shared/view/interfaces.py:43
 #: ./src/pyams_content/shared/view/interfaces.py:56
-msgid "Current version publication date"
+msgid "Published version creation date"
 msgstr ""
 
 #: ./src/pyams_content/shared/view/interfaces.py:44
 #: ./src/pyams_content/shared/view/interfaces.py:57
-msgid "Current version first publication date"
+msgid "Published version last update date"
 msgstr ""
 
 #: ./src/pyams_content/shared/view/interfaces.py:45
 #: ./src/pyams_content/shared/view/interfaces.py:58
+msgid "Current version publication date"
+msgstr ""
+
+#: ./src/pyams_content/shared/view/interfaces.py:46
+#: ./src/pyams_content/shared/view/interfaces.py:59
+msgid "Current version first publication date"
+msgstr ""
+
+#: ./src/pyams_content/shared/view/interfaces.py:47
+#: ./src/pyams_content/shared/view/interfaces.py:60
 msgid "Visible publication date"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:53
+#: ./src/pyams_content/shared/view/interfaces.py:55
 msgid "Relevance (on user search; if not on visible publication date)"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:76
+#: ./src/pyams_content/shared/view/interfaces.py:78
 msgid "Select context path?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:77
+#: ./src/pyams_content/shared/view/interfaces.py:79
 msgid "If 'yes', only contents located inside context will be selected"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:84
+#: ./src/pyams_content/shared/view/interfaces.py:86
 msgid "Select context type?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:85
+#: ./src/pyams_content/shared/view/interfaces.py:87
 msgid "If 'yes', content type will be extracted from context"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:89
+#: ./src/pyams_content/shared/view/interfaces.py:91
 msgid "Other content types"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:90
+#: ./src/pyams_content/shared/view/interfaces.py:92
 msgid "Selected content types; leave empty for all"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:97
+#: ./src/pyams_content/shared/view/interfaces.py:99
 msgid "Select context data type?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:98
+#: ./src/pyams_content/shared/view/interfaces.py:100
 msgid ""
 "If 'yes', content data type (if available) will be extracted from context"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:103
+#: ./src/pyams_content/shared/view/interfaces.py:105
 msgid "Other data types"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:104
+#: ./src/pyams_content/shared/view/interfaces.py:106
 msgid "Selected data types; leave empty for all"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:119
+#: ./src/pyams_content/shared/view/interfaces.py:121
 msgid "Reversed order?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:120
+#: ./src/pyams_content/shared/view/interfaces.py:122
 msgid "If 'yes', items order will be reversed"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:124
+#: ./src/pyams_content/shared/view/interfaces.py:126
 #: ./src/pyams_content/shared/view/portlet/interfaces.py:87
 msgid "Results count limit"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:125
+#: ./src/pyams_content/shared/view/interfaces.py:127
 msgid "Maximum number of results that the view may retrieve"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:206
-msgid "Always include selected internal references"
-msgstr ""
-
-#: ./src/pyams_content/shared/view/interfaces.py:207
-msgid "Include selected internal references only if view is empty"
-msgstr ""
-
 #: ./src/pyams_content/shared/view/interfaces.py:208
+msgid "Always include selected internal references"
+msgstr ""
+
+#: ./src/pyams_content/shared/view/interfaces.py:209
+msgid "Include selected internal references only if view is empty"
+msgstr ""
+
+#: ./src/pyams_content/shared/view/interfaces.py:210
 msgid "Include ONLY selected references (no search will be made)"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:217
+#: ./src/pyams_content/shared/view/interfaces.py:219
 msgid "Select context references?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:218
+#: ./src/pyams_content/shared/view/interfaces.py:220
 msgid "If 'non', references imposed by the context will not be used"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:222
+#: ./src/pyams_content/shared/view/interfaces.py:224
 msgid "Other references"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:223
+#: ./src/pyams_content/shared/view/interfaces.py:225
 msgid "List of internal references"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:226
+#: ./src/pyams_content/shared/view/interfaces.py:228
 msgid "Internal references usage"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:227
+#: ./src/pyams_content/shared/view/interfaces.py:229
 msgid "Specify how selected references are included into view results"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:232
+#: ./src/pyams_content/shared/view/interfaces.py:234
 msgid "Exclude context?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:233
+#: ./src/pyams_content/shared/view/interfaces.py:235
 msgid "If 'yes', context will be excluded from results list"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:247
+#: ./src/pyams_content/shared/view/interfaces.py:249
 msgid "Select context tags?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:248
+#: ./src/pyams_content/shared/view/interfaces.py:250
 msgid "If 'yes', tags will be extracted from context"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:252
+#: ./src/pyams_content/shared/view/interfaces.py:254
 msgid "Other tags"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:268
+#: ./src/pyams_content/shared/view/interfaces.py:270
 msgid "Select context themes?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:269
+#: ./src/pyams_content/shared/view/interfaces.py:271
 msgid "If 'yes', themes will be extracted from context"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:273
+#: ./src/pyams_content/shared/view/interfaces.py:275
 msgid "Other themes"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:289
+#: ./src/pyams_content/shared/view/interfaces.py:278
+msgid "Include all subthemes?"
+msgstr ""
+
+#: ./src/pyams_content/shared/view/interfaces.py:279
+msgid ""
+"If 'yes', subthemes of selected themes will also be used to search contents"
+msgstr ""
+
+#: ./src/pyams_content/shared/view/interfaces.py:297
 msgid "Select context collections?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:290
+#: ./src/pyams_content/shared/view/interfaces.py:298
 msgid "If 'yes', collections will be extracted from context"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces.py:295
+#: ./src/pyams_content/shared/view/interfaces.py:303
 msgid "Other collections"
 msgstr ""
 
@@ -4615,15 +4631,15 @@
 msgid "View « {title} »"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/zmi/theme.py:60
+#: ./src/pyams_content/shared/view/zmi/theme.py:64
 msgid "View tags settings"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/zmi/theme.py:106
+#: ./src/pyams_content/shared/view/zmi/theme.py:112
 msgid "View themes settings"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/zmi/theme.py:152
+#: ./src/pyams_content/shared/view/zmi/theme.py:161
 msgid "View collections settings"
 msgstr ""
 
@@ -4642,8 +4658,8 @@
 
 #: ./src/pyams_content/shared/blog/interfaces.py:67
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:167
-#: ./src/pyams_content/shared/site/interfaces.py:87
-#: ./src/pyams_content/shared/site/interfaces.py:132
+#: ./src/pyams_content/shared/site/interfaces.py:90
+#: ./src/pyams_content/shared/site/interfaces.py:144
 msgid "Meta-description"
 msgstr ""
 
@@ -4656,17 +4672,17 @@
 
 #: ./src/pyams_content/shared/blog/interfaces.py:73
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:182
-#: ./src/pyams_content/shared/site/interfaces.py:93
-#: ./src/pyams_content/shared/site/interfaces.py:138
-#: ./src/pyams_content/shared/site/zmi/folder.py:76
+#: ./src/pyams_content/shared/site/interfaces.py:98
+#: ./src/pyams_content/shared/site/interfaces.py:152
+#: ./src/pyams_content/shared/site/zmi/folder.py:79
 msgid "Notepad"
 msgstr ""
 
 #: ./src/pyams_content/shared/blog/interfaces.py:74
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:183
-#: ./src/pyams_content/shared/site/interfaces.py:94
-#: ./src/pyams_content/shared/site/interfaces.py:139
-#: ./src/pyams_content/shared/site/zmi/folder.py:77
+#: ./src/pyams_content/shared/site/interfaces.py:99
+#: ./src/pyams_content/shared/site/interfaces.py:153
+#: ./src/pyams_content/shared/site/zmi/folder.py:80
 msgid "Internal information to be known about this content"
 msgstr ""
 
@@ -4689,18 +4705,18 @@
 
 #: ./src/pyams_content/shared/blog/zmi/manager.py:183
 #: ./src/pyams_content/shared/blog/zmi/manager.py:195
-#: ./src/pyams_content/shared/site/zmi/container.py:153
-#: ./src/pyams_content/shared/site/zmi/container.py:165
+#: ./src/pyams_content/shared/site/zmi/container.py:156
+#: ./src/pyams_content/shared/site/zmi/container.py:168
 msgid "Publication dates..."
 msgstr ""
 
 #: ./src/pyams_content/shared/blog/zmi/manager.py:209
-#: ./src/pyams_content/shared/site/zmi/container.py:179
+#: ./src/pyams_content/shared/site/zmi/container.py:182
 msgid "Update publication dates"
 msgstr ""
 
 #: ./src/pyams_content/shared/blog/zmi/manager.py:137
-#: ./src/pyams_content/shared/site/zmi/manager.py:176
+#: ./src/pyams_content/shared/site/zmi/manager.py:177
 msgid "You must provide a short name for default server language!"
 msgstr ""
 
@@ -4795,13 +4811,13 @@
 
 #: ./src/pyams_content/shared/common/interfaces/types.py:120
 #: ./src/pyams_content/shared/common/zmi/search.py:185
-#: ./src/pyams_content/shared/site/interfaces.py:154
+#: ./src/pyams_content/shared/site/interfaces.py:168
 #: ./src/pyams_content/shared/topic/interfaces.py:42
 msgid "Data type"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/interfaces/types.py:121
-#: ./src/pyams_content/shared/site/interfaces.py:155
+#: ./src/pyams_content/shared/site/interfaces.py:169
 #: ./src/pyams_content/shared/topic/interfaces.py:43
 msgid "Type of content data"
 msgstr ""
@@ -5623,32 +5639,32 @@
 msgid "Update successful. {count} contents have been updated"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/manager.py:46
+#: ./src/pyams_content/shared/common/zmi/types/manager.py:52
 msgid "Data types"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/manager.py:115
+#: ./src/pyams_content/shared/common/zmi/types/manager.py:121
 msgid "Data type label"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/manager.py:155
+#: ./src/pyams_content/shared/common/zmi/types/manager.py:161
 #: ./src/pyams_content/shared/common/zmi/types/__init__.py:258
 msgid "Default associations"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/manager.py:171
+#: ./src/pyams_content/shared/common/zmi/types/manager.py:177
 msgid "Default themes"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/manager.py:199
+#: ./src/pyams_content/shared/common/zmi/types/manager.py:205
 msgid "Content data types"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/manager.py:91
+#: ./src/pyams_content/shared/common/zmi/types/manager.py:97
 msgid "No currently defined data type."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/manager.py:127
+#: ./src/pyams_content/shared/common/zmi/types/manager.py:133
 msgid "Click to see subtypes"
 msgstr ""
 
@@ -5903,12 +5919,12 @@
 msgid "News topic « {title} »"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/manager.py:68
+#: ./src/pyams_content/shared/site/manager.py:72
 #: ./src/pyams_content/shared/site/zmi/manager.py:133
 msgid "Site manager"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/folder.py:59
+#: ./src/pyams_content/shared/site/folder.py:58
 msgid "Site folder"
 msgstr ""
 
@@ -5920,69 +5936,73 @@
 msgid "External content link"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:148
+#: ./src/pyams_content/shared/site/interfaces.py:162
 msgid "Site topic"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:40
+#: ./src/pyams_content/shared/site/interfaces.py:42
 msgid "Redirect to first visible sub-folder or content"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:41
+#: ./src/pyams_content/shared/site/interfaces.py:43
 msgid "Use presentation template"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:84
+#: ./src/pyams_content/shared/site/interfaces.py:87
 msgid "Heading displayed according to presentation template"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:88
+#: ./src/pyams_content/shared/site/interfaces.py:91
 msgid ""
 "The folder's description is 'hidden' into HTML's page headers; but it can be "
 "seen, for example, in some search engines results as content's description; "
 "if description is empty, content's header will be used."
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:107
+#: ./src/pyams_content/shared/site/interfaces.py:114
 msgid "Navigation mode"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:108
+#: ./src/pyams_content/shared/site/interfaces.py:115
 msgid "Folder behaviour when navigating to folder URL"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:133
+#: ./src/pyams_content/shared/site/interfaces.py:141
+msgid "Site's header is generally displayed in page header"
+msgstr ""
+
+#: ./src/pyams_content/shared/site/interfaces.py:145
 msgid ""
 "The site's description is 'hidden' into HTML's page headers; but it can be "
 "seen, for example, in some search engines results as content's description; "
 "if description is empty, content's header will be used."
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:172
+#: ./src/pyams_content/shared/site/interfaces.py:186
 msgid ""
 "Alternate content's title displayed in navigation pages; original title will "
 "be used if none is specified"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:176
+#: ./src/pyams_content/shared/site/interfaces.py:191
 msgid "Show header?"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:177
+#: ./src/pyams_content/shared/site/interfaces.py:192
 msgid "If 'no', no header will be displayed"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:181
+#: ./src/pyams_content/shared/site/interfaces.py:196
 msgid "Navigation header"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:182
+#: ./src/pyams_content/shared/site/interfaces.py:197
 msgid ""
 "Alternate content's header displayed in navigation pages; original header "
 "will be used if none is specified"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces.py:187
+#: ./src/pyams_content/shared/site/interfaces.py:203
 msgid "If 'no', link is not visible"
 msgstr ""
 
@@ -6008,78 +6028,78 @@
 msgid "Navigation button title:"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:357
-#: ./src/pyams_content/shared/site/zmi/container.py:203
+#: ./src/pyams_content/shared/site/zmi/container.py:367
+#: ./src/pyams_content/shared/site/zmi/container.py:207
 msgid "Visible element?"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:358
+#: ./src/pyams_content/shared/site/zmi/container.py:368
 msgid "Switch element visibility"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:425
+#: ./src/pyams_content/shared/site/zmi/container.py:442
 msgid "Folders and topics"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:462
+#: ./src/pyams_content/shared/site/zmi/container.py:480
 msgid "Content"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:559
+#: ./src/pyams_content/shared/site/zmi/container.py:590
 msgid "Delete site item"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:102
-#: ./src/pyams_content/shared/site/zmi/container.py:109
-#: ./src/pyams_content/shared/site/zmi/container.py:99
+#: ./src/pyams_content/shared/site/zmi/container.py:104
+#: ./src/pyams_content/shared/site/zmi/container.py:111
+#: ./src/pyams_content/shared/site/zmi/container.py:101
 #: ./src/pyams_content/workflow/__init__.py:82
 #: ./src/pyams_content/workflow/basic.py:60
 msgid "Published"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:103
-#: ./src/pyams_content/shared/site/zmi/container.py:97
+#: ./src/pyams_content/shared/site/zmi/container.py:105
+#: ./src/pyams_content/shared/site/zmi/container.py:99
 #, python-format
 msgid "{state} since {from_date}"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:106
+#: ./src/pyams_content/shared/site/zmi/container.py:108
 msgid "To be published"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:107
+#: ./src/pyams_content/shared/site/zmi/container.py:109
 #, python-format
 msgid "{state} from {from_date} to {to_date}"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:110
+#: ./src/pyams_content/shared/site/zmi/container.py:112
 #, python-format
 msgid "{state} after {to_date}"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:117
+#: ./src/pyams_content/shared/site/zmi/container.py:119
 msgid "Not published"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:434
+#: ./src/pyams_content/shared/site/zmi/container.py:451
 msgid "Click to open/close all folders"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:450
+#: ./src/pyams_content/shared/site/zmi/container.py:467
 msgid "Click to show/hide inner folders"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:96
+#: ./src/pyams_content/shared/site/zmi/container.py:98
 #: ./src/pyams_content/workflow/__init__.py:84
 msgid "Retired"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:100
+#: ./src/pyams_content/shared/site/zmi/container.py:102
 #, python-format
 msgid "{state} since {from_date} until {to_date}"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:314
+#: ./src/pyams_content/shared/site/zmi/container.py:322
 msgid "Can't reparent object to one of it's children. Reloading..."
 msgstr ""
 
@@ -6093,90 +6113,108 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/site/zmi/manager.py:163
-#: ./src/pyams_content/shared/site/zmi/folder.py:194
+#: ./src/pyams_content/shared/site/zmi/folder.py:197
 msgid "Site folder properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/manager.py:181
+#: ./src/pyams_content/shared/site/zmi/manager.py:182
 msgid "Specified site manager name is already used!"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/manager.py:185
+#: ./src/pyams_content/shared/site/zmi/manager.py:186
 msgid "A site manager is already registered with this name!!"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/folder.py:59
+#: ./src/pyams_content/shared/site/zmi/folder.py:62
 msgid "Add site folder..."
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/folder.py:91
+#: ./src/pyams_content/shared/site/zmi/folder.py:94
 msgid "Add site folder"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/folder.py:158
+#: ./src/pyams_content/shared/site/zmi/folder.py:161
 msgid "Site folder management"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/folder.py:72
-#: ./src/pyams_content/shared/site/zmi/link.py:75
-#: ./src/pyams_content/shared/site/zmi/link.py:227
-#: ./src/pyams_content/shared/site/zmi/__init__.py:62
+#: ./src/pyams_content/shared/site/zmi/folder.py:75
+#: ./src/pyams_content/shared/site/zmi/link.py:78
+#: ./src/pyams_content/shared/site/zmi/link.py:231
+#: ./src/pyams_content/shared/site/zmi/__init__.py:63
 msgid "Parent"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/folder.py:73
-#: ./src/pyams_content/shared/site/zmi/link.py:76
-#: ./src/pyams_content/shared/site/zmi/link.py:228
+#: ./src/pyams_content/shared/site/zmi/folder.py:76
+#: ./src/pyams_content/shared/site/zmi/link.py:79
+#: ./src/pyams_content/shared/site/zmi/link.py:232
 msgid "Folder's parent"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/folder.py:151
+#: ./src/pyams_content/shared/site/zmi/folder.py:154
 msgid "You must provide a folder name for default server language!"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:66
+#: ./src/pyams_content/shared/site/zmi/link.py:69
 msgid "Rent content..."
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:86
+#: ./src/pyams_content/shared/site/zmi/link.py:89
 msgid "Rent existing content"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:167
+#: ./src/pyams_content/shared/site/zmi/link.py:170
 msgid "Edit content link properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:218
+#: ./src/pyams_content/shared/site/zmi/link.py:222
 msgid "External content link..."
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:238
+#: ./src/pyams_content/shared/site/zmi/link.py:242
 msgid "Link external content"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:302
+#: ./src/pyams_content/shared/site/zmi/link.py:306
 msgid "Edit external content link properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:110
-#: ./src/pyams_content/shared/site/zmi/link.py:184
+#: ./src/pyams_content/shared/site/zmi/link.py:113
+#: ./src/pyams_content/shared/site/zmi/link.py:187
 msgid "Show navigation header"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/__init__.py:53
+#: ./src/pyams_content/shared/site/zmi/__init__.py:54
 msgid "Add topic..."
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/__init__.py:76
+#: ./src/pyams_content/shared/site/zmi/__init__.py:77
 #: ./src/pyams_content/shared/topic/zmi/__init__.py:60
 #: ./src/pyams_content/shared/topic/zmi/__init__.py:73
 msgid "Add topic"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/__init__.py:63
+#: ./src/pyams_content/shared/site/zmi/__init__.py:64
 msgid "Topic's parent"
 msgstr ""
 
+#: ./src/pyams_content/shared/hub/manager.py:64
+#: ./src/pyams_content/shared/hub/zmi/manager.py:77
+msgid "Hub manager"
+msgstr ""
+
+#: ./src/pyams_content/shared/hub/zmi/manager.py:55
+msgid "Hub management"
+msgstr ""
+
+#: ./src/pyams_content/shared/hub/zmi/manager.py:64
+#: ./src/pyams_content/shared/hub/zmi/manager.py:78
+msgid "Add hub manager"
+msgstr ""
+
+#: ./src/pyams_content/shared/hub/zmi/manager.py:107
+msgid "Hub manager properties"
+msgstr ""
+
 #: ./src/pyams_content/shared/topic/interfaces.py:28
 msgid "Topic"
 msgstr ""
@@ -6323,11 +6361,11 @@
 msgid "Edit paragraph properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/logo/__init__.py:71
+#: ./src/pyams_content/shared/logo/__init__.py:78
 msgid "no image defined"
 msgstr ""
 
-#: ./src/pyams_content/shared/logo/__init__.py:74
+#: ./src/pyams_content/shared/logo/__init__.py:81
 msgid "no URL defined"
 msgstr ""
 
@@ -6335,7 +6373,7 @@
 msgid "Logo"
 msgstr ""
 
-#: ./src/pyams_content/shared/logo/interfaces.py:79
+#: ./src/pyams_content/shared/logo/interfaces.py:85
 msgid "Logos"
 msgstr ""
 
@@ -6351,27 +6389,27 @@
 msgid "Matching logo acronym, without spaces or separators"
 msgstr ""
 
-#: ./src/pyams_content/shared/logo/interfaces.py:60
+#: ./src/pyams_content/shared/logo/interfaces.py:66
 msgid "Image (colored)"
 msgstr ""
 
-#: ./src/pyams_content/shared/logo/interfaces.py:64
+#: ./src/pyams_content/shared/logo/interfaces.py:70
 msgid "Image (monochrome)"
 msgstr ""
 
-#: ./src/pyams_content/shared/logo/interfaces.py:65
+#: ./src/pyams_content/shared/logo/interfaces.py:71
 msgid "An alternate image which can be used by some presentation templates"
 msgstr ""
 
-#: ./src/pyams_content/shared/logo/interfaces.py:86
+#: ./src/pyams_content/shared/logo/interfaces.py:92
 msgid "Logos references"
 msgstr ""
 
-#: ./src/pyams_content/shared/logo/interfaces.py:87
-msgid "List of internal logos references"
-msgstr ""
-
 #: ./src/pyams_content/shared/logo/interfaces.py:93
+msgid "List of internal logos references"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/interfaces.py:99
 msgid "Logos template"
 msgstr ""