воскресенье, 31 июля 2016 г.

Проблема слоев и управления объектами в LibreOffice Draw. Новый Навигатор

Разработчики из команды дизайна опубликовали интересный пост о своём видении проблем в управлении объектами в Draw и о том, как нужно улучшить в связи с этим Навигатор. Мой немного вольный перевод ниже.
Как Навигатор может помочь в управлении объектами в LibreOffice Draw
Управление различными объектами имеет большое значение для LibreOffice Draw, особенно в случае, когда рисунок или схема становятся сложными, с большим количеством объектов и групп, размещённых на разных слоях с тщательно проработанным порядком.
Улучшения для работы со слоями пользователи просят не только в прошедшем недавно опросе о Draw, но также в запросах на улучшения в LibreOffice в багзилле проекта. Метабаг #99648 собирает в себе все ошибки и запросы относительно слоев в Draw.
Есть также много запросов об улучшении выделения объектов и их организации. Например, как привязать несколько объектов, легко выбрать пересекающиеся объекты, как визуализировать мульти-выбор и уметь находить фигуры по атрибуту или формату. Метабаг #100155 собирает в себе улучшения по выделению объектов и их выравниванию.
Этот текст направлен на решение указанных вопросов путем расширения возможностей Навигатора.
Текущее состояние
В то время, как имеются запросы от пользователей на улучшение работы со слоями, многое зависит от того факта, что стандарт ODF, и, следовательно, LibreOffice, обрабатывает слои отлично от других программ. Формат файла SVG не имеет определения «слой», но программы, работающие с SVG, такие как Inkscape, определяет слой, как «тип группы объектов», а порядок слоев влияет на то, какие объекты появляются над другими. Спецификация ODF говорит также «Слои группы рисованых объектов. Назначение фигуры слою не меняет его порядок рендеринга, как это определено его атрибутом draw:Z-index». Из Руководства LibreOffice Draw: «Слои в LibreOffice Draw позволяют собрать связанные элементы на странице рисования .... Слои не определяют порядок расположения объектов на странице рисования ...».
Таким образом, наше первое предложение – переименовать существующие в Draw слои во что-то вроде «коллекции», чтобы устранить недоразумение, которое сейчас существует, потому что текущие «слои» не влияют на порядок наслоения объектов.
Объекты имеют порядок появления в рисунке, который определяет последовательность, в которой они выбираются при нажатии клавиши Tab (если не менять вручную расположение объектов по оси z). Они также имеют порядок наложения, который определяет, какие объекты появляются над другими (также известный как z-порядок), а также информация об их принадлежности к группе и «слою» (коллекции) — и все полностью независимы друг от друга. Благодаря этой «гибкости», объекты могут быть сгруппированы по различным слоям / коллекциям, которые усложняют структуру рисунка.



Слои / коллекции представлены сегодня в панели вкладок в нижней части области просмотра документа. На рисунке 1, два слоя / коллекции названные Circles и Rectangles содержат соответствующие фигуры. В Навигаторе перечислены именованные фигуры и группы. Обратите внимание на то, что желтые и синие объекты сгруппированы, находясь при этом в разных слоях / коллекциях.
Навигатор не обеспечивает взаимодействие с объектами, за исключением выделения двойным щелчком, если объект имеет определенное пользователем имя (ошибка #62851). Тем не менее, выбор объекта не приводит к соответствующему выбору в Навигаторе. Панель инструментов над деревом объектов используется для навигации по страницам (хотя всплывающие подсказки говорят: «слайд») и показывает или все фигуры, или только фигуры имеющие имена. В выпадающем списке, расположенном ниже дерева объектов, перечислены открытые документы. Список позволяет пользователям просматривать структуру альтернативного документа, выбрав его имя.
Групповое выделение возможно в области документа при нажатой клавише Shift, однако аналогично одиночному выделению, этот факт не отображается в Навигаторе. Выбор через стопку объектов осуществляется с помощью нажатия клавиши Alt (или Shift + Alt для обратной последовательности).
Для управления «слоями» / коллекциями есть контекстное меню, которое становится доступно при щелчке правой кнопкой мыши на панели вкладок.
Предложения пользователей
Пара участников-новичков в команде дизайна, Benjamin и Eve, хотели бы иметь следующее:
Benjamin хочет иметь возможность:
  • добавлять объекты, чтобы создавать рисунок.
  • удалять объекты, которые не требуются.
  • группировать объекты, чтобы расположить их вместе.
  • легко изменять порядок расположения объектов не покрывая определенный объект.
  • блокировать объекты, чтобы убедиться, что они остаются в указанном месте.
  • переименовывать объекты, чтобы сделать их легко узнаваемыми.
  • осуществлять поиск по имени объекта в больших рисунках.
  • загружать старые рисунки, сохраняя полную обратную совместимость.
Eve хочет иметь возможность :
  • доступа ко всем свободным коллекциям, чтобы создавать современные рисунки.
  • поиска по атрибутам, чтобы искать объекты по их свойствам.
  • скрывать коллекции, которые в настоящее время не актуальны и отвлекают внимание.
  • запретить печать / экспорт коллекций, что поможет на этапе подготовки.
  • выбирать все объекты в коллекции, чтобы выборочно модифицировать множество объектов.
  • использовать клавишу TAB для доступа к содержимому чертежа без использования мыши.
Предложение
Основная идея состоит в том, чтобы иметь все возможности для размещения и выделения объектов в одном месте, в Навигаторе.
Простой режим
В этом режиме по умолчанию в списке Навигатора отображаются все объекты, а не только тогда, когда имя объекта было изменено пользователем. Первый созданный в рисунке элемент является самым верхним в порядке «укладки» и группе обозначения иерархического отступа. Выбор объектов в области рисования выбирает соответствующие элементы в Навигаторе и наоборот, как для одиночного, так и для мульти-выбора. Дерево ведет себя так же, как в обозревателе файлов: одним щелчком мыши выбирается элемент, нажатие на кнопки Ctrl / Shift + щелчок мышью выполняют множественный выбор, двойной щелчок запускает функцию по умолчанию, которой является Переименование. Контекстно зависимое меню предоставляет доступ ко всем связанным функциям. В меню будет пункт «Зафиксировать положение» и «Свойства» для быстрого доступа к свойствам объекта и фиксирования положения и размера объекта.


Перетаскивание объектов в дереве поддерживает группировку и сортировку: когда объект перетаскивается на другой объект – они будут сгруппированы. Если он помещается между объектами, то просто перемещается в это положение, изменяя порядок расположения (и будет разгруппирован, если ранее был в группе). Нажатие клавиши Shift во время перетаскивания дублирует объект.
Разработчики должны позаботиться и о 3D-сценах (например, сферы, кубы, или преобразованные в 3D объекты): должно быть возможным перемещение объектов между сценами, так же, как обычных фигур, однако не между группами.
Экспертный режим
Коллекции и объекты являются видимыми в экспертном режиме и иерархическое представление сохраняется в контексте текущей страницы.


Из названия должно быть понятно с какой коллекцией связаны объект или группа (контекстное меню является хорошим местом, чтобы переключить эту подсказку или выключить). Помещение объекта в коллекцию заменит текущее поведение – перетаскивание объекта на вкладку соответствующего слоя. Коллекция предоставляет функциональные возможности для своих объектов, чтобы настроить видимость, блокировку от редактирования, и частичный вывод на печать или экспорт (последняя функция будет новая ).
В ходе обсуждения мы рассматривали, чтобы эти возможности были также доступны для объектов и групп, но делать это – значит расширять спецификацию ODF (с чем есть некоторые проблемы), но, что ещё более актуально – это делает лёгкий доступ менее лёгким. Другая проблема – мы будет иметь в результате неопределенное состояние: коллекция может быть скрыта, а входящий в коллекцию объект настроен быть видимым.
Контекстное меню должно быть разработано очень тщательно, и функции, которые не имеют отношения к текущему выделению, должны быть отключены. Например, группа не имеет отношения к коллекции, поэтому пункт меню «Выбрать все в текущей коллекции» будет отключен. Но когда меню относится к объекту «Желтый круг», оно может предоставить  функцию, которая позволит, например, выделить все круги.
Поиск / фильтр
Фильтр должен сделать поиск в больших рисунках более удобным. Когда, например, при вводе в фильтр букв «Прям» все объекты, которые не содержат этот текст в своих именах, будут скрыты. Кроме того, поиск может быть сделан в расширенном режиме с комбинацией ключей-значений, таких как: Тип: прямоугольник, Цвет: красный, Цвет линии: # 00FFAB или Стиль линии: пунктирный, подобно тому, что сделано в Google. Управляющий элемент должен обеспечивать автозаполнение характеристик для оказания помощи в поиске.
Обобщение
Данная концепция не ограничивается коллекциями и объектами в Draw. Навигатор представляет собой очень мощный виджет, и он не должен быть ограничен только визуализацией содержания. Он должен вести себя, как обычные древовидные виджеты с  взаимодействием с элементами и опциями контекстного меню, вместо неуклюжей панели инструментов. Навигатор должен быть усилен вкладками (реализованными в виде реальных вкладок или, как небольшие кнопки переключения), дающих доступ к различным видам документа.
Поиск является ключевой и мощной функцией, что позволяет Вам искать элементы с определенным стилем, типа Стиль: Текст, или для комментариев, когда эта вкладка активна, Дата: Вчера.
Панель страниц в Draw, а также панель слайдов в Impress будут признаны устаревшим (или, скорее, заменены альтернативными), так как в Навигаторе на вкладке страниц будет обеспечен просмотр эскизов документа. Пользователи будут все еще иметь возможность повторной активации панелей, которые используются для этого.



В Writer заголовки отделены от других объектов, таких, как таблицы, рисунки и т.д., страница с миниатюрами предварительного просмотра добавлена для совместимости с другими модулями, а также, в качестве примера, показанного на рисунке 4, показаны комментарии.
Итоги
Для решения проблем со слоями (которые мы предлагаем переименовать в «коллекции») и управлением объектами в LibreOffice Draw, мы предлагаем улучшить Навигатор, делая элементы интерактивными, и, получая простой и экспертный вид. Новый пользовательский интерфейс Навигатора разработан в чиста последовательной концепции и с добавлением нескольких удобных функций.
Мы долго и упорно обсуждали идею простоты. Макеты на рисунках выше не имеют панели инструментов (в отличие от загроможденного Навигатора в текущей версии LibreOffice 5.1) и все функции доступны в контекстном меню. Некоторые люди в команде дизайна хотят сохранить панель инструментов в Навигаторе, чтобы обеспечить прямой доступ к важным функциям управления, таким, как дублирование элементов, а также настройки их взаимного расположения и удаления.
А что вы думаете? Вы предпочли бы использовать простой или экспертный режим Навигатора, и почему?

пятница, 29 июля 2016 г.

Выпуск LibreOffice 5.2 RC4

Разработчики опубликовали сборки (прямо сейчас доступны только для macOS, в течение суток будут доступны и для всех остальных платформ) четвёртого кандидата в релизы LibreOffice 5.2. Скачать, как всегда, можно вот отсюда http://dev-builds.libreoffice.org/pre-releases/ для Linux (rpm,deb), Windows и Mac OS X (выбирайте те файлы, в которых номер 5.2.0.4). Если есть желание, то можно и собрать самому, исходный код лежит вот здесь http://dev-builds.libreoffice.org/pre-releases/src/
По сравнению со третьим релиз кандидатом было исправлено некоторое, незначительное количество багов. Вот ссылка на лог-файл.
По хорошему - это последний релиз-кандидат, следующим выпуском будет уже официальный релиз LibreOffice 5.2.
Не постесняюсь и повторюсь в какой уже раз, что русскоязычное сообщество начало проверку качества локализации LibreOffice 5.2. Вот тема на форуме http://forumooo.ru/index.php/topic,5715.0.html. Все желающие приглашаются к сему действу. Можно просто использовать офис версии 5.2 по его прямому назначению и замеченные недопереводы из интерфейса скриншотить и выкладывать на форум в указанную тему. А можно обратиться к создавшему тему bormant'у и он расскажет, как можно самому вносить правки в файлы локализации.

среда, 20 июля 2016 г.

Выпуск LibreOffice 5.2 RC3

Разработчики опубликовали сборки третьего кандидата в релизы LibreOffice 5.2. Скачать, как всегда, можно вот отсюда http://dev-builds.libreoffice.org/pre-releases/ для Linux (rpm,deb), Windows и Mac OS X (выбирайте те файлы, в которых номер 5.2.0.3). Если есть желание, то можно и собрать самому, исходный код лежит вот здесь http://dev-builds.libreoffice.org/pre-releases/src/
По сравнению со вторым релиз кандидатом было исправлено некоторое, незначительное количество багов. Вот ссылка на лог-файл.
Не постесняюсь и повторюсь в третий раз, что русскоязычное сообщество начало проверку качества локализации LibreOffice 5.2. Вот тема на форуме http://forumooo.ru/index.php/topic,5715.0.html. Все желающие приглашаются к сему действу. Можно просто использовать офис версии 5.2 по его прямому назначению и замеченные недопереводы из интерфейса скриншотить и выкладывать на форум в указанную тему. А можно обратиться к создавшему тему bormant'у и он расскажет, как можно самому вносить правки в файлы локализации.

вторник, 19 июля 2016 г.

Режим отображения документов в LibreOffice без изображений и диаграмм

Небольшой, но очень полезный хинт. Если у вас в документе есть много изображений, то при редактировании и пролистывании отрисовка документа будет явно притормаживать и дергаться. Это весьма сильно раздражает. Так вот, в меню "Вид" есть пункт "Изображения и диаграммы", выбор которого включает или отключает отображение этих самых изображений и диаграмм в документе. Сами картинки никуда не пропадают, а на их месте показывается граница изображения и документ при этом намного комфортнее редактировать или читать (если картинки не требуются).
Вот как это выглядит:
Обратите внимание, верхнее изображение было просто вставлено и встроено в документ, а нижнее было добавлено в виде связи и поэтому для него отображается путь к изображению.
При этом при печати на бумаге или экспорте в PDF изображения будут отображаться в нормальном виде.

пятница, 15 июля 2016 г.

Новые возможности в LibreOffice Calc 5.2

Мне тут подкинули ссылку на видео с коротеньким скринкастом новых фич в LibreOffice Calc 5.2 и я подумал, красивый видосик, однако на английском мало кто у нас понимает, так почему бы не сделать то же самое, но на родном, великом и могучем русском языке? Однако, так как RecordMyDesktop мне осваивать сегодня лень, я запилил просто субтитры к исходному видосу и выложил вот тут. Прошу оценить =)

Режим одной панели инструментов в LibreOffice 5.2

Собственно я уже писал о таком видении разработчиками интерфейса пользователя LibreOffice, при котором вместо обычных двух панелей инструментов на экране будет только одна, но напичканная самыми самыми часто используемыми функциями и возможностями. Это в наш век широкоформатных мониторов экономит пространство по вертикали. В принципе я попробовал их использовать и таки да, этого мне вполне хватает для повседневной простой работы. Что мне не понравилось в текущей реализации, так это то, что изначально это было позиционировано, как Режим! А понятие режим подразумевает переключатель из одного вида (с двумя панелями) в другой (с одной панелью). Так это и озвучивалось в самом начале, когда Юсуф это все начал пилить. Однако, в настоящий момент, чтобы сделать себе режим одной панели инструментов, нужно ручками в меню Вид > Панели инструментов включить Стандартную (однострочную) панель, а Стандартную панель и панель Форматирование отключить (доступно для Writer и Calc). А сегодня Юсуф в ответ на вопрос "а где же переключатель?" заявил, что "он надеется (!), что в LibreOffice 5.3 он его реализует, а пока ручками-с".
Я уже не в первый раз вижу, как разработчики бросают на полпути реализацию новых фич или изменений в интерфейсе. Они начинают, им интересно, даже доходит до реализации в каком-то виде, а затем то ли интерес затухает, то ли просто такое отношение к разработке и безответственность, я не знаю. То ли просто нужен лидер, реальный и уважаемый лидер разработки, который будет такие вещи отслеживать и попинывать или как-то уговаривать разработчиков доделать и не бросать свой код. Я понимаю, что разработчики очень часто пишут код для LibreOffice безвозмездно и "в опенсорце никто никому ничего не должен", однако это не значит, что такой незавершенный код или функционал должны попадать в релизы. Можно же начать писать код и оставить его потомкам, а впоследствии кто-то другой придет и допишет, или третий кто-то или пятый. Но при этом будет реализована полная функциональность, а не недоделанный кусок. Ей богу, тошно уже от этой девелоперской анархии...

Чудеса разработки и чудесатые разработчики LibreOffice

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

среда, 13 июля 2016 г.

Выпуск LibreOffice 5.1.5 RC1

Разработчики опубликовали сборки первого кандидата в релизы LibreOffice 5.1.5. Скачать, как всегда, можно вот отсюда http://dev-builds.libreoffice.org/pre-releases/ для Linux (rpm,deb), Windows и Mac OS X (выбирайте те файлы, в которых номер 5.1.5.1). Вообще говоря, разработчикам следовало бы уже почистить этот каталог, там уже куча всего скопилась.
По сравнению с версией 5.1.4 были исправлены некоторые ошибки, в том числе несколько критических. Вот ссылка на лог файл http://dev-builds.libreoffice.org/pre-releases/src/bugs-changelog-libreoffice-5-1-5-release-5.1.5.1.log.
В связи с тем, что это всего-то RC1 версии 5.1.5, то обновляться на него необходимо только тем, кто испытывал какие-то проблемы с версией 5.1.4 или более ранними. Остальным можно абсолютно спокойно ждать официального релиза версии 5.1.5.

пятница, 8 июля 2016 г.

Исправление ошибок в установке и запуске LibreOffice 5.2 на ОС Windows XP

В прошлом посте я писал, что во втором релиз кандидате LibreOffice 5.2 разработчики исправили ошибки в работе и установке LibreOffice 5.2 на Windows XP. Как оказалось, исправили они ошибки не до конца и не все (это видимо целый комплекс проблем ... ну или разработчики банально врут, потому что им стыдно за эти ошибки), а окончательный фикс попадет уже в третий релиз кандидат. Озвучил это Кристиан Лохмайер, человек, который заведует в инфраструктуре The Document Foundation созданием установочных дистрибутивов и пакетов под разные операционные системы. Подождём, твою сборку...

четверг, 7 июля 2016 г.

Выпуск LibreOffice 5.2 RC2

Разработчики опубликовали сборки второго кандидата в релизы LibreOffice 5.2. Скачать, как всегда, можно вот отсюда http://dev-builds.libreoffice.org/pre-releases/ для Linux (rpm,deb), Windows и Mac OS X (выбирайте те файлы, в которых номер 5.2.0.2). Если есть желание, то можно и собрать самому, исходный код лежит вот здесь http://dev-builds.libreoffice.org/pre-releases/src/
По сравнению с первым релиз кандидатом было исправлено некоторое количество багов. Вот лог для желающих почитать непонятные аббревиатуры http://dev-builds.libreoffice.org/pre-releases/src/bugs-changelog-libreoffice-5-2-release-5.2.0.2.log. Самое главное в этом логе - это исправление проблем при установке и запуске LibreOffice 5.2 на ОС Windows XP. Разработчики отписали, что дропать поддержку Windows XP намеренно пока не входит в список приоритетов разработки LibreOffice. И так как пока доля компьютеров с ОС Windows составляет примерно 10%, поддержка таковой в LibreOffice будет оставлена.
Разработчики просят всех желающих помочь проекту (и самим себе в первую очередь), установить эту сборку и потестить её на наличие ошибок в ваших повседневных задачах, а также потестить установку и работоспособность сборки на Windows XP.
Повторюсь, что русскоязычное сообщество начало проверку качества локализации LibreOffice 5.2. Вот тема на форуме http://forumooo.ru/index.php/topic,5715.0.html. Все желающие приглашаются к сему действу. Можно просто использовать офис версии 5.2 по его прямому назначению и замеченные недопереводы из интерфейса скриншотить и выкладывать на форум в указанную тему. А можно обратиться к создавшему тему bormant'у и он расскажет, как можно самому вносить правки в файлы локализации.

понедельник, 4 июля 2016 г.

Функция IFERROR в LibreOffice Calc. Что это и зачем это нужно

Функция IFERROR является одним из обработчиков внутренних ошибок электронных таблиц при расчётах в LibreOffice Calc. Что это значит? Это значит, что, если в ячейке в результате расчёта получается какая-либо внутренняя ошибка Calc (типа "Деление на ноль"), то функция IFERROR обработает такое событие и в ячейку запишет не код ошибки, который мешает производить дальнейшие действия с этой ячейкой, а заданное пользователем значение, будь то число или текст. Это очень удобно в том случае, если у Вас есть большая таблица, в которой исходные данные задаются последовательно и Вы, как пользователь, заранее уверены или можете предположить, что в некоторых ячейках обязательно будут ошибки (из-за того же деления на ноль), которые будут мешать обрабатывать результаты вычислений в целом по таблице. Приведу пример.
На рисунке ниже приведена абсолютно обычная табличка, в которой считается средняя цена одной единицы продукции на основе имеющихся данных о сумме выручки и количестве товара:

Цена за единицу в ячейке Е2 рассчитывается по простой формуле =ROUND(C2/D2;2) (функция ROUND округляет значение в ячейке до заданного пользователем числа знаков после десятичной запятой). Соответственно в ячейках Е3, Е4, Е5 и Е6 в формулах меняются ссылки на исходные данные  построчно. Средняя цена (ячейка Е8) считается, как =AVERAGE (E2:E6). Всё хорошо, если все данные в таблице есть и они корректные (то есть число, а не текст, там, где должно быть число, и вообще в ячейках столбца "Количество" есть данные).
Что же будет, если данных не хватает:
Итак, мы видим ошибку типа "Деление на ноль", которая тянет за собой и ошибку в итоговой цифре "Средняя цена", ради которой всё и затевалось. Как вариант, при отсутствии данных, можно просто удалить строку с компанией "Абхазия-4". Однако, если она в дальнейшем опять понадобиться или данные по сумме от этой компании требуются где-то ещё в расчётах, то удалять строку нельзя. Вот тут и пригодится функция IFERROR:
Что мы сделали: в ячейках Е2...Е6, столбца "Цена за единицу", мы добавили в формулу расчета цены обработчик ошибок IFERROR. Получилась формула =IFERROR(ROUND(C2/D2;2);"нет данных") вот такая. В случае, если при вычислении получается ошибка, то функция отображает простой текст "нет данных", который, с одной стороны, является подсказкой для пользователя, что чего-то не хватает, а с другой стороны не мешает функции AVERAGE высчитывать среднее значение цены, потому что AVERAGE оперирует исключительно числами, а текстовые значения в расчёт не принимает. Поэтому в последнем примере средняя цена считается на основании данных от четырёх компаний, а не от пяти, и считается вполне корректно.
Обратите внимание, что функцию IFERROR можно было бы использовать и в ячейке, где считается средняя цена, то есть в Е8. Однако в этом случае её роль была бы исключительно уведомительной, в том плане, что вместо кода ошибки можно было бы указать пользователю, что он ввёл не все данные или ввёл их некорректно.