[Seaside] Seaside + MediaWiki

Bob N. bobn at rogers.com
Fri Oct 1 17:32:03 UTC 2010


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:
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:

http://our.wiki.server.com/wiki/index.php/ToDo_bob

...which contains...

{{#webservice: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:our.seaside.server.com:7777/Issues?wikichart| %//div%}}

...which answers something like...

<websiteFrame>
website=
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:|Feb2010|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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20101001/9e751453/attachment.htm


More information about the seaside mailing list