Pregunta

¿Es posible crear una biblioteca de LotusScript en una base de datos y acceder a él desde otra base de datos?

Sin simple copia de la biblioteca en cada base de datos que necesita para usarlo.

Lo que me gustaría lograr es un único lugar donde puedo actualizar la biblioteca y no tener que copiar manualmente a cada base de datos que está utilizando. No puedo utilizar una plantilla de diseño como las bases de datos que utilizan esta biblioteca de scripts todos utilizan diferentes plantillas de diseño.

Creo que otra solución sería la creación de un agente para copiar la biblioteca a todas las bases de datos cada vez que se actualiza. Así que si alguien ha hecho algo así antes de eso también me gustaría aquí sobre ello.

¿Fue útil?

Solución

Diseño herencia en Lotus Notes no sólo en el nivel de base de datos - elementos de diseño individuales (como la biblioteca de la escritura) se pueden heredar explícitamente de una plantilla diferente. Ver Vinculación de elementos de diseño individuales a una plantilla .

Con la herencia configurado de esta manera, la principal tarea del diseñador en el servidor Domino actualizará el elemento de diseño de forma automática. Para que esto funcione, las plantillas deben replicarse en el mismo servidor.

Es posible que desee desactivar esta herencia cuando suelte su plantilla, para evitar sorpresas desagradables en el entorno de producción. He creado una solución para esto hace un tiempo: Retire el diseño de Lotus Notes elemento de la herencia mediante programación .

Otros consejos

Anders ha respondido a la pregunta muy bien. Como ya ha dicho Anders, Domino, por desgracia, no puede compartir bibliotecas de código entre bases de datos. Todo el código es independiente, que es en este escenario una limitación.

Copia del agente en todas las bases de datos que desea utilizar para, a continuación, el empleo de la herencia de diseño es una forma rápida y fácil de distribuir el agente.

Una idea alternativa, es tener una sola base de datos que sirve como depósito de los agentes, por lo que si tiene que volver a utilizar el mismo agente de una y otra, es de diseño está siempre en una base de datos, pero se necesita para diseñar de modo que puede realizar operaciones en toda la base de datos tiene que actualizar.

Efectivamente, el uso de cada base de datos, ya que sólo una fuente de datos, y el agente (s) relevante operar desde una ubicación. Se requerirá un poco más de trabajo que le permitirá definir algunos documentos de configuración adicionales que el agente (s) podría utilizar para identificar qué bases de datos que desea que el agente se ejecute en.

Las ventajas de este enfoque son:

  • No es necesario que lidiar con la herencia de diseño. Puede causar problemas a gran escala cuando se tiene estructuras biblioteca / complejos de diseño de secuencias de comandos, puede que tenga que comprar herramientas de terceros para ayudarle a hacer esto.

  • En realidad se puede controlar qué bases de datos se actualicen a través de una serie de documentos de configuración centralizada con un campo "activo / inactivo" que las banderas de la base de datos para la actualización. En lugar de hacerlo directamente "tocar" los agentes que requiere que ensuciarse las manos con la activación / desactivación del agente. En algunos entornos corporativos que están estrechamente controlados, es necesario seguir haciendo las Notas de administrador para hacer esto para usted.

  • Puede codificar el agente para que reporta la actividad en sus propios documentos de registro personalizado cuando se ejecuta en cada base de datos, y centralmente almacenarlo.

Espero que esto le proporciona algunas opciones ...

Puede compartir una biblioteca lotusscript entre bases de datos. exportar la secuencia de comandos a un archivo con el sufijo .lss y colocarlo en el servidor Domino en la carpeta de dominó. A continuación, puede escribir "use 'script.lss'" como con las bibliotecas de LotusScript normales. Se puede ver en la carpeta de dominó ya hay algunas bibliotecas por ejemplo. lsconst.lss

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