Version 13 (modified by 12 years ago) (diff) | ,
---|
SQL Table in Wiki Page
Notice: This plugin is unmaintained and available for adoption.
Description
This is a simple macro that enables you to place tables resulting from SQL queries into a wiki page.
It is similar to, but simpler than, SqlQueryMacro. The main differences are that it has fewer dependencies and always queries the Trac database, rather than letting you set up a separate data connection.
Usage
Use the SQLTable macro:
{{{ #!SQLTable SELECT count(id) as 'Number of Tickets' FROM ticket }}}
The result will be a table.
Use the SQLScalar macro:
{{{ #!SQLScalar SELECT count(id) as 'Number of Tickets' FROM ticket }}}
The result will be a single number.
Installation
- Install globally with:
sudo easy_install https://trac-hacks.org/svn/wikitablemacro/0.11/
- Enable the plugin by updating TracIni file (..../trac.ini) as follows:
[components] wikitable.* = enabled
- Restart web server on command line:
$ sudo /etc/init.d/apache2 restart
Bugs/Feature Requests
Existing bugs and feature requests for WikiTableMacro are here.
If you have any issues, create a new ticket.
Known issues
- Issue: If incorrect SQL sentences are entered, auto preview (Trac 0.12) isn´t updated, neither any error message is shown until you submit / save your changes. When you save changes Trac will rise error message. You will not be able to edit that wiki page anymore.
- Workaround / Tip: You can still delete incorrect wiki entry by going into Timeline and locating diff link.
Source & Download
You can check out WikiTableMacro from here using Subversion, or browse the source with Trac.
Download the zipped source from [download:wikitablemacro here].
Recent Changes
- 18622 by jun66j5 on 2024-02-26 11:46:22
-
WikiTableMacro 0.3dev: fix compatible with Python 3
- 18458 by rjollos on 2021-12-14 15:55:25
-
WikiTableMacro 0.3dev: Make exception handling Py3 compatible
Refs #14101.
- 16994 by rjollos on 2017-11-20 00:43:24
-
WikiTableMacro 0.3: Release version 0.3
Fixes #13336.
(more)
Author/Contributors
Author: optilude
Maintainer: rjollos
Contributors:
Some Patches
I added below to render_macro to provide a rudimentary sort of variable function.
def render_macro(self, req, name, content): + c = content.split("|;|") + content = c[0] + if len(c) > 1 : + for i in c[1:] : + v = i.split("=") + if len(v) > 1 : + k = v[0] + v = v[1] + content = content.replace(k,v)
i.e. you can do something like this
{{{ #!SQLTable SELECT "a", count($id) as 'Number of Tickets' FROM ticket UNION SELECT "b", count($id) as 'Number of Tickets' FROM ticket|;|$id=id }}}
Useful when you have the same id that you don't want to keep on retyping over.