вторник, 17 сентября 2019 г.

Выпуск LibreOffice 6.3.2 RC1

Стали доступны для скачивания сборки первого релиз кандидата второго корректирующего выпуска в ветке 6.3 - LibreOffice 6.3.2. Скачать LibreOffice 6.3.2 RC 1 можно для всех платформ, в вариантах 32 и 64 бит. Всем, кто использует LibreOffice 6.3, крайне советую обновиться. 
Ссылки для скачивания:
Исходный код
Описание исправленных ошибок в LibreOffice 6.3.2 RC1 относительно релиза LibreOffice 6.3.1 доступны по ссылке.

Расширения LibreOffice. Удалить дубликаты в таблице Calc

Давным давно висит в багзилле запрос на добавление в Calc функции "Удалить дубликаты". В MS Excel это делается нажатием одной кнопки, в Calc - путём не очень очевидных операций со стандартным фильтром.
В принципе существовало расширение, которое (вроде как) делало эту работу. Однако, как оказалось, на огромных количествах строк это расширение входило в ступор из-за весьма не оптимального алгоритма обработки строк.
В процессе конференции LibOCon 2019 Майк на это дело решил поглядеть и поглядел. А когда летел домой в самолете, ещё пошаманил. Я чуть изменил диалог, добавил прогрессбар, чтобы было видно, что расширение вообще работает, а не тупо зависло.
В итоге, мы получили расширение, которое за 40 сек обрабатывает 1 милион строк.
Я его пока выложил тут вот, на форуме в первом посте.
Крайне желательно его протестировать на самых различных данных.

воскресенье, 15 сентября 2019 г.

Впечатления от LibOCon 2019

Наконец-то я дома. Всё же это достаточно тяжёлый перелёт и затем поездка на поезде, которые у меня заняли сутки ровным счетом.
По моим впечатлениям от конференции конечно есть некоторые мысли.
Это реально было интересно для меня, потому что раньше я никогда за границу не туристом не ездил. Это достаточно далёкое путешествие и это тоже само по себе некоторый полезный опыт. Я имею ввиду, что нужно спланировать маршрут сначала, купить билеты, получить визу. Далее, как ориентироваться в огромных аэропортах, какие документы иметь при себе, сколько надо денег на пропитание в дороге, возить ли с собой половину аптеки лекарств или не стоит, стоит ли таскать с собой теплую одежду, если путешествие в межсезонье и так далее и так далее.
Сама конференция дала мне удивительное чувство того, как народ из ников в чатах, в багзилле, в логе геррита, на форумах превращается в реальных людей со всех концов света! Причём, если некоторых заочно всё же представляешь себе, поскольку они свои фотографии поставили на аватарки в Телеграме, то все остальные - это сюрприз из сюрпризов. Например, я думал, что Ilmari Lauhakangas намного старше, а Justin Luth - китаец (а оказался высоченным белым, который живет в Южной Африке!), или, например, я совсем не ожидал, что Henry Castro потомок индейцев из Южной Америки на вид, или что Arnaud Versini из Франции не нежный юноша, тонкий и воздушный, а брутальный небритый мужик (с ярким акцентом конечно), который не прочь засадить коньяка с пивом!
В целом я понимал, что на конференции на русском говорить будем только я и Mike Kaganski между собой, а все остальные будут общаться на английском. Мой английский крайне плох, просто швах. Причём, если я понимал, ЧТО у меня спрашивают, то я достаточно просто мог ответить на вопрос. Проблема оказалась в том, что я часто НЕ понимал вопрос вообще или переводил его для себя некорректно. Это такая проблема, которую надо решать, потому что общение на свободные темы во время, свободное от презентаций, - это большой кусок конференции, из которого я был выключен. И кстати во время самих презентаций слайды то я видел, темы прекрасно понимал, а вот комментарии выступающих также остались за кадром. Были на конференции люди, у которых с английским было ещё хуже, чем у меня, но это единичные бедолаги из Юго-Восточной Азии, которых не набралось бы и пять человек вместе со мной.
Хочется отметить уровень организации всего мероприятия. Ismael Oreo и его команда (на фото ниже им вручают памятные рюкзаки с сюрпризом) сделали всё, для того, чтобы бытовые проблемы не беспокоили никого из участников конференции. 
Был организован автобус, который утром вёз нас в Университет Альмерии, а вечером привозил обратно. Были организованы ежедневные вечерние мероприятия с питанием, питием и даже с выездом на море (однако погода подвела в этом плане). В последний день была экскурсия в местную достопримечательность - крепость Alcazaba. Хочется казать им отдельное, огромное спасибо за это!
Следующая конференция в 2020 году будет проводиться в Нюрнберге, Германия. Очень надеюсь, что в следующем году я также смогу побывать на конференции. Очень хочется!
Кстати, побывав среди людей, которые говорят только на английском большую часть времени, я к последнему дню осознал, что стал больше понимать свободную речь. Я не успевал переводить это всё для себя, но некоторые фразы вполне выхватывал. Так что подтянуть английский - это вполне реальная задача. Надо бы её себе поставить на год.
Я думаю, что после того, как станут доступны презентации с конференции, я сделаю ещё несколько постов, в которых опишу показавшиеся мне важными темы и проиллюстрирую их слайдами из презентаций докладчиков. Плюс ко всему, я сам был на ограниченном количестве презентаций сам (они шли параллельно в трёх местах сразу), я вместе с вами их посмотрю =)

среда, 11 сентября 2019 г.

Ежегодная конференция LibOCon 2019

По приглашению The Document Foundation я нахожусь на ежегодной конференции, посвященной проекту LibreOffice,которая проходит с 10 по 13 сентября 2019 года в Альмерии, Испания.
Для меня это первый подобный опыт. К сожалению был очень тяжелый перелет с пересадками, но теперь я здесь и в этом и последующих постах расскажу и покажу в фотографиях, что здесь происходит, о чем говорят люди.
Первый день был вводный. Знакомство с людьми, регистрация и так далее.
Ниже фото с TDF team:
Слева направо:
Итало Виньоли - маркетинг
Оливье Халлот - документация
Марк Сандерс - маркетинг и прекрасные ролики о новшествах в каждом новом выпуске
Хиско Фаули - QA
Хайко Тицте - дизайн и UI/UX
Кристиан Лохмайер - релиз менеджер
Софи Готье - координатор фонда
Илмари Лаухакангас - некий Development Marketing (я без понятия, что это, как он ответит, я напишу)
Флориан Эффенбергер - исполнительный директор фонда
Гильхем Молин - инфраструктура проекта
А во второй день прозвучала интересная информация, что за последний год на главную страницу проекта из общего количества посещений почти 20% было из Яндекса. Учитывая, что Яндексом нигде в мире, кроме как на постсоветском пространстве не пользуются, можно сделать вывод, что резко вырос интерес к LibreOffice в России. У меня есть подозрение, что это связано с курсом на импортозамещение продуктов Майкрософт, который приняло правительство РФ.

суббота, 7 сентября 2019 г.

LibreOffice's Macro Team

Внезапно несколько людей решили объединить свои усилия по исправлению ошибок при работе с макросами в LibreOffice. Включая работу самих макросов, баги во встроенном редакторе кода и даже написание документации, связанной с написанием и использованием макросов.
Вот список этих людей:
Andreas Heinisch
Tomoyuki Kubota
Luane
Alain Romedenne
А вот список проблем, которые они смогут мужественно исправить: https://bugs.documentfoundation.org/showdependencytree.cgi?id=107659&hide_resolved=1
Пожелаем им удачи.

четверг, 5 сентября 2019 г.

Отчет QA в LibreOffice за август 2019

Xisco Fauli, QA инженер из The Document Foundation опубликовал ежемесячный отчёт о работе QA в августе 2019 года. По ссылке доступно много самой разной текстовой информации и графиков.
Немного о самом главном в августе:
Подано отчетов об ошибках - 592, из которых 61 - это запросы на улучшение
Обработано отчетов - 657
Найдено регрессий - 100, из которых для 76 нашли причину
Закрыто (по разным причинам) - 590, в том числе исправлено 19 критических ошибок, приводивших к аварийному завершению работы LibreOffice.
В отчёте Xisco сделал прекрасную диаграмму, иллюстрирующую эти причины:

Немного поясню:
FIXED - это ошибки, которые были явно исправлены разработчиками, и в отчете есть прямая ссылка на патч.
DUPLICATE - это ошибки, по которым уже есть информация в багзилле.
WORKSFORME - обычно это старая ошибка, которая в текущей версии LibreOffice не воспроизводится. Значит, кто-то что-то где-то исправил, ошибка не воспроизводится сейчас, а кто и что исправил мы не знаем и ставим такой статус.
NOTABUG - это когда кто-то, не разобравшись в функционале LibreOffice, пишет отчет об ошибке, а оказалось, что такое поведение программы - это так и задумано.
NOTOURBUG - ошибка есть, но это ошибка не в самом LibreOffice, а либо в сторонней библиотеке, либо в стороннем софте/дистрибутиве Линукс.
INSUFFICIENTDATA - ошибка закрывается с таким статусом (недостаточно данных), если она находилась в статусе NEEDINFO (требуется информация) более, чем 6 месяцев. То есть, у баг репортера запросили уточняющую информацию по ошибке и он такую информацию не предоставил.
WONTFIX - это ошибки, которые либо вовсе не ошибки, либо предложения, которые были отвергнуты разработчиками по обоснованным причинам.
OTHERS - это Xisco объединил все остальные причины =)
Хорошая работа QA в августе! =)

воскресенье, 1 сентября 2019 г.

Выпуск LibreOffice 6.3.1 RC2

Стали доступны для скачивания сборки второго релиз кандидата первого корректирующего выпуска в ветке 6.3 - LibreOffice 6.3.1. Скачать LibreOffice 6.3.1 RC 2 можно для всех платформ, в вариантах 32 и 64 бит. Всем, кто использует LibreOffice 6.3, крайне советую обновиться.
Ссылки для скачивания:
Исходный код
Описание исправленных ошибок в LibreOffice 6.3.1 RC2 относительно  LibreOffice 6.3 RC1 доступно по ссылке.
Скорее всего этот билд и станет релизом LibreOffice 6.3.1.

четверг, 29 августа 2019 г.

Округление числа в ячейке Calc до сотен, тысяч, миллионов и так далее

В электронных таблицах LibreOffice Calc есть функция ОКРУГЛ (ROUND), которая и выполняет округление числа. Функция эта имеет два аргумента: первый - собственно округляемое число (или ссылку на ячейку с исходным числом) и второй - количество десятичных разрядов, до которого число округлять, в виде целого числа.
Обычно эту функцию используют, когда надо сократить число знаков после десятичной запятой.
Например формула =ОКРУГЛ(34,09349348;2) сократит наше число до 34,09. Второй аргумент указал функции, что нужно оставить только два числа после запятой (с учетом математического округления!).
А что делать, если нам надо округлить число 12317 до сотен? То есть нам нужно получить число 12300.
Оказывается функция ОКРУГЛ в качестве второго аргумента может принять и отрицательное  число!
Если мы запишем =ОКРУГЛ(12317;-2), то получим в ячейке число 12300!
Соответственно, если нам надо получить 12000, то формула примет вид =ОКРУГЛ(12317;-3). И так далее, в зависимости от Вашего исходного и желаемого числа.
А вот если число будет 12367, то округление даст нам в итоге 12400, а не 12300! 
ps: ох-ох. Спасибо, Майк. Я забыл в эйфории своей о том, что округление даже с отрицательным аргументом всё ещё производится по математическим правилам. И число 12367 будет округлено до 12400, а вовсе не до 12300!!!

Есть ещё пара функций, которые позволяют округлять числа до десятков, сотен, тысяч и так далее. Но они округляют не по математическим правилам округления, а жёстко в одну сторону, что будет видно из названий функций. Это функции ОКРВНИЗ (FLOOR) и ОКРВВЕРХ (CEILING). Первая округляет число всегда к меньшему, вторая - соответственно к большему значению.
Синтаксис функций ОКРВНИЗ и ОКРВВЕРХ отличается от функции ОКРУГЛ:
Первый аргумент - это любое число,
Второй аргумент - это точность округления. Если вам надо округлять до сотен, то это будет число 100, если до десятков тысяч, то соответственно - это 10000.
Третий аргумент - необязательный, режим округления для отрицательных чисел.
Примечание: Обратите внимание, эти две функции не совсем соответствуют своим аналогам в MS Excel. В частности в аналогичных функциях MS Excel нет третьего аргумента. Да ещё в самом Excel между версиями 2010 и 2013 были внесены изменения в работе этих функций. Но это отдельная философская тема. При этом всём в простых случаях совместимость функций между Excel и Calc обеспечена.
В качестве иллюстрации работы функций:
=ОКРВНИЗ(12345;100) даст в результате 12300, а
=ОКРВВЕРХ(12345;100) даст в результате 12400!

вторник, 27 августа 2019 г.

Выпуск LibreOffice 6.3.1 RC1

С огромным опозданием наконец стали доступны для скачивания сборки первого релиз кандидата первого корректирующего выпуска в ветке 6.3 - LibreOffice 6.3.1. Скачать LibreOffice 6.3.1 RC 1 можно для всех платформ, в вариантах 32 и 64 бит. Всем, кто использует LibreOffice 6.3, крайне советую обновиться. 
Ссылки для скачивания:
Исходный код
Описание исправленных ошибок в LibreOffice 6.3.1 RC1 относительно релиза LibreOffice 6.3 доступны по ссылке.

четверг, 8 августа 2019 г.

Выпуск LibreOffice 6.3

The Document Foundation объявил о выпуске LibreOffice 6.3. В этом выпуске были замечены следующие новшества:
Writer

  • Для ячеек таблицы Writer теперь можно задать цвет фона из панели инструментов Таблицы
  • Обновление индексов/оглавлений теперь можно отменять и обновление не очищает список шагов для отмены
  • Улучшено копирование таблиц из Calc в существующие таблицы Writer: копируются и вставляются только видимые в Calc ячейки
  • Фон страницы теперь покрывает весь лист, а не как ранее только внутри границ текста
  • Улучшена совместимость с Word в поддержке направления написания сверху-вниз и слева-направо в ячейках таблиц и текстовых врезках
  • Добавлено опциональное меню Форма, содержащее элементы управления, совместимые с MS Office
  • Проведена работа по значительному сокращению времени загрузки/сохранения файлов текстовых документов. Полный список исправлений здесь.
  • Список исключений автозамены «Слова с ДВумя ЗАглавными» теперь используется при изменении регистра в функциях «Начинать каждое предложение с прописной бкувы» и «Исправлять случайное нажатие cAPS LOCK». Это позволяет избежать автоматического изменения регистра в словах типа mRNA, iPhone, fMRI. Список был переименован в «Слова с ДВумя ЗАглавными или мАЛЕНЬКОЙ зАГЛАВНОЙ»

Calc

  • Добавлен новый формат для валюты Рубль РФ. Будет отображаться знак ₽ (U+20BD) вместо руб.
  • Добавлен новый выпадающий виджет с функциями в строку для ввода формул вместо кнопки Сумма
  • Теперь пользователь может отключить дополнительный диалог с результатами поиска
  • Добавлен новый флажок в диалоге «Данные > Статистика > Скользящее среднее», который позволяет обрезать диапазон ввода до фактически содержащихся данных перед вычислением скользящего среднего. Этот флажок отмечен по умолчанию. Также исправлены проблемы производительности даже для случая, когда флажок не отмечен
  • Переработан диалог «Данные > Статистика > Выборка»
  • Новая функция FOURIER() - для расчёта дискретного преобразования Фурье. Добавлен отдельный диалог в меню Данные > Статистика > Анализ Фурье
  • Проведена работа по значительному сокращению времени загрузки/сохранения файлов электронных таблиц. Полный список исправлений здесь.

Impress/Draw

  • Теперь можно перетаскивать несколько эффектов анимаций в Боковой панели за раз для изменения их порядка
  • Огромные улучшения при импорте объектов SmartArt в файлах PPTX

Base

  • Помощник по миграции на Firebird, ранее доступный только в экспериментальном режиме, теперь предлагает пользователям мигрировать с их файлов Base HSQLDB по умолчанию.

Диаграммы

  • Реализована возможность отключить подпись легенды для серий
  • Добавлена возможность выбора цветовой палитры в настройках цвета диаграммы

Math

  • Для альтернативного представления векторов реализован атрибут символа harpoon/wideharpoon, который комбинирует имя переменной с символом «гарпун» (U+20D1) также, как это есть сейчас для атрибута vect/widevec

Ядро/Общие

  • Модуль сканирования LibreOffice TWAIN для Windows был переписан, как отдельный 32-битный исполняемый файл (twain32shim.exe). Это позволит и 32 и 64-битным версиям LibreOffice использовать 32-битный Windows TWAIN компонент. И теперь, наконец, LibreOffice x64 для Windows может использовать сканирование
  • Количество сохранённых поисковых запросов в диалоге «Найти и заменить» может быть настроено через экспертные настройки
  • Теперь можно вставлять в текст узкий неразрывный пробел (U+202F). Этому действию назначено сочетание клавиш Shift+Alt+Space
  • Новый диалог «Совет дня», который показывает полезную информацию один раз в день при первом запуске. Диалог отключаемый
  • Информационная панель «Что нового», содержащая ссылку на примечания к выпуску при первом запуске новой версии LibreOffice
  • Выделение предложения (тройной щелчок) теперь доступно для привязки сочетаний клавиш в диалоге Настройка (по умолчанию сочетание не назначено)
  • Если не модифицированный шаблон документа открывается в существующем окне, он больше не будет перезаписываться новым документом. Вместо этого новый документ откроется в новом окне
  • Новый функционал: Redaction (мы всё ещё думаем, как это перевести на русский в UI). Позволяет зачернять конфиденциальную информацию в документе и получать на выходе PDF документ, из которого нельзя получить скрытую таким образом информацию. Доступно из меню «Сервис > Redact». Скрывать информацию можно чёрным цветом и белым.

Справка

  • Добавлены новые страницы Справки по программированию макросов на Python
  • Добавлены страницы справки по некоторым недокументированным объектам и функциям BASIC
  • Фрагменты кода BASIC и Python теперь могут быть скопированы в буфер обмена по щелчку мышью для дальнейшего использования
  • Создан онлайн редактор Справки
  • Задокументированы функции Calc CONCAT, TEXTJOIN, IFS, SWITCH
  • Функции Calc теперь содержат ссылку на номер выпуска LibreOffice, в котором их реализовали

Фильтры

  • Улучшения в фильтре экспорта EMF+
  • Добавлена поддержка экспорта в формат PDF/A-2, с соответствующим улучшением интерфейса для возможности выбрать PDF/A-1 или PDF/A-2
  • Добавлена поддержка экспорта шаблона электронной таблицы в формат .xltx
  • Добавлена поддержка экспорта шаблона текстового документа в формат .dotx
  • Значительно улучшена поддержка сводных таблиц MS Excel
  • При экспорте в PPTX объекты SmartArts сохраняются для возможности их редактирования в PowerPoint
  • Улучшения при экспорте в Tagged PDF

Интерфейс пользователя

  • Новый вариант «Вкладки компактные» доступен в Writer, Calc, Impress и Draw. Доступен из меню Вид > Интерфейс пользователя.
  • Новый вариант «Контекстная однострочная» готов для использования в Writer и Draw. Доступен из меню Вид > Интерфейс пользователя
  • Тема значков Sifr была кардинально обновлена
  • Тема значков Karasa Jaga была переработана с размера 22px на размер 24px
  • Изменены шрифты в диалоге установщика LibreOffice в Windows с Tahoma 8px на Segoe UI 9px, также изменена ширина диалога
  • Ширина Боковой панели теперь настраивается через экспертную опцию Office/UI/Sidebar/General/MaximumWidth
  • Изменены имена для стилей списка типа Маркированный список в Боковой панели Writer на более понятные пользователю. Также имена теперь содержат тот маркер, который будет присвоен первому уровню списка
  • Выпадающий элемент управления в панели для ввода формул Calc был изменён для решения некоторых проблем отображения

LibreOffice Online

  • Произведены улучшения в администрировании, интеграции и настройке
  • Улучшена скорость обработки онлайн-документов
  • Более быстрая загрузка страниц
  • Улучшена поддержка экранов HiDPI
  • Улучшения в механизме и отображении при подписывании документов
  • Улучшения при работе с диаграммами
  • Улучшена работа с выделением и вращением изображений в Writer Online
  • Теперь можно открывать файлы MS Visio (только для чтения)
  • При создании документа онлайн пользователь сможет выбрать шаблон документа (если они созданы)
  • Доступен полнофункциональный диалог управления условным форматированием в Calc Online
  • В Impress Online стало возможным добавлять колонтитулы к слайдам
  • Значительно улучшено обновление предварительного просмотра в Impress Online при изменении выделения или редактировании.
  • В Impress Online доступны диалоговые окна для форматирования символов, абзацев и слайдов.
  • И многое многое другое

Локализация

  • Обновлены словари для языков: Африкаанс, Бретонского, Датского, Английского, Галицийского, Сербского, Испанского, Тайского
  • Обновлен тезаурус для Словенского языка

Удалённые / Устаревшие возможности

  • Поддержка работы с Java 5 прекращена. Минимальная версия теперь Java 6
  • Поддержка GStreamer 0.10 устарела и работа с ним больше не будет поддерживаться в следующей версии LibreOffice 6.4. Работа с GStreamer 1.0 поддерживаться.
  • Удалён KDE4 VCL бэкэнд
  • Персонализация с использованием тем Firefox была удалена из-за изменений API со стороны Mozilla

Совместимость с платформами

  • Продолжается развитие KDE5 VCL бэкэнда
  • Готовые 32 битные пакеты rpm и deb для версии 6.3 и более поздних предоставляться не будут. Это не значит, что вы не сможете собрать 32 битную сборку из исходных кодов LibreOffice. TDF вынужден экономить свои скромные ресурсы. (Вопрос с продолжением тестирования 32 битных линукс сборок дискутировался в списке рассылки, но к чему пришли в итоге я не понял)
Подробнее и с картинками можно почитать здесь.

среда, 7 августа 2019 г.

Отчет QA в LibreOffice за июль 2019

Xisco Fauli, QA инженер из The Document Foundation опубликовал ежемесячный отчёт о работе QA в июле 2019 года. По ссылке доступно много самой разной информации.
Немного о самом главном в июле:
Подано отчетов об ошибках - 470
Обработано отчетов - 506
Закрыто (по разным причинам) - 400, в том числе исправлено 16 критических ошибок, приводивших к аварийному завершению работы LibreOffice.
В отчёте Xisco сделал прекрасную диаграмму, иллюстрирующую эти причины:
Немного поясню:
FIXED - это ошибки, которые были явно исправлены разработчиками, и в отчете есть прямая ссылка на патч.
DUPLICATE - это ошибки, по которым уже есть информация в багзилле.
WORKSFORME - обычно это старая ошибка, которая в текущей версии LibreOffice не воспроизводится. Значит, кто-то что-то где-то исправил, ошибка не воспроизводится сейчас, а кто и что исправил мы не знаем и ставим такой статус.
NOTABUG - это когда кто-то, не разобравшись в функционале LibreOffice, пишет отчет об ошибке, а оказалось, что такое поведение программы - это так и задумано.
INSUFFICIENTDATA - ошибка закрывается с таким статусом (недостаточно данных), если она находилась в статусе NEEDINFO (требуется информация) более, чем 6 месяцев. То есть, у баг репортера запросили уточняющую информацию по ошибке и он такую информацию не предоставил.
OTHERS - это Xisco объединил все остальные причины =)
Хорошая работа QA в июле! =)

среда, 24 июля 2019 г.

Расширения LibreOffice. Нумерация страниц документа в Writer

Как создавать нумерацию страниц в текстовом документе LibreOffice очень подробно и красиво написано вот здесь: раз, два и три. Это делается вполне логичным образом, пусть и не совсем очевидным для бывших пользователей MS Office.
Для упрощения этого процесса существует пара расширений.
Первое расширение - Pager. Создавалось ещё во времена OpenOffice.org, однако до сих пор работает и в актуальных версиях LibreOffice. 
Скачайте по ссылке расширение в виде файла OXT, установите его в LibreOffice. Расширение было написано русскоязычным товарищем, поэтому локализовано на русский. В меню Вставка станет доступен пункт "Номера страниц...", нажмите на него и увидите такой вот диалог:
Расширение позволяет вставить номер страницы в верхнем или нижнем колонтитуле, с выравниванием слева, по центру, справа. Также доступны различны опции и возможность вставить надпись типа "Страниц 1 из N" и выбрать тип нумерации из доступных. После настройки нажмите кнопку "Применить".
Внимание! С этим расширением у меня были проблемы!
Во-первых у меня в LibreOffice 6.3.0.1 в среде KDE нижняя часть диалога отрисовывается не сразу, а только после снятия/установки флажка "Отображать номера страниц"
Во-вторых я словил крэш LibreOffice после закрытия этого диалога. Я не смог это повторить, но это не значит, что риска нет совсем.
Второе расширение - Page Numbering Addons. Создано относительно недавно, год примерно назад в рамках какого-то странного проекта. Опять же по ссылке качайте OXT файл, установите его в LibreOffice. В меню Вставка появится пункт Page Numbering. Расширение не локализовано, поэтому и пункт меню и сам диалог расширения не русифицированы.
Это расширение также позволяет вставить номер страницы в верхнем или нижнем колонтитуле с выравниванием слева, по центру, справа; позволяет выбрать тип нумерации, оформление нумерации (всякие скобочки и прочее), задать шрифт и размер шрифта для нумерации, а также задать порядок нумерации с не первой страницы и не с единицы в номере. С этой штукой у меня проблем не было. Советую использовать именно это расширение.

Расширения LibreOffice. Расширение для создания расширения

Предположим, что у вас есть готовый макрос (и даже с неким диалогом или диалогами) для LibreOffice, которым вы хотите поделиться с миром. Распространять просто макрос и снова, и снова писать пользователям, как макрос правильно прописать в LibreOffice, и, как потом макрос запускать - это не очень здравая затея, как по мне.
А здравая затея - это запаковать макрос со всеми его диалогами в расширение. Расширение LibreOffice - это надстройка, добавляющая некий функционал, который в стандартном LibreOffice отсутствует. Физически, расширение - это файл, который содержит сам макрос, диалоги, настройки панели инструментов или меню, файлы локализации и что угодно еще. Расширение у файла - OXT. Запустив этот файл (естественно, что сам LibreOffice должен быть уже установлен), мы сразу откроем Libreoffice и в нём диалог Управление расширениями, в котором нам будет предложено расширение установить.
Расширение можно создавать ручками, поскольку OXT - это просто архив, который содержит определенную структуру каталогов и файлов с данными и кодом. Однако, так как я не нашел хорошего вменяемого руководства на русском языке на эту тему, да и неохота постоянно руками прописывать в xml файлах настройки для будущего расширения, я поискал и нашел достаточно удобный инструмент для создания расширений.
Это готовое расширение для LibreOffice, которое называется BasicAddonBuilder. Скачать его можно по ссылке http://calc-info.de/files/BasicAddonBuilder_LibreOffice_0.5.2.oxt. Оно достаточно старое, было создано в свое время для OpenOffice.org, а затем адаптировано для LibreOffice. 
Примечание: у меня на ОС Windows это расширение нормально и стабильно работает только в версии LibreOffice 5.2.7. На более новых версиях LibreOffice расширение сбоит. Поэтому для целей сборки уже своего расширения я использую портативную сборку LibreOffice 5.2.7, которая никак не мешает стандартно установленной версии.
Итак, устанавливаем расширение, перезапускаем LibreOffice и видим новую панель инструментов с одним значком, при наведении на который всплывает подсказка с именем BasicAddonBuilder.
Примечание: в этом же экземпляре LibreOffice уже должен быть создан нужный макрос и всё, что вы ещё хотите упаковать в расширение. Причём это должна быть отдельная библиотека!
Жмём на значок и видим такой диалог (он весь на английском, но всё тут достаточно просто):
Слева перечислены шаги, по которым нас проведут при создании расширения, количество шагов будет изменяться в зависимости от наших хотелок в процессе создания расширения.
Итак, наши шаги:
- Library selection - выбор библиотеки. Из выпадающего списка выберите местоположение вашей библиотеки и в списке ниже выделите её. Нажмите кнопку Next.
- General options - выбор способа запуска вашего расширения в интерфейсе пользователя LibreOffice. Доступны создание отдельной панели инструментов, создание меню верхнего уровня, добавление элемента меню в меню Сервис->Дополнения и/или в меню Справка. В зависимости от выбора на этом шаге будут изменяться последующие шаги. Я выберу все возможные варианты, чтобы охватить все возможности и показать все настройки. Жмём кнопку Next.
- Office toolbar - настройка будущей дополнительной панели инструментов. Нужно задать заголовок панели инструментов, размер значков, а также добавить нужное количество значков на панель (есть возможность добавлять разделители).
Каждую кнопку на панели инструментов нужно отдельно настроить! Делается это в отдельном окне добавления кнопки на панель инструментов (Add button) либо, если надо что-то изменить, путем выделения кнопки и нажатия на кнопку Edit, вот в таком диалоге:
В поле Item label нужно ввести надпись, которая будет показана на кнопке, если ей не задан значок. Надпись можно локализовать, для чего надо нажать кнопку с флагами рядом с полем:
Нажмите кнопку Add, добавится новая строка, выберите нужный язык из списка и напишите на этом языке текст, который будет отображаться для выбранного языка. После локализации нажмите кнопку ОК, чтобы вернуться в предыдущее окно.
Далее в поле Macro command нужно выбрать подпрограмму (макрос), который будет выполнен при нажатии на кнопку. Для этого нажмите кнопку с шестерёнкой справа от поля, откроется следующий диалог:
В верхнем выпадающем списке должна быть выбрана ваша библиотека, на основе которой мы создаем новое расширение, далее выберите нужный модуль и соответствующий макрос для привязки к кнопке. Нажмите кнопку ОК, чтобы вернуться в окно Properties.
Далее в разделе Icons можно назначить значку изображение для разных случаев. Изображение должно быть в формате png, jpg, gif, bmp. Учитывайте, что размер выбранного изображения будет приведен к размеру 24х24 или 16х16 пикселей.
В разделе Office context нужно отметить галочками те модули LibreOffice, в которых настраиваемая кнопка будет отображаться. Например какой-то функционал вашего расширения работает только в Writer, а какой-то только в Calc.
После завершения настройки кнопки нажмите кнопку ОК.
Такую процедуру нужно повторить для каждой кнопки на панели инструментов!
- Office menubar - добавление меню верхнего уровня. Это меню будет добавлено между меню Сервис и меню Окна в тех модулях, которые вы выберете:
Надпись под Menu title - это название меню. Чтобы его настроить нажмите кнопку с разводным ключом справа, откроется окно Properties, аналогичное такому в шаге третьем:
И в поле Item label введите название для вашего меню. В разделе Office context отметьте те модули, в которых меню должно быть доступно. Нажмите ОК.
Теперь нажмите кнопку Add menu. Откроется очередной диалог Properties, в котором нужно задать имя уже для пункта меню, макрос, который будет срабатывать при выборе пункта меню, значок. Обратите внимание, здесь нужно опять выбрать модули, но теперь уже для отображения пункта меню в нашем новом меню. Как пример, само меню может быть показано в Writer и Calc, а вот пункты меню при этом будут отличаться. После настройки нажмите ОК. Эти операции необходимо выполнить для каждого пункта меню!
В меню можно вставлять разделители и, я так понял, субменю. Но субменю я не пробовал сам, можете экспериментировать смело!
- Addon menu - полностью аналогичный предыдущему вариант, за исключением того, что здесь жёстко задано меню и подменю, куда вы сможете добавить свои пункты. Это меню Сервис->Расширения. Вы не можете это изменить.
- Help menu - также аналогичный предыдущим двум вариант, но здесь мы можем добавить пункты в меню Справка. Обычно конечно в это меню добавляют именно справку по вашему расширению, если она есть. Не нужно в меню Справка добавлять пункты для запуска расширения, их там никто, никогда не найдёт.
License and version - этот шаг позволит вам задать уникальный идентификатор для расширения (для чего-то это важно, я никогда не задумывался, для чего именно), версию расширения (а-ля 1.0.8, добавить текст лицензии на ваше расширение, автором расширения и сайт авторов:
- Extension description - описание вашего расширения. Добавьте короткое описание вашего расширения (также можно добавить его перевод, нажав на кнопку Translate), которое будет отображаться в диалоге Управление расширениями:
Текст описания нужно ввести между символами <>.
- Publish - последний шаг, на котором вы сохраняете ваше расширение в формат OXT.
Не советую тут использовать что-либо, кроме варианта Save the extension in this computer. Выберите каталог для сохранения и нажмите кнопку Create.
На этом всё, ваше расширение запаковано в формат OXT и его (предварительно потестировав у себя) можно распространять и выложить на официальный сайт для расширений extensions.libreoffice.org.

воскресенье, 21 июля 2019 г.

Выпуск LibreOffice 6.3 RC 2

Для скачивания доступны сборки второго релиз кандидата LibreOffice 6.3. Скачать LibreOffice 6.3 RC 2 можно для всех платформ, в вариантах 32 и 64 бит. Второй релиз кандидат предназначен исключительно для целей тестирования. Однако, никто не мешает вам установить эту версию (Внимание! Установится взамен существующей!) и просто оценить изменения и различные новшества. 
Ссылки для скачивания:
Исходный код
Обратите внимание! С выпуска 6.3 The Document Foundation не предоставляет готовые Linux сборки LibreOffice для 32 битных систем! Это не означает, что вы сами не сможете собрать LibreOffice для 32 битной ОС из исходного кода. TDF просто вынужден экономить свои к сожалению не бесконечные ресурсы.
Почитать об изменениях в LibreOffice 6.3 относительно предыдущей версии можно здесь.

четверг, 11 июля 2019 г.

Автоматическая нумерация строк в таблице Writer

Подсмотрено при переводе фраз для нового диалога "Совет дня".
Итак, очень часто бывает, что первый столбец в таблице содержит номера строк по порядку. Каждый раз мы прописываем ручками номера строк, а затем, когда вставляем или удаляем строки, то нумерацию приходится корректировать. И так раз за разом.
Оказывается есть чудесный и простейший способ заиметь автоматическую нумерацию строк в таблицах Writer, которая не слетает и сама обновляется при операциях со строками. Итак:
Создаем таблицу, выделяем нужный столбец (или несколько ячеек в столбце) и жмём значок Нумерованный список на панели инструментов. Также можно активировать стиль списка с нужной нумерацией, эффект будет идентичный. 
При этом, если вы вставляете строки выше/ниже нумерованной строки (то есть курсор установлен в строке, которая имеет автоматический номер), то нумерация автоматически распространяется на добавляемую строку.
А если у вас не весь столбец пронумерован, то добавляя строки к ненумерованной строке, вы не получите в новых строках автоматическую нумерацию.
Отключается нумерация так же, как включается. Нажмите еще раз на значок Нумерованный список в панели инструментов.

воскресенье, 7 июля 2019 г.

Выпуск LibreOffice 6.3 RC 1

Для скачивания доступны сборки первого релиз кандидата LibreOffice 6.3. Скачать LibreOffice 6.3 RC 1 можно для всех платформ, в вариантах 32 и 64 бит. Первый релиз кандидат предназначен исключительно для целей тестирования. Однако, никто не мешает вам установить эту версию (Внимание! Установится взамен существующей!) и просто оценить изменения и различные новшества. 
Ссылки для скачивания:
Исходный код
Обратите внимание! С выпуска 6.3 The Document Foundation не предоставляет готовые Linux сборки LibreOffice для 32 битных систем! Это не означает, что вы сами не сможете собрать LibreOffice для 32 битной ОС из исходного кода. TDF просто вынужден экономить свои к сожалению не бесконечные ресурсы.
Почитать об изменениях в LibreOffice 6.3 относительно предыдущей версии можно здесь.

среда, 3 июля 2019 г.

Отчет QA в LibreOffice за июнь 2019

Xisco Fauli, QA инженер из The Document Foundation опубликовал ежемесячный отчет о работе QA в июне 2019 года. По ссылке доступно много самой разной информации.
Немного о самом главном в июне:
Подано отчетов об ошибках - 544
Обработано отчетов - 545
Закрыто (по разным причинам) - 622
В отчёте Xisco сделал прекрасную диаграмму, иллюстрирующую эти самые причины:
Немного поясню:
FIXED - это ошибки, которые были явно исправлены разработчиками, и в отчете есть прямая ссылка на патч.
WONTFIX - это ошибки, которые либо вовсе не ошибки, либо предложения, которые были отвергнуты разработчиками по обоснованным причинам.
DUPLICATE - это ошибки, по которым уже есть информация в багзилле.
WORKSFORME - обычно это старая ошибка, которая в текущей версии LibreOffice не воспроизводится. Значит, кто-то что-то где-то исправил, ошибка не воспроизводится сейчас, а кто и что исправил мы не знаем и ставим такой статус.
INVALID - некорректный отчет об ошибке или вообще спам (к сожалению такое тоже есть).
NOTABUG - это когда кто-то, не разобравшись в функционале LibreOffice, пишет отчет об ошибке, а оказалось, что такое поведение программы - это так и задумано.
INSUFFICIENTDATA - ошибка закрывается с таким статусом (недостаточно данных), если она находилась в статусе NEEDINFO (требуется информация) более, чем 6 месяцев. То есть, у баг репортера запросили уточняющую информацию по ошибке и он такую информацию не предоставил.
Хорошая работа в июне! =)

понедельник, 17 июня 2019 г.

Изменение шрифтов в диалоге инсталлятора LibreOffice в Windows

Сегодня диалог инсталлятора LibreOffice в Windows использует шрифт Tahoma с кеглем 8. В багзилле есть запрос на приведение шрифтов к стандартному шрифту в Windows для GUI, коим является Segoe UI с кеглем не менее, чем 9. Попробуем это сделать (спасибо Майку за теорию!)
Инсталлятор LibreOffice использует стандартный для Windows механизм msi. Любой файл msi можно редактировать ручками, используя специальную утилиту от MicroSoft - Orca. Скачать ее можно по этой ссылке.
После установки Orca нужно щёлкнуть правой кнопкой по файлу инсталлятора LibreOffice с расширением .msi и выбрать пункт "Edit with Orca". Откроется вот такое окно:
С первого взгляда ничего не понятно и вообще страшно глядеть, одни цифры и символы.
Примечание: вот кстати ссылка на документацию по msi: https://docs.microsoft.com/en-us/windows/desktop/Msi/windows-installer-portal.
Будем разбираться. Итак, в левой части окна мы видим список таблиц, используя данные из которых, msi и формирует внешний вид диалоговых окон инсталлятора. А в правой части окна мы как раз видим данные той таблицы, которая выделена в настоящий момент в левой части окна.
Для изменения только лишь шрифтов нам необходима таблица TextStyle. Найдем её в левой части окна и выберем её:
Это относительно простая таблица. По столбцам содержится следующая информация:
TextStyle - это внутреннее название шрифта, которое используется в других таблицах внутри нашего msi.
FaceName - это название шрифта, которое отображается в операционной системе. Обязательно корректное написание.
Size - это кегль шрифта, который будет отображаться в диалоге.
Color - здесь можно задать цвет шрифта, если ничего не указано, то шрифт скорее всего выставлен в "Авто". Я с цветом экспериментов не ставил, мне было ни к чему.
StyleBits - это отдельный признак форматирования символов шрифта. Цифра 1 - жирное написание, 2 - курсив.
Обратите внимание, как много самых разных шрифтов прописано в таблице. При этом, как оказалось, большинство указанных шрифтов просто нигде в нашем диалоге не используется. Проверяется это очень просто: жмём Ctrl+F, открывается окно поиска, забиваем туда внутреннее имя шрифта и жмём кнопку "Найти". Поиск осуществляется по всем таблицам файла msi с текущей строки сверху вниз. Когда поиск дойдет до последней строки в последней таблице, просто на соответствующий вопрос (Продолжить поиск с начала?):
нужно ответить "Да".
И вы увидите, что больше ни в одной таблице шрифт, например MSSGreySerif8, не используется. Аналогично нужно было проверить все остальные шрифты, что и было сделано.
Далее мы осознали, что всего для нашего диалога нам требуется три вида шрифта: основной, основной с жирным написанием и заголовок. Соответственно основной шрифт - Segoe UI кегль 9, заголовок - Segoe UI кегль 11. Вот какой вид приняла таблица TextStyle после наших правок:
Описаны всего три шрифта, все три это Segoe UI. Обратите внимание на StyleBits равном 1 (жирное начертание) для двух из них. Также были изменены внутренние названия шрифтов.
Теперь, в связи с тем, что мы изменили внутренние названия шрифтов, необходимо для ВСЕХ управляющих элементов диалогов (Controls) и для текста в диалогах (Text) прописать новые внутренние названия.
Делается это:
- во-первых в таблице Property, где необходимо в строке DefaultUIFont задать в столбце Value внутреннее имя нашего основного шрифта - DialogDefault. Это мы задали шрифт по-умолчанию для всего диалога.
- во-вторых в таблице Control, где необходимо в каждой строке, которая имеет в столбце Text первыми символами, например {&Tahoma8} заменить их на например {&DialogHeading}. Этим мы задаём форматирование конкретно этого текста не шрифтом по-умолчанию, а другим, но также заданным в таблице TextStyle.
- в-третьих в таблице RadioButton, где нужно построчно заменить старые внутренние имена шрифтов на новые по логике, указанной выше.
В принципе, на этом замена собственно шрифтов в диалоге закончена. 
Но тут возникает непредвиденная проблема - все геометрические размеры диалоговых окон, геометрические размеры областей с текстом внутри окон диалога, все расположения контролов внутри окна диалога, жёстко заданы в тех же таблицах. А так как мы изменили и шрифт (который сам по себе чуть больше старого) и кегль шрифта сделали больше, то теперь некоторые слова в диалогах не показываются, они обрезаются по жестко заданным старым границам!
Примечание: кстати, цифры, которыми обозначены размеры диалогов, областей текста, отступы контролов, - это вовсе не пикселы, как я сначала подумал. Это некий стандартный юнит, который равен 1/12 размера шрифта MS Sans Serif с кеглем 10! Я сначала вообще был в шоке от такой забавной привязки. А потом всё же стал разбираться. По сути, это сделано так по очень простой причине: пользователь может масштабировать весь UI в системе на, например, 125%. А так как размер любого шрифта в системе (включая тот самый MS Sans Serif) зависит от DPI, то и диалог наш точно также масштабируется пропорционально.
Возникла дополнительная задача - изменить всю геометрию диалогов так, чтобы все надписи полностью отображались бы.
Всего диалоговых окон в инсталляторе msi LibreOffice 31 штука, включая информационные окна и сообщения об ошибках при установке. ВСЕ из них необходимо предварительно просмотреть, используя возможности Orca. Выберите пункт меню Tools->Dialog Preview, откроется вот такое окно:
Выберите любой диалог из списка (не нужно раскрывать плюсик) и нажмите кнопку Preview. Вам будет показано как выглядит данный диалог при текущих значениях в таблицах.
Соответственно, проверив все диалоги на корректность отображения всей информации на них, приступаем к правке геометрии.
Не забываем, что чтобы корректно отобразить весь текст в диалоге, мы должны увеличить область с текстом и следом размер самого диалога!
Я начал с изменения размеров диалогов. Чтобы не путаться с одновременным изменением и ширины и высоты, я изменю только ширину диалогов. Все основные диалоги инсталлятора имеют одинаковый размер 374 х 266 юнитов. Для простоты подсчета новых размеров я просто добавил 100 юнитов к ширине каждого такого диалога.
Размеры диалогов указаны в таблице Dialog в столбцах Width (ширина) и Height (высота). Соответственно для каждого диалога мы меняем 374 на 474.
Далее нам нужно изменить местоположение и размеры контролов (кнопок, выпадающих списков, радио-кнопок, полей для ввода/отображения данных) и размеры областей с текстом. Все эти цифры находятся в таблице Control. Нам нужны столбцы:
Dialog - внутреннее имя диалогового окна
Control - внутреннее название контрола 
Type - тип контрола (кнопка, выпадающий список, радио-кнопка, поле для ввода/отображения данных, область с текстом)
Х - расстояние от левого края диалога до контрола в юнитах.
Y - расстояние от верхнего края диалога до контрола в юнитах.
Width - ширина контрола в юнитах
Height - высота контрола в юнитах
Text - собственно надпись на контроле. На это поле мы будем глядеть, чтобы понимать, а какой блок мы двигаем на диалоге, иногда это не очень очевидно.
Логика при изменении контролов была такая:
- если мы трогаем кнопки - меняем значение в столбце Х (двигаем кнопку!), просто добавляем 100. Но не для всех кнопок, например Help как была в левой части диалога, так и осталась!
- если мы трогаем область с текстом, выпадающий список или поле для ввода/отображения текста - меняем значение в столбце Width (увеличиваем ширину!), также просто добавляем 100.
После завершения манипуляций для одного диалога - смотрим превью получившегося. Если всё ОК - переходим к следующему.
А теперь самая вишенка. В исходном коде LibreOffice есть абсолютно те же самые таблицы с данными, на основании которых собирается диалог инсталлятора msi. Orca позволяет сделать экспорт получившихся таблиц на диск, в том же самом формате, как и в исходниках LibreOffice. Вспоминаем, какие таблицы мы затронули своими действиями и экспортируем только их.
Это были Control, Dialog, Property, RadioButton, TextStyle. Используйте пункт меню Tables->Export Tables для экспорта таблиц на диск.
Далее можно спокойно формировать патч для LibreOffice, как вам удобно.
ps: кстати, вот, что получилось в итоге (показано одно из диалоговых окон). Слева новый вариант, справа - старый):
pps: после ревью патча выявилось несколько проблем:
- я полностью заменил таблицы Dialog и Control и теперь проблемно отследить в каких строках, что менялось. Попросили исправить. Это чисто оформительская проблема.
- в файлах .idt в исходниках LibreOffice были прописаны идентификаторы текстовых строк, вместо самого текста, как мне показывал Orca. Это сделано для возможности локализации интерфейса. Поэтому тем более нельзя просто весь файл заменить на новый: помимо проблем оформления и читабельности патча это ломает локализацию.
- баннер в верхней части диалога нужно перерисовать, увеличив его длину. На скриншоте выше явно видно, что баннер растянут.
ppps: замечания ревью были исправлены и патч был влит в исходники LibreOffice 27 июня 2019 года. Теперь выявилась другая проблема: диалог доступен на куче языков, а я проверял внешний вид только на английском. Это в принципе нормально, я на это и рассчитывал изначально, что патч будет принят, а затем "возможно" будут какие-то замечания к внешнему виду текста в различных языках. Например, в русском обрезаются палочки и хвостики букв "у", "р", "ф" и тому подобное в некоторых строках. Завтра будет доступен свежий ежедневный билд и каждый сможет поглядеть, как стал выглядеть диалог инсталлера на английском. Исправление проблем с обрезанием текста будем делать после выхода 1 альфа версии 6.4, чтобы люди из разных стран могли протестировать на родных языках инсталлер.

понедельник, 3 июня 2019 г.

Символ валюты ₽ вместо руб. в LibreOffice Calc 6.3

Те, кто используют форматирование числа в виде валюты в LibreOffice Calc знают, что для валюты "Рубль РФ" вместо нужного знака наподобие $ (для доллара) или £ (для фунта стерлингов) используется просто сокращение "руб.".
В LibreOffice Calc 6.3 вместо этого сокращения для всех локалей _RU теперь будет отображаться символ юникода ₽ (U+20BD).
То есть было:
1500 руб.
Станет:
1500 ₽

Расширение Проводника Windows из поставки LibreOffice

В составе дистрибутива LibreOffice для OC Windows имеется такая штука, как "Расширение Проводника Windows". По умолчанию оно выбрано для установки:
Это расширение отвечает за:
- показ миниатюры документа в Проводнике, когда выбрано отображение в виде большого значка
- (внезапно!) поиск внутри документов ODT, ODS средствами Проводника Windows
Я обычно это расширение не устанавливаю, меня миниатюры документов в Проводнике не очень интересуют. А вот поиск внутри документов ODT и ODS меня очень интересует, поэтому теперь я это расширение отключать не буду =)

воскресенье, 2 июня 2019 г.

Выпуск LibreOffice 6.3 beta 1

Для скачивания доступны сборки первой бета версии LibreOffice 6.3. Скачать LibreOffice 6.3. beta 1 можно для всех платформ, в вариантах 32 и 64 бит. Первая бета версия предназначена исключительно для целей тестирования. Однако, никто не мешает вам установить эту версию параллельно существующей и просто оценить изменения и различные новшества. 
Ссылки для скачивания:
Исходный код
Обратите внимание! С выпуска 6.3 The Document Foundation не предоставляет Linux сборки LibreOffice для 32 битных систем! Это не означает, что вы сами не сможете собрать LibreOffice для 32 битной ОС из исходного кода. TDF просто вынужден экономить свои к сожалению не бесконечные ресурсы.

среда, 22 мая 2019 г.

Удаление поддержки тем Firefox из LibreOffice 6.3

В связи с тем, что Mozilla изменили свое API для доступа к темам Firefox, было принято решение удалить поддержку тем Firefox в LibreOffice 6.3. В дальнейшем будут реализованы собственные темы LibreOffice, возможно даже с некой настройкой или возможностью создания тем прямо в LibreOffice (там сложного-то ничего нет).

пятница, 17 мая 2019 г.

Выпуск LibreOffice 6.3 alpha 1

Для скачивания доступны сборки альфа версии LibreOffice 6.3. Скачать LibreOffice 6.3.alpha 1 можно для всех платформ, в вариантах 32 и 64 бит. Альфа версия предназначена исключительно для целей тестирования. Однако, никто не мешает вам установить эту версию параллельно существующей и просто оценить изменения и различные новшества. 
Ссылки для скачивания:
Исходный код
Обратите внимание! С выпуска 6.3 The Document Foundation не предоставляет Linux сборки LibreOffice для 32 битных систем! Это не означает, что вы сами не сможете собрать LibreOffice для 32 битной ОС из исходного кода. TDF просто вынужден экономить свои к сожалению не бесконечные ресурсы.

вторник, 7 мая 2019 г.

Отчет QA в LibreOffice за апрель 2019

Xisco Fauli, QA инженер из The Document Foundation опубликовал ежемесячный отчет о работе QA в апреле 2019 года. По ссылке доступно много самой разной информации.
Немного о самом главном в апреле:
Подано отчетов об ошибках - 580
Обработано отчетов - 585
Это значит, что всем поступившим отчетам было уделено время QA команды и отчеты были проверены, рассортированы и, при необходимости, найдены причины регрессий.
Закрыто (по разным причинам) - 520
В отчёте Xisco сделал прекрасную диаграмму, иллюстрирующую эти самые причины:
Немного поясню:
FIXED - это ошибки, которые были явно исправлены разработчиками, и в отчете есть прямая ссылка на патч.
WONTFIX - это ошибки, которые либо вовсе не ошибки, либо предложения, которые были отвергнуты разработчиками по обоснованным причинам
DUPLICATE - это ошибки, по которым уже есть информация в багзилле.
WORKSFORME - обычно это старая ошибка, которая в текущей версии LibreOffice не воспроизводится. Значит, кто-то что-то где-то исправил, ошибка не воспроизводится сейчас, а кто и что исправил мы не знаем и ставим такой статус.
INVALID - некорректный отчет об ошибке или вообще спам (к сожалению такое тоже есть)
NOTABUG - это когда кто-то не разобравшись в функционале LibreOffice, пишет отчет об ошибке, а оказалось, что такое поведение программы - это так и задумано.
Таким образом мои стенания по поводу того, что подается ошибок в три раза больше, чем исправляется оказались в корне не верны. Да, в апреле соотношение 580 против 520, но это далеко не трагедия для такого огромного проекта, как LibreOffice.
Трагедия для него то, что до сих пор есть десятки причин для того, чтобы LibreOffice упал с критической ошибкой =( В отчете исправлению крэшей посвящен отдельный раздел. Хорошо, что крэши исправляют, плохо, что они вообще возникают в таком количестве.

GSoC 2019 и LibreOffice. Объявлено о проектах

Итак, определились студенты и проекты, над которыми они будут трудиться в рамках GSoC 2019, для LibreOffice. Студентов для LibreOffice в этом году утвердили всего шесть человек.
Вот наши герои:
Shubham Goyal - проект направлен ​​на интеграцию библиотеки для создания QR-кода с LibreOffice и добавления опций для использования QR-кода в приложениях LibreOffice. QR-код будет генерироваться для текста, URL-адреса или даже для специальных символов (UTF), изображение QR-кода будет в формате SVG.
Kaishu Sahu - проект направлен на улучшение онлайн-реализации LibreOffice на Android путем добавления новых функций в средство просмотра документов, исправления наиболее неприятных ошибок и общего улучшения пользовательского интерфейса.
Rasmus Jonsson - будет делать непонятно что, какой-то программно-аппаратный комплекс для презентаций на основе LibreOffice. По описанию мне лично ничего не понятно. Вот более подробно о его цели.
Ahmed Elshreif - проект нацелен на улучшение автоматической системы тестирования UI в LibreOffice.
Sumit Chauhan - целью проекта является улучшение UI/UX в Notebookbar. Задача в основном разделена на две части: создание базовой поддержки расширений и реализацию функции настройки для всех вариантов Notebookbar. Помимо этого студент намерен исправить некоторые проблемы/баги.
Gagandeep Singh - реализация стилей диаграмм. Планируется сначала реализовать стили на логическом уровне в модуле chart2, а затем разрешить импорт и экспорт стиля диаграммы в локально сохраненный файл и из него. Кроме того, список для выбора стиля диаграммы должен быть добавлен на Боковую панель.

понедельник, 6 мая 2019 г.

Настройка цветов для записи изменений в документе

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

понедельник, 22 апреля 2019 г.

Автоматическая нумерация страниц в LibreOffice Draw

Иногда бывает, что документ с рисунками в LibreOffice Draw содержит несколько листов. И нужно эти листы пронумеровать в автоматическом режиме, примерно так же, как в текстовом документе.
Делается это так:
1. Выбираем режим Мастера, меню Вид->Мастер. В этом режиме все добавленные на лист объекты будут отображаться на всех листах документа и редактировать их можно только в режиме Мастера.
2. Добавляем номер страницы, меню Вставка->Поле->Номер страницы, размещаем появившийся текстовый блок с надписью <номер> в нужное место на листе
3. Переключаемся обратно в нормальный режим, меню Вид->Обычный.
Теперь можно добавлять, удалять, перемещать листы в документе, нумерация всегда будет последовательной. Всё, пользуйтесь.
Внимание! Блок с номером страницы должен быть обязательно внутри границ листа! На полях номер по какой-то причине в Обычном режиме не отображается.

воскресенье, 21 апреля 2019 г.

Выпуск LibreOffice 6.2.3

The Document Foundation объявил о выпуске LibreOffice 6.2.3. Это третий корректирующий выпуск в ветке 6.2.
Информацию об исправленных ошибках можно найти по ссылкам:
Скачать можно по ссылке:
Скачать образ Docker для установки LibreOffice Online можно по ссылке:
Всем, кто уже использует LibreOffice 6.2 крайне советую обновиться.
Внимание пользователей ОС Windows!
В выпуске LibreOffice 6.2.3 есть небольшая регрессия, которая делает процесс установки версии 6.2.3 невозможным. Для решения проблемы вы должны остановить службу Windows Update (Центр обновления Windows) до начала установки LibreOffice. Откройте меню Пуск, далее Найти, вбиваете в строку Службы. Откроется вот такое окно
 Щёлкаете правой кнопкой мыши по выделенной строке и выбираете пункт контекстного меню Остановить службу.

пятница, 5 апреля 2019 г.

Разработка LibreOffice. Изменение имён стилей маркированных списков в боковой панели Writer

В своё время Yousuf Philips изменил в LibreOffice Writer стили нумерованных списков и заодно изменил на более понятные имена для стилей нумерованных списков, которые показываются в боковой панели Writer. Имена нумерованных стилей стали вида "Numbering 123", "Numbering abc", "Numbering IVX". То есть теперь явно видно, какой тип нумерации будет использован при выборе стиля. 
Однако стили маркированных списков остались без изменений и со стандартными именами типа "List 1", "List 2", и так далее по пятый. В русской локализации был перевод "Маркированный список 1", "Маркированный список 2", который все равно не позволял видеть сразу, какой именно маркер будет использован при выборе стиля.
Стукнуло мне в голову, что и стили маркированных списков должны бы иметь название с отображением символа, который используется в качестве маркера в создаваемом списке.
Я завёл запрос на улучшение в багзиллу проекта и сделал соответствующее изменение в исходный код проекта.
Вот что получилось в итоге (слева - до изменения, справа - после):
Во-первых само имя стало указывать, что это маркированный список, во-вторых имя теперь содержит соответствующий маркер.
Изменение войдет в будущий выпуск LibreOffice 6.3.

Update: к сожалению в реализации этой фичи выявились проблемы. LibreOffice берет символ Unicode (который справа от слова Bullet) вовсе не обязательно из шрифта OpenSymbol, а по какой-то другой логике и, в результате, может оказаться так, что в используемом для GUI шрифте данный символ отсутствует и получается элемент маркированного списка без показа самомго маркера.
Мнения по поводу того, оставлять ли такую текущую реализацию, доработать механизм или откатить изменения пока не принято. Из того, что я услышал от разработчиков, я понял, что сам не осилю доработать механизм. Посмотрим.