Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Graeme Geldenhuys
Op 2010-05-24 18:02, Leonardo M. Ramé het geskryf:
 Aldo, I know it has templates, the problem I'm facing now is in Windows
 Seven 64bits, It can't read environment/GET/POST vars, so the GetVar
 function doesn't return anything. That's why I had to look elsewere.

Does this only occur in Win7 (64-bit), or does it happen with any Windows
version?

We use Powtils v1.6.0.2 (the latest version that works for us because the
latest trunk version doesn't even compile) and we have deployed CGI apps
under Linux (32  64bit) and Windows (32-bit) without problems. I haven't
tested a Windows 64-bit system yet.

The version we use is downloadable from:
  http://opensoft.homeip.net/~graemeg/pwu-1.6.0.2.tar.gz


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Graeme Geldenhuys
Op 2010-05-24 18:30, Bee Jay het geskryf:
 
 The CGI app
 (lightweight) will run the ascociated FCGI app (the true app) if it's
 not yet running. If it's already running, the CGI app acts as request
 proxy for the FCGI app.

I have never looked at FastCGI before, but what you are descibing is
exactly what I wanted to do with CGI. Create a GUI or Service/Daemon
application (application server) that the CGI apps talks to. The
application server would setup the DB connection and stay running. The CGI
simply forwards requests back and forth.  I'm glad to see my idea is not
impossible and was already implemented. :-)


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 25 Mei 2010, at 11:32, Bee Jay wrote:

 Oh, did I mention live debugging? ;)

Oh, did I mention that FCGI is an open standardized protocol that is supported 
by virtually any web servers? That means you could avoid vendor technology 
locked-in, such as Apache mod or IIS ISAPI. ;)

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 25 Mei 2010, at 14:06, Graeme Geldenhuys wrote:

 I have never looked at FastCGI before, but what you are descibing is
 exactly what I wanted to do with CGI. Create a GUI or Service/Daemon
 application (application server) that the CGI apps talks to. The
 application server would setup the DB connection and stay running. The CGI
 simply forwards requests back and forth.  I'm glad to see my idea is not
 impossible and was already implemented. :-)

ExtPascal had been using this technique since about two years ago! I told you 
about this more than once, but you never listen to me. ;) :D

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Graeme Geldenhuys
Op 2010-05-25 09:14, Bee Jay het geskryf:
 
 ExtPascal had been using this technique since about two years ago! I
 told you about this more than once, but you never listen to me. ;) :D

:-) I send lots of messages (too many in fact), so couldn't remember who
told me that.  The other thing was that I haven't implemented such a change
yet, and it will only be done in our next release cycle. Our current
product is already in feature freeze.

My major concern is vendor lock-in. Something we want to avoid at all costs
- we have been burnt too many times. So I'll stay away from ExtPascal
because that requires ExtJS which is a commercial product you have to
purchase (starting at $729 and going up to $39,129), and what if ExtJS goes
out of business tomorrow.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 25 Mei 2010, at 14:43, Graeme Geldenhuys wrote:

 My major concern is vendor lock-in. Something we want to avoid at all costs
 - we have been burnt too many times. So I'll stay away from ExtPascal
 because that requires ExtJS which is a commercial product you have to
 purchase (starting at $729 and going up to $39,129), and what if ExtJS goes
 out of business tomorrow.

Because the exact same reason, ExtPascal got some code refactoring lately. The 
refactoring purpose is to separate FCGI code from ExtJS wrapper code 
(decouple). By using the latest SVN of ExtPascal, you should be able to use the 
FCGI part only without need to bother with the ExtJS part. However, the 
refactoring result isn't yet fully tested and it might leave some coupled code 
behind.

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Graeme Geldenhuys
Op 2010-05-25 09:51, Bee Jay het geskryf:
 should be able to use the FCGI part only without need to bother with the
 ExtJS part. However, the refactoring result isn't yet fully tested and
 it might leave some coupled code behind.

Good to know, thanks. I'll then take a look at ExtPascal closer to the time.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 25 Mei 2010, at 01:43, Marcos Douglas wrote:
 On Mon, May 24, 2010 at 3:30 PM, Leonardo M. Ramé martinr...@yahoo.com 
 wrote:
 Marcos, nobody is saying that you don't have to destroy instances when 
 programming CGI apps.
 
 Okay, but if there is not memory leaks...
 I ever free my objects! But I did not know about no memory leaks in
 CGI programs...

Ok, Marcos... let's take a look at the logic of memory allocation. Everytime an 
app need memory, it requests it to the OS. So, OS always knows which part of 
memory belongs to what app. Once the app is terminated, OS will release all the 
memory allocated for the app so it can be used by other apps. This means memory 
leak only happens during the life of an app. The problem is... if your app is 
always running and keep requesting memory that will never be released later, 
the OS will unable to serve memory allocation request from other apps. At the 
end, the OS will be running out of memory, then the whole system will crash. 
That's why memory leak is a serious issue for long time running app such as 
FCGI app, service, daemon, etc. For an app with short life time, this isn't a 
serious issue. Nevertheless, it's a good and recommended practice to make sure 
your app has no memory leaks.

However, there's a chance when memory leak still persist though an app had 
already been terminated. It happens when some apps request for shared memory 
allocation. Since the memory is being used together by some apps, the memory 
will not be released until ALL the apps that using it got terminated. If the 
shared memory also being used by the OS kernel, then it will never be released 
by the OS, unless you restart the whole system. It is a very serious issue.

HTH.

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Michael Van Canneyt



On Tue, 25 May 2010, Bee Jay wrote:



On 25 Mei 2010, at 14:43, Graeme Geldenhuys wrote:


My major concern is vendor lock-in. Something we want to avoid at all costs
- we have been burnt too many times. So I'll stay away from ExtPascal
because that requires ExtJS which is a commercial product you have to
purchase (starting at $729 and going up to $39,129), and what if ExtJS goes
out of business tomorrow.


Because the exact same reason, ExtPascal got some code refactoring lately.
The refactoring purpose is to separate FCGI code from ExtJS wrapper code
(decouple).  By using the latest SVN of ExtPascal, you should be able to
use the FCGI part only without need to bother with the ExtJS part. 
However, the refactoring result isn't yet fully tested and it might leave

some coupled code behind.



Seems like Graeme is not the only one who is not always listening:

I said several times before, FastCGI exists since a long time in Free Pascal; 
why would you need ExtPascal code for it ?


What is more, the FastCGI implementation of Free Pascal is fully 
compatible with all the rest of fcl-web, making it much more easy

to develop for than using ExtPascal (especially in Lazarus).

Also, the FastCGI module of ExtPascal is limited to using the ExternalFastCGI
directive in Apache. It does not support IIS and does not support regular 
FastCgi.


By contrast, the implementation in Free Pascal does support the standards
and also supports the ExternalFastCGI directive.

All in all, I see very little reason for using ExtPascal - if you are
interested only in the FastCGI code. If you want ExtJS, it's a different
story.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Graeme Geldenhuys
Op 2010-05-25 10:12, Michael Van Canneyt het geskryf:
 
 All in all, I see very little reason for using ExtPascal - if you are
 interested only in the FastCGI code.


At least I knew about FastCGI support included in Free Pascal, and that was
going to be the first thing I evaluate when I get to the task. From this
message thread it seemed like ExtPascal makes things easier, but as your
messages suggests - it in fact adds limitations (when only wanting
FastCGI). Thanks for pointing this out.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 25 Mei 2010, at 15:12, Michael Van Canneyt wrote:

 Seems like Graeme is not the only one who is not always listening:

Hahahaha... I know. :D When you point a finger, there are three fingers 
pointing back at you! ;)

 I said several times before, FastCGI exists since a long time in Free Pascal; 
 why would you need ExtPascal code for it ?

Sorry, maybe I missed some of your emails. When I needed FCGI, I found 
ExtPascal first before fpWeb. I found fpWeb when my app had coded mostly using 
ExtPascal. So, I ignored it at that time. Now, I'm considering to use fpWeb for 
my next projects. But, the lack of CGI gateway/proxy support, and knowing 
ExtPascal code got refactor lately, I haven't yet made any decision. Any 
suggestion?

 All in all, I see very little reason for using ExtPascal - if you are
 interested only in the FastCGI code. If you want ExtJS, it's a different
 story.

Though I no longer use ExtPascal, except to maintain 2 legacy web apps that 
already been on production, I still care about this project. Its future is 
still promising to provide web app dev tool using pascal. Especially when 
Wanderlan is starting to work on the web IDE. Perhaps fpWeb got better design 
and all, but the ease of use of ExtPascal made it more attractive to common 
delphi/pascal programmers, especially with ExtP Toolkit. I even promoting it in 
my local delphi/pascal community, along with fpWeb and FreeSpider. More 
alternative is better for the community, I suppose. ;)

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Michael Van Canneyt



On Tue, 25 May 2010, Bee Jay wrote:



On 25 Mei 2010, at 15:12, Michael Van Canneyt wrote:


Seems like Graeme is not the only one who is not always listening:


Hahahaha... I know. :D When you point a finger, there are three fingers 
pointing back at you! ;)


I said several times before, FastCGI exists since a long time in Free Pascal; 
why would you need ExtPascal code for it ?


Sorry, maybe I missed some of your emails. When I needed FCGI, I found
ExtPascal first before fpWeb.  I found fpWeb when my app had coded mostly
using ExtPascal.  So, I ignored it at that time.  Now, I'm considering to
use fpWeb for my next projects.  But, the lack of CGI gateway/proxy
support, and knowing ExtPascal code got refactor lately, I haven't yet
made any decision.  Any suggestion?


The CGI gateway is on my todo list, as you know.
Other than that, I have no suggestions other than the observations I already
gave.




All in all, I see very little reason for using ExtPascal - if you are
interested only in the FastCGI code. If you want ExtJS, it's a different
story.


Though I no longer use ExtPascal, except to maintain 2 legacy web apps
that already been on production, I still care about this project.  Its
future is still promising to provide web app dev tool using pascal. 
Especially when Wanderlan is starting to work on the web IDE.  Perhaps

fpWeb got better design and all, but the ease of use of ExtPascal made it
more attractive to common delphi/pascal programmers, especially with ExtP
Toolkit.  I even promoting it in my local delphi/pascal community, along
with fpWeb and FreeSpider.  More alternative is better for the community,
I suppose.  ;)


Obviously. I think ExtPascal is promising, but sadly suffers from some major
design flaws (garbage collect, thread model); which prevent me from
using it: they can (and do) lead to serious memory corruption.

I still follow its progress, but see no signs that the design flaws will 
be fixed, even with the recent refactorings :/


Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 25 Mei 2010, at 15:55, Michael Van Canneyt wrote:

 The CGI gateway is on my todo list, as you know.

Now everybody knows. ;)

 Obviously. I think ExtPascal is promising, but sadly suffers from some major
 design flaws (garbage collect, thread model); which prevent me from
 using it: they can (and do) lead to serious memory corruption.

I'm maintaining 2 FCGI apps using CGI gateway. The FCGI app will terminate 
itself after being idle for 30 minutes. So far, everything is fine. Though I 
must admit that once in a while it just hung up but it very rarely happened. 
According to the app log, it only happen twice last year, which made me have to 
kill it manually. Well, I can live with that. :D Maybe it's because the 
suspected memory corruption as you said?

Could you point out which code exactly that lead to serious memory corruption? 
I could propose code review to Wanderlan if I can prove it.

 I still follow its progress, but see no signs that the design flaws will be 
 fixed, even with the recent refactorings :/


Wanderlan is an open minded person. If you could prove the arguments, he will 
listen up to you. ;)

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Jorge Aldo G. de F. Junior
i dont have a win64 machine to test this...

2010/5/25 Bee Jay bee.ogra...@gmail.com:

 On 25 Mei 2010, at 15:55, Michael Van Canneyt wrote:

 The CGI gateway is on my todo list, as you know.

 Now everybody knows. ;)

 Obviously. I think ExtPascal is promising, but sadly suffers from some major
 design flaws (garbage collect, thread model); which prevent me from
 using it: they can (and do) lead to serious memory corruption.

 I'm maintaining 2 FCGI apps using CGI gateway. The FCGI app will terminate 
 itself after being idle for 30 minutes. So far, everything is fine. Though I 
 must admit that once in a while it just hung up but it very rarely happened. 
 According to the app log, it only happen twice last year, which made me have 
 to kill it manually. Well, I can live with that. :D Maybe it's because the 
 suspected memory corruption as you said?

 Could you point out which code exactly that lead to serious memory 
 corruption? I could propose code review to Wanderlan if I can prove it.

 I still follow its progress, but see no signs that the design flaws will be 
 fixed, even with the recent refactorings :/


 Wanderlan is an open minded person. If you could prove the arguments, he will 
 listen up to you. ;)

 -Bee-

 ___
 fpc-pascal maillist  -  fpc-pas...@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-pascal

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay
On 25 Mei 2010, at 17:36, Michael Van Canneyt wrote:

 Here I can reliably reproduce the memory corruption. It crashes the output
 regularly. (with random use, it happens 10-15 times a day, in a test 
 enviromnent).

Would you share the test code?

 The bug is in the garbage collector, which attempts to free objects that have 
 already been freed, but were not removed from the garbage collector list.

Again, which part of the code?

 I know that the garbage collector was reworked, but the correct
 implementation would have been to remove the garbage collector
 altogether and use TComponent decsendents instead.

Because the high demand of it, some of us could convince Wanderlan that it 
would make ExtPascal better in the long run. Wanderlan is considering to do 
exactly that. See... ;)

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Michael Van Canneyt



On Tue, 25 May 2010, Bee Jay wrote:


On 25 Mei 2010, at 17:36, Michael Van Canneyt wrote:


Here I can reliably reproduce the memory corruption. It crashes the output
regularly. (with random use, it happens 10-15 times a day, in a test 
enviromnent).


Would you share the test code?


Unfortunately I can't; it's an internal app :/

(and would take very long to set up since it needs a complicated database)




The bug is in the garbage collector, which attempts to free objects that have 
already been freed, but were not removed from the garbage collector list.


Again, which part of the code?


I checked, but I can't show that any more; the garbage collector was reworked
completely it seems. I have not tried with the latest version, and since I switched 
to fcl-web anyway, there is no point any more in using ExtPascal.


But maybe the new garbage collector no longer has the problem; in that case,
my remarks are void.




I know that the garbage collector was reworked, but the correct
implementation would have been to remove the garbage collector
altogether and use TComponent decsendents instead.


Because the high demand of it, some of us could convince Wanderlan that it 
would make ExtPascal better in the long run. Wanderlan is considering to do 
exactly that. See... ;)


Glad to hear that. Tell him he should also get rid of the one-thread-per-session
model, because it is simply not correct in many circumstances. It is visible
in the use of threadvars.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 25 Mei 2010, at 20:31, Michael Van Canneyt wrote:

 But maybe the new garbage collector no longer has the problem; in that case,
 my remarks are void.

I hope so. I haven't try the latest SVN either. :D

 Tell him he should also get rid of the one-thread-per-session
 model, because it is simply not correct in many circumstances. It is visible
 in the use of threadvars.

Any suggestion how to do it better?

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Michael Van Canneyt



On Tue, 25 May 2010, Bee Jay wrote:



On 25 Mei 2010, at 20:31, Michael Van Canneyt wrote:


But maybe the new garbage collector no longer has the problem; in that case,
my remarks are void.


I hope so. I haven't try the latest SVN either. :D


Tell him he should also get rid of the one-thread-per-session
model, because it is simply not correct in many circumstances. It is visible
in the use of threadvars.


Any suggestion how to do it better?


The problem resolves itself if you convert everything to TComponent
descendents: you can then follow the owner chain till you get to the
TWebSession class; There is only 1 instance of that class per session,
regardless of the threads in use.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Marcos Douglas
On Tue, May 25, 2010 at 4:14 AM, Bee Jay bee.ogra...@gmail.com wrote:

 On 25 Mei 2010, at 14:06, Graeme Geldenhuys wrote:

 I have never looked at FastCGI before, but what you are descibing is
 exactly what I wanted to do with CGI. Create a GUI or Service/Daemon
 application (application server) that the CGI apps talks to. The
 application server would setup the DB connection and stay running. The CGI
 simply forwards requests back and forth.  I'm glad to see my idea is not
 impossible and was already implemented. :-)

 ExtPascal had been using this technique since about two years ago! I told you 
 about this more than once, but you never listen to me. ;) :D


What do you think about to use 2 FCGI apps? The first is the proxy and
the second is the real app. Do not is more fast than CGI gateway +
FCGI?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Lee Jenkins

Marcos Douglas wrote:

On Tue, May 25, 2010 at 4:14 AM, Bee Jay bee.ogra...@gmail.com wrote:

On 25 Mei 2010, at 14:06, Graeme Geldenhuys wrote:


I have never looked at FastCGI before, but what you are descibing is
exactly what I wanted to do with CGI. Create a GUI or Service/Daemon
application (application server) that the CGI apps talks to. The
application server would setup the DB connection and stay running. The CGI
simply forwards requests back and forth.  I'm glad to see my idea is not
impossible and was already implemented. :-)

ExtPascal had been using this technique since about two years ago! I told you 
about this more than once, but you never listen to me. ;) :D



What do you think about to use 2 FCGI apps? The first is the proxy and
the second is the real app. Do not is more fast than CGI gateway +
FCGI?



Personally, I don't see a problem with the static nature of a apache_mod,ISAPI 
if you're doing your debugging locally on an embedded server first and then 
deploying your executable (apache, isapi, fcgi) later.  That would reduce the 
frequency of having to shutdown the server to replace the binary.


To me the truly sexy thing about fpWeb/LazWeb is that the abstraction level to 
various implementations (cgi, fcgi, apache, etc) is well written and makes it 
easy to create a core application and port it to different platforms by simply 
wrapping the core application in the various fpWeb implementations.


A embedded server makes it easy to debug the app with breakpoints, variable 
inspection, etc for development and maintenance.  If the core app logic is 
encapsulated enough, its trivial to then take it from a local embedded and plug 
it into your favorite fpWeb implementation.


That's my plan at any rate.

--
Warm Regards,

Lee
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Marcos Douglas
On Tue, May 25, 2010 at 12:23 PM, Lee Jenkins l...@datatrakpos.com wrote:

 Personally, I don't see a problem with the static nature of a
 apache_mod,ISAPI if you're doing your debugging locally on an embedded
 server first and then deploying your executable (apache, isapi, fcgi) later.
  That would reduce the frequency of having to shutdown the server to replace
 the binary.

But you still having to shutdown the server to replace the binary...

I thought about the gateway/proxy approach and I consider one of the
best solutions. The proxy would redirect all request for some apps. If
you want disable one, you can, just redirect for other app.
My only doubt is: why to use CGI proxy, not a FCGI?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Lee Jenkins

Marcos Douglas wrote:

On Tue, May 25, 2010 at 12:23 PM, Lee Jenkins l...@datatrakpos.com wrote:

Personally, I don't see a problem with the static nature of a
apache_mod,ISAPI if you're doing your debugging locally on an embedded
server first and then deploying your executable (apache, isapi, fcgi) later.
 That would reduce the frequency of having to shutdown the server to replace
the binary.


But you still having to shutdown the server to replace the binary...

I thought about the gateway/proxy approach and I consider one of the
best solutions. The proxy would redirect all request for some apps. If
you want disable one, you can, just redirect for other app.
My only doubt is: why to use CGI proxy, not a FCGI?




Seems a little redundant to me to have one FCGI proxying for another FCGI and 
its not part of the standard either.  Lots of sites are using FCGI out there 
with the standard single FCGI server setup.


If you're putting logic into the proxy to any significant degree then I think 
that is more or less n-tier development as usual.


--
Warm Regards,

Lee
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 25 Mei 2010, at 23:37, Marcos Douglas wrote:

 My only doubt is: why to use CGI proxy, not a FCGI?

The main purpose of CGI proxy existence is to provide solution for some 
environments where FCGI setup isn't possible. The other advantages are bonuses. 
;)

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Marcos Douglas
On Tue, May 25, 2010 at 1:58 PM, Lee Jenkins l...@datatrakpos.com wrote:

 Seems a little redundant to me to have one FCGI proxying for another FCGI
 and its not part of the standard either.  Lots of sites are using FCGI out
 there with the standard single FCGI server setup.

 If you're putting logic into the proxy to any significant degree then I
 think that is more or less n-tier development as usual.

Okay, but using only one fcgi app, we will always have to shutdown the server?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Bee Jay

On 26 Mei 2010, at 24:12, Marcos Douglas wrote:

 If the environment allows use FCGI, you would not CGI gateway?

No, because I WANT to use those bonuses. However, by able to use the bonuses, 
you can't negate the main purpose of its existence.

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Marcos Douglas
Hi Michael,

On Tue, May 25, 2010 at 2:19 PM, Michael Van Canneyt
mich...@freepascal.org wrote:

 You can do this with CGI or FastCGI proxies. It does seem elaborate, though.
 How often do you need to restart the FastCGI proxy ? Not often, I would
 think.

I never used FastCGI. I know it stay in memory. So, if I need update
the app I having shutdown the server, right?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Marcos Douglas
On Tue, May 25, 2010 at 2:06 PM, Bee Jay bee.ogra...@gmail.com wrote:

 On 25 Mei 2010, at 23:37, Marcos Douglas wrote:

 My only doubt is: why to use CGI proxy, not a FCGI?

 The main purpose of CGI proxy existence is to provide solution for some 
 environments where FCGI setup isn't possible. The other advantages are 
 bonuses. ;)


If the environment allows use FCGI, you would not CGI gateway?

You said:
Yes, I agree with Leonardo. Another plus is you got better control
over FCGI app if you're using CGI gateway. You're able to terminate,
restart, redirect to other app on other machine, etc. without even
touching the web server. If you're using plain FCGI, you have to stop
the entire web server if you want to do something with the FCGI app.

... you can terminate, restart, redirect to other app on other
machine, etc. without even touching the web server using only FCGI
approach?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Lee Jenkins

Marcos Douglas wrote:

Hi Michael,

On Tue, May 25, 2010 at 2:19 PM, Michael Van Canneyt
mich...@freepascal.org wrote:

You can do this with CGI or FastCGI proxies. It does seem elaborate, though.
How often do you need to restart the FastCGI proxy ? Not often, I would
think.


I never used FastCGI. I know it stay in memory. So, if I need update
the app I having shutdown the server, right?




Not the server computer, but the FCGI application, yes.

--
Warm Regards,

Lee


___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Michael Van Canneyt



On Tue, 25 May 2010, Marcos Douglas wrote:


Hi Michael,

On Tue, May 25, 2010 at 2:19 PM, Michael Van Canneyt
mich...@freepascal.org wrote:


You can do this with CGI or FastCGI proxies. It does seem elaborate, though.
How often do you need to restart the FastCGI proxy ? Not often, I would
think.


I never used FastCGI. I know it stay in memory. So, if I need update
the app I having shutdown the server, right?


No, just the fastcgi app.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-25 Thread Marcos Douglas
On Tue, May 25, 2010 at 2:45 PM, Lee Jenkins l...@datatrakpos.com wrote:

 Not the server computer, but the FCGI application, yes.


On Tue, May 25, 2010 at 3:09 PM, Michael Van Canneyt
mich...@freepascal.org wrote:

 No, just the fastcgi app.


And what the correct way for do that? Kill the process?


Marcos Douglas

PS: I made ISAPI web apps a long time ago. Always I needed update the
app, I restarted the IIS. I do not knew about these approaches out
IIS, so far. Then, sorry my beginner questions.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Leonardo M . Ramé
Thanks Leledumbo, FreeSpider worked perfectly, I did some tests of GET/POST 
vars and Templates, and it fits my needs wonderfully.

I also tried fpWeb, but it has some problems (EWriteError : Stream write error) 
on Windows Seven 64, or with Apache 2.2.15, I don't know, in Lazarus list I 
posted a couple of questions trying to let it work.

The only thing I miss from PowTils is executable size, a simple program in 
FreeSpider took ~7mb, and with -XX -Xs it went down to 1.6Mb. I know it will be 
cached in the server, and that's not an issue for my app, but it looks like too 
big for a simple CGI program. Anyway, I'll use it for this project.

Leonardo M. Ramé
http://leonardorame.blogspot.com


--- On Mon, 5/24/10, leledumbo leledumbo_c...@yahoo.co.id wrote:

 From: leledumbo leledumbo_c...@yahoo.co.id
 Subject: Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits
 To: fpc-pascal@lists.freepascal.org
 Date: Monday, May 24, 2010, 1:59 AM
 
 Powtils seems to be ignored by the author for a couple of
 years, use fpWeb or
 FreeSpider instead. Both are maintained and quite advanced
 (fpWeb:
 parameterized templates, FreeSpider: smart module loading),
 and what you
 need: both have working file upload example.
 
 -- 
 View this message in context: 
 http://old.nabble.com/CGI-file-upload-tp28650163p28653703.html
 Sent from the Free Pascal - General mailing list archive at
 Nabble.com.
 
 ___
 fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-pascal
 



___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 11:51 AM, Leonardo M. Ramé martinr...@yahoo.com wrote:
 Thanks Leledumbo, FreeSpider worked perfectly, I did some tests of GET/POST 
 vars and Templates, and it fits my needs wonderfully.

 I also tried fpWeb, but it has some problems (EWriteError : Stream write 
 error) on Windows Seven 64, or with Apache 2.2.15, I don't know, in Lazarus 
 list I posted a couple of questions trying to let it work.

 The only thing I miss from PowTils is executable size, a simple program in 
 FreeSpider took ~7mb, and with -XX -Xs it went down to 1.6Mb. I know it will 
 be cached in the server, and that's not an issue for my app, but it looks 
 like too big for a simple CGI program. Anyway, I'll use it for this project.

Do someone uses FreeSpider? I don't know if it is a real framework for
production.


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Leonardo M . Ramé
--- On Mon, 5/24/10, Marcos Douglas m...@delfire.net wrote:

 From: Marcos Douglas m...@delfire.net
 Subject: Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits
 To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
 Date: Monday, May 24, 2010, 12:04 PM
 On Mon, May 24, 2010 at 11:51 AM,
 Leonardo M. Ramé martinr...@yahoo.com
 wrote:
  Thanks Leledumbo, FreeSpider worked perfectly, I did
 some tests of GET/POST vars and Templates, and it fits my
 needs wonderfully.
 
  I also tried fpWeb, but it has some problems
 (EWriteError : Stream write error) on Windows Seven 64, or
 with Apache 2.2.15, I don't know, in Lazarus list I posted a
 couple of questions trying to let it work.
 
  The only thing I miss from PowTils is executable size,
 a simple program in FreeSpider took ~7mb, and with -XX -Xs
 it went down to 1.6Mb. I know it will be cached in the
 server, and that's not an issue for my app, but it looks
 like too big for a simple CGI program. Anyway, I'll use it
 for this project.
 
 Do someone uses FreeSpider? I don't know if it is a real
 framework for
 production.
 
 
 Marcos Douglas

I'll use it in production. With CGI you have one advantage over Apache Modules 
or Embedded web servers, as far as your actions do their work without errors, 
you don't have to worry about possible memory leaks related to concurrency 
problems or threads or anything like that, CGI's are much less complex than 
servers. Knowing this, I'm pretty sure FreeSpider will fit my needs for this 
particular project.

Leonardo M. Ramé
http://leonardorame.blogspot.com




___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
Hi Leonardo,
Thanks for reply.

On Mon, May 24, 2010 at 12:13 PM, Leonardo M. Ramé martinr...@yahoo.com wrote:

 I'll use it in production. With CGI you have one advantage over Apache 
 Modules or Embedded web servers, as far as your actions do their work 
 without errors, you don't have to worry about possible memory leaks related 
 to concurrency problems or threads or anything like that, CGI's are much less 
 complex than servers. Knowing this, I'm pretty sure FreeSpider will fit my 
 needs for this particular project.


Don't worry about memory leaks?! But if a do not freed an object e.g.
this is continues in memory, even after app ends.
About FreeSpider: There are just one owner for this project, right?
This project is more stable than fpWeb, Powtils, Synapse, etc?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Felipe Monteiro de Carvalho
On Mon, May 24, 2010 at 5:26 PM, Marcos Douglas m...@delfire.net wrote:
 Don't worry about memory leaks?! But if a do not freed an object e.g.
 this is continues in memory, even after app ends.

No, it doesn't continue in memory.

-- 
Felipe Monteiro de Carvalho
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Jorge Aldo G. de F. Junior
Powtils is not unmantained, its just slow development.

Powutils has parametrized templates, it just dont have documentation
for the latest version (I developed the template system myself).

2010/5/24 Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com:
 On Mon, May 24, 2010 at 5:26 PM, Marcos Douglas m...@delfire.net wrote:
 Don't worry about memory leaks?! But if a do not freed an object e.g.
 this is continues in memory, even after app ends.

 No, it doesn't continue in memory.

 --
 Felipe Monteiro de Carvalho
 ___
 fpc-pascal maillist  -  fpc-pas...@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-pascal

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Leonardo M . Ramé
Aldo, I know it has templates, the problem I'm facing now is in Windows Seven 
64bits, It can't read environment/GET/POST vars, so the GetVar function doesn't 
return anything. That's why I had to look elsewere.

Leonardo M. Ramé
http://leonardorame.blogspot.com


--- On Mon, 5/24/10, Jorge Aldo G. de F. Junior jagf...@gmail.com wrote:

 From: Jorge Aldo G. de F. Junior jagf...@gmail.com
 Subject: Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits
 To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
 Date: Monday, May 24, 2010, 12:54 PM
 Powtils is not unmantained, its just
 slow development.
 
 Powutils has parametrized templates, it just dont have
 documentation
 for the latest version (I developed the template system
 myself).
 
 2010/5/24 Felipe Monteiro de Carvalho felipemonteiro.carva...@gmail.com:
  On Mon, May 24, 2010 at 5:26 PM, Marcos Douglas m...@delfire.net
 wrote:
  Don't worry about memory leaks?! But if a do not
 freed an object e.g.
  this is continues in memory, even after app ends.
 
  No, it doesn't continue in memory.
 
  --
  Felipe Monteiro de Carvalho
  ___
  fpc-pascal maillist  -  fpc-pas...@lists.freepascal.org
  http://lists.freepascal.org/mailman/listinfo/fpc-pascal
 
 ___
 fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-pascal
 



___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Bee Jay
On 24 Mei 2010, at 22:13, Leonardo M. Ramé wrote:

 With CGI you have one advantage over Apache Modules or Embedded web servers, 
 as far as your actions do their work without errors, you don't have to 
 worry about possible memory leaks related to concurrency problems or threads 
 or anything like that, CGI's are much less complex than servers.

That's why I like the CGI gateway mechanism from ExtPascal. The CGI app 
(lightweight) will run the ascociated FCGI app (the true app) if it's not yet 
running. If it's already running, the CGI app acts as request proxy for the 
FCGI app. As FCGI no longer got requests (went idle) for some time, it 
terminates itself. So, you got CGI and FCGI advantages combined. It's also 
easier during development, especially debugging. Well, for some small apps, it 
might be overkill. But, for medium to large apps, with hundreds of concurrent 
requests, it simply shines over plain CGI.

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread ABorka

On 5/24/2010 09:02, Leonardo M. Ramé wrote:

Aldo, I know it has templates, the problem I'm facing now is in Windows Seven 
64bits, It can't read environment/GET/POST vars, so the GetVar function doesn't 
return anything. That's why I had to look elsewere.

Leonardo M. Ramé
http://leonardorame.blogspot.com


Is this a reported problem? Can you create a bug report on this if it is 
a reproduceable error?


___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Leonardo M . Ramé
-- On Mon, 5/24/10, ABorka fpc-de...@aborka.com wrote:

 From: ABorka fpc-de...@aborka.com
 Subject: Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits
 To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
 Date: Monday, May 24, 2010, 1:48 PM
 On 5/24/2010 09:02, Leonardo M. Ramé
 wrote:
  Aldo, I know it has templates, the problem I'm facing
 now is in Windows Seven 64bits, It can't read
 environment/GET/POST vars, so the GetVar function doesn't
 return anything. That's why I had to look elsewere.
 
  Leonardo M. Ramé
  http://leonardorame.blogspot.com
 
 Is this a reported problem? Can you create a bug report on
 this if it is a reproduceable error?

This is the problem with POWTILS. 

For fpWeb, this is what I posted in Lazarus mailing list:

I created a basic example called 'cgiproject1' consisting of only an 
TFPWebModule's OnRequest method like this, with no action:

procedure TFPWebModule1.DataModuleRequest(Sender: TObject; ARequest: TRequest;
AResponse: TResponse; var Handled: Boolean);
begin
   AResponse.Content := 'Hello';
  Handled := True;
end;

Without environment vars, the result is this:

exception at 00010003B5DC:
No REQUEST_METHOD passed from server.

If I set the environment var REQUEST_METHOD using set REQUEST_METHOD=POST, or 
GET, the result is this:

An unhandled exception occurred at $00010001FC05 :
EWriteError : Stream write error
$00010001FC05
$000100034C77
$000100037D54
$000100033DCA
$000115DE main, line 13 of giproject1.lpr

It doesn't matter if I set QUERY_STRING and PATH_INFO, the result is the same.

Leonardo M. Ramé
http://leonardorame.blogspot.com




___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 12:42 PM, Felipe Monteiro de Carvalho
felipemonteiro.carva...@gmail.com wrote:
 On Mon, May 24, 2010 at 5:26 PM, Marcos Douglas m...@delfire.net wrote:
 Don't worry about memory leaks?! But if a do not freed an object e.g.
 this is continues in memory, even after app ends.

 No, it doesn't continue in memory.

In any operating system?
So, memory leaks are valid only for apps that stay in memory, like
FastCGI, ISAPI, etc?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 1:30 PM, Bee Jay bee.ogra...@gmail.com wrote:

 That's why I like the CGI gateway mechanism from ExtPascal. The CGI app 
 (lightweight) will run the ascociated FCGI app (the true app) if it's not yet 
 running. If it's already running, the CGI app acts as request proxy for the 
 FCGI app. As FCGI no longer got requests (went idle) for some time, it 
 terminates itself. So, you got CGI and FCGI advantages combined. It's also 
 easier during development, especially debugging. Well, for some small apps, 
 it might be overkill. But, for medium to large apps, with hundreds of 
 concurrent requests, it simply shines over plain CGI.


If it's already running, the CGI app acts as request proxy for the FCGI app
Would not the oposite?
A FCGI lightweight app would be the proxy for some CGI apps. The FCGI
stay in memory, so it is more fast for requests, while CGI app would
be more specialized.


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Lee Jenkins

Marcos Douglas wrote:

On Mon, May 24, 2010 at 12:42 PM, Felipe Monteiro de Carvalho
felipemonteiro.carva...@gmail.com wrote:

On Mon, May 24, 2010 at 5:26 PM, Marcos Douglas m...@delfire.net wrote:

Don't worry about memory leaks?! But if a do not freed an object e.g.
this is continues in memory, even after app ends.

No, it doesn't continue in memory.


In any operating system?
So, memory leaks are valid only for apps that stay in memory, like
FastCGI, ISAPI, etc?



It is more or less a console application.

1. Request come in.
2. CGI Application starts and handles request through stdin/stdout.
3. CGI Application shuts down and release its resources.

One application is started and then shutdown for every request which comes in. 
Not good for sites that need AJAX, connection pooling, persistent objects, etc. 
 Great (and fast) for sites with basic fetch(static, database, etc) and display 
models, IMO.


--
Warm Regards,

Lee
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Bee Jay

On 25 Mei 2010, at 24:10, Marcos Douglas wrote:

 If it's already running, the CGI app acts as request proxy for the FCGI app
 Would not the oposite?

Because FCGI app is the true worker app. CGI proxy is lightweight app. It does 
nothing but redirecting incoming request and outgoing response, aka proxy. 
Since it's lightweight, the CGI penalty can be ignored.

 A FCGI lightweight app would be the proxy for some CGI apps. The FCGI
 stay in memory, so it is more fast for requests, while CGI app would
 be more specialized.

Take a simple common case, an app that need to connect to a database, run an 
sql query, format the result, send it to client, and close the db connection. 
If it's a CGI app, the whole process is done on every single client request. 
100 incoming request, then 100 times it's done over and over. 

If it's a FCGI app, you could make it connect to database once when it goes up, 
run the sql query once when the first request comes, format the result, send it 
to client, then cache the formatted result. If another similar request coming 
in, since the FCGI app stays in the memory, it could simply re-send the cached 
result without re-connect and re-query to the database. The cache can be 
refreshed (re-query the database) upon some conditional triggers, i.e. time 
interval, number of similar request, or some special kind of request (update 
query, etc). The db connection only need to be closed before the FCGI app is 
about to terminate itself at the end of its session. You can imagine how big 
performance boost you will get. ;)

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Leonardo M . Ramé
--- On Mon, 5/24/10, Marcos Douglas m...@delfire.net wrote:

 From: Marcos Douglas m...@delfire.net
 Subject: Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits
 To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
 Date: Monday, May 24, 2010, 3:20 PM
 On Mon, May 24, 2010 at 2:24 PM, Lee
 Jenkins l...@datatrakpos.com
 wrote:
 
  It is more or less a console application.
 
  1. Request come in.
  2. CGI Application starts and handles request through
 stdin/stdout.
  3. CGI Application shuts down and release its
 resources.
 
  One application is started and then shutdown for every
 request which comes
  in. Not good for sites that need AJAX, connection
 pooling, persistent
  objects, etc.  Great (and fast) for sites with basic
 fetch(static, database,
  etc) and display models, IMO.
 
 Oh my...
 
 Then I can do this:
 var
   s1, s2, s3: TStrings;
 begin
   s1 := TStringList.Create;
   s2 := TStringList.Create;
   s3 := TStringList.Create;
 end;
 
 ...and at the end, no memory leaks?
 
 This is true about Desktop (Win/Linux) apps too?
 
 Marcos Douglas

Marcos, nobody is saying that you don't have to destroy instances when 
programming CGI apps. 

Leonardo M. Ramé
http://leonardorame.blogspot.com




___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Leonardo M . Ramé
--- On Mon, 5/24/10, ABorka fpc-de...@aborka.com wrote:

 From: ABorka fpc-de...@aborka.com
 Subject: Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits
 To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
 Date: Monday, May 24, 2010, 3:24 PM
 On 5/24/2010 09:52, Leonardo M. Ramé
 wrote:
  -- On Mon, 5/24/10, ABorkafpc-de...@aborka.com 
 wrote:
 
  From: ABorkafpc-de...@aborka.com
  Subject: Re: [fpc-pascal] Powtils Apache and
 Windows Seven 64bits
  To: FPC-Pascal users discussionsfpc-pascal@lists.freepascal.org
  Date: Monday, May 24, 2010, 1:48 PM
  On 5/24/2010 09:02, Leonardo M. Ramé
  wrote:
  Aldo, I know it has templates, the problem I'm
 facing
  now is in Windows Seven 64bits, It can't read
  environment/GET/POST vars, so the GetVar function
 doesn't
  return anything. That's why I had to look
 elsewere.
 
  Leonardo M. Ramé
  http://leonardorame.blogspot.com
 
  Is this a reported problem? Can you create a bug
 report on
  this if it is a reproduceable error?
 
  This is the problem with POWTILS.
 
  For fpWeb, this is what I posted in Lazarus mailing
 list:
 
  I created a basic example called 'cgiproject1'
 consisting of only an TFPWebModule's OnRequest method like
 this, with no action:
 
  procedure TFPWebModule1.DataModuleRequest(Sender:
 TObject; ARequest: TRequest;
  AResponse: TResponse; var Handled: Boolean);
  begin
      AResponse.Content := 'Hello';
     Handled := True;
  end;
 
  Without environment vars, the result is this:
 
  exception at 00010003B5DC:
  No REQUEST_METHOD passed from server.
 
  If I set the environment var REQUEST_METHOD using set
 REQUEST_METHOD=POST, or GET, the result is this:
 
  An unhandled exception occurred at $00010001FC05
 :
  EWriteError : Stream write error
  $00010001FC05
  $000100034C77
  $000100037D54
  $000100033DCA
  $000115DE main, line 13 of giproject1.lpr
 
  It doesn't matter if I set QUERY_STRING and PATH_INFO,
 the result is the same.
 
  Leonardo M. Ramé
 
 I am not sure what the exception problem might be, but you
 cannot just 
 do a SET command in a command prompt for CGI programs.
 
 For CGI programs you need to pass global environment
 variables with 
 Apache, it is not automatic. For example, in the Apache
 httpd.conf with 
 a PassEnv TEMP or SetEnv TEMP /pathtotmpdir line so the
 web server 
 passes this global environment variable to the CGI
 programs' local 
 environment variables. Only these manually passed ones
 and the ones 
 Apache sends (the CGI environment variables that are in the
 CGI 
 standard) are visible from within CGI programs.
 
 AB

I did this command line testing because I was trying to find out what was 
causing the problem, because my trivial example didn't work on Windows Seven 
64, the same test in Linux works fine.

I'll come back to fpWeb in a couple of weeks from now, now I'm hurried to 
finish a small project, and I'll use FreeSpider for it.

Leonardo M. Ramé
http://leonardorame.blogspot.com




___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 2:33 PM, Bee Jay bee.ogra...@gmail.com wrote:

 Because FCGI app is the true worker app. CGI proxy is lightweight app. It 
 does nothing but redirecting incoming request and outgoing response, aka 
 proxy. Since it's lightweight, the CGI penalty can be ignored.

 A FCGI lightweight app would be the proxy for some CGI apps. The FCGI
 stay in memory, so it is more fast for requests, while CGI app would
 be more specialized.

 Take a simple common case, an app that need to connect to a database, run an 
 sql query, format the result, send it to client, and close the db connection. 
 If it's a CGI app, the whole process is done on every single client request. 
 100 incoming request, then 100 times it's done over and over.

 If it's a FCGI app, you could make it connect to database once when it goes 
 up, run the sql query once when the first request comes, format the result, 
 send it to client, then cache the formatted result. If another similar 
 request coming in, since the FCGI app stays in the memory, it could simply 
 re-send the cached result without re-connect and re-query to the database. 
 The cache can be refreshed (re-query the database) upon some conditional 
 triggers, i.e. time interval, number of similar request, or some special kind 
 of request (update query, etc). The db connection only need to be closed 
 before the FCGI app is about to terminate itself at the end of its session. 
 You can imagine how big performance boost you will get. ;)

I agree about the performance.
But just one connection to database will be slow and you have to
manager that... or create a thread for each request and each thread
have a connection. Do you agree?

And about the cache... well, is possible use it even in CGI apps (but
is slower, of course).

I did not understand why to use CGI and FCGI. Why the FCGI apps can
not receive the requests? Would be faster, don't?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 3:30 PM, Leonardo M. Ramé martinr...@yahoo.com wrote:

 Marcos, nobody is saying that you don't have to destroy instances when 
 programming CGI apps.


Okay, but if there is not memory leaks...
I ever free my objects! But I did not know about no memory leaks in
CGI programs...


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Leonardo M . Ramé
--- On Mon, 5/24/10, Marcos Douglas m...@delfire.net wrote:

 From: Marcos Douglas m...@delfire.net
 Subject: Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits
 To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
 Date: Monday, May 24, 2010, 3:39 PM
 On Mon, May 24, 2010 at 2:33 PM, Bee
 Jay bee.ogra...@gmail.com
 wrote:
 
  Because FCGI app is the true worker app. CGI proxy is
 lightweight app. It does nothing but redirecting incoming
 request and outgoing response, aka proxy. Since it's
 lightweight, the CGI penalty can be ignored.
 
  A FCGI lightweight app would be the proxy for some
 CGI apps. The FCGI
  stay in memory, so it is more fast for requests,
 while CGI app would
  be more specialized.
 
  Take a simple common case, an app that need to connect
 to a database, run an sql query, format the result, send it
 to client, and close the db connection. If it's a CGI app,
 the whole process is done on every single client request.
 100 incoming request, then 100 times it's done over and
 over.
 
  If it's a FCGI app, you could make it connect to
 database once when it goes up, run the sql query once when
 the first request comes, format the result, send it to
 client, then cache the formatted result. If another similar
 request coming in, since the FCGI app stays in the memory,
 it could simply re-send the cached result without re-connect
 and re-query to the database. The cache can be refreshed
 (re-query the database) upon some conditional triggers, i.e.
 time interval, number of similar request, or some special
 kind of request (update query, etc). The db connection only
 need to be closed before the FCGI app is about to terminate
 itself at the end of its session. You can imagine how big
 performance boost you will get. ;)
 
 I agree about the performance.
 But just one connection to database will be slow and you
 have to
 manager that... or create a thread for each request and
 each thread
 have a connection. Do you agree?
 
 And about the cache... well, is possible use it even in CGI
 apps (but
 is slower, of course).
 
 I did not understand why to use CGI and FCGI. Why the FCGI
 apps can
 not receive the requests? Would be faster, don't?
 
 Marcos Douglas

Yes, but some times your FCGI app must run on one of those cheap shared 
hostings where you can't touch the Apache's httpd.conf file to configure the 
FCGI application. That's why the CGI proxy/gateway approach is used in some 
cases.

If you have full control of the server, the CGI proxy isn't required.

Leonardo M. Ramé
http://leonardorame.blogspot.com






___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 3:45 PM, Leonardo M. Ramé martinr...@yahoo.com wrote:

 Yes, but some times your FCGI app must run on one of those cheap shared 
 hostings where you can't touch the Apache's httpd.conf file to configure the 
 FCGI application. That's why the CGI proxy/gateway approach is used in some 
 cases.

 If you have full control of the server, the CGI proxy isn't required.

@Bee Jay,

Do you agree with him?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Lee Jenkins

Marcos Douglas wrote:

On Mon, May 24, 2010 at 2:24 PM, Lee Jenkins l...@datatrakpos.com wrote:

It is more or less a console application.

1. Request come in.
2. CGI Application starts and handles request through stdin/stdout.
3. CGI Application shuts down and release its resources.

One application is started and then shutdown for every request which comes
in. Not good for sites that need AJAX, connection pooling, persistent
objects, etc.  Great (and fast) for sites with basic fetch(static, database,
etc) and display models, IMO.


Oh my...

Then I can do this:
var
  s1, s2, s3: TStrings;
begin
  s1 := TStringList.Create;
  s2 := TStringList.Create;
  s3 := TStringList.Create;
end;

...and at the end, no memory leaks?

This is true about Desktop (Win/Linux) apps too?




LOL.  Well, you should always manage your resources regardless, though I think 
you question was tongue in cheek.


I was talking more about the model of how it works.

--
Warm Regards,

Lee
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Lee Jenkins

Marcos Douglas wrote:

On Mon, May 24, 2010 at 3:45 PM, Leonardo M. Ramé martinr...@yahoo.com wrote:

Yes, but some times your FCGI app must run on one of those cheap shared 
hostings where you can't touch the Apache's httpd.conf file to configure the 
FCGI application. That's why the CGI proxy/gateway approach is used in some 
cases.

If you have full control of the server, the CGI proxy isn't required.


@Bee Jay,

Do you agree with him?




Why do you need verification?  That information is readily available on 
ExtPascal's wiki.


http://code.google.com/p/extpascal/wiki/GettingStarted

--
Warm Regards,

Lee
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 3:55 PM, Lee Jenkins l...@datatrakpos.com wrote:

 LOL.  Well, you should always manage your resources regardless, though I
 think you question was tongue in cheek.

 I was talking more about the model of how it works.

Sorry... what do you mean model of how it works?


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 3:58 PM, Lee Jenkins l...@datatrakpos.com wrote:

 Why do you need verification?  That information is readily available on
 ExtPascal's wiki.

 http://code.google.com/p/extpascal/wiki/GettingStarted

I do not need verification.
Bee said something and Leonardo responded... I want know what Bee
think about that answer.


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Lee Jenkins

Marcos Douglas wrote:

On Mon, May 24, 2010 at 3:58 PM, Lee Jenkins l...@datatrakpos.com wrote:

Why do you need verification?  That information is readily available on
ExtPascal's wiki.

http://code.google.com/p/extpascal/wiki/GettingStarted


I do not need verification.
Bee said something and Leonardo responded... I want know what Bee
think about that answer.




No offense, I was just curious.

--
Warm Regards,

Lee


___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Lee Jenkins

Marcos Douglas wrote:

On Mon, May 24, 2010 at 3:55 PM, Lee Jenkins l...@datatrakpos.com wrote:

LOL.  Well, you should always manage your resources regardless, though I
think you question was tongue in cheek.

I was talking more about the model of how it works.


Sorry... what do you mean model of how it works?



Sorry, way of how it works.

--
Warm Regards,

Lee

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Graeme Geldenhuys
On 24 May 2010 18:02, Leonardo M. Ramé wrote:
 Aldo, I know it has templates, the problem I'm facing now is in Windows Seven 
 64bits,
 It can't read environment/GET/POST vars, so the GetVar function doesn't return
 anything. That's why I had to look elsewere.


Well, you have the code, so why not debug the problem? After all, that
is what developers do. Write and fix software.


-- 
Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Leonardo M . Ramé
--- On Mon, 5/24/10, Graeme Geldenhuys graemeg.li...@gmail.com wrote:

 From: Graeme Geldenhuys graemeg.li...@gmail.com
 Subject: Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits
 To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
 Date: Monday, May 24, 2010, 4:31 PM
 On 24 May 2010 18:02, Leonardo M.
 Ramé wrote:
  Aldo, I know it has templates, the problem I'm facing
 now is in Windows Seven 64bits,
  It can't read environment/GET/POST vars, so the GetVar
 function doesn't return
  anything. That's why I had to look elsewere.
 
 
 Well, you have the code, so why not debug the problem?
 After all, that
 is what developers do. Write and fix software.
 
Graeme, I'll do...in a couple of weeks. I'm hurried to finish a project that 
must be deployed to Win64, that's why I choosed FreeSpider instead of fpWeb or 
Powtils this time.

Leonardo M. Ramé
http://leonardorame.blogspot.com




___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 4:18 PM, Lee Jenkins l...@datatrakpos.com wrote:

 No offense, I was just curious.

Okay, don't worry  :)

On Mon, May 24, 2010 at 4:19 PM, Lee Jenkins l...@datatrakpos.com wrote:

 Sorry, way of how it works.


When I said: ...and at the end, no memory leaks? I talked serious!

For me, all pointers that were not released, even at the end of app,
remain in memory. That in any apps e.g. console, gui, cgi, whatever.
Today Felipe Monteiro said No, it doesn't continue in memory and I
was confused about it.

I code for over 10 years. For me: object created, object released!


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Felipe Monteiro de Carvalho
On Mon, May 24, 2010 at 8:20 PM, Marcos Douglas m...@delfire.net wrote:
 ...and at the end, no memory leaks?

 This is true about Desktop (Win/Linux) apps too?

Yes, it is true for Windows, Linux, Mac, plus any other decent OS.

It is however considered good practice to clean up. It's more or less
like commenting. Sure you can write a program without comments and it
will run just the same, but it will be a very ugly code which will
likely cause headache in the future.

-- 
Felipe Monteiro de Carvalho
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Marcos Douglas
On Mon, May 24, 2010 at 5:31 PM, Felipe Monteiro de Carvalho
felipemonteiro.carva...@gmail.com wrote:

 Yes, it is true for Windows, Linux, Mac, plus any other decent OS.

 It is however considered good practice to clean up. It's more or less
 like commenting. Sure you can write a program without comments and it
 will run just the same, but it will be a very ugly code which will
 likely cause headache in the future.

So... the only problem would be a GUI program (always in execution)
creating objects without released them until memory is out? Only in
this case the release of memory would be *very* important?

I need back to university...


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Bee Jay

On 25 Mei 2010, at 02:15, Marcos Douglas wrote:

 On Mon, May 24, 2010 at 3:58 PM, Lee Jenkins l...@datatrakpos.com wrote:
 
 Why do you need verification?  That information is readily available on
 ExtPascal's wiki.
 
 http://code.google.com/p/extpascal/wiki/GettingStarted
 
 Bee said something and Leonardo responded... I want know what Bee
 think about that answer.

Yes, I agree with Leonardo. Another plus is you got better control over FCGI 
app if you're using CGI gateway. You're able to terminate, restart, redirect to 
other app on other machine, etc. without even touching the web server. If 
you're using plain FCGI, you have to stop the entire web server if you want to 
do something with the FCGI app.

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-24 Thread Bee Jay

On 25 Mei 2010, at 11:29, Bee Jay wrote:

 
 On 25 Mei 2010, at 02:15, Marcos Douglas wrote:
 
 On Mon, May 24, 2010 at 3:58 PM, Lee Jenkins l...@datatrakpos.com wrote:
 
 Why do you need verification?  That information is readily available on
 ExtPascal's wiki.
 
 http://code.google.com/p/extpascal/wiki/GettingStarted
 
 Bee said something and Leonardo responded... I want know what Bee
 think about that answer.
 
 Yes, I agree with Leonardo. Another plus is you got better control over FCGI 
 app if you're using CGI gateway. You're able to terminate, restart, redirect 
 to other app on other machine, etc. without even touching the web server. If 
 you're using plain FCGI, you have to stop the entire web server if you want 
 to do something with the FCGI app.

Oh, did I mention live debugging? ;)

-Bee-

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Powtils Apache and Windows Seven 64bits

2010-05-23 Thread leledumbo

Powtils seems to be ignored by the author for a couple of years, use fpWeb or
FreeSpider instead. Both are maintained and quite advanced (fpWeb:
parameterized templates, FreeSpider: smart module loading), and what you
need: both have working file upload example.

-- 
View this message in context: 
http://old.nabble.com/CGI-file-upload-tp28650163p28653703.html
Sent from the Free Pascal - General mailing list archive at Nabble.com.

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal