Otro Bicho en MOSS

Los últimos tiempos bastante ocupado programando el nuevo Microsoft Office SharePoint Server (MOSS, que nombre mas feo). Fuera de un par de cosas interesantes, como, por ejemplo, que (casi) todo el código escrito para SharePoint 2003 sigue funcionando sin problemas, me acabo de encontrar un bicho mas … a propósito, como se puede traducir “Bug” al español… hmmmm… a Microsoft le ha dado por traducir de todo al español, excepto libros y cosas de esas interesantes, y han convertido, por ejemplo, a simples “WebParts” en “Elementos Web”, con lo que se pierde el sentido completamente. Como traducirían ellos el concepto de “Bug”?. A “Debugging” lo han despanzurrado con un rotundo “Depurar”, así que a un “bug” lo deberíamos llamar un “pura”…

Pero bueno, de regreso a MOSS (terrible nombre…). Dos de las cosas nuevas e interesantes son las “Columnas de Sitio” y los “Tipos de Contenido”. Dicho en dos palabras, “Columnas de Sitio” (“SiteColumns”, en simple ingles), son campos especialmente definidos que se pueden usar por todos lados, y “Tipos de Contenido” (“ContentTypes”, por si no se habían dado cuenta), son colecciones de campos que se pueden usar en Listas o Librerías. Bastante bien pensado, tengo que admitirlo. Y funciona también bastante bien… hasta que intentas programarlo…

Crear un nuevo ContentType (no me tilden de traidor si uso el nombre en ingles, es simplemente mas corto para escribir) es bastante fácil: haces un objeto con la colección de ContentTypes, y le añades el nuevo tipo:

    SPContentTypeCollection todosMisTipos = miWeb.ContentTypes;
    SPContentType miTipo = new SPContentType(null, todosMisTipos, “MiPropioTipo”);
    todosMisTipos.Add(miTipo);

(miWeb es del tipo SPWeb, y viene del contexto del Portal). Todo funciona sin problemas. Al intentar agregarle un SiteColumn a nuestro ContentType:

    SPFieldCollection misCampos = miWeb.Fields;
    SPField miCampo = new SPField(misCampos, “Asunto”);
    miTipo.Fields.Add(miCampo);

es decir, haciendo un objeto con uno de campos que ya existen, y agregándoselo al ContentType que acabamos de crear todo deja de ser tan fácil, y nuestro programa deja de funcionar. SharePoint devuelve un error “Esta funcionalidad no está disponible para colecciones de campos que no están asociadas a una lista”.

Intentándolo con los otros constructores del método:

    miTipo.Fields.Add(“Asunto”, SPFieldType.Text, true);
    miTipo.Fields.CreateNewField(“Asunto”, “Asunto”);

produce el mismo error.

Microsoft se quejaba en los últimos tiempos que no habían recibido suficiente respuesta de los usuarios beta. Pero la única forma de enviar este tipo de problemas a Microsoft es por medio de un E-mail a wssfb@microsoft.com , desde donde nunca mas se oye algo, ni siquiera una confirmación de que han recibido el E-mail. Entonces, porque se quejan? Ya hasta le han puesto un precio a los pobres inocentes que les quieren probar el producto gratis y por nada. Es decir, tienes que pagar para ser probador Beta, les ahorras un montón de dinero buscando los bichos en el producto, luego pagas otro montón por el producto que tu mismo ayudaste a producir, y encima se te quejan porque no mandas mas comentarios… el mundo al revés, o me equivoco?

A propósito, no les había comentado que el nombre “MOSS” no me gusta nada?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *