Dudas sobre integrar aspx con Sharepoint

12/07/2005 - 16:31 por lboleda | Informe spam
Hola a todos: Voy a la carga con mis dudas... Leí un artículo de
J.Lopez. sobre consejos para integrar aspx en Sharepoint
(http://www.gavd.net/servers/sharepo...rt&itm4),
y como soy nuevo en esto, pues no entendí mucho. Les explico mi
problema a ver qué consejo me dan.
Siguiendo la explicación que me dio Gustavo en otro post, en una
página de Sharepoint creé un link en el menú de la izquierda para
"saltar" a una página diseñada por mi. Estoy necesitando que mi
página web, tenga el mismo formato de diseño de las páginas
Sharepoint y no sé como hacerlo.
Mi link en la página de Versiones tiene esta referencia:
"href="http://lbnetwork-sps/_layouts/MyGet...aspx"
Esta aplicación ASP.NET la estoy desarrollando con Visual Studio 2003
y está basada en C#, necesitaría que MyVersions.aspx se "vea" como
una página Sharepoint (header con el logo, menú de la izquierda,
links a las Areas, colores, etc) y esto debe ser dinámico porque el
usuario puede haber modificado la apariencia de su Sharepoint para que
muestre el logo de su empresa, o los colores, etc.
Alguien me puede ayudar, por favor
Saludos
Luis

Preguntas similare

Leer las respuestas

#6 lboleda
13/07/2005 - 16:43 | Informe spam
Hola Gustavo, te contesté tu post, pero no sé por qué todavía no ha
salido mi respuesta, trataré de volverte a contestar. El asunto es que
con lo del ghost me has dejado "frito" pues lo que he hecho hasta ahora
entonces no sirve para nada.
Yo necesito que la página web que desarrolle sea dinámica, es decir,
que se adapte a los cambios de diseño del sitio Sharepoint (si el
usuario quiere cambiar los banners, los colores, lo que sea, pues yo
necesito que mi página refleje esos cambios)
Por otra parte, esta página sólo será accesada desde el link que me
enseñaste a poner en la página versiones.aspx del Sharepoint, es
decir, aunque está integrada al Sharepoint, no puede aparecer en
ninguna otra página su enlace, solo en versiiones.aspx.
A esta página mia, necesito ponerle una Web page viewer Web Part, para
en esa zona yo pueda mostrar una página ASP.NET desarrollada en
VisualStudio, que sea la que haga el "trabajo sucio", es decir, una
pagina que yo programaré y que hará lo que yo quiero, olvidándome
del diseño y demás, porque eso va a estar asegurado por el esqueleto
externo. Para poder poner una WebPart en mi página, necesito editarla
ya sea con Frontpage o cualquier otro chisme, y entonces eso hará que
pierda lo dinámico del diseño de la página.
Traté de "fantasmar" mi página utilizando la recomendación de tu
artículo:
(UPDATE Docs
SET Content = NULL, MetaInfo = NULL
WHERE (Id = Ž[GUID de la pagina]Ž)
pero no logré hacerlo, porque aunque el SQL me dice que modificó el
artículo, cuando vuelvo a ejecutar el GhostCheck de tu segundo
artículo, me sigue diciendo que la página está "Desfantasmada", a
pesar de haber salvado todo y reiniciado el IIS.
Por favor, cualquier sugerencia la agradeceré enormemente para ver si
salgo de este atolladero.
Saludos y mucha suerte
Luis
Respuesta Responder a este mensaje
#7 lboleda
14/07/2005 - 15:02 | Informe spam
Hola Gustavo, muchisimas gracias por tu respuesta, por alguna razón
mis mensajes no salían y hoy fue que pude leer los 2 míos (en orden
inverso :-) ) y la respuesta tuya. Parece que a mi me toca utilizar el
"hard way" para resolver las cosas. Estoy haciendo 2 cosas paralelas
para quedarme con la mejor al final:
1.- Estoy modificando directamente la página versiones.aspx para
ponerle mi código detrás del código propio de ella, en este caso ya
no necesitaría el link que me enseñaste a crear.
2.- Estoy creando una página aspx propia mía a la brava, robándome
el código de versiones.aspx para conservar el formato, que se llama
myversions.aspx que muestre lo que me interesa a mi, y a esta página
llegaría a través del link en la página versiones.aspx.
La primera variante no me gusta mucho, creo que la segunda es la mejor,
pero esta segunda página tendría más sentido si lograra meterla en
un proyecto asp.net de visual studio, para esconder mi código en la
DLL, pero tengo una duda: cuando yo creo un proyecto asp.net la primera
línea de la página asp dice:
<%@ Page language="c#" Codebehind="MyGV.aspx.cs"
AutoEventWireup="false" Inherits="MyGetVersions.MyGV" %>
mientras en una pagina asp de Sharepoint debe decir:
<%@ Page Language="C#"
Inherits="Microsoft.SharePoint.ApplicationPages.ListPage"
ValidateRequest="False" %>
Me preocupa el asunto del Inherits, ¿qué puedes decirme de eso?
Otra idea sería si pudiera agregarle a versiones.aspx un Viewer Web
Part al final de su código, y ahí lanzar un asp mío... Esto sería
genial, pero no tengo ni idea de cómo insertarle esa Web Part a
versiones.aspx, que es una página independiente, sería ponérsela a
mano, editando el código en Notepad, y poniendo las instrucciones
necesarias para mostrar la Web Part. Si tienes una idea de esto te
agradecería cualquier sugerencia.
Mi hermano, demás está decirte que te agradezco enormemente todo el
tiempo que me dedicas y los conocimientos que pones a disposición de
todos nosotros.

Saludos y buena suerte
Luis
Respuesta Responder a este mensaje
#8 Gustavo
14/07/2005 - 15:46 | Informe spam
Hola Luis,
En punto 1 y 2 tienes que tener en cuenta que un futuro Service Pack de SPS
puede modificar la pagina versiones.aspx sin pedirte permiso, lo que ignifica
que los cambios y nueva funcionalidad que le hagas desapareceran. El riesgo
no es grande, pero Microsoft no garantiza que este tipo de paginas no seran
modificadas en el futuro.
A versiones.aspx no le puedes agregar asi nomas un Viewer WebPart, pues la
pagina no tiene zonas para mostrar WebParts. En este caso, la WebPart se
comportaria como un WebControl, con lo que pierdes la posibilidad de
indicarle que utilice un URL.
Si quieres usar un Viewer WebPart, probablemente lo mas facil es que hagas
un nuevo sitio en tu portal con una sola WebPart (el Viewer WP), la WebPart
la conectas a la pagina aspx que tu estas haciendo, y el link que haces en
versiones.aspx te redirige al nuevo sitio.
En cuanto a "esconder" tu codigo en un dll, siempre que creas una pagina
aspx para SharePoint tienes que crear un dll, que es el que contiene el
codigo compilado. El SDK te indica en que directorio tienes que instalar el
dll para que SPS lo reconozca. La instruccion "Inherits" acopla el archivo
aspx (que no es mas que un archivo ASCII), con la clase que contiene la
funcionalidad (la clase principal del NameSpace de tu dll). Todo funciona
bien en la forma que VisualStudio lo genera, asi que no tienes por que
preocuparte. Sigue las instrucciones del SDK, y todo saldra bien.
Un gusto en ayudarte,
Suerte,
Gustavo
http://www.gavd.net/servers/default.aspx


"lboleda" wrote:

Hola Gustavo, muchisimas gracias por tu respuesta, por alguna razón
mis mensajes no salían y hoy fue que pude leer los 2 míos (en orden
inverso :-) ) y la respuesta tuya. Parece que a mi me toca utilizar el
"hard way" para resolver las cosas. Estoy haciendo 2 cosas paralelas
para quedarme con la mejor al final:
1.- Estoy modificando directamente la página versiones.aspx para
ponerle mi código detrás del código propio de ella, en este caso ya
no necesitaría el link que me enseñaste a crear.
2.- Estoy creando una página aspx propia mía a la brava, robándome
el código de versiones.aspx para conservar el formato, que se llama
myversions.aspx que muestre lo que me interesa a mi, y a esta página
llegaría a través del link en la página versiones.aspx.
La primera variante no me gusta mucho, creo que la segunda es la mejor,
pero esta segunda página tendría más sentido si lograra meterla en
un proyecto asp.net de visual studio, para esconder mi código en la
DLL, pero tengo una duda: cuando yo creo un proyecto asp.net la primera
línea de la página asp dice:
<%@ Page language="c#" Codebehind="MyGV.aspx.cs"
AutoEventWireup="false" Inherits="MyGetVersions.MyGV" %>
mientras en una pagina asp de Sharepoint debe decir:
<%@ Page Language="C#"
Inherits="Microsoft.SharePoint.ApplicationPages.ListPage"
ValidateRequest="False" %>
Me preocupa el asunto del Inherits, ¿qué puedes decirme de eso?
Otra idea sería si pudiera agregarle a versiones.aspx un Viewer Web
Part al final de su código, y ahí lanzar un asp mío... Esto sería
genial, pero no tengo ni idea de cómo insertarle esa Web Part a
versiones.aspx, que es una página independiente, sería ponérsela a
mano, editando el código en Notepad, y poniendo las instrucciones
necesarias para mostrar la Web Part. Si tienes una idea de esto te
agradecería cualquier sugerencia.
Mi hermano, demás está decirte que te agradezco enormemente todo el
tiempo que me dedicas y los conocimientos que pones a disposición de
todos nosotros.

Saludos y buena suerte
Luis


Respuesta Responder a este mensaje
#9 lboleda
14/07/2005 - 16:26 | Informe spam
Hola Gustavo, como siempre dando en el clavo... Bueno, creo que esta
vez encontré la solución para poner una WebPart a mano, yo al menos
lo probé con mi Viewer Web Part, que muestra un URL mío y funcionó
Ok, te paso el link del artículo, ojalá te ayude y así aprovecho y
te pago una milésima de la ayuda que me has dado a mi.
http://blogs.sagestone.net/bcovell/...6/961.aspx
Con esto que logro:
1.- En versiones.aspx dejo el link que tú me enseñaste que llamaría
a MyVersions.aspx.
2.- En MyVersions.aspx tengo todo el cascarón Sharepoint, es decir,
colores, formatos, temas, banners, etc y en el medio, puse la Viewer
Web Part que llama a un aspx desarrollada en C# sin ningún chisme de
formato o algo así, solo código duro para mostrar lo que me interesa.
3.-Versiones.aspx solo tiene un pequeñísimo cambio (el link agregado)
por lo que si actualizando el Sharepoint pierdo versiones.aspx, pues el
cambio que debo hacerle es mínimo.
4.- MyVersions.aspx es sólo eso: un sólo fichero aspx con formato,
colores, y demás piltrafa, además del Viewer Web Part.
5.- Puedo concentrarme en desarrollar mi asp.net en Visual Studio sin
meterle ninguna cañona a lo que genera VS, esta asp.net sí va a estar
conformada por un aspx y una dll con todo el cógido "fuerte".
A lo mejor estoy exagerando, pero como no conozco mucho de esto pues me
parece que así voy desglosando todo para que me sea más fácil.

Saludos
Luis
PS-Por cierto, el secreto final de lo de poner la Web Part a mano, es
el comentario del artículo que dice que la WebPart se debe colocar
FUERA de una Web Part Zone, porque si lo poner dentro, te da un error
de que no acepta hijos en la Zana de Web Part.
Respuesta Responder a este mensaje
#10 Gustavo
14/07/2005 - 18:56 | Informe spam
Hola Luis,
Gracias por el link. Como habras visto, el codigo que nuestro amigo Brad
consigue abriendo la pagina con FrontPage no es mas que la definicion de la
WebPart, que encuentras en el archivo dwp de cualquier WebPart, y que
consigues facilmente exportando la WebPart en tu disco duro.
Lo que el hace aqui es utilizar la WebPart como un WebControl. De hecho, una
WebPart vista por dentro no es mas que un WebControl con algunas propiedades
extras y un interfaz (heredando de
"Microsoft.SharePoint.WebPartPages.WebPart") que permite ver y utilizar sus
propiedas en el FrameWork de SharePoint.
Como habras visto tambien en cualquiera de las custom pages (aspx) de
SharePoint, o, en general, en cualquier aplicacion aspx que utilice
WebControls, para usar WebControls hay que registrarlos en la pagina (la
parte de "<%Register...") he incluirlos en algun sitio (la parte de
"<WmNs0:WebPartName runat=server...").
La consecuencia de usar una WebPart como WebControl es obviamente que no
puedes usar su interfaz de propiedades, que no puedes moverla dentro de la
pagina y que no puedes borrarla.
Un saludo,
Gustavo
http://www.gavd.net/servers/default.aspx


"lboleda" wrote:

Hola Gustavo, como siempre dando en el clavo... Bueno, creo que esta
vez encontré la solución para poner una WebPart a mano, yo al menos
lo probé con mi Viewer Web Part, que muestra un URL mío y funcionó
Ok, te paso el link del artículo, ojalá te ayude y así aprovecho y
te pago una milésima de la ayuda que me has dado a mi.
http://blogs.sagestone.net/bcovell/...6/961.aspx
Con esto que logro:
1.- En versiones.aspx dejo el link que tú me enseñaste que llamaría
a MyVersions.aspx.
2.- En MyVersions.aspx tengo todo el cascarón Sharepoint, es decir,
colores, formatos, temas, banners, etc y en el medio, puse la Viewer
Web Part que llama a un aspx desarrollada en C# sin ningún chisme de
formato o algo así, solo código duro para mostrar lo que me interesa.
3.-Versiones.aspx solo tiene un pequeñísimo cambio (el link agregado)
por lo que si actualizando el Sharepoint pierdo versiones.aspx, pues el
cambio que debo hacerle es mínimo.
4.- MyVersions.aspx es sólo eso: un sólo fichero aspx con formato,
colores, y demás piltrafa, además del Viewer Web Part.
5.- Puedo concentrarme en desarrollar mi asp.net en Visual Studio sin
meterle ninguna cañona a lo que genera VS, esta asp.net sí va a estar
conformada por un aspx y una dll con todo el cógido "fuerte".
A lo mejor estoy exagerando, pero como no conozco mucho de esto pues me
parece que así voy desglosando todo para que me sea más fácil.

Saludos
Luis
PS-Por cierto, el secreto final de lo de poner la Web Part a mano, es
el comentario del artículo que dice que la WebPart se debe colocar
FUERA de una Web Part Zone, porque si lo poner dentro, te da un error
de que no acepta hijos en la Zana de Web Part.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida