воскресенье, 17 сентября 2017 г.

LibreOffice и "импортозамещение"

На русском форуме поддержки LibreOffice проскочила информация о том, что LibreOffice будет устанавливаться в МИД РФ в рамках программы "импортозамещения". Причем они там (якобы) проверяют исходники на предмет наличия закладок в коде, затем сформируют сертифицированную сборку, и, видимо, будут это юзать. Вопрос о том, как они будут ставить обновления, и будут ли вообще, остался открытым. Однако сам факт радует, может быть они наймут какую-нибудь контору для осуществления миграции и техподдержки, включая правку багов.

понедельник, 11 сентября 2017 г.

Прогресс в разработке 3D переходов между слайдами (GTK3 + OpenGL)

Один из самых активных разработчиков LibreOffice Caolán McNamara опубликовал небольшой пост о прогрессе в разработке Gtk3 OpenGL переходов между слайдами в презентациях. По ссылке доступно видео, в котором рядом демонстрируются 3D переходы до изменений (слева) и после (справа). Обратите внимание на артефакты и черное мерцание на левом изображении и отсутствие таковых на правом. Это достаточно заметное изменение и прогресс.

пятница, 1 сентября 2017 г.

LibreOffice и GSoC 2017. Результаты

Как вы знаете, Google каждое лето проводит мероприятие Google Summer of Code, в котором студенты имеют возможность заработать денег путем написания кода по заявкам от проектов с открытым исходным кодом. 2017 год исключением не был и проект LibreOffice получил 9 "грантов" для реализации студентами. Ниже имена героев и описание проектов и достигнутых результатов:
Aleksas Pantechovskis - реализация фильтра импорта QuarkXPress. Цель этой задачи - сделать реверс инжиниринг формата документа, созданного в QuarkXPress 4 (и более ранних версиях, 3.1-3.3, они похожи) и реализовать фильтр импорта - библиотеку C++ на основе librevenge. Начиная с QuarkXPress 5, его файлы шифруются, но, последней широко используемой версией была именно версия 4. Задача выполнена, создана библиотека импорта libqxp
Вот результат работы фильтра импорта на сегодня:
Gautam Prajapati - улучшение LibreOffice для платформы Android. Цель этой задачи - улучшение клиента Android LibreOffice, устранить его самые неприятные ошибки, добавить новые функции в средство просмотра документов и экспериментальную часть для редактирования, улучшить UI / UX, производительность и сделать его более простым и дружественным для разработчиков, улучшить документацию и встроенные комментарии. Задание было таким размытым, что можно считать его выполненным, вот здесь отчет студента о его работе, которая была больше технической, чем нацеленной на какие-то заметные простому пользователю вещи.
Grzegorz Araminowicz - улучшение в работе фильтра импорта SmartArt в LibreOffice. Цель - понятна без дополнительной расшифровки. SmartArt - это формат хранения диаграмм в файлах Office Open XML, который был представлен в MS Office 2007. Он позволяет отделять данные от способа представления, в результате чего образуются сложные диаграммы, созданные из записей маркированного списка. В настоящее время LibreOffice использует предварительно отрендеренную версию диаграммы, для MS Office 2010 и новее. Диаграммы из файлов MS Office 2007 часто выглядят пустыми. Целью проекта является расширение поддержки загрузки и компоновки диаграмм SmartArt. Это сделает LibreOffice более совместимым с OOXML-файлами и позволит в конечном итоге получить полную функциональность SmartArt, включая редактирование и экспорт. Проект был запущен как улучшающий импорт формата VML, но вскоре был изменен. Задача выполнена, реализовано достаточно большое количество необходимых для импорта фич из SmartArt. Вот отчет в списке рассылки разработчиков от студента.
Aditya Dewan - улучшения для LibreOffice Online. Цель - сделать важные функции, существующие в настольной версии LibreOffice и в других ведущих офисных пакетах, доступными для LibreOffice Online. В результате работы в LibreOffice Online была реализована интерактивная горизонтальная линейка во Writer Online и была расширена текущая реализацию WOPI для поддержки функциональности «Сохранить как». Ниже приведена демонстрация работы линейки:
Mohammed Abdul Azeem - миграция из старого Parser в FastParser (речь идет о парсере XML). Большая часть импорта ODF использует устаревший парсер. FastParser является потоковым, основанным на токенах и он быстрее, чем предыдущий парсер. Разработчики стремятся использовать FastParser почти везде и сделать некоторые улучшения в самом FastParser. Что выполнено в рамках проекта: распаковка zip вынесена в отдельный поток, все независимые контексты заменены на использование быстрых токенов, сделано много оптимизаций и рефакторинга кода, исправлены некоторые ошибки. Что еще пока в работе: замена XSAXDocumentBuilder2 на XFastDocumentHandler. Первый есть в нескольких модулях (sc, sw, starmath, sd и т.д.) и приводит к сбою на множестве тестовых примеров. Что не сделано: наблюдается несколько мелких проблем, для которых нужно написать тестовые примеры, преобразование оставшихся устаревших контекстов. Я не уловил, считается ли эта задача выполненной по меркам GSoC, но вот отчет студента о проделанной работе.
Varun Dhall - замена бинарного буфера обмена EditEngine на фильтр ODF. Проект включает в себя модификацию различных модулей, таких как editeng, xmloff, svl, sfx, dtrans и приложений, таких, как Draw / Impress / Calc для изменения буфера обмена. Перед отправкой данных в фильтр экспорта необходимо обработать правильный выбор текста. Для предотвращения регрессий также требуются новые модульные тест. Проект завершен, основные достигнутые цели: формат StarOffice больше не используется для операций копирования / вставки, сериализация SfxItemPool не используется нигде вне таблицы Auto-Formats, поля-гиперссылки копируются должным образом без потери информации, весь неиспользуемый код сериализации удаляется из всех модулей и приложений, что решает проблему ремонтопригодности. Отчет студента о завершении проекта доступен по ссылке.
Muhammet Kara - переработка диалога Настройка. Главное достижение этого проекта - была добавлена возможность для поиска необходимых пользователю опций в диалоге Настройка, которые он бы хотел добавить на панель инструментов или в меню или назначить сочетание клавиш, чтобы ему не приходилось вручную листать бесконечные списки или думать, в каком же разделе находится необходимый элемент. Также была проведена чистка кода. Ранее вся функциональность диалога была расположена в одном файле на более, чем 5000 строк кода. И как финал вот ссылка на видео с тем, что получилось в итоге.
Ximeng Zu - исправление большинства раздражающих ошибок для LibreOffice Android Viewer и добавление нового функционала. Что было сделано в рамках проекта: реализована поддержка файлов, защищенных паролем; добавлена панель адреса и формул; реализована вставка изображений, включая выбор из галереи и получение фото с камеры; динамический DPI для Calc; исправлена неправильная обработка внутренних ссылок, как внешних; некоторые исправления ошибок. Вот ссылка на отчет студента в списке рассылки.
Akshay Deep - улучшение диалога Специальные символы. Об этом я уже писал чуть ранее вот здесь. Продублирую здесь ссылку на его блог с отчетом о работе. Цель проекта достигнута.

PS: я некоторые специфично программистские вещи просто не знаю, как сказать по-русски, поэтому если кто-то почитает оригиналы и меня поправит по моему тексту, то я буду только благодарен.

пятница, 25 августа 2017 г.

Ribbon в LibreOffice. Август 2017г

Сегодня пришлось поюзать LibreOffice 6.0 в целях небольшого тестирования и взбрело мне в голову посмотреть, а что там риббон? Напоминаю, что сейчас есть несколько вариантов риббона/ленты в LibreOffice, все в разной степени готовности к использованию: 
Contextual groups
Contextual single
Tabbed
Groupedbar Full
Groupedbar Compact
Мне показалось, что первые два не развиваются никак, вариант Tabbed - выглядит сейчас просто отвратно, что-то сломали там разработчики, я даже показывать вам это не стану, а вот Groupedbar Full мне даже понравился, не смотря на детские болезни. Вот так оно выглядит (а ниже для сравнения MS Word) сейчас:
Картинку смотреть увеличенной, потому что скриншот сделан на мониторе 1920px. И в либре и в ворде активирован режим работы с таблицами, то есть курсор находится в границах таблицы. Есть одна крайне серьезная проблема в реализации этого варианта риббона: на экране с разрешением по ширине 1280px крайний правый блок при первом запуске наезжает на соседний слева блок. Если окно LibreOffice из полноэкранного режима перевести в оконный и обратно, то крайний правый блок скрывается за границей приложения и никаким образом оттуда его не достать. А там, в выпадающем Menu, скрывается переключатель на обычный (или любой иной) вид панели инструментов. Получается пользоваться сейчас этим вариантом можно только на широкоформатных мониторах от 1366px. Использование этого варианта риббона рвотного рефлекса не вызывает, поскольку не надо прыгать по вкладкам, как в МСО, и под блоками есть дополнительные соответствующие блокам меню. Настраивать под себя это все пока нельзя, это вторая серьезная проблема. Пилит этот вариант ленты Andreas Kainz.
PS: под Linux весь ГУИ LibreOffice выглядит НАМНОГО лучше визуально.

вторник, 22 августа 2017 г.

Механизм автоматического обновления LibreOffice. Часть 2

Я чуть ранее писал уже о том, что Markus Mohrhard реализует для LibreOffice механизм автоматического обновления, аналогичный тому, который есть в windows сборках Firefox. Тогда была доступна для тестирования сборка только для Linux только для 64 битной архитектуры. Сегодня Markus сделал анонс доступности механизма автообновления в ежедневных сборках для платформы Windows.
Итак:
  • Собственно доступны ежедневные сборки по адресу http://dev-builds.libreoffice.org/daily/master/Win-x86@38-updater/, которые можно скачать, распаковать в любой каталог, доступный пользователю на запись (это ВАЖНО!), и тестировать. (Обратите внимание, что в архиве содержится дополнительный уровень вложения каталогов, это может вызвать проблемы с длиной имени файлов в Windows, если сборка у Вас не запускается, то переместите каталог со сборкой ближе к корню диска).
  • Добавлено окно с отображением прогресса в автообновлении LibreOffice.
  • Двухэтапное автообновление (я писал об этом ранее) заменено на обновление в один этап: скачивается дельта-файл и при следующем запуске LibreOffice начинается механизм обновления установленной рабочей копии.
Для того, чтобы механизм полноценно заработал и был включен уже в версию 6.0 необходимо реализовать ещё две большие вещи:
  • Генерация обновлений MSP и инфраструктуры для их применения через updater в LibreOffice на основе файлов MAR. Разработчики Mozilla когда-то работали над интеграцией поддержки MSI в свой код обновления, но отказались от этой работы.
  • Интеграция Windows Service Silent Update для установки в обычный каталог Program Files и интеграция с Windows UAC. Большая часть кода уже существует и уже включена в сборки , но интеграция в код упаковки и установки LibreOffice всё ещё отсутствует.
Если Markus завершит эти два этапа к середине ноября, чтобы успеть до заморозки добавления нового функционала, качество кода устроит выпускающих релиз и QA, то это таки попадёт в выпуск LibreOffice 6.0. 
Используя текущую сборку с механизмом автообновлений и сообщая о любых проблемах Markus'у, Вы можете помочь сделать это реальностью.
Если есть желающие помочь в написании кода для реализации механизма автообновления в LibreOffice, то Markus готов к общению. Найти его можно в IRC сети irc.freenode.net на канале #libreoffice-dev, ник у него - moggi, или написать в список рассылки разработчиков libreoffice@lists.freedesktop.org.

PS: я скачал сборку по ссылке, но:
  1. Не нашел никаких настроек для вкл/выкл автообновления (спрошу у Markus'а попозже, есть ли они в принципе)
  2. Не увидел воочию, как это работает в реальности и работает ли вообще (но тут следует подождать пару дней, чтобы появилась разница между сборками видимо). Update: таки да, на следующий день обновление прилетело само и LibreOffice сам обновился. На SSD процесс обновления занял намного меньше времени, чем это бывает у Firefox. Появляется такой вот прогресс-бар: 
Update-2: Ещё пара подробностей.
  • Нет никаких настроек для автообновления сейчас, кроме возможности его отключить.
  • Если вы три дня не будете запускать билд, скачанный по приведённой выше ссылке, то обнаружите, что апдейтер скачает вам полный инсталлятор вместо инкрементного и при следующем запуске обновит весь установленный билд. Это работает так сейчас, потому что Markus собирает инкрементные патчи у себя на локальной рабочей машине, а потом выкладывает в сеть. Это занимает ресурсы и время. В релизе конечно это будет делать сборочный сервер.
  • Как именно будет работать апдейтер в релизной версии пока неизвестно. В том плане, с какой версии до какой можно будет обновляться инкрементно, а в каких случаях только полный апдейт, это еще не решали. 
  • Возможно появятся дополнительные настройки или уведомления об этом.

понедельник, 21 августа 2017 г.

LibreOffice 6.0. Улучшение в работе со специальными символами

Ранее я писал, что в рамках GSoC один из студентов, Akshay Deep, будет заниматься улучшением диалога Специальные символы в LibreOffice. Сегодня он опубликовал итоги своей работы в этом направлении, как это есть сейчас. По ссылке выше доступны анимированные GIF изображения, увеличьте страницу его блога в браузере для корректного отображения изображений.
Итак, что уже реализовано:
  • В диалог добавлено поле для поиска символа по его имени. Имя символов, введенное пользователем, сравнивается с названиями символов, предоставляемыми специальным API ICU, API отдает номера символов Unicode, результат в виде набора символов показывается пользователю в диалоге. Имя символа вводится только на английском языке.
  • В поле поиска можно ввести имя символа и прокручивать список шрифтов, пока не будет найден нужный символ.
  • В диалог добавлены список последних используемых символов и список символов пользователя в виде строк из пиктограмм.
  • Значок на панели инструментов Стандартная изменен на выпадающее меню, которое содержит вышеуказанные строки с часто используемыми символами и символами пользователя, а также кнопку, открывающую собственно диалог.
  • В диалоге реализованы контекстные меня для управления символами, как в основной таблице символов, так и в строках с часто используемыми символами и символами пользователя.
Это всё будет доступно в будущем релизе LibreOffice 6.0, который выйдет где-нибудь в январе 2018г.
Это реально хорошая, нужная и большая работа, которую выполнил Akshay Deep. Вопрос с качеством его кода остается открытым конечно, и, насколько я понял, есть некоторое количество проблем, которые ему еще предстоит закрыть, и еще некоторые проблемы, к которым он даже не знает, как подступиться, но будем надеяться, что на общую стабильность LibreOffice это не повлияет.

воскресенье, 13 августа 2017 г.

Опрос: какие аспекты важны для Вас?

Очередной опрос (имхо, он ни о чём) от разработчиков LibreOffice. Какие аспекты (в LibreOffice) важны для Вас? Вот прямая ссылка на сам опрос. Опрос доступен на нескольких языках, русского пока нет.
На первой странице выберите удобный Вам язык и нажмите внизу кнопку Next.
1. Насколько важна стабильность для вас? Стабильность означает, что программа функционирует должным образом и не зависает и не падает при неожиданных условиях.
Слева направо: от очень важно до совсем не важно
2. Насколько важна для вас возможность копировать и использовать исходный код? Любой может прочитать исходный код, понять, как вычисляется функция, и использовать его для своих собственных проектов.
Слева направо: от очень важно до совсем не важно
3. Насколько важна прозрачность (проекта, во всех смыслах) для вас? Проект разрешает использование, изучение и модификацию исходного кода без ограничений, а в качестве обычного пользователя вы регулярно информируетесь обо всех аспектах.
Слева направо: от очень важно до совсем не важно
4. Насколько важна безопасность для вас? Безопасность - это защита от кражи информации или ущерба, а также от сбоев или неправильной обработки.
Слева направо: от очень важно до совсем не важно
5. Насколько важен фактор затрат (денег на софт) для вас? Программное обеспечение с открытым исходным кодом, как правило, бесплатно, но, например, может потребовать дополнительных расходов на обучение и администрирование. 
Слева направо: от очень важно до совсем не важно
6. Насколько важна техническая поддержка для вас? Имеется ввиду техническая поддержка с точки зрения доступности вики и форумов, а также возможность связаться с экспертами и даже разработчиками софта. 
Слева направо: от очень важно до совсем не важно
7. Насколько важен для вас опыт пользователя? Хороший пользовательский интерфейс означает, что функциональные требования полностью покрыты, программа проста в использовании, и с ней приятно работать.  (в качестве комментария: я этот вопрос не понял совсем)
Слева направо: от очень важно до совсем не важно
8. Насколько важна для вас совместимость? Это означает наличие обратной совместимости со старыми версиями софта, а также совместимость между различными программами и платформами. 
Слева направо: от очень важно до совсем не важно
9. Насколько важно иметь доверенного производителя (софта)? Доверие к производителю (или, скорее, к издателю) означает, что вы знаете организацию и людей в течение многих лет и можете рассчитывать на продукт в будущем. 
Слева направо: от очень важно до совсем не важно
10. Насколько важна Настраиваемость / Модифицируемость для вас? Этот термин означает, что вы можете адаптировать программу к вашим личным потребностям и предпочтениям относительно визуального внешнего вида, а также рабочего процесса.
Слева направо: от очень важно до совсем не важно
11. Какие другие офисные апартаменты вы используете на регулярной основе? (можно выбрать несколько вариантов)
Apache OpenOffice
Apple iWork
Calligra Suite
Corel WordPerfect Office
Google Docs
Kingsoft WPS Office
Microsoft Office
NeoOffice
OnlyOffice
SoftMaker Office
Other (другое, нужно в поле ввести, что именно)
12. Как часто вы используете онлайн-офис?
never (никогда)
rarely (редко)
occasionally (время от времени)
frequently (часто)
always (всегда)
13. Сколько лет вы являетесь пользователем LibreOffice и его предшественника?
В поле ввести число лет
14. Может ли коллега или друг спросить вас, как решить проблему с LibreOffice?
Да / Нет
15. Какую версию LibreOffice вы используете в настоящее время (не только для тестирования)?
I'm always on 'stable' (я всегда использую stable)
Nothing else than 'fresh' (всегда fresh)
Bleeding edge with nightly builds (ежедневные сборки)
No idea, whatever the updater recommends (использую то, что установлено)
I don't care at all (мне все равно)
16. Как Вы связаны с проектом (LibreOffice)? (можно вырать несколько вариантов)
Normal user (обычный пользователь)
Administration (администратор)
Development/Design (разработчик / дизайнер)
Help authoring/User support at ask.libreoffice.org (писатель справки / поддержка пользователей)
Marketing (маркетинг)
Localization (команда локализации)
QA: reporting, testing, confirming bugs (тестировщик: отчеты, тестирование, подтверждение ошибок)
Training (обучение)
17.  Вы член The Document Foundation? (если вы не знаете, что это значит, то Ваш ответ "Нет")
Да / Нет
18. Какую операционную систему вы используете?
Microsoft Windows XP, 2000, Vista, NT
Microsoft Windows 7
Microsoft Windows 8, 10
macOS
Linux
Other: (написать в поле, какую именно)

После ответов на все вопросы нажмите кнопку Submit в правом нижнем углу страницы (возможно надо будет долистать сайт до упора вниз)

воскресенье, 6 августа 2017 г.

Руководство пользователя LibreOffice Calc (PDF). Мысли о вечном

Наткнулся в сети на PDF файл "Краткое руководство по Calc" для версии LibreOffice 4.3. Собственно, на самом деле это кусок большой книги, которую мы в свое время обозвали "Краткое руководство пользователя", хотя на самом деле в оригинале нечто вроде "Руководство по быстрому старту". Не суть.
Так вот, этот самый PDF файл, он нужен и полезен, не смотря на ниже написанное, поскольку полноценного перевода LibreOffice Calc Guide на русский язык нет. Однако, при этом, по моему скромному мнению, есть пара НО:
Первое - текст в файле не является просто дословным или литературным переводом оригинального английского гайда. В тексте есть отсебятина от Дмитрия Мажарцева про систему общей работы над текстами в виде использования связки read the docs, Sphinx и GitHub. К предмету книги эта информация крайне мало относится, однако это была идея фикс Дмитрия и при создании этого PDF лишняя информация была туда добавлена, благо лицензия оригинала это позволяет.
А второе, которое мне не понравилось намного больше, - на обложке гордо сияет имя одного Дмитрия Мажарцева, хотя изначально перевод был сделан мной и был вклад от Леры Гончарука. Справедливости ради хочу заметить, что наши имена в тексте в разделе авторство фигурируют в разделе "Команда", однако, в таком случае, следовало бы на обложку вынести всю "команду" или не прописывать никого, как это сделано в официальных гайдах по LibreOffice - на обложке просто название и версия LibreOffice, а авторы перечислены по тексту самой книги.
Повторюсь ещё раз: я ни коим образом не против распространения этого конкретного файла, однако меня покоробило выпячивание одного члена "команды" на самое видное место в книге. Я считаю такое просто не этичным.

понедельник, 31 июля 2017 г.

Удалена тема значков Oxygen из LibreOffice 5.4

Я, откровенно говоря, уже ничему не удивляюсь. Наши доблестные дизайнеры, раз уж им не позволили удалить функционал из LibreOffice 5.4, решили удалить хоть что-то. И этим чем-то оказалась тема значков Oxygen. Для тех, кому тема нравилась, я ее выцепил из LibreOffice 5.3 и выложил вот тут. Скачайте архив с названием images_oxygen.zip, и этот архив с темой разместите по следующим адресам (обращайте внимание на номера версии LibreOffice в путях до каталогов!):
- в Linux - в каталог /opt/libreoffice5.2/share/config либо в /usr/lib/libreoffice/share/config/
- в Windows - в каталог C:\Program Files (x86)\LibreOffice 5\share\config\ для 32 битной Либры и в C:\Program Files\LibreOffice 5\share\config\ для 64 битной
- в OS X (macOS) - в каталог LibreOffice/Contents/Resources/config/
После этого перезапустите LibreOffice и в диалоге из меню Сервис-Парметры-LibreOffice-Вид справа выберите из выпадающего списка нужную тему и нажмите кнопку ОК.

пятница, 28 июля 2017 г.

Выпуск LibreOffice 5.4

Внезапно, не в начале августа, а неделей раньше разработчики объявили о выпуске новой версии LibreOffice 5.4.
Подробно о новшествах в этой версии написано в вики проекта.
Скачать установочный дистрибутив для Windows, Linux и macOS можно по этой ссылке http://www.libreoffice.org/download/download/.
Данный выпуск предназначен для использования энтузиастами и людьми, которым просто нравятся самые последние версии ПО.