Share via


Procedimiento para importar una definición de aplicación de XML

El Catálogo de datos profesionales es compatible ahora con dos tipos de archivos de definición de aplicaciones XML: modelo y recurso. Un archivo de definición de aplicación de tipo modelo contiene los metadatos XML básicos para un sistema. Un archivo de tipo recurso permite importar y exportar sólo los nombres localizados, las propiedades y los permisos, en cualquier combinación. A continuación, se muestran los tipos de archivos de recursos:

  • LocalizedNames   Contiene los nombres localizados de los objetos de metadatos en una configuración regional determinada. Al importar este archivo, su información se combina con los metadatos existentes en el repositorio de metadatos. Si ya existe un nombre localizado para la configuración regional, se sobrescribe con la información del archivo LocalizedNames.

  • Properties   Contiene propiedades para los objetos de metadatos. Al importar este archivo, su información se combina con los metadatos existentes en el repositorio de metadatos. Si una propiedad ya existe, su valor se sobrescribe con la información del archivo Properties.

  • Permissions   Contiene listas de control de acceso (ACL) para los objetos de los metadatos. Al importar este archivo, su información se combina con los metadatos existentes en el repositorio de metadatos. Sin embargo, si ya existe una entrada de control de acceso (ACE) para un objeto, su valor se sobrescribe con la información del archivo Permissions. Por ejemplo, si la definición de la aplicación existente sólo tiene un Usuario A con acceso a la Entidad A, y se importa un archivo Permissions que sólo tiene al Usuario B con acceso a la Entidad A, entonces, se elimina la ACL para la Entidad A y se crea una nueva con el Usuario B solamente.

Si importa un archivo de modelo para una aplicación, el Catálogo de datos profesionales sobrescribe los metadatos existentes para esa aplicación. Sin embargo, si importa archivos de recursos que contienen nombres localizados, propiedades o permisos, en cualquier combinación, el Catálogo de datos profesionales realiza una operación de combinación. Simplemente combina los contenidos del archivo de recursos con los metadatos ya existentes para esa aplicación.

Esto resulta extremadamente útil en determinadas situaciones. Para ilustrar este punto, supongamos que ya ha importado un archivo de definición de la aplicación para un sistema complejo de planeación de recursos empresariales (ERP). Ahora consideremos tres situaciones:

  • Hay un cambio en la información de conexión back-end. Para actualizar la información de conexión, puede crear un archivo de recursos de propiedades simple que sólo incluya las propiedades modificadas en el objeto LobSystemInstance y luego importarlo. El Catálogo de datos profesionales combinará esta información con las propiedades LobSystemInstance existentes y, si ya existe una propiedad, su valor se sobrescribirá con la nueva información del archivo de recursos.

  • Su compañía se diversificó a una nueva región y la aplicación ahora tiene que admitir un nuevo idioma localizado. En este caso, puede crear un archivo de recursos LocalizedNames que contenga sólo los nombres localizados para este nuevo idioma y luego importar el archivo. El Catálogo de datos profesionales combina esta información con los metadatos existentes, lo cual soluciona el problema fácilmente.

  • Una franquicia tiene que usar la aplicación en su entorno. En este caso, se puede crear un archivo de recursos de permisos que contenga sólo las ACL para los usuarios en su franquicia y luego importar el archivo. El Catálogo de datos profesionales sobrescribe las ACL existentes con la información nueva, lo cual resuelve este problema.

Importar un archivo de recursos nuevo es un mejor enfoque que actualizar el archivo del modelo. Si actualiza el archivo del modelo al agregar los nombres localizados o las propiedades, el Catálogo de datos profesionales eliminará los metadatos existentes y sobrescribirá el archivo con la información nueva. Es posible que esto no siempre sea aconsejable y puede implicar pruebas y esfuerzos adicionales. Por ejemplo, si actualiza el archivo del modelo, el Catálogo de datos profesionales elimina todos los objetos de los metadatos y sus identificadores; por lo tanto, sería necesario realizar un rastreo completo de los objetos de los metadatos para la búsqueda.

Importante

Un archivo de definición de una aplicación única puede contener cualquier combinación de archivos de recursos y de modelo. La Administración central de SharePoint admite esta opción en la interfaz de usuario (UI) de importación y exportación y el modelo de objetos la admite mediante los operadores OR de bit a bit (|).

Puede usar el modelo de objetos de administración para importar los metadatos de los archivos XML. Esto le permitirá automatizar la adición de definiciones de aplicación al Catálogo de datos profesionales. El siguiente ejemplo de código le muestra cómo usar el método ImportPackage del objeto LobSystem para importar los metadatos.

Nota

Puede usar los operadores OR de bit a bit (|) para pasar varios valores de PackageContents para la exportación e importación.

Ejemplo

En el ejemplo de código siguiente se muestra cómo usar el método ImportPackage del objeto LOBSystem para importar los metadatos para un sistema.

Prerequisites

  • Asegúrese de que ya se haya creado un proveedor de servicios compartidos.

  • Obtenga el archivo AdventureWorks2000.XML del centro de descarga MSDN.

  • Reemplace el nombre del servidor SQL en el archivo XML y la ubicación del archivo XML en el ejemplo del código con los valores reales.

  • Reemplace el valor constante EnterYourSSPNameHere en el código con el nombre del proveedor de recursos compartidos.

  • Project References

Antes de ejecutar este ejemplo, agregue las siguientes referencias de proyecto al proyecto de código de aplicación de consola:

  • Microsoft.SharePoint

  • Microsoft.SharePoint.Portal

  • Microsoft.Office.Server

  • System.XML

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;

namespace Microsoft.SDK.SharePointServer.Samples
{
    class GetStartedAndCreateSystem
    {
        const string yourSSPName ="EnterYourSSPNameHere";
        const string XMLFileLocation = "EnterXMLFileLocationHere";
        
        static void Main(string[] args)
        {
            SetupBDC();
            ImportLobSystemFromXML();
            Console.WriteLine("Press any key to exit...");
            Console.Read();
        }
        static void SetupBDC()
        {
            SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
        }
        public static void ImportLobSystemFromXML()
        {
            if (File.Exists(XMLFileLocation))
            {
                FileStream xmlStream = new FileStream(XMLFileLocation, FileMode.Open, FileAccess.Read);
                ParseContext parseContext = new ParseContext();
                ApplicationRegistry.Instance.ImportPackage(xmlStream, parseContext, PackageContents.Model | PackageContents.Properties);
            }
            else
            {
                throw new ArgumentException(string.Format("Specified path is invalid [{0}]", XMLFileLocation));
            }
        }
      }
}

Vea también

Otros recursos

Catálogo de datos profesionales: modelo de metadatos