MPP a XER

El formato MPP es uno de los principales formatos de Microsoft Project que se utiliza a menudo para almacenar cargas de trabajo, cronogramas y finanzas. Desde el lanzamiento temprano de Microsoft Project en 1984, se ha utilizado para administrar proyectos, desarrollar cronogramas, establecer presupuestos y asignar recursos. Por lo tanto, el formato MPP es el tipo de archivo nativo asociado con Microsoft Project y almacena información del proyecto al guardar un proyecto. De manera similar, el formato de archivo XER es un formato de archivo de proyecto propietario que utiliza la aplicación de gestión y planificación de proyectos Primavera P6. Por lo tanto, en caso de que sea necesario convertir los archivos MPP a otro formato, debemos instalar y configurar una solución local u optar por una solución basada en la nube.

API de procesamiento de Microsoft Project

Microsoft Project y Primavera P6 se encuentran entre los formatos de archivo más populares que se utilizan para asignaciones de proyectos, tareas, recursos, calendarios, atributos e información de programación. Para facilitar a nuestros clientes el procesamiento programático de estos documentos, hemos desarrollado la API Aspose.Tasks Cloud, que es una solución basada en REST que le permite obtener elementos de asignación de proyectos, agregar nuevas asignaciones a proyectos, obtener todas las tareas de un proyecto, cambiar la posición de una tarea, agregar un calendario a un proyecto, obtener datos escalados en el tiempo y mucho más. Realice todas estas operaciones sin instalar ningún software de terceros.

Además, hemos desarrollado Aspose.Tasks Cloud SDK para .NET, que es un contenedor de Aspose.Tasks Cloud y le permite implementar todas las tareas relacionadas con la gestión de proyectos dentro de la aplicación .NET.

Instalación

Para utilizar el SDK de .NET Cloud, el primer paso es instalarlo en el sistema. Está disponible para descargar en NuGet y GitHub. Ejecute el siguiente comando en la terminal para instalar el SDK a través de NuGet:

nuget install Aspose.Tasks-Cloud

En caso de que necesite instalar desde el Administrador de paquetes NuGet, ejecute el siguiente comando:

PM> Install-Package Aspose.Tasks-Cloud

Enfoque de Visual Studio

Otro enfoque es la instalación directamente dentro de Visual Studio:

  1. Abra el Explorador de soluciones.
  2. Expanda el proyecto y haga clic derecho en la carpeta Paquetes dentro de su solución.
  3. Seleccione la opción Administrar paquetes NuGet…
  4. Haga clic en la pestaña Explorar y busque “Aspose.Tasks-Cloud”.
  5. Haga clic en la casilla de verificación junto al paquete Aspose.Tasks-Cloud, seleccione la versión adecuada en la pestaña derecha y haga clic en el botón Agregar paquete.
título

Image 1:- Aspose.Tasks-Cloud as NuGet package.

Suscripción gratuita a la nube

Para acceder a las API de la nube, primero debemos crear una cuenta de suscripción gratuita a la nube. Sí, lo has oído bien. Una cuenta de suscripción gratuita que proporciona hasta 150 solicitudes de procesamiento de documentos gratuitas. No se requiere tarjeta de crédito ni otros detalles de pago. Por lo tanto, para completar este proceso, visite el panel de control de Aspose.Cloud. Si tiene una cuenta de GitHub o Google, simplemente regístrese. De lo contrario, haga clic en el botón Crear una nueva cuenta y proporcione la información requerida. Ahora inicie sesión en el panel de control con credenciales y expanda la sección Aplicaciones desde el panel de control y desplácese hacia abajo hasta la sección Credenciales del cliente para ver los detalles de ID de cliente y Secreto de cliente.

Credenciales del cliente

Imagen 2: Credenciales del cliente en el panel de Aspose.Cloud.

De MPP a XER en C#

Siga los pasos que se indican a continuación para realizar la conversión del archivo MPP a la aplicación Primavera P6 XER en C# .NET.

  • En primer lugar, cree un objeto de configuración y proporcione los detalles del ID de cliente y el secreto del cliente.
  • En segundo lugar, cree un objeto de TasksApi mientras pasa el objeto de configuración como argumento.
  • En tercer lugar, lea el archivo MPP desde la unidad local y cárguelo al almacenamiento en la nube utilizando el método UploadFile(..) de TasksApi.
  • Ahora creamos un objeto de GetTaskDocumentWithFormatRequest donde definimos el nombre del MPP de entrada y el formato resultante de la enumeración ProjectFileFormat.
  • Luego llamamos al método GetTaskDocumentWithFormat(…) de TasksApi para iniciar el proceso de conversión.
  • Finalmente, para guardar la salida XER en la unidad local, utilizamos el objeto File.Create dentro del método saveToDisk(…).
// Obtenga ClientID desde https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// crear un objeto de configuración
var config = new Configuration{ AppSid= clientID, AppKey = clientSecret };

// inicializar objeto Aspose.Tasks
var tasksApi = new TasksApi(config);

String inputFile = "Home move plan.mpp";
String resultant = "Output.xer";

try
{
    // Leer el archivo MPP de entrada desde el almacenamiento local
    using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
    {
        var uploadFileRequest = new PostCreateRequest(inputFile, inputStream);
        
        // Sube el archivo al almacenamiento en la nube
        tasksApi.UploadFile(uploadFileRequest);
    }

    // Inicializar el proceso de conversión de MPP a XER
    var response = tasksApi.GetTaskDocumentWithFormat(new GetTaskDocumentWithFormatRequest
    {
        Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xer,
        Name = inputFile,
        Folder = null,
    });

    if (response != null )
    {
        Console.WriteLine("Successfully converted MPP to XER !");
    }

    // Guarde el archivo resultante en la unidad local
    saveToDisk(response, "/Users/nshahbaz/Downloads/" + resultant);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Convertir MPP a Primavera P6 usando cURL

Los comandos cURL son otra forma conveniente de acceder a las API REST a través de la terminal de línea de comandos. Por lo tanto, también podemos acceder a Aspose.Tasks Cloud a través de comandos cURL y cumplir con nuestros requisitos. Sin embargo, antes de acceder a las API, necesitamos generar un token web JSON (JWT) basado en los detalles de ClientID y ClientSecret recuperados del panel de Aspose.Cloud. Ejecute el siguiente comando en la terminal para generar el token JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Una vez generado el token JWT, ejecute el siguiente comando para convertir el archivo MPP disponible en el almacenamiento en la nube al formato XER.

curl -X GET "https://api.aspose.cloud/v3.0/tasks/Home%20move%20plan.mpp/format?format=xer&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.xer

El archivo de muestra utilizado en el ejemplo anterior se puede descargar desde Home move plan.mpp.

Conclusión

En este artículo, hemos analizado los pasos para convertir un archivo de Microsoft Project (MPP) a un archivo XER de Oracle Primavera P6 mediante un fragmento de código C# .NET y el comando cURL. Además, el mecanismo de licencias se ha diseñado de forma tan flexible que solo paga por el intervalo en el que ha utilizado nuestros servicios. Además, con la suscripción de cuenta gratuita, tiene derecho a hasta 150 solicitudes de procesamiento de documentos gratuitas. Por lo tanto, una vez que esté satisfecho con la API, puede considerar optar por una compra de licencia que es bastante flexible. Solo se le cobra por las solicitudes que ha realizado al servidor y puede ser tan bajo como $ 0.005 / Llamada API. Puede visitar la página precios para obtener más detalles.

Sin embargo, nuestros SDK de la nube se desarrollan bajo la licencia MIT, por lo que su fragmento de código completo se puede descargar desde GitHub. En caso de que surja algún problema al usar la API o tenga alguna consulta relacionada, no dude en ponerse en contacto a través del foro de soporte gratuito.

Artículos relacionados

También recomendamos visitar los siguientes enlaces para obtener más información sobre: