r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

btiffin
13-Apr-2007
[378]
I'm thinkin' ez-plot/q-plot might be a nice place to start for that 
app.  Hmmm.
Graham
13-Apr-2007
[379]
I wrote a core based analysis tool some years ago .. dunno where 
it is now!
btiffin
13-Apr-2007
[380]
Great minds think...fire and forget...alike  :)
Chris
23-Apr-2007
[381]
How would you do the following in Cheyenne?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+) /cgi-bin/qm.r [QSA,L]


Also, is there an equivalent to -- get-env "REQUEST_URI" -- in Cheyenne?
Pekr
23-Apr-2007
[382x2]
Can you translate what does it do? My primitive rsp system just needs 
.httaccess modification, setting rebol handler for .html being processed 
by rsp.cgi ...... so all files have to be "in place".
What is advantage of your aproach? (Just asking, as I dunno what 
mod rewrite is good for)
Chris
23-Apr-2007
[384]
This rewrite rule takes any request (third line) for a file that 
doesn't exist (second line) and redirects to my cgi script.
Pekr
23-Apr-2007
[385]
hah, nice - so, the thing is, that I can have URI, while file does 
not be located at that place? Kind of "virtual file"? :-)
Chris
23-Apr-2007
[386]
The advantage of this is that my cgi script can make decisions based 
on the full request, not just the query string.
Pekr
23-Apr-2007
[387]
what do you mean by "the full request"?
Chris
23-Apr-2007
[388]
For example, from this url: http://foo.com/pages/edit/1-- I get 
the Request_Uri value "/pages/edit/1" then parse it -- ["pages" "edit" 
"1"] -- here I have a controller, and action and an id.  It is a 
more enduring approach than http://foo.com/cgi-bin/qm.r?controller=pages&action=edit&id=1
Pekr
23-Apr-2007
[389]
why do you regard it being a difference?
Chris
23-Apr-2007
[390]
This is veering OT, so I'll point you here:
http://www.w3.org/Provider/Style/URI
http://www.alistapart.com/articles/succeed/
http://www.alistapart.com/articles/urls/

We can discuss further in 'Web'
Dockimbel
23-Apr-2007
[391x4]
RE: get-env "REQUEST_URI" : using the CGI or the RSP handler ?
The Rewriting engine for Cheyenne has not been implemented yet. I 
know that Will developed a simple one for Cheyenne/RSP based on PARSE 
rules.
Re: REQUEST_URI, in CGI mode => all request parameters are in  system/options/cgi
Re: REQUEST_URI, in RSP mode => all request parameters are in  request/in 
(deprecated in the upcoming version)
Chris
23-Apr-2007
[395]
Looking for it in the CGI handler.  Request_URI isn't in the system/options/cgi 
block -- even using Apache, I have to do get-env "REQUEST_URI"
Dockimbel
23-Apr-2007
[396x2]
You should be able to obtain an equivalent to REQUEST_URI by join 
several values from system/options/cgi.
join => joining
Chris
23-Apr-2007
[398x3]
Except without being able to rewrite, the request_uri will always 
be the same...
If I type http://localhost/pages/this-- I need to run /cgi/qm.r 
and have access to '/pages/this'
I haven't delved deep enough to understand if this'd be better written 
as a Cheyenne handler, though that would require forking the cgi 
script, which for the time being, also has to run under Apache.
Dockimbel
23-Apr-2007
[401x2]
I see the problem.
If I give you a customized Cheyenne handler for QM that can check 
URLs (with parse rules) and send them to /cgi/qm.r before checking 
the local filesystem, would it suit your needs ?
Graham
23-Apr-2007
[403x4]
Sounds good.
Isn't this how Zope works?
The whole Zope website is just a huge Python object, and when you 
access a path, the Zope webserver executes the object referred to 
...
But you can remap paths on the fly
Dockimbel
23-Apr-2007
[407]
Don't know how Zope handles rewriting, but the solution I've proposed 
to Chris is quite specific (even if it could be parameterized). The 
solution I had in mind for a Rewriting engine would be much more 
generic.
Graham
23-Apr-2007
[408]
A few of us are experiementing with Chris' project .. so something 
that just sends everything to qm.cgi or qm.r would be helpful.
Dockimbel
23-Apr-2007
[409]
The Mod-MapURL that I'll provide in the next release will act like 
that, mapping URLS to REBOL objects (with nesting supported).
Graham
23-Apr-2007
[410]
so, the application could just be a large object?  Or the objects 
are on disk?
Dockimbel
23-Apr-2007
[411]
in-memory objects
Graham
23-Apr-2007
[412x2]
Ok.
From memory Zope has a disk based object database ...
Dockimbel
23-Apr-2007
[414]
All the application in a large object, if you design it like that, 
sure.
Graham
23-Apr-2007
[415]
How's sessions going? :)
Dockimbel
23-Apr-2007
[416x3]
Yes, I know about ZODB, quite interesting OODB.
Very well, I'm currently testing the whole RSP framework by building 
a "test" application : a new web-based bugtracker ;-)
It helps me tweak the session system and add some small but useful 
features.
Graham
23-Apr-2007
[419x2]
bootstrapping ?
Anyway, sounds like progress is being made :)
Dockimbel
23-Apr-2007
[421x4]
Yes, I quite happy with the speed and stability of the new implementation, 
I have RSP pages with 3 SQL queries to a MySQL backend, input and 
output filters, session handling, tables constructed dynamically 
with data from DB, all this occuring in a few milliseconds...I still 
need to test how it scales.
I => I'm
RSP now supports a thin layer for easier DB access. No need to open/close 
connections, they are persistent and pooled.
As soon as the bugtracker is ready, I'll put it online and release 
a new beta of Cheyenne.
Graham
23-Apr-2007
[425]
I think I just opened a connection from start up and kept it open.
Dockimbel
23-Apr-2007
[426]
The "thin layer" I was talking about doesn't do much more than that, 
but it's done in a clean and handy way, and once for all.
Graham
23-Apr-2007
[427]
ok.