IV. Modélisation Alfresco du dossier de Crédit▲
IV-1. Modèle de donnée du dossier de crédit ▲
Dans ce diagramme:
- CreditRecord représente le dossier de crédit,
- GenerateContrat représente le contrat généré,
- ScanContrat représente le contrat scanné,
- ScanPaySlip représente la fiche de paye,
- ScanTaxSlip représente la fiche d'impôt.
IV-2. Alfresco Content Type Model▲
Nous écrivons ici le content type model de chaque entité citée ci-dessus (paragraphe IV.1) à l'aide du dictionnaire de données et du content type model de base de Alfresco.
- Importation des modèles d'Alfresco
Sélectionnez
<
imports>
<
import
uri=
"http://www.alfresco.org/model/dictionary/1.0"
prefix=
"d"
/>
<
import
uri=
"http://www.alfresco.org/model/content/1.0"
prefix=
"cm"
/>
</
imports>
- La définition du namespace pour notre projet
Sélectionnez
<
namespaces>
<
namespace uri=
"http://www.koossery-tech.com/model/wc/1.0"
prefix=
"wc"
/>
</
namespaces>
- Le dossier de crédit
Sélectionnez
<
type>
<
parent>
cm:folder</
parent>
<
properties>
<
property name=
"wc:civility"
>
<
title>
Civility</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
<
default
>
Mister</
default
>
<
constraints>
<
constraint ref =
"wc:valueCivility"
></
constraint>
</
constraints>
</
property>
<
property name=
"wc:name"
>
<
title>
Name</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:surname"
>
<
title>
Surname</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:birthdate"
>
<
title>
BirthDate</
title>
<
type>
d:date</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:cni"
>
<
title>
CNI</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:familySituation"
>
<
title>
FamilySituation</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
<
default
>
Married</
default
>
<
constraints>
<
constraint ref =
"wc:valueFamilySituation"
></
constraint>
</
constraints>
</
property>
<
property name=
"wc:childNumber"
>
<
title>
ChildNumber</
title>
<
type>
d:long
</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:childNumberInCharge"
>
<
title>
ChildNumberInCharge</
title>
<
type>
d:long
</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:email"
>
<
title>
Email</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:professionnelSituation"
>
<
title>
ProfessionnelSituation</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:since"
>
<
title>
Since</
title>
<
type>
d:date</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:borrowAmount"
>
<
title>
BorrowAmount</
title>
<
type>
d:long
</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:reimbursementDuration"
>
<
title>
ReimbursementDuration</
title>
<
type>
d:long
</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:monthlySalary"
>
<
title>
MonthlySalary</
title>
<
type>
d:long
</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:loanType"
>
<
title>
LoanType</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
<
default
>
Personnal loan</
default
>
<
constraints>
<
constraint ref =
"wc:valueTypeLoan"
></
constraint>
</
constraints>
</
property>
<
property name=
"wc:disbursementType"
>
<
title>
DisbursementType</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
<
default
>
Transfert</
default
>
<
constraints>
<
constraint ref =
"wc:valueTypeDisbursement"
></
constraint>
</
constraints>
</
property>
<
property name=
"wc:countNumber"
>
<
title>
CountNumber</
title>
<
type>
d:long
</
type>
<
mandatory>
true
</
mandatory>
</
property>
<
property name=
"wc:stateDocument"
>
<
title>
State on document</
title>
<
type>
d:text</
type>
<
mandatory>
true
</
mandatory>
<
default
>
No Created</
default
>
</
property>
</
properties>
<
associations>
<
association name=
"wc:hasScanPaySlip"
>
<
target>
<
class
>
wc:scanPaySlip</
class
>
<
mandatory>
false
</
mandatory>
<
many>
true
</
many>
</
target>
</
association>
<
association name=
"wc:hasScanTaxSlip"
>
<
target>
<
class
>
wc:scanTaxSlip</
class
>
<
mandatory>
false
</
mandatory>
<
many>
true
</
many>
</
target>
</
association>
<
association name=
"wc:hasScanContrat"
>
<
target>
<
class
>
wc:scanContrat</
class
>
<
mandatory>
false
</
mandatory>
<
many>
true
</
many>
</
target>
</
association>
<
association name=
"wc:hasGenerateContrat"
>
<
target>
<
class
>
wc:generateContrat</
class
>
<
mandatory>
false
</
mandatory>
<
many>
true
</
many>
</
target>
</
association>
</
associations>
<
mandatory-
aspects>
<
aspect>
cm:versionable</
aspect>
</
mandatory-
aspects>
</
type>
Notre dossier de crédit a pour type parent 'cm:folder' afin qu'il puisse hériter des propriétés d'un dossier et qu'il puisse être physiquement représenté par un dossier. Les propriétés qu'on retrouve dans ce modèle sont celles citées dans le paragraphe IIIIII.
Par ailleurs nous avons les associations suivantes:
- hasScanPaySlip : association qui lie la fiche de paye au dossier de crédit,
- hasScanTaxSlip : association qui lie le fiche d'impôt au dossier de crédit,
- hasScanContrat : association qui lie le contrat scanné au dossier de crédit,
- hasGenerateContrat : association qui lie le contrat généré au dossier de crédit
Nous distinguons aussi l'aspect suivant:
- versionable : permet de rendre le dossier de crédit versionable c'est à dire qu'il aura plusieurs versions.
- Modélisation d'une pièce jointe: la fiche de paie
Sélectionnez
<
type name=
"wc:scanPaySlip"
>
<
title>
Pay Slip scanned</
title>
<
parent>
cm:content</
parent>
<
properties>
<
property name=
"wc:titlePay"
>
<
title>
Title Pay Slip scanned</
title>
<
type>
d:text</
type>
<
mandatory>
false
</
mandatory>
</
property>
<
property name=
"wc:descriptionPay"
>
<
title>
Description</
title>
<
type>
d:text</
type>
<
mandatory>
false
</
mandatory>
</
property>
</
properties>
</
type>
Nous héritons du type de base 'cm:content' d'Alfresco car nous gérons la fiche de paie comme un contenu du dossier de crédit.