суббота, 24 мая 2014 г.

Ошибка в программе LibreOffice fdo#74333

При разработке ветки LibreOffice 4.2 была допущена некритическая ошибка, из-за которой произошли несовместимость между версиями 4.1, 4.3 и 4.2 и потери данных при открытии и сохранении в 4.2. Данная заметка — небольшой разбор необходимых плясок и замечаний, для обеспечения совместимости между версиями LibreOffice и программой OpenOffice.

Ошибка была зафиксирована на https://bugs.freedesktop.org 1 февраля 2014 года. Суть ошибки в том, что LibreOffice Calc не правильно открывает сложные диаграммы (диаграммы со встроенными дополнительными объектами), из-за чего происходит потеря элементов. Эта ошибка имеет отношение только к самой диаграмме и к экспорту в расширение .odc, которым можно пользоваться для сохранения диаграмм в отдельный файл. Диаграмма со встроенными объектами, сохранённая в LibreOffice Calc 4.2, не будет правильно открываться в других ветках и в других свободных программах, таких как OpenOffice.
Надо заметить, что разработчики приняли решение не включать исправление в ветку 4.2, оно будет доступно только с ветки 4.3. Причина этого, вероятно, в том, что ошибка не является критической. Функция на сегодняшний день почти не востребована по своей малой пригодности для научных и бизнес целей.

Метод обхода ошибки

Методом обхода, а на самом деле более эстетичным, на сегодняшний день, способом создания диаграмм, является создание группировок объектов. То есть:
  • создаётся диаграмма, затем выйдя из редактора диаграмм создаются (отдельно от диаграммы) все необходимые элементы;
  • затем все объекты размещаются на свои места, используя диаграмму на заднем плане как фон;
  • после этого все элементы будущей диаграммы выделяются;
  • щелкнув правой кнопки мыши по выделенным объектам, выбирается пункт в контекстном меню «Сгруппировать».
При необходимости редактирования элементов такой группы нужно разгруппировать элементы (правой кнопкой мыши на группе → «Сгруппировать» → «Разгруппировать») или войти в группу (правой кнопкой мыши на группе → «Сгруппировать» → «Войти в группу»).После редактирования нужно выйти из группы, если был осуществлён вход в группу, или сгруппировать элементы, если группа была разгруппирована.
Минусом этого способа является невозможность экспортировать такую диаграмму в формат .odc и в файл изображения (штатными методами LibreOffice).
Однако он обладает и следующими плюсами:
  • возможность открыть и редактировать файл с диаграммой в ветках LibreOffice 4.1, 4.2, 4.3;
  • возможность открыть и редактировать в OpenOffice;
  • копировать диаграмму в другие документы, в том числе Writer и др.;
  • возможность пользоваться всеми элементами страницы, такими как формулы Math, рисунки и другие диаграммы.


Ошибка и метод обхода были протестированы на Lubuntu 14.04, Kubuntu 14.04, Debian Jessie LXDE, LibreOffice 4.1, 4.2, пререлизе, OpenOffice 4.1.