Hecgo.com Just relax & enjoy

13Oct/090

Sharepoint CSS Builder

La mayoría de las ocasiones al trabjar con Sharepoint es necesario ocultar algún(os) elemento(s) de la interface por default de Sharepoint, ahora, esta herramienta publicada como servicio Web puede ayudarnos a generar rápidamente el CSS necesario:

http://sharepointcanvas.com/spc/

image

VIA

6Oct/090

MOSS Object Model: Obtener la lista de grupos de Sharepoint a los que pertenece el usuario logeado

private List<string> GetSPGroups()
{
  List<string> groupNames = new List<string>();
  SPGroupCollection groups = SPContext.Current.Web.CurrentUser.Groups;
  foreach (SPGroup group in groups)  {
    groupNames.Add(group.Name);
  }
  return groupNames;
}

Más posibilidades con la clase SPGroup:

http://msdn.microsoft.com/es-es/library/microsoft.sharepoint.spgroup.aspx

5Oct/090

Sharepoint PeopleEditor control (AKA PeoplePicker)

Para usar el people picker en una página ASP.NET:

<SharePoint:PeopleEditor runat="server" ID="PE1" AutoPostBack="true" AllowEmpty="false" SelectionSet="User,SecGroup,SPGroup" BorderWidth="0" Width="200px" PlaceButtonsUnderEntityEditor="false" Rows="1"/>


Validación de al menos un usuario resuelto:

(PE1.Accounts.Count<1)

Guardando los usuarios seleccionados en una columna de tipo Person:

SPFieldUserValueCollection values = new SPFieldUserValueCollection();
foreach (PickerEntity entity in PE1.ResolvedEntities)
{
    SPFieldUserValue fuv = new SPFieldUserValue(SPContext.Current.Web, Convert.ToInt16(entity.EntityData[PeopleEditorEntityDataKeys.UserId]), entity.Description);
    values.Add(fuv);
}
oListItem["ColumnaTipoPersona"] = values;

 

Recuperando el valor guardado en una columna de tipo Person y asignación al control PeoplePicker:

// oListItem = SPListItem de la lista donde se encuentra la columna tipo Person:
SPFieldUserValue ppUser = new SPFieldUserValue(oWebsiteRoot, oListItem["ColumnaTipoPersona"].ToString());
PE1.CommaSeparatedAccounts  = ppUser.User.LoginName;


Para la asignación de valor tambien se puede usar directamente una cuenta de usuario con la forma “dominio\usuario”, sin embargo es recomendable asignar el valor desde la clase SPFieldUserValue, sobre todo cuando sean valores recuperados desde otro origen.

Referencias:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.peopleeditor.aspx

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

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.pickerentity.aspx

Es posible realizar configuraciones especiales como incluir propiedades extra del directorio activo, delimitar las búsquedas dentro de un arbol del bosque del A.D., etc, vía la utilería stsadm:

http://technet.microsoft.com/en-us/library/cc263318.aspx

8Jun/090

Referencia técnica de comandos STSADM para WSS y MOSS en Silverlight

Todos los comandos STSADM incluyendo la disponibilidad según la versión instalada:

image

Para MOSS

Para WSS 3.0

11May/090

Los requisitos de software preliminares de Sharepoint 2010, 64 bits y más 64 bits

El día de hoy el equipo de desarrollo de Sharepoint publica en su blog oficial esta lista preliminar de requisitos de software y hardware. No es nada nuevo que Sharepoint 2010 únicamente saldrá en versión para 64 bits, pero no está demás hechar un vistazo para ir teniendo en cuenta en la planeación. Por lo mientras las premisas básicas:

  1. SharePoint Server 2010 will be 64-bit only.
  2. SharePoint Server 2010 will require 64-bit Windows Server 2008 or 64-bit Windows Server 2008 R2.
  3. SharePoint Server 2010 will require 64-bit SQL Server 2008 or 64-bit SQL Server 2005.

http://blogs.msdn.com/sharepoint/archive/2009/05/07/announcing-sharepoint-server-2010-preliminary-system-requirements.aspx

6Apr/090

Sharepoint Designer ahora es gratuito

Con el fin de reforzar la penetración y utilización de las tecnologías Sharepoint, ahora Microsoft decide hacer gratuito este producto.

http://office.microsoft.com/en-us/sharepointdesigner/HA103607611033.aspx

MIcrosoft Office SharePoint Designer 2007 Free Download ( c ) Microsoft

11Mar/090

Recopilación de ligas interesantes sobre MOSS, VS 2010, Windows Mobile

De vuelta a la blogosfera un pequeño recopilado de links utilizados recientemente:

  1. Integrando FCKEditor en MOSS: Link
  2. Integrando TinyMCE en MOSS: Link
  3. Kaldeera, interface gratuita para crear flujos de trabajo de MOSS mucho más allá de las posibilidades de SPDesigner: Link
  4. El nuevo look de Visual Studio 2010: Link
    image
  5. IrisBrowser, un prometedor navegador para Windows Mobile (Inaugurando la nueva sección de Windows Mobile XD): Link
  6. Microsoft Recite Tech Preview, interesante aplicación para Windows Mobile 6 para grabar notas de voz y BUSCAR sobre ellas: Link
28Oct/080

Azure Services Platform – Cloud computing para todos

image

Hoy inicio la PDC y Ray Ozzie anunció oficialmente Windows Azure o la Azure Services Platform definida como:

The Azure™ Services Platform (Azure) is an internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together. Azure’s flexible and interoperable platform can be used to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities. Its open architecture gives developers the choice to build web applications, applications running on connected devices, PCs, servers, or hybrid solutions offering the best of online and on-premises.

Los componentes clave de la plataforma son:

  • Windows Azure: Hospedaje de servicios y administración, provee también servicio de almacenamiento de datos, procesamiento de computo y servicios de red. En otras palabras, es com si fuera el sistema operativo de la plataforma.
  • Microsoft SQL Services: Servicios de Base de Datos y reporte en línea (Ya alguna vez hablé al respecto).
  • Microsoft .NET Services: La implementación como servicios de conceptos familiares del .NET Framework, tales como workflows y control de accesos.
  • Live Services: Una plataforma de este tipo no estaría completa sin dar a los usuarios finales la posibilidad de almacenar, compartir y sincronizar su información de una forma consistente, además de poder acceder a la misma desde sus PCs, telefonos, sitios Web, etc. Además de proveer a los desarrolladores con la capacidad de integrar los servicios de autenticación y precensia de Windows Live ID.
  • Microsoft SharePoint Services and Microsoft Dynamics CRM Services: Para usuarios de negocios, colaboración en un entorno de "rapid solution development".
  • Sin duda un esfuerzo muy importante que ve uno de sus primeros milestones con este lanzamiento y de lo que seguramente estaremos hablando mucho en los siguientes días.

    Más info:

    http://www.microsoftpdc.com/
    http://www.microsoft.com/azure/default.mspx

    21Aug/080

    Error de JavaScript al utilizar el editor de texto enriquecido de la Content Editor WebPart

     

    En días pasados en un proyecto de una intranet se presentaba el siguiente error al intentar utilizar el editor de texto enriquecido de una Content Editor WebPart de MOSS:

     

    image

    El texto del error es el siguiente:

     

    Internet Explorer Script Error
    An error has occurred in the script on this page.
    Line: 3032
    Char: 2
    Error: Object expected
    Code: 0
    URL: http://server/_layouts/RTE2PUEditor.aspx

     

    Para tener un mejor contexto, la instalación de MOSS tiene el SP1, así como el Language Pack en español (incluyendo el Service Pack del Language Pack).

     

    Investigando un poco y siguiendo las sugerencias de este link, el problema seguía, pero la pista más importante encontrada ahí es que era un problema que tenía que ver con el Service Pack de MOSS, en particular con el Service Pack del Language Pack.

     

    Así que la solución fue:

     

    Localizar la carpeta "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\".

     

    Dentro de esta carpeta, entrar a "1033" y copiar los archivos:

     

    • BFORM.JS
    • FORM.JS

     

    Para después pegarlos en la carpeta "3082" o en la carpeta correspondiente al idioma bajo el cual este el sitio donde se presenta el error, ya que la causa es un error ocurrido al momento de la instalación del Service Pack del Language Pack que no actualizó estos archivos, ya que en un sitio en inglés el problema no ocurría.

    20Aug/080

    Code behind en Master.Pages y Page Layouts de MOSS y/o WSS

    Hay ocasiones en que es necesario que alguna Master.Page o un Page Layout de MOSS tengan código especial. Recordemos que al final del día estamos trabajando con una aplicación ASP.NET, por lo tanto para poder habilitar esta posibilidad, es necesario modificar el web.config del sitio de MOSS o WSS correspondiente ya agregar la siguiente configuración:

    XML:
    1. <sharePoint><safeMode ....>....
    2. <pageParserPaths>
    3. <pageParserPath VirtualPath=“/_catalogs/masterpage/*“ CompilationMode=“Always“ AllowServerSideScript=“true“ IncludeSubFolders=“true“ />
    4. </pageParserPaths>

    El atributo VirtualPath es importante ya que aquí especificamos los paths dentro de los cuales los archivos podrán tener code behind, de tal forma que podemos tener un valor como el siguiente si queremos permitir code behind en todos los paths del sitio:

    XML:
    1. VirtualPath="/*"

     

    Una vez modificado el web.config del sitio, el código se puede agregar en el estilo “inline code” de ASP.NET, es decir, en el mismo archivo ASPX dentro de una tag <script type=”C#” runat=”server”>, teniendo con esto disponible el acceso a los eventos de una página ASP.NET común y corriente, además de acceso a controles que pudiesen existir en nuestra Master.Page o Page Layout:

    HTML:
    1. <script type="text/c#" runat="server">
    2. protected void Page_Load(object sender, EventArgs e)
    3. {
    4.      SPSite oSiteCollection = SPContext.Current.Site;
    5. }
    6. </script>

    De esta forma, también se tiene acceso al modelo de objetos de Sharepoint, para lo cual es necesario agregar la referencia a los namespaces correspondientes, agregando tags como esta al principio del código HTML:

    HTML:
    1. <%@ Import Namespace="Microsoft.SharePoint" %>

    Más info:

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