Migrando aplicaciones a servidores Domino 8.x.x
Albert Buendia  Abril 23 2012
Albert Buendia  Abril 23 2012

El proceso de migración de versión de buzones de correo de una versión principal, por ejemplo 7.x.x, a otra versión principal, por ejempo 8.x.x es relativamente sencillo y fácil. Otra guerra muy distinta supone la tarea de migrar aplicaciones Notes/Domino realizadas a medida. Los programadores de versiones anteriores a la versión 8 de Notes/Domino utilizaban muy comúnmente la técnica de reutilización de subformularios. Por ejemplo, un subformulario que incluía el título del formulario más el logo de la empresa, especialmente en las zonas de cabecera y pie de los formularios. Entonces, siempre que necesitábamos que apareciera el logo, se incluía un campo en el formulario principal que instanciaba el subformulario adecuado. Utilizando esta técnica, se ponía en práctica la técnica de la reutilización de partes de código.

Un problema que me encontrado al migrar una aplicación web escrita en código "clásico"(uso muy intensivo y reiterado de subformularios) del servidor Notes/Domino 7.0.2 a servidor Notes/Domino 8.5.3. Al ejecutar la aplicación y abrirse un formulario en el navegador se visualizaba un error 500 interno del servidor. En la consola de Domino se podría leer algo como ésto:

"HTTP Web Server: Application Exception - Duplicate Subform found.  A given subform cannot be used on the same form more than one time"

Este error aparece porque se ha utilizado un subformulario más de una vez en un mismo formulario. Para solventar este problema podemos utilizar a partir de la versión 8.5.2 de Domino la nueva variable notes.ini de servidor DominoAllowDuplicateSubForms=1

Con esto activamos la compatibilidad de estas aplicaciones web "antiguas" que utilizan el mismo subformulario en más de una ocasión en un mismo formulario. Por cierto, el uso de subformularios recursivos no está permitido.
Todo esto ocurre porque a partir de la versión 8 el servidor web Domino es más estricto y comprueba que no existan subformularios repetidos en un mismo formulario. En la versión Domino 7.x no se comprobaba esta duplicidad.

Os incluímos la información que podéis encontrar aquí

SPR# CTSI7FKSLK - A new notes.ini, DominoAllowDuplicateSubforms, is introduced to provide backward compatibility to those web applications that include a subform on a form multiple times.

Background:
It is incorrect to include a subform on a form (directly or indirectly) more than once. This is because the subform can contain fields, actions and events that if on a form more than once would be ambiguous.
Until v8.0, the web server did not check for this condition. On 8.0 a check was added, and opening forms with duplicate subforms will cause a runtime error and return an error page to the user.
Some web applications developed before v8 take advantage of duplicate subforms for things like page headers and footers. In these cases it is likely that none of the ambiguous constructs are used.
When upgrading to domino v8, these applications are now showing an error page.

Using the fix:
Setting DominoAllowDuplicateSubforms=1 will instruct the domino server to allow duplicate subforms, in a manner similar to previous v8 behavior. In order to prevent system crash, RECURSIVE subform includes (a subform includes itself either directly or indirectly) are still disallowed.

aplicaciones

Migrando aplicaciones a servidores Domino 8.x.x