четверг, 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 году будет проводиться в Нюрнберге, Германия. Очень надеюсь, что в следующем году я также смогу побывать на конференции. Очень хочется!
Кстати, побывав среди людей, которые говорят только на английском большую часть времени, я к последнему дню осознал, что стал больше понимать свободную речь. Я не успевал переводить это всё для себя, но некоторые фразы вполне выхватывал. Так что подтянуть английский - это вполне реальная задача. Надо бы её себе поставить на год.
Я думаю, что после того, как станут доступны презентации с конференции, я сделаю ещё несколько постов, в которых опишу показавшиеся мне важными темы и проиллюстрирую их слайдами из презентаций докладчиков. Плюс ко всему, я сам был на ограниченном количестве презентаций сам (они шли параллельно в трёх местах сразу), я вместе с вами их посмотрю =)