Mejoras en el desarrollo de aplicaciones para Lotus Notes/Domino 6.
La Candidate Release de Lotus Notes/Domino 6 es ya una versión prácticamente definitiva y si la descargáis podréis comprobar como su funcionamiento es muy estable (cosa que todas las versiones beta de este producto han demostrado de forma contundente). Debido a ello, y después de comprobar las mejoras que ofrece esta nueva versión, os las relaciono a continuación, haciendo hincapié en las que afectan al entorno de desarrollo.
Como podréis comprobar si probáis esta nueva versión, las mejoras en el Domino Designer son significativas, desde los tooltips que aparecen al seleccionar un método en LotusScript y que proporcionan información acerca de los parámetros de la función, hasta las ventanitas de selección de fórmulas que aparecen al teclear el carácter arroba (@).
De todos modos, las mejoras se encuentran en los propios lenguajes de programación en sí, desde el soporte de JavaScript 1.4, hasta la reprogramación completa del intérprete de fórmulas lo que proporciona mayor velocidad en la ejecución de las mismas. Además se ha incorporado (¡por fin!) un depurador de código remoto para seguir la ejecución de funciones LotusScript que se ejecutan en un servidor.
Para finalizar he publicado una lista con las mejoras incluidas, tanto a nivel de lenguaje de fórmulas como a nivel de LotusScript. Tened en cuenta que estas mejoras se encuentran incluidas en la Candidate Release 6 y alguna de ellas podría variar su funcionamiento o no estar incluida en la versión final del producto. Quizás sea un poco pronto para empezar a tratar temas de la versión 6 pero por lo menos podremos ir haciendo boca.
| Lenguaje de fórmulas | |
| @Compare | Compara el orden alfabético de dos listas. |
| @Count | Devuelve el número total de elementos de una lista. |
| @DoWhile | Ejecuta una o más instrucciones de forma iterativa mientras la condición sea verdadera. Se comprueba la condición después de ejecutar las instrucciones. |
| @FileDir | Devuelve el nombre del directorio del path de un archivo. |
| @For | Ejecuta una o más instrucciones de forma iterativa mientras la condición sea verdadera. Se inicializa un contador. |
| @GetField | Devuelve el valor de un campo. |
| @GetFocusTable | Devuelve el nombre, la fila o columna de la tabla donde se encuentre el cursor. |
| @GetHTTPHeader | Devuelve el valor de la cabecera de HTTP en una aplicación Web. |
| @IfError | Devuelve una cadena vacía o el valor alternativo si la instrucción da error. |
| @Max | Devuelve el mayor número de una lista sencilla, o el más grande de dos números o de dos listas numéricas. |
| @Min | Devuelve el menor número de una lista sencilla, o el más pequeño de dos números o de dos lista numéricas. |
| @Sort | Ordena una lista. |
| @StatusBar | Escribe mensajes en la barra de estado del cliente Notes. |
| @ThisName | Devuelve el nombre del campo del formulario donde se encuentre el cursor. |
| @ThisValue | Devuelve el valor del campo del formulario donde se encuentre el cursor. |
| @ToNumber | Convierte un valor a número. |
| @Transform | Aplica una fórmula a cada uno de los elementos de una lista y devuelve el resultado en una lista. |
| @URLQueryString | Devuelve el URL actual y sus parámetros en una aplicación Web. |
| @WebDBName | Devuelve el nombre de la base de datos actual para incluirla en el URL. |
| @While | Ejecuta una o más instrucciones de forma iterativa mientras la condición sea verdadera. Se comprueba la condición antes de ejecutar las instrucciones. |
| Lenguaje LotusScript | |
| Boolean | Nuevo tipo de dato para contener los valores True (-1) o False (0). |
| Byte | Nuevo tipo de dato para contener un valor de tipo Byte (numérico sin signo). |
| Fix | Nueva función que devuelve la parte entera de un número. |
| Fraction | Nueva función que devuelve la parte fracional de un número. |
| Split | Nueva función que devuelve un array de strings con los substrings del string especificado. |
| Split | Nueva función que devuelve un array de strings con los substrings del string especificado. |
| Clases LotusScript generales | |
| NotesAdministrationProcess | Acceso a los datos del proceso de administración (tarea adminp). |
| NotesColorObject | Acceso a los colores en el entorno Domino. |
| NotesDomParser | Procesar XML mediante el estándar Document Object Model (DOM). |
| NotesDXLExporter | Convierte datos de Domino a XML de Domino (DXL). |
| NotesDXLImporter | Convierte datos de XML de Domino (DXL) a datos de Domino. |
| NotesMIMEHeader | Permite trabajar con los datos de la cabecera de los mensajes MIME. |
| NotesSaxParser | Permite procesar datos XML utilizando SAX (Simple API for XML). |
| NotesStream | Permite trabajar con streams de caracteres o de datos binarios. |
| NotesUIScheduler | Permite trabajar con las propiedades del componente scheduler insertado en un documento Notes. |
| NotesXMLProcesor | Es la clase base que contiene las propiedades y métodos comunes a todas las clases de procesamiento de datos XML. |
| NotesXMLTransformer | Permite transformar datos de XML de Domino (DXL) via XSLT. |
| Clases LotusScript para manejo de campos de texto enriquecido | |
| NotesRichTextDocLink | Permite trabajar con los enlaces situados dentro de campos RTF. |
| NotesRichTextNavigator | Permite navegar por los elementos situados dentro de campos RTF. |
| NotesRichTextRange | Permite trabajar con una secuencia de elementos situados dentro de campos RTF. |
| NotesRichTextSection | Permite trabajar con zonas colapsables dentro de campos RTF. |
| NotesRichTextTable | Permite trabajar con tablas incrustadas dentro de campos RTF. |
| NotesRichTextTable | Permite trabajar con tablas incrustadas dentro de campos RTF. |
| Clases LotusScript exclusivas para trabajar con XML | |
| NotesDOMAttributeNode | Representa un atributo en un objeto NotesDOMElementNode. |
| NotesDOMCDataSectionNode | Representa una sección CDATA en un fuente de datos XML. |
| NotesDOMCharacterDataNode | Representa un dato de tipo carácter en un nodo DOM. |
| NotesDOMCommentNode | Representa un comentario en un documento XML. |
| NotesDOMDocumentNode | Representa el documento XML completo. |
| NotesDOMDocumentTypeNode | Lista de entidades que están definidas por el documento XML. |
| NotesDOMElementNode | Representa un elemento en un documento XML. |
| NotesDOMEntityNode | Representa un nodo de entidad en un documento XML. |
| NotesDOMNode | Representa un nodo simple en la estructura de árbol del documento. |
| NotesDOMNodeList | Usada por los métodos de la clase NotesDOMNode para devolver listas de nodos hijos del elemento actual. |
| NotesDOMTextNode | Representa el contenido textual de un elemento o de un atributo. |
| NotesSAXAttributeList | Representa los atributos de un elemento. |
| NotesSAXException | Representa información sobre errores o avisos que pueden ocurrir durante el proceso de "parsing" del SAX. |
Como habéis podido comprobar la lista de novedades es elevada aunque todavía existen muchas más, como el soporte completo de Java y las mejoras en los distintos elementos de diseño (vistas, elementos incrustados, etc). Quizás más adelante publique algún recurso sobre estas nuevas posibilidades aunque seguramente esperaré a la versión final para comprobar que la lista de novedades anunciadas se mantiene o, incluso se amplia.
Nota: Esta lista de novedades ha sido extraída de diversas fuentes, entre ellas se encuentra IBM DeveloperWorks: Lotus y la revista especializada Lotus e.ProMag.com.
