Comportement :
Le texte intégral DocuWare ne prend pas en charge tous les types de documents ou toutes les langues, de sorte que ces documents ne peuvent pas être trouvés par le biais de la recherche plein texte DocuWare.
Solution :
Avec le Service Pack 1 de la version 5.1c, DocuWare offre donc la possibilité de stocker des documents contenant des informations externes sur le texte intégral, par le biais de l'interface GAPI.
Il faut tout d'abord créer un objet document qui sera rempli avec les informations externes fournies via la méthode IModifyMetaDataCommand.SetFulltext(), puis le stocker via l'interface GAPI.
En général, il existe deux possibilités pour définir le texte intégral d'un document :
- Sur IUnfiledDocument
- Sur IUnfiledDocumentSection
Paramètres du texte intégral pour l'ensemble du document :
/Créer un UnfiledDocument et une commande de stockage (objet IFileCabinet requis)
DocuWare.Gapi.Document.IUnfiledDocument myNewDocument = myGapiClient.GetDocument(filename) ;
DocuWare.Gapi.Command.FileCabinet.IFileCabinetStorageCommand myStorageCommand = MyUsedFileCabinet.Commands.newStorage() ;
//Créer une commande ModifyMetaDataCommand (le document entier est maintenant utilisé)
DocuWare.Gapi.Command.Document.IModifyMetaDataCommand myModifyCommand = myNewDocument.Commands.newModifyMetaData() ;
/Remplir la commande avec le texte intégral
myModifyCommand.SetFulltext(fulltext) ;
//Exécuter la commande, de sorte que les métadonnées de IUnfiledDocument soient modifiées
myModifyCommand.Execute() ;
/Référencer le document qui vient d'être rempli dans la commande IStorageCommand et l'exécuter, pour stocker le document
myStorageCommand.UnfiledDocument = myNewDocument ;
myStorageCommand.Execute() ;
Paramètres du texte intégral sur une page spécifique (section) :
//Créer votre UnfiledDocument et une commande de stockage (objet IFileCabinet requis)
DocuWare.Gapi.Document.IUnfiledDocument myNewDocument = myGapiClient.GetDocument(filename) ;
DocuWare.Gapi.Command.FileCabinet.IFileCabinetStorageCommand myStorageCommand = MyUsedFileCabinet.Commands.newStorage() ;
/Référencer la commande ModifyCommand sur la section correspondante du document
myModifyFulltextCommand = myUnfiledDocument.Sections[0].Commands.newModifyMetaData() ;
//Remplir maintenant la commande avec le texte intégral qui doit être transféré et l'exécuter
myModifyFulltextCommand.SetFulltext(fulltext) ;
myModifyFulltextCommand.Execute() ;
//Référencer le document qui vient d'être rempli dans la commande IStorageCommand et l'exécuter, pour stocker le document
myStorageCommand.UnfiledDocument = myNewDocument ;
myStorageCommand.Execute() ;
Grâce à cette méthode, le document est stocké dans l'armoire DocuWare correspondante et les informations en texte intégral sont écrites dans le tableau ftm.
Mais avant que ce document puisse être trouvé dans le cadre d'une recherche plein texte DocuWare, les informations en texte intégral doivent être écrites dans le catalogue en texte intégral, ce qui est réalisé par le flux de travail en texte intégral DocuWare. Cela signifie que le workflow doit être exécuté au moins une fois après le Stockage de documents et qu'ensuite vous pouvez rechercher ce document dans une recherche plein texte.
Si vous modifiez par la suite un document qui a été stocké avec des informations en texte intégral via GAPI, le document sera marqué comme modifié et sera réindexé lors de la prochaine exécution du flux de travail en texte intégral, de sorte que les informations en texte intégral fournies par GAPI seront perdues !
Veuillez noter : Cet article est une traduction de l'anglais. Les informations contenues dans cet article sont basées sur la ou les versions originales des produits en langue anglaise. Il peut y avoir des erreurs mineures, notamment dans la grammaire utilisée dans la version traduite de nos articles. Bien que nous ne puissions pas garantir l'exactitude complète de la traduction, dans la plupart des cas, vous la trouverez suffisamment informative. En cas de doute, veuillez revenir à la version anglaise de cet article.
