KDE一周提交摘要(2011/1/2)

csslayer | 2011/02/05

Digikam,Plasma和上面的小部件,Kate,Solid,KDE PIM,Calligra,Oxygen样式进行了Bug修复。libktorrent的bug修复包括了让它在D Link DIR 635路由上正常工作。KStars现在实现了运行时进行OpenGL和QPainter的切换功能。Marble的指南针和准星支持主题化。这周个工作还包括Cirkuit新的后端,Knights的在线游戏,KDevelop的Python解析器,Digikam文件的撤销和重做。“Net Usershare”支持被添加到KSambaShare中。Plasma现在有了一个新的KWelcomeWidget。Solid实现了新的usb://子系统。Rekonq增加了历史访问次数。和Krita滤镜有关的修改。Kaffeine的DVB支持相关的修改。Smb4k的新的特性和优化。Nuno Pinheiro主要工作是修改Oxygen图标集中的22×22的mimetype图标。

Granesh Paramasivam带来了KOffice/Calligra的”change-tracking”分支。

KOffice和Calligra当中的两个”change tracking”开发分支在KDE的SVN和Git中在过去的3个月内进行了不少开发,主要由KOffice和Caliigra的开发者Granesh Paramasivam完成。这些开发分支用于实现ODF Change Tracking格式。由于迁移到Git使得浏览Calligra的历史变得暂时有点困难,KOffice的在这个项目上的SVN历史可以在这里查看http://websvn.kde.org/branches/work/koffice-change-tracking/。Ganesh对这些分支的描述如下:

过去对于ODF文档对于跟踪修改的规范有很多缺点。一些用例并不能被ODF的规范支持:

  • 表格的修改
  • 删除行
  • 删除列
  • 横向和竖向的单元格合并
  • 横向和竖向的单元格拆分
  • 细节的格式修改:尽管规范标记了格式修改的开始和结束,但它并不能指名做了什么修改。如果一段文字从斜体改为了粗体,规范能确认修改的范围,但不能确认这些文本从斜体改为粗体。
  • 复杂的删除合并场景(例如删除一段当中的一部分和一个列表中的一部分)

由于规范对于这些从场景的缺失和不明确,这些场景处理的实现各种各样,使得包含这些修改跟踪信息的文档不可能被处理。之前KOffice的版本通过保存一些RDF的元数据来解决这个问题。通过使用RDF,KWord可以处理很多标准不支持的用例。但这样就导致了和其他的ODF实现之间的互操作性问题(例如OpenOffice)。

为了克服这些问题,DeltaXML(由NLNet赞助)正在制定一个新的格式用于存储这些修改跟踪信息来解决上述问题。这个新的格式被技术委员会提出要合并到ODF的规范当中去。

KOffice的Git代码库中的koffice/change-tracking分支,和Caliigra代码库中的words-change_tracking-ganeshp分支是主要用于实现这个提出的新修改跟踪标准的。这部分实现同样也得到了NLNet基金会的赞助。这部分工作的目的是:

  • 测试标准的实现上的可行性
  • 有一个可以工作实现作为其他实现的参考。
  • 为KWord和Caliigra Words带来一个可互操作的鲁棒的修改跟踪特性。

由于KOffice的KWord和Caillgra的Words来源于同一个项目,这使得可以为两个fork同时实现这一特性。这里有一个这个实现将要支持的用例列表。

现在一个新的子委员会已经成立,来讨论和确定一个独立的修改跟踪标准。

来源:

http://commit-digest.org/issues/2011-01-02/

Tags:

2 FEEDBACKS

  1. kdevelop支持python了?GJ啊。

  2. Calligra 2.4 Snapshot 1 发布及测试 | I, KDE

Leave a Reply

Your email address will not be published. Required fields are marked *

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).