World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
Dockimbel 29-May-2007 [588x2] | 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. |
Pekr 29-May-2007 [636] | ok, thanks a lot ... |
Dockimbel 29-May-2007 [637] | Cheyenne v0.9.10.0 re-released due to a wrong version of the %uni-engine.r file. Sorry for that. Download link: http://softinnov.org/tmp/cheyenne-r09100.zip |
older newer | first last |