Posts Tagged ‘ Windows ’

El almacenamiento de datos de aplicación de Local y Roaming Storage con C#

Windows 8 tiene pocas maneras para almacenar datos de aplicación. La aplicación puede utilizar el directorio temporal para guardar cualquier tipo de información posible. Además WinRT proporciona soporte nativo para guardar datos en el almacén de datos de la aplicación como colección de pares de valor (Key-Value). Estos datos pueden ser almacenados localmente (Local o Temporary Storage) o utilizando un Roaming Storage. El Roaming Storage se sincroniza con Windows si el usuario permite la sincronización de datos (y cuando la sincronización esta permitida):

Para aprovechar las ventajas de este mecanismo la aplicación debe utilizar la clase ApplicationData del espacio de nombres Windows.Storage. Esta clase proporciona acceso a ambos, LocalSettings y RemoteSettings, que permiten abstraer la funcionalidad Guardar/Cargar desde la ubicación real de los datos.

En esta aplicación de ejemplo se trabajaran ambos tipos de almacenamiento. Como probablemente te acuerdas del post anterior, mi pantalla de configuración admite la conmutación entre tiendas activando o desactivando la sincronización de la configuración.

Independientemente a la ubicación de los datos reales (almacenamiento local o almacenamiento en la nube), la aplicación queda suscrita al evento DataChanged. Este evento se produce cuando el roaming de datos es sincronizado (en este ejemplo ocurre cuando se cambia en algún otro dispositivo que ejecuta la misma aplicación).

Nota: En este caso sincroniza sólo la configuración y, a continuación, vuelve a cargar los datos sincronizados una vez que fue modificado en otro dispositivo. En otros escenarios podría o no podría tener sentido la carga sincronizada de datos durante la ejecución de la aplicación y depende exclusivamente de la aplicación.

protected override void OnNavigatedTo(NavigationEventArgs e)

{
//Sunbscribe to DataChanged event to get notification if data changed in some other device
ApplicationData.Current.DataChanged += (sender, args) =>

{

//Reload settings when they changes somewhere

ReloadSettigns();

};

//Get settings

ReloadSettigns();

//…

}

Veamos en que consiste el método ReloadSettings:

private void ReloadSettigns()
{
    //Application logic prefers roaming storage over local one
    roamingSettings = ApplicationData.Current.RoamingSettings;
    if (roamingSettings.Values.Count == 0)
        roamingSettings = ApplicationData.Current.LocalSettings;
    //Application settings build from exactly 8 values. If something is missing use default values
    if (roamingSettings.Values.Count == 8)
    {
        //Value is object and must be cast to final type
        RemotePushEnabled = (bool)roamingSettings.Values["RemotePushEnabled"];
        LocationEnabled = (bool)roamingSettings.Values["LocationEnabled"];
        SensorsEnabled = (bool)roamingSettings.Values["SensorsEnabled"];
        LocalPushEnabled = (bool)roamingSettings.Values["LocalPushEnabled"];
        SharingEnabled = (bool)roamingSettings.Values["SharingEnabled"];
        ProximityEnabled = (bool)roamingSettings.Values["ProximityEnabled"];
        BackgroundAccess = (bool)roamingSettings.Values["BackgroundAccess"];
        SyncSettings = (bool)roamingSettings.Values["SyncSettings"];
    }
}

Se debe tener en cuenta que al cambiar algún valor en la pantalla de configuración, el valor se asigna a la variable correspondiente y el método SaveSettings es ejecutado:

private void SaveSettings()
{
    //Clean previous values
    CleanSettings();
    //If user prefers to sync data in the cloud use RoamingSettings, otherwise use LocalSettings
    if (SyncSettings)
        roamingSettings = ApplicationData.Current.RoamingSettings;
    else
        roamingSettings = ApplicationData.Current.LocalSettings;
    //Add values to settings
    roamingSettings.Values.Add("RemotePushEnabled", RemotePushEnabled);
    roamingSettings.Values.Add("LocationEnabled", LocationEnabled);
    roamingSettings.Values.Add("SensorsEnabled", SensorsEnabled);
    roamingSettings.Values.Add("LocalPushEnabled", LocalPushEnabled);
    roamingSettings.Values.Add("SharingEnabled", SharingEnabled);
    roamingSettings.Values.Add("ProximityEnabled", ProximityEnabled);
    roamingSettings.Values.Add("BackgroundAccess", BackgroundAccess);
    roamingSettings.Values.Add("SyncSettings", SyncSettings);
    //Signal data changed which will trigger cloud sync process when system synchronizes data next time
    ApplicationData.Current.SignalDataChanged();
}
private void CleanSettings()
{
    if (null != roamingSettings)
        roamingSettings.Values.Clear();
}

Nota: Limpiar todos los valores en lugar de sustituirlos no es probablemente la mejor práctica ya que puede aumentar el uso de tráfico en la sincronización, pero en el caso de éste simple ejemplo (y para mayor brevedad de código) se puede abordar de esta manera.

Por otra parte los ajustes pueden ser organizados en contenedores:

//Create new container
roamingSettings.CreateContainer("GeneralSettings", ApplicationDataCreateDisposition.Always);

//Setting named value in specific container
roamingSettings.Containers["GeneralSettings"].Values.Add("RegisteredUser", "AlexG");

//Getting named value form specific container
string user = (string)roamingSettings.Containers["GeneralSettings"].Values["RegisteredUser"];

//Delete container with all values
roamingSettings.DeleteContainer("GeneralSettings");

Cuando se utiliza la configuración de Roaming es importante saber cuántos datos se han sincronizado y cuántos podría ser sincronizados.
La clase ApplicationData proporciona información sobre la cuota de almacenamiento de roaming y su uso:
ulong quota = ApplicationData.Current.RoamingStorageQuota;
ulong used = ApplicationData.Current.RoamingStorageUsage;

Además, es posible crear la administración de la versión básica de datos almacenados en cualquier storage consultando la versión actual y la nueva configuración:

//Get current version
uint version = ApplicationData.Current.Version;
//Set new version
await ApplicationData.Current.SetVersionAsync(123, new ApplicationDataSetVersionHandler((version) => {
    if (version.CurrentVersion == version.DesiredVersion)
    {
         //Worked
    }
    else
    {
         //Something went wrong...
    }
}));

Por último, pero no menos importante, la clase ApplicationData proporciona acceso a las carpetas Local/Roaming/Temporary. Todas las clases exponen el API de muestra y permite administrar archivos y carpetas utilizando patrones de async de WinRT estándar:

//Create file in roaming folder. Also possible to create file/folder in ApplicationData.Current.TemporaryFolder or ApplicationData.Current.LocalFolder
StorageFile file = await ApplicationData.Current.RoamingFolder.CreateFileAsync("settings.dat", CreationCollisionOption.ReplaceExisting);//Open file for writing and write some binary buffer...
Stream stream = await file.OpenStreamForWriteAsync();
stream.Write(buffer, offset, count);
await stream.FlushAsync();

Traducido del post en inglés de Alex Golesh: Local and Roaming application data storage.

http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2012/02/29/windows-8-consumer-preview-and-visual-studio-11-beta-local-and-roaming-application-data-storage-part-5-11.aspx

Experiencia de dispositivo de Windows 8

El presente artículo es una aproximación a los esquemas de dispositivos dentro de Windows 8 y es una traducción de un articulo al respecto, al final se proporciona el vínculo al post original dentro de MSDN.

Windows 8 presenta varias mejoras en la manera en que los usuarios puedan descubrir y utilizar los dispositivos que estén conectados a su PC o a su dispositivo. Windows 8 puede detectar cámaras, GPS, acelerómetros, etc. y automáticamente los pone a disposición para su uso. Windows 8 desde la interface WinRT también puede instalar automáticamente los controladores de dispositivos externos desde el Windows Store en el momento que los usuarios lo conectan por primera vez (algo similar al Plug-and-Play). De esta manera, los usuarios no tienen que buscar o instalar el software controlador asociado. Además, Las aplicaciones del tipo WinRT que son partners de Windows 8 tienen la capacidad de aprovechar toda la gama de la funcionalidad existente dentro del nuevo Windows.

Windows 8 mantiene el pleno apoyo de la experiencia de Windows 7, incluyendo Device Stage e impresoras y dispositivos.

Introducción

Windows 8 hace fácil para los dispositivos y fabricantes de sistemas en el momento de una personalizarción, Esta experiencia se basa en la creación de una aplicación de dispositivo de estilo de WinRT asociadas a los dispositivos que se conectan a su PC o Tablet con Windows 8. Una aplicación de dispositivo esterno que se integre con el estilo WinRT implica varios componentes: La aplicación de dispositivos de estilo de WinRT, los metadatos del dispositivo y el controlador del dispositivo.

Metadatos de dispositivo en Windows 8

Como en Windows 7, los fabricantes pueden utilizar el sistema de metadatos para ofrecer una experiencia de dispositivo en dispositivos e impresoras y Device Stage para cuando éste se encuentre conectado al PC o tablet.  En el nuevo Windows 8 el sistema de metadatos del dispositivo también puede vincularse a la tablet o al PC para aplicaciones de dispositivos de estilo WinRT.

Para ver la documentación de desarrollo de controladores más reciente para Windows, consulte:

Documentación del Kit de controladores de Windows (En inglés)

Categorías de dispositivo

Las aplicaciones del estilo WinRT pueden crearse para tipos comunes de dispositivos, así como para ampliar las experiencias integradas en Windows 8 para impresoras, cámaras y banda ancha móvil, aprovechando todos los recursos asociados a la máquina. estas aplicaciones también pueden utilizarse para crear experiencias para otros tipos de dispositivos especializados:

Impresoras

Los fabricantes de impresoras pueden adaptar la experiencia de impresión de Windows 8 para su impresora para WinRT. El contrato de configuración de impresión en la aplicación de dispositivos de estilo de WinRT le permite aprovechar las capacidades únicas de su impresora. Si desea obtener más información al respecto se puede consultar:

Aplicaciones estilo WinRT para impresoras. (En inglés)

Banda ancha móvil

Los operadores de red móvil pueden adaptar la experiencia de banda ancha de un dispositivo móvil en Windows 8 a través de una aplicación que se integre con las funcionalidades del operador. La aplicación puede permitir a los usuarios administrar sus cuentas de servicio de banda ancha móvil directamente dentro de Windows. Los usuarios pueden disfrutar de un flujo de conexión optimizada consistente, mientras los proveedores de red móvil disfrutan de la posibilidad de presentar un valor agregado a su servicio. Para obtener información acerca de cómo desarrollar su aplicación vinculada con telefonía móvil y asegurar que el hardware de banda ancha móvil está listo para Windows 8, consulte:

Mobile banda ancha: habilitar estilo Metro de Windows 8 experiencias de operador (En Inglés)

Cámaras

Los fabricantes de cámaras conectadas o integradas pueden extender la experiencia de la cámara de Windows 8  través de una implementación de la aplicación de ajustes de cámara con un contrato de dispositivo de estilo WinRT permitiendo hacer uso de las capacidades únicas de su cámara. Para obtener más información, consulte:

Metro estilo Apps de dispositivo para cámaras (En Inglés)

Dispositivos de entretenimiento en red

Los fabricantes de dispositivos de entretenimiento en red, como televisores y sistemas de estéreo, pueden participar en la experiencia Windows 8, que permite aplicaciones de dispositivo de estilo WinRT enviando contenidos de tipo streaming a sus dispositivos. Para obtener más información, consulte:

Diseñar directrices para jugar a receptores (En Inglés)

Dispositivos especializados

Los fabricantes de casi cualquier dispositivo conectado puede crear una mejor experiencia de usuario a medida que aprovechan las capacidades únicas de sus dispositivo a través de una integración al WinRT. Asimismo, los fabricantes de software pueden aprovechar las funcionalidades incorporadas dentro de aplicaciones de estos dispositivos. WinRT ofrece una amplia gama de opciones para el desarrollo de dispositivos especializados, en el caso de utilizar controladores in-box de dispositivo puede proporcionar funcionalidades personalizadas a través de los controladores patentados.

Artículo original en inglés:

http://msdn.microsoft.com/en-us/library/windows/hardware/br259108.aspx

Detalles del nuevo sistema de archivos de Windows 8

El nuevo sistema de archivo resistente o ReFS, se convierte en la evolución de la tecnología sistema de archivos (NTFS), introducido por primera vez con Windows NT y posteriores Windows XP.

NTFS.SYS = NTFS upper layer API/semantics engine / NTFS on-disk store engine; ReFS.SYS = Upper layer engine inherited from NTFS / New on-disk store engine

Es la primera gran novedad del sistema de archivos en casi dos décadas y está diseñado para tomar ventaja de nuevas arquitecturas de almacenamiento, el uso de metadatos y virtualización. Por otra parte ReFS es compatible con NTFS, pero está diseñado para proporcionar altos niveles de escalabilidad y flexibilidad.

ReFS saca el máximo provecho a los espacios de almacenamiento, estos espacios de almacenamiento, permitirá a los usuarios a virtualizar pools de discos duros y unidades de estado sólido.

Se destaca en este sistema ReFS la capacidad de espacios de almacenamiento para permitir grandes volúmenes en tamaños de archivo y directorios, así como agrupación de almacenamiento simplificado y virtualización dentro del sistema de archivos y mejor resistencia a la corrupción y fallas con grandes volúmenes y grupos de almacenamiento compartido.

“Los datos almacenados en ReFS están accesibles a través del mismo acceso de archivo API en los clientes que se utilizan en cualquier sistema operativo que puede tener acceso a los volúmenes NTFS de hoy”, señala Surendra Verma (Partner Development Manager, Windows Core Operating Systems Group en Microsoft) en uno de sus post. “Además, ReFS hereda las características y semántica de NTFS incluido el cifrado BitLocker, listas de control de acceso para seguridad, diario USN, notificaciones de cambios, enlaces simbólicos, ‘junction points’, puntos de montaje, análisis de puntos, las instantáneas de volumen, los identificadores de archivo y oplocks”.

El código de equipo reutilizado que implemente la semántica de sistema de archivo de Windows, incluyendo lectura, escritura, abrir, cerrar y notificación de cambio. También “mantiene  memoria de archivo y estado de volumen, exige la seguridad y mantiene la memoria caché y sincronización de datos de archivo. “Esta reutilización asegura un alto grado de compatibilidad con las características de NTFS que nos estamos llevando adelante, explicó Verma.

ReFS está diseñado para maximizar la confiabilidad de disco con un nuevo modelo transaccional y resistencia a daños en el disco, streams de integridad diseñados para proteger los archivos de datos dañados, agregó Verma.

ReFS sale a la par de Windows Server 8. La compañía más tarde lo agregará al cliente y finalmente como un volumen de arranque. Sin embargo los clientes basados en NTFS podrán acceder a los datos de referencias a través de las API de nivel de archivo que pueden tener acceso a los volúmenes NTFS.

Como NTFS y su predecesor la tabla de asignación de archivos (FAT), ReFS no permitirá a los usuarios convertir datos entre los sistemas de archivos diferentes. Los usuarios no podrán implementar a ReFS en unidades extraíbles. También prestará apoyo a failover clustering.

Para una mayor información se puede consultar el post de Verman (En Inglés)

Cómo utilizar los espacios de almacenamiento (Storage Spaces) de Windows 8

Los ” Storage Spaces ” (Espacios de almacenamiento), una nueva característica de Windows 8 que puede combinar varios discos duros en una sola unidad virtual. Puede replicar datos en varios discos para redundancia o combinar varios discos físicos en un repositorio único de almacenamiento de información.

Incluso puede crear agrupaciones de almacenamiento más grande que la cantidad de espacio físico de almacenamiento que tenga disponible. Cuando se llena el almacenamiento físico, puede conectar en otra unidad y aprovechar que no se requiere configuración adicional. Espacios de almacenamiento son similares a RAID o LVM en Linux.

Como crear un espacio de almacenamiento

Para crear un espacio de almacenamiento, se tendrá que conectar dos o más unidades adicionales al ordenador – no se puede utilizar la unidad del sistema para ello. Las unidades pueden ser unidades internas o externas.

Se puede abrir la ventana de configuración de espacios de almacenamiento desde el Panel de Control o poniendo la pantalla de inicio con la tecla de Windows, escribir “Espacios de almacenamiento” (Storage Spaces) haciendo clic en la categoría de configuración y seleccionar el acceso directo de espacios de almacenamiento.

Si no ha configurado un espacio de almacenamiento, sólo verá un enlace para crear un nuevo espacio de almacenamiento. Una vez que haya configurado un espacio de almacenamiento, la información correspondiente a los espacios de almacenamiento del sistema aparecerá en la ventana correspondiente.

Se podrán seleccionar las unidades que desea utilizar y luego haga clic en el botón “Crear grupo” para continuar. Perderás todos los archivos que están ya en la unidad – copiar cualquier archivos importantes de las unidades antes de la agrupación les. Puede agregar unidades adicionales posteriormente.

Después de seleccionar las unidades en el Storage Pool, tendrá que configurar su nuevo espacio de almacenamiento. La letra del nombre y unidad son autoexplicativos – el espacio de almacenamiento de información aparecerá como la letra de unidad que se especifique.

Windows le dirá la máxima capacidad física de las unidades agrupadas, pero se puede especificar un tamaño lógico arbitrariamente grande. Por ejemplo, podría aunar dos unidades de disco de 20 GB y seleccione un tamaño combinado de 500 GB. El espacio de almacenamiento aparecerá para Windows y otros programas como una unidad que tiene 500 GB de almacenamiento disponible. Cuando la unidad comienza a llenarse y acerca el límite físico de 40 GB, Windows mostrará una notificación en el centro de la acción, solicitándole que añadir espacio adicional de almacenamiento físico.

El tipo de resistencia controla cómo Windows debe tratar a los datos almacenados. Hay cuatro opciones:

  • None: Windows almacena sólo una copia de su. Perderá los datos si falla una de sus unidades, pero no hay espacio se utilizará en copias de seguridad.
  • Two Way Mirror: Windows almacena dos copias de sus datos. Si falla una de sus unidades, no perderá sus datos. Esto requiere al menos dos unidades.
  • Three Way Mirror: Windows guardará tres copias de sus datos. Si fallan uno o dos de sus unidades, no perderá sus datos. Esto requiere al menos tres unidades.
  • Parity: Windows almacena la información de paridad con los datos, le protege de un fallo de disco único. Paridad utiliza espacio en disco más eficientemente que espejado, pero son más lentos tiempos de acceso de archivo. La paridad es ideal para unidades con archivos grandes, frecuentemente actualizados, como archivos de vídeo.

Después de introducir la configuración, haga clic en el botón “Crear el espacio de almacenamiento” y Windows creará y formateará el espacio de almacenamiento.

Utilizando un espacio de almacenamiento

Su nuevo espacio de almacenamiento de información aparecerá en el explorador de Windows como una unidad normal con una carta de una sola unidad. Aparece no difiere de una unidad física normal a Windows y los programas que usa el espacio de almacenamiento.

Se puede hacer lo mismo que se haría con una unidad normal de almacenamiento de información. Incluso puede habilitar el cifrado de unidad BitLocker para ello.

Gestión de espacios de almacenamiento

Después de crear un espacio de almacenamiento, puede revisar el panel de control de espacios de almacenamiento para ver información sobre los espacios de almacenamiento. Desde esta ventana, puede ver el espacio disponible pool de almacenamiento, agregar unidades adicionales y crear nuevos espacios de almacenamiento.

Para una mayor profundización sobre el tema, les recomiendo revisar el siguiente vínculo: http://blogs.msdn.com/b/b8/archive/2012/01/05/virtualizing-storage-for-scale-resiliency-and-efficiency.aspx

Habilitar la Hyper-V en Windows 8

image

Siendo sinceros, Microsoft parecía que estaba siempre un paso por detrás de las tecnologías de virtualización, más aún cuando solo contábamos con la herramienta Virtual PC por su parte, por eso debemos reconocer que al llegar Windows 8 se ha dado un gran cambio, y que podemos considerar positivo desde muchos puntos de vista.

Todo empezó con la necesidad que tenía de implementar un par de máquinas virtuales sobre windows 8, acá se presentaron dos alternativas y quise probar Hyper-V, en medio de la información que encontré, comparto con ustedes esta que encontré acerca de la implementación de la aplicación de esta util e interesante herramienta que ya viene integrada con el Sistema Operativo ya que por un lado se empieza a unificar la tecnología de virtualización en sistemas operativos de servidor y de cliente en Hyper-V.

Por otra parte ya podemos utilizar máquinas virtuales de 64 bits, sin tener que recurrir a VirtualBox o alguna otra herramienta de terceros.

Ahora, que se debe hacer para habilitar el rol de Hyper-V y poder utilizar las bondades sus bondades, es muy simple:

  • Presionamos la tecla Win y W para acceder a las búsquedas de Settings
  • Escribimos “features” en la opción de búsqueda.
  • En el formulario de features de Windows, seleccionamos la opción “Hyper-V”, se debería ver de la siguiente manera:

image

  • En este punto solamente esperamos a que se instalen las características que seleccionamos. (Probablemente sea necesario reiniciar el sistema).

Y listo, ya podemos disfrutar de Hyper-V. con solo presionar la tecla Win y Q escribimos “Hyper” en el buscador y podremos seleccionar nuestro virtualizador…

image

El resto es manejo de la aplicación, podremos ver que las opciones de Hyper-V para Windows 8 es bastante intuitivo ya que se parece a otras herramientas administrativas que tiene el SO.

Desde acá los invito a que prueben Hyper-V y den sus respectivas apreciaciones sobre los beneficios o sobre las dificultades de manejo e implementación.

Hasta un próximo Post.

Un vistazo rápido a SharePoint Foundation 2010

Recuerdo que cuando salió SharePoint 2010 en su momento me pregunté si existía el WSS 2010 o 4.0 o algo así y me desconcerté al no encontrarlo por ese nombre, pensé que era una lástima que SharePoint 2010 no incluyera una versión base para las micro y pequeñas empresas que pudieran utilizar esta plataforma solamente teniendo la licencia del servidor.

Después observé que era por falta de investigación de mi parte y que no solamente traía una plataforma que no requería un costo extra además de la licencia Win 2003 Server o Win 2008 server, sino que incluía mejoras considerables en comparación a la versión Windows SharePoint Services 2007 (WSS 3.0), esta nueva versión tiene el nombre de Microsoft SharePoint Foundation 2010.

Lo Bueno

Entre otras cosas incorpora una interfaz gráfica mejorada, Servicios de Conectividad empresarial, autenticación basada en notificaciones, también el SharePoint Health Analyzer que permite realizar supervisiones de estado y el Windows PowerShell para la administración
del sistema.

Por otra parte incluye la posibilidad de desarrollo gráfico de web parts con Visual Studio 2010 y la personalización que también puede realizarse utilizando la herramienta gratuita SharePoint Designer 2010.

Lo Malo

Francamente en comparación a otras plataformas similares e incluso a su predecesor, no hay elementos malos en esta nueva versión de SharePoint. Como siempre, es necesario verlo, comprenderlo y trabajarlo para poder sacarle el máximo provecho a SharePoint.

Lo Feo

Si lo que se requiere es realizar una migración de WSS 3.0 montado sobre un servidor de 32bit a SharePoint Foundation, debemos recordar que las plataformas 2010 de SharePoint corren sobre servidores de 64bit, esto quiere decir que primero se debe pasar nuestro WSS a un servidor de 64bit y después de esto se debe realizar la actualización de SharePoint, lo que representa un esfuerzo extra. De ahí en adelante no debería presentarse ningún inconveniente al respecto.

Espero que esta información les haya sido de utilidad, muchos éxitos!!!

Migrando de WSS 32bit a SharePoint Foundation 2010

No es tan transparente como se quisiera la migración, o mejor, la actualización de Windows SharePoint Services (WSS) a Windows SharePoint Foundation, sobre todo si tenemos implementado nuestro WSS sobre un servidor que corre a 32bit, sin embargo no es un proceso imposible y no es tan difícil como parece al inicio.

Una manera de realizar este proceso es la siguiente:

  • Creamos un BackUp utilizando el STSADM.exe (-obackup) de SharePoint desde consola de comandos del servidor origen.
  • Configurar nuestro servidor de destino preferiblemente Windows 2008 server de 64bit, instalando los service pack requeridos.
  • Si se utiliza un servidor SQL Server independiente no hay problema, se seguirá apuntando al mismo, de lo contrario instalar el SQL Server si es requerido. (64bit si es sobre el mismo servidor).
  • Se instala el WSS 3.0 ade 64bit en el nuevo servidor.
  • Utilizamos el STSADM.exe (-o restore) desde la consola de comandos en la consola de comandos del servidor destino para
    restaurar el backup realizado.
  • Se realiza un chequeo para la actualización de SharePoint con STSADM.exe –o preupgradecheck.

Por último se siguen los pasos de actualización de SharePoint.

En principio esto debe funcionar con la mayoría de los sitios, la cosa se pone un poco más compleja al migrar los sitios personalizados con un alto contenido de WebParts y desarrollo a la medida incorporado.

Espero sea de utilidad la información proporcionada, por lo menos como una base que pueda guiarlos en el proceso de actualización de su plataforma.

A %d blogueros les gusta esto: