среда, 13 декабря 2017 г.

Используем bibisect для поиска регрессий в коде LibreOffice

Регрессия в программном коде - это, когда после внесения изменений в программу, перестаёт работать то, что должно было продолжать работать. Например, разработчик написал код, добавляющий новую фичу (или исправляющий ошибку) в одном месте программы, а в другом месте программы из-за этого возникла другая ошибка, например стал неправильно отображаться формат ячейки или некорректно стало считаться некое вычисляемое значение, да и вообще все, что угодно.
Когда обнаруживается такая регрессия (в 5.3. работало, в 5.4 перестало работать или работает с ошибками), то для облегчения жизни кодерам (и для сокращения затрат их времени) люди из QA команды делают bibisecting.
Bibisect - это инструмент GIT, который используется для определения момента, когда ошибка впервые появилась в LibreOffice. То есть мы будем искать первый коммит, который привел к появлению некой ошибки.
В вики проекта есть страничка с описанием процесса для ОС Windows (на английском языке), но, читая ее, я сам не смог корректно проделать процедуру, потому что я дочитал до момента "установите git" и полез ставить официальный клиент git for windows.
ВНИМАНИЕ! Это было ОШИБКОЙ, потому что официальный клиент git for windows странно работает с репами bisect от LibreOffice, вываливаются ошибки, которые не дают выполнять bibisect!
А если бы я почитал чуть далее, то увидел бы, что ставить нужно cygwin!
Итак, начнем.
Шаг №1. Идем на сайт cygwin и качаем инсталлятор в любом виде для вашей битности Windows. В процессе установки будет предложено выбрать дополнительные пакеты, там есть фильтр, введите в нем git и просто установите все пакеты, которые оно вам покажет. Хотя Майк советовал выбрать просто сам git и всё.
Шаг №2. Для корректной работы LibreOffice в Windows необходимы библиотеки типа msvcrXXX.dll от Visual C++ Redistributable Packages for Visual Studio соответствующих версий. Скачать их можно с сайта MicroSoft. Если вы ищете ошибку в той версии офиса, которая уже установлена и работает, то скорее всего нужные библиотеки от MS уже установлены. Если решили проверить альфу или бету версию офиса, то нужно уточнить у разработчиков, какие библиотеки нужны и нужны ли вообще.
Шаг №3. Нужно скачать репозиторий бинарников для той версии офиса, в которой вы собираетесь искать регрессию. Создаем каталог, где будут храниться репы, например E:\libo. Запускаем cygwin, откроется окно терминала:

нужно перейти в наш рабочий каталог, выполнив команду cd /cygdrive/e/libo, приглашение командной строки изменится на соответствующий путь.
Далее выполняем команду git clone git://gerrit.libreoffice.org/bibisect-win32-5.4 (последние две цифры 5.4 означают номер версии LibreOffice, которую мы будем исследовать, если вы работаете с иной версией LibreOffice измените последние две цифры на нужную версию).
Ждем достаточно долгое время, пока сформируется архив на сервере, пока он выкачается к Вам на компьютер, а затем распакуется. В терминале все эти шаги будут отражаться.
Шаг №4. Начинаем собственно процесс поиска плохого коммита. Теоретически, нужно проделать 12 итераций (но по факту их может быть и на один или два больше!) - запусков сборок LibreOffice из репы-bisect, для каждой из которых нужно проверить наличие или отсутствие ошибки. Git сам в итоге выведет итоговый коммит, который приводит к сбою.
Сначала нужно убедиться, что мы используем нужную репу для поиска нашей регрессии. Мы проверим, что в последнем билде в данной ветке наша ошибка уже присутствует, а в первой еще нет. Для этого введите команду git checkout master, оно чуть подумает и выведет некий результат:
Если вывод в терминале будет раскрашен в красный цвет или будет пестрить фразами типа error, значит что-то пошло не так и нужно разбираться и просить помощи (как это делал я, когда мучался в начале процесса).
Следующая команда instdir/program/soffice запустит последнюю сборку (или билд - от английского build) LibreOffice в данной версии bisect-репозитория. Теперь в этом запущенном экземпляре LibreOffice вы делаете те действия, которые приводят к Вашей ошибке. Это нужно, чтобы убедиться, что ошибка УЖЕ есть в данном билде.
ВНИМАНИЕ! Часто бывает, что команда instdir/program/soffice не запускает LibreOffice и ничего не выводит в консоль. Дайте эту команду повторно. И только если и после второй попытки запуска LibreOffice не запустился, то можно говорить о том, что есть проблема либо с репозиторием, либо с git, либо что-то ещё.
ПРИМЕЧАНИЕ: если в последнем билде Вашей ошибки нет, это значит, что вы ищете регрессию не в той версии!
ПРИМЕЧАНИЕ: Вы должны искать только Вашу ошибку, на иные ошибки не обращайте внимание, за один цикл итераций (см.ниже) вы находите одну конкретную регрессию, которая привела именно к Вашей ошибке.
Убедились, что ошибка есть? Хорошо. Следующая команда будет git checkout oldest. И следом за ней сразу instdir/program/soffice. Эта последовательность запустит самый первый билд в версии. Выполните снова действия, которые приводят к Вашей ошибке. Убедитесь, что ошибки ЕЩЁ НЕТ! Если это так (в последнем билде есть ошибка, а в первом нет), то регрессия была внесена где-то между этими билдами. И мы начинаем самое главное.
Даем команду git bisect start master oldest.
И начинаем выполнять следующие действия раз за разом:
1. Вводим команду instdir/program/soffice - запускаем LibreOffice, проверяем на наличие ошибки, просто закрываем LibreOffice (либо, если ошибка критическая, то он сам закроется), и
2. - если ошибка есть, даем команду git bisect bad
    - если ошибки нет, даем команду git bisect good
3. Возвращаемся к пункту 1.
ВНИМАНИЕ! Обратите внимание на то, что ошибка обязательно должна проявиться при выполнении этих итераций хотя бы пару раз. Если у вас все время ответ будет good, это значит, что что-то пошло не так и нужно разбираться со знающими людьми! 
ВНИМАНИЕ! Может случится так, что LibreOffice не будет стартовать вовсе или с какими-то ошибками, это может означать, что билд был неработоспособный. В таком случае необходимо дать команду git bisect skip, и вернуться к пункту 1.
По мере выполнения этих шагов git будет писать нечто вроде "Осталось 11 (10, 9......2, 1) шагов до конца". Может писать и "Осталось 0 шагов до конца, но при этом не покажет финальный результат (о нем чуть ниже), поэтому процесс нужно продолжать до тех пор, пока git не покажет примерно такой вывод в консоли:
Это и есть наша регрессия. Это то, что мы должны показать в багзилле в качестве результата проведенной операции bibisecting'a.
ВНИМАНИЕ! Из этого вывода нам нужна строка source-hash и Author из НИЖНЕГО блока, в нашем случае Jan Holesovsky.
В багзиллу проекта помимо описания бага, Вы должны после bibisecting'a написать нечто вроде: "I bisected this bug. First bad commit 2d19e9bb07ccff3134f855812dddfda5c07b1fe4 from Jan Holesovsky." И в доказательсво привести вывод из вашей консоли git с результатом bibicting'a.

среда, 6 декабря 2017 г.

LibreOffice в государственной экспертизе Липецкой области

Зашёл по служебной надобности на сайт госэкспертизы Липецкой области http://lipeksp.ru/dokumenty/formy-zayavleniy/, и там в разделе документы увидел замечательное:
Хотелось бы надеяться, что документы в формате ODT созданы все же в LibreOffice. Да и советуют они использовать именно Либру.
Так что дело продвижения и использования свободного офисного пакета движется тихой сапой и в госорганах.

вторник, 28 ноября 2017 г.

Найти и заменить. Приводим в порядок текст, вставленный в документ из других программ

Очень часто мы создаем документы методом копипасты кусков текста из разных источников и последующего приведения этих кусков текста к единому виду и более или менее наличию смысла в тексте в общем.
С чем чаще всего мы сталкиваемся в этих кусках скопированного текста?
Более одного пробела идущего подряд, знаки разрыва строки вместо знака абзаца, абзацы разделены друг от друга пустыми абзацами, некие спецсимволы в большом количестве.
Перво наперво нужно включить отображение непечатаемых символов. Делается это путем нажатия на соответствующий значок на панели инструментов или нажать сочетание клавиш Ctrl + F10, или выбрать пункт меню Вид > непечатаемые символы.
Для устранения этих "проблем" в тексте нужно использовать диалог "Найти и заменить", вызываемый по нажатию сочетания клавиш Ctrl+H или из меню "Правка".
Замена множества знаков пробелов идущих подряд на один такой же знак:
1. В диалоге "Найти и заменить" в строку "Найти" вбиваем \s+
2. В строку "Заменить" вбиваем один пробел (он не будет обозначен каким-то специальным символом, его не будет видно, но по положению курсора в строке понятно, что пробел таки есть)
3. Далее раскрываем "Другие параметры" и отмечаем галочкой опцию "Регулярные выражения"
4. Нажимаем на кнопку "Заменить все". На этом всё.
Замена знака разрыва строки на знак абзаца (если этого не сделать, то, не смотря на перенос строки, Либра будет считать текст одним абзацем и применять стили соответственно, что может весьма удивить пользователя):
1. В диалоге "Найти и заменить" в строку "Найти" вбиваем \n
2. В строку "Заменить" также вбиваем \n
3. "Регулярные выражения" также должны быть активированы
4. Нажимаем на кнопку "Заменить все". На этом всё.
Замена нескольких подряд идущих знаков абзаца на один знак абзаца:
1. В диалоге "Найти и заменить" в строку "Найти" вбиваем ^$ (знак доллара!)
2. В строку "Заменить" ничего не вбиваем!
3. "Регулярные выражения" также должны быть активированы
4. Нажимаем на кнопку "Заменить все". На этом всё.

Вся эта информация есть на просторах интернета, этот пост я сделал больше для себя. 

четверг, 16 ноября 2017 г.

Crazy Idea для LibreOffice Online

Встречался в Москве с Майком. Хорошо пообщались, реально интересно и познавательно было. И под конец встречи зашел разговор про Коллабору и ее вклад в ЛибреОфис. И глядя на звезды я думал о проекте CODE. Это онлайн ЛибреОфис от Коллабора, который можно юзать совершенно свободно. Однако эта штука подразумевает использование выделенного сервера более или менее могучего, в зависимости от количества одновременно подключенных юзеров. Я подумал про общедоступный всему миру сервисе Google Docs, который тоже суть онлайн офис. Однако Google имеет огромные финансовые возможности и серверную инфраструктуру, чтобы обеспечить весь мир всегда доступным онлайн офисом. При этом огромным минусом сервиса является 146% гарантия того, что Google ваши документы читает. О конфиденциальности речь не идет ни разу. Коллабора такого сервиса людям во всем мире предложить не может, несравнимые весовые категории ну и непонятно, как монетизировать это именно Коллаборе. И у меня возникла идея, как "осчастливить" весь мир доступом к свободному от слежки онлайн офису на основе ЛибреОфиса. Сначала подумалось о некоей технологии на основе битторрент, исходя из идеи, что каждый юзер предоставлял бы каждому нуждающемуся юзеру ресурсы, но Майк раскритиковал ее на корню. Потом подумалось о такой штуке: люди по всему миру добровольно ставят себе некую серверную часть либры онлайн, и предоставляют ресурсы своего компа для запуска либры онлайн кем-то со стороны. Центральный сервер той же Коллабора занимается тем, что знает обо всех запущенных юзерами серверах либры онлайн и при запросе от юзера-пользователя направляет его на ближайший запущенный юзер-сервер с минимальным пингом относительно запрашивающего. Документы юзера держатель серверной части не должен видеть или контролировать ни при каких обстоятельствах. Если юзер-запрашивающий желает, то документы он может хранить в облачном сервисе, том же дропбоксе или я.диске, и конечно локально, при этом он должен явно сделать осознанный выбор.
Идея возникла спонтанно, в порядке бреда и живого общения. Есть 99,(9)% вероятность того, что на это даже смотреть не будут, но для памятки я это тут расписал. Это конечно всё можно еще больше конкретизировать, уточнить кучу рабочих моментов и т.д. и т.п.

суббота, 28 октября 2017 г.

Улучшения в настройке списков в Impress

Товарищи из дизайн-тим провели натурный опыт на пользователях LibreOffice из славного французского города Нант. Они пытались выяснить, а что же в основном мешает работать с маркированными и нумерованными списками в Impress. Итак:

Уровни списка.

Первой задачей для пользователей было создание списка маркеров и изменение уровня некоторых элементов в соответствии с заданным примером. Все субъекты опыта использовали клавишу табуляции [Tab], чтобы увеличить уровень, но некоторые не смогли «откатить» эту операцию, так как клавиша [Backspace] удаляет маркер, а не «вставленнцю табуляцию» (Microsoft Powerpoint работает точно так же, как Impress, и никогда не понижает уровень списка при нажатии на [Backspace]). Предлагаемый сейчас способ управления уровнем списка - используя четыре кнопки со стрелками на боковой панели или на панели инструментов, а также через контекстное меню.
Подопытные подвергли критике Impress после того, как им показали эти четыре кнопки со стрелками, за то, что значки недостаточно очевидны (стрелки довольно неспецифичны), также они заявили, что расстояние до кнопок управления списком отвлекает от общей функциональности.
Есть не обозначенная этими пользователями, но обнаруженная разработчиками при пристальном рассмотрении проблема - несогласованность между Impress и Writer в сочетаниях клавиш  (уровень может быть скорректирован по [Tab] / [Ctrl] + [Tab], как в Impress, так и в Writer, но только в Impress есть сочетание клавиш [Alt] + [Shift] + [Left] / [Right] в качестве основного сочетания клавиш), а функция "Увеличить отступ", доступная и в Impress, изменяет уровень списка только в Writer.
Хотя существует множество способов улучшить удобство использования, разработчики хотят для начала обеспечить последовательность в пользовательском интерфейсе. Поэтому они видят следующие пути для этого:
  • Унификация сочетаний клавиш между Impress и Writer - добавить сочетания [Alt] + [Shift] + [Left/Right/Down/Up] в Writer.
  • Одинаковая функциональность отступов:
  • управление уровнем списка через увеличение/уменьшение отступа абзаца в Writer следует удалить;
  • отступ абзаца должен быть ограничен интервалом между маркером (или нумерацией) и текстом элемента списка, что означает
  • кнопки для увеличения / уменьшения отступа абзаца должны заработать и в Impress (сегодня нажатие на кнопки эффекта не дает)
  • Улучшение пользовательского интерфейса:
  • лучшая организация элементов интерфейса в боковой панели, как показано на рисунке ниже, с выделенным сектором для списков и значками, тесно связанными со стилем списка с позиционными подсказками

Изменение стиля списка.

После создания маркированного списка испытуемым было предложено изменить все элементы второго уровня на определенный отступ и изменить вид маркера.
Все участники сначала попробовали кнопку «Маркированный список» на боковой панели, хотя это влияет только на текущее выделение. То же самое верно для диалога Маркеры и Нумерация, что было второй идеей во время теста. Участники в конечном итоге использовали копирование форматирования для выполнения задачи, кроме тех, кто был знаком со стилями и перешел в диалог «Редактировать стили». В этом диалоговом окне отсутствует ключ, по которому он работает, т.е. выделение, слайд, презентация. Кроме того, только на вкладке «Настройка» показано, на каком уровне работает модификация (обычно все соответственно «1-10»). Большая часть заблуждения исходит из того факта, что Impress имеет только один стиль списка, который определен в мастер-слайде.
Рекомендуемое решение - переставить элементы управления в диалоговом окне (рисунок ниже). Уровень показывает фактический выбор (второй уровень на рисунке), и пункт "Все уровни" помещен над списком уровней, чтобы быть на видном месте. Средний столбец предоставляет доступ к свойствам в зависимости от выбранного типа.
Хотя текущий диалог обеспечивает быстрый доступ к нескольким предопределенным маркерам, нумерации или символам, неясно, к чему применяются эти пресеты. Разработчики предлагают удалить вкладки и разместить все возможные элементы управления на одной странице. Кроме того, добавляется переключатель "Область применения" (на рисунке это "Scope"), и пользователи могут решить, относится ли изменение к текущему выделению или ко всему слайду. На случай, если изменение должно примениться ко всем слайдам, использующим текущий мастер-слайд, добавлена кнопка «Применить к мастер-стилю» (Apply to Master Style). При запуске этого диалогового окна из мастер-слайда, так как это означает по сути определение стиля, функция "Область применения" должна быть отключена.
В дополнение к этому переработанному диалоговому окну, из боковой панели должен быть возможен быстрый доступ к стилю маркера (или нумерации). Это можно сделать с помощью дополнительного выпадающего списка. На рисунке ниже показана часть боковой панели  с доступом к вариантам объекта. Модификация будет применяться только к выделению.

Копирование / вставка элементов списка.

В следующей задаче участникам пришлось скопировать элемент из списка и вставить его в другое место. Это удивительно сложно, потому что, если текстовое поле не находится в режиме редактирования (фрейм вокруг неактивен), вы вместо выделения текста перемещаете рамку. В этом вопросе кажется, что пространство между маркером и текстом принято не правильно. Решение этой проблемы должно значительно улучшить рабочий процесс.
На рисунке ниже показано текущее и предполагаемое поведение. Прямой выбор текста возможен только в синей области. Нажатие на маркер, показанное красным цветом, работает как выбор фрейма, аналогичный области сверху, и заканчивается перемещением текстового поля вместо выбора части текста. Такое поведение указывается изменением формы курсора мыши на тип «перемещение» (в форме руки или четырехсторонней стрелки, в зависимости от настроек ОС). Предложение заключается в том, чтобы добавить заштрихованную область в принятое пространство для редактирования, в идеале, включая сам маркер.
После копирования текста его стиль не используется во время операции вставки. На самом деле никакие свойства не принимаются вообще. Например, если в документе A есть красные маркеры, определенные на мастер-слайде, а в документе B - синие маркеры, вставка A в B заканчивается черными маркерами. Эта проблема должна быть решена. Пользователь, скорее всего, ожидает полного стиля оригинала (применяется как прямое форматирование, если отличается мастер), но могут быть ситуации, когда противоположное значение истинно и должен использоваться целевой стиль. Решение может состоять в том, чтобы иметь специальную опцию вставки вида «вставка с исходным стилем» (по умолчанию для просто вставки), «вставить с целевым стилем» и «вставить без стиля».
Маркированные списки - важная проблема в Impress. Основываясь на результатах теста удобства использования, разработчики предлагют переработать диалог свойств, как показано на одном из рисунков выше, ввести панель содержимого на боковую панель, чтобы текущее выделение в списке можно было быстро изменить, а также решить пару проблем в коде. Результат должен сделать рабочий процесс интуитивно понятным и легким.






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

Статистика коммитов в код LibreOffice за период с августа 2016 по сентябрь 2017

Недавно в Риме прошла конференция разработчиков LibreOffice. И сейчас потихоньку разработчики начинают выкладывать свои презентации с этой конференции. В одной из презентаций одного из разработчиков, Michael Meeks'a, которая вообще-то посвящена компании Collabora и её вкладу в развитие LibreOffice, я увидел слайд с небольшой статистикой по коммитам за прошедший год, с августа 2016 по сентябрь 2017:
Итак: всего в проект внесено почти 19 тысяч коммитов за год, а это по полторы тысячи коммитов в месяц, по 50 в день! А дальше мы видим интересную картинку под названием "Кто разрабатывает ОпенСорц? Альтруисты? Студенты? Не думаю". По 33% от общего числа коммитов внесли работники из Collabora и Red Hat. Работники, которым платят зарплату за то, что они пишут код (и правят баги) LibreOffice. И только 27% кода (считая в коммитах) за прошедший год внесено волонтерами / свободными кодерами / теми самыми альтруистами / студентами (части из которых кстати Google заплатила денег по программе GSoC). Ну и есть некоторое количество кода, написанное людьми из TDF, CiB, Cannonical, SuSe и прочая.
Я к чему это всё написал. Не подумайте, что я идеалист, и верю, что человек может питаться святым духом и делать всем в мире добро просто потому, что он себе это может позволить. Я наоборот рад видеть, что людям за развитие опенсорц проекта платят деньги, а сам проект с открытым исходным кодом служит основой для ведения бизнеса отнюдь не маленьких софтверных компаний. 
Ну и конечно же было бы очень круто увидеть в этой статистике увеличение количества коммитов от платных разработчиков / новых организаций, а еще лучше от российских платных разработчиков / организаций.

вторник, 10 октября 2017 г.

Выпуск LibreOffice 5.3.7.1

Разработчики выпустили первый релиз-кандидат последней версии LibreOffice в ветке 5.3. - 5.3.7.1. Судя по отчету, исправлено большое количество реальных и потенциальных фатальных ошибок, приводящих к падению программы. А также, хоть явно про это и не написано, исправлена такая неприятная штука, как мерцание главного меню при отключенном OpenGL в ОС Windows, которая появилась где-то в версии 5.3.2. Для веток 5.4 и 6.0 это исправление также уже внесено в код.
Скачать версию 5.3.7.1 можно как всегда с сервера с ежедневными сборками http://dev-builds.libreoffice.org/pre-releases/, доступны сборки под операционные системы Linux, Windows, macOS в 32-битной и 64-битной итерациях.

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

Фатальная ошибка LibreOffice в Linux, связанная с JAVA

Наткнулся на аварийное завершение работы LibreOffice 5.4 и 6.0 в Linux. Причем офис просто закрывается молча без никаких сообщений об ошибках. Вы просто наводите курсор мыши на пункт меню Файл > Отправить и офис канает в небытие.
Связано это, как оказалось, с JAVA, причем с его открытой итерацией в виде openjdk. С JAVA от Oracle таких проблем вроде бы нет.
Разработчики о проблеме знают, в багзилле предлагается даже какой-то костыль попробовать, для обхода проблемы. Однако я предлагаю, во избежание недоразумений с потерей документов, просто отключить использование JAVA в диалоге "Параметры LibreOffice", который открывается из меню Сервис > Параметры, далее LibreOffice > Расширенные возможности, справа снимаем галочку у пункта "Использовать виртуальную машину JAVA".
Если использование JAVA в LibreOffice по любым причинам необходимо, то удалите openjdk и установите версию от Oracle, скачав ее отсюда http://www.oracle.com/technetwork/java/javase/downloads/jre9-downloads-3848532.html правда версии, доступные для Linux, только 64-битные (мода такая пошла в последнее время).
Update: по ссылке из комментария Майка написано, что проблема затрагивает 32-битные системы (и офис соответственно тоже 32 битный), возможно для 64-битных систем такой проблемы нет, мне негде проверить, у меня все линуксы 32 битные.

четверг, 5 октября 2017 г.

LibreOffice 6.0 и Microsoft Visual C++ 2015 Redistributable

Дожили. Раньше при установке дистрибутив LibreOffice сам устанавливал в Windows нужную ему версию Microsoft Visual C++ Redistributable. Начиная с версии LibreOffice 6.0 эту библиотеку от MS нужно будет устанавливать отдельно, скачав ее с сайта MS
Причем необходимо соблюсти соответствие битности библиотеки и LibreOffice 6.0. То есть, если виндовс 64-бит, а LibreOffice 32-бит, то библиотеку необходимо скачать на 32-бит, а не на 64!
Администраторы будут рады, простые пользователи тоже, я думаю, воспылают счастьем.
Кстати, в чем причина того, что нельзя сейчас в дистрибутив LibreOffice 6.0 засунуть микрософтовую библиотеку, я не уловил, надо бы спросить товарищей.
ps: спросил, оказывается это политика MS, не хотят они, чтобы люди юзали старый софт, а хотят всех и всеми методами подсадить на убогую виндовс 10.

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

Фильтрация по месяцам и годам в сводной таблице Calc

Потребовалось мне в сводной таблице реализовать общую фильтрацию данных, отображаемых в сводной таблице, по дате, причем не по дням, а по месяцам и годам. Вроде бы, чего тут такого? Однако по умолчанию, если попробовать сделать просто вот так:
то есть просто доступное поле дата перетащить в раздел "Поля страниц", то в результате мы сможем фильтровать только так, как это указано в изначальных данных, на которых основана сводная таблица (у меня это были конкретные даты - дни):
Как видно на скриншоте выше, можно указать фильтровать информацию в сводной таблице по каждой конкретной дате, а выбрать период вроде месяца или года, нельзя. Просто нет таких пунктов. А хотелось иметь нечто вроде того, как показывает автофильтр, но прямо в сводной таблице:
Одним из вариантов является создание вспомогательных столбцов в исходных данных, в которых бы формулами типа МЕСЯЦ(А1) и ГОД(А1) высчитывались бы номер месяца и год. Затем добавить эти столбцы в сводную таблицу и делать сортировку по ним. В принципе - это то, что нужно, НО оказывается есть способ (отнюдь не очевидный) и без захламления дополнительными данными исходной таблицы. Это настройка фильтрации по дате по периодам в самой сводной таблице.
В настройках сводной таблицы поле "Дата" нужно перетащить в раздел "Поля строк" и нажать "ОК".
Получится вот такой вид сводной таблицы:
Установите курсор в любую ячейку сводной таблицы с датой и выбирете пункт меню Данные > Группа и структура > Группировать (или просто нажмите клавишу F12 на клавиатуре). Откроется вот такой диалог "Группировка":
в котором, внезапно, можно настроить интервалы времени, по которым возможна будет дополнительная фильтрация. Выбрать можно несколько значений одновременно. Я выбрал "Месяцы" и "Годы". В итоге мы получим в свое распоряжение дополнительные поля, которые нужно перенести в настройках сводной таблицы обратно в раздел "Поля страниц", нажать "ОК"
и увидеть вот такой вид сводной таблицы:
Как раз то, что и было нужно, теперь можно фильтровать данные по периодам, задавая отдельно месяц и год.
Отмечу, что такой не очень очевидный путь для настройки общего фильтра в LibreOffice Calc полностью копирует решение из MS Excel. Почему нельзя было сделать такую настройку доступной из контекстного меню поля прямо в настройках сводной таблицы, не прибегая к шаманству с перемещением полей из раздела в раздел - это великая тайна разработчиков офисов.
ps: в Excel название поля "Дата" можно заменить на свое, в Либре я что-то такого не нахожу, плохо ищу?

Критичные для меня баги в LibreOffice. Мысли вслух

Я тут внезапно осознал, почему я не использую на постоянной основе LibreOffice в работе, а юзаю только время от времени только дома. Причина - наличие ошибок (багов) в LibreOffice, которые для меня критичны. Их не так много (мы говорим о версии 5.4 для Windows):

  1. Мерцает интерфейс пользователя, когда по менюшкам водишь мышкой, причем для видеокарт от Интел это никак не лечится, а глаза мне дороги.
  2. Рендеринг шрифтов в документе и в интерфейсе пользователя стал просто ужасный.
  3. Рендеринг встроенных в документ изображений PNG также хромает, это не критично по сути, так как экспорт в ПДФ или печать выполняются с нормальным качеством, но смотреть на это убожество при работе в самом документе сил нет никаких.
  4. В Calc не работает автофильтр при попытке фильтровать записи по дате. Это вообще нонсенс. По сути достаточно большой кусок реальной работы просто не может быть выполнен с использованием LibreOffice.
  5. В текстовых документах Writer могут легко слететь стили, причем не все, а только некоторые и в произвольном порядке, а в больших документах, где стили обычно и надо использовать обязательно, это можно легко не заметить. По сути все преимущество стилей теряется для пользователя, поскольку необходимо постоянно глазами контролировать оформление текста и думать, а не слетели ли стили.
  6. До сих пор LibreOffice может выдать критическую ошибку в каком-то одном модуле и унести в ад ВСЕ открытые документы ВО ВСЕХ модулях.

Это реально печально.

четверг, 28 сентября 2017 г.

Голосование - выбор маскота (талисмана) для LibreOffice

Разработчики опубликовали пост, посвященный опросу-голосованию по поводу маскота-талисмана для LibreOffice. 
Вот прямая ссылка на сам опрос. На первой странице вам пояснят, что нужно нажать кнопку NEXT, а дальше вам будут показаны последовательно рисунки-претенденты на гордое звание маскота LibreOffice, для каждого из которых необходимо нажать кнопку "Палец вверх" или "Палец вниз", лайк или дизлайк, соответственно это значит нравится-не нравится.
Всех неравнодушных прошу принять участие.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выпуск LibreOffice 5.4

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

среда, 26 июля 2017 г.

Укрощение справочной системы LibreOffice

Весьма странный термин выбрал Оливье Хэллот (Olivier Hallot) для того, чем он сейчас пытается заняться. А пытается он ни много ни мало, а переделать справку LibreOffice для того, чтобы было более удобно ей пользоваться, используя обычный (или мобильный) браузер. 
Та справка, что есть сейчас, делалась в лохматых уже 2003-2004 годах и представляет собой набор XML файлов, которые доступны исключительно из самого LibreOffice. Также копии этих файлов доступны в вики проекта. 
Оливье преобразует страницы справки из XML в чистый, почти статический и быстрый HTML. 
Этот подход имеет некоторые преимущества:
  • Работает в каждом браузере
  • Предоставляет текущую функциональность справочной системы
  • Сохраняет текущий процесс разработки, написание справки, и процесс перевода, как они есть сейчас
  • Можно прочитать страницы справки на мобильном телефоне или планшете
  • Можно легко добавить дополнительную разметку для лучшей индексации в поисковых системах
Недостатком является увеличение дискового хранилища на сервере.
Оливье приглашает всех желающих помочь ему в этой несомненно нужной работе.

воскресенье, 9 июля 2017 г.

Часто задаваемые вопросы по работе в LibreOffice (FAQ)

Если вдруг кто-то не знает, то для LibreOffice есть небольшая подборка часто задаваемых вопросов (и ответов на них конечно же), которая расположена в вики проекта по адресу:
По указанному адресу Вы сможете найти ответы, как на общие вопросы по работе с офисным пакетом, так и ответы на более специфичные для каждого модуля Writer, Calc, Impress, Draw, Math и Base. Некоторые статьи пока еще не переведены и Вы можете оказать помощь проекту, переведя их ;)
Указанный ресурс является неплохим подспорьем в быстром освоении LibreOffice, наравне со встроенной справкой и руководствами пользователя.

среда, 28 июня 2017 г.

Результаты опроса по поводу частоты использования некоторого функционала LibreOffice

Сегодня разработчики опубликовали результаты опроса по поводу частоты использования некоторых функций в LibreOffice. В опросе поучаствовало почти 8000 человек. Интересно, что открыли опрос и не прошли его до конца, а просто закрыли страницу еще 2500 человек. Итог опроса разработчиков удивил:
Вполне достаточное количество людей пользуется редкими и не нужными на взгляд разработчиков функциями (ну за явным исключением в виде Flash). В итоге принято решение никакой из обозначенных в опросе функционалов не удалять, а провести более вдумчивое и обширное исследование на эту тему.
Вообще LibreOffice представляет из себя офисный комбайн с достаточно большим разнообразием доступных пользователю функций. Он таким и задумывался изначально, как ответ на засилие МСО. С чего вдруг разработчики решили, что часть функционала из комбайна нужно выпилить - это такой очень хороший вопрос.

суббота, 24 июня 2017 г.

Мерцающие меню в LibreOffice 5.4

Я не знаю, когда это началось, люди в багзилле пишут, что с версии 5.3 уже такое есть, НО я вот в версии 5.4.0.1 (это первый релиз-кандидат версии 5.4) в Windows с отключенным выводом через OpenGL на домашней видеокарте АМД вижу как мерцает строка меню, если по ней провести курсором мыши. Причем на видеокарте от АМД это слегка, но видно, однако все равно раздражает сразу, ибо глаза не казенные, а вот на Интел HD4000 - это просто безумное моргание интерфейса. Причем, если OpenGL включить, то мерцания нет, однако проблема в том, что драйвер для Интел HD4000 внесен в черный список в Либре и OpenGL для него не активируется, а принудительная активация роняет Либру в аут.
В итогах у нас будет релиз, которым по факту очень много где нельзя будет пользоваться, поскольку глаза вытекут.
В ОС на базе Linux такой проблемы вроде бы нет, ну во всяком случае у меня эффект такой отсутствует в Xubuntu со свободными драйверами видеокарты.
Ошибка соответствующая в багзилле есть и не одна, поскольку моргает периодически в разных местах. Пока разработчики ничего по этому поводу не говорят, ИМХО, по очень простой причине: у громадного большинства разработчиков основная система как раз ОС на базе Linux и они не видят этот ужас. Это кстати в далекой перспективе может привести к тому, что на ОС Windows Либра просто перестанет восприниматься, как хоть какой-то конкурент МСО.

Update 16.10.2017: в 5.3.7.1 мерцание исправили и для 5.4.3.1 также должны были этот АДъ исправить. Относительно шустро поправили

четверг, 22 июня 2017 г.

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

Один из разработчиков LibreOffice, Markus Mohrhard, опубликовал пост в своем блоге о прогрессе в разработке механизма автообновления LibreOffice.
В чём вообще суть и цель этой штуки: при любом обновлении версии LibreOffice, даже самом незначительном, вроде с версии 5.3.1.1 до 5.3.1.2 приходится выкачивать полный дистрибутив, удалять старую версию и заново ставить новую (мы говорим про случай, когда LibreOffice устанавливается не из репозиториев дистрибутива Linux, а из сборки, которые распространяет сам The Document Foundation). Для Windows и macOS ситуация в целом аналогичная. Так вот указанный механизм автообновления самостоятельно проверяет наличие обновлений на сайте/сервере TDF и скачивает так называемый дельта-файл - файл, который содержит только разницу между установленными файлами и новыми на сервере. После этого происходит распаковка дельта-файла и обновление только некоторых файлов в уже установленном LibreOffice. Что это даёт? Первое - это автоматизация процесса, софт всё сделает сам, от пользователя потребуется только согласиться на обновление. Второе - размер скачиваемого файла с обновлением, он намного меньше. Г-н Mohrhard в своём посте отметил стократную! разницу (конечно это справедливо для обновления ежедневных сборок, однако кратная разница в размере скачиваемой информации будет наверняка. Это по сути зависит от разницы между версиями ПО, чем больше разница, тем больший размер будет иметь дельта-файл), а это уменьшит нагрузку на серверы TDF.
На сегодня доступна рабочая статичная сборка с встроенным механизмом обновления только для Linux и только для архитектуры х86_64. Архив, скачанный по ссылке, нужно распаковать куда-то, откуда простой пользователь может запускать программы, и просто запустить бинарник. По идее оно должно заработать в любом дистрибутиве Linux с подходящей архитектурой.
Сам код механизма заимствован у Mozilla Firefox и был творчески переработан.
Технически обновление выглядит так (ниже мой свободный перевод текста из поста Маркуса):
"Процесс обновления в настоящее время двухэтапный, но позже он может быть заменён на одноэтапный. На первом шаге LibreOffice связывается с нашим сервером обновлений, который знает обо всех доступных обновлениях, и сервер сообщает о доступных обновлениях установленному экземпляру LibreOffice. На основе полученного ответа установленный экземпляр LibreOffice загрузит нужный файл обновления, проверит, что файл верен (размер файла и хеш), скопирует существующую установку в отдельный каталог обновления и применит обновление. После того, как обновление было применено, первый этап завершается. Во время следующего запуска обновленная сборка из каталога обновлений заменит существующую установку."
При этом двухэтапное обновление не очень хорошо подходит для Windows, есть риск повреждения профиля пользователя (который и так слишком хрупкий, и ломается даже сам по себе достаточно часто). Есть идея о том, чтобы скачивать дельта-файл и проводить обновление не в отдельном каталоге с копией установленной версии, а просто при следующем запуске LibreOffice.
Ещё цитата: "Еще одна огромная проблема автоматического обновления - как обрабатывать случай, который пользователь не имеет прав на запись в установочный каталог (например, LibreOffice, установленный, как обычное приложение в Windows). Mozilla обрабатывает этот случай в Windows через дополнительную службу обновления, которая повышает привилегии процесса обновления. В настоящее время я (Markus) планирую использовать ту же концепцию для LibreOffice, и код службы обновления уже успешно компилируется в Windows. Использование такой службы требует от нас убедиться, что служба не может использоваться никаким исполняемым файлом, который не создан командой LibreOffice, а это требует проверки подписей файлов на каждом шаге. Поскольку я (Markus) не мог найти способ надежной проверки подписи исполняемых файлов и библиотек в Linux, в настоящее время эта функция не поддерживается за пределами Windows."
Что ещё нужно реализовать: "В настоящее время одной из оставшихся функций, которые всё еще нужно реализовать для всех платформ - это пользовательский интерфейс для этого функционала. Большей задачей является обеспечение работоспособности программы обновления в Windows, включая службу обновления и интеграцию MSI с помощью обновлений MSP. Кроме того, хотелось бы написать несколько автоматических тестов, которые будут гарантировать, что обновления работают, и что обновленные сборки и свежеустановленные сборки идентичны."
Если есть желающие помочь в написании кода для реализации механизма автообновления в LibreOffice, то Markus готов к общению. Найти его можно в IRC сети irc.freenode.net на канале #libreoffice-dev, ник у него - moggi. Начать знакомство можно с easy-hack из ошибки tdf#108563 в багзилле проекта.

суббота, 17 июня 2017 г.

Опрос по поводу частоты использования некоторого функционала LibreOffice

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

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

Блиц-опрос про новый внешний вид заставки LibreOffice

Разработчики проводят блиц-опрос по поводу внешнего вида заставки, которая показывается при старте LibreOffice. Собственно вот ссылка на страничку, там показаны 4 варианта заставки, а ниже эдакая форма, в которой можно выбрать только один из них. Связано это обновление с тем, что следующая версия LibreOffice будет иметь номер 6.0, а не 5.5. С чем уж это связано, знают только маркетологи TDF.
Все, кому интересно, могут проголосовать.

четверг, 8 июня 2017 г.

Выпуск LibreOffice 5.4 beta 2

Состоялся выпуск 2 бета версии LibreOffice 5.4. В связи с этим разработчики объявили "Охоту на ошибки №2". Если вы хотите помочь проекту, то скачайте дистрибутив LibreOffice 5.4 beta 2 для своей операционной системы отсюда http://dev-builds.libreoffice.org/pre-releases/. Установите его на ваш компьютер (установится параллельно основной версии) и выполняйте на нём свои обычные операции. Об обнаруженных ошибках желательно сообщать разработчикам в багзилле проекта. 
Из логов баг-фиксов, кстати, видно, что количество исправленных crash-ошибок в данном релизе намного больше, чем в предыдущих. То ли качество кода упало в целом за последний год, то ли больше пользователей стало сообщать о своих проблемах в багзиллу, то ли креш-репортер вышел на проектную мощность и заставляет разработчиков обращать внимание на самые вопиющие случаи, с которыми сталкивается большое количество народа. 
Зато количество новых фич, добавленных в 5.4, резко упало по сравнению с предыдущими релизами, релиз нотес 5.4 считай пустой, читать не о чем.

вторник, 23 мая 2017 г.

Изменение диалога Настройка (GSoC 2017)

Я чуть ранее уже писал о том, что в рамках GSoC 2017 будет в том числе переработан диалог Настройка. Сегодня я увидел откуда черпают вдохновение дизайнеры LibreOffice (собственно это не было откровением):
По ссылке краткое описание "проблем" текущего варианта диалога Настройка и видение его будущего вида. А ниже сравнение с аналогом из MS Office. То есть нет никакой фантазии и даже потуг к творчеству и реальным улучшениям в юзабельности в этом изменении диалога. Тупое копирование интерфейса из MSO, такое же тупое, как и копирование риббона отуда же.

пятница, 19 мая 2017 г.

Регистрозависимые фильтры в LibreOffice

Обнаружил крайне критичные для русскоязычных пользователей ошибки в работе LibreOffice версий до 5.3.2 включительно: в полях ввода выпадающего окошка автофильтра в calc и в диалоге Поля-Перекрестные ссылки во Writer учитывается регистр вводимых символов для кириллицы. То есть для этих фильтров слова "Вася", "вАся" и "ВАся" - это три разных слова и при вводе в поле фильтра слова "вася" ни одно из них в выборку фильтра не попадет!
Вот, как это выглядит в Calc. Вот исходные данные:
А вот работа автофильтра на этих данных:
Видите, ни одно значение в выборку не попало!
Следующая картинка показывает то же самое для фильтра в диалоге Поля-Перекрестные ссылки:
Опять же фильтр по заголовкам не показывает ни одного варианта, хотя по идее должен был бы.
Для латиницы (английский язык например) - этой проблемы нет, все корректно работает и фильтрует без учета регистра символов.
И если для автофильтра в Calc проблему в 5.3.3 должны были исправить, поскольку соответствующая бага в багзилле отмечена, как FIXED, то проблему в Writer я обнаружил только вчера и создал еще одну запись в багзилле.
Обратите внимание: в диалогах найти и заменить (Ctrl+H) и в панели поиска по Ctrl+F фильтр работает НОРМАЛЬНО, то есть регистронезависимо и ищет все вхождения хорошо.
Учитывайте эту информацию в работе. Если во Writer это не так и критично, то автофильтр в Calc может показать вам не полную картинку по данным и привести к печальным последствиям!