среда, 17 октября 2018 г.

Переработка диалогов управления макросами в LibreOffice

По состоянию на сейчас в LibreOffice управление макросами реализовано в интерфейсе через одно место.
Проблемы, как я их вижу, такие:
Из меню Сервис->Макросы->Управление макросами доступны ЧЕТЫРЕ разных диалога управления макросами, для каждого доступного языка отдельно. Basic, JavaScript, BeanShell и Python. Причем все они разные.
Причём диалог для Basic не позволяет управлять макросами. Для собственно управления макросами Basic нужно открыть отдельный дополнительный диалог.
Кнопка Правка во всех диалогах позволяет редактировать сам макрос, а вовсе не имя/положение библиотеки/модуля/диалога.
Я предлагаю всё это безобразие упразднить и сделать ОДИН диалог для управления макросами и запуска макросов.
Вот такого примерно вида (я на английском делал, потому что в багзилле так ВСЕ поймут, о чем речь и зачем):
В левой части диалога мы именно управляем библиотеками/модулями/диалогами, а также умеем делать импорт/экспорт. А в правой части мы работаем непосредственно с макросами: запускаем, назначаем макросы на события и редактируем их, если надо.
Никакого разделения по языкам программирования не нужно, в силу того, что LibreOffice сам различает на каком языке программирования написаны макросы в библиотеках и, я так понимаю, не допустит, чтобы из библиотеки Basic запустился модуль на Python. А значит и в моем варианте диалога нужно заставить LibreOffice значками выделять библиотеки/модули на разных ЯП и они все просто будут иерархически в одном дереве.
Есть ещё один момент: в текущей версии LibreOffice для работы с макросами на Python нужно внешнее расширение APSO. Без него не получится даже создать соответствующую библиотеку. Почему так сделано, я не очень понимаю, как и то, почему это расширение не включено в базовую поставку LibreOffice, раз базовый функционал просто нерабочий.
Так вот, при переделке диалога управления макросами этот странный факт также необходимо будет учитывать.

вторник, 16 октября 2018 г.

Охота на ошибки LibreOffice 6.2 alpha 1

The Document Foundation объявил «Охоту на ошибки» в LibreOffice 6.2 alpha 1.
Для удачной охоты вам необходимо 22 октября 2018 года скачать дистрибутив под вашу архитектуру и операционную систему с сайта http://dev-builds.libreoffice.org/pre-releases/, установить LibreOffice и заняться поиском ошибок (или подтверждением корректной работы).
Особое внимание при тестировании первой альфа версии LibreOffice 6.2 необходимо уделить новому модулю интеграции LibreOffice в KDE 5.
Нужно проверить:

  • корректное определение наличия среды KDE 5 и установку соответствующего модуля vcl
  • корректный внешний вид приложения в KDE 5
  • наличие/отсутствие значков в меню LibreOffice в среде KDE 5
  • выравнивание элементов меню LibreOffice при включенном/отключенном отображении значков в меню
  • какой диалог открытия/сохранения файлов используется в LibreOffice в KDE 5
  • что угодно ещё, что вам придет в голову проверить для LibreOffice в KDE 5

Обо всех найденных ошибках нужно сообщать разработчикам в багзиллу проекта, желательно на английском языке.

четверг, 11 октября 2018 г.

Популяризация LibreOffice и поиск начинающих разработчиков на С++

Поглядел я на количество открытых багов в багзилле проекта, оценил количество активных разработчиков в gerrit, плюсом внимательно поглядел на общую фотографию с конференции в Тиране. И сделал печальный вывод: разработчиков, которые непосредственно пишут код в проект крайне мало и они все достаточно возрастные. И задумался я о преемственности поколений девелоперов, и пришла мне в голову мысль попробовать привлечь в проект студентов или начинающих программистов, которые возможно захотят поучаствовать в большом проекте с открытым исходным кодом, повысить свои навыки программирования, а также иметь несколько патчей в проекте, чтобы было что показать работодателю в не таком и далёком будущем.
Написал я объявление, нацеленное на развешивание в профильных ВУЗах (вот ссылка на ПДФ), которое попросил распространить среди студентов там, где мог (не так кстати и много мест, где я попробовал, надо расширять ареал распространения информации). В объявлении ищутся именно начинающие кодеры на С++ (это важно).
На сегодня прошло не так много времени с момента просьбы о размещении объявления, однако есть уже некоторые результаты:
1. Появилась пара человек, которые захотели поддерживать инфраструктуру проекта, пока в виде русскоязычного сайта ru.libreoffice.org, и будут разрабатывать/поддерживать новую версию сайта в дальнейшем.
2. Из этой пары человек один также будет пробовать писать код, начав с Easy hacks
3. Ещё один человек заинтересовался проектом LibreOffice, как ещё одним проектом, куда он может слать патчи на С++. Не факт, что он будет это делать, но хотя бы он теперь знает, что можно.
4. И ещё один товарищ написал мне отдельное письмо, что также желает писать код в проект, и как только настроит необходимое окружение, так появится на нашем IRC канале #libreoffice-ru в сети freenode.net (вот вэб-интерфейс для простоты вхождения в IRC, если кто-то заинтересовался).
И это собственно вовсе не те люди, на которых было ориентировано само объявление. Это люди, которые узнали о теме из просьбы разместить объявление. Это как в теоретической науке: исследуют нейтронные звезды, а в качестве практического применения люди получают технологию wi-fi. 
В общем и целом, я не уверен, что само объявление появится хоть в одном ВУЗе и что хоть один человек заинтересуется проектом, однако то, что хоть какой-то результат есть уже сейчас - это хорошо.
Если кто-то заинтересуется кодингом на С++ в проект LibreOffice - милости просим.
Если кто-то может распространить объявление среди студентов ИТ специальностей - буду благодарен.

четверг, 4 октября 2018 г.

Использование кода, написанного в рамках GSoC, в LibreOffice

Я уже писал про то, что в этом году студенты со всего мира писали код в рамках спонсируемого гуглом мероприятия GSoC. В том числе код писали и для LibreOffice. Одним из заявленных проектов была переработка диалога Печать. Студент (Daniel Silva) с заданием справился, диалог переделал, код соответствующий написал (об этом я тоже писал ранее). Однако, по какой-то причине, код он писал не в основной мастер-ветке, где ведется разработка следующей версии LibreOffice 6.2, а в отдельной. И теперь сложилась достаточно неприятная ситуация: студент код написал, а в основную ветку его не влил. Бог знает по каким причинам. Самое плохое, что и наставник его из сообщества LibreOffice, который курировал именно этот проект, не спешит делать это сам и не спешит чем-то помочь или как-то ускорить студента.
Получается, что вроде бы успешно завершенный проект, запрошенный TDF в целях улучшения LibreOffice, и оплаченный гуглем студенту, в проект LibreOffice не попадает.
Самый простой вопрос: если так происходит, зачем вообще подавать заявки в гугл на участие в GSoC?
Ещё вопрос: почему разработка велась в отдельной ветке, хотя все остальные проекты (почти) просто писали в мастер сразу? Да и простые контрибьютеры с улицы пишут код сразу в мастер, а не плодят себе отдельные ветки. И их код вполне себе принимают, конечно же после ревью опытными товарищами.
Еще один вопрос: почему наставник отстранился от логического завершения проекта, от слияния кода с основной веткой? 
Изменение диалога Печать - это достаточно серьезно, это надо специально и отдельно тестить. А когда тестить, если этого нету в билдах ежедневных?
В общем и целом - получилось совсем нехорошо для проекта.

пятница, 28 сентября 2018 г.

Фото с конференции LibreOffice 2018 в Тиране

Прямо сейчас проходит ежегодная конференция разработчиков и вообще всех причастных к созданию LibreOffice в столице Албании городе Тирана. Ниже общее фото всех присутствующих:
PS: Майк, я тебя вижу :D

четверг, 27 сентября 2018 г.

Выпуск LibreOffice 6.1.2

The Document Foundation объявил о выпуске минорной версии LibreOffice 6.1.2. Данный выпуск состоялся после всего одного релиз кандидата, про который я писал в предыдущем посте. Если кто-то скачал и установил себе первый релиз кандидат с версией 6.1.2.1, то обновляться смысла нет, сборки побайтно идентичны.
Быстрый выпуск версии 6.1.2 был сделан для соблюдения сроков выпуска последующих релизов, в связи с тем, что предыдущий корректирующий выпуск версии 6.1.1 был выпущен с задержкой.
Скачать дистрибутив LibreOffice можно как всегда по ссылке https://www.libreoffice.org/download/.

воскресенье, 23 сентября 2018 г.

Выпуск LibreOffice 6.1.2.1

Доступен для скачивания первый релиз кандидат версии LibreOffice 6.1.2.
Скачивать как всегда отсюда - https://dev-builds.libreoffice.org/pre-releases/
Отдельно отмечу исправление 12 критических ошибок, приводивших к падениям офиса.
Советую всем, использующим в работе версию LibreOffice 6.1 обновиться до 6.1.2.1.

четверг, 20 сентября 2018 г.

Критичные для меня баги в LibreOffice. Шёл 2018 год

Я год назад писал мысли вслух на тему ошибок в LibreOffice, которые мешают мне использовать его в рабочем процессе (дома я его юзаю вполне успешно, мне хватает).
Так вот, изменилась ли ситуация с этими багами за год? Давайте поглядим (список из предыдущего поста):
1. Мерцает интерфейс пользователя, когда по меню водишь мышкой, причем для видеокарт от Интел в среде ОС Windows это никак не лечится, а глаза мне дороги. - в версии 6.1.1.2 присутствует до сих пор.
2. Рендеринг шрифтов в документе и в интерфейсе пользователя стал просто ужасный. - исправлено.
3. Рендеринг встроенных в документ изображений PNG также хромает, это не критично по сути, так как экспорт в ПДФ или печать выполняются с нормальным качеством, но смотреть на это убожество при работе в самом документе сил нет никаких. - это бага, связанная с OpenGL, и это не исправлено до сих пор.
4. В Calc не работает автофильтр при попытке фильтровать записи по дате. Это вообще нонсенс. По сути достаточно большой кусок реальной работы просто не может быть выполнен с использованием LibreOffice. - исправлено.
5. В текстовых документах Writer могут легко слететь стили, причем не все, а только некоторые и в произвольном порядке, а в больших документах, где стили обычно и надо использовать обязательно, это можно легко не заметить. По сути все преимущество стилей теряется для пользователя, поскольку необходимо постоянно глазами контролировать оформление текста и думать, а не слетели ли стили. - на сейчас такой бяки нет
6. До сих пор LibreOffice может выдать критическую ошибку в каком-то одном модуле и унести в ад ВСЕ открытые документы ВО ВСЕХ модулях. - не исправлено и не может быть исправлено! Ну давайте так, на мой взгляд критичных багов, приводящих к крашам в LibreOffice меньше не становится. В последнем чейнджлоге между 6.0 и 6.1 я насчитал 22 фикса крашей. Ну куда это годиться?! То, что в адъ уносятся ВСЕ документы - это архитектурная особенность LibreOffice - это мы выяснили ещё в прошлый раз, однако легче от этого не становится. Эта МЕГАошибка видимо будет присутствовать в LibreOffice всегда, пока будет ТАКОЕ количество крашей.

Итог: исправлена половина багов. Это достаточно хорошо.

А теперь немного новых бяк, которые меня огорчили за прошедший год в LibreOffice, и которые пока не исправлены:
1. LibreOffice безумно медленно открывает таблицы в формате Excel с большим количеством комментариев в ячейках. Не то, чтобы это беда беда, но приятного мало.
2. LibreOffice безумно медленно отрабатывает автофильтр в таблицах в формате Excel с большим количеством комментариев в ячейках. А вот это беда беда, потому что замедляет работу с таблицей. Автофильтр я дергаю в рабочей таблице достаточно часто. Это явно проблема фильтра импорта, потому что автофильтр на том же контенте с комментариями в формате ODS (родном) работает достаточно моментально.
3. Совсем не бага, но отсутствие функционала - не получилось найти вменяемый и производительный способ собирать данные из разных файлов и нескольких таблиц по 2000 строк и 20 столбцов в одну большую таблицу в отдельном файле. Для того же Excel нашлась надстройка Power Query, которая может кучу разных вещей и при этом, для получения нужного результата, мне, простому юзеру-ламеру, не потребовалось изучать работу БД и программирование макросов.

Я имею надежду, что что-то улучшится в плане исправления багов за следующий год.

ps: кстати, в багзилле есть приоритезация по критичности багов. Однако оперативно реагируют по сути только на critical (а это либо краши, либо некая штука, которая делает работу с программой просто невозможной). А все остальные статусы равноценны, поскольку разработчики все равно правят только те баги, которые им интересны, или за которые им заплатили, не глядя на приоритет совсем.

пятница, 14 сентября 2018 г.

Инфографика от Collabora

Товарищи из компании Collabora опубликовали немного инфографики в своем блоге (см.ниже).
Коротенько: LibreOffice поддерживает 205 различных форматов файлов, имеет 200 миллионов активных пользователей по всему миру, тестируется на 105 тысячах документов, за год с июля 2017 по июль 2018 года в проект было сделано 16 749 коммита, из которых треть сделана сотрудниками Collabora, образ docker с онлайн офисом CODE был скачан 7,5 млн.раз, загод добавили 1753 юнит теста, из которых 41% заслуга Collabora, Collabora Office используют 250 тысяч пользователей в 55 странах.

четверг, 13 сентября 2018 г.

Выпуск LibreOffice 6.1.1

The Document Foundation объявил о выпуске первого корректирующего релиза LibreOffice 6.1.
Всем пользователям, использующим версию 6.1 крайне рекомендуется обновиться до 6.1.1.
Списки исправленных ошибок:
Скачать новую версию можно как всегда по ссылке https://www.libreoffice.org/download/.

четверг, 30 августа 2018 г.

Руководство по условному форматированию в LibreOffice Calc

Вздумалось мне пографоманить и я решил написать обо всех доступных вариантах условного форматирования, доступного в LibreOffice Calc. В итоге просто список опций перерос в небольшое руководство с картинками, комментариями и пояснениями. 
Скачать файл Руководства в формате гибридного PDF можно здесь
К сожалению, в текущей версии LibreOffice, в условном форматировании я обнаружил энное количество ошибок в графическом интерфейсе пользователя и в логике работы. Всё, что я накопал, я отправил в багзиллу проекта:

Ошибка
Статус
Суть ошибки
Новая
Запрос на улучшение: добавить настройку для указания дня начала недели (сейчас это Воскресенье!)
Исправлено
Неправильно отображалось количество дней в неделе, 9 вместо 7
Новая
Не работает прокрутка мышью в списке условий
Новая
Запрос на улучшение: позволить полный вид отображения условия в списке (сейчас отображается полностью только выделенное условие)
Новая
Изменяются настройки условного форматирования при копировании диапазона из Calc в Writer как OLE объекта
Дубликат
Запрос на улучшение: позволить импортировать стили из существующих документов в текущий, как это можно во Writer
Исправлено
Не обновляется тип значка в условном форматировании, если удалить минимальное или максимальное значение в диапазоне
Новая
Столбцы гистограмм слипаются, если в соседних ячейках одинаковые значения
Новая
Некорректная работа при использовании нового пункта контекстного меню ячейки "Условное форматирование"
Новая
Необходимо удалить элемент Максимум из списка, который задает Минимум, и удалить элемент Минимум из списка, который задает Максимум
Новая
Проблема с форматом числа при применении условного форматирования, если формат числа в ячейке был изменен вручную
Исправлено
Нужно изменить некоторые названия условий для типа "Значение ячейки" (там, где было указано число 10)

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

Результаты GSoC 2018 для LibreOffice

Как я ранее писал, что несколько студентов пробовали этим летом писать код для проекта LibreOffice в рамках ежегодного мероприятия Google Summer of Code.
Ниже список студентов, их задач и, по ссылкам, доступны их отчеты и достижения (или мои комментарии, если студент вдруг себя так или иначе не проявил):
Daniel Silva - переработка диалога Печать (результат).
Kshitij Pathania - исправление ошибок и доработка Notebookbar (это ленточный интерфейс а-ля Риббон в MS Office) (результат в виде списка патчей).
Raghav Lalvani - доработка LibreOffice Viewer для Android и расширение его функциональности для возможности редактирования (я не увидел его результатов, возможно он просто ничего не сделал).
Vikas Mahato - реализация единого интерфейса для импорта данных из внешних источников в Calc (результат).
Nickson Thanda - исправление самых неприятных ошибок и внедрение запрошенных улучшений, связанных с интерфейсом пользователя (UI) и юзабельностью (UX) (я не увидел его результатов, возможно он просто ничего не сделал).
Hrishabh Rajput - улучшение для элемента Listbox в Base. (результат).
Ekansh Jha - реализация возможности редактирования объектов Smart Art в Impress (я не увидел его результата на соответствующей страничке проекта GSoC, хотя он явно занимался вопросом, но сделано было вероятно слишком мало, для того, чтобы результат был засчитан).
Saurav Chirania - улучшение тестирования и анализа ошибок UI в LibreOffice с реализацией DSL (Domain Specific Language) (результат).
Manuj Vashist - улучшение диалога Data Provider и добавление в него новых возможностей трансформации данных (я не очень понял, что вообще такое этот Data Provider, поскольку просто не нашел его в текущей версии 6.0) (я не увидел его результатов, возможно он просто ничего не сделал).
Muammer Mert Tümer - доработка LibreOffice Viewer для Android. Устранение проблем в скорости рендеринга документов (результат в виде списка патчей).
Shobhan Mandal - добавление поддержки Python в плагин LOEclipse (результат).
Итого, из 11 заявленных участников, справились с заданием 7. Это неплохой результат в принципе. Однако, просто для справки, в 2017 году все участники выполнили свои обязательства.

ps: в случае, если результаты по студентам будут обновлены (а такой шанс есть), я обновлю пост соответствующим образом.

среда, 8 августа 2018 г.

Выпуск LIbreOffice 6.1

Разработчики объявили о выпуске новой значительной версии LibreOffice 6.1. В данном выпуске были добавлены некоторые новшества, а также исправлено большое количество ошибок.
Кратко о некоторых нововведениях:
Добавлены новые темы значков Colibre и Karasa Jaga
Переработан внутренний механизм отрисовки изображений в документах
Реорганизовано главное меню Draw
Значительно улучшены реализации нового интерфейса пользователя Notebookbar в вариантах Groupedbar (Лента групповая), Tabbed (Вкладки) и Tabbed compact (Вкладки компактные)
Существующий движок баз данных HSQLDB был помечен, как устаревший, теперь по умолчанию для создания новых баз данных предлагается движок Firebird Embedded, также доступен механизм для миграции данных из формата HSQLDB в Firebird
В LibreOffice Online было добавлено множество диалогов для настройки различных параметров
Некоторые формулы в Calc теперь вычисляются быстрее, если в системе многоядерный процессор. Используется новый механизм вместо OpenCL
Улучшен экспорт в формат EPUB
72% коммитов в новую версию было от разработчиков из компаний Collabora, Red Hat, CIB, SIL и Pardus. 28% коммитов в проект было от прочих разработчиков.
Доступно видео (на английском языке) с описанием главных нововведений в LibreOffice 6.1.
Более подробно о новшествах релиза написано в примечаниях к выпуску.
Скачать новую версию можно по ссылке https://www.libreoffice.org/download/
Новая версия не рекомендуется для использования на предприятиях или для осуществления миграции.

четверг, 2 августа 2018 г.

Выпуск LibreOffice 6.0.6

Разработчики сообщили о выпуске LibreOffice 6.0.6. Этот выпуск рекомендован для промышленного внедрения или миграций.
По сравнению с предыдущим выпуском были исправлены следующие ошибки:
Скачать LibreOffice 6.0.6 можно с официального сайта The Document Foundation по ссылке https://www.libreoffice.org/download/download/.

пятница, 13 июля 2018 г.

Документы в формате ODT и ODS принимают в Московской областной государственной экспертизе

По служебной надобности искал информацию о форматах предоставляемых документов на сайте Московской областной государственной экспертизы и нашёл замечательный официальный документ - письмо со ссылкой на приказ Министерство строительства РФ о том, что на рассмотрение принимают электронные документы в том числе и в форматах ODT и ODS.
Вот прямая ссылка на письмо - http://moexp.ru/doc/letter_1783.pdf
Я в который раз убеждаюсь, что внедрение свободных форматов и соответственно LibreOffice идёт-таки в государственных органах РФ тихой сапой. Просто об этом не говорят громко. Из-за менталитета или просто не считают это важным.

вторник, 10 июля 2018 г.

Опрос по поводу нового виджета для вставки специальных символов в LibreOffice 6.1

Повздорил с дизайнерами LibreOffice на предмет того, что они новый виджет для вставки специальных символов, который запилили в версии 6.0 (очень удобный на мой взгляд) взяли и по умолчанию спрятали в версии 6.1. В связи с этим мне нужна статистика от пользователей Либры, кто что думает на этот счет. Прошу всех неравнодушных пройти опрос из одного вопроса на эту тему.
Ссылка на опрос по поводу нового виджета для вставки специальных символов в LibreOffice 6.1:
https://docs.google.com/forms/d/e/1FAIpQLSfVqGMXKzz4vjCzqzK2cZi2mBFk9qUFpkrIci5VeUilmBlRFw/viewform

четверг, 5 июля 2018 г.

Выпуск LibreOffice 6.1 RC1

Разработчики объявили о доступности первого релиз кандидата LibreOffice 6.1. Желающие посмотреть и оценить новые фичи или потестить новые (и старые) баги, могут скачать дистрибутив по всё тому же адресу https://dev-builds.libreoffice.org/pre-releases/ (выбирайте 6.1.0.1)
Скачивайте дистрибутив для своего варианта операционной системы, устанавливайте и тестируйте.
Обратите внимание на пункт меню Вид - User Interface. Если активировать экспериментальные возможности в диалоге Параметры (меню Сервис-Параметры), в разделе LibreOfficeDev-Расширенные возможности, то из вышеуказанного пункта можно легко переключаться между риббон-подобными интерфейсами. Некоторые даже выглядят не так и  плохо.
Обратите внимание ещё и на тот факт, что разработчики заменили механизм обработки векторной графики в формате SVG. Если у вас были проблемы с открытием/сохранением в формате SVG, то обязательно попробуйте ваши файлы в LibreOffice 6.1.0.1.
Ну и насладитесь новыми темами значков Colibre и Karasa Jaga:
Обо всех ошибках сообщайте разработчикам в багзиллу проекта: https://bugs.documentfoundation.org/.

вторник, 19 июня 2018 г.

Выпуск LibreOffice 6.1 beta 2

Разработчики объявили о доступности второй бета версии LibreOffice 6.1. Желающие посмотреть и оценить новые фичи или потестить новые (и старые) баги, могут скачать дистрибутив по все тому же адресу https://dev-builds.libreoffice.org/pre-releases/.
Скачивайте дистрибутив для своего варианта операционной системы, устанавливайте и тестируйте.
Обратите внимание на пункт меню Вид - User Interface. Если активировать экспериментальные возможности в диалоге Параметры (меню Сервис-Параметры), в разделе LibreOfficeDev-Расширенные возможности, то из вышеуказанного пункта можно легко переключаться между риббон-подобными интерфейсами. Некоторые даже выглядят не плохо.
Обратите внимание ещё и на тот факт, что разработчики заменили механизм обработки векторной графики в формате SVG. Если у вас были проблемы с открытием/сохранением в формате SVG, то обязательно попробуйте ваши файлы в LibreOffice 6.1 beta 2.
Обо всех ошибках сообщайте разработчикам в багзиллу проекта: https://bugs.documentfoundation.org/.

четверг, 7 июня 2018 г.

Сохранение места последнего редактирования документа при повторном его открытии в Writer

Многие пользователи MS Word при попытках использовать LibreOffice Writer жалуются, что последний не запоминает последнее место редактирования документа при его закрытии и повторном открытии.
Оказывается Writer может запоминать место последнего редактирования документа и делает это, только при одном условии. Необходимо внести хоть какие-то данные о пользователе в диалоге Параметры (меню Сервис > Параметры):
Никто не обязывает вас вносить ваши реальные данные. Если не хотите, то и не надо. Также не обязательно вносить данные во все доступные поля. Достаточно фамилии и имени.
После сохранения данных пользователя и перезапуска LibreOffice сохранение места последнего редактирования должно заработать.

суббота, 26 мая 2018 г.

Выпуск LibreOffice 6.1 beta 1

Разработчики объявили о доступности первой бета версии LibreOffice 6.1. Желающие посмотреть и оценить новые фичи или потестить новые (и старые) баги, могут скачать дистрибутив по все тому же адресу https://dev-builds.libreoffice.org/pre-releases/.
Скачивайте дистрибутив для своего варианта операционной системы, устанавливайте и тестируйте.
Обратите внимание на пункт меню Вид - User Interface. Если активировать экспериментальные возможности в диалоге Параметры (меню Сервис-Параметры), в разделе LibreOfficeDev-Расширенные возможности, то из вышеуказанного пункта можно легко переключаться между риббон-подобными интерфейсами. Некоторые даже выглядят не плохо.
Обо всех ошибках сообщайте разработчикам в багзиллу проекта: https://bugs.documentfoundation.org/.

вторник, 15 мая 2018 г.

Условное форматирование в LibreOffice Calc. Условие содержит ноль, а форматируется пустая ячейка

Наткнулся на нюанс при обработке LibreOffice Calc пустой ячейки (которая не содержит никаких символов вообще), как будто бы там прописано число ноль.
Есть целая статья в справке LibreOffice на тему "Обработка пустых ячеек". На мой взгляд она крайне сложная для понимания, хоть и с примерами.
А я сейчас опишу просто практический пример, как обойти эту проблему при использовании условного форматирования.
Итак, у нас есть условие, что в ячейках А1:A20 значения между 0 и 20 должны быть подсвечены зеленым цветом, вот так:
Мы настроили условие, как на скриншоте выше, однако, если в диапазоне есть пустые ячейки, то при таком условии они для LibreOffice Calc подпадают под соответствие условию (для него эта ячейка равна нулю!). Обратите внимание на ячейку А6 на скриншоте выше. Ячейка эта пустая, однако автоматически залита зеленым цветом.
Чтобы этого избежать, то есть для нас пустая ячейка вовсе не эквивалентна ячейке с введённым значением ноль, нужно задать ещё одно условие, вот таким образом:
То есть мы задали, что при пустой ячейке (равно - двойные кавычки), стиль ячейки должен остаться Стандартным. При этом важно, что данное условие должно обрабатываться Calc'ом перед основным условием, поскольку тут работает приоритет обработки условий! Сделать это можно выделив наше особое условие для пустой ячейки и нажав на кнопку "Вверх" под списком условий. Нажмите кнопку ОК, чтобы условия применились и теперь наша ячейка А6 не заливается зелёным цветом, если она пустая.

суббота, 5 мая 2018 г.

Видеоуроки по LibreOffice

Пришло мне в голову поискать на просторах Интернета видеоуроки по LibreOffice на русском языке. Оказалось, что такие есть и они вполне хорошего качества. Ниже ссылки:
1. Уроки по Writer, Calc, Impress
2. Уроки по Calc
3. Уроки по Base
4. Уроки по Draw (англ.)
Так как я не нашел уроков на русском языке по модулю Draw, но нашел такие на английском, то выше дана ссылка именно на английский вариант.
О формулах Math я также не нашел хорошего полноценного урока на русском языке, однако среди уроков по Writer тема вставки формул Math в документ освещена.

понедельник, 30 апреля 2018 г.

Выпуск LibreOffice 6.1 alpha 1

Разработчики объявили о доступности первого альфа выпуска LibreOffice 6.1. Желающие посмотреть и оценить новые фичи или потестить новые (и старые) баги, могут скачать дистрибутив по все тому же адресу https://dev-builds.libreoffice.org/pre-releases/.
Скачивайте дистрибутиив для своего варианта операционной системы, устанавливайте и тестируйте.
Обо всех ошибках сообщайте разработчикам в багзиллу проекта: https://bugs.documentfoundation.org/.

четверг, 26 апреля 2018 г.

Возобновление разработки утилиты Si-GUI

Если вы ещё не знаете, то есть достаточно легкий путь установить несколько версий LibreOffice параллельно в среде OS Windows. Это использовать утилиту Si-GUI. Это обычно нужно для нужд тестирования и чтобы не затрагивать стандартную установку обычно стабильной версии LibreOffice.
Утилита эта доступна по ссылке https://dev-builds.libreoffice.org/si-gui/setup.exe. Это старая, но вполне работоспособная версия утилиты. У нее есть пара проблем при попытке установки более менее современных версий LibreOffice из-за того, что автор её не обновлял давно (не смотря на дату, которая указана для файла по ссылке).
Проблема №1 - утилита должна на рабочий стол помещать ярлык для запуска той версии LibreOffice, которую через утилиту устанавливали, однако не помещает. Приходится ручками выносить ярлык на рабочий стол средствами ОС.
Проблема №2 - утилита выдает ошибку, если в её настройках указать для установки путь, которого не существует. Однако после повторной попытки запуска установки LibreOffice ошибка пропадает, так что это не критично.
Не так давно, буквально несколько дней назад, автор утилиты вышел в эфир на канале libreoffice_QA в Телеграме (запрещен на территории Российской Федерации) и объявил о желании возобновить работу над утилитой. Однако вместо обновления существующей версии он начал писать новую, на JAVA. Суть утилиты осталась абсолютно той же самой. Сборки доступны по ссылке https://dev-builds.libreoffice.org/kotlin-si-gui/main/
Если есть желание поучаствовать в разработке или помочь автору, то можете скачивать и тестировать сборки. Либо, если умеете писать код, то есть проект на гитхаб https://github.com/reisi007/Kotlin-SI-GUI, присоединяйтесь.

вторник, 24 апреля 2018 г.

GSoC 2018 и LibreOffice

Для тех, кто не знает: Google Summer of Code (GSoC) - это проект компании Google, которая каждый год выделяет некоторое количество денег студентам, которые готовы за лето написать код для свободного программного обеспечения (OpenSource), в рамках соответствующих запросов от представителей такого ПО.
LibreOffice ежегодно участвует в мероприятии и в 2018 году товарищи студенты будут делать
Daniel Silva - переработка диалога Печать.
Kshitij Pathania - исправление ошибок и доработка Notebookbar (это ленточный интерфейс а-ля Риббон в MS Office).
Raghav Lalvani - доработка LibreOffice Viewer для Android и расширение его функциональности для возможности редактирования.
Vikas Mahato - реализация единого интерфейса для импорта данных из внешних источников в Calc.
Nickson Thanda - исправление самых неприятных ошибок и внедрение запрошенных улучшений, связанных с интерфейсом пользователя (UI) и юзабельностью (UX).
Hrishabh Rajput - улучшение для элемента Listbox в Base (мне кажется я не правильно или не до конца понял, что он будет делать. Описание странное, как по мне).
Ekansh Jha - реализация возможности редактирования объектов Smart Art в Impress.
Saurav Chirania - улучшение тестирования и анализа ошибок UI в LibreOffice с реализацией DSL (Domain Specific Language).
Manuj Vashist - улучшение диалога Data Provider и добавление в него новых возможностей трансформации данных (я не очень понял, что вообще такое этот Data Provider, поскольку просто не нашел его в текущей версии 6.0).
Muammer Mert Tümer - доработка LibreOffice Viewer для Android. Устранение проблем в скорости рендеринга документов.
Shobhan Mandal - добавление поддержки Python в плагин LOEclipse.
Пожелаем им успеха, а их наставникам - терпения. Ну и будем ждать конца лета, когда будут объявлены результаты мероприятия.

суббота, 21 апреля 2018 г.

Форматирование всех формул Math в документе

Если у вас есть много формул Math в текстовом документе Writer, электронной таблице Calc, презентации Impress или рисунке Draw, и вам нужно во всех этих формулах изменить размер или шрифт, то вам придется ручками открывать каждую формулу в Редакторе формул и делать соответствующие изменения для каждой формулы отдельно. Это потому, что формула Math - это отдельный объект со своими свойствами, не имеющий своего стиля, через который можно было бы варьировать его форматирование.
По большому счету уже давным давно существовал макрос, который позволяет изменять форматирование всех формул в документе за один раз. Однако пользоваться им простому пользователю очень уж муторно.
Поэтому я решил сделать расширение к LibreOffice, которое в режиме диалога запросит у пользователя вводные по размеру шрифта и самому шрифту и выполнит форматирование всех формул в документе.
Начал я вот в этой теме на нашем форуме. После чего Майк решил немного это дело расширить и дополнить, и в итоге мы имеем сейчас версию 0.1.5. На сегодня разработка и улучшение расширения остановились, поскольку я не кодер, а Майк крайне занят основной работой.
Также я это расширение опубликовал на официальном сайте с расширениями для LibreOffice - https://extensions.libreoffice.org/extensions/formatting-of-all-math-formulas.
Расширение нужно скачать и установить в LibreOffice. После установки расширения в меню Сервис -> Дополнения появится пункт FaF, при нажатии на который появится вот такой диалог:
В первом поле нужно ввести размер шрифта (меньше 4 вводить нельзя). В выпадающем списке ниже можно выбрать шрифт из имеющихся в системе. Учтите, что если в формулах был какой-то редкий шрифт, и он не установлен в системе, то восстановить вид формул не получится, отмена действия в данном случае не сработает. При этом можно оставить шрифт пустым, тогда изменится только размер шрифта на указанный выше.
После настроек нажмите кнопку Formatting, чтобы отформатировать все формулы.
Также есть возможность изменять только выделенные формулы. Вы можете выделить только кусок текстового документа, либо часть слайдов презентации или только несколько объектов на листе Draw, запустить диалог FaF, настроить нужные параметры и нажать на кнопку Formatting only in selection, чтобы отформатировать только выделенные формулы.
Обо всех проблемах данного расширения, с которыми вы столкнетесь, можно (и нужно) написать в тему на форуме, указанную выше.

четверг, 19 апреля 2018 г.

Условное форматирование в LibreOffice Calc. Условие в виде формулы

Продолжаем серию статей (было тут, тут и тут) про условное форматирование в LibreOffice Calc.
Одним из условий автоматического применения форматирования может быть результат вычисления некой формулы, которая задаётся в диалоге "Условное форматирование":
Итак, выбираем "Формула" из выпадающего списка "Условие 1" и видим такой вид диалога:
А теперь небольшой ньюанс. В зависимости от формулы условное форматирование применяется по умолчанию к Диапазону ячеек, указанному в нижней части диалога. Если вы открыли диалог "Условное форматирование", не выбрав предварительно нужный диапазон ячеек, то после настройки формулы и форматирования вы можете получить не тот результат, на который рассчитывали. Таким образом, первым делом при настройке условного форматирования в зависимости от формулы нужно задать диапазон ячеек, к которым это самое форматирование будет применено.
Далее нужно задать саму формулу в поле справа от выпадающего списка.
Формула имеет вид, например, A1="Зарплата выплачена" - если нужно реагировать на текст в ячейке A1; A1<СУММ(A2:A100) или A1<>C3+C5 или A1=45 - для иных случаев. Всё дело в волшебных кавычках. При этом в адресации ячеек в этом поле так же, как и просто в ячейках рабочего листа можно и нужно (в случае условного форматирования диапазона ячеек) использовать знак $ для фиксации адреса ячейки, которую проверяет формула. Наша формула по сути своей проверяет указанную ячейку на соответствие некоему условию.
Таким образом можно автоматически форматировать ячейки таблицы в зависимости от текущего результата в других ячейках. То есть мы задаём условие в формуле для проверки ячейки А1, а в зависимости от этого форматируем одну или несколько ячеек, например B1:H3.
Конечно же можно сделать неограниченное количество условий для проверки в нашей ячейке А1. Например, можно проверять наличие нескольких ключевых фраз, вроде "На согласовании", "Согласовано", "В процессе" и так далее и для каждого случая настраивать свой цвет ячеек или вид шрифта. В результате мы получаем вот такое:
В этом примере в столбце А можно выбрать из выпадающего списка некий вариант, в зависимости от значения которого форматируется соответствующая строка с B по N. Обратите внимание на вид формулы на иллюстрации выше - $A1="Заключено". Знак доллара нужен для того, чтобы корректно проверялось условие формулы именно по столбцу А для всего диапазона от B до N. Всегда обращайте на это внимание!
Ещё ньюанс напоследок: например, вы хотите настроить условное форматирование для диапазона B1:N13. Перед тем как открывать диалог "Условное форматирование" установите курсор на первую ячейку диапазона (в нашем случае это B1), а затем уже открывайте диалог и выполняйте настройки, обязательно используя знак $ в формуле.

суббота, 7 апреля 2018 г.

Движок баз данных Firebird в LibreOffice 6.1

Один из разработчиков LibreOffice, Tamás Bunth, опубликовал пост о фактическом завершении работ по обеспечению импорта данных из устаревшего формата HSQLDB в формат Firebird. Работа эта выполнялась за деньги The Document Foundation, которые были выданы по результатам конкурса.
Также в версии LibreOffice 6.1 со встроенного движка баз данных Firebird будет снят статус "экспериментальный", что означает готовность к его массовому тестированию. Обратите внимание! Не готовность к внедрению в "продакшн", а готовность к тестированию на реальных задачах!
Некоторые ошибки в работе Firebird в LibreOffice конечно же есть и известны уже сейчас, однако наверняка при попытках использовать его в реальных задачах ошибок повылезает ещё вагон.
Обо всех ошибках, связанных с работой баз данных на основе Firebird крайне важно сообщать разработчикам в багзиллу проекта.
При всём при этом, замена устаревшего, не обновляемого и требовавшего Java, движка баз данных HSQLDB на Firebird - это огромный и нужный шаг в развитии LibreOffice.

четверг, 5 апреля 2018 г.

Риббон в LibreOffice. Ситуация на апрель 2018

Давно я не делал обзор текущего состояния реализации ленточного интерфейса в LibreOffice
Примечание: Все картинки в статье из разрабатываемой сейчас версии LibreOffice Writer 6.1 с английским интерфейсом, потому что в ежедневные сборки для Линукс русский язык не добавляют.
Итак, разработчики реализовали наконец-то давно напрашивающееся изменение в управлении типами интерфейса. Сейчас переключатель классика/лента выполнен в ОДНОМ пункте меню View > User Interface, в подменю которого можно СРАЗУ выбрать нужный тип ГУИ (полный список доступен только, если активированы экспериментальные возможности в диалоге Tools > Options):
Standard Toolbar - это классический ГУИ с парой панелей инструментов в верхней части экрана. Тут ничего нового нет и быть не может. Вот он:
Single Toolbar - это также классический ГУИ, но с одной панелью в верхней части экрана, в которой сконцентрированы самые часто используемые инструменты по мнению дизайнеров LibreOffice (это тоже уже давно доступный вариант):

Sidebar - это боковая панель (по умолчанию находится в правой части окна LibreOffice). Зачем они вынесли активацию Боковой панели именно в это меню - непонятно. Этот же пункт есть в View > Sidebar, наравне со Status Bar например, где ему и самое место.
Contextual groups - это первый из уже ШЕСТИ вариантов ленточного ГУИ в LibreOffice. В настоящее время им никто не занимается, моё мнение, что это нужно просто удалить. В настоящее время этот вариант выглядит вот так:
Очевидно, что эта штука ест много места по вертикали.
Contextual Single - это вариант предыдущего типа ГУИ, просто менее толстый:
По сути напоминает вариант с Single Toolbar, только называется по другому и немного реагирует на контекст выделения в документе.
Tabbed - это вариант ленты с вкладками, полная пародия на Риббон в MS Office. Сама идея, что надо по вкладкам щелкать, чтобы найти не очевидно спрятанную кем-то умным опцию, она ужасна по-моему. Этот вариант выглядит вот так:
Tabbed Compact - это тоже лента с вкладками, только менее толстая по вертикали:
Groupedbar - это лента, но без вкладок и без строки главного меню в верхней части. Также реагирует соответствующим изменением набора доступных инструментов на контекст вроде таблиц, картинок или врезок:
В принципе, из всех лентоподобных вариантов, мне лично нравится именно этот. Однако, он страдает детскими болезнями, типа расположенных в разных уровнях элементах выпадающих списков меню или разного размера шрифта в одинаковых элементах управления. Также, если установить курсор в таблицу, то полностью лента перестает помещаться в 1366 px по горизонтали. Почему-то этот вариант упорно толкают к снятию экспериментального статуса уже в релизе 6.1 этим летом, чтобы обычные пользователи смогли оценить всю его прелесть без дополнительных движений.
Groupedbar Compact - это последний вариант ленты-риббона. Из названия ясно, что это опять же менее толстый вариант предыдущей итерации:
Обратите внимание на слово Rows. Видите насколько оно не в одной линии с остальными пунктами "меню"? И значки в этой секции больше, чем аналогичные. Я специально создал таблицу и установил туда курсор, чтбы показать "интерактивность" этого варианта риббона.
На сегодня эти риббоны в разной степени готовности доступны только для трех модулей LibreOffice: Writer, Calc и Impress.
Есть вроде бы желание у разработчиков реализовать вариант Groupedbar для Draw. Но скорее всего этого в 6.1 не случится.
Кстати, я видел дискуссию между разработчиками на тему того, что куча недопиленных вариантов ГУИ а-ля риббон плохо влияет на карму самого LibreOffice и надо бы их количество сократить, а качество повысить.
Ах да, возможности настроить риббоны под себя всё ещё нет. Только крайне муторная ручная правка .ui файла в Glade.