среда, 22 июля 2026 г.

Новые функции Calc в будущем выпуске LibreOffice 27.2

В LibreOffice 27.2, который выйдет в феврале 2027 года, были добавлены новые функции, для совместимости с MS Excel (в скобках указан автор патча):

  • LAMBDA (Ben Urban)
  • ISOMITTED (Ben Urban)
  • BYCOL (Ben Urban)
  • BYROW (Ben Urban)
  • MAKEARRAY (Ben Urban) 
  • MAP (Ben Urban)
  • REDUCE (Ben Urban)
  • SCAN (Ben Urban)
  • ARRAYTOTEXT (Tomaž Vajngerl, Collabora)

Причем сначала это все было написано в проекте Collabora Office, там это все было проверено, а потом уже Хиско это все утащил в LibreOffice, лицензия позволяет вполне. Вот такой каннибализм (или идотизм) поневоле.

среда, 8 апреля 2026 г.

Макросы на Python теперь можно создавать напрямую из LibreOffice

Долгие годы, фактически наверное с тех времён, когда LibreOffice был ещё OpenOffice.org, в его интерфейсе нельзя было нажатием кнопки создать макрос на Python. Макрос на Basic - можно и редактировать его можно, а на Python было нельзя, кнопки просто неактивные были (потому что за ними не было кода).

И вот Neil Roberts, новый TDF разработчик, сегодня исправил эту проблему (патч и патч). 

Теперь при нажатии кнопки "Создать", вы задаёте имя файлу, жмёте "ОК" и файл создается в некоем месте в каталоге LibreOffice, там где офис этот скрипт потом сможет найти и показать юзеру. Затем нажимаете кнопку "Правка" и файл откроется в стандартном редакторе вашей операционной системы, то есть ПОКА править скрипт придётся во внешнем редакторе.

Вариантов дальнейшего улучшения ситуации я вижу два:

  1. Интегрировать какую-то простую IDE для Python в сам LibreOffice и я предлагал в свое время на эту роль Thonny.
  2. Сделать настройку, чтобы можно было указать, в каком именно внешнем редакторе надо открыть файл Python.

По какому пути решит пойти Neil я пока не знаю, но я веду активную пропагандистскую работу в сторону того, чтобы макросы на Python можно было писать в LibreOffice "из коробки", не устанавливая отдельно APSO или внешнюю IDE.

четверг, 2 апреля 2026 г.

Как поссорились TDF и Collabora и почему это печально

Давняя подковерная грызня между советом директоров TDF и главой Collabora Productivities Майклом Миксом вчера вылилась (как говно на голову всем в сообществе) в исключение всех работников Collabora из членов TDF и последовавший за этим пост от Майкла, в котором говорится о том, что Collabora перестает вносить вклад в LibreOffice, делает свой форк, из которого исключат Java и Base, напялят на него "красивую" ленточную морду и будут отдельно его развивать на пару со своим главным продуктом Collabora Online (это облачный офис а-ля Гугле Докс).

Учитывая, что более 50% кода в проект писали именно сотрудники Collabora - это политическое и техническое фиаско со стороны TDF. Нанимаемые напрямую фондом разработчики не заменят десятки программистов из Collabora, во всяком случае их надо нанимать больше намного и входить в курс им тоже надо будет время.

Между прочим, появились уже теории заговора вокруг этой воню чей темы - типа Европейский союз будет давать денег на посконный офис без закладок от МайкроСофт в силу политической обстановки в мире и поэтому TDF и Collabora захотели сожрать соло этот вкусный пирог. Посмотрим.

Вангую, что разработка LibreOffice и так не быстрая, замедлится, что починка багов, которых море морское - тоже быстрее не станет. 

понедельник, 23 марта 2026 г.

TDF наняли двух из трёх ранее планировавшихся программистов

Как я ранее писал, TDF озаботились наконец-то наймом программистов на получаемые донаты.

Итак, кого же нанял TDF:

Dan Williams - будет заниматься UI и macOS специфичным кодом

Neil Roberts - будет заниматься поддержкой макросов. Я очень надеюсь, что он начнёт с допиливания поддержки работы с Python макросами, это прям мечта и маст хэв.

Остался ещё один кодер, на поддержку модуля Base, которого пока нет на горизонте. Но я так понял TDF и не спешит никуда в этом вопросе, к сожалению.

понедельник, 26 января 2026 г.

Balazs Varga реализует фичу "Форматировать как Таблицу" в Calc

Видимо Маркус не до конца осилил в одиночку фичу "Форматировать как Таблицу" в одно лицо, поэтому Balazs Varga из Collabora ему помогает. Вчера он выкатил почти пятьдесят патчей на эту тему, надеюсь через недельку другую мы сможем потестировать эту штуку в LibreOffice Calc.

Напомню, что это фича из MS Excel, которую очень много народу ждёт. 

воскресенье, 2 ноября 2025 г.

Используем git для отправки патчей в LibreOffice

Это больше для себя памятка. Ни для кого с минимальным опытом программирования всё ниженаписанное не новость =)

Итак в терминале, убедившись, что мы в каталоге с исходным кодом проекта:

git pull - синхронизируем локальный исходный код с сервером

git checkout -b <branch_name> origin/master - создаем ветку

Делаем наш патч

make check - гоняем тесты для патча

git commit - записываем правки в историю

./logerrit submit master - коммитим патч в геррит на ревью

Если надо патч поправить после ревью или по любой иной причине:

git checkout <branch_name> - переходим в нашу ветку с патчем

Правим патч, чтобы стало как надо

git commit --amend -a - обновляем (!!! это важно !!!) правки в истории

./logerrit submit master - коммитим обновлённый патч в геррит на ревью

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

TDF объявили о найме еще трёх программистов

Какое счастье-то. TDF объявили о найме еще трёх программистов:

Для улучшения работы с макросами, включая исправления багов, допиливание совместимости с VBA и нормальную работу с Python

Для улучшения Base (и мне это кажется пустой тратой ресурса, в текущих реалиях никто не юзает однопользовательские БД локально, хватает электронных таблиц) 

Для улучшения UI с упором на macOS (мне кажется, что эта вакансия была определённо заточенной под Патрика, но что-то ничего не слышно, чтобы его наконец наняли)

Я очень надеюсь, что дополнительные товарищи программисты будут таки наняты и сделают LibreOffice ещё круче =) 

PS: по ссылкам есть информация, как с ними связаться, если вдруг вы пишете код на плюсах и желаете поработать над проектом и получать за это деньги =)

воскресенье, 10 августа 2025 г.

Маркус Морхард вернулся и сообщил о своей работе над фичей в Calc, аналогом "форматировать как таблицу" из Excel

Markus Mohrhard - это один из старых разработчиков LibreOffice, со срача с которым я начинал свое вхождение в проект. Последние много лет он был неактивен, но вот недавно он объявился, сделал пару патчей, а сегодня написал письмо в список рассылки о том, что делает фичу для Calc, аналог функции "форматировать как таблицу" из Excel.

Вот кривой перевод его сообщения (я читаю архив рассылки, а там нет скриншотов, о которых он говорит в письме):

"Я немного поэкспериментировал с реализацией поддержки стилей таблиц Calc, включая поддержку OOXML. Я не очень доволен некоторыми решениями в дизайне, поэтому хотел узнать мнение других (разработчиков), прежде чем тратить на это время.

Код находится в ветке feature/calc-table-styles.

Прилагаю два скриншота, показывающих сравнение рендеринга моего тестового документа в MS Excel и текущего рендеринга в Calc.

Обратите внимание, что это (изменение) также включает в себя ряд связанных улучшений диапазонов базы данных, включая небольшую боковую панель со свойствами стилей диапазонов/таблиц базы данных, дескриптор для изменения размера диапазонов базы данных при их выборе и скрипт для генерации информации о стиле OOXML по умолчанию, чтобы мы могли легко использовать их из кода..."

И там в письме дальше длинный список того, что надо бы ещё сделать в этом направлении, вы не думайте, что он выкатил готовую фичу прям =) Но всё равно это очень хорошее начинание, в свое время Маркус делал механизм автообновления для LibreOffice, который в итоге всё же допилили и в 25.2 он уже работает, так что и с этой фичей случится тоже самое, рано или поздно.

пятница, 16 мая 2025 г.

GSoC 2025 и LibreOffice

В этом году LibreOffice также принимает участие в программе GSoC. Заявлены следующие проекты и исполнители по ним:

  • Adam Seskunas - перепишет построитель отчетов для Base с Java на C++
  • Karthik Godha - добавит новый диалог для настройки стилей таблиц Writer и Calc (учитывая, что стили таблиц и там и там не существуют толком, то решение более, чем странное, делать UI для функционала, которого в общем-то нет)
  • Devansh Varshney - реализует автодополнение и подсказки при написании кода макросов в Basic IDE
  • Manish Bera - реализует автодополнение при написании кода макросов на Python (и мне не очень-то понятно, как это будет работать во внешних редакторах, потому что LibreOffice своего едактора кода для Python не имеет, а Jim не смог завершить свой патч)
  • Mohamed Ali Mohamed - реализует биндинг для языка Rust
  • Ujjawal Kumar - добавит возможность импорта файлов с разметкой Markdown в LibreOffice
  • Shardul Vikram Singh - переработает механизм отображения слайд шоу в Impress на использование примитивов DrawingLayer (это что-то очень низкоуровневое, зато может за собой тысячу регрессий потянуть).

Менторить указанных выше товарищей будут Thorsten Behrens, Stephan Bergmann и Sarper Akdemir из allotropia; Rafael Lima; Jonathan Clark, Heiko Tietze, Xisco Faulí, Michael Weghorn и Hossein Nourikhah от самого фонда TDF.

Пожелаем им всем удачи!

пятница, 9 мая 2025 г.

суббота, 1 февраля 2025 г.

Xisco Fauli добавил кучу новых функций в Calc

Из достаточно длинного списка ещё не реализованных функций электронных таблиц MS Excel в будущий LibreOffice Calc 25.8 уже были добавлены следующие:

  • CHOOSECOLS
  • CHOOSEROWS
  • DROP
  • EXPAND
  • TAKE
  • TOCOL
  • TOROW
  • WRAPCOLS 
  • WRAPROWS
  • VSTACK
  • HSTACK

Я уж не знаю, чего Xisco решил этим заняться, так-то он QA в проекте, однако вот решил и сделал. Честь ему и хвала. Посмотрим, может он и остальные функции тоже запилит =)

Обновил пост еще парой функций

воскресенье, 1 декабря 2024 г.

Выпуск LibreOffice 25.2 alpha 1 - что нового?

Xisco Fauli в QA блоге проекта написал, что первая альфа LibreOffice 25.2 доступна для тестирования. Скачать можно по ссылкам, а новшества версии якобы написаны в РелизНотес.

Глянул я на тот РелизНотес, а там почти пусто =)) Разработчики забыли написать туда, свои активности или может вся работа делалась"под капотом" и юзеру просто не видна? Это отношение разрабов к наполнению релизнотесов в проекте мне всегда не нравилось, но и заставить их никто не может, такие дела...

вторник, 26 ноября 2024 г.

Управление макросами в LibreOffice - мы хотим перемен

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

Мало разделения по языкам, так ещё и управление диалогами (которые можно создавать для макросов внутри LibreOffice) - это отдельная команда и свой диалог, выполнение макроса - это свой диалог.

У меня в свое время появилась идея, что все эти дела, связанные с управлением макросами должны быть в одном месте, в одном диалоге главном, который бы мог отображать макросы на всех ЯП, диалоги, и позволял бы выполнять действия над ними всеми в зависимости от языка и типа объекта. И я написал баг репорт - https://bugs.documentfoundation.org/show_bug.cgi?id=120658.

Идея единого диалога выглядела вот так, всё в одном диалоге:

Он был воспринят не очень однозначно и долго висел без какой-либо реакции (как и большинство наших баг репортов, кстати). Я сам-то не могу код на плюсах писать, а вот приставать к людям, которые код писать могут - это я могу. И вот мне повезло, я дважды просил Jim Raykowski глянуть, может ли он это реализовать и во второй раз он согласился и таки написал патч на почти четыре тысячи строк, который реализует мою идею. Вот ссылка на патч - https://gerrit.libreoffice.org/c/core/+/176254.

А вот видео - результат реализации:

В настоящее время патч ещё не влит в кодовую базу, идет процесс код-ревью. После того, как патч будет смержен, функционал надо будет потестить и потом надо будет поправить некоторые вещи в UI.
А самое забавное, что у нас нет под капотом механизма, который бы позволял управлять макросами на Python также, как идёт управление макросами на Basic. И в новом диалоге при выбранном макросе Python - выводится ошибка.
И дальнейшим планом видится именно допиливание нашего фреймворка для управления макросами так, чтобы можно было работать с Python макросами без лишних движений в виде установки расширения APSO и прочего. Но это тема для отдельного поста =)

среда, 9 октября 2024 г.

Для тех, кто захочет контрибьютить в LibreOffice

Этот пост - просто информация для желающих, с чего начинать контрибьютить в проект LibreOffice.

Вся актуальная информация на английском языке, но для программиста это не должно стать препятствием. Также вы уже должны знать С++, учить вас программировать с нуля здесь никто не будет.

Итак, для тех, кто захотел написать пару строк кода для LibreOffice:

Начать следует с прочтения вот этой ссылки - https://wiki.documentfoundation.org/Development/GetInvolved. Это ровно информация для новичков в проекте, как скачать исходники, как собрать свой билд, какие зависимости, для каких IDE есть предварительные настройки и как их включить, какой код стайл мы используем, как пишем патчи и как их засылаем. Обратите внимание, вам нужно достаточно современное железо с многоядреным процессором (4 и более ядер) и большое количество ОЗУ (8 или более Гб), потому что первоначальная сборка на 4-х ядерном Core i5 2,5 ГГц занимет ровно два часа времени (а в 14 потоков и 16 Гб памяти - ровно один час). Также необходимо около 30Гб сводобного места на диске (который уже должен быть SSD).

После того, как вы настроите окружение, встанет вопрос, а с чего же можно начать знакомиться с проектом. У нас есть список так называемых изи хаков именно для этой цели. Обычно это баг репорт, в котором достаточно подробно расписано что надо сделать и указана ссылка на конкретный файл или даже строку в исходниках. Вот этот список - https://wiki.documentfoundation.org/Development/EasyHacks/by_Required_Skill/Skill_C%2B%2B. Обратите внимание, список разбит на три группы по сложности, выбирайте себе любую цель и пробуйте написать патч.

Если вы достаточно опытный разработчик и вам сразу все понятно и возможно просто интересна какая-то конкретная тема, например производительность, утечки памяти, проблемы в поддержке каких-то форматов, UI, новые фичи - у нас есть багзилла с бесконечно длинным списком проблем. Также у нас есть некая сортировка проблем по темам, мы называем это МЕТА багами, найти их можно вот здесь -  https://wiki.documentfoundation.org/QA/Tracking_Bugs. Там есть фильтры, можно отсортировать то, что вам надо и покопаться в конкретных баг репортах по выбранной теме.

После написания патча, он должен попасть к нам в геррит - https://gerrit.libreoffice.org/q/status:open+-is:wip+branch:master. Конечно мы используем Git, однако у нас имеется возможность поправить пару строк, используя веб-интерфейс. До пуша в геррит вы обязаны прогнать свой патч, используя команду make check - это позволит вам локально прогнать все юнит-тесты. В геррите патч проверит бот Дженкинс, который также гоняет юнит-тесты для каждой из популярных десктопных ОС, а затем ваш патч должен пройти код-ревью и кто-то из опытных разработчиков с правами должен вам поставить +2 и замержить ваш патч.

Найти разработчиков всегда можно в рабочие часы по средне-европейскому времени в IRC канале - https://web.libera.chat/?chan=#libreoffice-dev. Общение на английском языке.

Также можно задать технический вопрос в список рассылки для разработчиков (также на английском языке) - https://wiki.documentfoundation.org/Development/Mailing_List

Насчет использования ИИ при написании патчей - это допускается, но вы должны явно про это указать в описании патча, и вы должны суметь объяснить сами, что делает код, который вам нагенерил бредогенератор. Естественно патч должен собираться и проходить тесты у вас локально. 

По каким-то организационным вопросам можно спросить у меня в Телеграм (пока его не прибили), ник @Kompilainenn.

пятница, 26 июля 2024 г.

Выпуск LibreOffice 24.8 RC1. Что нового в 24.8?

The Document Foundation объявил о доступности для тестирования первого релиз кандидата LibreOffice 24.8. По ссылке можно скачать дистрибутив под любую ОС.

Что же нового нам предлагает LibreOffice 24.8?

Writer

  • Теперь можно изменить размер панели комментариев справа от документа
  • Улучшена поддержка многостраничных "плавающих" таблиц
  • Добавлена поддержка хитрых конечных ссылок для документов DOCX, DOC и RTF
  • Подсветка стилей теперь применяется только к стилям, которые используются в документе
  • Во всплывающей подсказке при наведении на гиперссылку теперь показывается URL адрес
  • На Боковую панель добавлена панель Поиск с отображением результатов поиска и некоторого текста вокруг
  • Реализованы различные улучшения для работы с переносами слов

Навигатор в Writer

  • Теперь позволяет вставлять перекрестные ссылки в документ путем перетаскивания соответсвующего имени объекта из Навигатора в текст, при этом показывается контекстное меню, если вариантов для вставки несколько
  • Теперь позволяет удалять простые и концевые сноски
  • Теперь показывает специальный значок для связанных картинок с некорректной ссылкой

Calc

  • Теперь можно задать диапазон ячеек для экспорта в PDF
  • Добавлены функции LET, XLOOKUP, XMATCH, FILTER, RANDARRAY, SEQUENCE, SORT, SORTBY, UNIQUE, аналогичные существующим в MS Excel
  • Улучшена поддержка копирования данных из Google Sheets в Calc
  • Комментарии могут быть отредактированы или удалены прямо из Навигатора
  • Добавлена поддержка форматирования сводных таблиц MS Excel (поддерживается импорт и экспорт)
  • Проверка вводимых данных теперь различает заглавыне и строчные символы
  • Диалог Лист > Вставить ячейки теперь позволяет вставить более одной строки или столбца
  • Добавлена настройка цвета фона ячейка, когда она в режиме редактирования
  • Улучшен и упрощен выбор операций сравнения при настройке условного форматирования с использованием набора значков

Impress

  • В основном режиме отображения слайдов была добавлена скрываемая панель Примечания
  • Встроенные шаблоны презентаций были доработаны
  • Добавлен диалог для перехода к нужному слайду
  • Нажатие на Enter в пустом элементе списка теперь завершает список
  • Перелистывание слайдов теперь работает в обычном режиме
  • Презентации в формате PPTX с большим количеством графики теперь открываются быстрее

Draw

  • Наведение курсора мыши на вкладку слоя теперь подсвечивает фигуры на этом слое
  • Ускорено открытие некоторых PDF файлов

Base

  • Исправлена пара проблем с Firebird

Диаграммы

  • Добавлены две новые суб-диаграммы для расшифровки одной из долей круговой диаграммы (хз, как это называется в Эксель)

Общие изменения

  • Список последних открытых документов теперь отображает только документы того модуля, в котором открыт (текстовые в Writer, таблицы в Calc, презентации в Impress и так далее)
  • Пользователю показывается уведомление о необходимости переоткрыть документ, если изменен уровень безопасности макросов
  • Различные улучшения в поддержке языков юговосточной азии
  • Кнопки для выбора шрифта, подсветки и фона теперь запоминают свое состояние между сессиями с использованием офиса
  • Вроде бы включили автоматическое обновление офиса по аналогии с тем, как это делает Firefox, но я не уловил, как это работает и работает ли вообще
  • Объекты Галереи теперь можно искать, используя специальное поле для поиска в Боковой панели
  • Изменена система шифрования файлов!!! Если в этой версии вы сохраните файл с шифрованием, то чтобы его открыть, вам понадобиться версия офиса не ниже 24.8!

Фильтры

  • Настройка "Удалять персональные данные при сохранении" теперь работает для всех форматов и удаляет вообще все персональные данные из всех мест документа
  • Добавлена реализация  feMerge, feComposite и feBlend свойств для формата SVG

Basic IDE

  • Добавлен выбор тем оформления и подсветки кода
  • Текущая строка в коде теперь подсвечивается
  • Теперь сохраняется вид IDE между сессиями
  • Щелчок на номере строки в строке состояния откроет диалог "Перейти к строке"

Поддержка платформ

  • Поддержка Windows 7, 8 и 8.1 объявлена не поддержкой. Офис будет работать, но возможны проблемы с частью, написанной на Python (это некоторые мастера из меню Файл)

среда, 5 июня 2024 г.

Функция LET тоже будет добавлена в LibreOffice Calc

Balazs Varga продолжает нас радовать своими патчами. На очереди функция LET! Вот ссылка на патч. Интересно, там ещё десяток функций ещё в МС Эксель 2021 добавили, которые пока в LibreOffice Calc не реализованы, будет ли Balazs Varga продолжать свое дело и с ними?

четверг, 2 мая 2024 г.

пятница, 26 апреля 2024 г.

Функции динамических массивов в Calc. SEQUENCE

Вот и настал черёд следующей функции динамических массивов SEQUENCE. Balazs Varga создал соответствующий патч. Осталось добавить всего пару - UNIQUE, RANDARRAY.