Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Maarch
thirdPartyArchiving
Commits
bd102a03
Verified
Commit
bd102a03
authored
Nov 26, 2018
by
Alexandre Morin
Browse files
Adding default files
parent
73954eb2
Changes
3
Hide whitespace changes
Inline
Side-by-side
data/conf/configuration.ini.default
0 → 100644
View file @
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
data/conf/confvars.ini.default
0 → 100644
View file @
bd102a03
; Declare variables for database connection
@var.dsn = "pgsql:host=localhost;dbname=maarchRMTP;port=5432"
@var.username = maarch
@var.password = maarch
data/conf/vhost.conf.default
0 → 100644
View file @
bd102a03
# 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>
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment