Первое обновление платформы МойОфис в 2020 году значительно расширяет возможности интеграции со сторонним ПО. Всего было сделано более двухсот изменений и добавлено много новых функций. Про часть из них хочется рассказать отдельно.
Помимо расширения возможностей основных компонентов МойОфис — редакторов текстов, таблиц и приложений для работы с электронной почтой, в обновлении 2020.01 мы усовершенствовали механизмы межпрограммного взаимодействия. Существенные изменения произошли в структуре «МойОфис SDK», появилась интеграция с платформой корпоративных коммуникаций Dialog и поддержка Amazon S3-совместимых файловых хранилищ.
Надстройки, они же плагины
Наиболее заметным и важным изменением в редакторах МойОфис стала работа с надстройками. Теперь пользователи смогут подключить дополнительные плагины (надстройки) прямо из интерфейса приложений для ПК. Они должны быть написаны на языке Lua, который также используется для создания макросов. Но в отличие от макрокоманд, которые хранятся внутри конкретного редактируемого файла, плагины — внешние компоненты, которые расширяют возможности редакторов без привязки к какому-либо документу.
Для того чтобы подключить надстройку к редакторам МойОфис, потребуется последовательно сделать три действия:
- разработать модуль на языке Lua;
- сохранить получившуюся программу в любую отдельную папку;
- подключить надстройку внутри редактора МойОфис.
Возможность использования надстроек пока доступна только в приложениях для ПК. Чтобы воспользоваться этой функцией, выберите в меню «Расширения» пункт «Управление расширениями».
Этот раздел меню есть как в текстовом, так и в табличном редакторе. Важно понимать, что для разных приложений могут применяться специфические команды, поэтому, например, надстройки для табличного редактора могут не работать в текстовом и наоборот.
После нажатия на «Управление расширениями» откроется диалоговое окно для работы с ними:
Чтобы подключить плагин к редакторам МойОфис, нужно нажать на кнопку «Установить» и выбрать папку, в которой будут находиться файлы конкретного расширения:
В этой папке должно быть минимум два файла: один называется Package.lua и одержит техническую информацию о плагине, а второй — код самого расширения.
В качестве примера рассмотрим простую надстройку, которая умеет выводить текстовую строку в ячейку таблицы. Запустите среду разработки Lua или любой текстовый редактор, и создайте файл с именем Package.lua и таким содержанием:
local Package =
{
packageName = "Плагин 1",
packageVendor = "МойОфис",
packageVersion = { major = 0, minor = 1, patch = 0, build = "" },
packageDescription = "Это строка описания плагина",
applicationId = "MyOffice Spreadsheet",
apiVersion = { major = 1, minor = 0 },
commandsProvider = "CommandsProvider.lua"
}
return Package
Сохраните результат. Из текста кода выше видно, что наша надстройка будет называться «Плагин 1», её автор — МойОфис, у неё есть описание, работает только в редакторе таблиц, а сам текст расширения находится в файле CommandsProvider.lua.
Теперь создайте файл CommandsProvider.lua с кодом самого плагина:
local CommandsProvider = {}
— Регистрация команд плагина
function CommandsProvider.getCommands()
return {
{
id = «insertSheetName»,
menuItem = «Команда 1»,
command = CommandsProvider.insertSheetName
},
{
id = «printHello»,
menuItem = «Команда 2»,
command = CommandsProvider.printHello
}
}
end
— Команды обработчиков событий
function CommandsProvider.insertSheetName(context)
context.doWithDocument(function(document)
local sheet = document:getBlocks():getTable(0)
local cell = sheet:getCell(CoreAPI.CellPosition(0, 0))
cell:setText(sheet:getName())
end)
end
function CommandsProvider.printHello(context)
context.doWithDocument(function(document)
local sheet = document:getBlocks():getTable(0)
local cell = sheet:getCell(CoreAPI.CellPosition(0, 1))
cell:setText(«Hello, World!»)
end)
end
return CommandsProvider
В нашем примере используется простой код — у плагина будет две функции «Команда 1» и «Команда 2». Первая способна определить имя листа таблицы и напечатать его в ячейке A1, а вторая выводит фразу «Hello, World!» в ячейку B1.
Сохраните файл с кодом и вернитесь в редактор «МойОфис Таблица». Снова кликните по меню «Расширения», выберите подпункт «Управление расширениями», затем в диалоговом окне нажмите «Установить» и укажите папку с вашими файлами плагина. После этого внешний вид диалогового окна изменится, и вы увидите, что редактор «МойОфис Таблица» определил ваш плагин:
Чтобы отключить расширение, достаточно нажать на соответствующую кнопку,
а для того чтобы его удалить — нажмите на изображение мусорной корзины в правой части строки.
Теперь закройте диалоговое окно «Управление расширениями» и вернитесь в главное меню программы. Вы увидите, что в разделе «Расширения» появилась возможность вызова вашего плагина, а точнее говоря — двух его функций «Команда 1» и «Команда 2».
Теперь выберите последовательно команды вашего расширения. Редактор их отработает, и ваша таблица примет вот такой вид:
Успех! Плагин работает.
Если же вы попробуете подключить эту надстройку к текстовому редактору МойОфис, то приложение выдаст сообщение об ошибке, так как в коде надстройки (см. файл Package.lua) указано, что он подходит только для табличного редактора:
Надстройки на Lua универсальны. Вы сможете использовать одни и те же расширения как для операционной системы Windows, так и для Linux. В следующих релизах появится возможность использования расширений и на других поддерживаемых МойОфис платформах.
Полное описание функциональных возможностей расширений, которые обрабатывают редакторы МойОфис, доступно по запросу на странице продукта «МойОфис SDK».
Интеграция с платформой корпоративных коммуникаций Dialog
Релиз 2020.01 открывает возможность совместного использования двух программных продуктов — МойОфис и Dialog — внутри единой информационной системы.
Технически интеграция реализована следующим образом: платформа Dialog может быть подключена к облаку МойОфис вместо мессенджера «МойОфис Логос». В этом случае на главном экране облака появляется новый логотип:
На панели информации о конкретном файле в облаке МойОфис появляется возможность сразу обсудить конкретный файл:
Также изменяются и некоторые привычные элементы управления. Например, пользователи смогут не только копировать в буфер обмена ссылку на файл в облаке МойОфис, но и сразу же отправлять её нужному контакту через Dialog.
Если выбрать этот раздел контекстного меню, то появится диалоговое окно, в котором нужно будет выбрать получателя ссылки и указать сопроводительный текст.
Также несколько изменилось окно управления совместным доступом к документу. Помимо возможности отправки уведомления через электронную почту, появилась возможность уведомить коллегу еще и через Dialog.
При этом в интерфейсе мессенджера Dialog автоматически создаются новые обсуждения:
Что ещё нового в релизе МойОфис 2020.01
Более 80% заказчиков корпоративных продуктов Enterprise-уровня требуется различное совместимое между собой программное обеспечение с высокой степенью взаимной интеграции. Это обстоятельство определяет общую линию развития наших продуктов и призывает нас в первую очередь думать о совместимости с различными технологиями, которые уже могут использоваться нашими заказчиками.
Теперь стало возможным развернуть «МойОфис Частное облако» на системах хранения данных с интерфейсом Amazon S3. Это позволит продуктам МойОфис использовать существующие системы хранения данных с поддержкой интерфейса S3.
Изменения произошли и в «МойОфис SDK» — теперь сторонним разработчикам стали доступны средства для работы со списками, комментариями, возможность сравнения документов и работы с правками в режиме рецензирования.
Как изменились редакторы МойОфис
Редакторы текстов и электронных таблиц были обновлены на всех платформах. Наряду с другими функциями в них добавлена поддержка фигур. Это улучшает совместимость с ранее созданными документами, которые могут содержать какие-либо фигуры или простые иллюстрации из них.
В табличном редакторе вместе с обновлением 2020.01 на рабочих станциях появилась возможность отображения сводных таблиц. Ранее эта функция была доступна только в облачных и мобильных приложениях.
Текстовый редактор получил средства для работы с закладками в документах — пользователи могут просматривать существующие закладки и создавать новые, перемещаться по ним и удалять их.
Какие изменения произошли в «МойОфис Почта»
Мы тщательно проанализировали типовые пользовательские сценарии создания и управления событиями и цепочками событий и улучшили работу с ними. Также были добавлены новые и обновлены существующие системные сообщения и автоответы. Веб-версия почты получила средства ведения и отображения личных задач со сроками, а также возможность форматирования подписи по шаблону администратора.
В календаре веб-версии почты появились личные задачи. Ранее эта возможность была доступна только в почтовом приложении для ПК. Теперь пользователи смогут формировать и контролировать пул собственных задач вне зависимости от используемой платформы — созданные в программе для ПК задачи будут видны и в облаке, и наоборот. Также задачи можно синхронизировать и с приложением МойОфис Документы для iOS или iPadOS. В этом случае, пользователи смогут управлять личными задачами еще и смартфона.
Заключение
МойОфис постоянно развивается и совершенствуется, и с каждым обновлением мы добавляем новые и улучшаем существующие возможности. Но при этом мы уделяем огромное внимание удобству работы пользователей — за каждым из 200 изменений в релизе 2020.01 скрывается большая аналитическая работа.
В основе нашей философии — желание создавать лучшие средства для работы с документами. Не так важно, каким устройством вы пользуетесь — важно, чтобы вы могли быстро, просто и безопасно открывать и редактировать текстовые и табличные файлы, отправлять письма или общаться в мессенджере. В любом месте и в любое время.