jump to navigation

Conectar InfoPath – SharePoint – SQL step by step September 29, 2011

Posted by juanpablo1manrique in InfoPath, SharePoint.
Tags: ,
add a comment

Buen día para todos

El proceso de construir un formulario de InfoPath conectarlo con SQL SERVER  y luego publicarlo en SharePoint es un proceso bastante tedioso, por lo mismo he creado esta sería de Post en donde encontrarán el detalle de todos los pasos, espero que les guste.

 Saludos

Borrar un Web Application Extendido May 12, 2011

Posted by juanpablo1manrique in SharePoint.
Tags: ,
1 comment so far

Es un poco dificil de encontrar la opción así que aqui los pantallazos

1.

2.

3.

Agradecimientos. http://sharepoint-geek.com/2010/05/27/delete-an-extended-web-application/

Prerequisitos Instalacion SharePoint 2010 February 13, 2011

Posted by juanpablo1manrique in SharePoint, Uncategorized, Windows 2008.
Tags:
add a comment

Cuando sale un mensaje de error indicando que faltan varios prerequisitos es necesario correr el ejecutable PrerequisiteInstaller.exe este necesita necesariamente acceso a internet para descargar los faltantes, algo interesante es que así no se tengan permisos de descarga el descarga los componentes.

Sino se puede ingresar y descargar cada uno

 

Hay un punto especial que son las Caracterisiticas o servicios de Windows Server, según el siguiente link http://technet.microsoft.com/es-co/library/cc262485.aspx solo es necesario instalar los roles de

  • Rol Servidor web (IIS)
  • Rol Servidor de aplicaciones

Pero siempre es mejor correr el PrerequisiteInstaller.exe, para que se configuren todas las caracterisiticas necesarias del Roles en custion.

Saludos

WSPBuilder AddIn no aparece en VS2008 AddIn Manager January 19, 2011

Posted by juanpablo1manrique in Best Practices, Developer, SharePoint, Visual studio 2008, WebPart.
Tags: , ,
add a comment

Instale el WSPBuilder en una maquina virtual y cuando fui a ingresar a Visual Studio no me aparecia el menu en donde uno selecciona WSPBuilder, deploy, unistall, etc. Asi que despues de mucho cacharrear y googlear encontre que que existe un archivo WSPTools.VisualStudio.VSAddIn.Addin que se ubica en esa famosa carpeta c:\users

  • Si se instalo para todos los usuarios es necesario ir a
    • C:\Documents and Settings\All Users\Datos de programa\Microsoft\MSEnvShared\Addins (Win2003, XP)
    • C:\Users\All Users\Datos de programa\Microsoft\MSEnvShared\Addins (Win2008, Win7)
  • Si se instalo solo para current user, ir a
    • C:\Documents and Settings\<user name>\Datos de programa\Microsoft\MSEnvShared\Addins (Win2003, XP)
    • C:\User\<user name>\Datos de programa\Microsoft\MSEnvShared\Addins (Win2008, Win7)

Luego de ubicar el archivo es necesario Ir a VS2008->Tools > Options > Add-In/Macros Security > add in “C:\Users\<Username>\AppData\Roaming\Microsoft\AddIns” folder > click OK. y reiniciar el VS 2008 y ahora ya se ve el “WSP Builder” menu

Se obtuvo la solucion de http://wspbuilder.codeplex.com/Thread/View.aspx?ThreadId=79421

SharePoint Exception Details: System.Security.SecurityException: January 19, 2011

Posted by juanpablo1manrique in BI, Business Inteligent, Seguridad, SharePoint, Uncategorized.
Tags: ,
add a comment

Al intentar llamar otra aplicación WEB desde SharePoint recibi el siguiente error

Security Exception
Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application’s trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type ‘Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ failed.

Para solucionar este inconveniente en el web.config del sharepoint se encuentran las siguientes definiciones

      <trustLevel name=”WSS_Medium” policyFile=”C:\Archivos de programa\Archivos comunes\Microsoft Shared\Web Server Extensions\12\config\wss_mediumtrust.config” />
      <trustLevel name=”WSS_Minimal” policyFile=”C:\Archivos de programa\Archivos comunes\Microsoft Shared\Web Server Extensions\12\config\wss_minimaltrust.config” />

Las cuales establecen las posibles politicas de seguridad que puede tener el SharePoint, estas politicas son editables y permiten dar mayor o menor funcionalidad al SharePoint con respecto a otras aplicaciones o dlls.

Si comparamos la definición de la politica de WSS_Medium y WSS_Minimal para este dll se observa que en WSS_Medium se pueden ejecutar más acciones.

  • WSS_Medium <IPermission       version=”1″ Flags=”Assertion, Execution, ControlThread, ControlPrincipal,     RemotingConfiguration”   />
  • WSS_Minimal <IPermission       version=”1″ Flags=”Assertion, Execution, ControlThread, ControlPrincipal,     RemotingConfiguration”   />

Entonces se debe reemplazar unas cuantas lineas más abajo con

  • <trust level=”WSS_Medium” originUrl=”” />

Y solucionada la integración

Exception occurred when adding the dwp filteractions.dwp, exception is Access is denied. July 8, 2010

Posted by juanpablo1manrique in BI, Business Inteligent, Cube, DefineNames, Excel 2007, Excel Services, Report Center, SharePoint, WebPart.
Tags:
add a comment

En estos días cree un sitio de reportes “Report Center”, la administración de este sitio estará a cargo de otra persona, este administrador no deberia tener acceso al sitio principal. Cuando el administrador2 intento crear un nuevo DASHBOARD “New dashboard”, siempre aparecia un error de Access is denied.

Fui y consulte los logs de errores de SharePoint de eventos en C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS
y observe el siguiente error.

Exception occurred when adding the dwp filteractions.dwp, exception is Access is denied.

Finalmente me decidi a darle permisos sobre el sitio principal y la tarea funciono correctamente, oviamente no queria darle tantos permisos así que probe solo darle permisos sobre todas las librerias, pero no sobre el sitio principal y tampoco funciono.

Así que finalmente toco darle permisos en el sitio principal, y promoverlo de “Limited Access” a “Restricted Read”

Excel Services es o no es un WEB Service. May 31, 2010

Posted by juanpablo1manrique in BI, Business Inteligent, Excel 2007, Excel Services, SharePoint, WebPart.
Tags:
add a comment

Pues si y no, empecemos con el NO

Excel Services tiene gran cantidad de funcionalidades bastante interesante las cuales permiten que por medio de Presentación de archivos de Excel utilizando ExcelWEBAccess, tener en un ambiente web funcionalidades interesantes como búsquedas, presentación de zonas definidas utilizando DefineNames, permite cálculos de formato y cálculos entre celdas, etc.
Ahora el Si, (WebService).

Pero igualmente podemos utilizar el WEBService el cual expone varios metodos WEB para realizar modificaciones sobre archivos de Excel que se encuentren en una librería de documentos de SharePoint.

La dirección de acceso de este Web Service es http://server/_vti_bin/excelservice.asmx?WSDL
El cual expone los siguientes métodos.
Methods
Calculate ( sessionId As string ,  sheetName As string ,  rangeCoordinates As RangeCoordinates ) As ArrayOfStatus

CalculateA1 ( sessionId As string ,  sheetName As string ,  rangeName As string ) As ArrayOfStatus

CalculateWorkbook ( sessionId As string ,  calculateType As CalculateType ) As ArrayOfStatus

CancelRequest ( sessionId As string ) As ArrayOfStatus

CloseWorkbook ( sessionId As string ) As ArrayOfStatus

GetApiVersion ( ) As string

GetCell ( sessionId As string ,  sheetName As string ,  row As int ,  column As int ,  formatted As boolean ) As ArrayOfStatus

GetCellA1 ( sessionId As string ,  sheetName As string ,  rangeName As string ,  formatted As boolean ) As ArrayOfStatus

GetRange ( sessionId As string ,  sheetName As string ,  rangeCoordinates As RangeCoordinates ,  formatted As boolean ) As ArrayOfAnyType

GetRangeA1 ( sessionId As string ,  sheetName As string ,  rangeName As string ,  formatted As boolean ) As ArrayOfAnyType

GetSessionInformation ( sessionId As string ) As string

GetWorkbook ( sessionId As string ,  workbookType As WorkbookType ) As base64Binary

OpenWorkbook ( workbookPath As string ,  uiCultureName As string ,  dataCultureName As string ) As string

Refresh ( sessionId As string ,  connectionName As string ) As ArrayOfStatus

SetCell ( sessionId As string ,  sheetName As string ,  row As int ,  column As int ,  cellValue As ) As ArrayOfStatus

SetCellA1 ( sessionId As string ,  sheetName As string ,  rangeName As string ,  cellValue As ) As ArrayOfStatus

SetRange ( sessionId As string ,  sheetName As string ,  rangeCoordinates As RangeCoordinates ,  rangeValues As ArrayOfAnyType ) As ArrayOfStatus

SetRangeA1 ( sessionId As string ,  sheetName As string ,  rangeName As string ,  rangeValues As ArrayOfAnyType ) As ArrayOfStatus

Para consultar una celda pueden utilizar el siguiente código

    Private Sub _GetCell()
        Dim sessionId As String = Nothing
        Dim cellValue As Object = Nothing
        Dim objExcelService As New shphost.ExcelService()
        Dim status As shphost.Status() = Nothing
        Try
            objExcelService.UseDefaultCredentials = True
            objExcelService.SoapVersion = Services.Protocols.SoapProtocolVersion.Soap12
            sessionId = objExcelService.OpenWorkbook(_workbookPath, “en-US”, “en-US”, status)
            ‘ Retrieve the data from the referenced cell.
            cellValue = objExcelService.GetCell(sessionId, _sheetName, _row, _column, True, status)
            _cell = cellValue
        Catch ex As SoapException
            Dim objLog As New EventViewerLog
            objLog.CreateLogSharePointComponents(“An error has occurred.SOAPException” & ex.Message)
            _cell = “An error has occurred.” & ex.Message
        Catch ex As System.Exception
            Dim objLog As New EventViewerLog
            objLog.CreateLogSharePointComponents(“An error has occurred.Normal Exception” & ex.Message)
            _cell = “An error has occurred.” & ex.Message
        Finally
            Try
                If Not String.IsNullOrEmpty(sessionId) Then
                    objExcelService.CloseWorkbook(sessionId)
                End If
            Catch ex As Exception
                Dim objLog As New EventViewerLog
                objLog.CreateLogSharePointComponents(“An error has occurred.Finally Exception” & ex.Message)
            End Try
        End Try
    End Sub

Un usuario dio close en el WEBPart March 25, 2010

Posted by juanpablo1manrique in Advanced web part gallery and options, SharePoint, site actions, WebPart.
Tags:
add a comment

Esta mañana inicio mi día loboral y un usuario dio close sobre una de las WEbParts, y se le perdio y no la pudo recuperar.

El usuario es un usuario de solo lectura y no tiene permisos para poder dar click en Site Settings Edit page. Para solucionar este pequeño pero importante problema. Ingrese con permisos de modificación y modifique las opciones avanzadas.

– Uncheck Allow Close
– Uncheck Allow Minimize

Para evitar que el problema se propage a otros usuarios.

Intente entrar a la página de edición de webparts

http://miserver.default.aspx?content=1

y le di en reset pero no funciono.

Como tengo permisos de administración hice lo siguiente.
– La oculte para todos los usuarios. http://miserver.default.aspx?content=1, seleccionar elWebPart maldita y “close”

– Luego “site actions”, “edit page”, “add webpart” y avance settings “Advanced web part gallery and options” en la parte inferior, para luego de esto como ya tengo el webpart oculto, lo seleccione y en laparte inferior le di en Add.

– Listo solucionado el incidente.

Best Practice : SharePoint Database Access March 11, 2010

Posted by juanpablo1manrique in Best Practices, DAtabase, Developer, SharePoint.
1 comment so far

Specifies any addition, modification, or deletion of the data within any SharePoint database by using database access commands. This includes bulk loading of data into a database, exporting data, or directly querying or modifying data.

Real World Example
A list aggregation Web Part that pulls information from a variety of sites in a server farm is designed to directly query the SharePoint database for information and present it to a user.

Technical Details
Directly querying or modifying the database can place extra load on a server, or can expose information to users in a way that violates security policies or personal information management policies. If server-side code must query data, then the process for acquiring that data should be through the built-in SharePoint object model, and not by using any type of query to the database. Client-side code that must modify or query data in SharePoint Products and Technologies can do this by using calls to the built-in SharePoint Web services that in turn call the object model.

Support Details
Important: 
This type of customization is not supported.
 

Direct modification of the SharePoint database or its data is not recommended because it puts the environment in an unsupported state.

If a server component requires information from the database, it must get that data by using the appropriate items in the SharePoint object model, and not by trying to get the items from the data structures in the database through some query mechanism.

Versión en espeañol:: Buenas Prácticas: Acceso a base de datos

Buenas Prácticas: Acceso a base de datos March 11, 2010

Posted by juanpablo1manrique in Best Practices, Developer, SharePoint.
1 comment so far

Específicamente la inserción, modificación o borrado de los datos en cualquier base de datos de sharepoint utilizando comandos de acceso a datos. Incluyendo cargas por el comando bulk, exportacion de datos o directamente realizando busquedas o modificaciones sobre los datos.

El desarrollador creó una WEbPart que despliega informacióny esta siendo utilizada en  una variedad de sitios dentro de la granja de servidores y está diseñada para buscar información directamente en la base de datos de Sharepoint para presentarla al usuario.

Porque no se debe hacer.

Si se ejecutan directamente consultas a la base de datos puede causar una carga adicional al sistema en general, y puede exponer información a los usuario y podría llegar a presentarse que violenten las políticas de seguridad o la información personal de los usuarios. Si el código al lado del servidor debe ejecutar consultas, entonces es necesario que ese proceso  se haga a través del mapa de objetos de sharepoint, y no con SQL Code hacia la base de datos. El código al lado del cliente que deba modificar o traer datos de las base de datos de sharepoint deberá hacerlo a través de los Web services de sharepoint y entonces llamar al modelo de objetos.

Es importante tener en cuenta que este tipo de personalización no es soportada. La modificación directa de la base de datos de sharepoint no es recomendada debido a que pone el ambiente en un estado de no soporte por parte del área de ayuda de Microsoft.

Versión en Ingles : Best Practice : SharePoint Database Access