From sscholl at common-lisp.net Thu Sep 1 13:24:22 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Thu, 1 Sep 2005 15:24:22 +0200
Subject: [cl-wiki-devel] cl-wiki: goals for development?
In-Reply-To: <430E00DD.5040709@cavewallarts.com>
References: <430E00DD.5040709@cavewallarts.com>
Message-ID: <20050901132422.GI11447@parsec.no-spoon.de>
On 2005-08-25 10:33:17, Kevin Griffin wrote:
> One thing that I've liked about cl-wiki, as oppposed to cliki, is that
> it's not dependent on SBCL internals. Maybe we can emphasize cl-wiki's
> portability. I know it works under OpenMCL, and I'll be testing it under
> a couple of others, as time permits.
CLISP on Windows would be nice, too. And some time in the future
a compiled binary with LispWorks.
CL-WIKI uses TBNL which itself uses KMRCL. So every system and
Common Lisp implementation which is supported by KMRCL should
work.
> Another option is to aim towards responsiveness or smallness of memory
> footprint.
>
> What are anyone's thoughts on this? What do we want to see in cl-wiki?
I'd like it to be usable by normal people. Who do or do not know
other wikis like Wikipedia.
On my last job a UseMod wiki was installed and most of the
co-workers were able to form it to the specific needs. So I think
it would be a good idea to learn from easy wikis engines like
UseMod and common wiki software like MediaWiki.
But not all features at once. And not all features at all.
That said I'd like to keep the common wiki syntax for text
formatting. No lispy stuff. But no CamelCase either.
The typical wiki features which should be included next:
- Versioning
- Diffs
- Recent Changes
- More text formatting codes.
"Recent Changes" could be coupled with an index which is needed
to determine if a page exists or not, so you can display a ?
(question mark) link after non existant but linked pages.
Authorization and user management will be needed, too. But
optional and discouraged in the spirit of wikis.
I'd also like to avoid the use of SQL databases. Storing pages in
the filesystem shouldn't be that complicated. And CL-WIKI can't
be used on typical PHP+MySQL webspace anyways. :-)
> Also- Stefan - what repository will have the development version of cl-wiki?
The one which is coming soon.
darcs () like every cool kid today. :-)
Regards,
Stefan
From vehbisinan at gmail.com Fri Sep 2 07:02:05 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Fri, 02 Sep 2005 10:02:05 +0300
Subject: [cl-wiki-devel] How to detach from command line
Message-ID: <4317F8ED.5030107@gmail.com>
Hi,
I wonder how you detach the cl-wiki as well as the cl interpreter from
command line? We will use the system for production purposes, so we have
to leave the system running on a linux server.
Do you think that following is ok?
$ nohup cmucl -load wiki.lsp &
(wiki.lsp contains the initial script for loading cl-wiki and running it.)
I tried and it is running. But I want to know how you accomplish that?
Thanks a lot..
--vst
From kevin at cavewallarts.com Fri Sep 2 07:39:16 2005
From: kevin at cavewallarts.com (Kevin Griffin)
Date: Fri, 02 Sep 2005 00:39:16 -0700
Subject: [cl-wiki-devel] How to detach from command line
In-Reply-To: <4317F8ED.5030107@gmail.com>
References: <4317F8ED.5030107@gmail.com>
Message-ID: <431801A4.6060800@cavewallarts.com>
Vehbi Sinan Tunalioglu wrote:
> Hi,
>
> I wonder how you detach the cl-wiki as well as the cl interpreter from
> command line? We will use the system for production purposes, so we have
> to leave the system running on a linux server.
>
> Do you think that following is ok?
>
> $ nohup cmucl -load wiki.lsp &
>
> (wiki.lsp contains the initial script for loading cl-wiki and running
it.)
>
> I tried and it is running. But I want to know how you accomplish that?
See Dan Barlow's detachtty
http://www.cliki.net/detachtty
We're using this, plus a system V init script mentioned earlier.
You also may want to look at Fare's cl-launch (I haven't played with it
yet).
Kevin Griffin
From clelland at gmail.com Fri Sep 2 07:40:45 2005
From: clelland at gmail.com (Ian Clelland)
Date: Fri, 2 Sep 2005 00:40:45 -0700
Subject: [cl-wiki-devel] cl-wiki: goals for development?
In-Reply-To: <20050901132422.GI11447@parsec.no-spoon.de>
References: <430E00DD.5040709@cavewallarts.com>
<20050901132422.GI11447@parsec.no-spoon.de>
Message-ID:
On 9/1/05, Stefan Scholl wrote:
> Authorization and user management will be needed, too. But
> optional and discouraged in the spirit of wikis.
I tend to run all of my web services behind an apache front-end; by
policy, apache is the only HTTP server I ever expose directly to the
Internet. So authorization isn't a big thing for me. Any access
control I need to implement can be done at the apache level.
What's more important for me is that config file; I'd really like to
have things like *wiki-directory* and *wiki-template-directory* in a
plain text file somewhere; that'd make integration with apache much
easier.
I think that what initially attracted me to cl-wiki was its
simplicity; I liked the fact that I could read all of the source code
and easily understand what each piece did, and how to extend it,
should the need arise. I think that, whatever new features get added
to it, we should try to preserve that kind of simplicity.
Regards,
Ian Clelland
From clelland at gmail.com Fri Sep 2 07:55:50 2005
From: clelland at gmail.com (Ian Clelland)
Date: Fri, 2 Sep 2005 00:55:50 -0700
Subject: [cl-wiki-devel] promised patch file
Message-ID:
Until the darcs repository is set up, I'm going to have to resort to
doing this :)
This patch, to 0.0.3, contains my removal of *wiki-url* from generated
links, and two new wikimarkup codes (the [[wikipage|description]]
form, and the [http://externalsite] form)
(Save this text to a file, then cd to the cl-wiki-0.0.3 directory, and run
patch -p0 < patchfilename
to update existing source files)
Regards,
Ian Clelland
--------------------------------------------------
File: wiki.lisp.patch:
--- /home/ian/cl-wiki-0.0.3/wiki.lisp 2005-09-02 00:46:25.000000000 -0700
+++ wiki.lisp 2005-08-31 15:54:21.000000000 -0700
@@ -33,7 +33,7 @@
(defun current-page ()
"Extracts the current page from the URL."
- (subseq (tbnl:script-name) (length *wiki-url*)))
+ (let ((url (tbnl:script-name))) (subseq url (+ 1 (position #\/ url
:from-end T)))))
;; From lemonodor's LSP
(defun contents-of-file (pathname)
@@ -56,7 +56,10 @@
(defparameter *simple-replace*
'(("\\x0d?\\x0a" . "
")
("'''(.*?)'''" . "\\1")
- ("''(.*?)''" . "\\1"))
+ ("''(.*?)''" . "\\1")
+ ("\\[\\[([^]\">|]*?)\\|([^]\">]*?)\\]\\]" . "\\2")
+ ("\\[\\[(.*?)\\]\\]" . "\\1")
+ ("\\[(http|ftp|mailto|gopher):([^\">].*?)\\]" . "\\1:\\2"))
"List of conses. CAR is regexp and CDR replace-string for
CL-PPCRE:REGEX-REPLACE-ALL.")
@@ -68,9 +71,7 @@
(defun complex-translate (string)
"Translate the more complex wiki codes."
- (ppcre:regex-replace-all "\\[\\[(.*?)\\]\\]"
- string
- (format nil "\\1"
*wiki-url*)))
+ string)
;; Code from Edi Weitz's TBNL
@@ -110,7 +111,7 @@
:env `(:edit ,edit
:base-url ,*wiki-url*
:page-list ,*wiki-page-list*
- :edit-url ,(format nil "~A~A?action=edit"
*wiki-url* page)
+ :edit-url ,(format nil "~A?action=edit" page)
:title ,page
:body ,body)))
@@ -121,7 +122,7 @@
(contents-of-file path)
(format nil "Describe ~A here." page)))
(body (with-html-output-to-string (s)
- (:form :action (format nil "~A~A" *wiki-url* page)
:method "POST"
+ (:form :action (format nil "~A" page) :method "POST"
(:fieldset
(:legend "Edit page")
(:input :type "hidden" :name "action" :value "save")
From vehbisinan at gmail.com Fri Sep 2 08:50:51 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Fri, 02 Sep 2005 11:50:51 +0300
Subject: [cl-wiki-devel] 2 problems for Cmucl
Message-ID: <4318126B.2090102@gmail.com>
Hi,
Thanks for the previous answer.
2 problems appear for cmucl:
1. I should explicitly say wiki:*wiki-directory* instead as it appears
on the home page of cl-wiki. Changed
(setf *wiki-directory* #p"/home/vst/cl-wiki")
to
(setf wiki:*wiki-directory* #p"/home/vst/cl-wiki")
2. In wiki.lisp, (html-mode) gives an error message. Is it a function of
cl-who? I already installed cl-who. When I say
html-mode :sgml
instead of
(html-mode) :sgml
no problems appear. Do I loose much functionality?
Same things apply for the sbcl as well.
I hope I don't bother you with stupid questions :) I think you need
testers :)
--vst
From sscholl at common-lisp.net Fri Sep 2 09:33:46 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Fri, 2 Sep 2005 11:33:46 +0200
Subject: [cl-wiki-devel] 2 problems for Cmucl
In-Reply-To: <4318126B.2090102@gmail.com>
References: <4318126B.2090102@gmail.com>
Message-ID: <20050902093346.GN11447@parsec.no-spoon.de>
On 2005-09-02 11:50:51, Vehbi Sinan Tunalioglu wrote:
> 2 problems appear for cmucl:
>
> 1. I should explicitly say wiki:*wiki-directory* instead as it appears
> on the home page of cl-wiki. Changed
> (setf *wiki-directory* #p"/home/vst/cl-wiki")
> to
> (setf wiki:*wiki-directory* #p"/home/vst/cl-wiki")
>
> 2. In wiki.lisp, (html-mode) gives an error message. Is it a function of
> cl-who? I already installed cl-who. When I say
> html-mode :sgml
> instead of
> (html-mode) :sgml
> no problems appear. Do I loose much functionality?
Is there any CL-WIKI home page I don't know of? The project page
can be found under http://common-lisp.net/project/cl-wiki/
You need CL-WHO 0.6.0.
The wiki:*wiki-directory* must be set to a directory pathname.
For CMUCL this is done by letting the path end with a slash.
(setf wiki:*wiki-directory* #p"/home/vst/cl-wiki/")
Regards,
Stefan
From vehbisinan at gmail.com Fri Sep 2 10:07:39 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Fri, 02 Sep 2005 13:07:39 +0300
Subject: [cl-wiki-devel] 2 problems for Cmucl
In-Reply-To: <20050902093346.GN11447@parsec.no-spoon.de>
References: <4318126B.2090102@gmail.com>
<20050902093346.GN11447@parsec.no-spoon.de>
Message-ID: <4318246B.2080108@gmail.com>
Stefan Scholl wrote:
>
> Is there any CL-WIKI home page I don't know of? The project page
> can be found under http://common-lisp.net/project/cl-wiki/
I meant http://common-lisp.net/project/cl-wiki/
You are right, it is project page.
>
> You need CL-WHO 0.6.0.
>
It seems that debian package for cl-who is not the one we need. I
installed latest version of cl-who and it works...
> The wiki:*wiki-directory* must be set to a directory pathname.
> For CMUCL this is done by letting the path end with a slash.
>
> (setf wiki:*wiki-directory* #p"/home/vst/cl-wiki/")
On the *project* page, it is
(setf *wiki-directory* #p"/home/vst/cl-wiki/")
not
(setf wiki:*wiki-directory* #p"/home/vst/cl-wiki/")
One might change it.
Thanks a lot...
--vst
From kevin at cavewallarts.com Fri Sep 2 20:21:46 2005
From: kevin at cavewallarts.com (Kevin Griffin)
Date: Fri, 02 Sep 2005 13:21:46 -0700
Subject: [cl-wiki-devel] 2 problems for Cmucl
In-Reply-To: <4318246B.2080108@gmail.com>
References: <4318126B.2090102@gmail.com>
<20050902093346.GN11447@parsec.no-spoon.de>
<4318246B.2080108@gmail.com>
Message-ID: <4318B45A.2000301@cavewallarts.com>
Vehbi Sinan Tunalioglu wrote
> On the *project* page, it is
>
> (setf *wiki-directory* #p"/home/vst/cl-wiki/")
>
> not
>
> (setf wiki:*wiki-directory* #p"/home/vst/cl-wiki/")
>
> One might change it.
>
> Thanks a lot...
> --vst
This was changed many weeks ago. If you could provide a link to this out
of date information, there may be some hope of fixing it. Otherwise, I'm
going to assume that the documentation that's out there is accurate.
With many thanks,
Kevin
From kevin at cavewallarts.com Fri Sep 2 20:52:35 2005
From: kevin at cavewallarts.com (Kevin Griffin)
Date: Fri, 02 Sep 2005 13:52:35 -0700
Subject: [cl-wiki-devel] 2 problems for Cmucl
Message-ID: <4318BB93.7000208@cavewallarts.com>
Vehbi Sinan Tunalioglu wrote
> On the *project* page, it is
>
> (setf *wiki-directory* #p"/home/vst/cl-wiki/")
>
> not
>
> (setf wiki:*wiki-directory* #p"/home/vst/cl-wiki/")
>
> One might change it.
>
> Thanks a lot...
> --vst
It may also be that you are behind a caching proxy, showing you an older
version of the main page.
I apologize for my impatience earlier - it's just that this was
addressed on the mailing list (the archives of which are fully
available, and searchable.) http://common-lisp.net/pipermail/cl-wiki-devel/
Thanks!
From vehbisinan at gmail.com Sun Sep 4 16:23:47 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Sun, 04 Sep 2005 19:23:47 +0300
Subject: [cl-wiki-devel] Encoding question and a patch
Message-ID: <431B1F93.7040007@gmail.com>
Hi,
One question, One patch :)
Question:
We want to maintain a turkish wiki. If we edit a page containing UTF
characters (dedicated for turkish symbols) they are all translated to
unknown stupid characters. By each addition, it goes worse...
1) ?
2) ??
3) ????
4) ?????????
etc.
I think, #'with-html-output-to-string or #'esc are responsible for that.
Any idea?
Patch:
http://www.vsthost.com/materials/wordpress/patches20050904.tar.gz
Changelog:
* added url-decode for space character (correct display of page title)
* added backup functionality (a trivial way, no versioning or
differencing, just puttin' the previous version of the file into a
backup folder. useful for emergency...)
* exported *wiki-page-list* along with *wiki-url*, *wiki-directory* etc...
Note:
First, apply Ian's patch and then, mine to cl-wiki-0.0.3. Ian's patch is
in the folder as well.
Best Regards,
--vst
From clelland at gmail.com Tue Sep 6 04:17:31 2005
From: clelland at gmail.com (Ian Clelland)
Date: Mon, 5 Sep 2005 21:17:31 -0700
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To:
References: <431B1F93.7040007@gmail.com>
<431BDD59.9070707@gmail.com>
Message-ID:
On 9/5/05, Ian Clelland wrote:
> On 9/4/05, Vehbi Sinan Tunalioglu wrote:
> > Thanks Ian...
> >
> > I could not find the #'esc documentation either... I'm trying to fix it,
> > too.
>
> I looked into it a bit more yesterday, there is no "esc" function per
> se; rather cl-who interprets a form like (esc "some string") as if it
> were an actual function call to (escape-char "some string")
>
> It's the cl-who:escape-char function which is giving us these
> problems. I'm looking at possible ways of shadowing that function with
> our own version, or possibly just bypassing it and writing a utf-8
> decoding function for cl-wiki.
After a lot of hassle dealing with cl-who, and after determining that
the sbcl that comes with Debian Sarge does not, in fact, support
unicode, and after thinking a lot about where to position a custom
UTF-8 decoder, I have realised that the best solution to this problem
is to simply not use the form (esc content). Instead, we can use (str
(escape-for-html content)), and use exactly the same formatting rules
in the editting textarea as we do for the standard page output.
------------------------------------------------------------
Quick patch file:
--- /home/ian/cl-wiki-0.0.3/wiki.lisp 2005-09-05 21:07:10.000000000 -0700
+++ wiki.lisp 2005-09-05 21:05:14.000000000 -0700
@@ -127,7 +127,7 @@
(:legend "Edit page")
(:input :type "hidden" :name "action" :value "save")
(:p
- (:textarea :name "content" :rows "15" :cols
"60" (esc content)))
+ (:textarea :name "content" :rows "15" :cols
"60" (str (escape-for-html content))))
(:input :type "submit" :value "Save"))))))
(execute-main-template page body :edit t)))
------------------------------------------------------------
I've tried this on our running site, and it loads and saves unicode
documents with no problems.
Let me know if this works for you.
Regards,
Ian Clelland
From emres at bilgi.edu.tr Tue Sep 6 07:11:34 2005
From: emres at bilgi.edu.tr (=?ISO-8859-1?Q?Emre_Sevin=E7?=)
Date: Tue, 06 Sep 2005 10:11:34 +0300
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To:
References: <431B1F93.7040007@gmail.com> <431BDD59.9070707@gmail.com>
Message-ID: <431D4126.4070608@bilgi.edu.tr>
Ian Clelland wrote:
>On 9/5/05, Ian Clelland wrote:
>
>
>>On 9/4/05, Vehbi Sinan Tunalioglu wrote:
>>
>>
>>>Thanks Ian...
>>>
>>>I could not find the #'esc documentation either... I'm trying to fix it,
>>>too.
>>>
>>>
>>I looked into it a bit more yesterday, there is no "esc" function per
>>se; rather cl-who interprets a form like (esc "some string") as if it
>>were an actual function call to (escape-char "some string")
>>
>>It's the cl-who:escape-char function which is giving us these
>>problems. I'm looking at possible ways of shadowing that function with
>>our own version, or possibly just bypassing it and writing a utf-8
>>decoding function for cl-wiki.
>>
>>
>
>
>After a lot of hassle dealing with cl-who, and after determining that
>the sbcl that comes with Debian Sarge does not, in fact, support
>unicode,
>
But the one that comes with Debian SID (unstable) does support Unicode,
as far as I know. I had similar
problems with older versions of SBCL on my Debian GNU/Linux PC at home
and the solution
was to upgrade to the unstable package (which also needed an upgrade
from linux 2.4 to 2.6.11).
And I think CLISP supports it too. So is it a problem only related to
the Lisp compiler used
for cl-wiki?
> and after thinking a lot about where to position a custom
>UTF-8 decoder, I have realised that the best solution to this problem
>is to simply not use the form (esc content). Instead, we can use (str
>(escape-for-html content)), and use exactly the same formatting rules
>in the editting textarea as we do for the standard page output.
>
>
>...
>I've tried this on our running site, and it loads and saves unicode
>documents with no problems.
>
>Let me know if this works for you.
>
I hope it works for us, too. (Sinan will probably apply and try and
inform everybody today) :)
Istanbul Bilgi University's Lisp User's Group trusts you:
http://church.cs.bilgi.edu.tr/lcg
--
Emre Sevinc
eMBA Software Development
Istanbul Bilgi University
http://www.bilgi.edu.tr
From clelland at gmail.com Tue Sep 6 07:49:16 2005
From: clelland at gmail.com (Ian Clelland)
Date: Tue, 6 Sep 2005 00:49:16 -0700
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <431D4126.4070608@bilgi.edu.tr>
References: <431B1F93.7040007@gmail.com>
<431BDD59.9070707@gmail.com>
<431D4126.4070608@bilgi.edu.tr>
Message-ID:
On 9/6/05, Emre Sevin? wrote:
> But the one that comes with Debian SID (unstable) does support Unicode,
> as far as I know. I had similar
> problems with older versions of SBCL on my Debian GNU/Linux PC at home
> and the solution
> was to upgrade to the unstable package (which also needed an upgrade
> from linux 2.4 to 2.6.11).
>
> And I think CLISP supports it too. So is it a problem only related to
> the Lisp compiler used
> for cl-wiki?
Well, the wiki pages on disk are not loaded in any special way, so I
believe that they default to 8-bit ascii mode. Because of this, the
escape-string function of cl-who is inappropriate for handling
utf-8-encoded data (it just encodes each byte as a separate
character).
If there was full unicode support in my version of sbcl, we might be
able to pass :external-format :utf-8 to #'with-open-file and get
multi-byte support internally. If that were the case, then
escape-string would probably work correctly, and would create the
proper sgml entities for unicode characters.
I don't know if that technique is portable at all across the different
implementations of common lisp.
The change that I made just makes cl-wiki ignore high-ascii
characters, and only escape <, >, ", ', and &. Since HTTP is an
8-bit-safe protocol, there is no problem sending unicode characters
directly.
(The only other change I made, which I forgot to mention earlier, is
that I added the line
to the head section of my main template.)
> I hope it works for us, too. (Sinan will probably apply and try and
> inform everybody today) :)
>
> Istanbul Bilgi University's Lisp User's Group trusts you:
>
> http://church.cs.bilgi.edu.tr/lcg
Thanks; I'll try not to let you down :)
Regards,
Ian Clelland
From sscholl at common-lisp.net Tue Sep 6 14:03:26 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Tue, 6 Sep 2005 16:03:26 +0200
Subject: [cl-wiki-devel] Living without *wiki-url*
In-Reply-To:
References:
Message-ID: <20050906140326.GN11447@parsec.no-spoon.de>
Thanks for the idea and patch, Ian!
I had to add a change to WIKI:INIT, too. The prefix dispatcher
isn't needed anymore. Now I just set TBNL:*DEFAULT-HANDLER* to 'WIKI
From sscholl at common-lisp.net Tue Sep 6 14:24:44 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Tue, 6 Sep 2005 16:24:44 +0200
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <431B1F93.7040007@gmail.com>
References: <431B1F93.7040007@gmail.com>
Message-ID: <20050906142444.GO11447@parsec.no-spoon.de>
On 2005-09-04 19:23:47, Vehbi Sinan Tunalioglu wrote:
> Changelog:
> * added url-decode for space character (correct display of page title)
Good thinking. I've changed it a bit: Call to TBNL::URL-DECODE at
CURRENT-PAGE. The page name should always be decoded.
> * added backup functionality (a trivial way, no versioning or
> differencing, just puttin' the previous version of the file into a
> backup folder. useful for emergency...)
I must think about it. Don't know if I will put this into the
0.0.4 release. One of the next (after 0.0.4) few important steps
is to plan a format and way who to save the pages with metadata,
etc.
Regards,
Stefan
From sscholl at common-lisp.net Tue Sep 6 19:28:14 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Tue, 6 Sep 2005 21:28:14 +0200
Subject: [cl-wiki-devel] New Release CL-WIKI 0.0.4
Message-ID: <20050906192814.GP11447@parsec.no-spoon.de>
New release CL-WIKI 0.0.4
CL-WIKI is a wiki engine for Common Lisp. It uses TBNL, CL-PPCRE,
CL-WHO and CL-EMB. Can be used stand-alone, with Apache + mod_lisp,
or behind any http proxy.
You can download it from
http://common-lisp.net/project/cl-wiki/
or install with ASDF-Install.
CL-USER> (asdf:operate 'asdf:load-op :asdf-install)
CL-USER> (asdf-install:install :cl-wiki)
Changes:
- Locking for CL-EMB. CL-WIKI now needs CL-EMB >= 0.4.2
- config file
- added simple start script for CMUCL
- removed *WIKI-URL*
- URL en- and decode page names
- more wiki codes (links with other text and external links)
[[Page|Text]] ==> Generates a link to named page
and links Text.
[http://www.somepage.example/] ==> Inserts external link
External links get the class "external" + the url scheme.
rel="nofollow" is used.
[http://www.google.com/] -->
http://www.google.com/
From clelland at gmail.com Tue Sep 6 20:20:35 2005
From: clelland at gmail.com (Ian Clelland)
Date: Tue, 6 Sep 2005 13:20:35 -0700
Subject: [cl-wiki-devel] Re: New Release CL-WIKI 0.0.4
In-Reply-To:
References: <20050906192814.GP11447@parsec.no-spoon.de>
Message-ID:
On 9/6/05, Stefan Scholl wrote:
> New release CL-WIKI 0.0.4
> Changes:
> - config file
I can tell already that I'm really going to get a lot of use out of
the config file :) I really appreciate that it's just a plain lisp
file as well, and not a text file with a custom parser.
Looking through the source, I can see that the other thing I'd like to
be able to set in the config file is (html-mode) -- I'm trying to get
a lot of my sites into XHTML, and it looks like that would be an easy
way to do it with all of the wikis (well, that and an XML-ish template
file) -- that's a wishlist feature though, not critical at all.
> External links get the class "external" + the url scheme.
> rel="nofollow" is used.
That's a really good idea; makes me wish I'd thought of it first.
The release looks really good, Stefan -- the only thing I'm going to
have to do to my local versions is to fix the over-zealous encoding in
the edit page, so that unicode characters can be supported.
Now I'm off to do more testing, and to upgrade the servers :)
Regards,
Ian Clelland
From emres at bilgi.edu.tr Tue Sep 6 21:12:16 2005
From: emres at bilgi.edu.tr (Emre Sevinc)
Date: Wed, 7 Sep 2005 00:12:16 +0300
Subject: [cl-wiki-devel] Re: New Release CL-WIKI 0.0.4
Message-ID: <9940BA60F8E6414F9F0307DD411BCF6906BF92C1@Ex2k.bilgi.networks>
>I can tell already that I'm really going to get a lot of use out of
>the config file :) I really appreciate that it's just a plain lisp
>file as well, and not a text file with a custom parser.
Did somebody say power of Lisp? ;-)
>> External links get the class "external" + the url scheme.
>> rel="nofollow" is used.
>That's a really good idea; makes me wish I'd thought of it first.
Is there syntax for HTML effects like, H1, bold, italic, numbered
list, unnumbered list, etc.?
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From clelland at gmail.com Tue Sep 6 21:26:35 2005
From: clelland at gmail.com (Ian Clelland)
Date: Tue, 6 Sep 2005 14:26:35 -0700
Subject: [cl-wiki-devel] Re: New Release CL-WIKI 0.0.4
In-Reply-To: <9940BA60F8E6414F9F0307DD411BCF6906BF92C1@Ex2k.bilgi.networks>
References: <9940BA60F8E6414F9F0307DD411BCF6906BF92C1@Ex2k.bilgi.networks>
Message-ID:
On 9/6/05, Emre Sevinc wrote:
> Is there syntax for HTML effects like, H1, bold, italic, numbered
> list, unnumbered list, etc.?
There's no way to include raw HTML tags in the wiki content, if that's
what you mean.
There are a couple of different standards, I think, for including
things like , , that are really easy to implement. Something
like this:
****This is a heading**** --> This is a heading
***This is a subheading*** --> This is a subheading
(h2 and h3 would probably be better, and reserve h1 for the page title
in the template)
Lists are more complicated; they are usually formatted somthing like this:
. First list element
. Second list element
for unordered lists, and
1. First list element
2. Second list element
for ordered lists (the actual numbering doesn't do anything, but the
fact that there are numbers there tells the wiki engine to use an
tag).
Those are much more difficult to implement, and I'm not certain that
they can be done with regular expression replacement at all.
CL-wiki already has bold and italic effects, in the form of and
tags (use double and triple quote marks, respectively). The
CSS almost always makes those into italic and bold fonts.
Regards,
Ian Clelland
From vehbisinan at gmail.com Wed Sep 7 05:41:01 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Wed, 07 Sep 2005 08:41:01 +0300
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <20050906142444.GO11447@parsec.no-spoon.de>
References: <431B1F93.7040007@gmail.com>
<20050906142444.GO11447@parsec.no-spoon.de>
Message-ID: <431E7D6D.3090908@gmail.com>
Stefan Scholl wrote:
> On 2005-09-04 19:23:47, Vehbi Sinan Tunalioglu wrote:
>
>>* added backup functionality (a trivial way, no versioning or
>>differencing, just puttin' the previous version of the file into a
>>backup folder. useful for emergency...)
>
>
> I must think about it. Don't know if I will put this into the
> 0.0.4 release. One of the next (after 0.0.4) few important steps
> is to plan a format and way who to save the pages with metadata,
> etc.
>
I would better not use my idea :) This is a very trivial way. You are
mentioning a metadata format: This would be nice. Besides, we could
employ the "difference" method for handling the versions.
--vst
From vehbisinan at gmail.com Wed Sep 7 05:58:19 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Wed, 07 Sep 2005 08:58:19 +0300
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To:
References: <431B1F93.7040007@gmail.com> <431BDD59.9070707@gmail.com> <431D4126.4070608@bilgi.edu.tr>
Message-ID: <431E817B.7010507@gmail.com>
It works!!!
No need for:
Since the http body content is already is marked as utf8 in header...
I just changed (esc content) to (str (escape-for-html content))
Thanks...
Ian Clelland wrote:
> On 9/6/05, Emre Sevin? wrote:
>
>>But the one that comes with Debian SID (unstable) does support Unicode,
>>as far as I know. I had similar
>>problems with older versions of SBCL on my Debian GNU/Linux PC at home
>>and the solution
>>was to upgrade to the unstable package (which also needed an upgrade
>>from linux 2.4 to 2.6.11).
>>
>>And I think CLISP supports it too. So is it a problem only related to
>>the Lisp compiler used
>>for cl-wiki?
>
>
> Well, the wiki pages on disk are not loaded in any special way, so I
> believe that they default to 8-bit ascii mode. Because of this, the
> escape-string function of cl-who is inappropriate for handling
> utf-8-encoded data (it just encodes each byte as a separate
> character).
>
> If there was full unicode support in my version of sbcl, we might be
> able to pass :external-format :utf-8 to #'with-open-file and get
> multi-byte support internally. If that were the case, then
> escape-string would probably work correctly, and would create the
> proper sgml entities for unicode characters.
>
> I don't know if that technique is portable at all across the different
> implementations of common lisp.
>
> The change that I made just makes cl-wiki ignore high-ascii
> characters, and only escape <, >, ", ', and &. Since HTTP is an
> 8-bit-safe protocol, there is no problem sending unicode characters
> directly.
>
> (The only other change I made, which I forgot to mention earlier, is
> that I added the line
>
> to the head section of my main template.)
>
>
>>I hope it works for us, too. (Sinan will probably apply and try and
>>inform everybody today) :)
>>
>>Istanbul Bilgi University's Lisp User's Group trusts you:
>>
>>http://church.cs.bilgi.edu.tr/lcg
>
>
> Thanks; I'll try not to let you down :)
>
>
> Regards,
>
> Ian Clelland
>
> _______________________________________________
> cl-wiki-devel mailing list
> cl-wiki-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/cl-wiki-devel
From vehbisinan at gmail.com Wed Sep 7 05:58:35 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Wed, 07 Sep 2005 08:58:35 +0300
Subject: [cl-wiki-devel] Re: New Release CL-WIKI 0.0.4
In-Reply-To:
References: <9940BA60F8E6414F9F0307DD411BCF6906BF92C1@Ex2k.bilgi.networks>
Message-ID: <431E818B.7070202@gmail.com>
Ian Clelland wrote:
> On 9/6/05, Emre Sevinc wrote:
>
> Those are much more difficult to implement, and I'm not certain that
> they can be done with regular expression replacement at all.
No way :( Actually, theoretically it is possible. This is especially
very hard to do when nested lists are in concern.
On the other hand, thinks like headings can be easily added. I propose
adding a #'complex-replace for complicated tasks. #'simple-replace is
simple enough to be modified by anyone else.
Formatting lists is a matter of following the context. We should first
start an or if and only if the list item is the first list
item of the following item sequence and close it when the sequence is
finished. We should use some flags for this process. Any other idea?
--vst
From sscholl at common-lisp.net Wed Sep 7 12:39:37 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Wed, 7 Sep 2005 14:39:37 +0200
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <431E817B.7010507@gmail.com>
References: <431B1F93.7040007@gmail.com>
<431BDD59.9070707@gmail.com>
<431D4126.4070608@bilgi.edu.tr>
<431E817B.7010507@gmail.com>
Message-ID: <20050907123937.GY11447@parsec.no-spoon.de>
On 2005-09-07 08:58:19, Vehbi Sinan Tunalioglu wrote:
> I just changed (esc content) to (str (escape-for-html content))
Hmm. It seems this could be fixed by setting CL-WHO's *ESCAPE-CHAR-P*
to an other test function which then lets CL-WHO's ESCAPE-STRING
behave like CL-WIKI's ESCAPE-FOR-HTML.
I'll give it a try after work.
From sscholl at common-lisp.net Wed Sep 7 12:47:38 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Wed, 7 Sep 2005 14:47:38 +0200
Subject: [cl-wiki-devel] New Release CL-WIKI 0.0.4
In-Reply-To: <20050906192814.GP11447@parsec.no-spoon.de>
References: <20050906192814.GP11447@parsec.no-spoon.de>
Message-ID: <20050907124738.GZ11447@parsec.no-spoon.de>
On 2005-09-06 21:28:14, Stefan Scholl wrote:
> Changes:
>
> - Locking for CL-EMB. CL-WIKI now needs CL-EMB >= 0.4.2
Sorry, that was a bit small.
CL-WIKI 0.0.4 needs CL-EMB 0.4.2 (or higher)
:-)
That's the curse of 0.0.x versions.
From sscholl at common-lisp.net Wed Sep 7 17:17:10 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Wed, 7 Sep 2005 19:17:10 +0200
Subject: [cl-wiki-devel] New Release CL-WIKI 0.0.5
Message-ID: <20050907171710.GD11447@parsec.no-spoon.de>
New release CL-WIKI 0.0.5
CL-WIKI is a wiki engine for Common Lisp. It uses TBNL, CL-PPCRE,
CL-WHO and CL-EMB. Can be used stand-alone, with Apache + mod_lisp,
or behind any http proxy.
You can download it from
http://common-lisp.net/project/cl-wiki/
or install with ASDF-Install.
CL-USER> (asdf:operate 'asdf:load-op :asdf-install)
CL-USER> (asdf-install:install :cl-wiki)
Changes:
- Problem with utf-8 editing solved
From sscholl at common-lisp.net Wed Sep 7 17:22:31 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Wed, 7 Sep 2005 19:22:31 +0200
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <20050907123937.GY11447@parsec.no-spoon.de>
References: <431B1F93.7040007@gmail.com>
<431BDD59.9070707@gmail.com>
<431D4126.4070608@bilgi.edu.tr>
<431E817B.7010507@gmail.com>
<20050907123937.GY11447@parsec.no-spoon.de>
Message-ID: <20050907172231.GE11447@parsec.no-spoon.de>
On 2005-09-07 14:39:37, Stefan Scholl wrote:
> On 2005-09-07 08:58:19, Vehbi Sinan Tunalioglu wrote:
> > I just changed (esc content) to (str (escape-for-html content))
>
> Hmm. It seems this could be fixed by setting CL-WHO's *ESCAPE-CHAR-P*
> to an other test function which then lets CL-WHO's ESCAPE-STRING
> behave like CL-WIKI's ESCAPE-FOR-HTML.
Yeah, right.
I'm setting it in INIT
*escape-char-p* #'(lambda (c) (find c "<>&"))
Now it's possible to use the symbol ESC with CL-WHO like
intended.
From sscholl at common-lisp.net Wed Sep 7 17:35:42 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Wed, 7 Sep 2005 19:35:42 +0200
Subject: [cl-wiki-devel] darcs repository
Message-ID: <20050907173542.GF11447@parsec.no-spoon.de>
Hi!
I wanted to wait until there's a better base for working with
CL-WIKI's code, but it seems there is some demand for a darcs
repository _now_.
You can get darcs at http://www.darcs.net/
Getting the CL-WIKI development(!) darcs repository:
darcs get http://common-lisp.net/project/cl-wiki/repos/cl-wiki_dev
If you want to update just enter the directory of your local
darcs repository and
darcs pull
Please remember: This repository can contain broken code!
Regards,
Stefan
From clelland at gmail.com Wed Sep 7 18:47:19 2005
From: clelland at gmail.com (Ian Clelland)
Date: Wed, 7 Sep 2005 11:47:19 -0700
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <20050907172231.GE11447@parsec.no-spoon.de>
References: <431B1F93.7040007@gmail.com>
<431BDD59.9070707@gmail.com>
<431D4126.4070608@bilgi.edu.tr>
<431E817B.7010507@gmail.com>
<20050907123937.GY11447@parsec.no-spoon.de>
<20050907172231.GE11447@parsec.no-spoon.de>
Message-ID:
On 9/7/05, Stefan Scholl wrote:
> I'm setting it in INIT
>
> *escape-char-p* #'(lambda (c) (find c "<>&"))
>
> Now it's possible to use the symbol ESC with CL-WHO like
> intended.
So, at this point, is there any difference at all between
#'escape-for-html in cl-wiki and #'escape-string in cl-who?
As far as I can tell, they do exactly the same thing (though in
slightly different ways). #'escape-string is a bit more flexible, but
is about 45% slower on my test machine. It seems a bit odd to have
both of these functions available now, just to call one at display
time and the other at edit time.
Regards,
Ian Clelland
From sscholl at common-lisp.net Wed Sep 7 21:48:32 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Wed, 7 Sep 2005 23:48:32 +0200
Subject: [cl-wiki-devel] Re: New Release CL-WIKI 0.0.4
In-Reply-To: <431E818B.7070202@gmail.com>
References: <9940BA60F8E6414F9F0307DD411BCF6906BF92C1@Ex2k.bilgi.networks>
<431E818B.7070202@gmail.com>
Message-ID: <20050907214832.GH11447@parsec.no-spoon.de>
On 2005-09-07 08:58:35, Vehbi Sinan Tunalioglu wrote:
> Formatting lists is a matter of following the context. We should first
> start an or if and only if the list item is the first list
> item of the following item sequence and close it when the sequence is
> finished. We should use some flags for this process. Any other idea?
I've changed the way translation is done with 0.0.4. Now it's
only one *REPLACE-LIST* and one function TRANSLATE-WIKI-CODE.
The magic lies within CL-PPCRE's REGEX-REPLACE-ALL which can have
a really complex replacement parameter:
http://weitz.de/cl-ppcre/#regex-replace
To replace [[foo]] with an internal link with URL encoded page
name:
("\\[\\[(.*?)\\]\\]" . ,(list "" 0 ""))
The register counting starts at 0 when you use this notation. And
the best part is the function designator! Wonderful things could
be done with this.
I've just tested a Regex in The Regex Coach
which could be used for lists.
I'll try to implement it tomorrow.
Here's the regex: ^\*.*?(?=^[^\*]|\z)
(with m and s active - multi-line-mode and single-line-mode)
This has matched a complete bullet list with a "*" on the
beginning of each line.
Regards,
Stefan
From emres at bilgi.edu.tr Wed Sep 7 22:24:27 2005
From: emres at bilgi.edu.tr (Emre Sevinc)
Date: Thu, 8 Sep 2005 01:24:27 +0300
Subject: [cl-wiki-devel] Re: New Release CL-WIKI 0.0.4
Message-ID: <9940BA60F8E6414F9F0307DD411BCF6906BF92C2@Ex2k.bilgi.networks>
-----Original Message-----
From: cl-wiki-devel-bounces at common-lisp.net on behalf of Stefan Scholl
Sent: Thu 9/8/2005 12:48 AM
To: cl-wiki-devel at common-lisp.net
Subject: Re: [cl-wiki-devel] Re: New Release CL-WIKI 0.0.4
>I'll try to implement it tomorrow.
>
>Here's the regex: ^\*.*?(?=^[^\*]|\z)
>
>(with m and s active - multi-line-mode and single-line-mode)
>
>This has matched a complete bullet list with a "*" on the
>beginning of each line.
The more features you add, the happier we are. The more it
resembles wiki syntax of wikipedia the easier for us. :)
After we have lists I think we'll have everything for
primitive document formatting (implementing is another
matter of course but I don't think it'll take much of your time).
What about the "history" of a document. Any plans to implement
some simple backup mechanism so that if someone messes a page
we can restore it?
Thanks in advance,
Emre Sevinc
Istanbul Bilgi University
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From emres at bilgi.edu.tr Wed Sep 7 22:28:55 2005
From: emres at bilgi.edu.tr (Emre Sevinc)
Date: Thu, 8 Sep 2005 01:28:55 +0300
Subject: [cl-wiki-devel] darcs repository
Message-ID: <9940BA60F8E6414F9F0307DD411BCF6906BF92C3@Ex2k.bilgi.networks>
----Original Message-----
From: cl-wiki-devel-bounces at common-lisp.net on behalf of Stefan Scholl
Sent: Wed 9/7/2005 8:35 PM
To: cl-wiki-devel at common-lisp.net
Subject: [cl-wiki-devel] darcs repository
>You can get darcs at http://www.darcs.net/
>
>Getting the CL-WIKI development(!) darcs repository:
>
>
> darcs get http://common-lisp.net/project/cl-wiki/repos/cl-wiki_dev
>
>
>If you want to update just enter the directory of your local
>darcs repository and
>
> darcs pull
>
>Please remember: This repository can contain broken code!
Being an occasional CVS user (and someone who didn't use darcs at all)
for simple version cont. stuff I just wonder the reasons why darcs
is getting popular especially among Lispers. Is simply that "darcs is
better CVS" or some specific feature for management? Ease of use?
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From sscholl at common-lisp.net Thu Sep 8 07:45:59 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Thu, 8 Sep 2005 09:45:59 +0200
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To:
References:
<431BDD59.9070707@gmail.com>
<431D4126.4070608@bilgi.edu.tr>
<431E817B.7010507@gmail.com>
<20050907123937.GY11447@parsec.no-spoon.de>
<20050907172231.GE11447@parsec.no-spoon.de>
Message-ID: <20050908074559.GB17052@parsec.no-spoon.de>
On 2005-09-07 11:47:19, Ian Clelland wrote:
> On 9/7/05, Stefan Scholl wrote:
> > I'm setting it in INIT
> >
> > *escape-char-p* #'(lambda (c) (find c "<>&"))
> >
> > Now it's possible to use the symbol ESC with CL-WHO like
> > intended.
>
> So, at this point, is there any difference at all between
> #'escape-for-html in cl-wiki and #'escape-string in cl-who?
ESCAPE-STRING gets called when the symbol ESC is found inside
CL-WHO's WITH-HTML-OUTPUT-TO-STRING
> As far as I can tell, they do exactly the same thing (though in
> slightly different ways). #'escape-string is a bit more flexible, but
> is about 45% slower on my test machine. It seems a bit odd to have
> both of these functions available now, just to call one at display
> time and the other at edit time.
ESC is the common style when using CL-WHO. I don't want it to
look more complicated than necessary at the moment.
All the examples for CL-WHO use ESC.
Speed isn't that important at the moment. The page is displayed
more often than edited. We can tweak this later when needed.
Maybe with a patch for CL-WHO itself.
Have you tested both functions with a larger string? About 20 KiB
or something? From the code I've seen ESCAPE-STRING seems to be
optimized that way that it outputs larger chunks of code between
the characters that needed escaping.
Regards,
Stefan
From sscholl at common-lisp.net Thu Sep 8 08:33:54 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Thu, 8 Sep 2005 10:33:54 +0200
Subject: [cl-wiki-devel] Re: New Release CL-WIKI 0.0.4
In-Reply-To:
References: <20050906192814.GP11447@parsec.no-spoon.de>
Message-ID: <20050908083354.GC17052@parsec.no-spoon.de>
On 2005-09-06 13:20:35, Ian Clelland wrote:
> On 9/6/05, Stefan Scholl wrote:
> > New release CL-WIKI 0.0.4
> > Changes:
> > - config file
>
> I can tell already that I'm really going to get a lot of use out of
> the config file :) I really appreciate that it's just a plain lisp
> file as well, and not a text file with a custom parser.
Maybe at some time there will be a config editor for people who
don't like Lisp. But at the moment I don't know of any easy
format which can handle lists of key-value pairs like the one for
*WIKI-PAGE-LIST*
I've tested trivial-configuration-parser and thought about
implementing an INI file parser myself.
But at the end only Lisp can make me happy. :-)
> Looking through the source, I can see that the other thing I'd like to
> be able to set in the config file is (html-mode) -- I'm trying to get
> a lot of my sites into XHTML, and it looks like that would be an easy
> way to do it with all of the wikis (well, that and an XML-ish template
> file) -- that's a wishlist feature though, not critical at all.
I've changed my mind about XHTML some months ago. The effort to
do it right isn't worth the gain for the most time. I've seen so
many sites and software that claim to use XHTML but it's still
corrupt HTML with some other DTD and other style for empty
elements and attributes.
And most of the browsers don't even support HTML 4 and CSS 2 in
complete. The patch for wiki codes for external links I've
received sets a class="external http" for http links. That's
really only needed for CSS 2 unaware browsers like Internet
Explorer (which can't cope with the right XHTML content-type, by
the way). With Firefox you can use more sophisticated CSS
selectors.
That's why I've sent Edi Weitz a patch for CL-WHO (released as
0.6.0) to let it output normal HTML.
And it's really easier to implement new wiki codes without
thinking about 100 % right HTML output in combination with other
codes. With XHTML I would feel really bad if CL-WIKI could
produce invalid XHTML.
But it should be possible to implement some scheme to output
XHTML in the future. Must check the Accept header to determine
the right content-type and maybe implement a call to tidy to turn
the output into valid XHTML. Just don't think about it at the
moment. Gives only headaches.
Regards,
Stefan
From sscholl at common-lisp.net Thu Sep 8 08:58:06 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Thu, 8 Sep 2005 10:58:06 +0200
Subject: [cl-wiki-devel] New Release CL-WIKI 0.0.4
In-Reply-To: <20050906192814.GP11447@parsec.no-spoon.de>
References: <20050906192814.GP11447@parsec.no-spoon.de>
Message-ID: <20050908085806.GD17052@parsec.no-spoon.de>
On 2005-09-06 21:28:14, Stefan Scholl wrote:
> - more wiki codes (links with other text and external links)
>
> [[Page|Text]] ==> Generates a link to named page
> and links Text.
Wikipedia has an example for this:
San Francisco also has
[[public transport|public transportation]].
But this is discouraged and the following should be used instead:
San Francisco also has
[[public transport]]ation.
That's currently not supported by CL-WIKI. The link isn't
expanded to contain "ation".
By the way: the pattern to implement this can't use \w or \W,
because with some Common Lisp implementation you have multiple
characters for UTF-8 encoded characters instead of just one.
Yes, there are more link special features which aren't supported
yet. But it's no good idea to spend too much time with the wiki
codes at the moment. Other basics are more important.
Regards,
Stefan
From sscholl at common-lisp.net Thu Sep 8 09:10:04 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Thu, 8 Sep 2005 11:10:04 +0200
Subject: [cl-wiki-devel] darcs repository
In-Reply-To: <9940BA60F8E6414F9F0307DD411BCF6906BF92C3@Ex2k.bilgi.networks>
References: <9940BA60F8E6414F9F0307DD411BCF6906BF92C3@Ex2k.bilgi.networks>
Message-ID: <20050908091004.GE17052@parsec.no-spoon.de>
On 2005-09-08 01:28:55, Emre Sevinc wrote:
> > darcs get http://common-lisp.net/project/cl-wiki/repos/cl-wiki_dev
>
> Being an occasional CVS user (and someone who didn't use darcs at all)
> for simple version cont. stuff I just wonder the reasons why darcs
> is getting popular especially among Lispers. Is simply that "darcs is
> better CVS" or some specific feature for management? Ease of use?
Nearly every VCS after CVS is better than CVS. Renaming files,
directories, etc.
And darcs is easy to set up. You don't need a special kind of
server software. So every webspace can become host for your
repository.
darcs is ideal for OSS. You can get/pull a repository to your
local machine and then you have a local repository. You can
commit changes local, revert them again, work with it like with
any other VCS. And at the end you generate a patch for the
maintainer.
Regards,
Stefan
From sscholl at common-lisp.net Thu Sep 8 09:54:33 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Thu, 8 Sep 2005 11:54:33 +0200
Subject: [cl-wiki-devel] Thoughts about page storage
Message-ID: <20050908095433.GH17052@parsec.no-spoon.de>
Hi!
I'm thinking about making one directory per page. Inside this
directory the metadata can be stored. Together with different
versions (or diffs?) of the page.
Regards,
Stefan
From clelland at gmail.com Thu Sep 8 18:06:08 2005
From: clelland at gmail.com (Ian Clelland)
Date: Thu, 8 Sep 2005 11:06:08 -0700
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <20050908074559.GB17052@parsec.no-spoon.de>
References:
<431D4126.4070608@bilgi.edu.tr>
<431E817B.7010507@gmail.com>
<20050907123937.GY11447@parsec.no-spoon.de>
<20050907172231.GE11447@parsec.no-spoon.de>
<20050908074559.GB17052@parsec.no-spoon.de>
Message-ID:
On 9/8/05, Stefan Scholl wrote:
>
> ESCAPE-STRING gets called when the symbol ESC is found inside
> CL-WHO's WITH-HTML-OUTPUT-TO-STRING
That's what I discovered while looking at the Unicode issue a couple
of days ago. Does this mean that we don't need #'escape-for-html at
all, and can just call #'escape-string in its place?
Assuming, of course, that you don't have bigger and better plans for
#'escape-for-html in the future.
> Have you tested both functions with a larger string? About 20 KiB
> or something? From the code I've seen ESCAPE-STRING seems to be
> optimized that way that it outputs larger chunks of code between
> the characters that needed escaping.
The code looks like it's optimised for large blocks of characters
which don't need to be escaped, with just a few escaped characters
here and there. Of course, since we're not using it to escape all
chars > 127, that should describe most text that it gets called on.
I only tested it on a small string, ~100B. 1.5e6 iterations of
#'escape-for-html ran in 282s, averaged over several runs, while
#'esacape-string took 412s. Not the most scientific test, I'm sure,
but I was just looking for big, order-of-magnitude differences.
--
Regards,
Ian Clelland
From vehbisinan at gmail.com Thu Sep 8 18:28:42 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Thu, 08 Sep 2005 21:28:42 +0300
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To: <20050908095433.GH17052@parsec.no-spoon.de>
References: <20050908095433.GH17052@parsec.no-spoon.de>
Message-ID: <432082DA.6040106@gmail.com>
Using directories might be a good idea. I think that it could also
enable us to implement categories/subcategories/sub*categories.
What kind of metadata do you think to be stored?
--vst
Stefan Scholl wrote:
> Hi!
>
> I'm thinking about making one directory per page. Inside this
> directory the metadata can be stored. Together with different
> versions (or diffs?) of the page.
>
>
> Regards,
> Stefan
>
> _______________________________________________
> cl-wiki-devel mailing list
> cl-wiki-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/cl-wiki-devel
From clelland at gmail.com Thu Sep 8 18:55:51 2005
From: clelland at gmail.com (Ian Clelland)
Date: Thu, 8 Sep 2005 11:55:51 -0700
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To: <432082DA.6040106@gmail.com>
References: <20050908095433.GH17052@parsec.no-spoon.de>
<432082DA.6040106@gmail.com>
Message-ID:
On 9/8/05, Vehbi Sinan Tunalioglu wrote:
> Using directories might be a good idea. I think that it could also
> enable us to implement categories/subcategories/sub*categories.
Please no :)
Categories, if they're required, can be implemented either through
metadata, or automatically-managed "Catalog index pages". But not
through a directory hierarchy; that just breaks the wiki
flat-namespace model.
--
Regards,
Ian Clelland
From vehbisinan at gmail.com Thu Sep 8 19:36:27 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Thu, 08 Sep 2005 22:36:27 +0300
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To:
References: <20050908095433.GH17052@parsec.no-spoon.de>
<432082DA.6040106@gmail.com>
Message-ID: <432092BB.5010803@gmail.com>
:) Ok.
"Catalog index pages"? It sounds like a manual way. Am I right?
--vst
Ian Clelland wrote:
> On 9/8/05, Vehbi Sinan Tunalioglu wrote:
>
>>Using directories might be a good idea. I think that it could also
>>enable us to implement categories/subcategories/sub*categories.
>
>
> Please no :)
> Categories, if they're required, can be implemented either through
> metadata, or automatically-managed "Catalog index pages". But not
> through a directory hierarchy; that just breaks the wiki
> flat-namespace model.
>
>
From clelland at gmail.com Thu Sep 8 19:48:19 2005
From: clelland at gmail.com (Ian Clelland)
Date: Thu, 8 Sep 2005 12:48:19 -0700
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To: <432092BB.5010803@gmail.com>
References: <20050908095433.GH17052@parsec.no-spoon.de>
<432082DA.6040106@gmail.com>
<432092BB.5010803@gmail.com>
Message-ID:
On 9/8/05, Vehbi Sinan Tunalioglu wrote:
> :) Ok.
>
> "Catalog index pages"? It sounds like a manual way. Am I right?
I can imagine a scheme where, when you put a page into a category, an
index page somewhere gets automatically updated by the wiki... I don't
know if it's a good scheme, but I think you could do that sort of
thing without a lot of manual intervention.
--
Regards,
Ian Clelland
From vehbisinan at gmail.com Thu Sep 8 20:43:36 2005
From: vehbisinan at gmail.com (Vehbi Sinan Tunalioglu)
Date: Thu, 08 Sep 2005 23:43:36 +0300
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To:
References: <20050908095433.GH17052@parsec.no-spoon.de>
<432082DA.6040106@gmail.com>
<432092BB.5010803@gmail.com>
Message-ID: <4320A278.5030508@gmail.com>
Ian Clelland wrote:
> On 9/8/05, Vehbi Sinan Tunalioglu wrote:
>
>>:) Ok.
>>
>>"Catalog index pages"? It sounds like a manual way. Am I right?
>
>
> I can imagine a scheme where, when you put a page into a category, an
> index page somewhere gets automatically updated by the wiki... I don't
> know if it's a good scheme, but I think you could do that sort of
> thing without a lot of manual intervention.
>
Nice. But how to do that recursively or how to find the category of a
given page? Actually, this is a question of whether we want to implement
the idea of categories, and if yes, how comprehensive it should be.
Stefan, the maintainer, should maybe decide it. But, I think that I'll
need a category mechanism that can grow in depth as well, like
subcategories.
--vst
From emres at bilgi.edu.tr Thu Sep 8 21:28:33 2005
From: emres at bilgi.edu.tr (Emre Sevinc)
Date: Fri, 9 Sep 2005 00:28:33 +0300
Subject: [cl-wiki-devel] Thoughts about page storage
Message-ID: <9940BA60F8E6414F9F0307DD411BCF6906BF92CC@Ex2k.bilgi.networks>
-----Original Message-----
From: cl-wiki-devel-bounces at common-lisp.net on behalf of Vehbi Sinan Tunalioglu
Sent: Thu 9/8/2005 11:43 PM
To: clelland at gmail.com
Cc: cl-wiki-devel at common-lisp.net
Subject: Re: [cl-wiki-devel] Thoughts about page storage
Ian Clelland wrote:
>> On 9/8/05, Vehbi Sinan Tunalioglu wrote:
>>
>>>:) Ok.
>>>
>>>"Catalog index pages"? It sounds like a manual way. Am I right?
>>
>>
>> I can imagine a scheme where, when you put a page into a category, an
>> index page somewhere gets automatically updated by the wiki... I don't
>> know if it's a good scheme, but I think you could do that sort of
>> thing without a lot of manual intervention.
>>
>Nice. But how to do that recursively or how to find the category of a
>given page? Actually, this is a question of whether we want to implement
>the idea of categories, and if yes, how comprehensive it should be.
>Stefan, the maintainer, should maybe decide it. But, I think that I'll
>need a category mechanism that can grow in depth as well, like
>subcategories.
Some questions:
- Do we really need categorization feature? (Of course,
it depends on who uses cl-wiki for which purposes)
- Do we really need automatic update of some index, index page,
etc.? I mean if I create a category I can update a page. If I forget
then some time I'll remember, this doesn't pose a disaster.
- Do we really need categories? Refer to Wikipedia. Does it
have any? I mean, what if I create a page called "Categories" then
make some alphabetic links (or categories) and place the links
under them accordingly? Wikipedia doesn't do that automagically (you'll
have to do a lot of editing), why should cl-wiki do?
My 2 cents (like it or not :)
Regards,
Emre Sevinc
Istanbul Bilgi University
eMBA Development Team
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From sscholl at common-lisp.net Fri Sep 9 07:10:24 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Fri, 9 Sep 2005 09:10:24 +0200
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To:
References:
<431D4126.4070608@bilgi.edu.tr>
<431E817B.7010507@gmail.com>
<20050907123937.GY11447@parsec.no-spoon.de>
<20050907172231.GE11447@parsec.no-spoon.de>
<20050908074559.GB17052@parsec.no-spoon.de>
Message-ID: <20050909071024.GP17052@parsec.no-spoon.de>
On 2005-09-08 11:06:08, Ian Clelland wrote:
> On 9/8/05, Stefan Scholl wrote:
> > ESCAPE-STRING gets called when the symbol ESC is found inside
> > CL-WHO's WITH-HTML-OUTPUT-TO-STRING
>
> That's what I discovered while looking at the Unicode issue a couple
> of days ago. Does this mean that we don't need #'escape-for-html at
> all, and can just call #'escape-string in its place?
Yes, we can. :-)
> Assuming, of course, that you don't have bigger and better plans for
> #'escape-for-html in the future.
Not at the moment. ESCAPE-FOR-HTML came first -- before CL-WHO.
I've just tested ESCAPE-FOR-HTML and ESCAPE-STRING on my slow
(Dual Pentium III, 650 MHz, 512 MiB RAM) system:
WIKI> (let ((data (contents-of-file "Testpage")))
(time (test-escape-string data 10000)))
Warning: TIME form in a non-null environment, forced to interpret.
Compiling entire form will produce more accurate times.
; Evaluation took:
; 106.06 seconds of real time
; 102.52042 seconds of user run time
; 3.545461 seconds of system run time
; 68,755,459,972 CPU cycles
; [Run times include 5.84 seconds GC run time]
; 0 page faults and
; 820,724,440 bytes consed.
;
NIL
WIKI> (let ((data (contents-of-file "Testpage")))
(time (test-escape-for-html data 10000)))
Warning: TIME form in a non-null environment, forced to interpret.
Compiling entire form will produce more accurate times.
; Evaluation took:
; 106.14 seconds of real time
; 100.6897 seconds of user run time
; 5.441173 seconds of system run time
; 68,810,304,097 CPU cycles
; [Run times include 7.21 seconds GC run time]
; 0 page faults and
; 1,140,486,136 bytes consed.
;
NIL
(Test loop is inside the _compiled_ test functions.)
"Testpage" has 32 KiB and 4 #\& to escape. In lines 18, 42, 103,
and 368 of 433 lines. CMUCL 18e, Linux 2.6.
ESCAPE-STRING seems to be better with this kind of texts. It's a
bit early to optimize a program, but not too early to decide if a
function is obsolete when there's an alternative.
Regards,
Stefan
PS: Removed ESCAPE-FOR-HTML in development repository.
From sscholl at common-lisp.net Fri Sep 9 09:13:01 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Fri, 9 Sep 2005 11:13:01 +0200
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <20050909071024.GP17052@parsec.no-spoon.de>
References:
<431D4126.4070608@bilgi.edu.tr>
<431E817B.7010507@gmail.com>
<20050907123937.GY11447@parsec.no-spoon.de>
<20050907172231.GE11447@parsec.no-spoon.de>
<20050908074559.GB17052@parsec.no-spoon.de>
<20050909071024.GP17052@parsec.no-spoon.de>
Message-ID: <20050909091301.GQ17052@parsec.no-spoon.de>
On 2005-09-09 09:10:24, Stefan Scholl wrote:
> "Testpage" has 32 KiB and 4 #\& to escape. In lines 18, 42, 103,
> and 368 of 433 lines. CMUCL 18e, Linux 2.6.
CMUCL 19a, not 18e.
From clelland at gmail.com Fri Sep 9 09:12:03 2005
From: clelland at gmail.com (Ian Clelland)
Date: Fri, 9 Sep 2005 02:12:03 -0700
Subject: [cl-wiki-devel] Encoding question and a patch
In-Reply-To: <20050909071024.GP17052@parsec.no-spoon.de>
References:
<431D4126.4070608@bilgi.edu.tr>
<431E817B.7010507@gmail.com>
<20050907123937.GY11447@parsec.no-spoon.de>
<20050907172231.GE11447@parsec.no-spoon.de>
<20050908074559.GB17052@parsec.no-spoon.de>
<20050909071024.GP17052@parsec.no-spoon.de>
Message-ID:
On 9/9/05, Stefan Scholl wrote:
> On 2005-09-08 11:06:08, Ian Clelland wrote:
> > On 9/8/05, Stefan Scholl wrote:
> ESCAPE-STRING seems to be better with this kind of texts. It's a
> bit early to optimize a program, but not too early to decide if a
> function is obsolete when there's an alternative.
It's all still working well over here (that darcs repository is
already coming in handy :)
I agree, it's never too early to remove redundant code and simplify the system.
--
Regards,
Ian Clelland
From emres at bilgi.edu.tr Fri Sep 9 11:23:39 2005
From: emres at bilgi.edu.tr (=?ISO-8859-1?Q?Emre_Sevin=E7?=)
Date: Fri, 09 Sep 2005 14:23:39 +0300
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To:
References:
<9940BA60F8E6414F9F0307DD411BCF6906BF92CC@Ex2k.bilgi.networks>
Message-ID: <432170BB.10700@bilgi.edu.tr>
Ian Clelland wrote:
>On 9/8/05, Emre Sevinc wrote:
>
>
>> - Do we really need categories? Refer to Wikipedia. Does it
>> have any? I mean, what if I create a page called "Categories" then
>> make some alphabetic links (or categories) and place the links
>> under them accordingly? Wikipedia doesn't do that automagically (you'll
>> have to do a lot of editing), why should cl-wiki do?
>>
>>
>
>[...]
>ZWiki, for Zope, doesn't do categories, but instead maintains a
>document "tree", in which nodes have "parents", and that parent-child
>relationship can be changed by an editor. It uses this to create
>hierarchical lists of nodes, while still keeping the nodes all in a
>flat namespace.
>
Namespace this, namespace that. I simply don't think we need that
functionality.
>
>I'm fairly certain that Ward's Wiki (c2.com) only does categories
>manually; you have to create a category page, and link your other
>pages to it by hand. It doesn't seem to suffer for that despite its
>huge size.
>
And thinking about how much Bilgi University's Lisp User's Group's wiki
can grow, I don't
think that'll be a torture, too. (yes, I'm just thinking about our
usage, shame on me :)
>
>
>Honestly, I don't think that cl-wiki needs categories in order to be a
>"real wiki"; if there is a simple and elegant way of incorporating
>that sort of metadata, I'd be all for it, but I suspect that it would
>just take away from the simplicity of the thing right now.
>
I agree with you %100. Give me a simple and flexible content management
system and let
me mold it into any structure I want. Isn't Lisp all about flexibility
(yes, not so simple but that's
another story) :)
Emre S.
From sscholl at common-lisp.net Fri Sep 9 12:21:41 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Fri, 9 Sep 2005 14:21:41 +0200
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To: <4320A278.5030508@gmail.com>
References: <20050908095433.GH17052@parsec.no-spoon.de>
<432082DA.6040106@gmail.com>
<432092BB.5010803@gmail.com>
<4320A278.5030508@gmail.com>
Message-ID: <20050909122141.GR17052@parsec.no-spoon.de>
On 2005-09-08 23:43:36, Vehbi Sinan Tunalioglu wrote:
> Nice. But how to do that recursively or how to find the category of a
> given page? Actually, this is a question of whether we want to implement
> the idea of categories, and if yes, how comprehensive it should be.
> Stefan, the maintainer, should maybe decide it. But, I think that I'll
> need a category mechanism that can grow in depth as well, like
> subcategories.
Most wikis use categories, even if their wiki engines don't have
propper support for it.
The most primitive wikis just put a wiki word of the category on
the page. Then the listing of every page in that category is done
with the backreference feature (mostly a link on the page name in
the head of a page).
A propper way for categories could be a nice "USP" (hehe) for
CL-WIKI.
But I think this feature is not one of the top priorities because
with a nice storage system it should be possible to add this very
easy.
An index for *all* pages would be nice (highlighting internal
links for non existant pages). Categories could be added with a
similar functionality.
The namespace should stay flat. A category could be another meta
information about a page. Together with the last modified date,
author, etc.
Regards,
Stefan
From sscholl at common-lisp.net Fri Sep 9 13:19:03 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Fri, 9 Sep 2005 15:19:03 +0200
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To: <20050909122141.GR17052@parsec.no-spoon.de>
References: <20050908095433.GH17052@parsec.no-spoon.de>
<432082DA.6040106@gmail.com>
<432092BB.5010803@gmail.com>
<4320A278.5030508@gmail.com>
<20050909122141.GR17052@parsec.no-spoon.de>
Message-ID: <20050909131903.GS17052@parsec.no-spoon.de>
On 2005-09-09 14:21:41, Stefan Scholl wrote:
> An index for *all* pages would be nice (highlighting internal
> links for non existant pages).
Some global data structure that could contain all the names and
the number of the current version. This number will be used as
part of a file name within the page's directory.
All access to this global data structure must be done with
locking.
Every write access to this data structure must write the data to
a file, too, which can be loaded when you start CL-WIKI.
Scanning all directories for a file name with the highest number
isn't very difficult. ==> A desaster recovery is trivial.
From clelland at gmail.com Fri Sep 9 07:38:42 2005
From: clelland at gmail.com (Ian Clelland)
Date: Fri, 9 Sep 2005 00:38:42 -0700
Subject: [cl-wiki-devel] Thoughts about page storage
In-Reply-To: <9940BA60F8E6414F9F0307DD411BCF6906BF92CC@Ex2k.bilgi.networks>
References:
<9940BA60F8E6414F9F0307DD411BCF6906BF92CC@Ex2k.bilgi.networks>
Message-ID:
On 9/8/05, Emre Sevinc wrote:
> - Do we really need categories? Refer to Wikipedia. Does it
> have any? I mean, what if I create a page called "Categories" then
> make some alphabetic links (or categories) and place the links
> under them accordingly? Wikipedia doesn't do that automagically (you'll
> have to do a lot of editing), why should cl-wiki do?
Well, Mediawiki (Wikipedia) definitely has categories, although I have
no idea how they're managed , or whether they're a lot of work to
maintain. They look like they're generated automatically.
ZWiki, for Zope, doesn't do categories, but instead maintains a
document "tree", in which nodes have "parents", and that parent-child
relationship can be changed by an editor. It uses this to create
hierarchical lists of nodes, while still keeping the nodes all in a
flat namespace.
I'm fairly certain that Ward's Wiki (c2.com) only does categories
manually; you have to create a category page, and link your other
pages to it by hand. It doesn't seem to suffer for that despite its
huge size.
Honestly, I don't think that cl-wiki needs categories in order to be a
"real wiki"; if there is a simple and elegant way of incorporating
that sort of metadata, I'd be all for it, but I suspect that it would
just take away from the simplicity of the thing right now.
--
Regards,
Ian Clelland
From sscholl at common-lisp.net Mon Sep 26 17:52:20 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Mon, 26 Sep 2005 19:52:20 +0200
Subject: [cl-wiki-devel] Problems getting the remote address
Message-ID: <20050926175220.GJ1494@parsec.no-spoon.de>
I've added a new storage system and the possibility to read and
write some meta data together with the page content.
But there's one problem left: There's no way to get the remote
address of a connected client in the stand-alone version of TBNL.
At the moment you can only access this information when you use
Apache+mod_lisp+TBNL or a proxy in front of TBNL stand-alone.
And I think I have to make a config option to tell CL-WIKI if it's
used behind a proxy.
From sscholl at common-lisp.net Mon Sep 26 18:14:26 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Mon, 26 Sep 2005 20:14:26 +0200
Subject: [cl-wiki-devel] Problems getting the remote address
In-Reply-To: <20050926175220.GJ1494@parsec.no-spoon.de>
References: <20050926175220.GJ1494@parsec.no-spoon.de>
Message-ID: <20050926181426.GK1494@parsec.no-spoon.de>
By the way: You need TBNL 0.7.0 or higher for the current
version in the darcs repository.
From sscholl at common-lisp.net Mon Sep 26 22:22:55 2005
From: sscholl at common-lisp.net (Stefan Scholl)
Date: Tue, 27 Sep 2005 00:22:55 +0200
Subject: [cl-wiki-devel] Problems getting the remote address
In-Reply-To: <20050926175220.GJ1494@parsec.no-spoon.de>
References: <20050926175220.GJ1494@parsec.no-spoon.de>
Message-ID: <20050926222255.GL1494@parsec.no-spoon.de>
On 2005-09-26 19:52:20, Stefan Scholl wrote:
> At the moment you can only access this information when you use
> Apache+mod_lisp+TBNL or a proxy in front of TBNL stand-alone.
>
> And I think I have to make a config option to tell CL-WIKI if it's
> used behind a proxy.
The option is called "reverse-proxy" (default NIL) and must be
set to t if your stand-alone TBNL is behind a proxy.
The saved remote address is NIL when a stand-alone TBNL without
reverse proxy is used. Otherwise the address mod_lisp or the
header "X-Forwarded-For" (proxy) tells us.
I think most of the people will use Apache+mod_lisp or a reverse
proxy (e.g. lighttpd+mod_proxy) when the wiki is accessible by
the whole wild net. In any other case it's not very important to
remember the remote address of every user changing a page.