We've made use of some extensions to MediaWiki to present data sourced from Seaside. It may of interest to others. Our in-house wiki is used for documentation and reference material. We run Seaside for a simple issue tracking system and as a patch server for client sites. The wiki presents data from these two Seaside apps.
The web services extension is http://www.mediawiki.org/wiki/Extension:Webservice We also use an iframe extension http://www.mediawiki.org/wiki/Extension:Website_in_iFrame
For issue tracking, the wiki has a sidebar, generated by a webservice call, with each person's name and a count of issues in various life cycle stages. Each sidebar entry links to a wiki page with another webservice call which shows a list of the person's issues.
The sidebar entry looks like this: {{#webservice:<a href="http://our.seaside.server.com:7777/Issues?wiki=sidebar|">our.seaside.server.com:7777/Issues?wiki=sidebar| %//div%}} Seaside answers... (html text: aString)
* To Do ** ToDo bob|Bob (2, 7, 1, 0) ** ToDo john|John (6, 0, 5, 0) ** ToDo paul|Paul (0, 9, 8, 21) ...which links each entry to a page like:
...which contains... {{#webservice:<a href="http://our.seaside.server.com:7777/Issues?wiki=user:Bob|">our.seaside.server.com:7777/Issues?wiki=user:Bob| %//div%}}
...which answers a wiki formatted table with links... ==Active Issues assigned to Bob == {| ! ID ! System ! Client ! Title
! Stage ! Text ! P. ! Assigned ! Date ! Type |- | [http://our.seaside.server.com:7777/Issues?issue=1105 1105] || ToolCASE || CS || Add Code Critic to daily SUnit tests || [[image:Blueplay.png]] current || '' investigating '' || C || Bob || 2010-09-21 || Technical
|- | [http://our.seaside.server.com:7777/Issues?issue=1118 1118] || BID || CS || change notice on the project profile || [[image:Blueplay.png]] current || '' coding report spec '' || C || Bob || 2010-09-24 || Modification
|} You can paste the string into a wiki page and see how it looks. The first cell on each row links back to our issue tracking Seaside app. We use a similar technique for displaying lists of patches and client patch status information.
We also use this technique to display graphs, using the http://chart.apis.google.com/chart and the mediawiki iframe extension. In this case, the Seaside app answers a string that the wiki interprets as an iframe extension call. So, the wiki code looks like...
{{#webservice:<a href="http://our.seaside.server.com:7777/Issues?wikichart|">our.seaside.server.com:7777/Issues?wikichart| %//div%}} ...which answers something like...
<websiteFrame> website=<a href="http://chart.apis.google.com/chart?&cht=bvo&chs=800x350&chg=0,10,4,0&chtt=Test+summary&chts=19293D,20&chbh=40,50&chco=AABAD7,4F81BD,40699C&chdl=TEST1|TEST2|TEST3&chd=t:80,65,39,35,37,37,46,62|64,38,24,18,23,13,18,31|50,10,19,12,18,8,12,21&chds=0,80&chxt=x,y&chxl=0:|Feb">http://chart.apis.google.com/chart?&cht=bvo&chs=800x350&chg=0,10,4,0&chtt=Test+summary&chts=19293D,20&chbh=40,50&chco=AABAD7,4F81BD,40699C&chdl=TEST1|TEST2|TEST3&chd=t:80,65,39,35,37,37,46,62|64,38,24,18,23,13,18,31|50,10,19,12,18,8,12,21&chds=0,80&chxt=x,y&chxl=0:|Feb 2010|Mar 2010|Apr 2010|May 2010|Jun 2010|Jul 2010|Aug 2010|Sep 2010|1:|0|8|16|24|32|40|48|56|64|72|80
name=Test summary align=middle height=380 width=800 border=0 scroll=no longdescription=chart </websiteFrame>
So we're wrapping the google chart in the iframe, not our Seaside app. We end up seamlessly combining static wiki content with dynamic Seaside content. Hope the idea is of use to someone,
Bob Nemec _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Bob Nemec
|
Free forum by Nabble | Edit this page |