L’extension Somum peut, depuis la version 7.2, extraire les informations d’une base de données. Pour configurer, l’option doit être activée dans la configuration de JMap Admin de Somum ainsi que le fichier somum_ext_config_sql.xml.
...
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.8.0_362" class="java.beans.XMLDecoder">
<object class="jmap.extensions.somum.server.configuration.SomumExtensionSqlConfig">
<void property="attribApt">
<string></string>
</void>
<void property="attribCity">
<string></string>
</void>
<void property="attribCivA">
<string></string>
</void>
<void property="attribCivDe">
<string></string>
</void>
<void property="attribCodePostal">
<string></string>
</void>
<void property="attribCountry">
<string></string>
</void>
<void property="attribGen">
<string></string>
</void>
<void property="attribLien">
<string></string>
</void>
<void property="attribProvince">
<string></string>
</void>
<void property="attribRue">
<string></string>
</void>
<void property="databaseId">
<int>-999</int>
</void>
<void property="idField">
<string></string>
</void>
<void property="idFieldText">
<boolean>false</boolean>
</void>
<void property="sqlQuery">
<string></string>
</void>
</object>
</java>
...
databaseId: L’ID de la base de données configurées configurée dans JMap Admin.
sqlQuery: La requête SQL qui va extraire les données.
idField: Le nom de la colonne à utiliser pour identifier les éléments.
idFieldText: ‘true' si l’identifiant précédent est textuel (varchar, text, etc.), ‘false’ pour numérique.
...
Si la valeur d’attribut configuré à la première étape retournait le numéro de matricule et le nom de la colonne retourné par la requête SQL était une colonne VARCHAR avec comme nom ‘MAT’ :
<void property="databaseId">
<int>12</int>
</void>
<void property="idField">
<string>MAT</string>
</void>
<void property="idFieldText">
<boolean>true</boolean>
</void>
<void property="sqlQuery">
<string>SELECT * FROM ROLE</string>
</void>
Avec cette configuration, l’extraction se ferait en utilisant la requête configurée et une condition ‘IN’ sera automatiquement ajoutée en utilisant l'idField spécifié.
Ex: SQL SELECT * FROM ROLE WHERE MAT IN ('valeur1', ‘valeur2’, ...).
...