sábado, 24 de noviembre de 2007

Problemas al personalizar el NewForm.aspx de una lista en Sharepoint

Muchas veces por necesidades, nos vemos obligados a personalizar este Formulario NewForm.aspx asi como el EdithForm.aspx, por ejemplo el caso donde tuve que personalizar este formulario.
Construimos una web con sharepoint y hay una parte de ingreso de datos directo a una lista, nosotros muy inocentes subimos la web a Produccion y esa lista se empezo a llenar muy sospechozamente, entonces pensamos que podiamos estar siendo atacados por un bot o algo parecido, asi que decidimos ponerle un captcha a este formulario.
Para editarlo hice lo que cualquier programador/diseñador haria, abri con Office Sharepoint Designer mi site y busque este formulario, por suerte para mi lo encontre rapido en: SITE/List/MiLista/NewForm.aspx
Por suerte para mi, no paso nada y le pudimos agregar el captcha al formulario, no kedo muy bonito pero almenos ta tenia una barrera para los bot.
Quedo algo como esto.
Captcha en NewForm.aspx


Bueno la historia de como hicismos ese captcha y como lo pusimos es otra, luego posteo como hacerlo.
La cosa que funciono, pero por algun motivo tuve que volver a editar ese formulario y hice lo que nunca repito nunca, debemos hacer, borrarme el webpart que viene por defecto.
Si por algun motivo ya lo hicieron, entonces ya se habran dado cuenta de los problemas que eso significa.
  • Problema 1: "Invalid page URL:" cuando tratamos de agregar un crear un nuevo item a la lista.
  • Problema 2: Es lo mismo que el anterior pero la pagina de NewForm.aspx o se muestra vacia o muestra un error.
Como solucionarlo: si has llegado hasta aqui pensando que existe una forma dejame decirte que no, yo tuve esa misma descepcion, la solucion para que vuelva a funcionar ese NewForm.aspx es volviendo a crear la lista (si borrarla y crearla con el mismo nombre), pero antes de hacer esto, si tienen data improtante alli dentro con adjuntos y todo, les recomiendo que primero lo guarden en access y luego en access exporten la data a una lista, sera mas rapido, menos problemantico y mas transparente a ustedes.

Opcion para abrir con Access



Luego que ya tienen la data guardada en access, si han puesto un codigo script en la pagina cuando hagan este proceso se perdera, asi que mejor guardarlos en otro lado, lo mismo con estilos personalizados.
Ya creo estan listos para borrar la lista, asi que procedan.
Ahora en elAccess, existe una opcion que dice: Exportar a Lista de Sharepoint (Gracias a dios que existe esta opcion)
Opcion para Exportar a Lista de SharePoint




Sigan el Wizard y todo estara bien, si por algun motivo no borraron la lista y primero kisieron hacer esto entonces se debe haber creado otra lista con el mismo nombre mas un numero.
De esta manera tendra operativo nuevamente el NewForm.aspx de una lista, lo mismo para el EditForm.aspx
Pero si por algun motivo no quieren usar el webpart que tiene ese formulario, entonces borrenlo, (mentira, mentira), la mejor opcion es ocultarla doble click sobre el webpart y... mejor vean la imagen.

Ocultar el WebPart de NewItem
Ahora si, agregen todo que desen, pero no olviden el consejo, cuando personalicen uno de estos formulario: NewForm.aspx o EditForm.aspx nunca nunca borren.
Saludos.

1 comentario:

Anónimo dijo...

Buenas, no encuentro si publicaste algo sobre el captch en sì.. Si lo hiciste donde puedo encontrarlo gracias