Mostrando entradas con la etiqueta Sharepoint 2010. Mostrar todas las entradas
Mostrando entradas con la etiqueta Sharepoint 2010. Mostrar todas las entradas

viernes, 3 de diciembre de 2010

Linq Sharepoint

Para las personas que estén interesadas en el uso de linq en sharepoint pueden ver estos blogs donde se da ejemplos y ayuda sobre este tema:





Emanuel Soto


Emanuel Soto


Emanuel Soto


Emanuel Soto

martes, 2 de noviembre de 2010

Sharepoint Problemas Ajax UpdatePanel

Al usar AJAX dentro de Sharepoint me encontré con un problema al usar el UpdatePanel, ya que al usar el UpdatePanel este solo funcionaba una sola vez, las siguientes acciones que se realizaban no eran capturadas por el update panel, buscando un solución para este problema encontré el siguiente código de javascript que permite solucionar este problema.
Este código lo tienen que poner para que el update panel se comporte correctamente.

Emanuel Soto
Emanuel Soto


<script type="text/javascript">
    _spOriginalFormAction = document.forms[0].action;
    _spSuppressFormOnSubmitWrapper = true
</script
Emanuel Soto



martes, 12 de octubre de 2010

Herramientas desarrollo de workflows para Sharepoint 2010

Emanuel Soto

Dentro de sharepoint se tiene la posibilidad de trabajar con workflows, estos pueden ser creados
tanto en Visual Studio 2010 como en sharepoint designer 2010, para que puedan tener en cuenta las diferencias que hay entre estas herramientas pueden ver el siguiente link


Emanuel Soto

Emanuel Soto

martes, 5 de octubre de 2010

Recursos de desarrollo sharepoint

Con la nueva versión de sharepoint, les doy algunos enlaces de interés para los desarrolladores de sharepoint.



Emanuel Soto

Emanuel Soto

Emanuel Soto

Emanuel Soto

Emanuel Soto

lunes, 4 de octubre de 2010

Introducción al uso de sharepoint Designer

Para los que son nuevos con el uso de sharepoint 2010 pueden ver este vídeo donde se explica el uso de básico de sharepoint designer 2010





Emanuel Soto
Emanuel Soto


Emanuel Soto

Crear una pagina de ingreso Sharepoint 2010

Al desarrollar una aplicación en sharepoint, normalmente se quiere personalizar la página de ingreso al sistema, con el uso de usuarios externos se puede personalizar la pagina de ingreso creando una pagina que derive de la clase FormsSignInPage.


Puedes usar la siguiente configuración de la página:

Emanuel Soto


<%@ Assembly Name="Microsoft.SharePoint.IdentityModel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>


<%@ Page Language="C#" Inherits="Microsoft.SharePoint.IdentityModel.Pages.FormsSignInPage" %>


<%@ Import Namespace="Microsoft.SharePoint.WebControls" %>
<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
    Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>



Para poder personalizar el master.page que la pagina va usar debemos agregar el siguiente código en la misma página.

Emanuel Soto


<script runat="server"> 

protected void Page_PreInit(object sender, EventArgs e)
    {
        this.MasterPageFile = "~/_catalogs/masterpage/Login.master";


    }
<script>

Y para el cuerpo se puede usar la siguiente código:

<asp:content id="ContentInterno" runat="server" contentplaceholderid="PlaceHolderMain">
    

    <div style="display: none">
        <SharePoint:EncodedLiteral runat="server" EncodeMethod="HtmlEncode" ID="ClaimsFormsPageTitle" />
        <SharePoint:EncodedLiteral runat="server" EncodeMethod="HtmlEncode" ID="ClaimsFormsPageTitleInTitleArea" />
    </div>
    
 <asp:Login ID="signInControl" FailureText="<%$Resources:wss,login_pageFailureText%>"
    OnLoginError="OnLoginError" OnLoggedIn="OnLoggedIn" 
                        runat="server">
                        <LayoutTemplate>


    
               
                                <label class="form-label">Usuario:<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
                                                Text="*"></asp:RequiredFieldValidator></label>
                                
                                <asp:TextBox class="form-input" ID="UserName" runat="server"></asp:TextBox>
                                
                                <label class="form-label">Clave: <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
                                        Text="*"></asp:RequiredFieldValidator></label>                        
                        
                                <asp:TextBox class="form-input" ID="Password" runat="server" TextMode="Password"></asp:TextBox>


                                <label class="form-label-error">
                                <asp:Literal id="ltlMensaje" runat="server"></asp:Literal>
                                <asp:Literal id="FailureText" runat="server" Visible="false"></asp:Literal>
                                <asp:ValidationSummary id="vs" runat="server"></asp:ValidationSummary>
                                </label>
                        
                                
                                <asp:button class="form-submit" id="Login" CommandName="Login" runat="server" Text="">                                    
                                </asp:button>
                                
                              
                        
   </LayoutTemplate>
                    </asp:Login>
    <div id="SslWarning" style="color: red; display: none">
        <SharePoint:EncodedLiteral runat="server" EncodeMethod="HtmlEncode" ID="ClaimsFormsPageMessage" />
    </div>
</asp:content>

Espero que estos pasos les pueda ayudar a configurar una página personalizada en sharepoint


Emanuel Soto

Emanuel Soto

Emanuel Soto


Emanuel Soto


Emanuel Soto

Sharepoint 2010 - FBA

Buscando información dentro de internet sobre el manejo de usuarios externos en sharepoint, encontre el siguiente webcast donde se muestra el manejo de membership.

También puedes encontrar mas información del uso de FBA en sharepoint dentro de la comunidad de sharepoint donde se tiene el proyecto de CKS Forms Based Authentication Solution.


Para poder hacer una configuración con LDAP, puedes seguir los pasos de este post y si quieres usar el membership provider puedes ver el post que publique aquí.

Emanuel Soto
Emanuel Soto
Emanuel Soto
Emanuel Soto
Emanuel Soto
Emanuel Soto

Configuración ASP.NET Charting Control

Dentro de .NET desde el framework 3.5 se tiene los nuevos controles para  presentar gráficos, la documentación la puedes encontrar en Microsoft Chart Controls Documentation  y existe un foro.
Ahora pondré los pasos que se necesita seguir para poder configurar este manejador de gráficos en Sharepoint 2010.


  1.        Instalar la extensión desde Microsoft Chart Controls
  2.        Modificar el web.config para que pueda manejar este tipo de controles.
a.       Agregar dentro de la sección SafeMode/PageParsePaths
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false">
      <PageParserPaths>
        <PageParserPath VirtualPath="/Shared Documents/*" AllowServerSideScript="true" CompilationMode="Always" />
      </PageParserPaths>
    </SafeMode>
b.      Agregar el ensamblado dentro de la sección de safecontrols
<SafeControl Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI.DataVisualization.Charting" TypeName="*" Safe="True" AllowRemoteDesigner="True" />    
    </SafeControls>
c.       Dentro de System.web/httpHandlers
                        <httpHandlers>
      <add verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>
d.      Para cargar el ensamblado modificar la sección assemblies

<compilation batch="false" debug="false">
      <assemblies>
        …
        <add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

      </assemblies>

e.      Agregar a la sección pages
<pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" pageParserFilterType="Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" asyncTimeout="7">
      …
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </controls>
    </pages>

f.        Agregar a la sección handlers
                               <handlers>
                               …
<remove name="ChartImageHandler" />
      <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 …
                               </handlers>
g.       Agregar una variable dentro appSettings
                               <appSettings>
                               …
 <add key="ChartImageHandler" value="storage=memory;timeout=20;" />
</appSettings>





Emanuel Soto
Emanuel Soto
Emanuel Soto
Emanuel Soto
Emanuel Soto
Emanuel Soto

viernes, 1 de octubre de 2010

Problemas con el uso de SPListItem


Dentro de sharepoint se tiene los objetos SPListItem para manipular la información de un elemento dentro de la lista, pero cuando se usa este elemento de la siguiente forma, suponiendo que la lista tiene elementos, podríamos acceder al primer elemento de la lista:

SPListItemCollection items = SPContext.Web.Current.Lists[“Lista”];
items[0][“Title”] = “Nuevo titulo”;
items[0].Update();

Este código no genera error, pero tampoco realiza los cambios que hemos hecho.
Lo correcto seria crear un objeto SPListItem.

SPListItem item = items[0];
item[“Title”] = “Nuevo titulo”;
ítem.Update();

Emanuel Soto
Emanuel Soto
Emanuel Soto

Uso de profiles en Sharepoint 2010

Dentro de Sharepoint también se puede usar el perfil para manejar información adicional de los usuarios.

Para las clases que va usar para guardar la información podría usar una configuración como la siguiente:
Clase que deriva de ProfileBase

    public class CProfile : ProfileBase
    {
        public DatosPersona DatosPersona
        {           
            get { return (Personal)GetPropertyValue("Personal"); }
        }

        /// <summary>
        /// Get the profile of the currently logged-on user.
        /// </summary>     
        public static CProfile GetProfile()
        {
            return (CProfile)System.Web.HttpContext.Current.Profile;
        }

        /// <summary>
        /// Gets the profile of a specific user.
        /// </summary>
        /// <param name="userName">The user name of the user whose profile you want to retrieve.</param>
        public static CProfile GetProfile(string userName)
        {
            return (CProfile)Create(userName);
        }

    }

Datos que va a guardar:

    [Serializable]
    public class DatosPersona
    {
        public string Id { get; set; }

        public string NombreCompleto { get; set; }

        public string ApellidoPaterno { get; set; }
    }

Para poder registrar el profile en sharepoint tiene que agregar dentro de los assemblies que va usar sharepoint la dll donde se encuentra la clase
Un ejemplo del ensamblado que tienes que agregar a assemblies puede ser:

<assemblies>
<add assembly="Namespacedelaclase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a992b3cd0fe46baf" />
</assemblies>

Para registrar el profile dentro de los proveedores tienes que agregar la cadena de conexión que va usar el profile, y después agregar dentro de los proveedores el nuevo profile

  • Cadena conexión


<connectionStrings>
    <add connectionString="CadenaConexion;" name="CadenaConexion" />
</connectionStrings>
 

  • Profile


<profile defaultProvider="NombreProfile" inherits=" Namespacedelaclase.CProfile">
      <providers>
        <add name=" NombreProfile " type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="CadenaConexion" />
      </providers>
</profile>


martes, 28 de septiembre de 2010

Configuración de FBA en Sharepoint 2010

Para el manejo de usuarios externos en Sharepoint se puede usar FBA (Forms based authentication), donde se puede configurar otras fuentes externas para el manejo de usuarios.
Dentro de internet encontré varios enlaces para la configuración de FBA, ahora mostrare los pasos para usar el ASP .Net Membership.

Los pasos que se tiene que seguir para configurar el FBA en Sharepoint 2010 son:

  1. Crear un sitio web que permita autenticación basada en notificaciones











  2. Instalar la base de datos de Membership
    • Instalar la bd usando el comando aspnet_regsql que se encuentra dentro de la carpeta del framework c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
    • Seguir los paso de instalación.
  3. Para agregar un nueva configuración de FBA, se va a modificar la configuración de las siguientes aplicaciones
    • Modificar la configuración del servicio de identificación






    • Modificar la configuración de la central administrativa





    • Modificar la configuración del sitio web





    1. Para todas loas configuraciones se va a modificar el web.config, para ello se puede usar el IIS 7 o ir directamente al web.config y agregar los nuevos cambios.
    • Para los tres sitios se va a realizar lo siguiente:
      • Agregara una nueva cadena de conexión





      • Agregar un proveedor de roles






      • Agregar un proveedor de usuarios








Referencias:


SQL Server Provider for Claims-Based Authentication in SharePoint 2010


Emanuel Soto
Emanuel Soto
Emanuel Soto
Emanuel Soto
Emanuel Soto