miércoles, 19 de agosto de 2009

Sharepoint? Cómo diseño, desarrollo, personalizo, etc. …?

Me he encontrado varias veces con preguntas tales como: ¿Cómo se diseña en sharepoint? ¿Qué herramientas hay? ¿Sharepoint Designer? ¿Visual Studio? Hay muchas respuestas a esto, pero intentaré dar una muy breve respuesta…

1) Browser

Desde el Internet Explorer, contando con los permisos de Diseño o Control Total, se pueden hacer un montón de cosas en Sharepoint. Esto está pensado para un usuario final, es muy amigable, y todos los cambios se registran en la base de datos. ¿Qué se puede hacer?

  • Crear listas:
    • Las listas mantienen información
    • Pueden especificar sus columnas
    • Pueden crear diferentes vistas
  • Crear páginas con webparts :
    • Sharepoint provee varias webparts "out of the box", para ver listas, bibliotecas de documentos, insertar código de cliente (muy poderoso), etc, etc, etc.
    • Las web parts de pueden conectar entre sí para establecer una relación maestro detalle
  • Crear bibliotecas de documentos
  • Personalizar el menú y las solapas
  • Establecer los permisos
  • Crear sitios y sub-sitios.

Esto es lo básico, pero desde el browser se puede hacer muchísimo más. Les recomiendo que lean este blog: http://www.endusersharepoint.com/

2) Sharepoint Designer

Este es el segundo paso, permite hacer más que el browser, pero lo que hagamos sigue quedando en la base de datos (aunque pensemos que estemos creando una página en el file system). ¿Qué se puede hacer?

  • Modificar estilos
  • Modificar las páginas que Sharepoint crea automáticamente
  • Crear páginas más personalizadas
  • Crear workflows!! (mediante un asistente, limitado, pero poderoso)

Sharepoint Designer sirve, pero es para usarlo con cuidado. Y deben descartarlo si desean hacer soluciones de negocio, porque es más difícil realizar el deployment de las aplicaciones, ya que están trabajando directamente sobre el ambiente real.

3) Visual Studio

Visual Studio es necesario cuando se deseen hacer cosas imposibles de hacer con las herramientas anteriores y/o cuándo se deseen armar aplicaciones más sofisticadas, con control de versiones y con la posibilidad de empaquetarlas e instalarlas. ¿Qué se puede hacer? Mucho, pero resumo un poco:

  • Crear Webparts
  • Crear Ajax Webparts
  • Creae Workflows más sofisticados
  • Crear Páginas
  • Crear eventos
  • Crear campos custom
  • Interactuar con los datos de las listas vía el lenguaje de consultas CAML
  • Hacer programáticamente todo lo que se hace con las herramientas anteriores.
  • Automatizar tareas de administración.
  • Etc, etc, etc, etc, …

Bien, ese fue un breve resumen, hasta la próxima.

40 comentarios:

hola amigo. tengo una duda, no llevo mucho tiempo en esto del sharepoint, necesito:
1º saber como abrir un site de sharepoint con el visual studio (2005 o 2008 da igual)
2º como añadir .cs a las paginas de asp del site.

este blog me ha servido de mucho, muchas gracias
creo que tengo instaladas todas las herramientas pero no puedo continuar, estoy estancado.

Hola Daniel, respondo tus consultas.

1) Hasta donde sé no abres un sitio de sharepoint desde Visual Studio. Las páginas de un sitio de sharepoint están en la base de datos y lo puedes abrir desde Sharepoint Designer. Visual Studio lo usas para extender tu aplicación (no accede a la base de datos, sino al file system). ¿Qué es lo que deseas hacer? ¿Por qué motivo quieres abrirlo?

2)Hay muchas maneras de trabajar con estilos en sharepoint: Master pages, temas y hojas de estilo. Te paso un link de este blog que puede ayudarte:

http://surpoint.blogspot.com/2009/07/cambios-de-estilos-en-sharepoint.html

Este link toca sólo una de las tantas manderas, pero personalmente me pareció una de las más interesantes.

Saludos, Juan Pablo.-

lo primero muxas gracias por contestar, no lo esperaba tan pronto.

bueno la verdad es que nunca he trabajado con sharepoint y las paginas de asp con las que hemos estado metidos, han sido siempre con codigo de c# por debajo, (no se si me explico). por esa razon quiero toquetear el codigo de la pagina atraves del visual studio.

para añadir funciones programaticamente.

has dixo que visual studio se usa para extender la aplicacion, pero es que el visual (a lo mejor no tengo todo lo necesario) me dice que el Visual web Developer no admite la apertura de sitios web de Sharepoint. 8supongo que por lo que me has dixo de que las paginas estan en la bbdd.

y otra cosa, cuando he puesto .cs me referia a c#, pero me viene de gran ayuda lo que me has puesto de los estilos.

muchas gracias de nuevo.

Me acabo de dar cuenta... justo lo que haces en el cambio de estilos... como has conseguido entrar en el evento donde se cambian. supongo que podras crear eventos nuevos y modificar los existentes, eso es una de las cosas que kiero hacer.

Si Daniel, puedes crear eventos y es una de las ventajas de extender sharepoint. Los eventos más usuados son:
- Los que se utilizan al agregar o activar una carcaterística (addin) al sitio
- Los que se utilizan al crear, modificar o eliminar elementos en una lista o documentos.

El sitio no vas a poder abrirlo desde el visual studio. El concepto es extenerlo, pero se parte de un proyecto vacío. Aquí puedes ver un ejemplo:

http://sharepoint-puntodeencuentro.blogspot.com/

Si me cuentás un poco más lo que necesitas quizá puede guiarte un poco mejor.

Finalmente, te recomiendo este libro si quieres entender la parte conceptual de fondo:

http://www.microsoft.com/learning/en/us/book.aspx?ID=9692&locale=en-us

Saludos, Juan Pablo.

Muchas gracias, perdona por no haberte contestado antes, he tenido una semanita dura de estudio y no he tocado el pc. voy a probar lo que me dices y te cuento. muchas gracias de nuevo.

Hola de nuevo, gracias por los comentarios anteriores, los he probado y me ha valido bastante.
Te explico un poco los principales problemas que tengo:
Quiero desarrollar una aplicación que modifique y manipule documentos .pdf y .tif, principalmente que los visualice y que les añada una firma electronica.
-Utilizo una Image Web Part para visualizar, pero los formatos no son correctos, sabes alguna otra manera??
-Sabes como autoseleccionar elementos de un List Web Part, es decir, despues de aplicar un filtro que aparezca seleccionado por defecto el primero de la lista.

Muchas Gracias de todos mondos, disculpa las molestias.

Realmente no he usado webparts para pdf o tif. Buscando en google, encontré una para pfd, fijate si es buena y me cuentas por favor:

http://www.synergyonline.com/blog/blog-moss/Lists/Posts/Post.aspx?ID=46

Por el otro tema, ¿a qué te refieres con seleccionar?

Hola Juan, ese webpart ya lo habia encontrado y no nos vale por el modo en que se seleccionan los ficheros a visualizar.
En cuanto a seleccionar, cuando creas una conexion entre una list y un image web part se te agrega un radio button en cada elemento de la lista, estos botones sirven para seleccionar que elemento se quiere mostrar en el image. Queremos que se automarque, o autoseleccione el primero de la lista.
Que metodo utilizas tu para visualizar PDF sin webpart?
Un saludo

hola de nuevo, se que te estoy haciendo un lio, mas o menos me voy haciendo a la idea de como conseguir cosas al meterme en foros y tal.

pero siempre me encuentro con el mismo problema, no se como instalar las extensions del visual studio y me kedo atascado en el mismo punto.

tu sabrias decirme que archivos necesitaria??

y otra pregunta. tu dices que con visual studio es posible crear paginas para aplicaciones de sharepoint. pero COMO HACERLO? no tengo ni idea.

muchas gracias

Hola Dani, fijate de bajarte el instalador de las extensiones para VS desde el siguiente enlace: http://blogs.msdn.com/sharepoint/archive/2008/06/04/announcing-the-vsewss-version-1-2.aspx

Atención! Si usas Visual Studio 2005 debería hacerlo con la versión 1.1 (el enlace de descarga se encuentra en el mismo artículo).

Perdón por no encontrarlo en Español, que es la filosofía de nuestro Blog.

Saludos, Sebastián.-

Gracias Sebastian, ya esta instalado correctamente. Ahora voy a pegarme un poco con los nuevos proyectos habilitados(definicion de sitio de grupo y elemento web principalmente).
Seguire preguntando por aqui.
Muchas gracias.

Hola Daniel, fijate si este link (en inglés)puede ayudarte con la creación de application pages:

http://msdn.microsoft.com/en-us/library/bb418732.aspx

De todas maneras, si puedes, te recomiendo que consigas este libro. Nosotros lo hemos aprendido de ahí:

http://www.microsoft.com/learning/en/us/book.aspx?ID=9692&locale=en-us

Cuando empieces con la primera application page avísanos y nos consultas. A mi mode de ver las application pages son la forma más simple de dar los primeros pasos en programación con Sharepoint.

ok, muchas gracias.

respecto a lo de los libros, intento meterme pero me da error en la pagina.

Daniel, fijate en este otro link:
http://www.amazon.com/Microsoft-Windows-SharePoint-Services-Developer/dp/0735623201
Saludos, Juan Pablo...

Muy buenas de nuevo, hacia tiempo que no escribia. ;)
el problema que te comente ya lo he resulto, encontre la manera de crear los sites y las listas desde visual, atraves de las extension.

ahora queria preguntarte otra duda.
Donde se alojan los elementos de una lista???
por ejemplo si subo documentos o imagenes a una lista donde los guarda sharepoint? lo necesito por que tengo que hacer un sistema de firma electronica de documentos y mas o menos tengo todo montado menos la parte en la que tengo que enviar el binario del archivo.

muchas gracias

Hola Daniel, cómo estás tanto tiempo? Los archivos se guardan en la base de datos. Saludos.

Hola.

He estado leyendo el articulo y los comentarios y tengo unas cuantas dudas.

Yo necesito crear distintas aplicaciones para sharepoint, así como diferentes scripts que hagan cosas automaticamente.

Sé que se puede Visual Studio (tengo el 2008), pero mi tengo dudas tales como:

Empiezo un proyecto nuevo con el VS2008? con que lenguaje realizo los programas para sharepoint? como probar si funcionan?

Como ves, estoy muy verde en este tema...

Javi

Hola Javier, efectivamente puedes empezar a trabajar con VS2008. Te paso un link con un ejemplo de programa para sharepoint paso a paso. Dime si te sirve:

http://sharepoint-puntodeencuentro.blogspot.com/2008/09/registrar-un-evento-mediante-una.html

De todas maneras, te recomiendo que leas algo antes sobre cómo se programa en sharepoint porque es importante entender una serie de conceptos antes de empezar, cómo por ejemplo saber que páginas aspx se guardan en la base de datos y cuáles en el file system. Te recomiendo el libro con el cual aprendimos nosotros.

http://www.amazon.com/Microsoft-Windows-SharePoint-Services-Developer/dp/0735623201

Saludos, Juan Pablo...
PD: no dudes en seguir consultando.

Gracias Juan Pablo por la respuesta. Le echaré un ojo a todo lo que me dices y te comentaré los avances que hago, jeje.

Un saludo!

Hola Juan Pablo.

He estado leyendo todo lo que me has comentado, tanto el libro como la dirección web, y me sigue costando un montón ver programar para sharepoint (será que no tengo nada claro como trata los datos...)

Del libro he estado viendo sobretodo los dos primeros temas y después el tema sobre listas. Y sigue sin quedarme claro como maneja los datos sharepoint (no se si es que mi inglés es malo o si soy un negado...).

Te comento lo que quiero hacer, y si es posible deducirlo del libro o de algún manual.

Verás, yo tengo una lista, en la que un usuario mete una tarea, y unas horas (que deben ser igual a 7 con una o varias tareas):
tarea1: 5 horas
tarea2: 2 horas

Quiero realizar una aplicación para el sharepoint, que se active cada día a una hora (p.e. a las 20 horas) que por cada usuario que pueda introducir información, se calcule si para ese día, ya introdujo las horas correspondientes en su día. Y en caso de que no haya introducido las 7 horas, envíe una notificación.

¿Es eso posible?

Javi

Hola de nuevo. bueno tras investigar y muchos tutoriales conseguimos solventar los errores, ahora nos enfrentamos ante un nuevo problema.

necesito que una lista de sharepoint, me devuelva un item, para yo, transformarlo en binario y asi poder crear un xml para firma electronica.

mi dificultad reside en devolver el item de la lista, ya que no se que metodo utilizar ni como, ni como nombrar las querys.

en el agunos tutoriales hacen referencias a las id (guid) de las listas y de las vistas. pero en las vistas no se como nombrarlo. muchas gracias por la ayuda de antemano.

Javier, creo que la manera en que puedes realizar lo que necesitas es esta:
1) Crear un workflow que se active a una determinada hora del día
2) Una vez que se active, efectuar un spquery a la base de datos para calcular si el usuario ha reportado sus 7 horas
3) En caso que corresponda enviar un mail al usuario

Daniel, fijate si te sirve este ejemplo de cómo hacer un query:
http://surpoint.blogspot.com/2009/07/group-by-en-sharepoint.html

Me gustaria saber si teneis algun tutorial de como visualizar pdfs en una webpart, solo veo tutoriales por todos los lados de indexar, solo kiero visualizar un pdf. muchas gracias

Hola Peter:
Has probado este que menciono en uno de los comentarios?

http://www.synergyonline.com/blog/blog-moss/Lists/Posts/Post.aspx?ID=46

Realmente no tengo referencias ni buenas ni malas cómo para hacerte una recomendación. Si lo pruebas, por favor coméntanos cómo fue tu experiencia.
Saludos, Juan Pablo.-

hola, hace mucho que no escribia, solo decirte que la ayuda prestada sirvio de mucho, pero que cada vez hay mas complicaciones, esto es un JALEO. ;)

me gustaria que me recomendaras alguna pagina de CUSTOMS ACTIONS.

es muy complicado?

Hola Peter, cómo estas tanto tiempo?
Customs actions no es un tema muy complejo. Fijate si este artículo se surpoint te es útil para empezar. Contiene algunas explicaciones generales y algunos links que puedes consultar. Cualquier duda ya sabes, nos consultas o dejas un comentario en este artículo o en el que te estoy pasando.

http://surpoint.blogspot.com/2009/10/introduccion-caracteristicas-features.html

Saludos! Juan Pablo.

Un nuevo posts para los que siguen este post :)
http://surpoint.blogspot.com/2009/10/plataforma-de-desarrollo-de-sharepoint.html

hola,
sera que alguien me puede colaborar con un problema q tengo y es el siguiente:
tengo una aplicacion en asp.net y fue integrada en sharpoint pero cuando voy a visualizar el site no me coge el stylo y no me muestra las letras q tiene tildes ni la letra ñ.... agradezo los q me puedan ayudar grax.. mellos

Hola, es dificil saber con tan poca información. ¿Tienes ideas si las páginas de ASP están usando las páginas maestras de SharePoint?

Aquí tienes algo más de info al respecto:
http://surpoint.blogspot.com/2009/10/master-pages-en-sharepoint.html

Hola soy kike...

He estado leyendo los comentarios y creo q me pueden audar con mi situacion, y ps gracias de antemano.

En la empresa que trabajo tienen implementado sharepoint, pero no ha sido explotado al 100%, y lo que sucede es que estamos viendo la posibilidad de crear una aplicacion que gestione una serie de activos, y la intencion es ayudarnos de sharepoint hasta donde se pueda para crearla. Yo he desarrollado proyectos en java, JSP y PHP, pero para esto si estoy un poco perdido.

Me gustaria que me orienten un poco de hasta q punto sahrepoint me ayuda en esto, y hasta q punto hay que programar, ya que he visto tambien las plantillas de sitio pero ninguna me sirve.

Espero y me puedan ayudar, de antemano muchas gracias.

Hola Kike:

En principio te digo que es mucho lo que puedes hacer en SharePoint. Programando no tienes límites, pero sin programar puedes hacer mucho.

Te recomiendo que leas estos dos artículos. Seguro te serán útiles.

http://surpoint.blogspot.com/2009/10/plataforma-de-desarrollo-de-sharepoint.html

http://surpoint.blogspot.com/2010/04/middle-tier-un-metodo-alternativo-para.html

Si necesitas consultarme algo más específico, no dejes de contactarme a mi e-mail. Puedes encontrarlo en mi perfil.

Saludos!

Hola soy kike nuevamente, muchas gracias por tu ayuda es que he tenido mucha carga de trabajo y no tuve tiempo de revisar la respuesta, pero mil gracias.

Por lo pronto empesare con esto, pero mas delante talvez me vuelvan a ver por aca, de igual manera podria hacerlo via e-mail. Bueno me despido y gracias ... again =)

Necesito ayuda como puedo introducir varias imagenes en mi web part y que se vayan cambiando aleatoriamente en un determinado tiempo.

help !

Si lo que necesitás es un slider, hay mucha información en Internet, porque hay muchas variantes.

Te dejo una a modo de ejemplo. Cuentame si te sirve. Saludos!

http://davecavins.com/2009/12/css-tricks-anythingslider-in-sharepoint/

hola necesito ayuda para crear una aplicacion que sirva para sistema de reserva de salas y mande un correo con la informacion aa un administrador, solo que nunca he usado sharepoint y no se como empezar, solo es una qplicacion que será integrada en un portal interno de la empresa en que estoy..por favor ayudenme es muy urgente..les dejo mi correo para cualquier ayuda:
champion_azul789@hotmail.com.

Gracias.

hola! quiero hacer un carrusel de imágenes, donde se extraigan los url de las imágenes desde una lista q tengo en SharePoint y no se como realizarlo.. la verdad apenas soy nueva en esto de SharePoint y asp..alguna idea?? quiero hacer algo parecido a esto https://store.office.com/image-carousel-WA104092836.aspx?assetid=WA104092836&sourcecorrid=d4e69d7a-7d0c-44fe-af55-865b56c91893&searchapppos=1... Ya se q solo se puede y bajar y listo pero mi jefe quiere que lo haga yo :(

Mi recomendación:
1) Buscás el componente de carrusel en la web que más te guste. Algunos pagos, otros no. Es tu elección, porque es cuestión de gusto
2) Programas en SharePoint la lectura de los datos de la lista ya sea con Client Object Model o Server Model
3) Agregás el código en una página, por ejemplo dentro de una Content Editor Web Part

Publicar un comentario en la entrada