viernes, 30 de mayo de 2008

Edición rápida desde Sharepoint Designer

El otro día un compañero a través de nuestra herramienta de consulta de conocimiento técnico en Renacimiento nos preguntaba como realizar cambios en las páginas de sharepoint de manera que no saliera la típica distribución.

Os pongo lo que le propuse en un post rápido:

Vista de datos personalizada

Wss3 nos permite visualizar elementos de nuestro sitio con un estilo y una distribución personalizada mediante xsl.

Para ello podemos utilizar el DataFormWebPart.

Seleccionamos Inserta->Controles de Sharepoint->Vista de datos, a continuación nos aparecerá la librería de orígenes de datos configuradas en el sitio actual.

Seleccionamos la lista que queremos mostrar, botón derecho y seleccionamos "Mostrar datos".

A continuación nos aparecen los campos de la lista. Seleccionamos los que deseemos y en la parte superior pulsamos "Insertar campos seleccionados como.."

Ahí podremos insertar una vista de un elemento o varios.

Una vez configurado el origen de datos del webpart, podremos editar el xsl, añadiendo, moviendo lo que queramos.

Con Xsl podremos aplicar sobre el contenido condiciones if, bucles y fórmulas.

El DataFormWebPart además nos permite aplicar filtros, parámetros, conexiones, orden, nº de elementos visibles, paginación.

Formulario de edición personalizado

Si queremos que en nuestra lista al editar/visualizar un elemento aparezca un formulario con la distribución propia podemos utilizar los formularios de lista personalizada de Shrapoint.

Para ello iremos a la opción Insertar-> Controles de sharepoint ->Formulario de Lista personalizada.

A continuación nos preguntará la lista para la que queremos el formulario, y el tipo de formulario.

Una vez seleccionado, nos construirá un formulario con los campos de la lista, donde podremos cambiarlos, modificarlos, añadir, borrar, etc.

Incluso podemos hacer que un campo solo sea lectura.

Una vez terminado el formulario tendremos que configurar la lista para que cuando entre a editar/visualizar un elemento nos redirija a nuestro formulario de forma automática.

En el árbol de elementos del sitio, seleccionaremos la lista, botón derecho, propiedades.

Seleccionamos "Archivos auxiliares" y "elemento" (en caso de haber seleccionado anteriormente "elemento" en el formulario), y buscaremos el fichero para la acción que hayamos creado (edición, nuevo, visualización).

De esta manera por ejemplo, cada vez que se edite un elemento o se acceda a la dirección "Lists/MiLista/EditForm.aspx" nos redireccionará a nuestra página automáticamente.



Si vais a modificar el DispForm de una lista directamente con este mecanismo OJO!!!!, hay un bug o error o algún tipo de problema que hace que si modificas la página estándar DispForm se estropea la referencia de la lista y ya no puedes visualizar los elementos desde el formulario AllItems.aspx.

Para solucionarlo, teneis que hacer una copia de DispForm, modificar la copia y después asignar el nuevo fichero a la acción DispForm de la lista.

También tener en cuenta que cuando cambias un fichero con Designer lo estáis poniendo unghosted, por lo que esto solo vale para pequeños portales o demos. No os aconsejo hacer un proyecto serio solo utilizando Designer.

6 comentarios:

Carlos dijo...

Hola Mario,

excelente blog!! Siguiendo estos pasos para modificar la página Dispform.aspx y a la hora de cambiar en las propiedades de la lista dispform.aspx por custom_dispform.aspx, me encuentro con que estas opciones me aparecen en gris y aunque me deja pulsar el botón examinar y elegir la página personalizada, parece no grabarse los cambios y al abrir de nuevo la página de propiedades de lista, aparece el recuadro vacío.
Alguna sugerencia?
pd.- estoy con un usuario administrador del site.

Mario Cortés Flores dijo...

Hola Carlos,
Cuando seleccionas la página para la acción de visualización, antes debes indicar el valor "Elemento" en el campo "Tipo de elemento que se vaya a utilizar para el formulario". Una vez seleccionado ya puedes modificar la url de la página de DispForm.

Carlos dijo...

Ahora sí se modifica la url. Muchas gracias Mario. :D

Juan Manuel dijo...

Hola que tal Mario, de acuerdo al tema que tocaste en tu blog tengo una pregunta, necesito que dos grupos de usuarios vean diferentes archivos de la misma biblioteca, por lo cual hice una vista alterna, pero no se cómo asignar cada vista a cada grupo, podrías ayudarme?

Muchas gracias.

Mario Cortés Flores dijo...

Hola Juan, no se puede aplicar ningún tipo de seguridad sobre las vistas de Sharepoint. Lo que si puedes hacer aplicar la seguridad sobre el contenido, es decir, puedes tener una única vista y modificar la seguridad sobre los documentos.

Si tienes MOSS, también puedes utilizar las audiencias, de manera que puedas tener las dos vistas y con las audiencias las muestras en función del usuario.

http://office.microsoft.com/es-es/sharepointserver/HA101690533082.aspx

Juan Manuel dijo...

Okas, lo intento y te comento qué tal me fue.

Muchas gracias, que estés bien.