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

Dockimbel
29-May-2007
[586x4]
Btw, the encapping system for Cheyenne is a little odd : to be able 
to run it in normal mode and encap mode without changing the source 
code, I wrote a special lib emulating the filesystem but in memory. 
I didn't had time yet to check if Ladislav's Include could do the 
job. My encapping system needs to generate a .encap-fs file, so it 
needs that Cheyenne be run in normal mode at least once. I'll document 
that in a few days.
Terry, not yet ! ;-P
Cheyenne early release 0.9.10.0 (source code only) : http://softinnov.org/tmp/cheyenne-r09100.zip
See Cheyenne/docs/rsp.html for the new RSP API (the doc is half complete, 
I should finish it tomorrow and add a CSS)
Terry
29-May-2007
[590x2]
Im looking to run my Uniserve service along side of Cheyenne.. using 
a particular port.. but the one last thing i need to do is pass messages 
from the httpd to the service.. will this be trivial?
Cool
Dockimbel
29-May-2007
[592x2]
I also add a general manual for setting up Cheyenne and basic CGI, 
RSP and Session concepts in the next days.
I also -> I'll also
Louis
29-May-2007
[594]
Thanks! This makes you an official REBOL hero.
Dockimbel
29-May-2007
[595x2]
Terry, in my todo-list, I have a generic module for interfacing cheyenne's 
HTTPd with REBOL applications called mod-map-url (or mod-mapping). 
It will map predefined URLs to REBOL objects. Example: http://domain.com/app/show
will call the function ''show from your object 'app. This module 
should cover most of needs if you have to embed Cheyenne in your 
REBOL application. If it doesn't cover your specific needs, you'll 
have to write a specific mod_xyz HTTPd module, which might be a little 
more complex.
Louis: thanks, releasing a new version is like winning a battle (against 
all those evil little details!) ;-).
Terry
29-May-2007
[597]
Yeah, not so much a URL.. but a message.. I want to be able to push 
to the browser.. client logs in, we grab his IP, pass this to the 
rebol script that can push to a receiving JS script.
Dockimbel
29-May-2007
[598]
In any cases, HTTP communications involve a request from the client, 
so it implies an URL...unless your JS is not using HTTP protocol 
?
Terry
29-May-2007
[599]
Wrote our own.
Dockimbel
29-May-2007
[600]
So your wrote your own UniServe service to answer to JS scripts requests 
?
Terry
29-May-2007
[601]
Um, no.. I wrote a uniserve service to push messages to a flash script 
embedded in the page.. the script then passes the message on to JS
Dockimbel
29-May-2007
[602]
You can use the uniserve's shared space to share data and functions 
between services (anyway you'll have to add a specific module to 
HTTPd to be able to exchange data through the shared space, HTTPd 
is not exposing any function nor callbacks to the shared space, but 
it might be a good idea to add such feature...).
Terry
29-May-2007
[603]
I hacked your HTTPd somewhat to 'intervene' .. just wondering if 
there was a purer method.
Dockimbel
29-May-2007
[604]
Ok, I see now :-) You could use the REBOL plugin instead of Flash 
to achieve that, but I guess that you don't want your users to have 
to install any new plugin.
Terry
29-May-2007
[605x2]
exact.. especially not the rebol one  (way too buggy)
flash works great.. did you see the RASH windows demo .. I embed 
that into a page, and push data to it from my uniserve service
Dockimbel
29-May-2007
[607x2]
The current clean way to extend Cheyenne is to write a mod_xyz module. 
The module specifications are documented in Cheyenne/docs, and your 
have several examples in Cheyenne/mods. I can provide some additionnal 
explainations through this altme channel if needed.
your -> you
Terry
29-May-2007
[609]
great thanks
Dockimbel
29-May-2007
[610]
It's not that hard to write one, the hard part is to correctly set 
the execution order for each callback (each module competes with 
all other modules for a given callback event, and you have only 3 
possible positions, 'first, 'normal (middle) and 'last.) The loading 
order of modules in the config file (httpd.cfg) also impact the final 
order of callbacks execution. I plan to move to a much more simplier 
system for Cheyenne 2.0, it will loose some little flexibility, but 
it will be much more easier to write extension modules. But , that's 
long-term, i need first to reach 1.0 ;-).
Terry
29-May-2007
[611x2]
I think the biggest issue I had was encapping that worked when I 
included my service
I would be curious as to any benchmarks as well.  Why use Apache 
if Cheyenne is faster?
Dockimbel
29-May-2007
[613]
I've fixed some issues in encapping in this new release, i just need 
to document them.
Terry
29-May-2007
[614]
My plan all along has been to incorporate all of our Rebol tech into 
a single unified system, with Cheyenne as the platform.
Dockimbel
29-May-2007
[615x3]
Basically, you just need to look at cheyenne.r and add an entry in 
the set-cache block, then add a : do-cache uniserve-path/services/your-service.r 
before calling uniserve/boot.
does #include %cheyenne.r works for you ? (never tested here)
(btw, your service don't need to be located in uniserve/services, 
it can be anywhere)
Terry
29-May-2007
[618]
can't remember.. been awhile
Dockimbel
29-May-2007
[619]
Watch out in the rsp.html doc file, the "Session Object" table is 
correct, but all the detailled explanations for the session properties 
are incorrect (coming from the old and obsolete API). Sorry for that, 
it will be fixed in the final release of this document tomorrow.
Maarten
29-May-2007
[620]
I have access to FreeBSD boxes (or will have access very soon), so 
I can encap it. I think Jaime may be able to do this as well.
Dockimbel
29-May-2007
[621]
We also plan, at Softinnov, to release it as debian package. The 
issue here is the dependency on rebol binaries, it's a pity that 
there's no REBOL packages that you can "apt install"...
Maarten
29-May-2007
[622x2]
Should we push for mysql:// and Cheyenne to become part of Core 2.7?
(just did)
Pekr
29-May-2007
[624]
heh, I have got crash with latest version:

[uniserve] Async Protocol FastCGI loaded
[uniserve] Starting task-master...
[uniserve] Starting HTTPd...
make object! [
    code: 312
    type: 'script
    id: 'cannot-use
    arg1: 'add
    arg2: 'time!
    arg3: none
    near: [time: time + port/timeout
        if
    ]
    where: 'close-expired
]


I run Apache on port 80, so I changed httpd to 8080 ... sinmple CGI 
works, I logged into application OK, simple page worked, 4 RSP test 
crashed with above error ...
Dockimbel
29-May-2007
[625]
I prefer the REBOL binary to remain small. I should put a mysql.r 
and cheyenne.r file somewhere on my website and give out the URL, 
so you could just : do http://.../mysql.rto install and run it.
Pekr
29-May-2007
[626]
Sixteen.html gets me back to login screen - is that correct?
Dockimbel
29-May-2007
[627]
Yes, if you're in the /testapp webapp and if your sessions expired.
Pekr
29-May-2007
[628]
hmm, should those expire? I just follow your latest release .... 
there is /testapp, I click it, first demo works, but 4 and 16 ASP 
don't ... correct?
Dockimbel
29-May-2007
[629]
followed the same path, ok here...what OS are you using ?
Pekr
29-May-2007
[630x3]
Maarten - Cheyenne part of Core 2.7? Not sure it is OK with Carl, 
especially when RT proposes rebservices (which is a bit different 
concept, but ....)
WinXP Professional, latest patches. I run it just from Total Commander 
by pressing enter on Cheyenne.r It runs on 8080 port, everything 
seems to be OK, except random timeouts, as they were present in the 
past. Now with 4RSP demo I got at least first session frame OK, then 
it crashed imediatelly with above error ...
rebol/version 1.3.2.3.1
Dockimbel
29-May-2007
[633]
looks like your running the old uniserve version, let me look at 
the archive to see if it's my fault...
Pekr
29-May-2007
[634]
Now I got the same error even when pressed enter to log-in. Maybe 
some weird stuff on my machine, but Apache was running OK. I ended 
Apache and turned Cheyenne back to port 80.
Dockimbel
29-May-2007
[635]
Nope, it's my fault, the uni-engine.r file in the archive is an old 
version. Give me 2 minutes, I'll update the archive.