[Gd-chatter] r11609 - in trunk/libraries/network/koala: sources/examples/koala-basics sources/koala www/demo www/koala
cgay at gwydiondylan.org
cgay at gwydiondylan.org
Mon Jan 7 03:30:32 CET 2008
Author: cgay
Date: Mon Jan 7 03:30:31 2008
New Revision: 11609
Removed:
trunk/libraries/network/koala/www/koala/koala.html
trunk/libraries/network/koala/www/koala/styles.css
Modified:
trunk/libraries/network/koala/sources/examples/koala-basics/main.dylan
trunk/libraries/network/koala/sources/koala/dsp.dylan
trunk/libraries/network/koala/sources/koala/utils.dylan
trunk/libraries/network/koala/www/demo/args.dsp
trunk/libraries/network/koala/www/demo/footer.dsp
trunk/libraries/network/koala/www/demo/hello.dsp
trunk/libraries/network/koala/www/demo/home.dsp
trunk/libraries/network/koala/www/demo/iterator.dsp
trunk/libraries/network/koala/www/demo/login.dsp
trunk/libraries/network/koala/www/demo/logout.dsp
trunk/libraries/network/koala/www/demo/table.dsp
trunk/libraries/network/koala/www/demo/welcome.dsp
trunk/libraries/network/koala/www/koala/dsp.html
trunk/libraries/network/koala/www/koala/index.html
Log:
Job: koala
cleanups
Modified: trunk/libraries/network/koala/sources/examples/koala-basics/main.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/examples/koala-basics/main.dylan (original)
+++ trunk/libraries/network/koala/sources/examples/koala-basics/main.dylan Mon Jan 7 03:30:31 2008
@@ -29,11 +29,28 @@
*/
+//// URLs
+
+// Using relative URLs in a web application strikes me as asking for trouble
+// in general. For example, if you register an alias URL "/demo" for a page
+// "/demo/home.dsp" then URLs that appear in the home.dsp template would be
+// relative to / when the page is processed, rather than relative to /demo/.
+// So always use absolute URLs.
+
+define constant $demo-base-url :: <byte-string> = "/demo";
+
+// This is used throughout this file to create absolute URLs.
+define function demo-url
+ (url :: <byte-string>) => (absolute-url :: <byte-string>)
+ concatenate($demo-base-url, url)
+end;
+
+
//// Responders -- the lowest level API for responding to a URL
// Responds to a single URL.
-define responder responder1 ("/responder1")
+define responder responder1 (demo-url("/responder1"))
select (request-method(current-request()))
#"get", #"post"
=> format(output-stream(current-response()),
@@ -74,8 +91,8 @@
// *hello-world-page* instance.
//
define page hello-world-page (<page>)
- (url: "/hello-world",
- alias: "/hello")
+ (url: demo-url("/hello-world"),
+ alias: demo-url("/hello"))
end;
// Respond to a GET for <hello-world-page>. Note the use of do-query-values to
@@ -102,7 +119,7 @@
end;
-/// Dylan Server Pages
+//// Dylan Server Pages
// Dylan Server Pages are also defined with the "define page" macro, but you
// also specify the source: argument which is a file that contains normal
@@ -129,13 +146,20 @@
define taglib demo ()
end;
+define tag base-url in demo
+ (page :: <demo-page>)
+ ()
+ format(output-stream(current-response()), $demo-base-url);
+end;
+
define page home-page (<demo-page>)
- (url: "/demo/home.dsp",
+ (url: demo-url("/home.dsp"),
+ alias: "/demo/",
source: "demo/home.dsp")
end;
define page hello-page (<demo-page>)
- (url: "/demo/hello.dsp",
+ (url: demo-url("/hello.dsp"),
source: "demo/hello.dsp")
end;
@@ -148,7 +172,7 @@
end;
define page args-page (<demo-page>)
- (url: "/demo/args.dsp",
+ (url: demo-url("/args.dsp"),
source: "demo/args.dsp")
end;
@@ -174,12 +198,12 @@
end;
define page example-login-page (<demo-page>)
- (url: "/demo/login.dsp",
+ (url: demo-url("/login.dsp"),
source: "demo/login.dsp")
end;
define page example-logout-page (<demo-page>)
- (url: "/demo/logout.dsp",
+ (url: demo-url("/logout.dsp"),
source: "demo/logout.dsp")
end;
@@ -193,7 +217,7 @@
// The login page POSTs to the welcome page...
define page example-welcome-page (<demo-page>)
- (url: "/demo/welcome.dsp",
+ (url: demo-url("/welcome.dsp"),
source: "demo/welcome.dsp")
end;
@@ -235,7 +259,7 @@
//// iterator
define page iterator-page (<demo-page>)
- (url: "/demo/iterator.dsp",
+ (url: demo-url("/iterator.dsp"),
source: "demo/iterator.dsp")
end;
@@ -272,7 +296,7 @@
//// table generation
define page table-page (<demo-page>)
- (url: "/demo/table.dsp",
+ (url: demo-url("/table.dsp"),
source: "demo/table.dsp")
end;
@@ -320,7 +344,8 @@
end;
-/// XML-RPC (use any XML-RPC client to call these)
+
+//// XML-RPC (use any XML-RPC client to call these)
begin
register-xml-rpc-method("test.zero",
Modified: trunk/libraries/network/koala/sources/koala/dsp.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/koala/dsp.dylan (original)
+++ trunk/libraries/network/koala/sources/koala/dsp.dylan Mon Jan 7 03:30:31 2008
@@ -636,14 +636,18 @@
?slot-specs:*
end }
=> { page-aux(?name; ?superclasses; ?make-args; ?slot-specs);
- has-url?(?make-args) & register-page-urls("*" ## ?name ## "*", ?make-args)
+ if (has-url?(?make-args))
+ register-page-urls("*" ## ?name ## "*", ?make-args)
+ end
}
{ define directory page ?:name (?superclasses:*) (?make-args:*)
?slot-specs:*
end }
=> { page-aux(?name; ?superclasses; ?make-args; ?slot-specs);
- has-url?(?make-args) & register-page-urls("*" ## ?name ## "*", ?make-args, prefix?: #t)
+ if (has-url?(?make-args))
+ register-page-urls("*" ## ?name ## "*", ?make-args, prefix?: #t)
+ end
}
end;
@@ -653,6 +657,7 @@
=> { define class "<" ## ?name ## ">" (?superclasses) ?slot-specs end;
define variable "*" ## ?name ## "*" = make("<" ## ?name ## ">", ?make-args) }
end;
+
define function has-url? (#key url :: false-or(<string>), #all-keys)
=> (url-provided? :: <boolean>);
if (url)
@@ -900,9 +905,13 @@
as(<string>, call), as(<string>, page.source-location), tag-start);
log-warning("The include directive doesn't allow a body; it should end in '/>'.");
end;
- let url = get-arg(call, #"url") | get-arg(call, #"uri") | get-arg(call, #"location");
+ // #"location" is preferred here because URL and URI can be misleading. This
+ // is relative to the source location of the page template, not relative to the
+ // requested URL
+ let url = get-arg(call, #"location") | get-arg(call, #"uri") | get-arg(call, #"url");
if (~url)
- parse-error("In template %=, '%%dsp:include' directive must have a 'url' attribute.",
+ parse-error("In template %=, '%%dsp:include' directive must have a "
+ "'location' attribute.",
as(<string>, page.source-location));
end;
let source = document-location(url, context: page-directory(page));
Modified: trunk/libraries/network/koala/sources/koala/utils.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/koala/utils.dylan (original)
+++ trunk/libraries/network/koala/sources/koala/utils.dylan Mon Jan 7 03:30:31 2008
@@ -252,14 +252,14 @@
define method find-object
(trie :: <string-trie>, path :: <sequence>)
local method fob (trie :: <string-trie>, path :: <list>, obj, rest)
- if (path = #())
+ if (empty?(path))
values(obj, rest)
else
let child = element(trie.trie-children, head(path), default: #f);
if (child)
fob(child, tail(path), child.trie-object | obj,
if (child.trie-object)
- if (tail(path) == #()) #f else tail(path) end
+ if (empty?(tail(path))) #f else tail(path) end
else
rest
end)
Modified: trunk/libraries/network/koala/www/demo/args.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/args.dsp (original)
+++ trunk/libraries/network/koala/www/demo/args.dsp Mon Jan 7 03:30:31 2008
@@ -7,15 +7,15 @@
<body>
- <%dsp:include url="header.dsp"/>
- <%dsp:include url="body-wrapper-start.dsp"/>
+ <%dsp:include location="header.dsp"/>
+ <%dsp:include location="body-wrapper-start.dsp"/>
<p>This page demonstrates a tag call with arguments.
<p><demo:show-keys arg1="100" arg2="foo"/>
- <%dsp:include url="body-wrapper-end.dsp"/>
- <%dsp:include url="footer.dsp"/>
+ <%dsp:include location="body-wrapper-end.dsp"/>
+ <%dsp:include location="footer.dsp"/>
</body>
</html>
Modified: trunk/libraries/network/koala/www/demo/footer.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/footer.dsp (original)
+++ trunk/libraries/network/koala/www/demo/footer.dsp Mon Jan 7 03:30:31 2008
@@ -1,4 +1,4 @@
-<%dsp:taglib name="demo" prefix="demo"/>
+<%dsp:taglib name="demo"/>
<hr noshade width="90%" align="center">
<table width="90%" align="center">
@@ -13,7 +13,7 @@
</dsp:if>
</td>
<td width="50%" align="right">
- <a href="home.dsp">Go back to demo home</a>
+ <a href="<demo:base-url/>/home.dsp">Go back to demo home</a>
</td>
</tr>
</table>
Modified: trunk/libraries/network/koala/www/demo/hello.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/hello.dsp (original)
+++ trunk/libraries/network/koala/www/demo/hello.dsp Mon Jan 7 03:30:31 2008
@@ -7,15 +7,15 @@
<body>
- <%dsp:include url="header.dsp"/>
- <%dsp:include url="body-wrapper-start.dsp"/>
+ <%dsp:include location="header.dsp"/>
+ <%dsp:include location="body-wrapper-start.dsp"/>
<p>This page demonstrates a simple tag call that displays "hello world".
<p><demo:hello/>
- <%dsp:include url="body-wrapper-end.dsp"/>
- <%dsp:include url="footer.dsp"/>
+ <%dsp:include location="body-wrapper-end.dsp"/>
+ <%dsp:include location="footer.dsp"/>
</body>
</html>
Modified: trunk/libraries/network/koala/www/demo/home.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/home.dsp (original)
+++ trunk/libraries/network/koala/www/demo/home.dsp Mon Jan 7 03:30:31 2008
@@ -5,39 +5,43 @@
<body>
- <%dsp:include url="header.dsp"/>
- <%dsp:include url="body-wrapper-start.dsp"/>
+ <%dsp:include location="header.dsp"/>
+ <%dsp:include location="body-wrapper-start.dsp"/>
+ <%dsp:taglib name="demo"/>
<h2>Home</h2>
- Each page of this demo demonstrates at least one different feature of
- Dylan Server Pages. There's no preset order to the pages; just click
- on one to see what happens and then look at the Dylan source (koala-basics.dylan)
- to see how it's implemented. There are comments in the source that
- should be helpful.
+ Each page of this demo demonstrates at least one different feature
+ of Dylan Server Pages. There's no preset order to the pages; just
+ click on one to see what happens and then look at the Dylan source
+ code to see how it's implemented. There are comments in the source
+ that should be helpful.
<p>
<h3>Contents</h3>
<ol>
- <li><a href="hello.dsp">Hello World</a></li>
- <li><a href="args.dsp">A tag with arguments</a></li>
- <li><a href="login.dsp">Login (demonstrates sessions)</a></li>
- <li><a href="logout.dsp">Logout (demonstrates sessions)</a></li>
- <li><a href="iterator.dsp?n=3">Iterator (demonstrates query values and body tags)</a></li>
- <li><a href="table.dsp">Table Generation</a></li>
+ <li><a href="<demo:base-url/>/hello.dsp">Hello World</a></li>
+ <li><a href="<demo:base-url/>/args.dsp">A tag with arguments</a></li>
+ <li><a href="<demo:base-url/>/login.dsp">Login (demonstrates sessions)</a></li>
+ <li><a href="<demo:base-url/>/logout.dsp">Logout (demonstrates sessions)</a></li>
+ <li><a href="<demo:base-url/>/iterator.dsp?n=3">Iterator (demonstrates query
+ values and body tags)</a></li>
+ <li><a href="<demo:base-url/>/table.dsp">Table Generation</a></li>
</ol>
<p>
<h3>Low-level Koala API</h3>
<ol>
- <li><a href="/responder1">A responder (the most basic way to respond to a URL)</a></li>
- <li><a href="/hello?a=1&b=2">Hello World (a non-DSP page)</a></li>
+ <li><a href="<demo:base-url/>/responder1">
+ A responder (the most basic way to respond to a URL)
+ </a></li>
+ <li><a href="<demo:base-url/>/hello?a=1&b=2">Hello World (a non-DSP page)</a></li>
</ol>
- <%dsp:include url="body-wrapper-end.dsp"/>
- <%dsp:include url="footer.dsp"/>
+ <%dsp:include location="body-wrapper-end.dsp"/>
+ <%dsp:include location="footer.dsp"/>
</body>
</html>
Modified: trunk/libraries/network/koala/www/demo/iterator.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/iterator.dsp (original)
+++ trunk/libraries/network/koala/www/demo/iterator.dsp Mon Jan 7 03:30:31 2008
@@ -7,8 +7,8 @@
<body>
- <%dsp:include url="header.dsp"/>
- <%dsp:include url="body-wrapper-start.dsp"/>
+ <%dsp:include location="header.dsp"/>
+ <%dsp:include location="body-wrapper-start.dsp"/>
<demo:show-errors/>
@@ -24,8 +24,8 @@
</demo:repeat>
- <%dsp:include url="body-wrapper-end.dsp"/>
- <%dsp:include url="footer.dsp"/>
+ <%dsp:include location="body-wrapper-end.dsp"/>
+ <%dsp:include location="footer.dsp"/>
</body>
</html>
Modified: trunk/libraries/network/koala/www/demo/login.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/login.dsp (original)
+++ trunk/libraries/network/koala/www/demo/login.dsp Mon Jan 7 03:30:31 2008
@@ -7,20 +7,24 @@
<body>
- <%dsp:include url="header.dsp"/>
- <%dsp:include url="body-wrapper-start.dsp"/>
+ <%dsp:include location="header.dsp"/>
+ <%dsp:include location="body-wrapper-start.dsp"/>
<dsp:show-form-notes/>
- <form action="welcome.dsp" method="post" enctype="application/x-www-form-urlencoded">
+ <form action="<demo:base-url/>/welcome.dsp"
+ method="post"
+ enctype="application/x-www-form-urlencoded">
+
<h2>Please Login</h2>
- <p>This page demonstrates posting to a Dylan Server Page (see the respond-to-post
- method), using the DSP session, and use of simple tags.
+ <p>This page demonstrates posting to a Dylan Server Page (see the
+ respond-to method), using the DSP session, and use of simple tags.
<p>Any username and password will do.
- <p>Try logging in without specifying both username and password to see the error mechanism.
+ <p>Try logging in without specifying both username and password to
+ see the error mechanism.
<p>
<table border="0" align="center" cellspacing="2">
@@ -33,13 +37,15 @@
<td nowrap><input name="password" value="" type="password"></td>
</tr>
<tr>
- <td nowrap align="right" colspan="2"><input name="submit" value="Login" type="submit"></td>
+ <td nowrap align="right" colspan="2">
+ <input name="submit" value="Login" type="submit">
+ </td>
</tr>
</table>
</form>
- <%dsp:include url="body-wrapper-end.dsp"/>
- <%dsp:include url="footer.dsp"/>
+ <%dsp:include location="body-wrapper-end.dsp"/>
+ <%dsp:include location="footer.dsp"/>
</body>
</html>
Modified: trunk/libraries/network/koala/www/demo/logout.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/logout.dsp (original)
+++ trunk/libraries/network/koala/www/demo/logout.dsp Mon Jan 7 03:30:31 2008
@@ -5,11 +5,11 @@
<body>
- <%dsp:include url="header.dsp"/>
+ <%dsp:include location="header.dsp"/>
<h2 align="center">ok, you're logged out.</h2>
- <%dsp:include url="footer.dsp"/>
+ <%dsp:include location="footer.dsp"/>
</body>
</html>
Modified: trunk/libraries/network/koala/www/demo/table.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/table.dsp (original)
+++ trunk/libraries/network/koala/www/demo/table.dsp Mon Jan 7 03:30:31 2008
@@ -7,8 +7,8 @@
<body>
- <%dsp:include url="header.dsp"/>
- <%dsp:include url="body-wrapper-start.dsp"/>
+ <%dsp:include location="header.dsp"/>
+ <%dsp:include location="body-wrapper-start.dsp"/>
<dsp:show-form-notes/>
@@ -63,8 +63,8 @@
</dsp:no-rows>
</dsp:table>
- <%dsp:include url="body-wrapper-end.dsp"/>
- <%dsp:include url="footer.dsp"/>
+ <%dsp:include location="body-wrapper-end.dsp"/>
+ <%dsp:include location="footer.dsp"/>
</body>
</html>
Modified: trunk/libraries/network/koala/www/demo/welcome.dsp
==============================================================================
--- trunk/libraries/network/koala/www/demo/welcome.dsp (original)
+++ trunk/libraries/network/koala/www/demo/welcome.dsp Mon Jan 7 03:30:31 2008
@@ -6,13 +6,13 @@
</head>
<body>
- <%dsp:include url="header.dsp"/>
- <%dsp:include url="body-wrapper-start.dsp"/>
+ <%dsp:include location="header.dsp"/>
+ <%dsp:include location="body-wrapper-start.dsp"/>
<h2>Welcome, <demo:current-username/>!</h2>
- <%dsp:include url="body-wrapper-end.dsp"/>
- <%dsp:include url="footer.dsp"/>
+ <%dsp:include location="body-wrapper-end.dsp"/>
+ <%dsp:include location="footer.dsp"/>
</body>
</html>
Modified: trunk/libraries/network/koala/www/koala/dsp.html
==============================================================================
--- trunk/libraries/network/koala/www/koala/dsp.html (original)
+++ trunk/libraries/network/koala/www/koala/dsp.html Mon Jan 7 03:30:31 2008
@@ -62,7 +62,7 @@
projects. This isn't necessary in DSP because with Dylan's powerful
language features writing custom tags is trivial and concise compared
to JSP. And with <a
-href="http://www.functionalobjects.com/">Functional Developer</a>, you
+href="http://www.opendylan.com/">Open Dylan</a>, you
often don't even need to restart your application to compile new
custom tags and try them out.)</font>
@@ -70,8 +70,7 @@
uses the Koala HTTP server library. This effectively means that each
DSP application has to run on a different Koala server and therefore on
a different HTTP port. (The plan is to eventually fix Koala to load DSP
-application libraries at runtime, based on configuration files, or
-better, to implement mod_dylan for Apache.)
+application libraries at runtime, based on configuration files.)
<a name="content-authoring"></a>
@@ -92,7 +91,7 @@
user. DSP directives use the same syntax as other tags, but they use
the special tag library name <strong>%dsp</strong>. For example, the <a
href="#include"><strong>include</strong></a> directive might look like
-this: <%dsp:include url="foo.dsp"/>.
+this: <%dsp:include location="foo.dsp"/>.
<p> Each top-level template file must have a corresponding instance
of <dylan-server-page> associated with it. This is accomplished
@@ -117,11 +116,13 @@
<dt><a name="include"></a><strong>%dsp:include</strong></dt>
<dd>Includes another DSP template (or plain HTML file) in the current page.
Example usage:
- <pre><%dsp:include url="header.dsp"/></pre>
+ <pre><%dsp:include location="header.dsp"/></pre>
+
+ Note that if the location given is absolute (i.e., begins with a slash)
+ then the document is looked up relative to the document root directory.
+ Otherwise it is looked up relative to the directory containing the current
+ document.
- Note that if the url given is absolute (i.e., begins with a slash) then the document
- is looked up relative to the document root directory. Otherwise it is looked up
- relative to the directory containing the current document.
<p>
</dd>
@@ -250,9 +251,9 @@
The following example tag should clear things up a bit:
<pre>
define tag current-time in demo
- (page :: <dylan-server-page>, response :: <response>)
+ (page :: <dylan-server-page>)
(style)
- write(output-stream(response), current-time(style));
+ write(output-stream(current-response()), current-time(style));
end;
</pre>
@@ -271,10 +272,8 @@
such that the <code>style</code> variable is bound to the value of
that parameter in the body of the tag definition.
-<p>The tag functon must always accept two arguments, <code>page</code>
-and <code>response</code>. The first argument will be an instance of
-<code><dylan-server-page></code> and the second will be an
-instance of <code><response></code>.
+<p>The tag functon must always accept one argument: <code>page</code>, an
+instance of <code><dylan-server-page></code>.
<a name="techref"></a>
@@ -360,15 +359,17 @@
<tr>
<td width="2%"> </td>
<td width="98%">
- Each tag definition creates a method that will be called when the tag is invoked.
- This is the parameter list for that method. The basic form of the parameter list is
- (<span class="param">page</span>, <span class="param">response</span> [, <span
- class="param">process-body</span>]). <span class="param">page</span> is an instance
- of <code><dylan-server-page></code>. <span class="param">response</span> is
- an instance of <code><response></code>. <span
- class="param">process-body</span> is an instance of <code><function></code>.
- The <span class="param">process-body</span> argument should be specified if and
+
+ Each tag definition creates a method that will be called when the tag is
+ invoked. This is the parameter list for that method. The basic form of
+ the parameter list is (<span class="param">page</span>[, <span
+ class="param">process-body</span>]). <span class="param">page</span> is
+ an instance of <code><dylan-server-page></code>. <span
+ class="param">process-body</span> is an instance of
+ <code><function></code>. The <span
+ class="param">process-body</span> argument should be specified if and
only if the <code>body</code> modifier is supplied.
+
<p>
</td>
</tr>
@@ -436,9 +437,9 @@
<code><pre>
define tag hello in demo
- (page :: <dylan-server-page>, response :: <response>)
+ (page :: <dylan-server-page>)
()
- format(output-stream(response), "Hello, world!");
+ format(output-stream(current-response()), "Hello, world!");
end;
</pre></code>
@@ -448,7 +449,6 @@
<code><pre>
define body tag three-times in demo
(page :: <dylan-server-page>,
- response :: <response>,
do-body :: <function>)
()
for (i from 1 to 3)
Modified: trunk/libraries/network/koala/www/koala/index.html
==============================================================================
--- trunk/libraries/network/koala/www/koala/index.html (original)
+++ trunk/libraries/network/koala/www/koala/index.html Mon Jan 7 03:30:31 2008
@@ -9,18 +9,9 @@
<body bgcolor="#DEEEFE">
-<table border="0" width="96%" cellpadding="4" cellspacing="0" align="center">
- <tr>
- <td width="20%" valign="top">
- <img src="koala.jpg" width="155" height="200">
- <br><br><br>
- <h3>Quick Links</h3>
- <br><a href="koala.html">Documentation</a>
- <br><a href="http://www.gwydiondylan.org/cgi-bin/viewcvs.cgi/trunk/libraries/network/koala/change-log.txt?view=markup">change-log.txt</a>
- <br><a href="http://www.gwydiondylan.org/cgi-bin/viewcvs.cgi/trunk/libraries/network/koala/">Browse Sources</a>
- </td>
- <td width="80%" valign="top">
- <h2>Koala HTTP Server and Template Engine</h2>
+<img src="koala.jpg" width="155" height="200">
+
+<h2>Koala HTTP Server and Template Engine</h2>
<b>What?</b>
@@ -37,18 +28,17 @@
in FunDev/Linux yet but some success was reported with linux-odbc.
There is no support for secure sockets on either platform.
-Check bugzilla for a list of <a href="https://www.gwydiondylan.org/bugs/buglist.cgi?query_format=advanced&product=Koala&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">known Koala bugs</a>.
+Check bugzilla for a list of <a href="http://www.opendylan.org/cgi-bin/bugzilla/buglist.cgi?query_format=advanced&product=Koala&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED">known Koala bugs</a>.
<p>
<b>How?</b>
<br>There is a small demo application included, which shows how to use
-the features of Koala and DSP. There is some rudimentary <a
-href="koala.html">documentation</a> included. See <b>Contact?</b>,
-below, if you have questions! Any and all feedback appreciated.
+the features of Koala and DSP. See <b>Contact?</b>, below, if you
+have questions! Any and all feedback appreciated.
<p>A heavily commented Koala configuration file can be found <a
-href="http://www.gwydiondylan.org/cgi-bin/viewcvs.cgi/trunk/libraries/network/koala/config/koala-config.xml?view=markup">here</a>.
+href="http://www.opendylan.org/cgi-bin/viewcvs.cgi/trunk/libraries/network/koala/config/koala-config.xml?view=markup">here</a>.
<p>
<b>Who?</b>
@@ -67,16 +57,12 @@
<li>Post to comp.lang.dylan and we'll see it!</li>
<li>Send mail to <a href="mailto:gd-hackers at gwydiondylan.org">gd-hackers at gwydiondylan.org</a>.</li>
<li>Come ask questions on IRC: irc.freenode.net #dylan</li>
- <li>Report bugs <a href="https://www.gwydiondylan.org/bugs/enter_bug.cgi?product=Koala">here</a>.
+ <li>Report bugs <a href="https://www.opendylan.org/cgi-bin/bugzilla/enter_bug.cgi?product=Koala">here</a>.
</ul>
<p>
<table border="0" width="100%">
- <tr><td align="right"><font size="-1"><i>Last modified: September, 2004</i></font></td></tr>
-</table>
-
- </td>
- </tr>
+ <tr><td align="right"><font size="-1"><i>Last modified: January, 2007</i></font></td></tr>
</table>
</body>
More information about the chatter
mailing list