Commit 95fbd5d4 authored by Alexandre Morin's avatar Alexandre Morin
Browse files

Merge branch 'bugfix/2.3.4' into 'develop'

Bugfix/2.3.4 Develop

See merge request maarch/thirdPartyArchiving!55
parents c5efbfd7 bd102a03
; Declare variables for database connection
@include confvars.ini
[presentation.maarchRM]
@include menu.ini
; Default max result in search screens
maxResults = 200
; Public archive mode
publicArchives = false
; Logos, title and favicon of the application
logo = "/presentation/img/RM_MNCHM.svg"
altLogo = "presentation/img/RM.svg"
favicon = "/presentation/img/rm.ico"
title = "Maarch RM"
loginBackground = ".modal-backdrop {
background-image: url('presentation/img/19093d7d-21f4-491b-bca1-5f57704c29d9.jpg');
background-repeat: no-repeat;
background-position: center top;
background-color: #fff;
background-size: cover;
opacity: 1 !important;
}"
; If you use the CSS generator, the file is generated in folder "public/css/[file name]"
css = "/presentation/css/style.css"
; Set a title in the navbar with a specific style
;navbarTitle = "[
; {
; 'style' : 'font-size:44px;',
; 'value' : 'm'
; },
; {
; 'style' : 'font-size:32px; font-weight:bold;',
; 'value' : 'aarch R'
; },
; {
; 'style' : 'font-size:44px;',
; 'value' : 'm'
; }
;]"
; List of displayable format as preview
displayableFormat = "['application/pdf', 'image/jpeg', 'image/png', 'text/plain']"
[recordsManagement]
; Profile directory for rng profile
profilesDirectory = "%laabsDirectory%/data/maarchRM/profiles"
; Type of archival profile
; 1 = file only
; 2 = descriptionClass/properties + management rules
; 3 = both
archivalProfileType = 2
; Delete the description of an archive when an archive is deleted
deleteDescription = false
; Show the conversion error
conversionError = false
; Storage path configuration
; Use this following variables to défine the storage path
; KEY BUNDLE DESRIPTION
; app N.A The app name
; instance N.A The instance name
; originatorOwnerOrgId recordsManagement The owner originator identifier
; originatorOrgRegNumber recordsManagement The originator registration number
; archivalProfileReference recordsManagement The archival profile reference
; batchId medona The message identifier
; archiverOrgRegNumber medona The archiver registration number
; depositorOrgRegNumber medona The depositor registration number
; messageDate medona The date of message
; messageReference medona The message reference
;
; To include a part of date, you must use <date(format)>.
; - Y for a full numeric representation of a year, 4 digits
; - m for the numeric representation of a month, with leading zeros
; - d for day of the month, 2 digits with leading zeros
;
; To make packages, use a number. Packages must be the only variable on the directory step name
; good ex : /<200>/ to make incremental containers of two hundred items
; bad example : /prefix_<200>/
storePath = "<instance>/<originatorOwnerOrgId>/<originatorOrgRegNumber>/<archivalProfileReference>/<date(Y)>/<date(m)>/<date(d)>"
; The path of journals in the file plan
; To include the type of log you must use <type>
; To include a part of date, you must use <date(format)>.
; - Y for a full numeric representation of a year, 4 digits
; - m for the numeric representation of a month, with leading zeros
; - d for day of the month, 2 digits with leading zeros
logFilePlan = "<type>/<date(Y)>/<date(m)>"
translationLogType = "{
'lifeCycle' : 'Journal du cycle de vie',
'application' : 'Journal de l\'application',
'system' : 'Journal du système'
}"
;The path of the stopword file for fullTextIndexing
stopWordsFilePath = "%laabsDirectory%/data/stopwords/stopwords_fr.txt"
[audit]
; Send notifications on audit event
;notifications = "{
; 'auth/userAccount/updateLock_userAccountId_' : {
; 'receivers' : ['alexis.ragot@maarch.org'],
; 'title' : 'MaarchRM - User lock',
; 'message' : 'be careful, user Alexis is lock',
; 'onResult' : true
; }
;}"
; Chain journal with timestamp file. The timestamp dependency must be configured.
chainWithTimestamp = false;
; Any path on this list will no be logged in the application journal
;ignorePaths = "['organization/organization/readTodisplay']"
; Any operation on this list will no be logged in the application journal
;ignoreMethods = "['read']"
[auth]
; Encryption algorithm (MD5, SHA256, SHA512...)
passwordEncryption = SHA256
; Admin user account name
adminUsers = "['superadmin']"
; Allow the user to modify his or her information
allowUserModification = true
; Number of login attempts before the user account is locked. ignored if 0
; Duration of validity for password. ignored if 0
; Duration in hour of the generated password. ignored if 0
; Minimum length for password. ignored if 0
; Password must content non alphanumeric characters (On|Off, 0|1, true|false)
; Password must content character digits from 0 to 9 (On|Off, 0|1, true|false)
; Password must content mixed case alphabetic characters (On|Off, 0|1, true|false)
; Time in second of the session
; Lock time in seconds
securityPolicy = "{
'loginAttempts' : 3,
'passwordValidity' : 0,
'newPasswordValidity' : 1,
'passwordMinLength' : 8,
'passwordRequiresSpecialChars' : 1,
'passwordRequiresDigits' : 1,
'passwordRequiresMixedCase' : 1,
'sessionTimeout' : 3600,
'lockDelay' : 30
}"
publicUserStory = "['app/*']"
; Blacklist of user stories
blacklistUserStories = "[
'adminFunc/contact',
'adminArchive/adminStorageRule'
]"
csrfWhiteList = "['user/login']"
csrfConfig = '{
"cookieName" : "CSRF",
"tokenLength" : 32
}'
servicePrivileges = "[
{
'serviceURI': 'audit/event/createChainjournal',
'description' : 'Chaîner le journal de l\'application'
},
{
'serviceURI': 'batchProcessing/scheduling/updateProcess',
'description' : 'Exécution automatique des tâches planifiées'
},
{
'serviceURI': 'lifeCycle/journal/createChainjournal',
'description' : 'Chaîner le journal du cycle de vie'
},
{
'serviceURI': 'recordsmanagement/archivecompliance/readperiodic',
'description' : 'Valider l\'intégrité des archives'
},
{
'serviceURI': 'recordsManagement/archives/deleteDisposablearchives',
'description' : 'Détruire les archives'
},
{
'serviceURI': 'recordsManagement/archives/updateIndexfulltext',
'description' : 'Extraction plein texte'
},
{
'serviceURI': 'recordsManagement/archive/create',
'description' : 'Création d\'une archive'
},
{
'serviceURI': 'recordsManagement/archive/createArchiveBatch',
'description' : 'Création par batch d\'archive(s)'
},
{
'serviceURI' : 'recordsManagement/archives/updateArchivesretentionrule',
'description' : 'Mise à jour de la durée d\'utilité administrative'
},
{
'serviceURI': '*',
'description' : 'Tous les droits'
}
]"
[organization]
orgUnitRoles = "{
'owner' : {
'code' : 'owner',
'name' : 'organization/owner',
'description' : 'The system owner'
}
}"
[lifeCycle]
; Chain life cycle journal by originator in addition to the main journal
chainJournalByOrganization = false;
; Chain journal with timestamp file. The timestamp dependency must be configured.
chainWithTimestamp = false;
[dependency.datasource]
@Adapter = Database
Dsn = %dsn%
Username = %username%
Password = %password%
[dependency.fileSystem]
; Path to the UK National Archives DROID signature file for file format detection
; Droid signature files can be found at http://www.nationalarchives.gov.uk/aboutapps/pronom/droid-signature-files.htm
signatureFile = "%laabsDirectory%/data/maarchRM/droidSignatureFiles/DROID_SignatureFile_V91.xml"
containerSignatureFile = "%laabsDirectory%/data/maarchRM/droidSignatureFiles/container-signature-20170330.xml"
; Path to libreOffice executable
;libreOfficeExecutable = "c:\Program Files (x86)\LibreOffice 5\program\soffice"
libreOfficeExecutable = "/usr/bin/libreoffice"
; Conversion paths
conversionServices = "[
{
'serviceName' : 'dependency/fileSystem/plugins/libreOffice',
'softwareName' : 'LibreOffice',
'softwareVersion' : '5.4.2.0',
'inputFormats' : ['fmt/412', 'fmt/291', 'fmt/293'],
'outputFormats' : {
'fmt/95' : {
'extension' : 'pdf',
'filter' : 'writer_pdf_Export',
'options': 'SelectPdfVersion=1'
},
'fmt/18' : {
'extension' : 'pdf'
}
}
}
]"
; Path to Clam antivirus executable
clamScan = "C:\Program Files (x86)\ClamWin\bin\clamscan.exe"
clamDb = "C:\ProgramData\.clamwin\db"
tikaJarFile = "%laabsDirectory%/dependency/fileSystem/plugins/tika/tika-app-1.16.jar"
;zipExecutable = "C:\Program Files\7-Zip\7z.exe"
[dependency.html]
headers = "['dashboard/head.html']"
layout = "dashboard/layout.html"
layoutData = "presentation/dashboard/layout"
plugins = "{
'dataTable' : '\dependency\html\plugins\DataTable\DataTable',
'dataList' : '\dependency\html\plugins\DataList\DataList',
'datePicker' : '\dependency\html\plugins\datePicker\datePicker',
'dateRangePicker' : '\dependency\html\plugins\dateRangePicker\dateRangePicker'
}"
layoutReferer = "['/user/prompt', '/user/logout']"
[dependency.json]
Options = JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_FORCE_OBJECT
[dependency.localisation]
@Adapter = Gettext
lang = fr
dateFormat = d-m-Y
[dependency.logger]
loggers = "{
'importCustomerRecords' : {
'level' : 'INFO',
'appenders' : [ 'importCustomerRecordsFile' ],
'additivity' : false
}
}"
appenders = "{
'default' : {
'class' : 'LoggerAppenderFile',
'layout' : {
'class' : 'LoggerLayoutSimple'
},
'params' : {
'file' : '/var/www/laabs/data/redgreen/log4php.txt',
'append' : true
}
},
'importCustomerRecordsFile' : {
'class' : 'LoggerAppenderDailyFile',
'layout' : {
'class' : 'LoggerLayoutPattern',
'params' : {
'conversionPattern' : '[%date{d/m/Y H:i:s}] %-5p [%t] %message %newline'
}
},
'params' : {
'datePattern' : 'Y-m-d',
'file' : '/var/www/laabs/data/maarchRM/importMapping-%s.log',
'append' : true
}
}
}"
[dependency.notification]
@Adapter = Mailer
mailHost = 'smtp.gmail.com'
mailUsername = '';
mailPassword = '';
mailPort = 587;
mailSender = "";
mailAdminReceiver = "";
mailSMTPAuth = true;
mailSMTPSecure = "tls";
;Pour laposte
;mailHost = 'smtp.laposte.com';
;mailPort = 25;
;SMTPSecure = "tls";
;mailSMTPAuth = true;
;Pour gmail
;mailHost = 'smtp.gmail.com';
;mailPort = 587;
;SMTPSecure = "tls";
;mailSMTPAuth = true;
[dependency.repository]
@Adapter = Repository
[dependency.sdo]
@Adapter = Database
Dsn = %dsn%
Username = %username%
Password = %password%
; Auto generate ids before create operation
; 0/false/Off = never generate ids
; 1/true/On = generates ids when no id is set on object
generateKey = on
; Sets the boolean storage method
; 0 : as integer 0 | 1
; 1 : as boolean true |false
; 2 : as char Y / N
boolFormat = 1
dateFormat = YYYY-MM-DD
timeFormat = HH24:MI:SS
datetimeFormat = "YYYY-MM-DD HH24:MI:SS,US"
; Log events in Laabs log
; 0 = no trace
; 1 = trace only errors
; 2 = trace queries
; 3 = dump queries
trace = 1
[batchProcessing]
tasks = "[
{
'taskId': '01',
'route' : 'audit/event/createChainjournal',
'description' : 'Chainer le journal de l\'application'
},
{
'taskId': '02',
'route' : 'lifeCycle/journal/createChainjournal',
'description' : 'Chainer le journal du cycle de vie'
},
{
'taskId': '03',
'route' : 'recordsManagement/archiveCompliance/readPeriodic',
'description' : 'Valider l\'intégrité des archives'
},
{
'taskId': '04',
'route' : 'recordsManagement/archives/deleteDisposablearchives',
'description' : 'Détruire les archives'
},
{
'taskId': '05',
'route' : 'batchProcessing/notification/updateProcess',
'description' : 'Envoyer notification'
},
{
'taskId': '06',
'route' : 'recordsManagement/archives/updateIndexfulltext',
'description' : 'Extraction plein texte'
},
{
'taskId': '07',
'route' : 'recordsManagement/archives/updateArchivesretentionrule',
'description' : 'Mise à jour de la durée d\'utilité administrative'
}
]"
\ No newline at end of file
; Declare variables for database connection
@var.dsn = "pgsql:host=localhost;dbname=maarchRMTP;port=5432"
@var.username = maarch
@var.password = maarch
# APP MaarchRM - Records Management
<VirtualHost *:80>
# Set document root in Laabs public web directory
DocumentRoot /var/www/laabs/web/
# Set server name
ServerName maarchrmtp
Options -Indexes
Options FollowSymLinks
# DirectoryIndex dynamic.php
# Rewrite URLs to route to frontal scripts
# when target is not an existing public resource
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_URI} ^/public [NC]
RewriteRule .* - [QSA,L]
# Rewrite to dynamic frontal if no file extension
# input: /route?args...
# output : http.php/route?args...
RewriteRule ^(.*)$ /http.php [QSA,L]
# Set environment variables for the application instance
SetEnv LAABS_INSTANCE_NAME maarchRMTP
SetEnv LAABS_APP maarchRMTP
SetEnv LAABS_BUNDLES audit;auth;batchProcessing;contact;digitalResource;filePlan;lifeCycle;medona;organization;recordsManagement
SetEnv LAABS_EXTENSIONS thirdPartyArchiving
SetEnv LAABS_DEPENDENCIES repository;xml;html;localisation;datasource;sdo;json;fileSystem
SetEnv LAABS_PRESENTATION maarchRM
SetEnv LAABS_CONFIGURATION "../src/ext/thirdPartyArchiving/data/conf/configuration.ini"
SetEnv LAABS_LOG "../data/maarchRM/log.txt"
SetEnv LAABS_TMP_DIR "../data/maarchRM/tmp"
SetEnv LAABS_CONTENT_TYPES "url:application/x-www-form-urlencoded;html:text/html,application/xhtml+xml;xml:application/xml;json:application/json,application/javascript;soap:application/soap+xml;csv:text/csv"
#SetEnv LAABS_CONTENT_LANGUAGES "fr:fr,fr-fr,fr-ca"
SetEnv LAABS_CACHE_CONTROL "public, max-age=3600"
#SetEnv LAABS_EXCEPTION_HANDLER
#SetEnv LAABS_ERROR_HANDLER
SetEnv LAABS_DATE_FORMAT "d-m-Y"
SetEnv LAABS_TIMESTAMP_FORMAT "Y-m-d\TH:i:s,u\Z"
SetEnv LAABS_NUMBER_DECIMALS 2
SetEnv LAABS_DEFAULT_URI recordsManagement/welcome/welcomePage
SetEnv LAABS_ERROR_URI recordsManagement/welcome/error
SetEnv LAABS_CSRF_PROTECTION On
SetEnv LAABS_CRYPT_KEY mySecretKey
SetEnv LAABS_CRYPT_CIPHER MCRYPT_BLOWFISH
SetEnv LAABS_XML_NS "medona:org:afnor:medona:1.0"
</VirtualHost>
<VirtualHost *:80>
# Set document root in Laabs public web directory
DocumentRoot /var/www/laabs/web/
# Set server name
ServerName srv-maarchrmtp
Options -Indexes
Options FollowSymLinks
# DirectoryIndex dynamic.php
# Rewrite URLs to route to frontal scripts
# when target is not an existing public resource
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_URI} ^/public [NC]
RewriteRule .* - [QSA,L]
# Rewrite to dynamic frontal if no file extension
# input: /route?args...
# output : http.php/route?args...
RewriteRule ^(.*)$ /http.php [QSA,L]
# Set environment variables for the application instance
SetEnv LAABS_INSTANCE_NAME maarchRMTP
SetEnv LAABS_APP maarchRMTP
SetEnv LAABS_BUNDLES audit;auth;batchProcessing;contact;digitalResource;filePlan;lifeCycle;medona;organization;recordsManagement
SetEnv LAABS_EXTENSIONS thirdPartyArchiving
SetEnv LAABS_DEPENDENCIES repository;xml;html;localisation;datasource;sdo;json;fileSystem
# SetEnv LAABS_PRESENTATION maarchRM
SetEnv LAABS_CONFIGURATION "../data/maarchRM/conf/configuration.ini"
SetEnv LAABS_LOG "../data/maarchRM/log.txt"
SetEnv LAABS_CONTENT_TYPES "url:application/x-www-form-urlencoded;html:text/html,application/xhtml+xml;xml:application/xml;json:application/json,application/javascript;soap:application/soap+xml;csv:text/csv"
#SetEnv LAABS_CONTENT_LANGUAGES "fr:fr,fr-fr,fr-ca"
SetEnv LAABS_CACHE_CONTROL "public, max-age=3600"
#SetEnv LAABS_EXCEPTION_HANDLER
#SetEnv LAABS_ERROR_HANDLER
SetEnv LAABS_DATE_FORMAT "d-m-Y"
SetEnv LAABS_TIMESTAMP_FORMAT "Y-m-d\TH:i:s,u\Z"
SetEnv LAABS_NUMBER_DECIMALS 2
SetEnv LAABS_DEFAULT_URI recordsManagement/welcome/welcomePage
SetEnv LAABS_ERROR_URI recordsManagement/welcome/error
SetEnv LAABS_CSRF_PROTECTION On
SetEnv LAABS_CRYPT_KEY mySecretKey
SetEnv LAABS_CRYPT_CIPHER MCRYPT_BLOWFISH
SetEnv LAABS_XML_NS "medona:org:afnor:medona:1.0"
</VirtualHost>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment