miércoles, 23 de noviembre de 2011

Errores comunes al Instalar SharePoint 2010 en Windows 7

Si siguieron el post anterior, puede que se les presenten algunos problemas al instalar.. A continuación les paso un link donde viene como resolver los más comunes.

http://myspexp.com/2010/05/31/configuration-failed-when-installing-sp-2010-on-windows-7-failed-big-time-3/

Saludos,

SharePoint 2010 sobre Windows 7

Todos los desarrolladores de SharePoint, siempre andamos usando maquinas virtuales con sistemas operativos de tipo servidor.

A continuación les dejo un link para que instalen SharePoint sobre el Windows 7.

http://blogsp.idea80.com/2010/02/instalacion-de-sharepoint-2010-sobre.html

Saludos

viernes, 18 de noviembre de 2011

Compilar Javascript

Hola, algo con lo que comúnmente nos encontramos los desarrolladores, es la tarea de interactuar con Javascript. Algo que se vuelve un poco complicado cuando nuestros archivos son muy grandes. Y el problema viene si existe un error, solo lo sabremos hasta ejecutar la página en un Explorador. Navegando por internet me encontré con una aplicación de Google, que permite compilar Javascripts, inclusive tiene interface para consumirla vía servicios web. Les dejo la liga:

http://closure-compiler.appspot.com/home

Saludos,

viernes, 13 de mayo de 2011

Application Page runtime error Server Error in "/" Application - Sharepoint 2010

Si estas trabajando con layouts y aun y cuando modificaste el web.config de tu sitio. Sigues obervando el fastidioso error de "Application Page runtime error Server Error in "/" Application"

Hay que irnos a la carpeta de layouts y modificar el web.config, ya que como toda aplicación web, obedece al web.config sobre el contexto que se este trabajando.

La ruta es:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\web.config

lunes, 17 de enero de 2011

Como aumentar los Items mostrados en una lista del portal de FIM

Para que despliegue más elementos, por ejemplo de una búsqueda, lo podemos hacer de la siguiente manera:

1.- Ir a la opción de Administración dentro del portal de FIM.

2.- Luego, Portal Configuration

3.- En la sección de Extended Attributes, buscar la opción ListView Items per Page, y ahi ponemos la cantidad de elementos que deseamos mostrar por página.

4.- Dar un iisreset, para que se refresque el cache.

miércoles, 5 de enero de 2011

Cómo obtener el primer resultado de una consulta en Linq

Para validar que una consulta nos traiga el primer elemento y no cause ninguna excepción si no encuentra resultado, utilizamos la función FirstOrDefault, la cual si no encuentra ingún elemento nos regresa un null, por lo que posterior a la consulta podemos validar el objeto comparandolo con null. A continuación les muestro el ejemplo:

var usuario = (from t in context.Usuario
where t.NumeroEmpleado == “NoEmpleado”
select t).FirstOrDefault();

if (usuario == null)
“No encontro el elemento”;
else
“Encontro el elemento”;

martes, 4 de enero de 2011

Métodos de ecripción y desencripción

Es muy común que queramos encritar información para almacenarla, y cuando la necesitemos desencriptarla para utilizarla. A continuación les comparto métodos para hacer estas dos tareas de una forma muy sencilla.

public class Encryption
    {
        /// <summary>
        /// Método para encriptar una cadena.
        /// </summary>
        /// <param name="inputString">Cadena a encriptar.</param>
        /// <param name="key">Llave de encripción.</param>
        /// <returns></returns>
        public static String Encrypt(String inputString, String key)
        {
            Byte[] inputStringByte = System.Text.ASCIIEncoding.ASCII.GetBytes(inputString);
            Byte[] keyByte = System.Text.ASCIIEncoding.ASCII.GetBytes(key);
            Byte[] iVByte = System.Text.ASCIIEncoding.ASCII.GetBytes(key);

            MemoryStream memoryStream = new MemoryStream(1024);
            DESCryptoServiceProvider desCryptoServiceProvider =  new DESCryptoServiceProvider();

            using (CryptoStream cryptoStream = new CryptoStream(memoryStream, desCryptoServiceProvider.CreateEncryptor(keyByte, iVByte), CryptoStreamMode.Write))
            {
                cryptoStream.Write(inputStringByte, 0, inputStringByte.Length);
                cryptoStream.FlushFinalBlock();
                Byte[] result = new Byte[(Int32)memoryStream.Position];
                memoryStream.Position = 0;
                memoryStream.Read(result, 0, result.Length);
                cryptoStream.Close();
                return System.Convert.ToBase64String(result);
            }
        }

        /// <summary>
        /// Método para desencriptar una cadena.
        /// </summary>
        /// <param name="inputString">Cadena a desencriptar.</param>
        /// <param name="key">Llave de desencriptación.</param>
        /// <returns></returns>
        public static String Decrypt(String inputString, String key)
        {
            byte[] inputStringByte = System.Convert.FromBase64String(inputString);
            byte[] keyByte = System.Text.ASCIIEncoding.ASCII.GetBytes(key);
            byte[] iVByte = System.Text.ASCIIEncoding.ASCII.GetBytes(key);

            MemoryStream memoryStream = new MemoryStream(inputStringByte.Length);

            DESCryptoServiceProvider desCryptoServiceProvider = new DESCryptoServiceProvider();

            using (CryptoStream cryptoStream = new CryptoStream(memoryStream, desCryptoServiceProvider.CreateDecryptor(keyByte, iVByte), CryptoStreamMode.Read))
            {
                memoryStream.Write(inputStringByte, 0, inputStringByte.Length);
                memoryStream.Position = 0;
                string decrypted = new StreamReader(cryptoStream).ReadToEnd();
                cryptoStream.Close();
                return decrypted;
            }
        }
    }

Como convertir un String a un Stream

 

Para convertir un String a un Stream, podemos usar el siguiente código:

new MemoryStream(Encoding.ASCII.GetBytes(inputString))

y listo ahora podemos usarlo como Stream.

Como aumentar el log del FIM y del PCNS

 

Ahora estoy trabajando con FIM (que trabaja sobre sharepoint), y me salió la necesidad de habilitar una mayor cantidad de logs en el event viewer. A coninuación les comparto la solución que encontre:

FIM tiene 4 niveles de logeo, y hay que agregar una llave (“FeaturePwdSyncLogLevel (REG_DWORD) ”) en el registro “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\FIMSynchronizationServices\Logging”, y los niveles son:

  • 0 = Minimal Logging
  • 1 = Normal logging (default)
  • 2 = High logging
  • 3 = Verbose logging

En el caso de PCNS, hay que agregar o modificar la llave “EventLogLevel (REG_DWORD)” en el registro “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PCNSSVC\Parameters” y los niveles son:

  • 0 = Minimal Logging
  • 1 = Normal logging (default)
  • 2 = High logging
  • 3 = Verbose logging