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

Вставка кириллических URL адресов из браузера в LibreOffice

Наверняка многие из вас сталкивались с таким, что адрес сайта, содержащий кириллицу, например русские страницы в Wikipedia, копируются и вставляются в документ в ужасном виде типа  
Ну так в этом поведении виноват вовсе не LibreOffice, а сам браузер.
Лечится это так:
В Firefox в адресной строке введите about:config и в строке поиска параметра введите browser.urlbar.decodeURLsOnCopy и задайте ему значение true.
В Chrome - есть специальное расширение, поищите по имени типа Copy URL.

воскресенье, 22 декабря 2019 г.

Переезд с pootle на weblate. Переводим UI и справку в LibreOffice по-новому

Я не так уж и давно писал пост по поводу того, как переводить интерфейс пользователя (UI) и справку LibreOffice. Раньше для этого использовали pootle, конечно настроенный и заточенный под LibreOffice.
А совсем уж недавно было решено переехать на weblate. В чём уж локализейшн тим нашли профиты от такой замены, то мне не ведомо. Однако в настоящее время, LibreOffice 6.3, 6.4 и master ветка уже переехали.
Итак, новый сервер для перевода расположен по адресу https://weblate.documentfoundation.org/. Заходим туда и видим такое:
С первого взгляда даже и похоже чем-то на pootle, только цветовая гамма по-приятнее (для меня).
Чтобы сама возможность перевода стала доступной, необходима регистрация. Если у вас был аккаунт на старом pootle, то здесь он тоже должен был бы сохраниться. Те, у кого на старом сервере была возможность сразу сохранять перевод, те свои права сохранили. Те, кто мог только предлагать переводы, те так и могут только предлагать. Дать права на прямое сохранение перевода на новом месте могут пока только администраторы самого weblate. Я даже не знаю, согласуют ли они такого рода запросы с кем-то из TDF.
Теоретически weblate также предоставляет возможность работать напрямую с PO файлами, я не вникал.
А ещё weblate дико неудобный в плане навигации по списку переводимого, начиная от настройки языка и заканчивая тем, куда он вас вышвыривает после того, как вы закончили обрабатывать очередной кусок перевода.
В общем и целом, никуда мы не денемся с подводной лодки, будем осваивать то, что дали.
Напоминаю, что в переводе на русский язык нуждается не только интерфейс пользователя LibreOffice, но и справка! В справке половина не переведена! Некому потому что...

четверг, 12 декабря 2019 г.

Руководство по LibreOffice Online 6.3

В результате программы GSoDOC - Google Suumer of DOCumentation, было написано Руководство по LibreOffice Online 6.3 (на английском языке конечно же). В данный момент оно доступно в формате PDF по этой ссылке. Скорее всего это Руководство будет доступно на официальном сайте TDF с документацией. И таки оно доступно по ссылке.
LibreOffice Online - это аналог таких проектов, как Google Docs и MS Office 365. Это клиент-серверное приложение. Оно обеспечивает работу с документами из вашего браузера, совместную работу над документами и тому подобные вещи. Вы можете установить LibreOffice Online на свой сервер в локальной сети и организовать совместную работу с документами, как внутри офиса, так и обеспечить удаленный доступ к редактированию файлов для своих сотрудников. Для обработки документов на сервере используется ядро LibreOffice, а для передачи данных по сети и отображения документов в браузере - специально написанные отдельные модули. В настоящее время LibreOffice Online находится в активной разработке. 
В Руководстве изложены порядок получения, установки LibreOffice Online, связка его с NextCloud, управление файлами LibreOffice в NextCloud и описание работы в модулях Writer, Calc и Impress в их онлайн вариантах.
Сразу хочу предупредить, в том варианте установки, который описан в Руководстве, предлагается взять образ docker, который распространяет TDF, и установить его. Это действительно просто. Однако! В этом образе зашито ограничение на количество одновременно подключенных пользователей - 10 человек, и одновременно открытых документов - 20 шт., если мне память не изменяет на цифры. Если вам необходимо бОльшее количество и того и другого, то вам необходимо будет собрать LibreOffice Online из исходного кода самостоятельно, поправив конфигурационный файл, указав там явно необходимое вам количество пользователей и одновременно редактируемых документов.
Года два назад требования для сервера LibreOffice Online были примерно 50 МГц процессора, 20 МБ ОЗУ и 10 Мбит/с пропускной способности сети на одного пользователя. 
Может с тех пор что-то и изменилось, однако я не думаю, чтобы очень уж сильно. WEB толстеет не по дням, а по часам, а LibreOffice Online - это web-приложение тоже =)
Вопрос о том, будет ли это Руководство переведено на русский язык, зависит от того, захочет ли кто-то это делать =)
Отдельно хочется сказать, что около 95% кода LibreOffice Online (и 35% кода родительского проекта LibreOffice) написано программистами из компании Collabora Productivity. Collabora предоставляет также свой вариант LibreOffice Online - Collabora Online, который стоит денег (по сравнению с подпиской на MS Office 365 достаточно небольших). Вы можете свободно попробовать их продукт в виде проекта CODE, который однако не имеет никакой поддержки со стороны Collabora, имеет ограничения на количество пользователей и документов, и предоставляется исключительно как есть, и больше в ознакомительных целях.

Выпуск LibreOffice 6.3.4

The Document Foundation объявил о выпуске LibreOffice 6.3.4. Это четвёртый корректирующий выпуск в ветке 6.3. Всем пользователям, использующим данную ветку, рекомендовано обновиться.
Скачать дистрибутив можно со страницы загрузки по ссылке.

вторник, 10 декабря 2019 г.

Collabora Office for Android

Разработчики из компании Collabora Productivity объявили о доступности бета версии Collabora Office for Android. Это офисный пакет, основанный на ядре LibreOffice, но со своим собственным движком отрисовки приложения в Android.
В отличие от андроид версии LibreOffice, этот пакет от Collabora позволяет не только просматривать, но и редактировать документы.
Скачать приложение можно по ссылке.

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

Отчет QA в LibreOffice за ноябрь 2019

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

вторник, 3 декабря 2019 г.

Разделы в текстовом документе LibreOffice Writer. Скрытие раздела по условию

О том, что такое разделы, как их создавать и редактировать, я коротко писал в этом посте.
У разделов есть чудесная возможность, которая может помочь автоматизировать всякие хитрые документы (у меня это договоры), в которых некоторый текст может меняться в зависимости от ключевых условий. Например, в договорах обычно прописывают порядок оплат. И аванс по договору может выплачиваться, а может и НЕ выплачиваться. Соответственно условия оплаты в этих двух случаях отличаются.
Что хотелось бы автоматизировать в данном случае: чтобы в шаблоне договора можно было в определённом месте написать ключевое слово "выплачивается"/"не выплачивается", в соответствии с чем определённый кусок текста в договоре становился бы таким, каким надо для каждого случая.
Давайте сделаем это в Writer! Система немного запутанная, но нужно просто понять логику и всё становится просто.
Завязан нужный нам функционал на такой штуке, как переменная, которая и будет управлять скрытием наших разделов с кусками нужного текста. Переменная - это термин из области программирования. Означает он (в нашем случае) - "имя, с которым может быть связано значение". Переменная эта создаётся внутри документа Writer и существует только и исключительно внутри конкретно этого документа Writer!
Чтобы создать переменную, установим курсор в тексте в нужное место и откроем диалог "Поля", используя пункт меню Вставка->Поле->Ещё поля или сочетание клавиш Ctrl+F2. На вкладке "Переменная" слева в списке "Тип" выделите "Задать переменную". В нижней части диалога в поле "Имя" задайте имя переменной (я задал слово аванс) и в поле "Значение" нужное первоначальное значение (я задал слово выплачивается). А теперь ВАЖНЫЙ нюанс! Если вы хотите работать со словами, то в правой части диалога в списке "Формат" вид переменной ДОЛЖЕН быть "Текст"!
Нажмите кнопку "Вставить". В тексте появится слово "выплачивается" подсвеченное, как и все поля, серым цветом.
Далее нам нужно настроить наши разделы так, чтобы они скрывались/отображались в зависимости от того, какое текущее слово-значение у нашей переменной "аванс".
Так как у нас два варианта текста, то и разделов с соответствующим текстом должно быть два. Тут однако есть нюанс! Когда раздел скрыт на его месте остается пустая строка-знак абзаца! Это неудобно: пустая строка в договорах не приветствуется, да и удалить эту псевдо-пустую строку можно легко. Причем эта пустая строка будет прыгать в зависимости от того, какой раздел скрыт.
Внимание! Скрытый раздел НИКАК в тексте не выделяется, вы должны помнить о том, что он существует!
Обойти это можно путем создания одного родительского раздела, внутри которого и разместить оба наших раздела с текстом.
Вставляем раздел, используя пункт меню Вставка->Раздел. Назовём его "основной". Жмём ОК.
Затем пишем текст, который относится к варианту "выплачивается" внутри раздела "основной". Вставляем две пустых строки после текста (нужно для удобства последующих манипуляций). Выделяем текст (без пустой строки после текста!) и опять выбираем пункт меню Вставка->Раздел. Задаём имя раздела "выплачивается". Жмём ОК. Вставится раздел внутри раздела.
Ставим курсор на вторую пустую строку после раздела "выплачивается" и пишем текст для варианта "не выплачивается". Опять вставляем две пустых строки после текста (нужно для удобства последующих манипуляций). Выделяем текст (без пустой строки после текста!) и опять выбираем пункт меню Вставка->Раздел. Задаём имя раздела "не выплачивается". Жмём ОК. Вставится второй раздел внутри раздела.
На скриншоте ниже красной рамкой показан раздел "основной", а цветами выделены разделы внутри раздела "основной". Как видно, в документе не очень-то очевидна структура этих разделов-внутри-раздела, ибо тоненькие серые линии сливаются по границам разделов.

Аккуратно удаляем все ненужные теперь пустые строки внутри раздела "основной".
Явно структуру разделов видно в диалоге "Редактирование разделов" из меню Формат->Разделы:
Следующий шаг - это настройка условия для отображения/скрытия наших внутренних разделов.
Вспоминаем, что у нас есть переменная с именем аванс. Далее в диалоге "Редактирование разделов" выбираем раздел "выплачивается", отмечаем флажком опцию "Скрыть" и в поле "При условии" пишем при каком собственно условии данный раздел будет скрыт: аванс!="выплачивается"
Выбираем второй раздел - "не выплачивается", аналогично отмечаем опцию "Скрыть", аналогично пишем условие для скрытия: аванс!="не выплачивается".
Обратите внимание на кавычки, которыми обрамляются наши ключевые слова - значения. Так как тип переменной у нас текст, то кавычки обязательны в данном случае. А сочетание != означает "НЕ РАВНО".
Жмём ОК. Смотрим на результат. Так как у нас переменная аванс при создании имела некое значение, а именно слово выплачивается, то раздел "не выплачивается у нас скрыт в соответствии с заданным ему условием! Дважды щёлкаем мышью на переменной в тексте, откроется диалог "Редактирование полей". В нём, в нижней части, в поле "Значение" пишем "не выплачивается". Жмём ОК и смотрим на результат. Виден стал раздел с именем "не выплачивается", а раздел "выплачивается" скрыт! Работает!
Что мне не нравится в этом варианте: я не могу создать вместо простой переменной список значений, от выбора значений в котором и менялось бы отображение/скрытие разделов. Вернее я могу создать список, вот только этот элемент документа не будет переменной, а условия можно задавать только переменным =(
Однако, это всё равно лучше, чем каждый раз руками переписывать шаблон или иметь кучу шаблонов на все варианты оплат. Можно иметь один универсальный шаблон, в котором задать столько вариантов тех же оплат, сколько нужно (а вариантов, к сожалению может быть вагон и тележка).

среда, 27 ноября 2019 г.

Замена cairo на skia в LibreOffice. Свершилось

Ну собственно, сегодня Luboš Luňák замержил сотню патчей, которые добавляют skia в LibreOffice. Надеюсь, что будет какое-то официальное сообщение или пост в блоге об этом событии. Все же это достаточно серьезное изменение.
Update: 
1. skia по умолчанию выключена. Включить можно в диалоге Tools->Options->LibreOffice->View рядом с включением OpenGL
2. skia доступна пока только для windows и голого Х11 в линукс.

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

Выпуск LibreOffice 6.4 Beta 1

Стали доступны для скачивания сборки первого бета выпуска в ветке 6.4 - LibreOffice 6.4 beta 1. Скачать их можно для всех платформ в вариантах 64 бит. Для Windows также доступна 32 битная сборка. Выпуск предназначен в первую очередь для тестирования всеми желающими.
Ссылки для скачивания:
Исходный код
Описание исправленных ошибок в LibreOffice 6.4 beta 1 относительно LibreOffice 6.4 alpha 1 доступны по ссылке.
Обо всех найденных ошибках пишите в багзиллу проекта.

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

Альтернативное получение исходного кода LibreOffice

Я писал ранее про то, как делать свою сборку LibreOffice. Там для получения исходного кода использовалась команда git clone. Это очень долгий процесс и, если у вас проблемы с интернетом, то возможны самые разные проблемы.
Есть оказывается и иной вариант.
1. Скачайте по ссылке https://dev-www.libreoffice.org/bundles/libreoffice-core.tar.bz2 архив
2. Распакуйте его куда-нибудь, должен появится каталог libo
3. Переходим в этот каталог libo
4. Даем команду git checkout -f
5. Даем команду git pull -r
Далее всё, то же самое, как и в первом посте на тему.

четверг, 7 ноября 2019 г.

Отчет QA в LibreOffice за октябрь 2019

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

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

Замена cairo на skia не попадет в LibreOffice 6.4

Я тут писал недавно про эксперимент по замене cairo на skia в LibreOffice. Сейчас появилась немного дополнительной информации об этом. Собственно, вот почти дословная цитата с ESC: "Изменения будут влиты в мастер сразу после отделения ветки 6.4". Причём это они надеются, что всё пойдёт хорошо. 
Если мне память не изменяет, то отделение версии от мастера происходит на первом бета релизе. Для 6.4 - это середина ноября. Не так уж и долго ждать.

четверг, 31 октября 2019 г.

Выпуск LibreOffice 6.3.3

The Document Foundation объявил о выпуске третьего корректирующего релиза LibreOffice 6.3. Всем использующим LibreOffice 6.3 советую обновиться.
Списки исправленных ошибок, относительно предыдущего выпуска:
Скачать LibreOffice 6.3.3 можно как всегда со страницы загрузки официального сайта.

среда, 30 октября 2019 г.

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

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

понедельник, 28 октября 2019 г.

Вставка таблицы из Calc в Writer

Как пользователи вставляют ячейки, скопированные из MS Excel в MS Word? Просто жмут кнопку "Вставить" и вставляется родная для Word таблица.
Как делают то же самое пользователи LibreOffice для Calc и Writer? Копируют ячейки в Calc и в Writer выбирают "Вставить как..." и затем в отдельном! диалоге выбирают "Форматированный как RTF". Не очень очевидно. При этом, если просто нажать кнопку "Вставить", то в Writer вставится не нативная таблица, а OLE объект с таблицей Calc внутри.
В LibreOffice 6.4 наконец-то изменили поведение при вставке данных для этого случая. Теперь можно просто нажать "Вставить" и по умолчанию будет вставлена нативная таблица Writer. По сути разработчики просто задали для этого случая вставку "Форматированный как RTF" вариантом по умолчанию.
Однако всё равно осталась проблема. При таком варианте вставки в Writer ячейки Calc теряют свое форматирование. Это какая-то ошибка, ну вернее даже не какая-то, а вполне определенная.
И чтобы обойти этот казус и сохранить форматирование ячеек, нужно по прежнему выбирать "Вставить как..." и в диалоге выбрать вариант "HTML". Тогда вставится нативная таблица Writer, которая сохранит все исходное форматирование.
Я предлагал разработчикам сделать этот вариант с HTML вариантом по умолчанию, потому что на мой взгляд он рабочий прямо сейчас, а ошибку с RTF ещё надо кому-то исправить, ответа не получил.

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

Экспорт всего листа Calc в один большой лист PDF

Muhammet Kara, разработчик LibreOffice из компании Collabora, добавил опцию для экспорта всего, что есть на листе Calc, в один большой лист в формате PDF.
Несколько картинок, в качестве иллюстрации:
Лист в Calc с кучей всего.
Вывод в обычный PDF документ, разбитый на листы в формате А4.
Результат вывода всего листа Calc на один лист PDF.
Я так понял, размер листа PDF вообще не ограничен в данном случае. LibreOffice в принципе имеет там какие-то умозрительные ограничения листа, типа 3 х 3 метра, по-моему.
Конечно такой PDF не предназначен для печати, однако даже А0 никто вам не запретит напечатать на плоттере, так что такая функциональность внезапно и может быть востребована.

четверг, 17 октября 2019 г.

Выпуск LibreOffice 6.2.8

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

вторник, 15 октября 2019 г.

Тонкости bibisect в среде Windows. Git for Windows vs. Git from Cygwin

Если вы вдруг захотели выполнить поиск коммита, который внес регрессию в LibreOffice, используя bibisect в среде Windows, то вам необходимо помимо этой статьи знать ещё одну тонкость.
Git для Windows существует в нескольких вариантах. Есть официальный клиент Git for Windows. Есть Git, который можно установить, используя Cygwin.
Так вот, при bibisect'e в Windows нельзя пользоваться РАЗНЫМИ Git. То есть и для скачивания bisect репозитория и для самой процедуры необходимо использовать только какой-то ОДИН вариант git в рамках ОДНОГО bisect репозитория!
То есть вы можете скачать и использовать bisect-win32-6.3, используя Git из Cygwin, а bisect-win64-6.4 - используя Git for Windows. И при этом вы не сможете использовать Git for Windows для работы в bisect-win32-6.3.
Имейте это ввиду, у вас не получится ставить эксперименты по производительности Git на одном bisect репозитории, как это хотел сделать я, когда и наткнулся на эту проблему.
ps: собственно от чего я начал исследовать эту тему? У меня при bisect'e безумно тормозит Git из Cygwin, причем так, что вешает всю ОС. А по слухам Git for Windows работает намного шустрее!

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

Cоставные документы Writer

Составной документ Writer - это такой отдельный вид документа, который содержит в себе вложенные обычные текстовые документы ODT.
Для чего он нужен? Этот механизм позволяет работать с огромными документами, разделяя их на части и затем составляя из них единый документ, форматирование которого можно настроить единообразно в одном месте и за один раз. Вот тут есть немного справки по составным документам. Сама идея составного документа Writer схожа с аналогичной системой в LaTeX, в котором также есть возможность создать мастер-документ со ссылками на титульную страницу, оглавление и отдельные файлы с текстом.
При работе в составном документе есть несколько особенностей:
- Навигатор в составном документе работает в специальном режиме "составной документ", при этом его можно переключить и на обычный вид;
- необходимо очень хорошо понимать, как работают стили во Writer вообще, а также, как они наследуются в простом документе и в составном;
- перекрёстные ссылки между разными встроенными документами не работают.
Итак, у вас есть большой документ, который был разделён на отдельные файлы с разделами/главами (но это не обязательно, делить можно как угодно), из которых теперь надо создать единый документ.
Запускаем LibreOffice и выбираем пункт меню Файл->Создать->Составной документ. Откроется пустой документ и окно Навигатора в режиме "составной документ". От Навигатора в обычном режиме этот отличается наличием всего одной строки со значками (слева направо): переключатель Составной документ, Изменить, Обновить, Вставить, Сохранять содержимое в составном документе, Вверх и Вниз. В таком режиме Навигатор отображает только список добавленных документов и позволяет производить с ними некоторые действия. На изображении ниже слева - обычный Навигатор в текстовом документе, а справа - Навигатор в составном документе:
Для того, чтобы добавить в наш составной документ готовые файлы ODT нажмите значок Вставить в Навигаторе и далее в выпадающем меню нажмите Файл. Откроется стандартное окно выбора файлов, в котором необходимо найти и выделить ваши файлы ODT, а затем нажать на кнопку Открыть.
Внимание! В версиях LibreOffice, начиная с 6.3.0 и до 6.3.2, есть ошибка, которая приводит к падению офиса, если выбрать в этом окне выбора файлов два или более файлов сразу и нажать кнопку Открыть! И для версии 6.3.3 её уже исправили. Посему просто обновите ваш LibreOffice 6.3, до более поздней версии.
В зависимости от объема и форматирования ваших ODT файлов процесс добавления их в составной документ займет некоторое время. После завершения процесса в Навигаторе будет показан список ваших добавленных файлов с именами такими же, как их имена файлов. Плюс в составном документе по умолчанию существует отдельная страница с названием Текст.
В этот самый Текст (который просто пустая страница с пустым абзацем, как обычный документ Writer) вы можете добавить что угодно. Также можно добавлять такие страницы в любое место составного документа.
Порядок добавленных документов в списке можно изменять кнопками Вверх и Вниз в верхней части Навигатора. При изменении позиции документа в списке точно так же меняется позиция его содержимого относительно остальных встроенных документов по тексту.
Каждый встроенный отдельный документ ODT в составном документе помещается в своём разделе, причём разделы эти вставлены, как связь с документом ODT. О разделах я писал вот тут. Каждый раздел защищён от изменения.
Изменять отдельные документы ODT внутри составного документа нельзя. Однако можно дважды щёлкнуть по нужному документу в Навигаторе и он откроется в отдельном редакторе Writer, там вы сможете изменить его, как нужно, сохранить и закрыть документ. Затем в составном документе нажмите в Навигаторе значок Обновить, чтобы обновить вид измененного документа ODT внутри составного.
В составной документ можно вставить разные индексы - Оглавление, Указатель и так далее. Напомню, что такие индексы Writer формирует на основе абзацев со стилями типа Заголовок, в которых указан уровень структуры, отличный от "Основной текст". Делается это через значок Вставить в Навигаторе и выбор в выпадающем списке пункта Указатель. Откроется стандартный диалог Оглавление, указатель или библиография, в котором можно настроить соответствующие параметры.
И напоследок небольшой лайв хак. Можно сначала создать в обычном документе ODT стили, структуру документа со всеми главами и подглавами, то есть мы будем иметь готовый шаблон, который можно в дальнейшем использовать для написания непосредственно текста, не задумаваясь об оформлении. А затем можно создать из обычного, настроенного ODT файла составной документ с файлами ODT, разделёнными по заголовкам нужного вам уровня! Делается это из меню Файл->Отправить->Создать составной документ. Задаете имя составного документа, выбираете Заголовок, по которым исходный файл будет разбит на отдельные документы, и сохраняете файл.
В каталоге назначения появятся сам составной документ с расширением ODM и несколько файлов ODT, количество которых зависит от количества заголовков выбранного уровня.

пятница, 4 октября 2019 г.

Руководство по началу работы в LibreOffice 6.0

Наконец-то мы добили перевод GS Started Guide 6.0 на русский язык. Спасибо Лере Гончаруку и Алексу Денкину (особенно ему) за труд. Результат наших трудов выложен в вики проекта по адресу https://wiki.documentfoundation.org/Documentation/Publications/ru в соответствующем разделе.

четверг, 3 октября 2019 г.

Эксперименты по замене cairo на skia в LibreOffice

Ещё на конференции LibOCon 2019, которая прошла в сентябре в Альмерии, разработчики обсуждали необходимость что-то делать с графическим стеком в LibreOffice. На конкретно этом обсуждении я даже присутствовал лично, но понял чуть менее, чем ничего. Я понял, что текущее состояние не очень хорошее и очень уж сложными путями отрисовываются на экране разные модули, особенно Writer. В общем и целом, судили они, рядили и решили для начала попробовать заменить библиотеку графических примитивов cairo, которая используется сейчас, на аналогичную библиотеку skia.
К сожалению, быстрым поиском на просторах сети я не нашёл, в чём же преимущество skia над cairo.
Зато сегодня я увидел, что Любош Лунак опубликовал коротенький пост как раз на эту тему. То есть эксперименты идут. И конечно, далеко не факт, что вообще что-то попадет в мастер будущего релиза 6.4.
Если кто-то из читателей моего блога сможет прокомментировать профиты от перехода на skia, было бы круто весьма.

пятница, 27 сентября 2019 г.

Выпуск LibreOffice 6.3.2

The Document Foundation объявил о выпуске второго корректирующего релиза LibreOffice 6.3. Всем использующим LibreOffice 6.3 советую обновиться.
Списки исправленных ошибок, относительно предыдущего выпуска:
Скачать LibreOffice 6.3.2 можно как всегда со страницы загрузки официального сайта.

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

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

Я тут обратил внимание, что ныл ровно год назад про ошибки в LibreOffice, которые мне мешают его полноценно использовать в реальной работе.
По традиции, давайте посмотрим, что произошло за этот год в плане исправления тех ошибок из 2017-2018 годов:
Сначала первый блок:
1. Мерцает интерфейс пользователя, когда по меню (и не только по меню) водишь мышкой, причем для видеокарт от Интел в среде ОС Windows это никак не лечится, а глаза мне дороги. - ИСПРАВЛЕНО в версии 6.3! Спасибо Miklos Vajna за это.
3. Рендеринг встроенных в документ изображений PNG также хромает, это не критично по сути, так как экспорт в ПДФ или печать выполняются с нормальным качеством, но смотреть на это убожество при работе в самом документе сил нет никаких. - в текущей разрабатываемой версии 6.4 я этого не вижу => исправлено.
6. До сих пор LibreOffice может выдать критическую ошибку в каком-то одном модуле и унести в ад ВСЕ открытые документы ВО ВСЕХ модулях. - не исправлено и не может быть исправлено! В прошлом посте было много слов на эту тему, они все актуальны =)
А теперь второй блок:
1. LibreOffice безумно медленно открывает таблицы в формате Excel с большим количеством комментариев в ячейках. Не то, чтобы это беда беда, но приятного мало. - были фиксы этого в 6.3, задержка осталась, но она стала вместо почти минуты всего 7-8 секунд => исправлено.
2. LibreOffice безумно медленно отрабатывает автофильтр в таблицах в формате Excel с большим количеством комментариев в ячейках. А вот это беда беда, потому что замедляет работу с таблицей. Автофильтр я дергаю в рабочей таблице достаточно часто. Это явно проблема фильтра импорта, потому что автофильтр на том же контенте с комментариями в формате ODS (родном) работает достаточно моментально. - в версии 6.3 автофильтр отрабатывает за 4-6 сек, приемлимо => исправлено.
3. Совсем не бага, но отсутствие функционала - не получилось найти вменяемый и производительный способ собирать данные из разных файлов и нескольких таблиц по 2000 строк и 20 столбцов в одну большую таблицу в отдельном файле. Для того же Excel нашлась надстройка Power Query, - эта совсем не бага будет висеть достаточно долго ещё, пока кто-нибудь не проплатит соответствующий функционал.
Ну смотрите, из 6 багов исправлено 4. А оставшиеся 2 - это неисправляемая в текущих реалиях фундаментальная особенность LibreOffice и запрос на доп.функционал. Неплохой результат, как по мне.
Однако, за 2019 год добавилась (ну вернее они и были всегда, просто я на них наткнулся) ещё проблем, связанных со сводными таблицами в формате XLSX. Их было штук пять, но большинство было исправлено (причем это было проплачено кем-то из заказчиков).
Но осталась всё же одна, которая мне мешает - LibreOffice Calc портит сводную таблицу в файле XLSX при сохранении в этот же формат - не сохраняется группировка в сводной. В текущем мастере это не исправлено.
В общем и целом это крайне положительный результат для персонально моего использования LibreOffice за год.

вторник, 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 милион строк.
Я его пока выложил тут вот, на форуме в первом посте.
Расширение доступно на официальном сайте https://extensions.libreoffice.org/extensions/remove-duplicates-fast.

воскресенье, 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.