https://forge.maarch.org/
https://forge.maarch.org/themes/boostmine-1.2-maarch/favicon/favicon.ico?1526546326
2021-08-24T09:58:55Z
Maarch forge - Centre de support
Backlog RM - Fonctionnalité #18094: Recherche par agent SEDA 2
https://forge.maarch.org/issues/18094?journal_id=115975
2021-08-24T09:58:55Z
Cyril VAZQUEZ
cyril.vazquez@maarch.org
<ul></ul><p>Analyse d'impact et complexité :</p>
<a name="Front"></a>
<h2 >Front<a href="#Front" class="wiki-anchor">¶</a></h2>
<ul>
<li>formulaire agent dans le registre</li>
<li>sérialisation JSON du formulaire :</li>
</ul>
<pre>{
"agent": {
"firstName": "Alain",
"givenName" : "CONNU",
"role" : "addressee"
}
}
</pre>
<a name="Back"></a>
<h2 >Back<a href="#Back" class="wiki-anchor">¶</a></h2>
<p>Ajouter le critère "Agent" de type objet aux interfaces :<br>
- ext/archivesPubliques/presentation/maarchRM/UserStory/archiveRetrieval/searchPublicArchiveInterface.php<br>
- ext/archivesPubliques/bundle/archivesPubliques/contentInterface.php</p>
<p><strong>Opportunité d'ajouter en tant que tableau (comme mots-clés) pour prévoir la fonction plus tard ?</strong></p>
<p>Ajouter le code de construction du SQL dans le contrôleur :<br>
- ext/archivesPubliques/bundle/archivesPubliques/Controller/content.php</p>
<p>Pour les fonctions find() et count(), ajouter le critère dans les paramètres.<br>
Pour la fonction searchJson() construire le SQL spécifique :</p>
<pre><code class="php syntaxhl"><span class="CodeRay"> <span class="keyword">if</span> (<span class="predefined">is_array</span>(<span class="local-variable">$agent</span>) && !<span class="predefined">empty</span>(<span class="local-variable">$agent</span>)) {
<span class="comment">// SEDA 2 and 2.1 named agent groups</span>
<span class="comment">// New SEDA 2.2 agents will use 'role' attribute</span>
<span class="local-variable">$namedAgents</span> = [<span class="string"><span class="delimiter">'</span><span class="content">authorizedAgent</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">writer</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">addressee</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">recipient</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">transmitter</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">sender</span><span class="delimiter">'</span></span>];
<span class="local-variable">$queryAgent</span> = [];
<span class="keyword">foreach</span> (<span class="local-variable">$agent</span> <span class="keyword">as</span> <span class="local-variable">$agentObj</span>) {
<span class="keyword">if</span> (<span class="predefined">isset</span>(<span class="local-variable">$agentObj</span>->role) && <span class="predefined">in_array</span>(<span class="local-variable">$agentObj</span>->role, <span class="local-variable">$namedAgents</span>)) {
<span class="local-variable">$properties</span> = [<span class="local-variable">$agentObj</span>->role];
<span class="predefined">unset</span>(<span class="local-variable">$agentObj</span>->role);
} <span class="keyword">else</span> {
<span class="local-variable">$properties</span> = <span class="predefined">array_merge</span>(<span class="local-variable">$namedAgents</span>, [<span class="string"><span class="delimiter">'</span><span class="content">agent</span><span class="delimiter">'</span></span>]);
}
<span class="local-variable">$queryAgentParts</span> = [];
<span class="keyword">foreach</span> (<span class="local-variable">$properties</span> <span class="keyword">as</span> <span class="local-variable">$property</span>) {
<span class="local-variable">$queryAgentPropertyParts</span> = [];
<span class="keyword">foreach</span> (<span class="local-variable">$agentObj</span> <span class="keyword">as</span> <span class="local-variable">$name</span> => <span class="local-variable">$value</span>) {
<span class="local-variable">$queryAgentPropertyParts</span>[] = <span class="string"><span class="delimiter">'</span><span class="content">"description"-></span><span class="char">\'</span><span class="delimiter">'</span></span>.<span class="local-variable">$property</span>.<span class="string"><span class="delimiter">'</span><span class="char">\'</span><span class="content"> @> </span><span class="char">\'</span><span class="content">[{"</span><span class="delimiter">'</span></span>.<span class="local-variable">$name</span>.<span class="string"><span class="delimiter">'</span><span class="content">": "</span><span class="delimiter">'</span></span>.<span class="local-variable">$value</span>.<span class="string"><span class="delimiter">'</span><span class="content">"}]</span><span class="char">\'</span><span class="delimiter">'</span></span>;
}
<span class="local-variable">$queryAgentParts</span>[] = <span class="string"><span class="delimiter">'</span><span class="content">(</span><span class="delimiter">'</span></span>.<span class="predefined">implode</span> (<span class="string"><span class="delimiter">'</span><span class="content"> AND </span><span class="delimiter">'</span></span>, <span class="local-variable">$queryAgentPropertyParts</span>).<span class="string"><span class="delimiter">'</span><span class="content">)</span><span class="delimiter">'</span></span>;
}
<span class="local-variable">$queryAgent</span>[] = <span class="predefined">implode</span> (<span class="string"><span class="delimiter">'</span><span class="content"> OR </span><span class="delimiter">'</span></span>, <span class="local-variable">$queryAgentParts</span>);
}
<span class="local-variable">$queryParts</span>[<span class="string"><span class="delimiter">'</span><span class="content">agent</span><span class="delimiter">'</span></span>] = <span class="string"><span class="delimiter">'</span><span class="content"><?SQL (</span><span class="delimiter">'</span></span>.<span class="predefined">implode</span>(<span class="string"><span class="delimiter">'</span><span class="content"> OR </span><span class="delimiter">'</span></span>, <span class="local-variable">$queryAgent</span>).<span class="string"><span class="delimiter">'</span><span class="content">) ?></span><span class="delimiter">'</span></span>;
}
</span></code></pre>
<p>Pour la fonction searchTable renvoyer une requête fausse: </p>
<pre><code class="php syntaxhl"><span class="CodeRay"> <span class="keyword">if</span> (<span class="predefined">is_array</span>(<span class="local-variable">$agent</span>) && !<span class="predefined">empty</span>(<span class="local-variable">$agent</span>)) {
<span class="local-variable">$queryParts</span>[<span class="string"><span class="delimiter">'</span><span class="content">agent</span><span class="delimiter">'</span></span>] = <span class="string"><span class="delimiter">'</span><span class="content">0=1</span><span class="delimiter">'</span></span>;
}
</span></code></pre>
Backlog RM - Fonctionnalité #18094: Recherche par agent SEDA 2
https://forge.maarch.org/issues/18094?journal_id=116702
2021-09-06T15:03:39Z
Emmanuel DILLARD
emmanuel.dillard@maarch.org
<ul><li><strong>Echéance</strong> mis à <i>21/09/2021</i></li></ul>
Backlog RM - Fonctionnalité #18094: Recherche par agent SEDA 2
https://forge.maarch.org/issues/18094?journal_id=116763
2021-09-07T14:01:16Z
Emmanuel DILLARD
emmanuel.dillard@maarch.org
<ul><li><strong>Statut</strong> changé de <i>R&D - A planifier</i> à <i>R&D - En cours</i></li></ul>
Backlog RM - Fonctionnalité #18094: Recherche par agent SEDA 2
https://forge.maarch.org/issues/18094?journal_id=117914
2021-09-21T13:02:17Z
Emmanuel DILLARD
emmanuel.dillard@maarch.org
<ul><li><strong>Statut</strong> changé de <i>R&D - En cours</i> à <i>R&D - A planifier</i></li><li><strong>Priorité</strong> changé de <i>0-Bloquant</i> à <i>1-Majeur</i></li></ul>
Backlog RM - Fonctionnalité #18094: Recherche par agent SEDA 2
https://forge.maarch.org/issues/18094?journal_id=125235
2021-12-20T14:37:51Z
Cyril VAZQUEZ
cyril.vazquez@maarch.org
<ul><li><strong>Statut</strong> changé de <i>R&D - A planifier</i> à <i>En cours</i></li><li><strong>Assigné à</strong> mis à <i>Cyril VAZQUEZ</i></li><li><strong>Version cible</strong> changé de <i>2.8</i> à <i>2.8.2</i></li><li><strong>Tags RM</strong> <del><i>2.8.0</i></del> supprimé</li></ul><p>Lié à transformation SIP conformément à modèle OAIS, autre demande #</p>
Backlog RM - Fonctionnalité #18094: Recherche par agent SEDA 2
https://forge.maarch.org/issues/18094?journal_id=126772
2022-01-10T14:04:32Z
Cyril VAZQUEZ
cyril.vazquez@maarch.org
<ul><li><strong>Statut</strong> changé de <i>En cours</i> à <i>Rejeté</i></li></ul><p>Rendu inutile par conversion AIP V3</p>