#1 Tue 25 August 2009 07:24
- Natty
- Participant occasionnel
- Lieu: SunLight
- Date d'inscription: 24 Jun 2008
- Messages: 23
[APIC] Gestion d'un historique
Bonjour à tous,
J'ai besoin de mémoriser certains champs de différents composants Apic dans un historique afin qu'ils ne soient pas écrasés lors de modification.
Etant en CCHR, une table de type base de données ne me semble pas faisable. J'ai donc pensé à un composant non géographique "historiq" qui stockerait les infos avec en ID commun le n°Apic de l'objet à historiser.
Problème 1 : n'ayant pas d'identifiant pour tous les composants à historiser, on est obligé de passer par les n° d'objet Apic , mais ceux-ci peuvent changer ...
Problème 2 : pour retrouver tout l'historique d'un objet Apic, il faudra parcourir tous les composants "Historiq" : lenteur à prévoir
Peut-être avez-vous déjà eu ce type de questionnement ?
Merci d'avance.
Dernière modification par Natty (Tue 25 August 2009 07:25)
Hors ligne
#2 Tue 25 August 2009 15:03
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: [APIC] Gestion d'un historique
oui, mais pas en CCHR.
Désolé.
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#3 Tue 25 August 2009 22:40
- JC
- Membre
- Lieu: Les Clayes sous Bois
- Date d'inscription: 31 Jul 2007
- Messages: 332
Re: [APIC] Gestion d'un historique
Bonjour Natty,
Difficile de ne pas rester un peu dans le vague sans savoir plus précisément ce que tu souhaites historiser : mutations cadastrales ? rectification du tracé d'une autoroute ? interventions sur un réseau d'éclairage public ? ...
L'historique a ceci d'inconfortable qu'on y tient mais qu'on finit souvent par le trouver envahissant. Il faut donc notamment trouver un moyen pour qu'il ne surcharge pas les affichages/tracés. Avec un APIC CCHR, on peut envisager :
- codes d'état (l'objet historisé garde la même nature mais l'historique peut être activé ou non). Je n'aime guère les codes d'état... Ne serait-ce que parce qu'ils ne sont accessibles que par le code ;
- objets graphiques "cachés" dans un coin peu visité de la base (coin bas gauche, par exemple...). Efficace mais pas très clean dans le principe : quid le jour où l'espace couvert par la base est agrandi ou diminué ? Une variante peut-être à creuser : un espace schématique couvrant le même espace que l'espace géographique et où seraient déversés les seuls objets relevant de l'historique... Il faut en outre prévoir au moins un attribut permettant de distinguer les objets "en service" des objets de l'ordre de l'historique ;
- changement de composant (la "canalisation" devient une "canalisation déposée", que l'on n'affichera qu'en cas de besoin...). C'est la solution que j'aurais tendance à trouver la plus élégante... D'autant qu'elle évite les complications lors des décomptes d'objets.
Ton idée de recourir à un composant non graphique résoud le problème... mais peut faire perdre de l'info : à quoi bon mémoriser que l'on a déposé une canalisation, par exemple, si l'on perd l'information de sa position, de sa longueur...
Pour ce qui est de tes problèmes, on peut résoudre les deux en mettant les objets historisés en relation avec les objets qui leur ont succédé. Les deux problèmes tombent d'eux-même. Mais tu ressentiras rapidement le besoin de développer une application pour "dépiler l'historique" plus confortablement...
JC
Association GeoRezo.net
Hors ligne
#4 Tue 25 August 2009 23:00
- Natty
- Participant occasionnel
- Lieu: SunLight
- Date d'inscription: 24 Jun 2008
- Messages: 23
Re: [APIC] Gestion d'un historique
Merci pour ces infos.
Je vais rester dans un 1er temps sur mon composant non géographique avec relation simple vers mes composants (car ce ne sont que des champs alphanumériques que j'ai à mémoriser et pas des objets) en attendant notre passage à oracle. Je traiterai alors cela différemment.
Hors ligne