Question

J'ai une ancienne application Web Lotus Domino - base de données avec des données, bien sûr, mais aussi JavaScript, des ressources - comprenant des images png et jpg, des sous-formulaires HTML et CSS, etc.

Je veux exporter l'application elle-même - pas les données, juste la structure de l'application - afin que je puisse réutiliser les images, HTML et CSS dans d'autres frameworks Web plus modernes (par ex.Rails ou NodeJS ou PHP ou Python ou autre) qui consomment des modèles HTML et CSS et JS sous forme de fichiers.

Comment exporter le HTML, CSS, JS, png, jpg, etc.comme si?Je suis heureux de prendre la structure entière du fichier comme indiqué dans Designer, je veux juste obtenir le HTML/CSS/JS/images/etc réel.là-dedans.

J'ai essayé d'utiliser l'option "Synchronisation du disque de contrôle de source", mais les fichiers sont enregistrés dans un étrange format XML spécifique à Domino, avec le HTML/CSS/etc sous-jacent stocké au format hexadécimal.Pas très utile.

A titre d'exemple, je pourrais avoir dans mon application Shared Elements\subforms\main.login.subform (et bien d'autres) qui ressemblent à :

<style>
#service-content {
    background-color: #fff;
}

label, input {
    width: 100px;
    display: inline-block;
    padding: 3px 5px;
    margin-bottom: 10px;
}

input {
    width: 300px;
}

#login-message, h1 {
    text-align: center;
}   
</style>
<div style="width: 450px; margin: 0 auto">
    <input type="hidden" value="/<Computed Value>/page?readform" name="RedirectTo" />

    <h1>Login</h1>
        <!-- lots of html here -->
</div>
<!--// NAVIGATION -->

Je veux extraire ça (et les autres aiment ça).

MODIFIER:

Comme @AndrewB l'a souligné dans les commentaires ci-dessous, cela mérite une meilleure explication.

L'application Domino en question utilise (principalement) du HTML et du JS statiques pour récupérer les données des agents via Ajax.Ainsi, l'interface utilisateur (html/css/js) est très réutilisable avec n'importe quel support, avec une quantité de travail modérée.

Mais cela ne fonctionne que si je parviens à extraire les pages statiques originales.Ces statistiques sont stockées sous Resources\Files\ ou Shared Elements\subforms\

MODIFIER 2 :

Lorsque je désactive l'exportation binaire DXL selon @sjcaged, j'obtiens une sortie pour le code HTML brut ci-dessus qui ressemble à ce qui suit (ce n'est que la fin) :

<font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#4200ff'/>"submit"</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/> </run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='purple'/>value</run>    
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/>=</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#4200ff'/>"Login"</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/> </run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&gt;&lt;/</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>div</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&gt;</run></par>
<par def='3'><run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/></run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&lt;/</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>form</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&gt;</run></par>
<par def='3'>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&lt;/</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>div</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&gt;
</run></par>
<par def='2'><run><font name='monospace'/>&lt;!--// NAVIGATION --&gt;</run></par></richtext>    
</body>
<item name='$$ScriptName' summary='false' sign='true'><text>main.nav</text></item></subform>
Était-ce utile?

La solution

@deitch, tu y étais presque :vous souhaitez activer le contrôle de source.Comment cela fonctionne, il synchronise le contenu de la base de données (automatiquement ou manuellement) avec un répertoire de système de fichiers standard.Consultez la rubrique d'aide « Configuration de la fonctionnalité d'activation du contrôle de code source » pour plus d'informations.

Cependant, pour que cela fonctionne vraiment, il faut changer de préférence.Dans Designer, allez d'abord dans le fichier | Préférences | Designer | Contrôle de la source.Assurez-vous que « utiliser le DXL binaire » n'est pas défini.Consultez la rubrique d'aide « Sélection de la manière de représenter les éléments de conception sur le disque » pour plus d'informations sur la différence. En gros, l'utilisation de DXL standard sépare les données des éléments de conception [c'est-à-direle code] à partir de l'emballage des métadonnées au format DXL que l'élément de conception possède dans la base de données, où le DXL binaire les place tous les deux dans un blob binaire et empêche les applications externes de pouvoir les modifier.Il existe également d'autres options ici, consultez la rubrique d'aide « Configuration des préférences de la fonctionnalité d'activation du contrôle de code source » pour plus d'informations.

Une fois cela fait, (toujours dans Designer), cliquez avec le bouton droit sur le projet, sélectionnez « Développement en équipe », puis « Configurer le contrôle de code source pour cette application ».Il peut ou non afficher un écran de démarrage et vous demander de sélectionner Suivant, mais il finira par présenter une boîte de dialogue vous demandant de saisir le nom du projet sur le disque.Assurez-vous que la deuxième ligne pointe vers un répertoire qui n'existe pas encore (par défaut, avec la case "utiliser l'emplacement par défaut" cochée, elle pointera vers le répertoire de données Notes et y ajoutera tout ce qui est entré comme nom pour le -projet disque comme nouveau nom de répertoire).Lorsque vous sélectionnez Terminer, le système de fichiers virtuel Eclipse du NSF sera exporté vers le système de fichiers, en utilisant ce répertoire comme racine.

(Toutes les perspectives n'affichent pas l'entrée « Développement d'équipe ».Notamment, ce n’est pas le cas de la perspective Java.Cependant, Domino Designer Perspective le fait.Pour modifier la perspective, sélectionnez Fenêtre | Ouvrez la perspective et sélectionnez la perspective à utiliser.)

Une fois cela fait, vous pouvez utiliser des outils externes pour ajouter le répertoire au contrôle de source [qui est toujours une bonne idée];tant que "utiliser le DXL binaire" n'est pas sélectionné, vous pouvez également utiliser des outils externes pour manipuler le code et les données considérées comme faisant partie de l'application.

Autres conseils

La réponse simple :Il n'y a aucun moyen de faire cela.

Le code Web affiché dans le navigateur est généré dynamiquement par la tâche http domino à partir de formulaires, vues, pages, sous-formulaires, bibliothèques de scripts, formules, etc.

Il n’existe aucune représentation HTML simple nulle part dans la base de données.

Pour obtenir ce que vous voulez, vous auriez besoin d'un apprenant, qui récupère et télécharge la source générée comme le ferait un navigateur.Mais comme de nombreuses fonctionnalités sont côté serveur (validations de champs, agents, envoi de mail, peu importe...), vous n'obtiendrez rien de suffisant avec cette approche.

Bien sûr, vous pouvez exporter manuellement les ressources d'image, les fichiers CSS et probablement les bibliothèques JavaScript (s'il y en a), mais cela ne vous fera pas avancer plus loin vers ce que vous souhaitez réaliser.

Si vous souhaitez "migrer" la nsf vers une autre plateforme, alors vous devrez tout réécrire...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top