четверг, 14 февраля 2019 г.

Разработка LibreOffice. Установка Glade в ОС Windows

Давно я хотел заполучить Glade в Windows. Бывает нужно по быстрому глянуть на диалог с минимальной правкой, а нужно ребутиться в Линукс. Не очень удобно.
Отдельной сборки Glade 3.22.1 от самих гномо-разработчиков для ОС Windows нету. Но есть способ таки получить его.

  • Устанавливаем MSYS2
  • Запускаем оболочку MSYS2 (выглядит, как терминал, коим по сути и является)
  • Даём команду pacman -S mingw-w64-x86_64-gtk3
  • Даём команду pacman -S mingw-w64-x86_64-glade
  • И ищем исполняемый файл Glade по адресу (если сам MSYS2 установлен в каталог по умолчанию) - C:\msys64\mingw64\bin\Glade.exe
  • Делаем на исполняемый файл ярлык, чтобы каждый раз не лазить по каталогам и вуаля.

Места это всё будет занимать где-то 850 мегабайт, учитывайте.

вторник, 12 февраля 2019 г.

Нужно ли обучать пользователей работе в офисных пакетах?

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

Простые правила создания хороших электронных таблиц

Глядя на документы - электронные таблицы, которые мне присылают по работе, и работая с несколькими таблицами, которые были созданы в нашей организации лет пять назад и с тех пор не менялись ни разу, я понял для себя, что люди, создавая таблицы, просто не думают о том, а что же будет с ними дальше.
В качестве примера: большое количество объединенных ячеек, сложно составленные заголовки опять же с использованием объединения ячеек, таблицы, которые начинаются не с адреса А1, а с G45 (O_o), отформатированные насквозь строки и столбцы (когда нужно всего 10х10 ячеек), таблицы с данными не отделены от финальных сводных отчетов, задана группировка диапазонов, в которых находятся вообще не нужные данные, вместо удаления таких данных. Можно бесконечно продолжать.
Мало того, что людей не учат тому, как чисто технически работать с электронными таблицами: народ не знает, как быстро переходить в последнюю ячейку с данными, что можно единственным двойным щелчком мыши протянуть формулу на весь диапазон из 100000 строк, что такое условное форматирование и сводные таблицы, что можно использовать диаграммы, что есть понятие формата числа в ячейке. Опять же тут тоже можно продолжать долго.
Людей не учат и эргономике и логике работы с большими таблицами, с данными, которые впоследствии необходимо будет как-либо анализировать или обрабатывать. Причем анализ и обработку не обязательно будет делать сам создатель или заполнитель таблицы.

Итак, хорошая электронная таблица/лист с исходными данными:
  • Начинается с ячейки А1, а не с А340 или G43
  • Имеет отдельный столбец для каждого типа данных (например, номер договора и дата договора должны быть в разных столбцах, дата начала работы и дата окончания работы - тоже в разных столбцах)
  • Имеет в заголовке каждого столбца краткое и "говорящее" название
  • Имеет шапку/заголовок таблицы в ОДНОЙ строке БЕЗ объединенных ячеек

А в целом файл с электронными таблицами имеет:
  • Отдельные листы с исходными Данными и отдельные для Расчетов или/и Отчетов
  • Формулы в ячейках, не содержащие внутри себя явно заданные значения (например, формула =А1+12 содержит константу 12)
  • Комментарии для сложных формул, что именно и как именно считает формула, на отдельном листе
  • Минимальную цветовую раскраску ячеек, а общая цветовая гамма должна позволять комфортно работать с данными. Это вопрос здоровья самого пользователя, заменять глаза людям на новые человечество ещё не научилось
  • Условное форматирование только для тех ячеек, где действительно необходимо
  • И не имеет сквозного форматирования целых строк или столбцов

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

пятница, 8 февраля 2019 г.

Выпуск LibreOffice 6.2

The Document Foundation объявил о выпуске LibreOffice 6.2. 
В новом выпуске:

Writer

Улучшена производительность в режиме отображения правок в документе 
Прямая вставка таблиц из Calc в существующую таблицу Writer
Переработан механизм изменения/подгонки размеров строк/столбцов в таблицах Writer
Всплывающее меню на листе для вставки колонтитулов теперь можно отключить
При сохранении в формат .txt теперь можно задать кодировку и тип конца строки (например, UTF-8 с CR)
LibreLogo получил некоторые внутренние улучшения

Calc

Механизм "Проверка данных" теперь поддерживает пользовательские формулы
Доступен многомерный регрессионный анализ (диалог Данные->Статистика->Регрессия)
Добавлена новая функция REGEX
Изменено поведение функций LARGE и SMALL

Impress/Draw

Исправлены некоторые проблемы с анимациями
Действия над таблицами Минимизировать и Оптимизировать теперь аналогичны таковым для таблиц Writer
В Draw в меню "Формат" добавлено подменю "Таблицы"
Исправлены некоторые ошибки в управлении слоями в Draw

Base

Создание баз данных в формате Firebird выведено из экспериментального режима и предлагается теперь по умолчанию
Помощник по миграции баз данных из старого формата в Firebird теперь создает резервную копию до начала миграции данных
MySQL C ++ Connector заменён на MariaDB C Connector под лицензией LGPL.

Диаграммы

Удалена неработающая и неиспользуемая функция сохранения в формат ODC

Basic

В библиотеку basic Access2Base добавлена полная поддержка Firebird RDBMS

Общие/Ядро

Улучшения в строке для подписи, наименовании фреймов и отправке документов электронной почтой в формате OOXML
В поставку добавлен шрифт Source Serif Pro
Обновлены шрифты семейства Liberation

Справка

Онлайн справка получила быструю фильтрацию при поиске по ключевым словам, которая работает сразу при вводе и предлагает обновленные результаты при вводе каждого символа

Фильтры

Улучшена поддержка векторного формата EMF+ (используется в форматах документов МС Офиса)
Улучшена поддержка диаграмм из формата OOXML
Множественные улучшения в поддержке форматов PPT/PPTX
Улучшена поддержка современного шифрования документов в формате OOXML (docx, xlsx, etc)

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

Выведены из экспериментального режима новые варианты интерфейса на основе вкладок и лент (доступны из меню Вид->Пользовательский интерфейс->...)
Стандартные панели инструментов стали выглядеть одинаково во всех модулях
Доступны для использования значки в формате SVG (темы Breeze, Colibre, Elementary)
Были значительно доработаны темы значков Karasa Jaga, Elementary, Colibre
Исправили механизм персонализация для применения тем оформления Firefox в LibreOffice. Однако за день до релиза LibreOffice Mozilla Corp. изменили или сломали API для доступа к темам и теперь это опять не работает, как должно бы.
Контекстные меню во всех модулях были обновлены для более полного соответствия

LibreOffice Online

Онлайн версия получила многочисленные улучшения и оптимизации, включая поддержку HiDPI экранов

Локализация

Обновлены словари для проверки орфографии для бретонского, английского, французского, галицийского, индонезийского, норвежского, словенского, испанского, турецкого языков.

Устаревшие возможности/функционал

Бэкэенды vcl KDE4 и vcl GTK2 объявлены устаревшими и будут удалены в следующих версиях

Платформы

Версия LibreOffice 6.2 требует macOS версии 10.9
Бинарные 32-битные сборки LibreOffice для платформы Linux в последующих выпусках предоставляться не будут. Это не значит, что нельзя будет скомпилровать LibreOffice из исходного кода для 32-битной системы. Просто TDF не будет делать этого сам.
Добавлены два новых бэкэнда vcl qt5 и vcl kde5 

Android Viewer

Версия для Android получила несколько новых возможностей и исправлений ошибок

Более подробно обо всех изменениях можно прочесть на странице 

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

Разработка LibreOffice. Локализация интерфейса пользователя и справки

В настоящее время процесс локализации интерфейса пользователя LibreOffice на русский язык выглядит следующим образом:
Заходим на сайт https://translations.documentfoundation.org/
Нажимаем большую зелёную кнопку "Войти" и видим:
Если аккаунт уже есть, то вводим логин/пароль и входим, если нет, то жмём ссылку "Зарегистрироваться, как новый пользователь", появится следующее окно:
в котором нужно придумать себе логин (Имя пользователя), ввести адрес вашей работающей электронной почты, задать пароль, повторить пароль, установить галочку/флажок у опции (метка которой почему-то не локализована) "I agree to the privecy policy" и нажать кнопку "Зарегистрировать".
Далее вам покажут следующее окно (адрес почты конечно будет вашим):
Идем в почту, переходим по ссылке из полученного письма, чтобы подтвердить адрес почты и регистрацию.
Далее просто в первом окне вводим ваш логин и пароль и попадаем на собственно сайт:
Я зашел под своей учеткой, и у меня сразу выбран целевой язык "Russian". У вас язык может быть задан, как "Все языки". В этом случае щёлкните по этим словам и во всплывающем окне введите в единственное поле Russian и выберите его.
Обратите внимание на разноцветные строки с вполне говорящими названиями типа LibreOffice 6.2 - UI или LibreOffice 6.2 - Help. Это соответственно переводы интерфейса пользователя и справки. Числа справа по столбцам подписаны и это количество:
красное - критические (ошибки)
коричневое - предложения по переводам, которые ждут подтверждения от людей с правами подтверждать переводы
синее - не завершённые переводы (термины и предложения).
Справка сегодня находится просто в невменяемом состоянии. Кто захочет помочь с переводами - вери велкам, что называется.
На сегодня нас интересует перевод UI в версиях 6.2 и в master (это будущий 6.3 на сегодня).
В строке LibreOffice 6.2 - UI щёлкаем по числу на синем фоне "Не завершено" и попадаем непосредственно в интерфейс перевода:
По середине у вас будет большое поле для ввода перевода, над которым располагается непосредственно термин или фраза, которая перевода требует. Старайтесь переводить максимально понятно и максимально КОРОТКО.
В левой части при этом есть подсказка, какой именно термин и, где именно в исходном коде, переводится (а мы переводим по сути метки, которые заданы именно в исходном коде LibreOffice). Человеку, ориентирующемуся в исходниках LibreOffice - это реально может помочь понять контекст для более корректного перевода.
Справа от поля для ввода перевода находятся две связанные кнопки "Зафиксировать"<->"Предложить". У вас будет доступна для работы только "Предложить", которую и нужно нажимать после ввода перевода. После этого фрагмент перейдет в коричневый статус "Предложения переводов", нажав на которые люди с правами смогут подтвердить или исправить ваш перевод. Так что не бойтесь ничего испортить, вам просто не дадут ;-)
После нажатия кнопки "Предложить" система автоматически предложит вам следующий требующий перевода термин/фразу.
Также в правом верхнем углу показывается число оставшихся фрагментов для перевода и стрелки возле них "Вверх" и "Вниз". Нажимая на стрелки, можно пропускать фрагменты, если не знаете, как перевести.
Вернуться к списку проектов можно, нажав на синюю ссылку "Вернуться к просмотру".
Обратите внимание, что пока названия emoji мы не локализуем! В левой части, если видите такое слово, то термин просто пропускайте.
Это собственно всё! Каждый может зайти и предложить свой перевод! Спасибо заранее всем, кто захочет сделать LibreOffice лучше.

ps: в принципе, даже если система будет показывать, что все возможные фрагменты переведены, LibreOffice всё равно может оказаться без каких-то переведённых терминов. Но, это уже, либо отсутствие ID у термина, либо сбой слияния перевода при подготовке билда. Это явно не проблемы самого перевода, но сообщить о таком всё равно надо.

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

LibreOffice принимает теперь донаты и в криптовалюте

LibreOffice принимает теперь донаты и в криптовалюте. Если кому-то так удобнее, то теперь вы можете задонатить свой евро или пару в проект.

пятница, 4 января 2019 г.

Отчёт LibreOffice QA за декабрь 2018 года

TDF QA инженер Xisco Fauli опубликовал ежемесячный отчет о работе QA в проекте LibreOffice за декабрь 2018 года. По ссылке много разной информации и цифр.
Я обращу ваше внимание на две весьма показательные цифры из всего отчёта:
Подано отчетов об ошибках в декабре - 560.
Исправлено ошибок в декабре - 150.
Я не буду искать и вникать в то, насколько критичные ошибки были поданы в декабре и насколько критичные ошибки были исправлены в декабре. Вдумайтесь только в их количественное соотношение! Более чем в 3,5 раза ошибок новых заведено, чем было исправлено. И такое соотношение оно не только в декабре было. Оно ежемесячно сохраняется.
Это говорит об очень простой вещи. Проекту не хватает кодеров. Причем кодеров любого уровня и с самыми разными талантами.
Так что, если вы используете LibreOffice дома (абсолютно бесплатно) или на работе (опять же бесплатно, по своей воле или вам его навязал работодатель, который его с 99% вероятностью не купил), то вы легко сможете отблагодарить проект:
Персонально вы - можете найти программиста среди своих друзей или на просторах интернета, который за бутылку пива, хороший кофе, просто спасибо или некое вознаграждение исправит пару ошибок в LibreOffice.
Ваш работодатель - может сделать абсолютно то же самое. А может завести постоянную хорошую практику - платить какие-то деньги штатному/наемному программисту за исправление ошибок в LibreOffice, которые мешают именно его работникам.
О том, как зайти в проект и начать исправлять ошибки написано вот тут https://wiki.documentfoundation.org/Development и здесь https://wiki.documentfoundation.org/Development/GetInvolved

среда, 2 января 2019 г.

Макросы на Python в LibreOffice

Не все знают, что в LibreOffice можно использовать Python для написания макросов вместо Basic. Преимуществом будет в разы бОльшая производительность макроса. Недостатком - невозможность нормального написания и отладки макроса в IDE, встроенной в LibreOffice.
Самое первое, что нужно сделать, если вы захотите использовать Python для написания своих макросов (помимо знания самого Python'a) - это установить расширение APSO для возможности нормально управлять макросами, написанными на Python.
Второе - осилить вот эти статьи (на английском, к сожалению) и все ссылки с них на другие статьи: https://wiki.documentfoundation.org/Macros/Design_Guide, https://wiki.openoffice.org/wiki/Python.
Ах да, учитывайте, что LibreOffice таскает в своей поставке свой Python, уж не знаю какой версии. Однако, есть возможность использовать и внешний Python. Другое дело, что в этом случае будет возможность напороться на то, что ваш макрос на другом компьютере работать не будет из-за несовместимостей в версиях Python (я про 2.7 vs. 3.x).
По-хорошему, следовало бы развивать эту замечательную возможность в LibreOffice, начиная от приведения во вменяемый вид диалогов управления и организации макросов и внедрением в базовую поставку какой-нить простенькой IDE для Python, и заканчивая написанием полного хорошего руководства по написанию макросов на Python. Однако, к сожалению и как всегда, этим просто некому заниматься =(.
Update: иностранные товарищи подсказали мне, что внезапно они пишут справку по макросам на Python. Вот ссылка https://help.libreoffice.org/6.3/en-US/text/sbasic/python/main0000.html.

пятница, 28 декабря 2018 г.

QA в Libreoffice

Сокращение QA означает quality assurance, дословно - гарантия качества.
Команда QA - это часть сообщества LibreOffice, которая занимается тестированием LibreOffice. Обо всех ошибках пишутся отчеты на специальный ресурс проекта
Внимание! Если вы нашли ошибку в LibreOffice и не сообщили о ней в багзиллу проекта, то разработчики никогда не узнают о проблеме и никогда ошибку не исправят.
В связи с тем, что LibreOffice проект огромный и разносторонний, то и количество различных существующих ошибок в нём также огромное. По вот такой ссылке на сегодня выдается 13066 ошибок в статусе NEW (то есть ошибка в свое время была подтверждена и возможно до сих пор воспроизводится).
Примечание: также можно найти информацию об ошибках в статусе UNCONFIRMED (не подтвержденные). Таких ошибок ориентировочно около 500 штук всего, включая старинные отчеты, по которым либо нет единого мнения у людей, которые ошибки проверяли или имеются разные результаты, полученные в процессе проверки.
Вдумайтесь в цифру! 13 тысяч ошибок! Это действительно огромная цифра. Для обработки такого количества информации нужно такое же огромное количество человек.
И на сегодня перед командой QA в LibreOffice стоят такие первоочередные задачи, как:
1. Проверять ежедневно появляющиеся сообщения об ошибках на достоверность и повторяемость. Часто необходимо вытягивать информацию из пользователя, который прислал отчет об ошибке, задавая ему наводящие вопросы. Также желательно сразу сортировать ошибки, заполняя соответствующие поля. Ещё более желательно проверять новые воспроизводимые ошибки на предмет регрессии. Например, в LibreOffice 6.2 ошибка есть, а в 6.1 её не было. И тогда нужно выполнить операцию bibisect для того, чтобы определить коммит и разработчика, который регрессию в код внёс.
2. Самостоятельно тестировать ежедневные, альфа, бета и RC версии LibreOffice на предмет любых ошибок и писать на них отчеты в багзиллу проекта.
3. Перепроверять старые ошибки, по которым более одного года не было никаких сообщений. Это нужно для актуализации сведений об ошибке. Также бывает, что ошибка в последних версиях LibreOffice не воспроизводится и тогда её необходимо закрыть с соответствующим сообщением и указанием версии LibreOffice, в которой была проведена проверка. Список таких ошибок, кандидатов на перепроверку есть в вики проекта.
4. Каталогизировать ошибки по так называемым МЕТА. МЕТА - это по сути определенная категория ошибок, аналог каталога в файловой системе, куда складывают файлы по одной тематике. Все существующие МЕТА перечислены в вики проекта. Например, есть большое количество МЕТА для ошибок, связанных с форматом DOCX:
Разработчикам по таким МЕТА удобнее следить за ошибками по теме, в которой они разбираются.
Полная проверка одной ошибки, включая регрессионное тестирование в предыдущих версиях, и, если нужно, bibisect, может занимать от часа времени. Такие проверки в команде QA сейчас делают всего несколько человек. Огромное количество ошибок в багзилле просто подтверждаются, без какого-либо регрессионного тестирования.
Поэтому проекту LibreOffice нужны волонтёры, готовые потратить пару часов своего времени на тестирование ошибок в LibreOffice. Любая помощь приветствуется.
Команда QA всегда готова помочь вам. Есть IRC канал #libreoffice-qa в сети Freenode.net (нужна регистрация в связи со спам атаками в последнее время, ссылка для доступа через браузер https://webchat.freenode.net/?channels=#libreoffice-qa) и есть также Телеграм канал, связанный с IRC чатом в единое пространство, @libreoffice_qa (ссылка для доступа через браузер https://web.tlgrm.eu/#/im?p=@LibreOffice_QA). Каналы англоязычные. Если у вас проблемы с английским, то можете попросить помощи и на русском IRC канале https://webchat.freenode.net/?channels=#libreoffice-ru или Телеграм канале https://web.tlgrm.eu/#/im?p=@libreofficeru

воскресенье, 23 декабря 2018 г.

Панель цветов в LibreOffice Draw

В LibreOffice Draw существует очень полезная панель, позволяющая быстро назначать цвет нарисованной фигуре. Называется Панель цветов. Доступна она из меню Вид->Панели инструментов->Панель цветов. Выглядит она вот так (открывается в нижней части экрана):
В отличие от цветовой палитры на панели инструментов Форматирование, данная панель, если активирована, доступна всегда в нижней части экрана. Размер Панели цветов можно изменять по вертикали, от этого зависит, сколько оттенков цветов будет доступно. Плюс Панель можно временно скрыть, нажав на кнопку на разделительной линии.
А теперь главная фишка этой Панели цветов. Если выделить фигуру на рисунке, то при нажатии левой кнопкой мыши на цвете будет изменен цвет заливки области фигуры, а если по цвету щелкнуть правой кнопкой мыши - цвет линии границы фигуры! Это очень удобно.