zoukankan      html  css  js  c++  java
  • 通向KDE4之路(十七):KDE PIM库和相干技术手段

     Troy Unrau

    KDE有大批的子项目已发达发展为复杂的项目,其中如KOffice、KDE-Edu等都取得了开源天下的普及好评,在这个时分,KDE PIM项目也已悄无声气地取得了业界承认,成为了一套适用的企业套件。今天我们先容的特征是强年夜的KDE PIM项目的类库及其从KDE 3.5.x以来孕育发作的改良,KDE PIM项目是KDE中诸多最为成功和波动的组件中的一个。有关细节,请一连阅读。


    KDE PIM(小我私家信息经管)团队已经波动地完成了他们的重要目的。其间取得的效果是,KDE PIM不像另外那些进入到KDE 4运用次第中的新技术手段那样频仍改良,实际上,许多KDE 4 PIM运用次第末了看起来都是由KDE 3.x中对应的次第直接移植曩昔的。目前,重要焦点已经转换到了将会在未来获得验证的技术手段,由于目前是冲破旧的API,引入新的API的机会,多么的机会并未几见。因此,我们已经开辟了大批的新库,而且重写了旧库。


    Akonadi


    Akonadi是KDE中新的存储后端,称呼意味迦南神话中代表公道的预言女神。它并不是真正的后端,只是一个通用的后端API,它可以有随意任性多个真正的存储处置方案完成,从纯文件到复杂的群件效力器。它撑持缓存,以是离线体例是隐含可用的,而不用思量数据理论上怎样存储和获取。


    它被以为是KDE中现存的本钱框架的替换,但是它还可以扩大KDE 3.x中不成用的数据范例范例。比方,Akonadi框架关于电子邮件、讨论人和日程表正如旧的框架那样十分有效,但是它还可以扩展大批另外有效的范例范例。Akonadi的杰出开辟职员,Volker Krause,关于即时静态(IM)日志的撑持倡议是十分有效的,由于多么就可以使从基于欣赏器的GoogleTalk中获取日志和从您的硬盘中存储的日志中盘问一样随意对付。固然,它会被缓存,用户不用每次都直接会晤GoogleMail就可以进行盘问。


    另外,Volker写到“Akonadi运用了一套完全和言语以及对象包有关的接口,它基于D-Bus而且是一种类IMAP的和谈,这使得它可以被那些没有跟尾到KDE/Qt库的非KDE软件运用。”这也就意味着您可以编写行使Akonadi优势的轻量级次第,而不用和整套KDE以及Qt库链接。这个D-Bus控制还可以用来会晤Akonadi中存储的数据,比方编写主动实行的脚本可能相似任务。


    这也就是说,Akonadi的一些部门和Qt以及KDE集成地十分好,尤其关于那些想要处置惩Akonadi中存储数据的运用次第的复制/粘贴和拖放等操作十分智能。比方,要是您拖动一个讨论人的称呼到一个文本文件中,您可以获得他们的姓名,由于这是文本文件独一可以大概邃晓的格局。要是您把它拖到一个日程表中,这个一样泛泛表可以很随意对付地识别它而且把它采用为一个讨论人的释放,而且一连讯问您可否要为这个讨论人部署一个约会等等。这些库撑持这个水平的集成,但是间隔这些次第取得它完全的优势,还需求一段工夫。


    关于存储,Akonadi仅仅受限于已经被编写好的插件。默许形态下绝年夜部门数据城市被存储在文件中,目前这部门已经根基完成,但是像处置惩运用一种SQL数据库可能相似的后端数据库之间的相干还没有完成。在夙昔,KMail、KNode以及另外,每一种关于数据的相干都不得不有它们自己的完成,而且平日运用的是运用次第特定的二进制格局。这些数据目前不成以大概很随意对付地共享。另外,Akonadi为如改良告诉多么的事项供给了“永远独一标识符”,这是为了可以大概完成有效的元数据盘问,比方NEPOMUK-KDE集成中会供给这一从命。Akonadi自己没有供给元数据索引,但是它是运用多么一种体式格局编写的,比方可以把现存体系和激活的随意任性存储后端跟尾起来。


    由于Akonadi是“范例范例中立的”,另外库不得不按照它们所撑持的每种类型而完成。在一些形态下,这些库必须按照现存的KDE 3.x的库重写(比方讨论人),而且在另外的形态下,需求一些假冒才干使现存的库正常任务(比方KCal、KMIME等等)。


    这里,我将再一次夸年夜虽然这个库会和KDE 4.0一同发布,但是KDE PIM运用次第将不需乞降这些新从命完选集成。在这一点上,依托底层任务而且确保API是完好的是复杂的,多么就不会障碍未来的KDE 4.x版本。我以为Akonadi的开辟是KDE PIM整个轮回中孕育发作的最年夜改良,而且年夜要关于KDE PIM的未来长期发展是相当重要的。


    Khalkhi


    Khalkhi是计划用来作为KDE 4中新的讨论人框架的,这个词来自乔治亚语中“人们”这个单词(它的发音目前还无法运用英语描摹,但是Friedrich已经在他的博客中作出了检修考试,在那里也有些有关这个技术手段的相当不错的先容。)它所收罗的大批新特征是现存的KABC所不克不及做到的,比方:


    • 它有一个组的不美看法,就是人和人之间的相干。人可以属于组。组可以属于另外组。NEPOMUK可以创造人和人之间的相干,多么就可觉得它的搜索和索引供给扶持匡助。
    • 在组某人之间共享属性。比方,要是您对许多人定义了一个共享的邮件地点,那么您可以一次为这些人改观此讨论人信息。
    • 基于插件的属性范例范例。您不会再被局限在KABC的代码所限制的讨论人信息,比方电子邮件地点等。您可以经过添加新的插件复杂地添加新讨论人信息范例范例。比方,添加一个字段,它对应着在线网站上地用户帐号(比方Flickr照片共享,可能Last.fm音乐材料等),然后它关于可以被一切运用讨论人的运用次第主动开放。
    • 增量更新。在KABC中,在任何孕育发作改良的时分,次第都不得不重新载入一切讨论人列表,要是关于复杂的讨论人列表,多么十分没有服从。Khalkhi可以以增量的情势处置惩这些改良,而不用重新载入。
    Khalkhi就是在另外库后面潜匿的一个小小的集成,而且年夜要在KDE 4.1发布之前才会让人人见到。要是您关于这一技术手段感兴味,而且想帮我们一把,您可以直接讨论Friedrich Kossebau,可能直接在IRC的#kontact频道上讨论。


    KitchenSync


    称呼没有改变,虽然它是一个全新的项目。正如Cornelius Schumacher所说,“它只是被叫做KitchenSync。它只是和KDE 3的KitchenSync名字一样,并没有共享另外任何对象。”


    KitchenSync是KDE顶用于同步的库和GUI,它完成了从大批不同的PDA以及相似设置配备摆设中取得数据的步伐。KitchenSync目前是基于OpenSync根柢根基构造之上的一个框架,界面完全来自于旧版本次第的移植。插件应该会更加波动而且目前由它们地点的OpenSync项目组维护。多么将会使KDE和另外项目受益,受益的体式格局和面向扫描仪的SANE笼统库是异常的体式格局。


    KDE PIM开辟职员Tobias Koenig说“目前由于插件来自于OpenSync项目,以是我们将会拥有更加通用,测试更双方面的一套插件。独一需求移植到Akonadi的插件是OpenSync kdepim-sync插件。不外这个很快就会被完成”。OpenSync是和GUI有关的,目的是复杂地处置惩和设置配备摆设之间的数据通讯,这也就是说我们仍旧需求对话框来设置跟尾。荣幸的是,他说:“为了使完成更加复杂,一个以后(Google代码之夏)项目就是有关按照插件设置设置建立笼统描摹(XSD)的,因此这些设置对话框可以被主动建立。”


    KitchenSync已经为KDE 4供给了相当好的从命,但另有一点没有完成,在4.0发布的之前会完成的。


    邮件传输


    这是KDE 4.0中的一个新库。它素质上是一个集成库,用来共享电子邮件设置,相干于KDE 3.x,这是一种十分拙劣的体式格局。在KDE 3.x中,您不得不在每一个运用次第中拜别地设定您的邮件帐号。Volker Krause多么描摹它:“一个专注于邮件设置和发送的小型库。真正有意思的是它被KMail、KNode和Mailody运用,而且容许他们共享相反的设置(收罗要是你在一个运用中修正了他们,另外的也会即时更新)。目前正在企图对身份(identity)作出与之相似的改良(年夜要在KDE 4.0的时分还未完成)。”


    这个库将使电子邮件效力集成到另外运用次第变得更加随意对付,由于我们不需求每一个运用次第都知道电子邮件是怎样被发送的。它将会出目前KDE 4.0中已经存在的KDE运用次第中,但关于第三方运用次第也会有强年夜的促力。


    连系Syndication


    新库开辟职员正在剧烈接头有关处置惩大批的新的连系格局的问题,而且供给运用次第可运用新种子的一个新API。目前,它已经撑持常用的格局,其中收罗Atom、RSS2和RDF。以后添加新的格局将不会太难,而且正在运用连系的次第可以主动地感知它们。许多PIM的开辟职员以为连系应该是添加到KDE 4.0的kdepimlibs中最令人努力的特征。


    扫尾


    另有许多新的任务进入到KDE 4.x的PIM库中,其中一些年夜要不克不及实时到场4.0。在KDE 4.0发布的时分,许多KDE PIM运用次第尚无法更新到新库,但它们还会一连运用3.x库的移植版本。正如我后面所说的,KDE PIM的一个重要目的就是波动,而且在4.0发布中一连运用旧的库,您可以确保您至多有一个从命和3.x运用相反的可用PIM情况。不外,我们固然期待着将在KDE 4.0之后面世的KDE PIM将带来的全新的令人努力的内容。另外,KDE 4.0发布已经越来越近,期待一些专门讲述这些PIM运用次第的文章。


    末了,我再给人人说几句。本篇将会是由DOT消息发布的通向KDE 4之路的末了一篇文章,由于我正在迁移到一个新的领域,在那里,我将把KDE推向到科技天下中更加辽阔的领域。我还不克不及流露一切的具体细节,但是我担保这些文章仍会在DOT中保存。这很好,由于DOT是一个完全开放的,不会修正评注的论坛,而且许多文章都曾酝酿了大批对开辟职员有理论意义的反响反响。下一篇文章将会是Krita可能Kate(还没有决意先来哪一个)。



    (Liang Qi)



    版权声明: 原创作品,容许转载,转载时请务必以超链接情势标明文章 原始来由 、作者信息和本声明。否则将究查执法责任。

  • 相关阅读:
    Cstring 和 const char* , unicode和ANSI编码 的一个具体应用(转)
    引用 CTreeCtrl中用右键选中item并弹出菜单的方法(转)
    Android 开发人员必须掌握的 10 个开发工具
    关于在线程中使用AfxGetMainWnd()出错的问题,终于找到了
    MFC CListCtrl的用法.Style/插入、删除、选中数据及排序问题等(转)
    vc++ 中的匈牙利变量表示法
    Android模拟器安装程序及上传音乐并播放
    关于CString总结(转)
    MSSQL优化之————探索MSSQL执行计划(转)
    抓虫系列(三) 不要轻视web程序中常用的三个"池" 之数据库连接池
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1974568.html
Copyright © 2011-2022 走看看