Personalización de la busqueda en Sharepoint

24/01/2006 - 12:58 por sespartero | Informe spam
Hola, Tengo la intención de personalizar la busqueda en sharepoint para
poder realizar busquedas de documentos basados en algunos metadatos. Para
ello tal y como indica el articulo de microsoft
http://msdn.microsoft.com/library/d...150743.asp

voy a lanzar consultas SQL al sistema de busqueda microsoft pero al usar
la siguiente instrucción:

PortalContext context = PortalApplication.GetContext(Context);
Me da esta esta excepcion

System.Security.SecurityException: Request for the permission of type
Microsoft.SharePoint.Security.SharePointPermission,
Microsoft.SharePoint.Security, Version.0.0.0, Culture=neutral,
PublicKeyTokenqe9bce111e9429c failed. at
System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
PermissionToken permToken) at
System.Security.CodeAccessSecurityEngine.Check(PermissionToken permToken,
CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 checkFrames,
Int32 unrestrictedOverride) at
System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap,
StackCrawlMark& stackMark) at
System.Security.CodeAccessPermission.Demand() at
Microsoft.SharePoint.Portal.PortalApplication.GetContext(HttpContext
context) at LastDocumentsISR.LastDocumentsISR.CreateChildControls()

Parece claro que es algo de la configuración, he estado mirando los
ficheros web.config, y he añadido un SafeControl

<SafeControl Assembly="Microsoft.SharePoint, Version.0.0.0,
Culture=neutral, PublicKeyTokenqe9bce111e9429c"
Namespace="Microsoft.SharePoint.Security" TypeName="*" />

Pero sigue sin funcionar, alguna sugerencia.

Preguntas similare

Leer las respuestas

#1 csegura
05/02/2006 - 19:37 | Informe spam
Ten encuenta que ese contexto solo lo puedes usar dentro del portal o de las
areas del portal si estas poniendo el webpart en un sitio no funcionará.

Carlos Segura Sanz
www.ideseg.com


"Sergio" escribió:

Hola, Tengo la intención de personalizar la busqueda en sharepoint para
poder realizar busquedas de documentos basados en algunos metadatos. Para
ello tal y como indica el articulo de microsoft
http://msdn.microsoft.com/library/d...150743.asp

voy a lanzar consultas SQL al sistema de busqueda microsoft pero al usar
la siguiente instrucción:

PortalContext context = PortalApplication.GetContext(Context);
Me da esta esta excepcion

System.Security.SecurityException: Request for the permission of type
Microsoft.SharePoint.Security.SharePointPermission,
Microsoft.SharePoint.Security, Version.0.0.0, Culture=neutral,
PublicKeyTokenqe9bce111e9429c failed. at
System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
PermissionToken permToken) at
System.Security.CodeAccessSecurityEngine.Check(PermissionToken permToken,
CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 checkFrames,
Int32 unrestrictedOverride) at
System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap,
StackCrawlMark& stackMark) at
System.Security.CodeAccessPermission.Demand() at
Microsoft.SharePoint.Portal.PortalApplication.GetContext(HttpContext
context) at LastDocumentsISR.LastDocumentsISR.CreateChildControls()

Parece claro que es algo de la configuración, he estado mirando los
ficheros web.config, y he añadido un SafeControl

<SafeControl Assembly="Microsoft.SharePoint, Version.0.0.0,
Culture=neutral, PublicKeyTokenqe9bce111e9429c"
Namespace="Microsoft.SharePoint.Security" TypeName="*" />

Pero sigue sin funcionar, alguna sugerencia.






Respuesta Responder a este mensaje
#2 Sergio
06/02/2006 - 17:18 | Informe spam
Hola,

Gracias por la ayuda, de hecho ya he conseguido resultados parciales en mi
servidor de producción aunque sigo teniendo el mismo problema en el de
desarrollo, así que de momento tengo el trabajo un poco estancado.

Por supuesto estaba utilizando la webpart en un area de SPS no en un sitio
WSS.

El problema ahora es que al realizar busquedas sobre datos del tipo
querySql = "SELECT \"";
querySql =
querySql+"urn:schemas-microsoft-com:office:office#MetaDatoLibreria\" ,";
querySql+=" FROM ( TABLE Portal_Content..Scope() UNION ALL TABLE
Non_Portal_Content..Scope() ) ";

Obtengo resultados vacios, no soy capaz de obtener el valor del metadato. No
estoy totalmente de que esté buscando lo correcto. ¿Alguien sabe como se hace
esto?

La otra posibilidad que se me ocurre es una navegación "a pelo" por el
modelo de objetos, pero teniendo una máquina exclusivamente encargada de la
busquedas y de generar los índices me parece una perdida de rendimiento muy
alta.


csegura" wrote:

Ten encuenta que ese contexto solo lo puedes usar dentro del portal o de las
areas del portal si estas poniendo el webpart en un sitio no funcionará.

Carlos Segura Sanz
www.ideseg.com


"Sergio" escribió:

> Hola, Tengo la intención de personalizar la busqueda en sharepoint para
> poder realizar busquedas de documentos basados en algunos metadatos. Para
> ello tal y como indica el articulo de microsoft
> http://msdn.microsoft.com/library/d...150743.asp
>
> voy a lanzar consultas SQL al sistema de busqueda microsoft pero al usar
> la siguiente instrucción:
>
> PortalContext context = PortalApplication.GetContext(Context);
> Me da esta esta excepcion
>
> System.Security.SecurityException: Request for the permission of type
> Microsoft.SharePoint.Security.SharePointPermission,
> Microsoft.SharePoint.Security, Version.0.0.0, Culture=neutral,
> PublicKeyTokenqe9bce111e9429c failed. at
> System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet
> grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
> PermissionToken permToken) at
> System.Security.CodeAccessSecurityEngine.Check(PermissionToken permToken,
> CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 checkFrames,
> Int32 unrestrictedOverride) at
> System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap,
> StackCrawlMark& stackMark) at
> System.Security.CodeAccessPermission.Demand() at
> Microsoft.SharePoint.Portal.PortalApplication.GetContext(HttpContext
> context) at LastDocumentsISR.LastDocumentsISR.CreateChildControls()
>
> Parece claro que es algo de la configuración, he estado mirando los
> ficheros web.config, y he añadido un SafeControl
>
> <SafeControl Assembly="Microsoft.SharePoint, Version.0.0.0,
> Culture=neutral, PublicKeyTokenqe9bce111e9429c"
> Namespace="Microsoft.SharePoint.Security" TypeName="*" />
>
> Pero sigue sin funcionar, alguna sugerencia.
>
>
>
>
>
>
Respuesta Responder a este mensaje
#3 csegura
06/02/2006 - 22:28 | Informe spam
Supongo que el metadato lo has incluido en "Configuración del
Sitio->Administrar propiedades de documentos
rastreados->urn:schemas-microsoft-com:office:office" y le has activado la
opción de "Incluir esta propiedad en las opciones de Búsqueda avanzada" y
"Incluir esta propiedad en el índice de contenido"

Revisa a ver...

Carlos Segura Sanz
www.ideseg.com
Respuesta Responder a este mensaje
#4 Sergio
06/02/2006 - 22:30 | Informe spam
Si ambos esta activos, lo que no se si esto es lo que quiero buscar, lo que
yo quiero encontrar son documentos que tengan algunos atributos, esos que
rellenas cuando subes un documento a una libreria.

"csegura" escribió:

Supongo que el metadato lo has incluido en "Configuración del
Sitio->Administrar propiedades de documentos
rastreados->urn:schemas-microsoft-com:office:office" y le has activado la
opción de "Incluir esta propiedad en las opciones de Búsqueda avanzada" y
"Incluir esta propiedad en el índice de contenido"

Revisa a ver...

Carlos Segura Sanz
www.ideseg.com


Respuesta Responder a este mensaje
#5 csegura
06/02/2006 - 22:35 | Informe spam
Mira a ver si te puede ayudar mi post y el webpart

http://www.ideseg.com/SharepointCse...bpart.aspx

Carlos Segura Sanz
www.ideseg.com


"Sergio" wrote:

Si ambos esta activos, lo que no se si esto es lo que quiero buscar, lo que
yo quiero encontrar son documentos que tengan algunos atributos, esos que
rellenas cuando subes un documento a una libreria.

"csegura" escribió:

> Supongo que el metadato lo has incluido en "Configuración del
> Sitio->Administrar propiedades de documentos
> rastreados->urn:schemas-microsoft-com:office:office" y le has activado la
> opción de "Incluir esta propiedad en las opciones de Búsqueda avanzada" y
> "Incluir esta propiedad en el índice de contenido"
>
> Revisa a ver...
>
> Carlos Segura Sanz
> www.ideseg.com
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida