World: r3wp
[!Cheyenne] Discussions about the Cheyenne Web Server
older newer | first last |
Graham 19-Sep-2009 [5890x2] | and log the error instead |
cheyenne straight out of svn comes with a web app .. does that work? | |
Henrik 19-Sep-2009 [5892] | I use the encapped version here. |
Graham 19-Sep-2009 [5893x2] | of cheyenne? |
can't re-encap or switch to using source version? | |
Henrik 19-Sep-2009 [5895] | after a lot of experimentation, the latest encapped version was the only one that worked properly. |
Graham 19-Sep-2009 [5896x2] | So, which encapped version is faulty and which one works? |
Doc needs to remove faulty binaries if they are still available for download. | |
Maxim 20-Sep-2009 [5898] | is there any real advantage to using the binary version of cheyenne wrt the source version? |
Graham 20-Sep-2009 [5899] | Yeah .. users can corrupt the source files |
Maxim 20-Sep-2009 [5900] | how is that possible? |
Graham 20-Sep-2009 [5901] | if you have uniserve and cheyenne.r ... of course they can fiddle |
Maxim 20-Sep-2009 [5902] | by users you mean the people running the server or web users? |
Graham 20-Sep-2009 [5903] | oh ... I distribute cheyenne to end users as an embedded web server |
Maxim 20-Sep-2009 [5904x2] | ah ok, yeah in that case you want to give them the bin. |
but I really meant, feature-wise... | |
Graham 20-Sep-2009 [5906] | don't think so |
Maxim 20-Sep-2009 [5907] | btw, the svn setup is cool :-) good work doc |
Henrik 20-Sep-2009 [5908] | I wasn't particularly favoring the binary version, only that after a day's experimentation, that was the only one that worked properly for me. When in such a situation, it's better to stick to one with known bug record, so I can tell whether it's the binary or me that's doing something wrong. |
Maxim 20-Sep-2009 [5909] | so, the main advantage is the practicality (it also easier to update a single binary than a whole repository on the server itself :-) |
Graham 20-Sep-2009 [5910] | source version on development sites only |
Henrik 20-Sep-2009 [5911x3] | so, now app-init.r works for whatever reason. at least I can observe that changes to app-init.r only take into effect after restarting Cheyenne. |
Two other issues in the 0.9.19 source: 1. INCLUDE and INCLUDE-FILE do not process paths identically. This is not mentioned in the docs. 2. INCLUDE won't include files in absolute paths. It simply changes the path to the current path which stores the RSP file that is currently being executed. I can't say that I have a fixed include directory somewhere at an absolute path. I don't see the purpose of altering the path like this. | |
Sometimes Cheyenne also outputs a lot of junk prior to the real content. This seems to coincide with a failed INCLUDE. Rebooting Cheyenne stops the problem. | |
Graham 20-Sep-2009 [5914] | You tried "reload configuration" ? |
Henrik 20-Sep-2009 [5915] | how do I do that? |
Graham 20-Sep-2009 [5916x4] | rigth click on the chyenne icon in the system tray |
It may not reload the app-init.r though | |
I use include and include-file only to include files inside the web app ... never tried it otherwise | |
used for footers, headers, and Javascript libraries | |
Dockimbel 20-Sep-2009 [5920] | Quick warn on current email lib in Cheyenne: it was reported that my patchs to REBOL internal functions for RFC compliance are breaking some builtin protocols (HTTP e.g.). That's caused by other LF (instead of CRLF) deep buried in most protocols implementations conflicting with my patches. I'll remove my patches in next SVN build and recode all the stuff. |
Graham 20-Sep-2009 [5921x3] | so no email ! |
I don't really understand your issue about RFC .. I send email to gmail all the time .. it never gets rejected | |
spoke too soon ... two of them just ended up in the spam folder1 | |
Henrik 20-Sep-2009 [5924] | Graham, I'm running Cheyenne on a remote headless Linux server, so no system tray. :-) |
Graham 20-Sep-2009 [5925] | Oh you need to change to windows ASAP |
Dockimbel 20-Sep-2009 [5926] | :-) |
Henrik 20-Sep-2009 [5927] | not happening. besides, I prefer knowing what Cheyenne actually does than beating on a black box with a club to make the black box work. :-) |
Graham 20-Sep-2009 [5928x2] | My app reports errors back to me ... I do a set-net [ [myemail-:-gmail-:-com] gmail-smtp-in.l.google.com ] and then send the message to me. |
I don't need to use SSL/TLS because the recpient is also a gmail account. | |
Henrik 20-Sep-2009 [5930] | DocKimble, I've rambled a lot the past couple of days. I still have more to come. Can you make sense of it or should I compile a document with suggestions? |
Graham 20-Sep-2009 [5931] | Why don't you use it more and then report back ? |
Henrik 20-Sep-2009 [5932x2] | I can waste the next two weeks figuring out how things don't work in Cheyenne. |
or I could wait for some comments and more documentation by DocKimbel. | |
Dockimbel 20-Sep-2009 [5934x6] | Henrik, trying to answer your questions/issues : to serve multiple document roots on the same site without having separate domain names => Use sub-domains for such isolation. Everything that's under one domain can be accessed with /.. parent syntax. I think that you can hack it around with ALIAS, custom webapps on-page-start event handler, but there aren't clean solutions. Use sub-domains for such isolation. I think webapps require a bit more than static pages? => Just to make it clear, webapps are REBOL applications interfaced with external world using RSP scripts. Webapp are not meant to be container for *only* static pages (HTML/CSS/JS/images). attempt [load join request/config/root-dir %/app-init.r] ; TBD: report errors !!! [...] RSP: error in events from %app-init.r now logged. That's from the change log. That's not correct. => Yes it is. What's being logged so far is the errors caught at runtime in event functions declared in app-init. What need to be logged is the LOAD %app-init.r process (syntax errors at boot time). after a lot of experimentation, the latest encapped version was the only one that worked properly. Both encap and sources versions works well on Win/Mac/Unix. The issues you have are related to running a rebol app as daemon in console mode on a remote Unix server (without a UI desktop). Cheyenne can work in source mode on such server, but it's much easier and pratical to use it in binary form in such case (typical remote linux server case). |
so, now app-init.r works for whatever reason. at least I can observe that changes to app-init.r only take into effect after restarting Cheyenne. => Webapp are persistent application in memory. RSP pages will be reloaded on modification but %app-init.r can't without "restarting" the whole application. As there's no clean/reliable way to completly "unload" a Rebol app from a Rebol session, it requires to restart the whole processes (all the worker background processes that may have run your webapp). This can be achieved either by restarting the whole server, or better, by using the "Restart Workers" feature (documented in the changelog file). For unix: kill -USR1 <pid> (where <pid> is Cheyenne main process id). | |
Btw, the usual way to not have to "restart workers" on each app-init or other memory cached code is to run cheyenne with -w 0 option (use only 1 worker process and kill it after each request) and some verbose output for debugging : ./cheyenne -vv -w 0 & | |
on each app-init or other memory cached code [modification]... | |
Use the provided TestApp webapp sample to get a real working example. You can build your app by copying testapp code, then customizing it if you don't feel yet comfortable with webapps framework. | |
Graham: I'll release a new SVN version in a few hours after fixing known bugs/issues and rewritten netutils and file attachement stuff to get rid of Rebol non-conforming legacy code. | |
older newer | first last |