diff --git a/config/alfresco/dbscripts/db-schema-context.xml b/config/alfresco/dbscripts/db-schema-context.xml
index 4e0bb43e57..94fffab14a 100644
--- a/config/alfresco/dbscripts/db-schema-context.xml
+++ b/config/alfresco/dbscripts/db-schema-context.xml
@@ -22,6 +22,7 @@
classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-UsageTables.sqlclasspath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-SubscriptionTables.sqlclasspath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-TenantTables.sql
+ classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-AuthorizationTables.sql
@@ -59,6 +60,7 @@
+
diff --git a/config/alfresco/encryption-context.xml b/config/alfresco/encryption-context.xml
index cc79bf6580..d1048874b5 100644
--- a/config/alfresco/encryption-context.xml
+++ b/config/alfresco/encryption-context.xml
@@ -84,6 +84,11 @@
+
+
+ metadata
+
+
diff --git a/config/alfresco/messages/content-model_de.properties b/config/alfresco/messages/content-model_de.properties
index 9ed50a38fe..039b861d6a 100755
--- a/config/alfresco/messages/content-model_de.properties
+++ b/config/alfresco/messages/content-model_de.properties
@@ -47,7 +47,7 @@ cm_contentmodel.property.cm_lastName.title=Nachname
cm_contentmodel.property.cm_lastName.description=Nachname der Person
cm_contentmodel.property.cm_middleName.title=Zweitname
cm_contentmodel.property.cm_middleName.description=Zweitname der Person
-cm_contentmodel.property.cm_email.title=E-Mail Adresse
+cm_contentmodel.property.cm_email.title=E-Mail-Adresse
cm_contentmodel.property.cm_email.description=E-Mail-Adresse der Person
cm_contentmodel.property.cm_homeFolderProvider.title=Home-Ordnerprovider
cm_contentmodel.property.cm_homeFolderProvider.description=Home-Ordnerprovider
@@ -277,7 +277,7 @@ cm_contentmodel.property.cm_taggable.description=Tags
cm_contentmodel.aspect.cm_attachable.title=Anhangf\u00e4hig
cm_contentmodel.aspect.cm_attachable.description=L\u00e4sst andere Repository Objekte als Anhang zu
-cm_contentmodel.association.cm_attachments.title=Anlagen
+cm_contentmodel.association.cm_attachments.title=Anh\u00e4nge
cm_contentmodel.association.cm_attachments.description=Angeh\u00e4ngte Repository-Objekte
cm_contentmodel.aspect.cm_emailed.title=Per E-Mail versandt
diff --git a/config/alfresco/messages/content-model_it.properties b/config/alfresco/messages/content-model_it.properties
index 8c5313e769..861b10b650 100755
--- a/config/alfresco/messages/content-model_it.properties
+++ b/config/alfresco/messages/content-model_it.properties
@@ -23,7 +23,7 @@ cm_contentmodel.property.cm_content.description=Contenuto
cm_contentmodel.property.cm_content.cm_content.size=Dimensioni
cm_contentmodel.property.cm_content.cm_content.mimetype=Tipo MIME
-cm_contentmodel.type.cm_linkfile.title=Link a file
+cm_contentmodel.type.cm_linkfile.title=Collega file
cm_contentmodel.type.cm_linkfile.description=Link a un altro file
cm_contentmodel.property.cm_path.title=Percorso file collegato
cm_contentmodel.property.cm_path.description=Percorso del file collegato
@@ -39,8 +39,8 @@ cm_contentmodel.type.cm_person.description=Persona
cm_contentmodel.property.cm_userName.title=Nome utente
cm_contentmodel.property.cm_userName.description=Nome utente della persona
-cm_contentmodel.property.cm_homeFolder.title=Cartella homepage
-cm_contentmodel.property.cm_homeFolder.description=Cartella della homepage della persona
+cm_contentmodel.property.cm_homeFolder.title=Cartella home page
+cm_contentmodel.property.cm_homeFolder.description=Cartella della home page della persona
cm_contentmodel.property.cm_firstName.title=Nome
cm_contentmodel.property.cm_firstName.description=Nome della persona
cm_contentmodel.property.cm_lastName.title=Cognome
@@ -49,20 +49,20 @@ cm_contentmodel.property.cm_middleName.title=Secondo nome
cm_contentmodel.property.cm_middleName.description=Secondo nome della persona
cm_contentmodel.property.cm_email.title=Indirizzo e-mail
cm_contentmodel.property.cm_email.description=Indirizzo e-mail della persona
-cm_contentmodel.property.cm_homeFolderProvider.title=Provider cartella homepage
-cm_contentmodel.property.cm_homeFolderProvider.description=Provider cartella homepage
-cm_contentmodel.property.cm_defaultHomeFolderPath.title=Percorso cartella homepage
-cm_contentmodel.property.cm_defaultHomeFolderPath.description=Percorso alla cartella homepage della persona
-cm_contentmodel.property.cm_presenceProvider.title=Provider Presense
-cm_contentmodel.property.cm_presenceProvider.description=Provider Presense
-cm_contentmodel.property.cm_presenceUsername.title=Nome utente Presense
-cm_contentmodel.property.cm_presenceUsername.description=Nome utente Presense
+cm_contentmodel.property.cm_homeFolderProvider.title=Provider cartella home page
+cm_contentmodel.property.cm_homeFolderProvider.description=Provider cartella home page
+cm_contentmodel.property.cm_defaultHomeFolderPath.title=Percorso cartella home page
+cm_contentmodel.property.cm_defaultHomeFolderPath.description=Percorso della cartella home page della persona
+cm_contentmodel.property.cm_presenceProvider.title=Presence Provider
+cm_contentmodel.property.cm_presenceProvider.description=Presence Provider
+cm_contentmodel.property.cm_presenceUsername.title=Nome utente Presence
+cm_contentmodel.property.cm_presenceUsername.description=Nome utente Presence
cm_contentmodel.property.cm_jobtitle.title=Qualifica
cm_contentmodel.property.cm_jobtitle.description=Qualifica della persona
cm_contentmodel.property.cm_location.title=Localit\u00e0
cm_contentmodel.property.cm_location.description=Localit\u00e0 della persona
-cm_contentmodel.property.cm_persondescription.title=Sommario
-cm_contentmodel.property.cm_persondescription.description=Sommario della persona
+cm_contentmodel.property.cm_persondescription.title=Riepilogo
+cm_contentmodel.property.cm_persondescription.description=Riepilogo della persona
cm_contentmodel.property.cm_telephone.title=Telefono
cm_contentmodel.property.cm_telephone.description=Numero di telefono della persona
cm_contentmodel.property.cm_mobile.title=Cellulare
@@ -78,11 +78,11 @@ cm_contentmodel.property.cm_companyaddress2.description=Riga 2 dell'indirizzo de
cm_contentmodel.property.cm_companyaddress3.title=Riga 3 indirizzo
cm_contentmodel.property.cm_companyaddress3.description=Riga 3 dell'indirizzo dell'azienda della persona
cm_contentmodel.property.cm_companypostcode.title=Codice postale
-cm_contentmodel.property.cm_companypostcode.description=Codice postale dell'azienda della persona
+cm_contentmodel.property.cm_companypostcode.description=Codice postale (CAP) dell'azienda della persona
cm_contentmodel.property.cm_companytelephone.title=Telefono
cm_contentmodel.property.cm_companytelephone.description=Numero di telefono dell'azienda della persona
cm_contentmodel.property.cm_companyfax.title=Fax
-cm_contentmodel.property.cm_companyfax.description=Numero fax dell'azienda della persona
+cm_contentmodel.property.cm_companyfax.description=Numero di fax dell'azienda della persona
cm_contentmodel.property.cm_companyemail.title=E-mail
cm_contentmodel.property.cm_companyemail.description=Indirizzo e-mail dell'azienda della persona
cm_contentmodel.property.cm_skype.title=Skype
@@ -90,9 +90,9 @@ cm_contentmodel.property.cm_skype.description=ID utente Skype della persona
cm_contentmodel.property.cm_instantmsg.title=Messaggistica immediata
cm_contentmodel.property.cm_instantmsg.description=ID utente messaggistica immediata della persona
cm_contentmodel.property.cm_userStatus.title=Stato
-cm_contentmodel.property.cm_userStatus.description=Stato corrente della persona
+cm_contentmodel.property.cm_userStatus.description=Stato attuale della persona
cm_contentmodel.property.cm_userStatusTime.title=Ora stato
-cm_contentmodel.property.cm_userStatusTime.description=Ora ultimo aggiornamento dello stato della persona
+cm_contentmodel.property.cm_userStatusTime.description=Ora dell'ultimo aggiornamento dello stato della persona
cm_contentmodel.property.cm_googleusername.title=Nome utente Google
cm_contentmodel.property.cm_googleusername.description=Nome utente Google della persona
cm_contentmodel.property.cm_sizeCurrent.title=Uso
@@ -114,8 +114,8 @@ cm_contentmodel.type.cm_category.description=Categoria
cm_contentmodel.association.cm_subcategories.title=Categorie
cm_contentmodel.association.cm_subcategories.description=Sottocategorie della categoria
-cm_contentmodel.aspect.cm_titled.title=Titolato
-cm_contentmodel.aspect.cm_titled.description=Titolato
+cm_contentmodel.aspect.cm_titled.title=Con titolo
+cm_contentmodel.aspect.cm_titled.description=Con titolo
cm_contentmodel.property.cm_title.title=Titolo
cm_contentmodel.property.cm_title.description=Titolo del contenuto
cm_contentmodel.property.cm_description.title=Descrizione
@@ -139,18 +139,18 @@ cm_contentmodel.aspect.cm_author.description=Autore
cm_contentmodel.property.cm_author.title=Autore
cm_contentmodel.property.cm_author.description=Autore
-cm_contentmodel.aspect.cm_localizable.title=Localizable
-cm_contentmodel.aspect.cm_localizable.description=Localizable
+cm_contentmodel.aspect.cm_localizable.title=Localizzabile
+cm_contentmodel.aspect.cm_localizable.description=Localizzabile
cm_contentmodel.property.cm_locale.title=Impostazioni locali
cm_contentmodel.property.cm_locale.description=Impostazioni locali
-cm_contentmodel.aspect.cm_translatable.title=Translatable
-cm_contentmodel.aspect.cm_translatable.description=Translatable
+cm_contentmodel.aspect.cm_translatable.title=Traducibile
+cm_contentmodel.aspect.cm_translatable.description=Traducibile
cm_contentmodel.association.cm_translations.title=Traduzioni
cm_contentmodel.association.cm_translations.description=Traduzioni
-cm_contentmodel.aspect.cm_transformable.title=Transformable
-cm_contentmodel.aspect.cm_transformable.description=Transformable
+cm_contentmodel.aspect.cm_transformable.title=Trasformabile
+cm_contentmodel.aspect.cm_transformable.description=Trasformabile
cm_contentmodel.association.cm_formats.title=Formati
cm_contentmodel.association.cm_formats.description=Elementi trasformati
@@ -188,23 +188,23 @@ cm_contentmodel.property.cm_rights.description=Diritti
cm_contentmodel.property.cm_subject.title=Oggetto
cm_contentmodel.property.cm_subject.description=Oggetto
-cm_contentmodel.aspect.cm_basable.title=Basable
-cm_contentmodel.aspect.cm_basable.description=Basable
+cm_contentmodel.aspect.cm_basable.title=Basabile
+cm_contentmodel.aspect.cm_basable.description=Basabile
cm_contentmodel.association.cm_basis.title=Base
cm_contentmodel.association.cm_basis.description=Base
-cm_contentmodel.aspect.cm_partable.title=Partable
-cm_contentmodel.aspect.cm_partable.description=Partable
+cm_contentmodel.aspect.cm_partable.title=Divisibile in parti
+cm_contentmodel.aspect.cm_partable.description=Divisibile in parti
cm_contentmodel.association.cm_parts.title=Parti
cm_contentmodel.association.cm_parts.description=Parti
-cm_contentmodel.aspect.cm_referencing.title=Referencing
-cm_contentmodel.aspect.cm_referencing.description=Referencing
+cm_contentmodel.aspect.cm_referencing.title=Gestibile con riferimenti
+cm_contentmodel.aspect.cm_referencing.description=Gestibile con riferimenti
cm_contentmodel.association.cm_references.title=Riferimenti
cm_contentmodel.association.cm_references.description=Riferimenti
-cm_contentmodel.aspect.cm_replacable.title=Replaceable
-cm_contentmodel.aspect.cm_replacable.description=Replaceable
+cm_contentmodel.aspect.cm_replacable.title=Sostituibile
+cm_contentmodel.aspect.cm_replacable.description=Sostituibile
cm_contentmodel.association.cm_replaces.title=Sostituzioni
cm_contentmodel.association.cm_replaces.description=Sostituzioni
@@ -217,16 +217,16 @@ cm_contentmodel.property.cm_to.description=Valido fino a
cm_contentmodel.aspect.cm_summarizable.title=Riepilogabile
cm_contentmodel.aspect.cm_summarizable.description=Riepilogabile
-cm_contentmodel.property.cm_summary.title=Sommario
-cm_contentmodel.property.cm_summary.description=Sommario
+cm_contentmodel.property.cm_summary.title=Riepilogo
+cm_contentmodel.property.cm_summary.description=Riepilogo
-cm_contentmodel.aspect.cm_countable.title=Countable
-cm_contentmodel.aspect.cm_countable.description=Countable
-cm_contentmodel.property.cm_hits.title=Conteggio
-cm_contentmodel.property.cm_hits.description=Conteggio
+cm_contentmodel.aspect.cm_countable.title=Contabile
+cm_contentmodel.aspect.cm_countable.description=Contabile
+cm_contentmodel.property.cm_hits.title=Riscontri
+cm_contentmodel.property.cm_hits.description=Riscontri
-cm_contentmodel.aspect.cm_copiedFrom.title=Copied From
-cm_contentmodel.aspect.cm_copiedFrom.description=Copied From
+cm_contentmodel.aspect.cm_copiedFrom.title=Copiato da
+cm_contentmodel.aspect.cm_copiedFrom.description=Copiato da
cm_contentmodel.property.cm_source.title=Fonte
cm_contentmodel.property.cm_source.description=Fonte
@@ -254,11 +254,11 @@ cm_contentmodel.property.cm_lockLifetime.title=Durata blocco
cm_contentmodel.property.cm_lockLifetime.description=Durata blocco
cm_contentmodel.property.cm_expiryDate.title=Data di scadenza
cm_contentmodel.property.cm_expiryDate.description=Data di scadenza
-cm_contentmodel.property.cm_lockIsDeep.title=Blocco completo
-cm_contentmodel.property.cm_lockIsDeep.description=Blocco completo
+cm_contentmodel.property.cm_lockIsDeep.title=Deep Lock
+cm_contentmodel.property.cm_lockIsDeep.description=Deep Lock
-cm_contentmodel.aspect.cm_subscribable.title=Subscribable
-cm_contentmodel.aspect.cm_subscribable.description=Subscribable
+cm_contentmodel.aspect.cm_subscribable.title=Sottoscrivibile
+cm_contentmodel.aspect.cm_subscribable.description=Sottoscrivibile
cm_contentmodel.association.cm_subscribedBy.title=Sottoscritto da
cm_contentmodel.association.cm_subscribedBy.description=Sottoscritto da
@@ -270,12 +270,12 @@ cm_contentmodel.aspect.cm_generalclassifiable.description=Classificabile
cm_contentmodel.property.cm_categories.title=Categorie
cm_contentmodel.property.cm_categories.description=Categorie
-cm_contentmodel.aspect.cm_taggable.title=Etichettabile
-cm_contentmodel.aspect.cm_taggable.description=Etichettabile
+cm_contentmodel.aspect.cm_taggable.title=Taggabile
+cm_contentmodel.aspect.cm_taggable.description=Taggabile
cm_contentmodel.property.cm_taggable.title=Tag
cm_contentmodel.property.cm_taggable.description=Tag
-cm_contentmodel.aspect.cm_attachable.title=Associabile
+cm_contentmodel.aspect.cm_attachable.title=Allegabile
cm_contentmodel.aspect.cm_attachable.description=Consente di allegare altri oggetti del repository
cm_contentmodel.association.cm_attachments.title=Allegati
cm_contentmodel.association.cm_attachments.description=Oggetti del repository allegati
@@ -345,25 +345,25 @@ cm_contentmodel.property.audio_engineer.title=Ingegnere
cm_contentmodel.property.audio_engineer.description=Ingegnere di registrazione
cm_contentmodel.property.audio_genre.title=Genere
cm_contentmodel.property.audio_genre.description=Genere musicale
-cm_contentmodel.property.audio_trackNumber.title=Numero della traccia audio
+cm_contentmodel.property.audio_trackNumber.title=Numero di traccia
cm_contentmodel.property.audio_trackNumber.description=Numero della traccia audio dell'album
cm_contentmodel.property.audio_releaseDate.title=Data di pubblicazione
cm_contentmodel.property.audio_releaseDate.description=Data di pubblicazione
cm_contentmodel.property.audio_sampleRate.title=Frequenza di campionamento
cm_contentmodel.property.audio_sampleRate.description=Frequenza di campionamento
cm_contentmodel.property.audio_sampleType.title=Tipo di campionamento
-cm_contentmodel.property.audio_sampleType.description=Tipo di campionamento audio, tipicamennte uno tra 8Int, 16Int, 32Int o 32Float
+cm_contentmodel.property.audio_sampleType.description=Tipo di campionamento audio, tipicamente uno tra 8Int, 16Int, 32Int o 32Float
cm_contentmodel.property.audio_channelType.title=Tipo di canale
cm_contentmodel.property.audio_channelType.description=Tipo di canale audio, tipicamente uno tra Mono, Stereo, 5,1 o 7,1
cm_contentmodel.property.audio_compressor.title=Compressore
cm_contentmodel.property.audio_compressor.description=Compressore audio utilizzato, ad esempio MP3 o FLAC
cm_contentmodel.aspect.cm_indexControl.title=Controllo indice
-cm_contentmodel.aspect.cm_indexControl.description=Il comportamento indice di controllo
+cm_contentmodel.aspect.cm_indexControl.description=Il comportamento per il controllo dell'indice
cm_contentmodel.property.cm_isIndexed.title=Indicizzato
cm_contentmodel.property.cm_isIndexed.description=Il nodo \u00e8 indicizzato e pu\u00f2 essere trovato tramite ricerca.
cm_contentmodel.property.cm_isContentIndexed.title=Contenuto indicizzato
cm_contentmodel.property.cm_isContentIndexed.description=Le propriet\u00e0 d:content del nodo sono indicizzate?
-cm_contentmodel.property.cm_tagScopeSummary.title=Sommario tag
-cm_contentmodel.property.cm_tagScopeSummary.description=Sommario tag
\ No newline at end of file
+cm_contentmodel.property.cm_tagScopeSummary.title=Riepilogo tag
+cm_contentmodel.property.cm_tagScopeSummary.description=Riepilogo tag
\ No newline at end of file
diff --git a/config/alfresco/messages/content-model_ja.properties b/config/alfresco/messages/content-model_ja.properties
index 3dff7bf9b7..6ed8be28fb 100755
--- a/config/alfresco/messages/content-model_ja.properties
+++ b/config/alfresco/messages/content-model_ja.properties
@@ -61,7 +61,7 @@ cm_contentmodel.property.cm_jobtitle.title=\u5f79\u8077\u540d
cm_contentmodel.property.cm_jobtitle.description=\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u5f79\u8077
cm_contentmodel.property.cm_location.title=\u5834\u6240
cm_contentmodel.property.cm_location.description=\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u5834\u6240
-cm_contentmodel.property.cm_persondescription.title=\u6982\u8981
+cm_contentmodel.property.cm_persondescription.title=\u8981\u7d04
cm_contentmodel.property.cm_persondescription.description=\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u6982\u8981
cm_contentmodel.property.cm_telephone.title=\u96fb\u8a71
cm_contentmodel.property.cm_telephone.description=\u3053\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u96fb\u8a71\u756a\u53f7
@@ -123,11 +123,11 @@ cm_contentmodel.property.cm_description.description=\u30b3\u30f3\u30c6\u30f3\u30
cm_contentmodel.aspect.cm_auditable.title=\u76e3\u67fb\u53ef\u80fd
cm_contentmodel.aspect.cm_auditable.description=\u76e3\u67fb\u53ef\u80fd
-cm_contentmodel.property.cm_created.title=\u4f5c\u6210\u65e5
-cm_contentmodel.property.cm_created.description=\u4f5c\u6210\u65e5
+cm_contentmodel.property.cm_created.title=\u4f5c\u6210\u65e5\u6642
+cm_contentmodel.property.cm_created.description=\u4f5c\u6210\u65e5\u6642
cm_contentmodel.property.cm_creator.title=\u4f5c\u6210\u8005
cm_contentmodel.property.cm_creator.description=\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306e\u4f5c\u6210\u8005
-cm_contentmodel.property.cm_modified.title=\u5909\u66f4\u65e5
+cm_contentmodel.property.cm_modified.title=\u5909\u66f4\u65e5\u6642
cm_contentmodel.property.cm_modified.description=\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306e\u6700\u7d42\u5909\u66f4\u65e5
cm_contentmodel.property.cm_modifier.title=\u5909\u66f4\u8005
cm_contentmodel.property.cm_modifier.description=\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306e\u6700\u7d42\u5909\u66f4\u8005
diff --git a/config/alfresco/messages/content-model_nl.properties b/config/alfresco/messages/content-model_nl.properties
index 3e4d9b6e7e..5ef4f502a6 100755
--- a/config/alfresco/messages/content-model_nl.properties
+++ b/config/alfresco/messages/content-model_nl.properties
@@ -128,7 +128,7 @@ cm_contentmodel.property.cm_created.description=Datum gemaakt
cm_contentmodel.property.cm_creator.title=Maker
cm_contentmodel.property.cm_creator.description=De persoon die dit object heeft gemaakt
cm_contentmodel.property.cm_modified.title=Datum gewijzigd
-cm_contentmodel.property.cm_modified.description=Datum waarop dit object voor het laatst is gewijzigd
+cm_contentmodel.property.cm_modified.description=De datum waarop dit object voor het laatst is gewijzigd
cm_contentmodel.property.cm_modifier.title=Gewijzigd door
cm_contentmodel.property.cm_modifier.description=De persoon die dit object voor het laatst heeft gewijzigd
cm_contentmodel.property.cm_accessed.title=Datum laatste toegang
diff --git a/config/alfresco/messages/content-model_ru.properties b/config/alfresco/messages/content-model_ru.properties
index aa7541979c..298b3b9840 100755
--- a/config/alfresco/messages/content-model_ru.properties
+++ b/config/alfresco/messages/content-model_ru.properties
@@ -128,7 +128,7 @@ cm_contentmodel.property.cm_created.description=\u0414\u0430\u0442\u0430 \u0441\
cm_contentmodel.property.cm_creator.title=\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c
cm_contentmodel.property.cm_creator.description=\u041a\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043b \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442
cm_contentmodel.property.cm_modified.title=\u0414\u0430\u0442\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f
-cm_contentmodel.property.cm_modified.description=\u0414\u0430\u0442\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430
+cm_contentmodel.property.cm_modified.description=\u0412\u0440\u0435\u043c\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430
cm_contentmodel.property.cm_modifier.title=\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440
cm_contentmodel.property.cm_modifier.description=\u041a\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442
cm_contentmodel.property.cm_accessed.title=\u0414\u0430\u0442\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430
@@ -361,9 +361,9 @@ cm_contentmodel.property.audio_compressor.description=\u041a\u043e\u0434\u0435\u
cm_contentmodel.aspect.cm_indexControl.title=\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432
cm_contentmodel.aspect.cm_indexControl.description=\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432
cm_contentmodel.property.cm_isIndexed.title=\u0418\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d
-cm_contentmodel.property.cm_isIndexed.description=\u0418\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d \u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0438 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0435\u0433\u043e \u043d\u0430\u0439\u0442\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u0438\u0441\u043a\u0430.
+cm_contentmodel.property.cm_isIndexed.description=\u0418\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d \u043b\u0438 \u0443\u0437\u0435\u043b \u0438 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0435\u0433\u043e \u043d\u0430\u0439\u0442\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u0438\u0441\u043a\u0430.
cm_contentmodel.property.cm_isContentIndexed.title=\u041a\u043e\u043d\u0442\u0435\u043d\u0442 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d
-cm_contentmodel.property.cm_isContentIndexed.description=\u0418\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043b\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 d:content \u043e\u0431\u044a\u0435\u043a\u0442\u0430?
+cm_contentmodel.property.cm_isContentIndexed.description=\u0418\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043b\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 d:content \u0443\u0437\u043b\u0430?
cm_contentmodel.property.cm_tagScopeSummary.title=\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u0442\u0435\u0433\u0430\u043c
cm_contentmodel.property.cm_tagScopeSummary.description=\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u0442\u0435\u0433\u0430\u043c
diff --git a/config/alfresco/messages/system-messages.properties b/config/alfresco/messages/system-messages.properties
index 66fc98b023..6e8045752a 100644
--- a/config/alfresco/messages/system-messages.properties
+++ b/config/alfresco/messages/system-messages.properties
@@ -84,6 +84,7 @@ system.usage.warn.limit_documents_approached=The allowable content limit of {0}
system.usage.warn.limit_documents_reached=The allowable content limit of {0} has been reached. There are {1} content objects in the system.
system.usage.err.limit_users_exceeded=The allowable user limit of {0} as per your license agreement has been exceeded. There are currently {1} users in the system. Please contact your Alfresco sales representative to purchase additional user licenses.
system.usage.err.limit_users_exceeded_verbose=The allowable user limit of {0} as per your license agreement has been exceeded. Users added: {1}. Please contact your Alfresco sales representative to purchase additional user licenses.
+system.usage.warn.limit_users_overage=The allowable user limit of {0} for your license agreement has been reached. There are {1} users in the system, {2} are temporarily permitted. Please contact your Alfresco sales representative to purchase additional user licenses.
system.usage.err.limit_documents_exceeded=The allowable content limit of {0} has been exceeded. There are currently {1} content objects in the system.
system.usage.err.limit_license_expiring=The Alfresco license will expire in {0} days.
diff --git a/config/alfresco/messages/system-messages_de.properties b/config/alfresco/messages/system-messages_de.properties
index e446161fb4..12c7abb724 100755
--- a/config/alfresco/messages/system-messages_de.properties
+++ b/config/alfresco/messages/system-messages_de.properties
@@ -84,6 +84,7 @@ system.usage.warn.limit_documents_approached=Die zul\u00e4ssige Inhaltsbegrenzun
system.usage.warn.limit_documents_reached=Die zul\u00e4ssige Inhaltsbegrenzung von {0} wurde erreicht. Es gibt {1} Inhaltsobjekte im System.
system.usage.err.limit_users_exceeded=Die gem\u00e4\u00df Ihrer Lizenzvereinbarung zul\u00e4ssige Benutzerzahl von {0} wurde \u00fcberschritten. Es gibt derzeit {1} Benutzer im System. Bitte wenden Sie sich an Ihren Alfresco-Vertriebsvertreter, um weitere Benutzerlizenzen zu erwerben.
system.usage.err.limit_users_exceeded_verbose=Die gem\u00e4\u00df Ihrer Lizenzvereinbarung zul\u00e4ssige Benutzerzahl von {0} wurde \u00fcberschritten. Benutzer hinzugef\u00fcgt: {1}. Bitte wenden Sie sich an Ihren Alfresco-Vertriebsvertreter, um weitere Benutzerlizenzen zu erwerben.
+system.usage.warn.limit_users_overage=Die gem\u00e4\u00df Ihrer Lizenzvereinbarung zul\u00e4ssige Benutzerzahl von {0} wurde erreicht. Es gibt {1} Benutzer im System, {2} sind kurzzeitig zul\u00e4ssig. Bitte wenden Sie sich an Ihren Alfresco-Vertriebsvertreter, um weitere Benutzerlizenzen zu erwerben.
system.usage.err.limit_documents_exceeded=Die zul\u00e4ssige Inhaltsbegrenzung von {0} wurde erreicht. Es gibt derzeit {1} Inhaltsobjekte im System.
system.usage.err.limit_license_expiring=Die Alfresco Lizenz l\u00e4uft in {0}\u00a0Tagen ab.
diff --git a/config/alfresco/messages/system-messages_es.properties b/config/alfresco/messages/system-messages_es.properties
index a80a73ad8e..21209f25f6 100755
--- a/config/alfresco/messages/system-messages_es.properties
+++ b/config/alfresco/messages/system-messages_es.properties
@@ -84,6 +84,7 @@ system.usage.warn.limit_documents_approached=Se est\u00e1 llegando al l\u00edmit
system.usage.warn.limit_documents_reached=Se ha alcanzado el l\u00edmite de contenido permitido de {0}. Hay {1} objetos de contenido en el sistema.
system.usage.err.limit_users_exceeded=Se ha superado el l\u00edmite de usuarios permitidos de {0} de su acuerdo de licencia. En este momento, hay {1} usuarios en el sistema. P\u00f3ngase en contacto con un representante de ventas de Alfresco para adquirir licencias de usuario adicionales.
system.usage.err.limit_users_exceeded_verbose=Se ha superado el l\u00edmite de usuarios permitidos de {0} de su acuerdo de licencia. Usuarios a\u00f1adidos: {1}. P\u00f3ngase en contacto con un representante de ventas de Alfresco para adquirir licencias de usuario adicionales.
+system.usage.warn.limit_users_overage=Se ha llegado al l\u00edmite de usuarios permitidos de {0} para su acuerdo de licencia. Hay {1} usuarios en el sistema; se permiten temporalmente {2} usuarios. P\u00f3ngase en contacto con un representante de ventas de Alfresco para adquirir licencias de usuario adicionales.
system.usage.err.limit_documents_exceeded=Se ha superado el l\u00edmite de contenido permitido de {0}. En este momento, hay {1} objetos de contenido el sistema.
system.usage.err.limit_license_expiring=La licencia de Alfresco se vencer\u00e1 en {0} d\u00edas.
diff --git a/config/alfresco/messages/system-messages_fr.properties b/config/alfresco/messages/system-messages_fr.properties
index 37dcef9e2d..eadd3945f0 100755
--- a/config/alfresco/messages/system-messages_fr.properties
+++ b/config/alfresco/messages/system-messages_fr.properties
@@ -78,12 +78,13 @@ system.usage.err.no_txn=RepoUsageComponent must be called in a transaction.
system.usage.err.no_txn_readwrite=RepoUsageComponent must be called in a read-write transaction.
# START TRANSLATION
-system.usage.warn.limit_users_approached=Vous avez presque atteint le nombre maximum d''utilisateurs autoris\u00e9s d\u00e9fini dans votre contrat de licence, qui est de {0}. Il y a {1} utilisateurs dans le syst\u00e8me. Pour l''achat de licences suppl\u00e9mentaires, veuillez contacter votre repr\u00e9sentant Alfresco.
-system.usage.warn.limit_users_reached=Vous avez atteint le nombre maximum d''utilisateurs autoris\u00e9s d\u00e9fini dans votre contrat de licence, qui est de {0}. Il y a {1} utilisateurs dans le syst\u00e8me. Pour l''achat de licences suppl\u00e9mentaires, veuillez contacter votre repr\u00e9sentant Alfresco.
+system.usage.warn.limit_users_approached=Vous avez presque atteint le nombre maximum d''utilisateurs autoris\u00e9s d\u00e9fini dans votre contrat de licence, qui est de {0}. Il y a {1} utilisateurs dans le syst\u00e8me. Pour l'achat de licences suppl\u00e9mentaires, veuillez contacter votre repr\u00e9sentant Alfresco.
+system.usage.warn.limit_users_reached=Vous avez atteint le nombre maximum d''utilisateurs autoris\u00e9s d\u00e9fini dans votre contrat de licence, qui est de {0}. Il y a {1} utilisateurs dans le syst\u00e8me. Pour l'achat de licences suppl\u00e9mentaires, veuillez contacter votre repr\u00e9sentant Alfresco.
system.usage.warn.limit_documents_approached=Le nombre maximum de contenus autoris\u00e9s de {0} est presque atteint. Il y a {1} objets de contenu dans le syst\u00e8me.
system.usage.warn.limit_documents_reached=Le nombre maximum de contenus autoris\u00e9s de {0} a \u00e9t\u00e9 atteint. Il y a {1} objets de contenu dans le syst\u00e8me.
system.usage.err.limit_users_exceeded=Le nombre maximum d''utilisateurs autoris\u00e9s d\u00e9fini dans votre contrat de licence, qui est de {0}, a \u00e9t\u00e9 d\u00e9pass\u00e9. Il y a actuellement {1} utilisateurs dans le syst\u00e8me. Pour l''achat de licences suppl\u00e9mentaires, veuillez contacter votre repr\u00e9sentant Alfresco.
system.usage.err.limit_users_exceeded_verbose=Le nombre maximum d''utilisateurs autoris\u00e9s d\u00e9fini dans votre contrat de licence, qui est de {0}, a \u00e9t\u00e9 d\u00e9pass\u00e9. Utilisateurs ajout\u00e9s\u00a0: {1}. Pour l''achat de licences suppl\u00e9mentaires, veuillez contacter votre repr\u00e9sentant Alfresco.
+system.usage.warn.limit_users_overage=Vous avez atteint le nombre maximum d''utilisateurs autoris\u00e9s d\u00e9fini dans votre contrat de licence, qui est de {0}. Il y a {1} utilisateurs dans le syst\u00e8me\u00a0; le nombre temporairement autoris\u00e9 est de {2}. Pour l''achat de licences suppl\u00e9mentaires, veuillez contacter votre repr\u00e9sentant Alfresco.
system.usage.err.limit_documents_exceeded=Le nombre maximum de contenus autoris\u00e9s de {0} a \u00e9t\u00e9 d\u00e9pass\u00e9. Il y a actuellement {1} objets de contenu dans le syst\u00e8me.
system.usage.err.limit_license_expiring=La licence Alfresco expirera dans {0} jours.
diff --git a/config/alfresco/messages/system-messages_it.properties b/config/alfresco/messages/system-messages_it.properties
index 480e91012f..502f5a9b65 100755
--- a/config/alfresco/messages/system-messages_it.properties
+++ b/config/alfresco/messages/system-messages_it.properties
@@ -78,12 +78,13 @@ system.usage.err.no_txn=RepoUsageComponent must be called in a transaction.
system.usage.err.no_txn_readwrite=RepoUsageComponent must be called in a read-write transaction.
# START TRANSLATION
-system.usage.warn.limit_users_approached=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza \u00e8 stato quasi raggiunto. Esistono {1} utenti nel sistema. Contattare il proprio rappresentante vendite Alfresco per acquistare licenze utente aggiuntive.
-system.usage.warn.limit_users_reached=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza \u00e8 stato raggiunto. Esistono {1} utenti nel sistema. Contattare il proprio rappresentante vendite Alfresco per acquistare licenze utente aggiuntive.
-system.usage.warn.limit_documents_approached=Il limite di contenuti consentiti ({0}) sta per essere raggiunto. Esistono {1} oggetti contenuto nel sistema.
-system.usage.warn.limit_documents_reached=Il limite di contenuti consentiti ({0}) \u00e8 stato raggiunto. Esistono {1} oggetti contenuto nel sistema.
-system.usage.err.limit_users_exceeded=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza \u00e8 stato superato. Attualmente esistono {1} utenti nel sistema. Contattare il proprio rappresentante vendite Alfresco per acquistare licenze utente aggiuntive.
-system.usage.err.limit_users_exceeded_verbose=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza \u00e8 stato superato. Utenti aggiunti: {1}. Contattare il proprio rappresentante vendite Alfresco per acquistare licenze utente aggiuntive.
+system.usage.warn.limit_users_approached=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza sta per essere raggiunto. Ci sono {1} utenti nel sistema. Contattare il proprio rappresentante di vendita Alfresco per acquistare licenze utente aggiuntive.
+system.usage.warn.limit_users_reached=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza \u00e8 stato raggiunto. Ci sono {1} utenti nel sistema. Contattare il proprio rappresentante di vendita Alfresco per acquistare licenze utente aggiuntive.
+system.usage.warn.limit_documents_approached=Il limite di contenuti consentiti ({0}) sta per essere raggiunto. Ci sono {1} oggetti contenuto nel sistema.
+system.usage.warn.limit_documents_reached=Il limite di contenuti consentiti ({0}) \u00e8 stato raggiunto. Ci sono {1} oggetti contenuto nel sistema.
+system.usage.err.limit_users_exceeded=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza \u00e8 stato superato. Attualmente ci sono {1} utenti nel sistema. Contattare il proprio rappresentante di vendita Alfresco per acquistare licenze utente aggiuntive.
+system.usage.err.limit_users_exceeded_verbose=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza \u00e8 stato superato. Utenti aggiunti: {1}. Contattare il proprio rappresentante di vendita Alfresco per acquistare licenze utente aggiuntive.
+system.usage.warn.limit_users_overage=Il limite di utenti consentiti ({0}) previsto dall''accordo di licenza \u00e8 stato raggiunto. Ci sono {1} utenti nel sistema e sono ammessi temporaneamente {2} utenti. Contattare il proprio rappresentante di vendita Alfresco per acquistare licenze utente aggiuntive.
system.usage.err.limit_documents_exceeded=Il limite di contenuti consentiti ({0}) \u00e8 stato superato. Attualmente esistono {1} oggetti contenuto nel sistema.
system.usage.err.limit_license_expiring=La licenza Alfresco scade tra {0} giorni.
diff --git a/config/alfresco/messages/system-messages_ja.properties b/config/alfresco/messages/system-messages_ja.properties
index 973f12d9a2..bcc8c5c21a 100755
--- a/config/alfresco/messages/system-messages_ja.properties
+++ b/config/alfresco/messages/system-messages_ja.properties
@@ -78,12 +78,13 @@ system.usage.err.no_txn=RepoUsageComponent must be called in a transaction.
system.usage.err.no_txn_readwrite=RepoUsageComponent must be called in a read-write transaction.
# START TRANSLATION
-system.usage.warn.limit_users_approached=\u3082\u3046\u5c11\u3057\u3067\u3001\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u9650\u754c\u306e\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u306b\u9054\u3057\u307e\u3059\u3002 \u30b7\u30b9\u30c6\u30e0\u306b {1} \u4eba\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u3044\u307e\u3059\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-system.usage.warn.limit_users_reached=\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u9650\u754c\u306e\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u306b\u9054\u3057\u307e\u3057\u305f\u3002 \u30b7\u30b9\u30c6\u30e0\u306b {1} \u4eba\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u3044\u307e\u3059\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-system.usage.warn.limit_documents_approached=\u3082\u3046\u5c11\u3057\u3067\u3001\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u9650\u754c\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u6570 ({0} \u500b) \u306b\u9054\u3057\u307e\u3059\u3002 \u30b7\u30b9\u30c6\u30e0\u306b {1} \u500b\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308a\u307e\u3059\u3002
-system.usage.warn.limit_documents_reached=\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u9650\u754c\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u6570 ({0}) \u306b\u9054\u3057\u307e\u3057\u305f\u3002 \u30b7\u30b9\u30c6\u30e0\u306b {1} \u500b\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308a\u307e\u3059\u3002
-system.usage.err.limit_users_exceeded=\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u9650\u754c\u306e\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002 \u73fe\u5728\u30b7\u30b9\u30c6\u30e0\u306b {1} \u4eba\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u3044\u307e\u3059\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-system.usage.err.limit_users_exceeded_verbose=\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u9650\u754c\u306e\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002 \u8ffd\u52a0\u3055\u308c\u305f\u30e6\u30fc\u30b6\u30fc\u6570: {1}\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+system.usage.warn.limit_users_approached=\u3082\u3046\u5c11\u3057\u3067\u3001\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u306b\u9054\u3057\u307e\u3059\u3002 \u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u304c {1} \u4eba\u3044\u307e\u3059\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+system.usage.warn.limit_users_reached=\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u306b\u9054\u3057\u307e\u3057\u305f\u3002 \u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u304c {1} \u4eba\u3044\u307e\u3059\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+system.usage.warn.limit_documents_approached=\u3082\u3046\u5c11\u3057\u3067\u3001\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u30b3\u30f3\u30c6\u30f3\u30c4\u6570 ({0} \u500b) \u306b\u9054\u3057\u307e\u3059\u3002 \u30b7\u30b9\u30c6\u30e0\u306b {1} \u500b\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308a\u307e\u3059\u3002
+system.usage.warn.limit_documents_reached=\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u30b3\u30f3\u30c6\u30f3\u30c4\u6570 ({0}) \u306b\u9054\u3057\u307e\u3057\u305f\u3002 \u30b7\u30b9\u30c6\u30e0\u306b {1} \u500b\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308a\u307e\u3059\u3002
+system.usage.err.limit_users_exceeded=\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002 \u73fe\u5728\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u304c {1} \u4eba\u3044\u307e\u3059\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+system.usage.err.limit_users_exceeded_verbose=\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u3092\u8d85\u3048\u3066\u3044\u307e\u3059\u3002 \u8ffd\u52a0\u3055\u308c\u305f\u30e6\u30fc\u30b6\u30fc\u6570: {1}\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+system.usage.warn.limit_users_overage=\u30e9\u30a4\u30bb\u30f3\u30b9\u4f7f\u7528\u8a31\u8afe\u5951\u7d04\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u6700\u5927\u30e6\u30fc\u30b6\u30fc\u6570 ({0} \u4eba) \u306b\u9054\u3057\u307e\u3057\u305f\u3002 \u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u304c {1} \u4eba\u3044\u307e\u3059\u304c\u3001\u4e00\u6642\u7684\u306b\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u306e\u306f {2} \u4eba\u307e\u3067\u3067\u3059\u3002 Alfresco \u306e\u55b6\u696d\u62c5\u5f53\u306b\u9023\u7d61\u3057\u3066\u3001\u8ffd\u52a0\u306e\u30e6\u30fc\u30b6\u30fc\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u8cfc\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002
system.usage.err.limit_documents_exceeded=\u8a31\u53ef\u3055\u308c\u308b\u9650\u754c\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u6570{0}\u3092\u8d85\u3048\u307e\u3057\u305f\u3002 \u73fe\u5728\u30b7\u30b9\u30c6\u30e0\u306b {1} \u500b\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3042\u308a\u307e\u3059\u3002
system.usage.err.limit_license_expiring=Alfresco \u306e\u30e9\u30a4\u30bb\u30f3\u30b9\u304c\u3042\u3068 {0} \u65e5\u3067\u671f\u9650\u5207\u308c\u306b\u306a\u308a\u307e\u3059\u3002
diff --git a/config/alfresco/messages/system-messages_nb.properties b/config/alfresco/messages/system-messages_nb.properties
index cb2e61ab1f..983f6f69c2 100755
--- a/config/alfresco/messages/system-messages_nb.properties
+++ b/config/alfresco/messages/system-messages_nb.properties
@@ -79,13 +79,14 @@ system.usage.err.no_txn_readwrite=RepoUsageComponent must be called in a read-wr
# START TRANSLATION
system.usage.warn.limit_users_approached=Den tillatte brukergrensen {0} if\u00f8lge din lisensavtale, n\u00e6rmer seg. Det er {1} brukere p\u00e5 systemet. Kontakt salgsrepresentanten hos Alfresco for \u00e5 kj\u00f8pe flere brukerlisenser.
-system.usage.warn.limit_users_reached=Den tillatte brukergrensen {0} if\u00f8lge din lisensavtale, er n\u00e5dd. Det er {1} brukere p\u00e5 systemet. Kontakt salgsrepresentanten hos Alfresco for \u00e5 kj\u00f8pe flere brukerlisenser.
-system.usage.warn.limit_documents_approached=Du n\u00e6rmer deg den tillatte innholdsgrensen p\u00e5 {0} innholdsobjekter. Det er {1} innholdsobjekter p\u00e5 systemet.
+system.usage.warn.limit_users_reached=Den tillatte brukergrensen {0} if\u00f8lge din lisensavtale, er n\u00e5dd. Det er {1} brukere p\u00e5 systemet. Kontakt salgsrepresentanten hos Alfresco for \u00e5 kj\u00f8pe flere brukerlisenser.
+system.usage.warn.limit_documents_approached=Du n\u00e6rmer deg den tillatte innholdsgrensen p\u00e5 {0} innholdsobjekter. Det er {1} innholdsobjekter p\u00e5 systemet.
system.usage.warn.limit_documents_reached=Du har n\u00e5dd den tillatte innholdsgrensen p\u00e5 {0} innholdsobjekter. Det er {1} innholdsobjekter p\u00e5 systemet.
system.usage.err.limit_users_exceeded=Den tillatte brukergrensen {0} if\u00f8lge din lisensavtale, er overskredet. Det er for \u00f8yeblikket {1} brukere p\u00e5 systemet. Kontakt salgsrepresentanten hos Alfresco for \u00e5 kj\u00f8pe flere brukerlisenser.
system.usage.err.limit_users_exceeded_verbose=Den tillatte brukergrensen {0} if\u00f8lge din lisensavtale, er overskredet. Brukere lagt til: {1}. Kontakt salgsrepresentanten hos Alfresco for \u00e5 kj\u00f8pe flere brukerlisenser.
+system.usage.warn.limit_users_overage=Den tillatte brukergrensen {0} if\u00f8lge din lisensavtale, er n\u00e5dd. Det finnes {1} brukere i systemet, det tillates {2} midlertidig. Kontakt salgsrepresentanten hos Alfresco for \u00e5 kj\u00f8pe flere brukerlisenser.
-system.usage.err.limit_documents_exceeded=Den tillatte innholdsgrensen for {0} er overskredet. Det er for \u00f8yeblikket {1} innholdsobjekter p\u00e5 systemet.
+system.usage.err.limit_documents_exceeded=Den tillatte innholdsgrensen for {0} er overskredet. Det er for \u00f8yeblikket {1} innholdsobjekter p\u00e5 systemet.
system.usage.err.limit_license_expiring=Alfresco-lisensen utl\u00f8per om {0} dager.
system.usage.err.limit_license_expired=Alresco-lisensen er utl\u00f8pt.
diff --git a/config/alfresco/messages/system-messages_nl.properties b/config/alfresco/messages/system-messages_nl.properties
index 4f6995dd87..105df8e827 100755
--- a/config/alfresco/messages/system-messages_nl.properties
+++ b/config/alfresco/messages/system-messages_nl.properties
@@ -84,6 +84,7 @@ system.usage.warn.limit_documents_approached=De toegestane contentlimiet van {0}
system.usage.warn.limit_documents_reached=De toegestane contentlimiet van {0} is bereikt. Er zijn {1} contentobjecten in het systeem.
system.usage.err.limit_users_exceeded=De toegestane gebruikerslimiet van {0} conform uw licentieovereenkomst is overschreden. Er zijn momenteel {1} gebruikers in het systeem. Neem contact op met uw Alfresco-verkoper om extra gebruikerslicenties aan te schaffen.
system.usage.err.limit_users_exceeded_verbose=De toegestane gebruikerslimiet van {0} conform uw licentieovereenkomst is overschreden. Toegevoegde gebruikers: {1}. Neem contact op met uw Alfresco-verkoper om extra gebruikerslicenties aan te schaffen.
+system.usage.warn.limit_users_overage=De toegestane gebruikerslimiet van {0} voor uw licentieovereenkomst is bereikt. Er zijn {1} gebruikers in het systeem, er zijn er {2} tijdelijk toegestaan. Neem contact op met uw Alfresco-verkoper om extra gebruikerslicenties aan te schaffen.
system.usage.err.limit_documents_exceeded=De toegestane contentlimiet van {0} is overschreden. Er zijn momenteel {1} contentobjecten aanwezig in het systeem.
system.usage.err.limit_license_expiring=De Alfresco-licentie verloopt over {0} dagen.
diff --git a/config/alfresco/messages/system-messages_pt_BR.properties b/config/alfresco/messages/system-messages_pt_BR.properties
index 791a2d70b7..562f7a113c 100644
--- a/config/alfresco/messages/system-messages_pt_BR.properties
+++ b/config/alfresco/messages/system-messages_pt_BR.properties
@@ -78,12 +78,13 @@ system.usage.err.no_txn=RepoUsageComponent must be called in a transaction.
system.usage.err.no_txn_readwrite=RepoUsageComponent must be called in a read-write transaction.
# START TRANSLATION
-system.usage.warn.limit_users_approached=O limite permitido de usu\u00e1rio {0} para a sua licen\u00e7a est\u00e1 pr\u00f3ximo. H\u00e1 {1} usu\u00e1rios no sistema. Entre em contato com seu representante de vendas Alfresco para adquirir licen\u00e7as de usu\u00e1rio adicionais.
-system.usage.warn.limit_users_reached=O limite permitido de usu\u00e1rio {0} para a sua licen\u00e7a foi atingido. H\u00e1 {1} usu\u00e1rios no sistema. Entre em contato com seu representante de vendas Alfresco para adquirir licen\u00e7as de usu\u00e1rio adicionais.
-system.usage.warn.limit_documents_approached=O limite de conte\u00fado permitido de {0} est\u00e1 pr\u00f3ximo de ser atingido. H\u00e1 {1} objetos de conte\u00fado no sistema.
-system.usage.warn.limit_documents_reached=O limite de conte\u00fado permitido de {0} foi atingido. H\u00e1 {1} objetos de conte\u00fado no sistema.
-system.usage.err.limit_users_exceeded=O limite permitido de usu\u00e1rio {0} para a sua licen\u00e7a foi excedido. Atualmente h\u00e1 {1} usu\u00e1rios no sistema. Entre em contato com seu representante de vendas Alfresco para adquirir licen\u00e7as de usu\u00e1rio adicionais.
+system.usage.warn.limit_users_approached=O limite permitido de usu\u00e1rio {0} para a sua licen\u00e7a est\u00e1 pr\u00f3ximo. H\u00e1 {1} usu\u00e1rios no sistema. Entre em contato com seu representante de vendas Alfresco para adquirir licen\u00e7as de usu\u00e1rio adicionais.
+system.usage.warn.limit_users_reached=O limite permitido de usu\u00e1rio {0} para a sua licen\u00e7a foi atingido. H\u00e1 {1} usu\u00e1rios no sistema. Entre em contato com seu representante de vendas Alfresco para adquirir licen\u00e7as de usu\u00e1rio adicionais.
+system.usage.warn.limit_documents_approached=O limite de conte\u00fado permitido de {0} est\u00e1 pr\u00f3ximo de ser atingido. H\u00e1 {1} objetos de conte\u00fado no sistema.
+system.usage.warn.limit_documents_reached=O limite de conte\u00fado permitido de {0} foi atingido. H\u00e1 {1} objetos de conte\u00fado no sistema.
+system.usage.err.limit_users_exceeded=O limite permitido de usu\u00e1rio {0} para a sua licen\u00e7a foi excedido. Atualmente h\u00e1 {1} usu\u00e1rios no sistema. Entre em contato com seu representante de vendas Alfresco para adquirir licen\u00e7as de usu\u00e1rio adicionais.
system.usage.err.limit_users_exceeded_verbose=O limite permitido de usu\u00e1rio {0} para a sua licen\u00e7a foi excedido. Usu\u00e1rios adicionados: {1}. Entre em contato com seu representante de vendas Alfresco para adquirir licen\u00e7as de usu\u00e1rio adicionais.
+system.usage.warn.limit_users_overage=O limite permitido de usu\u00e1rio de {0} para a sua licen\u00e7a foi atingido. Existem {1} usu\u00e1rios no sistema, {2} s\u00e3o permitidos. Entre em contato com seu representante de vendas Alfresco para adquirir licen\u00e7as de usu\u00e1rio adicionais.
system.usage.err.limit_documents_exceeded=O limite de conte\u00fado permitido de {0} foi ultrapassado. Atualmente h\u00e1 {1} objetos de conte\u00fado no sistema.
system.usage.err.limit_license_expiring=A licen\u00e7a do Alfresco ir\u00e1 expirar em {0} dias.
diff --git a/config/alfresco/messages/system-messages_ru.properties b/config/alfresco/messages/system-messages_ru.properties
index ed06a5d865..f7ba13e07c 100755
--- a/config/alfresco/messages/system-messages_ru.properties
+++ b/config/alfresco/messages/system-messages_ru.properties
@@ -84,6 +84,7 @@ system.usage.warn.limit_documents_approached=\u0414\u043e\u043f\u0443\u0441\u044
system.usage.warn.limit_documents_reached=\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u0440\u0435\u0434\u0435\u043b \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 {0}. \u0412 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430: {1}.
system.usage.err.limit_users_exceeded=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 {0}, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u043c \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435\u043c, \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u043e. \u0421\u0435\u0439\u0447\u0430\u0441 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439: {1}. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0442\u043e\u0440\u0433\u043e\u0432\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044e Alfresco \u0434\u043b\u044f \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.
system.usage.err.limit_users_exceeded_verbose=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 {0}, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u043c \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435\u043c, \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u043e. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438: {1} \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0442\u043e\u0440\u0433\u043e\u0432\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044e Alfresco \u0434\u043b\u044f \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.
+system.usage.warn.limit_users_overage=\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 ({0}), \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u043c \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435\u043c. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435: {1}; \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439: {2}. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0442\u043e\u0440\u0433\u043e\u0432\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044e Alfresco \u0434\u043b\u044f \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u043d\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.
system.usage.err.limit_documents_exceeded=\u041f\u0440\u0435\u0432\u044b\u0448\u0435\u043d \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u0440\u0435\u0434\u0435\u043b \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 {0}. \u0421\u0435\u0439\u0447\u0430\u0441 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430: {1}.
system.usage.err.limit_license_expiring=\u0427\u0438\u0441\u043b\u043e \u0434\u043d\u0435\u0439 \u0434\u043e \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 Alfresco: {0}.
diff --git a/config/alfresco/messages/system-messages_zh_CN.properties b/config/alfresco/messages/system-messages_zh_CN.properties
index b925bd9b48..94f1e00e46 100755
--- a/config/alfresco/messages/system-messages_zh_CN.properties
+++ b/config/alfresco/messages/system-messages_zh_CN.properties
@@ -80,10 +80,11 @@ system.usage.err.no_txn_readwrite=RepoUsageComponent must be called in a read-wr
# START TRANSLATION
system.usage.warn.limit_users_approached=\u5373\u5c06\u8fbe\u5230\u8bb8\u53ef\u8bc1\u534f\u8bae\u5141\u8bb8\u7684\u7528\u6237\u9650\u989d {0}\u3002 \u7cfb\u7edf\u4e2d\u6709 {1} \u4f4d\u7528\u6237\u3002 \u8bf7\u8054\u7cfb\u60a8\u7684 Alfresco \u9500\u552e\u4ee3\u8868\u4ee5\u8d2d\u4e70\u989d\u5916\u7684\u7528\u6237\u8bb8\u53ef\u8bc1\u3002
system.usage.warn.limit_users_reached=\u5df2\u7ecf\u8fbe\u5230\u8bb8\u53ef\u8bc1\u534f\u8bae\u5141\u8bb8\u7684\u7528\u6237\u9650\u989d {0}\u3002 \u7cfb\u7edf\u4e2d\u6709 {1} \u4f4d\u7528\u6237\u3002 \u8bf7\u8054\u7cfb\u60a8\u7684 Alfresco \u9500\u552e\u4ee3\u8868\u4ee5\u8d2d\u4e70\u989d\u5916\u7684\u7528\u6237\u8bb8\u53ef\u8bc1\u3002
-system.usage.warn.limit_documents_approached=\u5373\u5c06\u8fbe\u5230\u5141\u8bb8\u7684\u5185\u5bb9\u9650\u989d {0}\u3002 \u7cfb\u7edf\u4e2d\u6709 {1} \u4e2a\u5185\u5bb9\u5bf9\u8c61\u3002
+system.usage.warn.limit_documents_approached=\u5373\u5c06\u8fbe\u5230\u5141\u8bb8\u7684\u5185\u5bb9\u9650\u989d {0}\u3002 \u7cfb\u7edf\u4e2d\u6709 {1} \u4e2a\u5185\u5bb9\u5bf9\u8c61\u3002
system.usage.warn.limit_documents_reached=\u5df2\u7ecf\u8fbe\u5230\u5141\u8bb8\u7684\u5185\u5bb9\u9650\u989d {0}\u3002 \u7cfb\u7edf\u4e2d\u6709 {1} \u4e2a\u5185\u5bb9\u5bf9\u8c61\u3002
system.usage.err.limit_users_exceeded=\u5df2\u7ecf\u8d85\u8fc7\u8bb8\u53ef\u8bc1\u534f\u8bae\u5141\u8bb8\u7684\u7528\u6237\u9650\u989d {0}\u3002 \u7cfb\u7edf\u4e2d\u76ee\u524d\u6709 {1} \u4f4d\u7528\u6237\u3002 \u8bf7\u8054\u7cfb\u60a8\u7684 Alfresco \u9500\u552e\u4ee3\u8868\u4ee5\u8d2d\u4e70\u989d\u5916\u7684\u7528\u6237\u8bb8\u53ef\u8bc1\u3002
system.usage.err.limit_users_exceeded_verbose=\u5df2\u7ecf\u8d85\u8fc7\u8bb8\u53ef\u8bc1\u534f\u8bae\u5141\u8bb8\u7684\u7528\u6237\u9650\u989d {0}\u3002 \u6dfb\u52a0\u7684\u7528\u6237\u6570\uff1a {1} \u8bf7\u8054\u7cfb\u60a8\u7684 Alfresco \u9500\u552e\u4ee3\u8868\u4ee5\u8d2d\u4e70\u989d\u5916\u7684\u7528\u6237\u8bb8\u53ef\u8bc1\u3002
+system.usage.warn.limit_users_overage=\u5df2\u7ecf\u8fbe\u5230\u8bb8\u53ef\u8bc1\u534f\u8bae\u5141\u8bb8\u7684\u7528\u6237\u9650\u989d {0}\u3002 \u7cfb\u7edf\u4e2d\u6709 {1} \u4f4d\u7528\u6237\uff0c\u6682\u65f6\u5141\u8bb8\u7684\u7528\u6237\u6570\u4e3a {2}\u3002 \u8bf7\u8054\u7cfb\u60a8\u7684 Alfresco \u9500\u552e\u4ee3\u8868\u4ee5\u8d2d\u4e70\u989d\u5916\u7684\u7528\u6237\u8bb8\u53ef\u8bc1\u3002
system.usage.err.limit_documents_exceeded=\u5df2\u7ecf\u8d85\u8fc7\u5141\u8bb8\u7684\u5185\u5bb9\u9650\u989d {0}\u3002 \u7cfb\u7edf\u4e2d\u76ee\u524d\u6709 {1} \u4e2a\u5185\u5bb9\u5bf9\u8c61\u3002
system.usage.err.limit_license_expiring=Alfresco \u8bb8\u53ef\u8bc1\u5c06\u5728 {0} \u5929\u540e\u5230\u671f\u3002
diff --git a/config/alfresco/minimal-context.xml b/config/alfresco/minimal-context.xml
index 8c9e619da8..0736acd42c 100644
--- a/config/alfresco/minimal-context.xml
+++ b/config/alfresco/minimal-context.xml
@@ -26,7 +26,7 @@
Import all modules and related components.
-->
-
+
diff --git a/config/alfresco/model/systemModel.xml b/config/alfresco/model/systemModel.xml
index 0877ec34ae..96b9241172 100644
--- a/config/alfresco/model/systemModel.xml
+++ b/config/alfresco/model/systemModel.xml
@@ -77,6 +77,10 @@
d:contentfalse
+
+ d:content
+ false
+
diff --git a/config/alfresco/patch/patch-services-context.xml b/config/alfresco/patch/patch-services-context.xml
index 9c84fe072c..c8b2490d44 100644
--- a/config/alfresco/patch/patch-services-context.xml
+++ b/config/alfresco/patch/patch-services-context.xml
@@ -1227,6 +1227,17 @@
+
+
+ patch.db-V4.1-AuthorizationTables
+ patch.schemaUpgradeScript.description
+ 0
+ 9010
+ 9011
+
+ classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-AuthorizationTables.sql
+
+ patch.addInviteAddDirectEmailTemplates
diff --git a/config/alfresco/version.properties b/config/alfresco/version.properties
index 54f06ac80f..90b9014584 100644
--- a/config/alfresco/version.properties
+++ b/config/alfresco/version.properties
@@ -23,4 +23,4 @@ version.build=r@scm-revision@-b@build-number@
# Schema number
-version.schema=9010
+version.schema=9011
diff --git a/source/java/org/alfresco/filesys/auth/ftp/AlfrescoFtpAuthenticator.java b/source/java/org/alfresco/filesys/auth/ftp/AlfrescoFtpAuthenticator.java
index aa33999603..6f848d3159 100644
--- a/source/java/org/alfresco/filesys/auth/ftp/AlfrescoFtpAuthenticator.java
+++ b/source/java/org/alfresco/filesys/auth/ftp/AlfrescoFtpAuthenticator.java
@@ -1,24 +1,25 @@
/*
- * Copyright (C) 2005-2010 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
+ * Copyright (C) 2005-2010 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
package org.alfresco.filesys.auth.ftp;
import javax.transaction.Status;
+import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
import org.alfresco.filesys.alfresco.AlfrescoClientInfo;
@@ -117,6 +118,17 @@ public class AlfrescoFtpAuthenticator extends FTPAuthenticatorBase {
{
if ( logger.isDebugEnabled())
logger.debug( ex);
+ try
+ {
+ tx.setRollbackOnly();
+ }
+ catch (SystemException e)
+ {
+ if (logger.isDebugEnabled())
+ {
+ logger.debug(e);
+ }
+ }
}
finally
{
diff --git a/source/java/org/alfresco/filesys/auth/nfs/AlfrescoRpcAuthenticator.java b/source/java/org/alfresco/filesys/auth/nfs/AlfrescoRpcAuthenticator.java
index 1e5901a487..f7e3517b96 100644
--- a/source/java/org/alfresco/filesys/auth/nfs/AlfrescoRpcAuthenticator.java
+++ b/source/java/org/alfresco/filesys/auth/nfs/AlfrescoRpcAuthenticator.java
@@ -372,6 +372,7 @@ public class AlfrescoRpcAuthenticator implements RpcAuthenticator, InitializingB
{
if ( logger.isErrorEnabled())
logger.error( "Error in RPC authenticator setting current user", ex);
+ throw ex;
}
}
diff --git a/source/java/org/alfresco/repo/jscript/People.java b/source/java/org/alfresco/repo/jscript/People.java
index 8f8b2503ba..c1f667da9a 100644
--- a/source/java/org/alfresco/repo/jscript/People.java
+++ b/source/java/org/alfresco/repo/jscript/People.java
@@ -95,7 +95,7 @@ public class People extends BaseScopableProcessorExtension implements Initializi
private int defaultListMaxResults = 5000;
private boolean honorHintUseCQ = true;
- private static final String HINT_CQ_SUFFIX = " [hint:useCQ]";
+ protected static final String HINT_CQ_SUFFIX = " [hint:useCQ]";
public void afterPropertiesSet() throws Exception
{
@@ -165,11 +165,11 @@ public class People extends BaseScopableProcessorExtension implements Initializi
/**
* Set the service registry
*
- * @param serviceRegistry the service registry
+ * @param serviceRegistry the service registry
*/
public void setServiceRegistry(ServiceRegistry serviceRegistry)
{
- this.services = serviceRegistry;
+ this.services = serviceRegistry;
}
/**
@@ -311,8 +311,8 @@ public class People extends BaseScopableProcessorExtension implements Initializi
public ScriptNode createPerson(String userName, String firstName, String lastName, String emailAddress,
String password, boolean setAccountEnabled, boolean notifyByEmail)
{
- ParameterCheck.mandatory("firstName", firstName);
- ParameterCheck.mandatory("emailAddress", emailAddress);
+ ParameterCheck.mandatory("firstName", firstName);
+ ParameterCheck.mandatory("emailAddress", emailAddress);
ScriptNode person = null;
@@ -321,13 +321,13 @@ public class People extends BaseScopableProcessorExtension implements Initializi
{
for (int i=0; i < numRetries; i++)
{
- userName = usernameGenerator.generateUserName(firstName, lastName, emailAddress, i);
-
- // create person if user name does not already exist
- if (!personService.personExists(userName))
- {
- break;
- }
+ userName = usernameGenerator.generateUserName(firstName, lastName, emailAddress, i);
+
+ // create person if user name does not already exist
+ if (!personService.personExists(userName))
+ {
+ break;
+ }
}
}
@@ -344,19 +344,19 @@ public class People extends BaseScopableProcessorExtension implements Initializi
person = createPerson(userName, firstName, lastName, emailAddress);
- if (person != null && password != null)
- {
- // create account for person with the userName and password
- authenticationService.createAuthentication(userName, password.toCharArray());
- authenticationService.setAuthenticationEnabled(userName, setAccountEnabled);
-
- person.save();
-
- if(notifyByEmail)
- {
- personService.notifyPerson(userName, password);
- }
- }
+ if (person != null && password != null)
+ {
+ // create account for person with the userName and password
+ authenticationService.createAuthentication(userName, password.toCharArray());
+ authenticationService.setAuthenticationEnabled(userName, setAccountEnabled);
+
+ person.save();
+
+ if(notifyByEmail)
+ {
+ personService.notifyPerson(userName, password);
+ }
+ }
}
return person;
@@ -914,8 +914,8 @@ public class People extends BaseScopableProcessorExtension implements Initializi
if ("fullName".equalsIgnoreCase(sortBy))
{
- String firstName = nodeService.getProperty(nodeRef, ContentModel.PROP_FIRSTNAME).toString();
- String lastName = nodeService.getProperty(nodeRef, ContentModel.PROP_LASTNAME).toString();
+ String firstName = (String)nodeService.getProperty(nodeRef, ContentModel.PROP_FIRSTNAME);
+ String lastName = (String)nodeService.getProperty(nodeRef, ContentModel.PROP_LASTNAME);
String fullName = firstName;
if (lastName != null && lastName.length() > 0)
{
diff --git a/source/java/org/alfresco/repo/security/person/PersonServiceImpl.java b/source/java/org/alfresco/repo/security/person/PersonServiceImpl.java
index 27d89c71d0..416d6e7f73 100644
--- a/source/java/org/alfresco/repo/security/person/PersonServiceImpl.java
+++ b/source/java/org/alfresco/repo/security/person/PersonServiceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2013 Alfresco Software Limited.
+ * Copyright (C) 2005-2015 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -55,7 +55,6 @@ import org.alfresco.repo.policy.PolicyComponent;
import org.alfresco.repo.search.SearcherException;
import org.alfresco.repo.security.authentication.AuthenticationException;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
-import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
import org.alfresco.repo.security.permissions.PermissionServiceSPI;
import org.alfresco.repo.tenant.TenantDomainMismatchException;
import org.alfresco.repo.tenant.TenantService;
@@ -69,8 +68,6 @@ import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.admin.RepoAdminService;
-import org.alfresco.service.cmr.admin.RepoUsage.UsageType;
-import org.alfresco.service.cmr.admin.RepoUsageStatus;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.invitation.InvitationException;
import org.alfresco.service.cmr.model.FileFolderService;
@@ -124,7 +121,6 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
private static final String LEAVE = "LEAVE";
public static final String SYSTEM_FOLDER_SHORT_QNAME = "sys:system";
public static final String PEOPLE_FOLDER_SHORT_QNAME = "sys:people";
- private static final String SYSTEM_USAGE_WARN_LIMIT_USERS_EXCEEDED_VERBOSE = "system.usage.err.limit_users_exceeded_verbose";
private static final String KEY_POST_TXN_DUPLICATES = "PersonServiceImpl.KEY_POST_TXN_DUPLICATES";
public static final String KEY_ALLOW_UID_UPDATE = "PersonServiceImpl.KEY_ALLOW_UID_UPDATE";
@@ -952,18 +948,6 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
throw new IllegalArgumentException("No username specified when creating the person.");
}
- /*
- * Check restrictions on the number of users
- */
- Long maxUsers = repoAdminService.getRestrictions().getUsers();
- if (maxUsers != null)
- {
- // Get the set of users created in this transaction
- Set usersCreated = TransactionalResourceHelper.getSet(KEY_USERS_CREATED);
- usersCreated.add(userName);
- AlfrescoTransactionSupport.bindListener(this);
- }
-
AuthorityType authorityType = AuthorityType.getAuthorityType(userName);
if (authorityType != AuthorityType.USER)
{
@@ -1258,16 +1242,6 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
beforeDeleteNodeValidationBehaviour.enable();
}
}
-
- /*
- * Kick off the transaction listener for create user. It has the side-effect of
- * recalculating the number of users.
- */
- Long maxUsers = repoAdminService.getRestrictions().getUsers();
- if (maxUsers != null)
- {
- AlfrescoTransactionSupport.bindListener(this);
- }
}
/**
@@ -2093,72 +2067,6 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
AlfrescoTransactionSupport.bindListener(this);
}
- /**
- * {@inheritDoc}
- */
- public void beforeCommit(boolean readOnly)
- {
- // check whether max users has been exceeded
- RunAsWork getMaxUsersWork = new RunAsWork()
- {
- @Override
- public Long doWork() throws Exception
- {
- return repoAdminService.getRestrictions().getUsers();
- }
- };
- Long maxUsers = AuthenticationUtil.runAs(getMaxUsersWork, AuthenticationUtil.getSystemUserName());
- if(maxUsers == null)
- {
- return;
- }
-
- Long users = AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork()
- {
- public Long doWork() throws Exception
- {
- repoAdminService.updateUsage(UsageType.USAGE_USERS);
- if(logger.isDebugEnabled())
- {
- logger.debug("Number of users is " + repoAdminService.getUsage().getUsers());
- }
- return repoAdminService.getUsage().getUsers();
- }
- } , AuthenticationUtil.getSystemUserName());
-
- // Get the set of users created in this transaction
- Set usersCreated = TransactionalResourceHelper.getSet(KEY_USERS_CREATED);
-
- // If we exceed the limit, generate decent message about which users were being created, etc.
- if (users > maxUsers)
- {
- List usersMsg = new ArrayList(5);
- int i = 0;
- for (String userCreated : usersCreated)
- {
- i++;
- if (i > 5)
- {
- usersMsg.add(" ... more");
- break;
- }
- else
- {
- usersMsg.add(userCreated);
- }
- }
- if (logger.isDebugEnabled())
- {
- logger.debug("Maximum number of users exceeded: " + usersCreated);
- }
- throw AlfrescoRuntimeException.create(SYSTEM_USAGE_WARN_LIMIT_USERS_EXCEEDED_VERBOSE, maxUsers, usersMsg);
- }
-
- // Get the usages and log any warnings
- RepoUsageStatus usageStatus = repoAdminService.getUsageStatus();
- usageStatus.logMessages(logger);
- }
-
public int countPeople()
{
NodeRef peopleContainer = getPeopleContainer();
diff --git a/source/test-java/org/alfresco/repo/site/SiteServiceImplTest.java b/source/test-java/org/alfresco/repo/site/SiteServiceImplTest.java
index e5c29e20eb..5818547044 100644
--- a/source/test-java/org/alfresco/repo/site/SiteServiceImplTest.java
+++ b/source/test-java/org/alfresco/repo/site/SiteServiceImplTest.java
@@ -50,21 +50,26 @@ import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
import org.alfresco.repo.security.authority.UnknownAuthorityException;
import org.alfresco.repo.security.person.UserNameMatcherImpl;
+import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.service.ServiceRegistry;
+import org.alfresco.service.cmr.action.ActionService;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.dictionary.TypeDefinition;
import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileInfo;
+import org.alfresco.service.cmr.repository.ContentService;
import org.alfresco.service.cmr.repository.ContentWriter;
import org.alfresco.service.cmr.repository.CopyService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.ScriptLocation;
import org.alfresco.service.cmr.repository.ScriptService;
+import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.security.AccessPermission;
import org.alfresco.service.cmr.security.AccessStatus;
import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.service.cmr.security.AuthorityType;
+import org.alfresco.service.cmr.security.MutableAuthenticationService;
import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.cmr.security.PersonService;
import org.alfresco.service.cmr.site.SiteInfo;
@@ -74,6 +79,7 @@ import org.alfresco.service.cmr.site.SiteVisibility;
import org.alfresco.service.cmr.tagging.TaggingService;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
+import org.alfresco.service.transaction.TransactionService;
import org.alfresco.test_category.BaseSpringTestsCategory;
import org.alfresco.util.ApplicationContextHelper;
import org.alfresco.util.BaseAlfrescoSpringTest;
@@ -93,6 +99,8 @@ import static org.mockito.Mockito.when;
@Category(BaseSpringTestsCategory.class)
public class SiteServiceImplTest extends BaseAlfrescoSpringTest
{
+ public static final StoreRef SITE_STORE = new StoreRef("workspace://SpacesStore");
+
private static final String TEST_SITE_PRESET = "testSitePreset";
private static final String TEST_SITE_PRESET_2 = "testSitePreset2";
private static final String TEST_TITLE = "TitleTest This is my title";
@@ -109,6 +117,8 @@ public class SiteServiceImplTest extends BaseAlfrescoSpringTest
private static final String GROUP_ONE_DISPLAY = "DisplayOfGrpOne-SiteServiceImplTest";
private static final String GROUP_TWO_DISPLAY = "DisplayOfGrpTwo-SiteServiceImplTest";
+ private static boolean IS_FIRST_SETUP = true;
+
private CopyService copyService;
private ScriptService scriptService;
private NodeService nodeService;
@@ -141,50 +151,90 @@ public class SiteServiceImplTest extends BaseAlfrescoSpringTest
@SuppressWarnings("deprecation")
protected void onSetUpInTransaction() throws Exception
{
- super.onSetUpInTransaction();
-
- // Get the required services
- this.copyService = (CopyService)this.applicationContext.getBean("CopyService");
- this.scriptService = (ScriptService)this.applicationContext.getBean("ScriptService");
- this.nodeService = (NodeService)this.applicationContext.getBean("NodeService");
- this.authenticationComponent = (AuthenticationComponent)this.applicationContext.getBean("authenticationComponent");
- this.taggingService = (TaggingService)this.applicationContext.getBean("TaggingService");
- this.personService = (PersonService)this.applicationContext.getBean("PersonService");
- this.authorityService = (AuthorityService)this.applicationContext.getBean("AuthorityService");
- this.fileFolderService = (FileFolderService)this.applicationContext.getBean("FileFolderService");
- this.nodeArchiveService = (NodeArchiveService)this.applicationContext.getBean("nodeArchiveService");
- this.permissionService = (PermissionService)this.applicationContext.getBean("PermissionService");
- this.dictionaryService = (DictionaryService)this.applicationContext.getBean("DictionaryService");
- this.namespaceService = (NamespaceService)this.applicationContext.getBean("namespaceService");
- this.siteService = (SiteService)this.applicationContext.getBean("SiteService"); // Big 'S'
- this.siteServiceImpl = (SiteServiceImpl) applicationContext.getBean("siteService"); // Small 's'
- this.sysAdminParams = (SysAdminParams)this.applicationContext.getBean("sysAdminParams");
- this.userNameMatcherImpl = (UserNameMatcherImpl)this.applicationContext.getBean("userNameMatcher");
+ RetryingTransactionCallback