Creando un Web Part que muestra tipo de cambio del Banco de México

Teniendo México una proximidad geográfica con
estados unidos y siendo un país con vocación industrial especialmente en la
frontera, el contar con información financiera es esencial para muchos de los trabadores
del conocimiento. Dicho esto, quiero compartir un ejemplo muy simple de
como consumir el RSS Feed del Banco de México para mostrar en nuestras páginas
SharePoint el tipo de cambio.

He aquí una video demostración de cómo
construir un WebPart de SharePoint 2013 usando SharePoint Designer 2013 que
muestra el tipo de cambio del Banco de México. 


Originalmente publicado en msmvps.com

Creando un Web Part que muestra el pronóstico del tiempo con SharePoint Designer 2013

Amigos pues en esta ocasión tuve la
oportunidad de crear un Web Part mus simple para mostrar el pronóstico del
tiempo para un área en particular. Quería compartir lo facil que es construirlo. Este enfoque también funciona en SharePoint Designer 2010.

Originalmente publicado en msmvps.com

Comando PSCONFIG para configurar nuestra granja SharePoint

Como es bien sabido por todos, nuestro producto favorito SharePoint tiene la capacidad de auto nombrar o auto definir los nombres de las bases de datos para la configuración, aplicaciones de servicio y contenido facilitando con ello cualquier proceso de aprovisionamiento y configuración. Sin embargo, muchas empresas cuentan con esquemas de nombramiento de bases de datos pre establecidos para poder facilitar el soporte a largo plazo de las mismas, por ejemplo, siguiendo un estandar de nombramiento de las bases de datos es mas facil para un administrador SQL realizar operaciones de mantenimiento o soporte. En ese sentido, hay ocasiones donde nos vemos forzados utilizar nombres específicos para nuestras bases de datos SharePoint, adicional los nombres auto generados de SharePoint son dificiles de mantener ya que normalmente cuentan con Guids como parte del mismo nombre. 🙁 

Existen diversas opciones para ser establecer los nombres de nuestras bases de datos SharePoint, como por ejemplo desde la herramienta central de administracion o via PowerShell, el día de hoy quiero compartir mi opción favorita, PSCONFIG.EXE.

Una vez que instalamos SharePoint sobre nuestro servidor de aplicaciones principal, podemos utilizar la aplicación PSCONFIG.exe ubicada en la ruta raíz de SharePoint para dar inicio a la creación y aprovisionamiento de las bases de datos de configuración de nuestra granja permitiéndonos definir su nombre tanto de base de datos de configuración como el de la herramienta central de administración, el comando es:

C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions14bin>PSCONFIG -cmd -configdb -create -server sql_alias -database PROD_Farm_ConfigDB -user DOMAINSP_Farm -password password123 -passphrase “Client SharePoint Implementation” -admincontentdatabase PROD_Farm_CentralAdmin

El proceso tarda unos minutos y mediante la consola de comandos se nos va mostrando el estatus del proceso de aprovisionamiento:

Una vez que terminamos este proceso ejecutamos el SharePoint Product Configuration Wizard para definir el puerto de la herramienta central de administración.

Mi recomendación es que preguntas sobre el estandar de nombramiento de bases de datos que tu empresa o cliente utiliza, en caso de que no tenga, tu puedes proponer uno. Por ejemplo yo utilizo el siguiente: Ambiente_Tipo_Nombre en donde ambiente puede ser DEV, QA, UAT, PROD, PIL y el tipo Content,Farm,SA de Service Application y el nombre. EN este ejemplo vemos PROD_Farm_ConfigDB osea, la base de datos de configuracion de mi ambiente de produccion. 🙂

Originalmente publicado en msmvps.com

Consejos para que programadores SharePoint dejen de pensar como programadores .NET en vivo y a todo color

Durante una conferencia a la que fui invitado como expositor, el ponente anterior a mi participación no se presentó y los organizadores me pidieron dar otra sesión de 30 minutos para llenar el hueco de tiempo. Ya había publicado en mi Blog un Post referente a consejos para para que los programadores SharePoint dejen de pensar como programadores .NET y decidí compartir esos consejos en esa sesión de forma amena y creo yo divertida. Este video es justamente esa intervención improvisada que durante el 4to Simposio Latinoamericano de SharePoint en la ciudad de México, DF el día 29 de Abril del 2010 tuve la oportunidad de compartir con mas de 300 colegas y profesionales SharePoint. 

Hace unos días un colega me hizo llegar el video de la sesión y me di el tiempo de editarlo un poco y ponerlo a disposición en mi canal de Youtube en donde usted puede entrar y presenciar aquella polémica sesión. 

 

Originalmente publicado en msmvps.com

Configurar cuenta de usuario para administrar granja SharePoint

Para efectos de ser granular y especifico en cuanto a los permisos y privilegios de aquellos que pueden realizar operaciones de administración de una granja SharePoint, normalmente hacemos uso de distintas cuentas de usuario dedicadas solo a la administración de este producto. En este post te quiero compartir los pasos para configurar de forma apropiada cuentas de administración SharePoint y así delegar a otros de una manera administrada y gestionable la administración de SharePoint.

Los pasos son:

  • Crear una nueva cuenta de directorio activo
  • Agregar la nueva cuenta como miembro al grupo de administradores locales
  • Agregar la nueva cuenta como miembro al grupo de WSS_Admin_WPG
  • Agregar la nueva cuenta a la lista de Administradores de Granja en la Herramienta Central de Administracion de SharePoint
  • Ejecutar comando PowerShell para asignar el rol de SQL Shell Access Admin sobre la bases de datos a las que la nueva cuenta puede administrar

Crear una nueva cuenta de directorio activo

Se recomienda que creemos una nueva cuenta de directorio active dedicada solo para el administrador en cuestión, esto para efecto de separar justamente las cuenta típica del empleado que realiza las operaciones de administrador de la gestión de la plataforma. Adicional, no queremos que la cuenta de usuario de uso diario de nuestro administrador sea la que tiene permisos sobre toda la granja, recordemos que el también es un usuario de SharePoint y no hay razón alguna para usar su identidad de empleado como la identidad del administrador de este servicio. Por ello, recomendamos crear una nueva cuenta y además usar una nomenclatura que claramente especifique la naturaleza de la función. Ejemplo adm.hgonzalez en donde adm. refiere que es una cuenta de administración.

Agregar la nueva cuenta como miembro al grupo de administradores locales

Otro consejo es crear un grupo de dominio y agregar este grupo de dominio al grupo de administradores locales en el servidor en cuestión, de esta forma simplemente agregamos nuestras cuentas de administradores SharePoint sobre el grupo de dominio el cual a su vez es miembro del grupo de administradores locales. Un nombre sugerido para este grupo puede ser “SharePointLocalAdmins”.

Agregar la nueva cuenta de administrador al grupo local WSS_ADMIN_WPG

También se requiere agregar nuestra nueva cuenta como miembro del grupo local WSS_ADMIN_WPG o simplemente agregar el grupo de dominio “SharePointLocalAdmins” como miembro al grupo local WSS_ADMIN_WPG.

Agregar la nueva cuenta a la lista de Administradores de Granja en la Herramienta Central de Administracion de SharePoint

Se requiere que nuestra cuenta de administrador se registre en la lista de administradores de granja de la herramienta central de Administracion SharePoint.

Ejecutar comando PowerShell para asignar el rol de SQL Shell Access Admin sobre la bases de datos a las que la nueva cuenta puede administrar

La cuenta en cuestión debe de contar con el rol SharePoint Shell Access sobre las bases de datos tanto de configuración como de contenido a fin de tener los permisos y privilegios para hacer operaciones de administración mediante PowerShell sobre esas bases de datos. Para poder asignar dicho rol usamos el comando Add-SPShellAdmin DOMINIOadm.hgonzalez otorgando permisos a la base de datos de configuración. Sin embargo, si quisiéramos otorgar privilegios para manipular otras bases de datos de SharePoint como de contenido o de configuración de aplicaciones de servicio usamos el comando Get-SPDatabase | Add-SPShellAdmin DOMAINadm.hgonzalez para otorgar dichos privilegios en todas las bases de datos de la granja.

 

Originalmente publicado en msmvps.com

Configurando correo de salida en SharePoint usando PowerShell

Una de las primeras características del producto SharePoint es la de permitir a los usuarios a suscribirse a las alertas. Las alertas son un mecanismo de notificación de cambios vía correo electrónico en listas o bibliotecas de documentos permitiendo al usuario enterarse de cualquier cambio que suceda. Para que esta funcionalidad trabaje adecuadamente se debe de especificar en la configuración de la granja SharePoint la dirección SMTP del servidor que mandara los correos electrónicos y también la dirección de correo electrónico usada para enviar las notificaciones. Normalmente especificamos esos valores de forma manual usando la herramienta central de administración, sin embargo, el día de hoy quiero mostrar como especificar esta configuración usando un script de PowerShell.

$webApp = Get-SPWebApplication –IncludeCentralAdministration – Identity http://splapp1:5555

$webApp.UpdateMailSettings(“smtp.splatin.com”,”collaboration@splatin.com”, “collaboration@splatin.com”,65001)

$webApp.Update()

Originalmente publicado en msmvps.com

Recuperando datos desde una bases de datos de contenido SharePoint existente en SQL Server

En SharePoint 2010 y 2013 los administradores SharePoint tenemos la posibilidad de recuperar información desde una base de datos de contenido SharePoint que no necesariamente este montada sobre nuestra granja sino más bien solamente restaurada en SQL Server permitiéndonos realizar nuestra recuperación en menos tiempo y sin tanta configuración. Explico, en pasadas versiones para poder recuperar información desde un respaldo de una base de datos de contenido SharePoint normalmente teníamos que montar la base de datos restaurada sobre nuestra granja SharePoint, usando tanto comandos stsadm como la herramienta central de administración. Con SharePoint 2010 y 2013 no necesariamente es el caso, podemos hacerlo como antes o simplemente usar la herramienta central de administración para explotar el contenido de una base de datos SharePoint montada simplemente en un servidor SQL Server reduciendo con esto los tiempos de nuestros acuerdos de servicio ‘SLAs” y claro, ser más proactivos en la recuperación de datos.

Veamos entonces como lograrlo.

Accedemos a la herramienta central de administración y damos clic sobre el menú de respaldos y restauración para posteriormente seleccionar la opcion de recuperación de datos desde una base de datos no adjuntada.

unattached01

Especificamos el nombre e instancia de nuestro servidor SQL Server o bien el SQL Alias si es el caso donde se encuentra adjuntada nuestro respaldo de la base de datos de contenido SharePoint, especificamos el nombre de la base de datos a la cual nos queremos conectar para obtener los objetos SharePoint que requerimos recuperar. Seleccionamos el tipo de recuperación que queremos hacer, por ejemplo, podemos recuperar una colección de sitios, un sitio web o una lista.

unattached02

Usamos el explorador para buscar en este caso la colección de sitios que nos interesa recuperar directamente sobre la base de datos de contenido adjuntada en SQL Server. Como podemos ver, SharePoint es capaz de presentar todas las colecciones de sitio existentes, así mismo, SharePoint es capaz de explorar sitios web dentro de las colecciones e incluso listas y librerías.

unattached03

Una vez que elegimos el objeto a recuperar especificamos una ruta compartida y un nombre de un archivo físico donde será respaldado el contenido proveniente de la base de datos en cuestión. Posteriormente damos iniciar al proceso de respaldo.

unattached04

También, podemos monitorear el proceso en ejecución.

unattached05

unattached06

Al terminar validamos el archivo de respaldo generado.

unattached07

Y para finalizar simplemente ejecutamos un comando PowerShell para realizar el proceso de restauración del respaldo en cuestión sobre una colección de sitios existente en nuestra granja. El comando para restaurar una colección de sitios respaldada es:

Restore-SPSite http://intranet/teams/sp -Path \d21-daScriptsbackupsp.bak

Validamos entonces la restauración y removemos el respaldo de la base de datos adjuntada en SQL Server. Esta es una técnica que permite recuperar información de una respaldo, asegúrate de definir un tiempo de respaldo SQL valido para que con ello puedas ser capaz de definir lo que llamamos el tiempo aceptable de perdida de datos. Por ejemplo, si tus respaldos SQL Server se ejecutan al final del dia, esto quiere decir que solamente puedes recuperar información de un día anterior y que tu potencial perdida de datos es de horas.

Originalmente publicado en msmvps.com

El ecosistema de las apps como una opción para mejorar tu carrera profesional

Un buen
amigo mío me hizo el comentario de que quiere mejorar por no decir cambiar
su carrera, él es ingeniero industrial y siempre se ha caracterizado por tener
fortalezas en matemáticas y lógica. Incluso me comentó que cuando cursó la
materia de programación en la universidad le gustó mucho y además fue fácil
para el adaptarse y entender los fundamentos de la programación.

Todas las
carreras profesionales tienes un sustento y razón de ser en la sociedad, si
existen como oferta académica es porque existe demanda en el mercado. Las
universidades cuentan con estudios y mecanismos formales que les permiten
monitorear las distintas industrias y requerimientos de una región y con base
en ello dictaminar la apertura de una nueva carrera. Sin embargo, como
profesional de la información que tiene más de 13 años en la industria puedo
decir que el futuro es muy prometedor en cuanto a las tecnologías de la
información, desde mi perspectiva muy personal estamos apenas iniciando, ha
costado mucho para la industria de las tecnologías de la información acordar
estándares y mecanismos de interoperabilidad que nos permitan estar conectados
desde cualquier lugar, a cualquier hora y desde cualquier dispositivo. El
camino ha sido largo y poco a poco se han venido constituyendo las partes
medulares de un ecosistema conectado y disponible, reconocimiento de voz,
gestos táctiles, digitalización, reconocimiento facial, entre otros al fin
están tomando una forma mucho más robusta y sustentable para la vida diaria
tanto en casa como en la empresa.

A mediados
de la década de los 2000 en algún punto recuerdo que se llegó a comparar la
madurez de la industria de las tecnologías de la información equivalente a los
1800 y como las piezas y conceptos de urbanización se podían comparar con
algunas piezas y conceptos de las tecnologías de la información, ver metrópolis.  Solo
imagina como se tuvo que llegar al acuerdo para estandarizar los rieles o rutas
de un tren entre regiones e incluso países, o como se llegó a estandarizar
internacionalmente las medidas y componentes mecanismos armas de fuego, entro
otras industrias. Los estándares web han sido cruciales en la evolución de
nuestra industria.

Buenos pues
hemos seguido avanzando en la creación de especificaciones y estándares para
conectar sistemas y redes, versiones de estándares para internet se han estado
actualizando y también multitudes de técnicas, marcos de trabajo o frameworks,
enfoques de solución, patrones, arquitecturas de construcción se han
posicionado en la industria. De pronto abrimos los ojos y nuestros sitios web
deben de ser afines a los dispositivos móviles, de pronto las empresas cuentan
con nuevas tabletas o dispositivos que los empleados traen día con día, ahora
los consumidores cuando tienen una necesidad especifica que no está cubierta
por las características de funcionalidad de un dispositivo móvil lo primero que
piensa es “seguro hay una app (aplicación) para esto” y sin duda alguna
dispuestos a pagar por ella. Es aquí donde desde mi muy humilde opinión parte
del futuro se ve reflejado. 

El ecosistema
de “apps”

Si estás
buscando hacer un cambio en tu carrera y adentrarte al mundo de la programación
mi recomendación inicial es que sigas el enfoque de las apps como una
alternativa. Mientras más utilices tu Smartphone y tableta, mejor preparado
estarás para idear alguna solución candidata para ser una app. Si eres
especialista en otra industria o tienes carrera distinta a tecnología de la información
excelente, hoy más que nunca nuevas aplicaciones son requeridas, las herramientas
para construirlas reducen la complejidad y tu estimado amigo con la experiencia
en otros campos estoy seguro hay focos de oportunidad.

Adicional,
hoy más que nunca empresas como Microsoft, Google, Netflix, Youtube, Samsung,
Nintendo, AT&T, etc. ofrecen kits de programación o programas de
capacitación gratuitos para fomentar la creación y uso de aplicación de más
alta calidad. Anímate a enrolarte a algún programa de esta naturaleza y busca
apoyo directo con los profesionales de la empresa en cuestión.


Microsoft
cuenta con diversas plataformas de comercialización de apps como Windows Store,
SharePoint Store, Office Store, también Skype tiene su Store. Cuantas personas
y empresas usan los programas de Office como Word, Power Point, Excel. Buen
pues estos programas ahora pueden usar apps tanto gratuitas como pagadas para
facilitar la realización de una tarea en particular. 
 

 

Si tienes
Word en su versión 2013 notaras que en el “Ribbon” de Insertar “Insert” existe
un icono llamado Apps for Offi

 

Adicional
la empresa de capacitación virtual http://www.pluralsight.com cuenta con robustos cursos y
módulos de programación desde lo más básico hasta lo más avanzado, de hecho,
existen diversos casos de éxito que usando el material de esta empresa han
podido hacer un cambio de carrera como:

Aquí una entre a Iris sobre cómo
pudo ser un desarrollador
de Software en 1 año
.  

Originalmente publicado en msmvps.com