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

Janko
24-Jan-2009
[3766]
wow, I imagined smaller dialect but this is quite impressive. I won't 
use it for this project as I have most made it already, but I will 
look at it deeper for next. I also made a forms dialect also, which 
is not so different than yours at first sight at least.
Dockimbel
24-Jan-2009
[3767]
Thanks Janko, the RSP API is very inspired by other APIs like ASP 
and JSP, so most of the credits goes to Microsoft and Sun ;-).
BrianH
24-Jan-2009
[3768]
Does the mysql access support in Cheyenne call stored procedures 
yet?
Dockimbel
24-Jan-2009
[3769]
Not yet, because that mysql driver version has not been officially 
released yet (still some bugs pending to fix).
BrianH
24-Jan-2009
[3770]
My project will soon need stored procedure support, so I may be able 
to help you test the driver.
Dockimbel
24-Jan-2009
[3771x2]
It would require a change in the RSP DO-SQL function to cope with 
several result sets.
Sure, more tester would be nice, you'll find the last driver beta 
download URL in the MySQL AltME channel.
BrianH
24-Jan-2009
[3773]
Several result sets I don't need yet, but that sounds cool.
Dockimbel
24-Jan-2009
[3774x2]
Technically MySQL stored procs require support for multiple results 
sets.
at least, at the driver level.
BrianH
24-Jan-2009
[3776x2]
Fair enough.
Although I am using Cheyenne in the project itself, it has also been 
useful as a development and diagnostic tool lately :)
Dockimbel
24-Jan-2009
[3778]
I'm glad it could help you.
Gregg
24-Jan-2009
[3779]
I haven't been following here, but I have x64 if there's something 
someone wants me to try.
Will
24-Jan-2009
[3780]
Brian, I'm sure you konow, but if you don't need multiple results 
you could use functions instead tehy work flowlessly with currend 
driver.
amacleod
24-Jan-2009
[3781]
Doc, I'm going to update ws2003. Don't bother until I try again after 
updates...thanks.
Oldes
24-Jan-2009
[3782x2]
I'm using stored procedures without problems
since Doc fixed some issues in his unofficial version
amacleod
25-Jan-2009
[3784]
Updates made no difference...Having trouble with getting MySQL running 
properly too....Even XAMP is not wroking right. Must be something 
wacked on my computer or stuff running on WServer that I'm not aware 
of conflicting with this stuff.
Maarten
31-Jan-2009
[3785]
Doc, any news on 0.9.19? I'd like to test it. Can test on OS X, OpenSuse 
64 bit, WinXP and Vista (32 bit)
Dockimbel
31-Jan-2009
[3786x5]
I'm working on it today, I'll release a beta version in a couple 
of hours. Lot of fixes and improvements in this release.
New Cheyenne 0.9.19 beta version available for testing at : http://cheyenne-server.org/tmp/cheyenne-r0919.zip


Tested only on Windows  (my Linux image network has currently some 
issues).

ChangeLog (diff-ed from last test version) :


 o RSP: an HTTP redirection in 'on-page-start won't evaluate the page 
 script anymore.
	

 o CGI: mezz function READ-CGI now patched to be compatible with Cheyenne. 
 That's
	  the right way of reading POST data in REBOL CGI scripts.
	  
	o RSP: fixed a bug in session/add when setting a block! value.
	

 o Task-handler: fixed a network error on first packet read (high 
 load + fast hardware).
	

 o Task-handler: TCP keepalive mode activated (test workaround half-closed 
 connections).
	
	o Task-master: 
			o 'no-delay mode removed and replaced by 'keep-alive mode

   o now forks a new process as soon as one dies (not waiting for a 
   new request)

   o fix a long standing bug in queued job module name mismatching (can 
   happen under extreme load)
			o minor code cleanup
	

 o Uniserve: 'no-delay TCP network mode now switched off for all connections. 
 Fixes a

   stability issue on Vista and probably on UNIX with very high load.


 o RSP: fix a bug in 'decode-multipart when there's no file received.
	

 o UniServe: new logger service. Now all info or error logs, and debug 
 messages from

   CGI/RSP scripts are written in %trace.log. Additionnaly, you can 
   now log messages
	  using :
	  
	  		- debug/print msg 	; msg [string!]
	  		- debug/probe value 	; any mold-able value
	  		- ?? word		; works like REBOL's '?? function
	  		- ? msg		; alias for debug/print
	  

 o RSP: in debug mode, page generation time and SQL queries stats 
 now added at bottom
	  of pages.
	  
	o RSP: error in events from %app-init.r now logged.
	

 o RSP: fix a rare RSP freezing issue when an error occurs in %RSP.r 
 (for example, by
	  a user script that breaks RSP sandbox).
	  

 o RSP: sanboxing now protects from Exit/Return/Break calls made outside 
 of a
	  function context.
	  
	o RSP: %misc/rsp-init.r file removed.
	

 o RSP/CGI: New config keyword added in global sections : 'worker-libs. 
 It lists the

   librairies to load when a worker process is started. An optional 
   'on-quit section can

   be added to call cleanup code when the process quits. Examples :
	  
	  		worker-libs [
				%libs/mysql-protocols.r
				...
			]
		or	
			worker-libs [
				%libs/mysql-protocols.r
				...
				on-quit [
					%/libs/free-resources.r
				]
			]
	

 o Task-master: now you can reset all worker processes without stopping 
 Cheyenne. This

   is usefull when you need to force non-RSP/CGI files reload (helper 
   scripts, 3rd party
	  librairies,...). 
	  
	  	Usage:
	
			Windows : tray icon -> Reset Workers
		

   UNIX : kill -s USR1 <pid>	(<pid> is Cheyenne's main process ID)
	 
	 

  o Added a -w command line option to set the worker processes number. 
	 
	   	Usage:
	   
	  		$ cheyenne -w <n>		(n [integer!] : CGI/RSP process number)
	   

    Use -w 0 to help debug CGI/RSP code by resetting worker processes 
    after each request.
	   (it's like calling "Reset workers" after each request).
Complete changelog is available in %Cheyenne/Changelog.txt.
Command line option -debug has been replaced by -w 0
I'll release Windows and Linux test binaries tomorrow.
[unknown: 5]
31-Jan-2009
[3791]
How is fast-cgi implemented via Cheyenne?
Janko
31-Jan-2009
[3792x2]
Great Doc! I am really becoming a fan of cheyenne + rebol for webapps.. 
I have 2 half working in the garage already :)
(and I used a lot of stuff and been developing webapps for >4 years 
for $$)
Henrik
31-Jan-2009
[3794]
Looking forward to get back to Cheyenne/RSP too. Keep up the good 
work, DocKimbel.
Maarten
31-Jan-2009
[3795]
Thank you!
Dockimbel
31-Jan-2009
[3796x2]
Thanks guys for your kind support!
Paul: FastCGI is implemented at low-level as an UniServe client protocol. 
It should be able to communicate with any FastCGI server like PHP.
[unknown: 5]
31-Jan-2009
[3798]
Thanks Doc.
Dockimbel
1-Feb-2009
[3799]
FYI : the new "Reset Workers" feature is not working well on UNIX, 
I'm working on it to fix it.
Dockimbel
2-Feb-2009
[3800]
Cheyenne new test release delayed until tomorrow. Almost a dozen 
of fixes and useful improvements were added, mostly by Will (many 
thanks to him). So a little more time is required to run non-regression 
tests.
Dockimbel
3-Feb-2009
[3801x5]
New Cheyenne test release 0.9.19 available. Please report any bug 
or regresson here.

Changelog (diff from previous one) :


  o RSP: fixed a security issue allowing access to /webapp/private/ 
  sub-folders content.
	 

  o RSP/CGI: fix for HTTP 'Date header not being returned in some cases.(Will)
	 

  o RSP Sessions: fixed an issue with init flag when saving sessions 
  on disk.(Will)
	 
	 o RSP: now you can declare folders as valid login URL.(Will)
	 
	 	Ex: auth "/admin/login/"
	 	

  o RSP: a new session word 'from has been added. It's set to the referring 
  URL on login.

    After login, you can now redirect to the referring page (in case 
    of session timeouts
	   for example).(Will)
	   

  o RSP: a webapp can now be called without the ending slash.(Will)
	 

  o RSP: the root "/" webapp can now be declared (needs testing).(Will)
	 	 

  o RSP: new 'SID-domain config keyword added allowing to share sessions 
  between
	   sub-domains.(Will)
	 

  o RSP: now session ID can be passed as URL or POST data in addition 
  to cookie.(Will)
	 

  o New 'charset config keyword added. It allows to define specific 
  charset sent through
	   HTTP headers for 'text/htlm resources.(Will)
	   

  o RSP: Added a new function no-log in Response object. Use it to 
  avoid writing
	   log info to disk for the current request.(Will)
	   
	   		Ex: response/no-log


  o New 'mod-expire module for HTTPd. Allow configuring 'Expires HTTP 
  header. 
	   See %Cheyenne/mods/mod-expire.r for more info.(Will)
Download links : 
- sources: : http://cheyenne-server.org/tmp/cheyenne-r0919.zip

- Windows test binary : http://cheyenne-server.org/tmp/cheyenne.zip
- Linux test binary : http://cheyenne-server.org/tmp/cheyenne.gz
Btw, the "Reset Workers" issue on UNIX has been solved in this release.
I've been asked to publish some stats for Cheyenne downloads, here 
they are (stats since 18 months) :

Source downloads : 978

Binaries downloads : 2372
   - Windows: 926  (39%)
   - Linux : 867  (37%)
   - OS X :  579  (24%)
Btw, here's some stats for cheyenne-server.org web site (online since 
jun-2008) :

Total page viewed : 48224

  - Static pages : 9824
  - Blog : 19179
  - Wiki : 19221
Robert
4-Feb-2009
[3806]
Doc, can RSP be used with other web-servers as well? I use lighttpd 
at the moment and would like to avoid changing my configuration on 
my production system.
Will
4-Feb-2009
[3807]
Robert, one thing you can do for sure is reverse proxy rsp to cheyenne 
and serve static from lighthttpd 8)
Maarten
4-Feb-2009
[3808]
Robert, write a few helper functions and use http://www.ross-gill.com/techniques/rsp/
Will
4-Feb-2009
[3809]
that way you have overhead of launching/closing a process for every 
request
Robert
4-Feb-2009
[3810]
Maarten, thx. Didn't remember this one.


Will, well Rebol core is fast and it would be OK in the first place.
Maarten
4-Feb-2009
[3811]
My code is scattered everywhere... it's a Darwinistic tactic
Oldes
4-Feb-2009
[3812]
I'm using Cheyenne with Apache using the reverse proxy. Don't know 
it it's possible with lighthttpd. Let us know:)
Dockimbel
4-Feb-2009
[3813]
Cheyenne's RSP with other web server : no. The reverse proxy technique 
works well.
Robert
5-Feb-2009
[3814]
Maarten, does your RSP version support things like session handling 
etc.? Is it updated to keep track with Cheyenne's version?
Maarten
5-Feb-2009
[3815]
Of course not :-)