martes, abril 16, 2013

Usar "Organization Browser" fuera del sitio de perfiles en SharePoint 2013.

Cuando se esta montando paginas en la intranet y nos piden "Oye, se ve cool el organigrama... pero haz que se vea en el sitio...andale tu puedes" cha.. chan... ¿como le hacemos?, sencillo.

Necesitamos hacer 3 cosas basicamente.
1. Agregar el webpart
Organization Browser
a nuestra pagina.
2. Crear el archivo
clientaccesspolicy.xml
y montarlo en el directorio del IIS del sitio.
3. Editar la pagina con SPD para agregar el componente "ProfileLoader".

Paso 1.
Insertamos el webpart
Organization browser
a la pagina.



Paso 2.
Creamos el archivo
clientaccesspolicy.xml
en el editor de texto preferido.


    
        
            
                
            
            
                
            
        
    


Y lo copiamos en cada web appliaction.
Por ejemplo :

C:\inetpub\wwwroot\wss\VirtualDirectories\80

Paso 3. Abrimos con SPD la pagina donde insertamos el “Organization Browser”, entramos en modo edición avanzada y colocamos fuera de la zona de webpart la siguiente instrucción.



Nota. Validar en name espace con el que se esta hacienda referencia a "Microsoft.SharePoint.Portal.WebControls" en este caso es “spwc”.

Guardamos la pagina y listo, ya podremos ver el organigrama con información.

Saludos a todos.

viernes, junio 10, 2011

La Ciencia de las coincidencias






El pasado sábado asistí a la primera clase del módulo de "Social Media" del diplomado de Marketing Interactivo. Engel - @engelfonseca - (El profesor que expone el tema) comentaba sobre las redes sociales y la forma en que estas han ido creciendo, también hablo sobre el tema de cómo diferentes personas de diversos medios, estudios y afinidades contribuyen en las redes sociales potencializando el crecimiento de marcas y productos, participando activamente como críticos, haciendo comentarios sanos (y no tan sanos) de marcas, servicios y productos, siendo así que estas personas no son especialistas en la materia, son solo consumidores que tienen alguna necesidad y de alguna forma encuentran un foro donde ser escuchados.

Esto muestra como en la actualidad y desde hace algunos años, se genero un mix de profesiones y especialidades en donde podemos ver que Abogados, Ingenieros, Contadores, Médicos, etc. están haciendo marketing, diseñadores, ingenieros civiles, veterinarios (conozco uno) haciendo sistemas y todos haciéndole de doctores en herbolaria (que si tomate esto o lo otro.. etc.). Esto me llevo a una reflexión que hacía algún tiempo ya había estado viajando en mi cabeza, y es que esto se convierte en un mar de posibilidades para la industria y para que uno mismo pueda hacer que esa vaga idea que tienes en la cabeza funcione.

Podemos ver en la historia como existen cosas, leyes, libros, poemas que se crean a partir de "Accidentes" y "coincidencias". Podemos encontrar un sin fin de anécdotas, historias y/o mitos sobre si las leyes de Newton Fueron un accidente, si el ipod fue coincidencia, la penicilina, etc, etc, etc.

Por ejemplo tomemos lo que nos dicen en la escuela de la ley universal de gravitación, “un día Isaac Newton estaba sentado debajo de un árbol y bla, bla, bla” ¿mito o realidad? -Mmmm, bueno ¿qué es esto?- las manzanas siempre se han caído (desde que existen árboles de manzanas), pero… ¿qué hubiese pasado si Shakespeare se hubiese puesto a observar?, posiblemente una obra hubiese salido de ahí, y ahora… si Platón ¿lo hubiera descrito?, posiblemente otra cosas saldría.

Lo cierto es que la interpretación que hagamos de ese evento estará directamente relacionada a lo que sabemos de forma empírica o no; Otro ejemplo más cercano, Facebook el hecho de que llegara a sus manos la idea de un sitio con a y b características a pesar de la existencia de otros sitios con características similares, atiende al hecho de la visión de su creador de una idea que le llego y tenía los medios para potencializarla y crearla, no tiene nada que ver con el dinero, sino con el conocimiento y la interpretación de la idea que hizo en su momento. Posiblemente si esa idea le hubiese tocado a alguien distinto, (que de hecho yo creo que hay muchos ejemplos así) hubiese pasado desapercibido…o no. Pero que hay en común en ambos casos (y en muchos más), que existe la decisión de sentarse y hacerlo; de pasar horas pensando, borrando, regresando a la misma idea y volverla a desechar. Pero lo importante, como decía mi padre y alguna vez me dijo mi coach de americano, “si ya empezaste a correr y tu objetivo es llegar a la otra línea, no te pares antes de llegar, ni festejes, párate… 2 km después y prepárate para la siguiente carrera que los contrarios no van a estar muy conformes con eso, y tu mucho menos …”

sábado, septiembre 11, 2010

"aresgen.exe" exited with code 1.

Revisando la versión de prueba recientemente liberada de Mono para el sistema operativo Android, llamada MonoDroid. Me encontré con el siguiente problema

"aresgen.exe" exited with code 1.

Se corrigió cuando cambie el nombre de la carpeta del sdk de android al nombre que mencionan en el manual de instalación

MonoDroid for Visual Studio 2010 Plugin

domingo, febrero 14, 2010

Virtual PC a Windows Vitural PC de Windows 7 con disco VHD en split

En recientes días al revisar unas maquina virtuales que hacia algún tiempo no utilizaba me encontré con el detalle de que no podía visualizarla en Windows Virtual PC de Windows 7. Estas maquinas tenían la característica de que el disco virtual (vhd) estaba dividido en varios archivos v01, v02, hasta el v08.

Cuando intentaba que Windows Virtual Pc ejecutara esta maquina simplemente no la reconocia, lo mismo sucedio con Virtual Box o VMWare.

Buscando un poco me encontré con un articulo que dio solución parcial a mi problema, en el articulo hacian una copia de los archivo a un solo archivo, de la siguiente forma:

Listado de archivos antes de la copia

VirtualHD.vhd
VirtualHd.v01
VirtualHd.v02
VirtualHd.v03


Solución

copy VirtualHd.vhd /b+VirtualHd.v01 /bVirtualHd.v02 /bVirtualHd.v03 /b NuevoVirtualHd.vhd /b

Listo, esto nos genera un nuevo disco virtual llamado "NuevoVirtualHd.vhd" el cual podemos usar en una maquina vitual de Windows Virtual PC. Pero...

Cuando comienzas a actualizar el Hardware y los additions posiblemente envie errores de retraso en lectura.
Hacer un defrag al disco con Defraggler me dio solución a esos problemas. y despues ya actualice todo lo que faltaba.

Espero les sirva...

Saludos.

Les dejo la liga de la referencia..

domingo, noviembre 08, 2009

Tutoriales de SharePoint 2010

Con la salida de la versión beta de SharePoint 2010, empieza la oleada de información y se empieza a tejer una red mas para este producto.

http://msdn.microsoft.com/es-mx/sharepoint/ee513147(en-us).aspx


Sharop.

martes, marzo 17, 2009

Implementando algoritmo de la distancia de Levenshtein en C#

La referencia del algoritmo la pueden encontrar en la siguiente ruta
http://en.wikipedia.org/wiki/Levenshtein_distance, es muy ejemplificante y
los links te llevan a algunas modificaciones que existen sobre el mismo algoritmo.


Un poco de teoria:

La distancia de levenshtein permite calcular diferenciala entre 2 cadenas de caracteres, es decir el minimo numero de
operaciones necesarias para que una palabra s se transforme en una palabra t.
La operaciones que necesarias para que esto ocurra son las siguientes:

Td
aba --------->aa eliminacion

Ti
aa ---------->aba inserccion

Ts
aba ---------> ada sustitucion


¿Que es esto? bueno si tienes la palabra:

1. PERRO ---> PERROS : La distancia es 1 por que la diferencia entre perro y perros es 1 que es (s) la operacion es insercción
2. MOTO ----> FOTO : La distancia es 1 por que la diferencia entre MOTO y FOTO es F la operacion es sustitución


   1:          public int LevenshteinDistance(string s, string t)
   2:          {
   3:              // d is a table with m+1 rows and n+1 columns
   4:              int costo = 0;
   5:              int m = s.Length;
   6:              int n = t.Length;
   7:              int[,] d = new int[m + 1, n + 1];
   8:   
   9:              // Verifica que exista algo que comparar
  10:              if (n == 0) return m;
  11:              if (m == 0) return n;
  12:   
  13:              // Llena la primera columna y la primera fila.
  14:              for (int i = 0; i <= m; d[i, 0] = i++) ;
  15:              for (int j = 0; j <= n; d[0, j] = j++) ;
  16:   
  17:   
  18:              /// recorre la matriz llenando cada unos de los pesos.
  19:              /// i columnas, j renglones
  20:              for (int i = 1; i <= m; i++)
  21:              {
  22:                  // recorre para j
  23:                  for (int j = 1; j <= n; j++)
  24:                  {
  25:                      /// si son iguales en posiciones equidistantes el peso es 0
  26:                      /// de lo contrario el peso suma a uno.
  27:                      /// 
  28:                      costo = (s[i - 1] == t[j - 1]) ? 0 : 1;
  29:                      d[i, j] = System.Math.Min(System.Math.Min(d[i - 1, j] + 1,  //Eliminacion
  30:                          d[i, j - 1] + 1),                                       //Inserccion
  31:                          d[i - 1, j - 1] + costo);                               //Sustitucion
  32:   
  33:                  }
  34:              }
  35:          /// Calculamos el porcentaje de cambios en la palabra.
  36:              if (s.Length > t.Length)
  37:                  porcentaje = ((double)d[m, n] / (double)s.Length);
  38:              else
  39:                  porcentaje = ((double)d[m, n] / (double)t.Length);
  40:              return d[m, n];
  41:          }
  42:   
  43:          double _porcentaje = 0;
  44:   
  45:      

miércoles, abril 30, 2008

Uuuuuy, hace años de esto. No todo ha sido codigo.

Aun no me he ido,
sigo aqui esperando regreses por mi,
esta vez no me rehusare a irme de aqui,
espero pacientemente mi partida por el
obscuro tunel al que me has de llevar,
en medio de esa hermosa luna y grandes
catedrales soy yo quien ahora desea irse
espero pacientemente tu arrivo por mi.


Me han dicho, y he escuchado asi como lo he
sentido,
el dolor jamas pasara ,
solo lo asimilaras.

Formo parte neutral entre el bien y el mal, que tu raza ha creado. En
donde, en tu mundo dicen que la luz es la vida y la obscuridad es prohibida.
Soy yo quien a cada paso que tu das le temes, tu sabes que llegare por ti, pero
niegas tu partida de este lugar.
Solo soy el jinete que te ha de llevar al lugar donde perteneces.
Cuando me presente no te niegues, tu ya sabras a que he venido...