Pregunta

Tengo una aplicación web Lotus Domino heredada: base de datos con datos, por supuesto, pero también JavaScript, recursos, incluidas imágenes png y jpg, subformularios como HTML y CSS, etc.

Quiero exportar la aplicación en sí. no los datos, solo la estructura de la aplicación, por lo que puedo reutilizar las imágenes, HTML y CSS en otros marcos web más modernos (p. ej.Rails o NodeJS o PHP o Python o lo que sea) que consumen plantillas HTML y CSS y JS como archivos.

¿Cómo exporto HTML, CSS, JS, png, jpg, etc.?¿como es?Estoy feliz de tomar toda la estructura de archivos como se muestra en Designer, solo quiero obtener el HTML/CSS/JS/images/etc.ahí.

Intenté usar la opción "sincronización de disco de control de fuente", pero los archivos se guardan en algún formato XML extraño específico de Domino, con el HTML/CSS/etc subyacente almacenado como hexadecimal.No es muy útil.

Como ejemplo, podría tener en mi aplicación Shared Elements\subforms\main.login.subform (y muchos otros) que se parecen a:

<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 -->

Quiero extraer eso (y a los demás les gusta).

EDITAR:

Como @AndrewB señaló en los comentarios a continuación, vale la pena explicarlo mejor.

La aplicación Domino en cuestión utiliza (principalmente) HTML estático y JS para recuperar datos de los agentes a través de Ajax.Por lo tanto, la interfaz de usuario (html/css/js) es muy reutilizable con cualquier respaldo, con una cantidad moderada de trabajo.

Pero sólo funciona si puedo sacar las páginas estáticas originales.Estas estadísticas se almacenan en Resources\Files\ o Shared Elements\subforms\

EDITAR 2:

Cuando desactivo la exportación binaria DXL según @sjcaged, obtengo un resultado para el HTML sin formato anterior que se parece al siguiente (esto es solo el final):

<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>
¿Fue útil?

Solución

@Deitch, casi estaba allí: quieres habilitar el control de la fuente. Cómo funciona esto es Sincroniza el contenido de la base de datos (ya sea automáticamente o manualmente) con un directorio de sistema de archivos estándar. Consulte el tema de la Ayuda "Configuración de la función de habilitación de control de fuente" para obtener más información.

Sin embargo,

para hacerlo realmente funcionar, requiere cambiar una preferencia. En Diseñador, primero Ir a Archivo | Preferencias | Diseñador | Fuente de control. Asegúrese de que el "uso binario DXL" no esté establecido. Consulte el tema de la Ayuda "Selección de la forma de representar elementos de diseño en el disco" Para obtener más información sobre la diferencia, básicamente, utilizando DXL regular, separa los datos del elemento de diseño [I.E. El código] de la envoltura de metadatos con formato DXL que tiene el elemento de diseño en la base de datos, donde el DXL binario los pone a ambos en una mancha binaria y evita que las aplicaciones externas puedan editarlas. También hay otras opciones aquí, consulte el tema de la Ayuda "Configuración de las preferencias de la característica de la habilitación del control de la fuente" para obtener más información.

Después de hacerlo, entonces (todavía en el diseñador) Haga clic con el botón derecho en el proyecto, seleccione "Desarrollo del equipo" y luego 'Configurar el control de la fuente para esta aplicación'. Puede o no puede mostrar una pantalla de inicio y debe seleccionar Siguiente, pero eventualmente presentará un cuadro de diálogo que le pedirá que escriba el nombre del proyecto ON-DISK. Asegúrese de que la segunda línea apunte a un directorio que aún no exista (de forma predeterminada, con la casilla de verificación "Use la ubicación predeterminada" seleccionada, se apuntará al directorio de datos de Notes y agregará que sea lo que se ingrese como nombre para el ENCENDIDO -Disk Project como nuevo nombre de directorio). Cuando selecciona Finalizar, exportará el sistema de archivos Virtual Eclipse dentro del NSF al sistema de archivos, usando ese directorio como la raíz.

(No todas las perspectivas muestran la entrada del "desarrollo del equipo". Notablemente, la perspectiva de Java no lo hace. La perspectiva de Domino Designer, sin embargo, lo hace. Para cambiar la perspectiva, seleccione la ventana | Abra la perspectiva y seleccione la perspectiva para usar.)

Una vez que se hace esto, puede usar herramientas externas para agregar el directorio al control de origen [que es siempre una buena idea]; Mientras "use Binary DXL" no esté seleccionado, también puede usar herramientas externas para manipular el código y los datos se consideran parte de la aplicación.

Otros consejos

La respuesta simple: No hay manera de hacer esto.

El código web que se muestra en el navegador es generado dinámicamente por la tarea HTTP de Domino desde formularios, vistas, páginas, subformas, bibliotecas de scripts, fórmulas, etc.

No hay una representación html simple en ninguna parte en la base de datos.

Para obtener lo que quiere, necesitaría un lixiviador, que agarra y descarga la fuente generada como se haría un navegador.Pero como una gran cantidad de funcionalidad es el lado del servidor (validaciones de campo, agentes, enviando correo, lo que sea ...), no obtendrá nada suficiente a partir de ese enfoque.

Por supuesto, podría exportar manualmente la imagen, los archivos CSS, los archivos CSS y, probablemente, JavaScript- Libarios (si lo hay), pero eso no le dará ningún paso más allá de lo que quiere lograr.

Si desea "migrar" a la NSF a otra plataforma, entonces tendrá que reescribir las cosas enteras ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top