мая 14

Как рассказывает в своём блоге Thomas McGuire, тестовые версии KDEPIM будут выходить с задержкой относительно остальных компонентов KDE SC. Так, первая бета-версия выйдет не 26 мая, а 26 июня, т.е. чуть позже KDE SC 4.5 RC1.

Читать далее »

мая 03

На прошедшем в январе этого года KDE PIM meeting был анонсирован проект по портированию Akonadi и всех приложений KDE для работы с персональной информацией на мобильные устройства. В этом проекте принимают участие такие организации, как KDAB и Intevation, а также специалисты по шифрованию из G10Code и специалисты по юзабилити из Apliki (последние известны в сообществе KDE по тестам иконок KMail). Основными платформами являются Maemo и WinCE.

Уже имеются первые работоспособные прототипы, о которых рассказал в своём блоге Stephen Kelly, один из работников Intevation. Большая часть интерфейса написана на QML, для действий вроде развёртывания боковых панелей и прокрутки списка используются жесты. Вот так выглядит прототип мобильной версии KMail (все скриншоты можно найти в заметке Stephen):

Читать далее »

Апр 29

Всё ближе и ближе дата выхода долгожданной первой бета-версии KDE SC 4.5. Как и ожидалось, в этот раз у Plasma не будет такого же обширного и серьёзного списка изменений, как это было во время 4.4. Но всё же разработчикам есть, чем порадовать, а нам — о чём рассказать пользователям этой замечательного окружения.

Так, Фредерик Гладхорн (Frederik Gladhorn) анонсировал новую возможность, которой многим так долго нехватало, — показ событий KOrganizer в виджете «Календарь». Сам Фредерик написал Calendar DataEngine, дающий апплетам доступ к событиям  Akonadi, а Aaron Seigo добавил его поддержку в Календарь.

Уже имеются и первые скриншоты:

К сожалению, создавать события из виджета пока нельзя.

Тем временем, бразильский программист Bruno Abinader добавил в Plasma новый визуальный эффект Water, имитирующий водяные волны на поверхности указанного виджета. Увидеть эффект в действии можно на этом видео. А Marco Martin aka notmart поведал нам о ещё одной новинке — использование в Plasma свежеиспечённого Blur-эффекта KWin. В частности, во всплывающих сообщениях:

Всё тот же notmart анонсировал также несколько интересных изменений в Системном Лотке. Во-первых, создатели тем Plasma теперь могут указывать свои значки в трее вместо используемых приложением. Так, в показанной выше теме Air используются новые монохромные иконки. Эта возможность стала ещё одним плюсом, полученным от использования нового протокола лотка.

Во-вторых, скрываемые значки теперь показываются не в одной куче, вместе с остальными (что порой бывает неудобно), а в отдельном всплывающем меню (о чём коллега solshark уже писал). Это также добавит удобства тем, кто развёртывает трей только для каких-либо разовых операций (теперь им не нужно каждый раз опять скрывать значки). По крайней мере, с точки зрения разработчиков. :)

В-третьих, значок уведомления стал отдельным виджетом. По умолчанию он по-прежнему отображается внутри лотка (как встроенный апплет), но его можно легко отключить и добавить (или не добавлять) в любое удобное место. Сам виджет также получил новую возможность — удалённые уведомления. Достаточно разрешить удалённый доступ в диалоге настройки — и вот с других машин можно легко следить за Вашими задачами и уведомлениями. Версия KDE SC на удалённой системе также должна быть не ниже 4.5. Беспокоящиеся о безопасности могут настроить шифрование с доступом по паролю (возможно, в будущем также добавится фильтрация). Как обычно, notmart приложил демонстрационное видео.

Но не нужно думать, что разработчики KDE занимаются только красивостями и новыми возможностями! Замечательный человек по имени Michael Pyne исправил легендарную ошибку №182026, повинной в большей части падений Plasma (в частности, при смене темы) и других приложений. Корень зла находился в функции KPixmapCache::discard(), которая выполняет очистку и реинициализацию кэша, но при этом не использует никаких блокировок. Поскольку к одному и тому же кэшу одновременно могут обращаться множество процессов и потоков, отсутствие блокировок порой приводило к конфузам. Исправленная версия уже вошла в trunk и 4.4.2.

Однако, текущая реализация всё равно не устраивает Майкла, поэтому сейчас он вовсю работает над KSharedDataCache — новой, более правильной моделью работы с кэшем, которую мы должны увидеть либо в KDE SC 4.5, либо, скорее всего, в 4.6. Интересующиеся могут прочесть эту статью, где подробно описаны текущая реализация, её недостатки и причины создания новой KSharedDataCache.

Апр 20

Что вы знаете об Akonadi? Да, это как раз та самая система, которая позволяет хранить все данные в одном месте и организовать более удобный доступ к ним для различных приложений. Пока что преимущества от его использования могли быть заметны только в KAddressBook, где Akonadi стал хранилищем данных по умолчанию. Работы по переводу всех компонентов Kontact уже ведутся и разработчики обещают полностью завершить портирование к выходу Набора приложений KDE версии 4.5. А пока что создаются всё новые плагины Akonadi, позволяющие синхронизировать данные со всевозможными сервисами.

Так, Риккардо Иаконелли с радостью сообщает о выходе Akunambol версии 0.1, приложения для синхронизации данных между Akonadi и сервером SyncML. Вас замучила проблема резервного копирования записной книжки и календаря? А хотите ещё и синхронизировать ваши контакты и список запланированных дел с вашим мобильным телефоном, iPod Touch, аккаунтом Google и вашим рабочим окружением KDE? Всё это будет возможно с помощью Akunambol.

Читать далее »

Мар 29

Вот уже который год идут споры вокруг Akonadi и выбранным им в качестве основного хранилища MySQL. Многие считают эту БД слишком тормозной и тяжеловесной и предлагают заменить её на более лёгкий SQLite — причины, по которым разработчики этого не сделали, мы обсуждали в отдельной заметке. И вот, последние нововведения в SQLite, связанные с лучшим поведением при обработке параллельных запросов, позволили разработчикам написать к нему работоспособный (как минимум, на уровне unit-тестов) бэкенд для Akonadi.

Бертьян Бруксема (Bertjan Broeksema) решил сравнить производительность этих бэкендов, замеряя время создания, изменения, получения и удаления элементов. Причём изучалась зависимость как от количества элементов, так и от «полезной нагрузки» (на итоговых графиках указаны по оси абсцисс в формате <количество>-<объём>). Помимо вышеназванных, Бертьян также протестировал postgresql-бэкенд и новый бэкенд файловой системы (akonadi-fs), рассчитанный на работу с большими объёмами данных.
Читать далее »

Фев 12

Время от времени в холиварах про KDE и Akonadi разработчиков последнего часто пинают за то, что они заставляют пользователей устанавливать полновесную СУБД, вроде MySQL или PostgreSQL вместо легковесного Sqlite. Virtuoso, который используется начиная с KDE SC 4.4, многие также считают слишком тяжеловесным. Как говорят противники Akonadi, разработчики последнего отмели Sqlite без всяких видимых причин, используя аргументы вроде «мы не умеем работать ни с чем, кроме MySQL» и «не будем и всё». При этом, в частности, упоминается вот этот комментарий в рассылке debian-russian.

Действительно ли разработчики Akonadi даже не рассматривали Sqlite? На странице проекта в Techbase говорится об обратном:

Почему не используется sqlite?

Мы пытались. Правда. Он не очень хорошо обрабатывает параллельный доступ к данным, что в лучшем случае ведёт к медленной работе, но у нас также случались блокировки (deadlocks) и ошибки транзакций. Как только это будет исправлено в sqlite, изменить Akonadi для его использования не составит проблем

Об этом же писал один из разработчиков Akonadi в рассылку kmail-devel ещё в октябре 2006-го года. Лично мне кажется, что за прошедшие с того времени годы им уже банально надоело отвечать на вопросы об SQLite.

Собственно, в разделе часто задаваемых вопросов на сайте Sqlite пишется следующее:

Несколько процессов могут открывать одну и ту же базу данных одновременно. Несколько процессов могут совершать операции SELECT одновременно. Но только один процесс может модифицировать базу данных. [...] Если в вашем приложении часто возникает необходимость в параллельном доступе к базе, вам стоит рассмотреть возможность использования клиент-серверной СУБД.

Akonadi изначально предназначен для того, чтобы предоставлять доступ к данным (в том числе и на запись) нескольким приложениям одновременно, и sqlite просто не проектировался для таких задач.

Конечно, если речь идёт о мобильных системах, то требования к параллельному доступу не такие критичные, в то время как ограниченные ресурсы не позволяют отдать на откуп Virtuoso 80-100 мегабайт памяти. Существует проект мобильного порта Akonadi, в котором как раз и используется sqlite, но он, к сожалению, развивается довольно медленно — последнее изменение датировано июнем 2009-го года.

Янв 28

К выходу KDE SC 4.5 летом этого года планируется завершить портирование всех PIM-приложений (почта, календарь, заметки и т. д.) на Akonadi. Среди прочего, это облегчит поддержку различных groupware-серверов, поскольку реализовав один раз Akonadi-плагин, нет необходимости даже вносить изменения в клиентские приложения на его основе.

Один из таких серверов, Open-Xchange, поддерживался ещё в приложениях KDE3, а теперь соответствующий плагин был создан и для Akonadi. Вот так, например, выглядит календарь, открытый в веб-интерфейсе Open-Xchange и этот же календарь, синхронизированный с KOrganizer:

ox_korganizer

Дек 29

В планах разработчиков Akonadi — избавиться от тяжеловесных зависимостей, и перейти на хранение данных в Virtuoso (который также используется в Nepomuk). Пока что это, к сожалению, невозможно, и по умолчанию используется MySQL. В то же время, у MySQL есть убеждённые противники, а потому в последние несколько месяцев была реализована возможность использования PostgreSQL. До недавнего времени это требовало ручной конфигурации PostgreSQL-сервера, но буквально сегодня Tobias «tokoe» Koenig добавил в trunk возможность использования сервера без предварительной настройки (как это сейчас реализовано для MySQL — Akonadi запускает отдельную копию PostgreSQL-сервера, и автоматически конфигурирует его на использование отдельного каталога с данными).

Для того, чтобы воспользоваться этой возможностью, необходимо скомпилировать свежий Akonadi из SVN, и придать $HOME/.config/akonadi/akonadiserverrc следующий вид:

[%General]
Driver=QPSQL

[QPSQL]
StartServer=true 

На некоторых дистрибутивах Akonadi может не найти исполняемый файл PostgreSQL-сервера, но в ближайшее время это будет исправлено.

Авг 24

Не пугайтесь акронимов в заголовке, просто Gary Greene начал работу над полной (по возможности) поддержкой Exchange для персонального информационного менеджера KDE, о чём и сообщает в своём блоге.
Основным мотивом послужило желание избавиться от необходимости иметь дело с Outlook и Entourage с одной стороны, и Evolution — с другой.

MAPI (Messaging Application Programming Interface) можно перевести как «прикладной программный интерфейс почты», и его поддержка — это опция номер один, если вы хотите, чтобы ваш почтовый клиент умел общаться на равных с сервером Microsoft Exchange.

MAPI на своём веку повидал множество изменений, и является трудной, активно маневрирующей целью для F/OSS-проектов, пытающихся обеспечить совместимость с этим протоколом. Одним из таких проектов является библиотека Openchange: её интеграцией с KDE PIM и будет заниматься Gary. Openchange, как реализации сервера Microsoft Exchange под управленим Unix, активно используется в Evolution, почтовом (и не только) приложении для среды GNOME.

Будет совсем не лишним, особенно для бизнес пользователей, иметь схожий уровень интеграции и в среде KDE.

Детали реализации поддержки MAPI

  1. Основная цель — 100% паритет с Outlook в плане поддержки MAPI: Почта, Контакты, Календарь, Заметки, Журнал, Общие Папки, Задачи и Проекты.
  2. Использование или неиспользование библиотеки openchange для реализации всего этого списка будет определяться на основе тестов и полноты функциональности.
  3. Работа не будет вестись с нуля: за основу берется код, начатый в 2007 Brad Hards и доработанный Alan Alvares в рамках GSoC 2008.
  4. Это будет Akonadi-ресурс, общающийся с Exchange-сервером на Extended MAPI/RPC, а с сессионным демоном Akonadi посредством D-Bus.
  5. Где необходимо, будут задействоваться различные библиотеки проекта Samba4, чтобы мимикрировать под Active Directory-бэкенд Exchange-клиента, но по возможности, предпочтение будет отдаваться LDAP.
мая 31

В мире информации необходимы как эффективные методы обмена ей, так и способы ее хранения. В каждой современной системе используется несколько различных СУБД, каждая из которых обладает своими достоинствами и была выбрана для удовлетворения определенных нужд. Однако, разнообразие в форматах порождает проблему совместимости и совместной работы с ресурсами. Чтобы решить проблему дублирования данных и несовместимости форматов, был начат проект Akonadi — четвертый из рассмотренных нами столпов KDE4.

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

Читать далее »