Trac数据源用于Google可视化API。使用Wiki格式嵌入iGoogle小工具。
项目描述
Trac数据源用于Google可视化API。使用Wiki格式嵌入iGoogle小工具。
此软件包(插件)提供组件,使Trac能够使用Google提供的控件和相关技术。
它允许将Trac管理的数据馈送到基于Google可视化API的控件。
它允许使用Wiki格式在wiki页面上嵌入iGoogle小工具。
版权所有 2009-2011 Olemis Lang <olemis at gmail.com> 根据Apache许可证版本2.0授权
版本1.4.2的新特性
#103 - 修复了PIVOT对于有聚合函数的计算列失败的错误
#66 - 修复了票务列表模式中的Unicode值错误
#105 - 修复了日期常量模式中的Unicode值错误
#106 - 修复了dateDiff中的类型错误
#111 - 修复了执行标量函数 now() 的错误
#88 - GViz数据源中的Wiki页面文本和大小
新!#92 - GViz QL:实现PIVOT子句
新!#112 - GViz查询中的整数除法
#113 - 修复了HTML单元格中的未知错误
#67 实现Ohloh小工具的TracLinks
#104 - 修复了GViz MoinMoin编码器导致的空单元格错误
#114 查询URL中的URL转义加号
将 tracgviz.testing 迁移到新的软件包 dutest-trac
删除相对导入语句
当猜测的 MIME 类型仍为 None 时,GViz 内容提供者的错误信息
将 dutest 移动到 tests_require 而不是 install_requires。
新增!CSV 到 GViz MIME 转换器中的朴素类型转换。
里程碑 GViz 提供者中的 URL 列。
版本 1.4.1 的新功能
新增!插件易于安装。模块如 dutest、TracXmlRpcPlugin 和 Pygments 是外部依赖。
新增!为 TracGViz 实现的 RPC 处理器编写了简单的测试用例(doctests):TimelineRPC、ReportRPC。它们使用基于 dutest 的简约框架运行,允许(高效地)编写可读的 doctests 以供 Trac 插件使用。
新增!可以选择要返回的列、它们的顺序和标签。部分支持 SELECT 语句,因为目前只允许列名,完全支持 LABEL 子句。
新增!添加了对限制返回行数以及跳过给定数量的第一行(即 GViz QL 中的 OFFSET 和 LIMIT 子句)的支持。
新增!如果数据源不支持在 FROM 子句中指定的基本表,则将 GViz QL 错误信息发送回调用者。该子句已在 API 的最新版本中弃用。
新增!在 LABEL 和 FORMAT 子句中定义的计算列(例如,算术表达式)遵循类似于变量名的语法,例如 a + sum(b)。
新增!由 PyICU 提供支持的 FORMAT 子句。
新增!支持查询中的 ORDER BY 子句。
新增!支持查询中的 GROUP BY 子句。
新增!添加了将不同格式的表格数据文件转换为 Google Visualization API 定义的 JSON 表示形式的数据源和基础设施。如果实现了正确的插件,内容可以来自任何地方。
新增!添加了将版本控制下的文件内容转换为 GViz 数据表的 GViz 提供者(前提是有 MIME 转换可用)。进一步的优化已被推迟。
新增!添加了将 Trac 资源中附加的文件转换为 GViz 数据表(前提是有 MIME 转换可用)的 GViz 提供者。特别是为实现像 Robert Obertholtzer 这样的用户提供了帮助。感谢您的反馈和帮助!
新增!包含了将版本控制下的 CSV 文件转换为 GViz API JSON 格式的辅助程序。特别是为实现像 Robert Obertholtzer 这样的用户提供了帮助。感谢您的反馈和帮助!
新增!添加了 GVizTableMacro,这是一个宏,可以嵌入 TracWiki 页面中,显示由 LOCAL GViz 数据提供者返回的数据表(即 IGVizDataProvider 的实例)。可以包括自定义参数(例如,使用 Google Visualization API 查询语言编写的查询的 tq)。表格内容使用 HTML 表格显示,因此在这种情况下不需要小工具或互联网连接。
新增!实现了 TSV 响应格式编码器。它与规范兼容,并使用 UTF-16 字符集进行编码。不过,目前尚不支持 outFileName 参数。
新增!添加了示例 TracGViz 提供者。它们说明了如何轻松实现自定义 GViz 提供者,以便向世界提供您的数据。
新增!添加了对 HMAC(《RFC 2104》)散列的支持,使用 hmac 模块。
新增!在访问 /gviz 路径时渲染 GViz 提供者列表。
新增!支持解析 select 子句中的其他(更复杂)表达式(例如,聚合函数,-date- 常量)。
新增!支持详细解析 WHERE 子句。
新增!支持解析 ORDER BY 子句中的更复杂表达式(例如,聚合函数)。
新增!在 select 子句中接受的常量。
新增!支持解析和评估 select 子句中的标量函数。
新增!支持解析和评估 select 子句中的表达式。
新增!GViz QL 语法以包括 SQL 子句并重构当前解析解决方案。
列类型检查可能在不匹配时触发错误响应。
修复GViz提供者索引,使用Trac=1.0时已损坏
Apache™ Bloodhound web UI功能增强
升级Trac=1.0和Apache™ Bloodhound的RPC提供者。
通过使用stdlib中的csv模块实现CSV和TSV编码器。
包含将CSV附件转换为GViz API JSON格式的辅助函数。
可以通过XML-RPC API远程创建报告。
如果客户端未授予REPORT_SQL_VIEW权限,则不显示报告SQL。
测试套件中添加了对添加和加载数据的支持。
为所有支持的(和不支持的)GVizQL功能编写了测试用例。
为TracGViz 1.3.4中包含的数据源编写了一些测试用例,这些数据源与版本控制无关。还需要做更多工作 :(
即使没有安装Pygments,插件也能正常工作。在这种情况下,只有GViz QL将缺失,但其他所有功能都将可用。
采取进一步措施以确保响应被UTF-8编码,除非另有说明。
在GViz TracLinks提供者中添加了对GViz查询(即tq参数)的支持。
在资源文件中包含提供者文档。
可以遍历DataTable实例的行和值。
错误修复:在需要时,仅在ReportRPC.execute中将相对URL转换为绝对URL。
错误修复:在GVizChagesetProvider中,列chg和target中提供的数据已交换。现在它们在正确的位置。
错误修复:当只指定了since和until参数时,GVizChagesetProvider会显示最新更改集的详细信息。
错误修复:增强了与Trac XmlRpcPlugin=1.0.6的兼容性及其处理日期时间值的方式。不再出现如< cita>TypeError:不支持的操作类型(s)for -:实例和datetime.datetime和< cita>AttributeError:datetime.datetime对象没有属性value之类的错误。
错误修复 #57:在解析配置文件中的别名时,在
GadgetAliases.__init__ 中(有时)会引发< cita>ValueError。现在不再发生这种情况。
1.3.4版本的新特性
新增!< cita>GVizQuickJumpEntries提供有关存储库中有趣位置的数据(也称为
quick jump entries )。这包括标签和分支等。数据由VersionControlRPC提供。错误修复:如果只请求个别修订版本,则以前会将所有修订版本包括在修订日志中。现在结果集仅包含在
rev 参数中提供的特定更改集的信息。已在和< cita>svn上进行测试。 错误修复:当使用Subversion后端请求个别修订版本的日志时,会引发包含消息“无效的列表索引”的异常。现在对于
和< cita>svn都正常工作。 错误修复:< cita>GVizChangesetDetails中
fmt参数的默认值不正确。现在正确了。 错误修复:< cita>GVizTimelineFilters提供者中以前未记录的列现在包含适当的描述。
可以使用WikiFormatting来记录数据源。它可能包含在为参数、列和数据源本身编写的文档中。
错误修复:对于具有动态模式的提供者,以前的文档没有渲染。现在已经修复,并在文档中添加了一个新属性来突出显示数据源是否始终返回相同的列,或者是否可以根据运行时条件而变化。
通过在
filter_by参数中提供UNIX模式,可以按名称过滤里程碑。 使用REs编译UNIX文件名模式以获得更好的性能。
错误修复:当使用Hg后端时,版本1.3.3中的代码以修订版本迭代器(VCS RPC)的形式进入无限循环(在某些条件下,这似乎与分支或版本号有关)。现在不再发生这种情况。
错误修复:现在使用 Hg 后端时,VCS RPC 能够检索所有更改集。实现方式不再猜测修订顺序,而是直接从使用的底层 VCS 连接器中检索所有信息。之前的算法较弱,因为它只考虑了特定修订的第一个父项。因此,许多其他修订(尤其是在不同分支中的所有修订)都未包含在结果集中。
在 GVizChangesets 中可以选择单个修订(而不仅仅是之前那样选择间隔),以获取修订日志。
错误修复:由于 1.3.3 版本引入的更改(特别是 ReportRPC 和 VersionControlRPC),以及 XmlRpcPlugin 中的错误 #5586@TH.org,使得无法渲染关于不同 RPC 处理器的显示文档。这两个文档字符串都已修改,现在一切恢复正常。
1.3.3 版本的新功能
新增功能:从 1.3.3 版本开始支持宏别名,这样在维基页面上嵌入 iGoogle 小工具就更加简单了。别名是使用 gadgets.aliases 选项配置的宏名称,是使用具有固定名称的 iGoogleGadget 的快捷方式。例如,如果上述选项设置为 MotionChart=http://www.google.com/ig/modules/motionchart.xml,则以下代码片段是等效的(这样用户就不需要记住小工具的 URL,而是熟悉的名称;)。
[[iGoogleGadget(url=http://www.google.com/ig/modules/motionchart.xml, _table_query_url=http://spreadsheets.google.com/tq?range=B3%3AG17&key=1234, _table_query_refresh_interval=5)]]
[[iGoogleGadget(url=gadget:google:modules:motionchart, _table_query_url=[gviz:google:sheet:1234:B3-G17], _table_query_refresh_interval=5)]]
[[MotionChart(_table_query_url=[gviz:google:sheet:1234:B3-G17], _table_query_refresh_interval=5)]]
默认提供 Google 可视化小工具的别名。
在用于定义 iGoogleGadget 宏别名的配置选项中支持 TracLinks 表达式。
新增功能:GVizTicketList 现在列出了在 Trac 环境中创建的票据及其属性。如果可用,自定义字段也包括在单独的列中。这就是为什么返回的数据表中的列以及它们的顺序有时会改变,这取决于特定环境中启用的插件和其他因素。
新增功能:ReportRPC 现在通过 XML-RPC 协议提供了对 Trac 报告模块的接口。到目前为止,报告执行仅支持使用 SQL 和 TracQuery 语法定义的报告。这意味着使用 URL 指定的已保存自定义查询目前尚不支持,但将在不久的将来支持。同时,会抛出 NotImplementedError 异常。
新增功能:GVizAvailableReports 现在列出可用的报告及其数据,包括报告 ID、标题、描述以及用于选择每个报告中包含的票据的查询字符串。
重要!架构更改。从现在起,可以将请求对象提供给 IGVizDataProvider.get_data_schema 方法。此更改允许实现更动态的数据提供程序,因为模式可以根据某些参数提供的运行时值而变化。
新增功能:GVizReportProvider 现在提供由 Trac 用户定义的自定义 Trac 报告中的数据。这是一个非常动态的数据提供程序,也是第一个模式可以根据报告规范而变化的示例。
新功能!VersionControlRPC 现在通过 XML-RPC 协议提供了对 Trac 版本控制 API 的接口。因此,可以使用标准协议获取项目仓库中文件的信息以及更改集的信息。可以递归地列出文件和文件夹(ls),具有深度限制和类似 UNIX 文件名模式的过滤器。支持的特性包括:文件属性(例如大小、内容类型等)、给定时间间隔内关于修订版的数据(例如消息、作者等)、文件和文件夹的历史记录,以及在给定修订版上执行的所有更改的完整描述。期待发布更多有用的数据!此功能已在 Mercurial SCM(《hg》)和 Subversion(《svn》)上进行了“测试”,但只要使用与 Trac 版本控制 API 完全兼容的连接器,代码就应该可以正常工作。然而,不同版本控制系统的不同方法可能会导致错误的行为。所以如果您发现任何错误,请告知我。
新功能!GVizSourceFiles 现在提供有关单个文件以及文件夹中文件的信息。此数据源支持过滤器(即 UNIX 文件名模式),以及具有可选深度值的递归查找。还可以获取特定修订版的数据。结果主要是文件属性(例如大小、扩展名、内容类型等),但具体值取决于使用的特定仓库连接器的功能。
新功能!GVizSourceFileHistory 现在提供了在给定时间间隔内对一组文件进行的修改。边界值可以是日期时间值或修订版标识符(由特定仓库连接器支持)。客户端将获得有关在给定文件的不同修订版上执行更改的详细信息,以及在该特定时间点文件的属性。此数据源支持过滤器(即 UNIX 文件名模式)以及具有可选深度值的递归查找。支持多种日期时间格式。
新功能!GVizChangesetDetails 现在提供了一份详细的报告,包含一次性提交到仓库并记录在单独更改集中的所有单个更改。可以指定多个更改集标识符(由特定仓库连接器支持)以及时间间隔。边界值可以是日期时间值或更改集标识符。
新功能!GVizChangesets 现在提供了描述与 Trac 环境(即修订 ID、消息、作者和日期)相关的不同更改集提交到仓库的元数据。可以通过指定时间间隔来限制结果。边界值可以是日期时间值或更改集标识符。
所有与仓库交互的数据提供程序都使用 Mercurial SCM 连接器(即《hg》)进行了“测试”。在这种情况下,有几个未解决的问题似乎与 TracMercurial 对《copy》事件的支持不足有关(但这不是最终结论)。当前的实现应该与其他兼容 Trac 版本控制 API 的连接器一起工作,但如果您使用其他版本控制系统,则没有任何保证。然而,如果您的连接器没有引起任何问题,那么使用上述数据源不应对您的环境和仓库造成损害。未来将进行更多测试,但没有明确的计划。您可能是第一个测试它们的人。欢迎提出建议、补丁和进一步反馈,以克服目前的限制。
添加了 api.IHashLibrary 接口,以便插件和扩展可以贡献其他安全的哈希、消息摘要和校验和算法,以计算 GViz API 响应中的 sig 字段。
所有由 hashlib 模块提供的支持安全散列算法的代码现在都可以在类 stdhash.HashLib 中找到。它支持以下方法:sha1、sha224、sha256、sha384、sha512 和 md5。根据 Python 在您的平台上使用的 OpenSSL 库,可能还有其他算法可用。
所有由 zlib 模块提供的支持校验和算法的代码现在都可以在类 stdhash.ZLibChecksum 中找到。它支持以下方法:adler32、crc32
对适配 sig 参数以适应最近引入的 IHashLibrary 接口的细微调整。
错误修复:之前,只有当散列方法已设置并且请求中设置了 sig 参数时,sig 值才会包含在 GViz API 响应中。从现在起,只需满足第一个条件即可将散列值发送回客户端。
错误修复:使用纯文本编码器显示 datetime 实例时的一个微小错误。
在 DataTable.SingleValueToJS 中增加了对 xmlrpclib.DateTime 和 int 值(POSTFIX 时间戳)自动转换为 datetime 实例的支持。这使得可以在具有 date、datetime 和 timeofday 类型(gviz_api 1.0 中不可能)的列中提供此类值。
在 DataTable.SingleValueToJS 中增加了对使用 UTF-8 编码的 Unicode 字符串自动转换的支持。这使得可以在具有 string 类型的列中提供此类字符串(gviz_api 1.0 中不可能)。
已添加模块 rpc 以将 TracGViz 包提供的所有 RPC 处理程序分组。
已添加文档以突出显示在 trac.ini 中使用 timeline.ticket_show_details 选项的使用,以检索与票证更改相关的所有事件(例如附件)。
错误修复:当 ITimelineEventProvider 接口的实例提供的过滤定义包含第三个元素(即 checked)时,TimelineRPC 不会失败。它还适当地处理 Unicode 字符。
MoinMoin 编码器现在返回 text/x.moin.wiki MIME 类型。
进行了一些优化和重构(例如,删除了不必要的导入)……呃!
1.3.2 版本的新特性
TracGVizSystem 现在实现了 IPermissionRequestor 接口。这意味着 Trac 管理员可以使用 GVIZ_VIEW 权限来控制哪些用户可以访问 GViz 数据源。如果用户没有权限访问请求的数据,则返回一个带有 reason 设置为 user_not_authenticated 的 GViz API 错误响应(匿名访问时),或 access_denied 否则。
现在在展开 iGoogleGadget 宏内部找到的 TracLinks 表达式时返回绝对 URL。以前,这阻止了 iGoogle 容器在项目中找到数据,如果使用了 TracLinks 表达式。
在 GoogleDocsConnector 中添加了对 sheet 选项的支持,以便在提供其名称的情况下链接到特定工作表中的数据。因此,现在支持以下链接:https://spreadsheets.google.com/tq?key=ABCD&sheet=Sheet1,https://spreadsheets.google.com/tq?key=ABCD&sheet=Sheet+2。工作表名称可以包含字母数字字符以及空格。语法 -> gviz:google:sheet:<spreadsheet_id>[:[<sheet_name>][:<top_cell>-<bottom_cell>]][?[headers=<number>]]
以前,具有 date、datetime 或 timeofday 类型的列中的值在非 JSON 响应(例如 HTML)中以类似于 new Date(2009, 12, 2) 的方式显示。现在它们使用以下格式分别渲染:%Y-%m-%d、%Y-%m-%d %H:%M:%S、%H:%M:%S。
新功能!以下(非标准)格式通过使用特殊的格式标识符支持在 tqx 参数中 out 选项:MoinMoin wiki 表格(类 extfmt.GVizMoinEncoder,out:moin)。
每个 GViz 提供商现在都支持使用 Unix shell 样式的通配符进行名称扩展。这意味着如果为 name 参数指定了这样的模式,无论是单次还是多次,那么所有匹配的 wiki 页面都将包含在结果集中(例如,/gviz/wiki/index?tqx=out:html&all&name=Wiki*&name=TracN* 将返回以 Wiki 或 TracN 前缀开始的 wiki 页面的所有版本的信息,例如 WikiNewPage、WikiHtml、WikiProcessors、WikiRestructuredText、WikiStart、TracNavigation、WikiRestructuredTextLinks、TracNotification、WikiMacros、WikiFormatting、WikiPageNames、WikiDeletePage 等)。
版本 1.3.1 的新功能
支持权限断言,但不是直接支持。它们被委派到实现数据源的基础层(例如,XML-RPC 处理程序)。
已将 GadgetLinksDispatcher 重命名为 LinksTreeDispatcher。它支持多个根命名空间(即到目前为止 gadgets 和 gviz),以及以前的链接层次结构。
IGadgetTracLinksResolver 现在被称为 ITracLinksItem 接口。从现在开始,其 get_link_resolvers 方法 必须 返回根命名空间名称(例如,gviz)。
新功能!已实现 TracLinks 表达式以用于 Google Apps 报告可视化 API。为了访问数据,可能需要登录到 Google Apps 控制面板。语法 -> gviz:google:apps:<report_key>@<report_date>:<domain>[?tq=<query>]
新功能!现在可以使用以 gviz:google:sheet: 前缀开始的 TracLinks 表达式来引用 Google 电子表格。它们还支持 range 属性(以仅选择特定单元格)和 headers 选项(以指定多少行是标题行)。语法 -> gviz:google:sheet:<sheet_id>[:<top_cell>-<bottom_cell>][?headers=<number>]
新功能!现在可以使用以 gadget:google:modules: 前缀开始的 TracLinks 表达式来引用 Google 的标准可视化。语法 -> gadget:google:modules:<chart_name>
在 iGoogleGadget 宏中自定义参数的 TracLinks 展开,不再是梦想。您可以将 TracLinks 表达式放在括号中,并将此类值分配给自定义参数。在这种情况下,宏将执行展开以查找目标 URL。因此,下面的第一个表达式现在可以像第二个示例中那样编写。这两个示例都将嵌入显示 Google 电子表格 1234 中 B3-G17 单元格中的数据的动态图表。
[[iGoogleGadget(url=http://www.google.com/ig/modules/motionchart.xml, _table_query_url=http://spreadsheets.google.com/tq?range=B3%3AG17&key=1234, _table_query_refresh_interval=5)]]
[[iGoogleGadget(url=gadget:google:modules:motionchart, _table_query_url=[gviz:google:sheet:1234:B3-G17], _table_query_refresh_interval=5)]]
展开 TracLinks 表达式产生的指向第三方网站的链接将在 wiki 页面中以众所周知的图标 []-> 渲染。
GVizXMLRPCAdapter 的实例现在可以实现 xmlrpc_namespace 方法。它与以前的 gviz_namespace 方法类似,但返回 XML-RPC 命名空间。这样就可以使用单个 XML-RPC 组件提供的服务实现多个数据源。
新功能!GVizSearchFiltersProvider 现在允许列出在 Trac 环境中安装的所有搜索过滤器。
新功能!可以使用 gviz_param 装饰器来记录数据源接受的参数。
GVizProviderList 宏现在显示数据提供者接受的参数。
现在处理 Unicode、日期和时间以及不同数据源返回的值变得容易得多。从现在开始,不再需要将 xmlrpclib.DateTime 实例转换为 datetime.date* 实例。
新功能!GVizSearchProvider 现在可以访问 Trac 内置搜索引擎返回的搜索结果。您可以指定查询字符串并控制使用的搜索过滤器(例如 wiki、ticket、milestone、pydoc)。
新功能!您可以使用 ticket/actions 数据源获取在给定票据上可以执行的操作的名称。
新功能!您可以通过访问 ticket/fields 数据源获取描述票据字段的全部元数据。
新功能!GVizTicketChangeLog 提供了详细变更日志,以便了解对不同票据所做的修改。数据源位于 ticket/log。
新功能!GVizTicketAttachments 提供了关于不同票据附加文件的详细信息。数据源位于 ticket/attachments。
新功能!GVizTimelineFilters 提供了关于贡献时间线的数据源提供的不同过滤器的详细信息。数据源位于 timeline/filters。
新功能!GVizTimelineEvents 提供了关于贡献时间线的数据源报告的时间事件的详细信息。它支持时间切片和过滤。数据源位于 timeline/log。
GVizMilestoneProvider 已增强。以前它只提供里程碑名称、预计和完成时间及其描述。现在它还包括一些关于票据组(如路线图视图显示的)的统计数据。这包括已完成的工作量、衡量指标的单位、已完成全部工作的百分比、活跃和已关闭票据的数量以及它们相对于票据总数的百分比。
新功能!GVizWikiPages 提供了关于 Trac 环境中找到的 Wiki 页面的详细信息。它支持多种功能,包括定时过滤器、页面选择和多个版本等。数据源位于 wiki/index。
新功能!GVizWikiAttachments 提供了关于在 Trac 环境中找到的 Wiki 页面上附加的文件的详细信息。数据源位于 wiki/attachments。
当请求 JSON 时,HTTP 响应会向客户端发送正确的 MIME 类型(即 application/json)。这与 RFC xxx 保持一致。
版本 1.2.3 的新功能
小改动……
版本 1.2.2 的新功能
GViz 数据源返回的表中的不同列的含义以及默认标签可以通过使用 gviz_col 进行文档化。此函数符合 PEP 3107 定义的注释。
可以使用 GVizDataSource 宏将数据源的文档包含在 Wiki 页面中。
文档字符串有所更改。
错误修复:直到现在,如果没有启用协议处理程序,则项目环境会因 ValueError 异常而被破坏。这很烦人,因此已修复。现在,如果访问具有 gviz 前缀的 URL 且没有可用的协议处理程序,则向调用者返回一个带有消息 Unable to find any protocol handler 的 Not Found(404)HTTP 响应。
版本 1.2.1 的新功能
重新分发 gviz_api 模块(版本 1.0.0)。这样做是为了在之前未安装其他版本的情况下回退到此实现。
从本版本开始,工作受 Apache 许可证的许可。有关详细信息,请参阅 COPYRIGHT 和 NOTICE。
Babel 已不再是依赖项。
在 iGoogleGadget 宏参数中实现完整的 TracLinks 扩展。
包含 iGoogle gadgets 标志作为图像资源。更新了边框模板。
错误修复:直到现在,如果禁用了底层 RPC 处理程序,则由于会引发令人讨厌的 ValueError 异常,环境初始化失败。这种情况不会再发生。现在,一旦请求对相应的 GViz 数据源提供程序的相应方法,就会向调用者返回包含解释性消息的 GViz 错误响应。
版本 1.2.0 的新功能
添加了对使用 WikiFormatting 扩展显示 iGoogle gadgets 的支持(即 iGoogleGadget 宏)。
在项目环境中添加了对上传和托管自定义基于图像的小部件边框的支持。
错误修复:所有没有 tq 和 tqx 参数的 IGVizDataProvider 实现者处理的所有请求(例如 http://myserver.com/project_name/gviz/ticket/status)现在输出正确数据。之前访问这些 URL 时,HTTP 响应体包含一个 HTML 错误页面。
1.1.0 版本的新特性
已添加支持通过重用现有的 Trac XML RPC 组件来实现 Google Visualization API 数据源。
提供了一些(但不是所有)Trac 票据系统数据源。它们基于以下 Trac XML-RPC 提供商(按命名空间列出):ticket.milestone、ticket.severity、ticket.type、ticket.resolution、ticket.priority、ticket.component、ticket.version、ticket.status。
1.0.0 版本的新特性
提供了一个架构,可以将项目的数据以 Google Visualization API 协议规范(版本 0.5)中的 api.TracGVizSystem 格式提供。
通过实现 api.IGVizProtocolHandler 接口,允许实现多个协议处理程序(例如,用于不同版本和协议进化)。通过 GViz_0_5 对 Google Visualization API 协议的版本 0.5 提供了原生支持。
通过实现 api.IGVizDataProvider 接口可以注册新的数据源。
通过仅实现 api.IGVizTableEncoder 接口即可获取表格内容的可插拔架构。支持以下格式:JSON(类 stdfmt.GVizJsonEncoder)、HTML(类 stdfmt.GVizHtmlEncoder)、CSV(类 stdfmt.GVizCSVEncoder)。
已识别 Google Visualization API 协议规范(版本 0.5)中提到的异常条件。