Disclaimer: This message has been sent to multiple lists in spite of keeping users and tech authors informed about the new features available. I apologize if you receive multiple copies of this message
Hello once again ! After not few hours of really hard work I'm so excited to announce the release of TracGViz 1.3.3 . This package (plugin) provides components so that Trac may be integrated with Google Visualization API and other technologies provided by Google (e.g. iGoogle gadgets). This means that it puts together three great platforms (Trac, iGoogle gadgets, and Google Visualization API) by providing components so that Trac be able to use widgets and related technologies provided by Google. Therefore : - It allows to feed data managed by Trac to widgets based on Google Visualization API. - It allows to embed iGoogle Gadgets in wiki pages using WikiFormatting. I am sure that this version will be much more useful. In case something wrong's been detected please create a ticket [1]_ including all the relevant information. This release incorporates data sources providing information about files placed under version control. They have been tested with Trac Mercurial connector (i.e. `hg`) and Subversion (i.e. `svn`), but other backends will be tested in the (near) future. We'd appreciate that you test the current implementation by using different VCS (e.g. `mtn`, `git`, ...). Since Trac's Version Control API has been used, everything should be ok, but if you find out that something's wrong then, please, let us know [1]_. The other data sources incorporated in this release offer the data gathered by custom reports defined using TracReports and TracQuery language. In order to implement these features some architectural changes had to be introduced. As a result, now developpers can implement dynamic data sources having schemas that vary according to some run-time values. To do all this, RPC handlers for version control and TracReports have been implemented. Those components could be included in TracXmlRpcPlugin as well. Finally, the last major feature introduced is Macro Aliases. This makes even easier to embed iGoogle gadgets in Trac wiki pages since gadget URLs are hidden to the end-users, which employ instead a macro name (i.e. alias) they are familiar with. If you want to know more, please read the details below. Until now there are about 230 downloads. This is great, and also means that (possibly) some of you have found it useful. Feedback is welcomed and we really appreciate to hear your suggestions, and success histories, as well as to receive bug reports, and patches. For us it's good to hear people saying : «This is wrong and I dont like it». That's the only way to know what you really want and make things better ;o). Coming soon ============== - Support for GViz API QL - Functional tests - reStructuredText encoder - Perhaps there are no data sources left, but if you find one, will be included ;o) - More docs & tutorials ... - more ... see CHANGES and TODO files for details ;) Hope you all like it ! What's new in version 1.3.3 --------------------------- - New ! Since version 1.3.3 macro aliases are supported so that embedding iGoogle gadgets in wiki pages be even easier. Aliases are names of macros configured using `gadgets.aliases` option. They are shortcuts to use iGoogleGadget with a fixed gadget URL. For example, if the aforementioned option is set to `MotionChart=http://www.google.com/ig/modules/motionchart.xml` then the following snippets are equivalent (so users wont need to remember gadget URLs anymore but names they are familiar with ;). [[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)]] - Aliases for Google's visualization gadgets are offered by default. - TracLinks expressions are supported in `gadgets.aliases` config options used to define iGoogleGadget macro aliases. - New ! GVizTicketList now lists the tickets created in a Trac environment together with their attributes. Custom fields, if available, are also included in separate columns. That's why the columns in the data tables returned as well as their order can change from time to time, depending upon the plugins enabled in the particular environment and other factors. - New ! ReportRPC now provides an interface to Trac's report module via XML-RPC protocol. So far report execution is only supported for reports defined by using SQL and TracQuery syntax. This means that saved custom queries specified using URLs are not supported yet, but will be (hopefully) in a near future. In the mean time a `NotImplementedError` exception is raised. - New ! GVizAvailableReports now lists available reports and their data, including report ID, title, description and the query string used to select the tickets to be included in each report. - Important ! Architectural change. From now on Request objects can be supplied in to IGVizDataProvider.get_data_schema method. This change allows to implement more dynamic data providers since schemas can vary depending upon the run-time values provided for some parameters. - New ! GVizReportProvider now offers the data included in custom Trac Reports defined by Trac users. This is a very dynamic data provider, and also the first example where schema can change depending upon the report specification. - New ! VersionControlRPC now provides an interface to Trac's Version Control API via XML-RPC protocol. Therefore information about files in the project's repository and also about changesets is available using standard protocols. It is posible to list files and folders (`ls`) recursively with depth limit and filters written like UNIX filename patterns. File attributes (e.g. size, content type, ...), data about revisions (e.g. message, author, ...) in a given (time) interval, file and folder history, and full description of changes performed at a given revision, are some of the features supported so far. Looking forward for further useful data to be published ! This feature was «tested» using Mercurial (`hg`) SCM and Subversion (`svn`) VCS, but the code *SHOULD* work as long as connectors compliant with Trac's Version Control API be used. Otherwise, please let me know. - New ! GVizSourceFiles now offers information about individual files and those located in a folder. This data source supports filters (i.e. UNIX filename patterns), and recursive lookup with optional depth value. It is also possible to get the data for an specific revision. The results are mostly file attributes (e.g. size, extension, content type ...), but the actual values depend upon the capabilities supported by the specific repository connector in use. - New ! GVizSourceFileHistory now makes available the modifications performed on a group of files during a given time interval. Boundary values may be either datetime values or revision identifiers (supported by the specific repository connector). Clients'll get back detailed information about the changes performed on the given files in the different revisions together with the file's attributes at that specific time. This data source supports filters (i.e. UNIX filename patterns) as well as recursive lookup with optional depth value. Multiple datetime formats are supported as usual. - New ! GVizChangesetDetails now provides a detailed report containing all the individual changes comitted at once onto the repository and recorded in separate changesets. It is possible to specify multiple changeset identifiers (supported by the specific repository connector) (and | or) time intervals. Boundary values may be either datetime values or changeset identifiers. - New ! GVizChangesets now provides meta-data describing the different changesets committed to the repository related to a Trac environment (i.e. revision ID, messages, author, and date). It is possible to limit the results by specifying a time interval. Boundary values may be either datetime values or changeset identifiers. - All the data providers interacting with the repository have been «tested» using the connector for Mercurial SCM (i.e. `hg`). In this case there are a few open issues that seem to be related with the lack of support in TracMercurial for `copy` events (but it's not a definitive conclusion). The current implementation *SHOULD* work with other connectors compatible with Trac's Version Control API, but THERE IS NO WARRANTY OF ANY KIND if you use another VCS. However if your connector is not causing any trouble then you the use of the aforementionned data sources *SHOULD NOT* cause any damage to both your environment and your repository. Further tests will be performed in the future but there's no clear schedule. You could be the first one to test them. Suggestions, patches and further feedback is welcome in order to overcome the actual limitations. - Added api.IHashLibrary interface so that plugins and extensions can contribute with other secure hash, message digest and checksum algorithms in order to compute `sig` field in GViz API responses. - All the code needed to support secure hash algorithms provided by `hashlib` module can be found from now on in class `stdhash.HashLib`. It supports the following methods : `sha1`, `sha224`, `sha256`, `sha384`, `sha512`, and `md5`. Additional algorithms may also be available depending upon the OpenSSL library that Python uses on your platform. - All the code needed to support checksum algorithms provided by `zlib` module can be found from now on in class `stdhash.ZLibChecksum`. It supports the following methods : `adler32`, `crc32` - Minor adjustments to adapt support for `sig` parameter to the recent introduction of `IHashLibrary` interface. - Bug fixed: Formerly `sig` value was included in GViz API response only if both, the hash method was setup and the `sig` parameter was set in the request. From now on only the first condition has to be met in order to send the hash value back to the client. - Bug fixed: Minor bug while displaying instances of `datetime` using plain text encoders. - Support in `DataTable.SingleValueToJS` for automatic conversion of instances of `xmlrpclib.DateTime` and `int` values (POSTFIX timestamp) into instances of `datetime`. This allows to supply such values in columns having types `date`, `datetime`, and `timeofday` (not possible with gviz_api 1.0). - Support in `DataTable.SingleValueToJS` for automatic conversion of unicode strings using utf-8 encoding. This allows to supply such strings in columns having `string` type (not possible with gviz_api 1.0). - Module `rpc` has been added to group all RPC handlers offered by `TracGViz` package. - Documentation added to highlight the use of `timeline.ticket_show_details` option in `trac.ini` in order to retrieve all events related to ticket changes (e.g. attachments). - Bug fixed: TimelineRPC doesnt fail when filter definitions provided by instances of ITimelineEventProvider interface contain a third (i.e. `checked`) element. It also handles unicode characters appropriately. - Few optimizations and refactorings (e.g. unnecessary imports have been removed) ... bah! Acknowledgements ====================== - Trac devs - Google devs Keep up the good work ! Useful links =============== .. [1] Report an issue (https://opensvn.csie.org/traccgi/swlcu/newticket?component=plugin_trac_gviz) .. [2] Trac integration with Google Visualization API (https://opensvn.csie.org/traccgi/swlcu/wiki/En/Devel/TracGViz) .. [3] TracGViz 1.3.2 @ PyPI (http://pypi.python.org/pypi/TracGViz/1.3.2) .. [4] Direct download link (http://pypi.python.org/packages/2.5/T/TracGViz/TracGViz-1.3.2-py2.5.egg#md5=aa9af20d5ee2d98c16706eef14c94430) .. [5] Using TracLinks expressions to embed iGoogle gadgets (https://opensvn.csie.org/traccgi/swlcu/wiki/En/Devel/TracGViz/TracLinks) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "iGoogle Developer Forum" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/Google-Gadgets-API?hl=en -~----------~----~----~----~------~----~------~--~---
