Comment exporter des Riches champs de Texte au format HTML à partir de Notes avec LotusScript?
Je suis en train de travailler sur une migration de données de la tâche, où je dois exporter un assez grand nombre d'application Lotus Notes dans une plate-forme de blogs. Ma première tâche a été d'exporter les articles à partir de Lotus Notes dans des fichiers CSV.
J'ai créé un Agent en LotusScript pour exporter les données dans des fichiers CSV. J'utilise une version modifiée de ce IBM DeveloperWorks post sur le forum. Et il fait le travail. Mais le contenu de la Riche champ de Texte est dépouillé de toute mise en forme. Et ce n'est pas ce que je veux, je veux que le Riche champ de Texte rendu au format HTML.
La la documentation pour la GetItemValue méthode stipule explicitement que le texte est traduit en texte clair. J'ai donc commencé à faire des recherches pour quelque chose qui permettrait de récupérer le code HTML. J'ai trouvé le NotesMIMEEntity classe et un exemple de code dans IBM article Comment Accéder HTML dans un Riche Champ de Texte à l'Aide de LotusScript.
Mais pour la technique décrite dans l'article ci-dessus fonctionne, le Riche champ de Texte doivent avoir la propriété "Contenu du Magasin de HTML et MIME". Et ce n'est pas le cas avec ma base de données Lotus Notes. J'ai essayé de définir la propriété sur les champs en question, mais il n'a pas fait l'affaire.
Est-il possible d'utiliser le NotesMIMEEntity et définir le "Magasin de Contenu au format HTML et MIME" bien après que le contenu a été ajouté, pour exporter le champ de rendu HTML?
Ou quelles sont mes options pour l'exportation de la base de données Notes Riches champs de Texte au format HTML?
Bonus d'information: je suis l'aide de IBM Lotus Domino Designer version 8.5
OriginalL'auteur Emil Rasmussen | 2009-12-10
Vous devez vous connecter pour publier un commentaire.
Je vous suggère de regarder Midas Texte Riche LSX (http://www.geniisoft.com/showcase.nsf/MidasLSX)
Je n'ai pas utilisé personnellement, mais je me souviens de leur ans étant la meilleure option pour travailler avec du Texte enrichi. Je serais prêt à parier qu'il vous permet d'économiser beaucoup de maux de tête.
Comme pour le NotesMIMEEntity classe, je ne crois pas qu'il existe un moyen de convertir les RichText de MIME, seulement MIME de texte enrichi (ou de conserver le MIME dans le document pour le courrier électronique).
OriginalL'auteur Ken Pespisa
Il est assez inconnu de commande qui fait exactement ce que vous voulez: récupérer l'URL à l'aide de la commande OpenField.
Exemple qui convertit seulement les Corps-le terrain:
Je l'ai fait et ça fonctionne. Si vous avez tout collé des images ou des fichiers joints, il ne vous aide pas comme il se convertit à des liens vers les notes de l'enregistrement. Je souhaite que je pourrais trouver quelque chose qui va tout convertir en HTML!
OriginalL'auteur D.Bugger
Si vous mettez à niveau pour les Notes Domino 8.5.1 ensuite, vous pouvez utiliser la nouvelle
ConvertToMIME
méthode de laNotesDocument
classe. Voir la docs. Cela devrait faire ce que vous voulez.Alternativly la façon la plus simple pour obtenir le serveur Domino pour rendre le texte enrichi sera de récupérer via une url d'appel. Configurer un formulaire simple qui a juste le texte enrichi de champ, puis utilisez votre favori de l'api HTTP pour tirer dans la page. Ensuite, elle devrait être assez simple à sortir le corps.
OriginalL'auteur Kerr
Voici comment je l'ai fait, à l'aide de l'OpenField de commande, voir D. Bougre du post ci-dessus
OriginalL'auteur Casper Skovgaard
Vous pouvez utiliser le NotesDXLExporter classe d'exporter le Texte Riche et l'utilisation d'une transformation XSLT pour transformer la sortie de ce dont vous avez besoin.
J'ai essayé d'utiliser le NotesDXLExporter, mais elle ne rende le Riche champ de Texte comme une étrange version XML de la richesse du Texte. Il serait fastidieux de les transformer en HTML. Merci pour la suggestion!
OriginalL'auteur Carlos
Je sais que vous avez mentionné à l'aide de LotusScript, mais si vous n'avez pas l'esprit en écrivant un petit Java agent (dans le client Notes), ce qui peut être fait assez facilement et il n'est pas nécessaire de modifier la forme de la conception.
L'idée de base est d'avoir votre code Java ouvrir un document en particulier par le biais d'un localhost requête http (ce qui est simple en Java) et d'avoir votre capture du code html de sortie et l'enregistrer de nouveau à ce document. En gros, vous permettent de Domino moteur de rendu pour faire le gros du travail.
Que vous voulez faire:
J'ai mis un exemple de code dans un semblable post ici:
Comment faire pour convertir du texte et des riches champs de texte dans un document html à l'aide lotusscript?
OriginalL'auteur Ed Schembor
Garder les choses simples.
De modifier le CORPS de champ pour Stocker le contenu HTML et MIME
Ouvrir le doc en edit mode.
Enregistrer.
Fermer.
Vous pouvez maintenant utiliser le NotesMIMEEntity pour obtenir ce dont vous avez besoin à partir d'un script.
OriginalL'auteur Stephen Lawrie - New Zealand
De Casper recommandation ci-dessus fonctionne bien, mais assurez-vous que l'ACL est telle à permettre l'Accès Anonyme sinon votre code HTML sera le code HTML de votre formulaire de connexion
OriginalL'auteur David K
Si vous n'avez pas besoin d'obtenir le texte enrichi à partir des éléments plus précisément, vous pouvez utiliser ?OpenDocument, qui est documenté (au moins) ici: https://www.ibm.com/developerworks/lotus/library/ls-Domino_URL_cheat_sheet/
https://www.ibm.com/support/knowledgecenter/SSVRGU_9.0.1/com.ibm.designer.domino.main.doc/H_ABOUT_URL_COMMANDS_FOR_OPENING_DOCUMENTS_BY_KEY.html
OpenDocument vous permet également d'élargir les articles (je ne suis pas sûr si OpenField)
La syntaxe est:
http://Host/Database/View/DocumentUniversalID?OpenDocument
Mais assurez-vous d'inclure le paramètre charset que bien des documents Japonais étaient illisibles sans spécification de l'utf-8 comme le jeu de caractères.
Voici la méthode que j'utilise qui prend un NotesDocument et renvoie le code HTML de la doc comme une chaîne de caractères.
OriginalL'auteur Jason Shuler