Предварительный просмотр планирования проекта

Microsoft Project Professional — самое популярное в мире программное обеспечение для управления проектами, поскольку оно помогает менеджерам разрабатывать планы, назначать задачи участникам, отслеживать ход выполнения задач, контролировать финансы и графики, сообщать информацию о проекте и организовывать работу и рабочую силу в формате Work Breakdown Structure, четко объясняя задачи проекта и их назначение конкретным ресурсам в команде. Однако для создания/обновления графика/плана вам необходимо использовать программное обеспечение MS Project Professional, которое требует усилий по установке, а также затрат на лицензирование.

MS Project Professional альтернатива

Aspose.Tasks Cloud — это потрясающее решение для создания, обработки и рендеринга файлов MS Project в другие поддерживаемые форматы. Решение на основе REST API обеспечивает гибкость использования любой платформы и языка по вашему выбору для выполнения желаемых требований. Оно позволяет пользователям выполнять создание проектов, планирование, управление ресурсами, задачами и атрибутами в облаке. API Aspose.Tasks Cloud обеспечивает такую гибкость, что вы можете напрямую работать с назначениями проектов, задачами проектов, ресурсами проектов, календарями проектов, исключениями календарей проектов, расширенными атрибутами проектов, VBA, данными в масштабе времени и различными другими свойствами облачных проектов.

Поддерживаемые форматы файлов

Aspose.Tasks Cloud для cURL поддерживает популярные форматы файлов Microsoft Project (MPT, MPP, MPX) и Primavera P6 (XER, XML).API также предоставляет функцию преобразования файлов облачных проектов в ведущие в отрасли форматы файлов, включая HTML, PDF, XPS, XLSX, CSV, TXT и форматы изображений (BMP, PNG, JPEG, TIFF, SVG).

Расширенные возможности

Помимо функций, указанных выше, API облака Aspose.Tasks также предоставляет некоторые расширенные функции, перечисленные ниже.

  • Импорт проекта из базы данных, включая Primavera DB
  • Перепланируйте все идентификаторы задач проекта, даты начала/окончания, рассчитайте резервы
  • Получайте масштабированные по времени данные или повторяющуюся информацию для определенной задачи, используя UID
  • Проведите анализ рисков с использованием моделирования Монте-Карло и создайте отчет
  • Управление структурой декомпозиции работ проекта (WBS)
  • Пересчитать работу по проекту на предмет завершения или незавершения
  • Читайте календари Microsoft Project and Calendar Exceptions information.

Установка

Ниже приведены шаги по установке Aspose.Tasks Cloud SDK для .NET в Visual Studio для Mac.

  • Разверните структуру проекта в окне обозревателя решений.
  • Щелкните правой кнопкой мыши папку «Пакеты» и выберите пункт «Управление пакетами NuGet…».
  • Введите Aspose.Tasks Cloud в поле поиска и нажмите клавишу Enter.
  • Установите флажок рядом с Aspose.Tasks Cloud и нажмите кнопку Добавить пакет.
  • SDK добавлен в пакеты проекта
Предварительный просмотр опции «Управление пакетами NuGet»

Изображение 1: Предварительный просмотр опции «Управление пакетами NuGet»

Cloud Aspose.Tasks в библиотеке NuGet

Изображение 2:- Список библиотек NuGet в Aspose.Tasks Cloud

Cloud Aspsoe.Tasks добавлено в пакеты проекта

Изображение 3: Aspose.Tasks Cloud добавлен в коллекцию пакетов проекта.

Прочитать свойства проекта MS

Эти свойства являются местом для хранения метаданных о ваших проектах, таких как Название, Тема, Автор, Менеджер, Компания, ключевые слова и описания вашего проекта. Эти свойства могут быть полезны при поиске вашего проекта или для справочных целей, когда вы или кто-то другой повторно просматривает этот файл проекта через несколько месяцев или лет.

Команда cURL

Команды cURL можно использовать для чтения свойств проекта на любой платформе с помощью консоли/командной строки. Используя те же команды cURL, можно прочитать свойства, связанные с файлом проекта, как показано ниже.

curl -v "https://api.aspose.cloud/oauth2/token" \
-X POST \
-d 'grant_type=client_credentials&client_id=xxx-xxx-xxx&client_secret=xxxxx' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"


curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

Запросить URL-адрес

https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties

API также предоставляет возможность считывать отдельные свойства, связанные с файлом.

curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

Запросить URL-адрес

https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor

Тело ответа

{
  "Property": {
    "Name": "LastAuthor",
    "Value": "Alexey Zhilin",
    "link": {
      "Href": "/documentProperties/LastAuthor",
      "Rel": "self",
      "Type": null,
      "Title": null
    }
  },
  "Code": 200,
  "Status": "OK"
}

C#.NET

// Полные примеры и файлы кода можно найти на сайте https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
const string clientID = "xxxx-xxxx-xxxx-xxxxx";
const string clientSecret = "xxxxxxxxx";

// инициализация и объект TasksApi
Aspose.Tasks.Cloud.Sdk.TasksApi tasksApi = new Aspose.Tasks.Cloud.Sdk.TasksApi(clientSecret, clientID);

// извлечь свойства, связанные с проектным документом
var retrievedProperties = tasksApi.GetDocumentPropertiesAsync(new GetDocumentPropertiesRequest
{
    Name = "sample.mpp",
});

// выполнить итерацию по списку свойств, извлеченных из документа, и вывести их значение
for(int counter= 0; counter< retrievedProperties.Result.Properties.List.Count; counter++)
{ 
    Console.WriteLine("Property name at index " + counter + " = "+retrievedProperties.Result.Properties.List[counter].Name);
    Console.WriteLine("Property value at index " + counter + " = "+retrievedProperties.Result.Properties.List[counter].Value);
}

Если вам необходимо получить значение, связанное с определенным свойством, попробуйте использовать следующий фрагмент кода

var response = tasksApi.GetDocumentPropertyAsync(new Aspose.Tasks.Cloud.Sdk.Model.Requests.GetDocumentPropertyRequest
{
    Name = "sample.mpp",
    PropertyName = "LastAuthor"
});
Console.WriteLine(response.Result.Property.Value );

Для справки, копию sample.mpp можно загрузить по указанной ссылке.

Конвертировать файл MS Project в другие форматы

Aspose.Tasks Cloud предоставляет метод GetTaskDocumentWithFormat(..), который позволяет читать файл MS Project и сохранять его в одном из следующих поддерживаемых форматов:

Рендеринг MPP в формат PNG

Следующая команда cURL обеспечивает возможности чтения хранилища файлов MS Project в облачном хранилище и рендеринга вывода в формате PNG. Затем вывод сохраняется в локальном хранилище.

команда cURL

curl -X GET "https://api.aspose.cloud/v3.0/tasks/CalendarWorkWeeks.mpp/format?format=png&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o resultant.png

Образец файла проекта, использованный в примере выше, можно загрузить с CalendarWeek.mpp.

C#.NET

Aspose.Tasks Cloud SDK для .NET может использоваться исключительно в проектах .NET для обработки файлов MS Project. Используя тот же SDK, вы можете выполнить свои требования по рендерингу файлов .mpp в .png или другие поддерживаемые форматы (как указано выше).

  • Во-первых, нам нужно создать экземпляр объекта TasksApi, передав ClientSecret и ClientID в качестве входных аргументов.
  • Во-вторых, вызовите метод GetTaskDocumentWithFormat (…) TasksApi при передаче объекта GetTaskDocumentWithFormatRequest
  • Информация о формате экспорта указывается с помощью объекта GetTaskDocumentWithFormatRequest. Значение доступно из перечисления ProjectFileFormat
// Полные примеры и файлы данных можно найти по адресу https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
// инициализация и объект TasksApi
Aspose.Tasks.Cloud.Sdk.TasksApi tasksApi = new Aspose.Tasks.Cloud.Sdk.TasksApi(clientSecret, clientID);

// вызов метода для выполнения преобразования
var resultantOutput = tasksApi.GetTaskDocumentWithFormat(new Aspose.Tasks.Cloud.Sdk.Model.Requests.GetTaskDocumentWithFormatRequest
{
    Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Png,
    Name = "Home move plan.mpp",
});

// вызов метода для сохранения результирующего файла
saveToDisk(resultantOutput, "Converted.png");

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

Для справки, исходный файл MPP, использованный в приведенном выше примере, можно загрузить с Home move plan.mpp.