For Programmers: Free Programming Magazines  


Home > Archive > Tcl > October 2006 > Apache 2.x, mod_tcl webdev frameworks









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Apache 2.x, mod_tcl webdev frameworks
Eckhard Lehmann

2006-10-18, 4:05 am

Hi out there,

this is not a question but rather an info for people who are
interrested in Tcl for web development.

Once in a while the question comes up what Tcl has to offer for Web
development and the answers are different servers, Rivet only for
Apache 1.x, Tclhttpd and so on... The often disappointing conclusion is
that there is no such framework like rails (ruby) or turbogears
(python). Because Rivet works only on apache 1.x, people think Tcl is
outdated and should not be used for Web development.

But are you aware of mod_tcl (http://tcl.apache.org/mod_tcl/) ?
This module (although only available through svn) compiles very well on
Apache 2.0 and 2.2. I tried it yesterday just for a short play and it
works fine. Needed to adapt the autoconf voodoo a little so that it
finds tcl.h but that's minor.
All it does is exposing the apache API to Tcl. Very low level, but this
is the basis for higher level web development frameworks. In fact,
rails works on apache through mod_ruby and turbogears works based on
mod_python. These two modules do for ruby/python the same as mod_tcl
does for Tcl: exposing the apache API. The rails/turbogears frameworks
use this API and are in all other aspects independent from Apache.

So, if anyone plans to use Tcl in web development, all you need to do
is to start/create a higher level framework. Make it work for Apache
with mod_tcl. For other servers it could work with their respective
API's. That's much easier to sell: Apache/mod_tcl/framework: just
another dynamic language on a well proven Web server.
It's that easy... even Lisp has web development frameworks running on
Apache via mod_lisp.


Eckhard

Igor Goryachev

2006-10-18, 7:04 pm

"Eckhard Lehmann" <ecky-l@web.de> writes:

> So, if anyone plans to use Tcl in web development, all you need to do
> is to start/create a higher level framework.


To my mind it is an excellent idea to make something Tcl'ish similar to
RoR, TG or Django.

> Make it work for apache with mod_tcl. For other servers it could work
> with their respective API's. That's much easier to sell:
> Apache/mod_tcl/framework: just another dynamic language on a well
> proven Web server.


By the way is there any chance to use FastCGI interface with Tcl?


--
Igor Goryachev E-Mail/Jabber: igor@goryachev.org
pedietz@west.com

2006-10-18, 7:04 pm

Why does TCL need to be built into apache directly ? Just use mod_cgi
and the ncgi package found in tcllib...

http://tcllib.sourceforge.net/doc/ncgi.html

I guess my question is...

If TK is "part of the TCL distribution"....
why isnt tcllib... ??

Don Porter

2006-10-18, 7:04 pm

pedietz@west.com wrote:
> I guess my question is...
>
> If TK is "part of the TCL distribution"....


It isn't.

--
| Don Porter Mathematical and Computational Sciences Division |
| donald.porter@nist.gov Information Technology Laboratory |
| http://math.nist.gov/~DPorter/ NIST |
|_______________________________________
_______________________________|
pedietz@west.com

2006-10-18, 7:04 pm


Don Porter wrote:
> pedietz@west.com wrote:
>
> It isn't.


Why does it appear that way from your earlier announcement today ?

"Release candidates are available:

ftp://ftp.tcl.tk/pub/tcl/tcl8_4/tcl8.4.14rc2-src.tar.gz
ftp://ftp.tcl.tk/pub/tcl/tcl8_4/tk8.4.14rc2-src.tar.gz
"

Tom Poindexter

2006-10-18, 7:04 pm

In article <87slhl6103.fsf@goryachev.org>,
Igor Goryachev <igor@goryachev.org> wrote:
>"Eckhard Lehmann" <ecky-l@web.de> writes:


>By the way is there any chance to use FastCGI interface with Tcl?


http://sourceforge.net/projects/tcl-fastcgi

Note - I haven't used it in several years. It did receive some updates
a while back.


--
Tom Poindexter
tpoindex@nyx.net
Don Porter

2006-10-18, 7:04 pm


>
> Why does it appear that way from your earlier announcement today ?
>
> "Release candidates are available:
>
> ftp://ftp.tcl.tk/pub/tcl/tcl8_4/tcl8.4.14rc2-src.tar.gz
> ftp://ftp.tcl.tk/pub/tcl/tcl8_4/tk8.4.14rc2-src.tar.gz
> "


You see two downloads there, don't you?

--
| Don Porter Mathematical and Computational Sciences Division |
| donald.porter@nist.gov Information Technology Laboratory |
| http://math.nist.gov/~DPorter/ NIST |
|_______________________________________
_______________________________|
Eckhard Lehmann

2006-10-18, 7:04 pm


pedietz@west.com wrote:
> Why does TCL need to be built into apache directly ?


It is easy to change that. By doing some more autoconf voodoo, mod_tcl
can be compiled as a shared module as well. Maybe the code needs to be
refactored a little, but it shouldn't be an unsolvable problem.

> Just use mod_cgi
> and the ncgi package found in tcllib...


You know the divantages of CGI, and the reasons why the mod_*lang*
modules exist? Cite from
http://en.wikipedia.org/wiki/Common_Gateway_Interface:

"Because this technology generally requires a fresh copy of the program
to be executed for every CGI request, the workload could quickly
overwhelm web servers, inspiring more efficient technologies such as
mod perl or ASP that allow script interpreters to be integrated
directly into web servers as modules, thus avoiding the overhead of
repeatedly loading and initializing language interpreters."

> If TK is "part of the TCL distribution"....
> why isnt tcllib... ??


That's a hot discussion, coming up from time to time as well. But
slightly off topic in this thread ;-).


Eckhard

pedietz@west.com

2006-10-18, 7:04 pm

Yeah their are divantages of CGI...

But really that was applicable 5 years ago when 350Mhz servers were
still being sold...
and generally ran non-linux OSs like AIX4...

For the same price you can get dual xeon 3ghz linux boxes...
that seriously can run 100's of cgis at a time without blinking -- per
machine..

And all of the "SSL appliances" that were needed back then, are pretty
much moot as well...

So the "forked space and own memory space penalty" of cgi, is actually
becoming a benefit as it isolates everyone from eachother like a JVM
does...

David N. Welton

2006-10-18, 7:04 pm

Eckhard Lehmann wrote:

> But are you aware of mod_tcl (http://tcl.apache.org/mod_tcl/) ?


It is not maintained, and so will probably disappear from the web site
sooner or later if no one steps up to help out with it.

--
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/
Robert Hicks

2006-10-18, 7:04 pm


David N. Welton wrote:
> Eckhard Lehmann wrote:
>
>
> It is not maintained, and so will probably disappear from the web site
> sooner or later if no one steps up to help out with it.
>


Hmmm...just like the other players (websh and Rivet). And then there
was....none?

Robert

MH

2006-10-18, 7:04 pm

In article <45369315$0$25888$4fafbaef@reader1.news.tin.it>,
David N. Welton <davidw@dedasys.com> wrote:
>Eckhard Lehmann wrote:
>
>
>It is not maintained, and so will probably disappear from the web site
>sooner or later if no one steps up to help out with it.


How much work is currently required to maintain it?

MH
Robert Hicks

2006-10-18, 7:04 pm


Eckhard Lehmann wrote:
> Hi out there,
>
> this is not a question but rather an info for people who are
> interrested in Tcl for web development.
>
> Once in a while the question comes up what Tcl has to offer for Web
> development and the answers are different servers, Rivet only for
> apache 1.x, Tclhttpd and so on... The often disappointing conclusion is
> that there is no such framework like rails (ruby) or turbogears
> (python). Because Rivet works only on apache 1.x, people think Tcl is
> outdated and should not be used for Web development.
>
> But are you aware of mod_tcl (http://tcl.apache.org/mod_tcl/) ?
> This module (although only available through svn) compiles very well on
> apache 2.0 and 2.2. I tried it yesterday just for a short play and it
> works fine. Needed to adapt the autoconf voodoo a little so that it
> finds tcl.h but that's minor.
> All it does is exposing the apache API to Tcl. Very low level, but this
> is the basis for higher level web development frameworks. In fact,
> rails works on apache through mod_ruby and turbogears works based on
> mod_python. These two modules do for ruby/python the same as mod_tcl
> does for Tcl: exposing the apache API. The rails/turbogears frameworks
> use this API and are in all other aspects independent from Apache.
>
> So, if anyone plans to use Tcl in web development, all you need to do
> is to start/create a higher level framework. Make it work for Apache
> with mod_tcl. For other servers it could work with their respective
> API's. That's much easier to sell: Apache/mod_tcl/framework: just
> another dynamic language on a well proven Web server.
> It's that easy... even Lisp has web development frameworks running on
> apache via mod_lisp.
>
>
> Eckhard


There is a push to enhance FastCGI and include it in the core of
Apache:

http://kasparov.skife.org/blog/src/apache_22_fcgi.html

If that goes...then we should jump on that as well.

Robert

Eckhard Lehmann

2006-10-19, 4:17 am


MH wrote:

>
> How much work is currently required to maintain it?


It is a small module that does not need much maintenance work -
contrahery to Rivet.
- The code should be refactored so that it is possible to compile
mod_tcl as a shared module and link it into a running Apache. Thats
mainly an autoconf/automake issue - just look at the mod_python or
whatever and do it like they do.
- Bugs, if any, should be fixed when they arise. It's not likely
because the functionality is not complex (most procedures have just one
line of code, so what...).
- Maybe some binaries for Windows can be precompiled and distributed -
for this, VC Express or higher is needed.
- Maybe the website can get a polish - my advise is to just install
wordpress (www.wordpress.org) to present some content and news. That's
not much work, I do it this way for Tloona (www.tloona.tk) and my
personal homepage.

Would you like to do the maintenance? I can probably find some time to
help out especially for the shared compiling thing. It would be a pity
if even this small and useful piece of software vanishes because there
is nobody looking after it.


Eckhard

David N. Welton

2006-10-19, 7:01 pm

Eckhard Lehmann wrote:
> MH wrote:
>
>
> It is a small module that does not need much maintenance work -
> contrahery to Rivet.


It's about half the size of Rivet.

> - The code should be refactored so that it is possible to compile
> mod_tcl as a shared module and link it into a running Apache. Thats
> mainly an autoconf/automake issue - just look at the mod_python or
> whatever and do it like they do.
> - Bugs, if any, should be fixed when they arise. It's not likely
> because the functionality is not complex (most procedures have just one
> line of code, so what...).
> - Maybe some binaries for Windows can be precompiled and distributed -
> for this, VC Express or higher is needed.
> - Maybe the website can get a polish - my advise is to just install
> wordpress (www.wordpress.org) to present some content and news. That's
> not much work, I do it this way for Tloona (www.tloona.tk) and my
> personal homepage.
>
> Would you like to do the maintenance? I can probably find some time to
> help out especially for the shared compiling thing. It would be a pity
> if even this small and useful piece of software vanishes because there
> is nobody looking after it.


If someone wants to commit to it, I can probably see about commit
access. But it's got to be someone relatively serious about doing
continuous work, otherwise it's just patches.

--
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/
David N. Welton

2006-10-19, 7:01 pm

Robert Hicks wrote:

> There is a push to enhance FastCGI and include it in the core of
> Apache:
>
> http://kasparov.skife.org/blog/src/apache_22_fcgi.html
>
> If that goes...then we should jump on that as well.


That actually would be a pretty good approach in a lot of ways. You
could probably tack things like Rivet templates on to it without much
trouble.

--
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/
Eckhard Lehmann

2006-10-20, 4:10 am


MH wrote:
>
>
> What do you mean by "continuous work"? A rough estimate of how many
> man-hours are needed?


I'd say 2-3h per w, averaged (really rough estimate).
Continuous means that you're responsible for it and should look after
it from time to time - contrahery to a temporary work where you get
some things done and submit a patch (which is helpful as well).

Continuous maintenance also means to coordinate patches, builds and
work from others etc. It's not necessarily more work for you to be
done, it just means that you are there if you're needed, and know what
to do (like your superior in your company ;-).


Eckhard

David N. Welton

2006-10-20, 7:04 pm

Eckhard Lehmann wrote:
> MH wrote:
>
> I'd say 2-3h per w, averaged (really rough estimate).
> Continuous means that you're responsible for it and should look after
> it from time to time - contrahery to a temporary work where you get
> some things done and submit a patch (which is helpful as well).


Exactly. mod_tcl really needs something like that because it currently
isn't really maintained at all.

--
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/
MH

2006-10-20, 7:04 pm

In article <1161304012.569446.172850@i42g2000cwa.googlegroups.com>,
Robert Hicks <sigzero@gmail.com> wrote:
>
>MH wrote:
>
>I think he means more than just a "patcher". Someone who will take it
>and then carry it forward.


Ok, but I guess I'm also curious as to what constitutes "carrying it
forward"? 5 hrs per month? per w? per day?

Basically, I'm trying to gauge if I have enough time to do a good job of it.

MH
MH

2006-10-20, 7:04 pm

In article <1161327502.700566.104700@i42g2000cwa.googlegroups.com>,
Eckhard Lehmann <ecky-l@web.de> wrote:
>
>MH wrote:
>
>I'd say 2-3h per w, averaged (really rough estimate).
>Continuous means that you're responsible for it and should look after
>it from time to time - contrahery to a temporary work where you get
>some things done and submit a patch (which is helpful as well).
>
>Continuous maintenance also means to coordinate patches, builds and
>work from others etc. It's not necessarily more work for you to be
>done, it just means that you are there if you're needed, and know what
>to do (like your superior in your company ;-).


Hmm. Well, 2-3/w is right around the limit of what I might be able to do,
but.. my wife and I also have a baby on the way in Dec, and then all sense
of time will be lost for a time.

How many build environments would I need to maintain to do a decent job? 2
or 3 linux distributions + Windows? What about Mac?

Anyone have pre-existing VM-Ware build environments (of linux) that we can
standardize on?

MH
Eckhard Lehmann

2006-10-20, 7:04 pm


MH wrote:

> Hmm. Well, 2-3/w is right around the limit of what I might be able to do,
> but.. my wife and I also have a baby on the way in Dec, and then all sense
> of time will be lost for a time.


Best wishes for you and your wife :-)!

> How many build environments would I need to maintain to do a decent job? 2
> or 3 linux distributions + Windows? What about Mac?


I'd say that I can put up a windows configuration and build. I have VC
Express installed anyway, so it's just a matter of creating a project &
nmake file. I could also write some installation instructions for
windows (when I manage to get it run there...).
As for how many distributions... maybe it's the best way to start with
a package for the distribution(s) you know best and a general binary?
Maybe it's even fine to provide a working source distribution for Linux
and leave the packaging work for others, who know the packaging
mechanisms...

> Anyone have pre-existing VM-Ware build environments (of linux) that we can
> standardize on?


Luckily, there are a lot of prebuilt VMware appliances, ready to
download on
http://www.vmware.com/vmtn/appliances/ . You just need bandwidth ;-).


Eckhard

David N. Welton

2006-10-21, 4:03 am

Eckhard Lehmann wrote:

> Maybe it's even fine to provide a working source distribution for Linux
> and leave the packaging work for others, who know the packaging
> mechanisms...


Certainly! What it needs is just someone who is available to integrate
those changes, respond to questions on the mailing list (they basically
go unanswered at this point), and so on.

--
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/
Friedrich Dominicus

2006-10-23, 4:08 am

"Eckhard Lehmann" <ecky-l@web.de> writes:

> Hi out there,
>
> this is not a question but rather an info for people who are
> interrested in Tcl for web development.
>
> Once in a while the question comes up what Tcl has to offer for Web
> development and the answers are different servers, Rivet only for
> apache 1.x, Tclhttpd and so on... The often disappointing conclusion is
> that there is no such framework like rails (ruby) or turbogears
> (python). Because Rivet works only on apache 1.x, people think Tcl is
> outdated and should not be used for Web development.


Sorry but how about OpenACS?

Regards
Friedrich
--
Please remove just-for-news- to reply via e-mail.
Eckhard Lehmann

2006-10-23, 4:08 am


Friedrich Dominicus wrote:

> Sorry but how about OpenACS?


It's tightly bound to AOLserver. >70% of all webservers around the
world run Apache, and those 70% never see OpenACS.
However, with mod_tcl or similar in place, it would be possible to port
OpenACS to apache (although this will be much work).


Eckhard

Sean Woods

2006-10-23, 8:02 am

MH:

I have several OS X , Linux boxen (both PPC and x86), Windows
Desktop, and Windows Server 2000/2003 at my disposal at work.
If you need some build environments, I'll be happy to lend a hand.
I've secretly been wanting to suppliment my tclhttpd work with
some apache mod_tcl.

-Sean Woods

MH wrote:
> In article <1161327502.700566.104700@i42g2000cwa.googlegroups.com>,
> Eckhard Lehmann <ecky-l@web.de> wrote:
>
> Hmm. Well, 2-3/w is right around the limit of what I might be able to do,
> but.. my wife and I also have a baby on the way in Dec, and then all sense
> of time will be lost for a time.
>
> How many build environments would I need to maintain to do a decent job? 2
> or 3 linux distributions + Windows? What about Mac?
>
> Anyone have pre-existing VM-Ware build environments (of linux) that we can
> standardize on?
>
> MH


Sean Woods

2006-10-23, 8:02 am

Oh, and in regards to having a baby in December, mine
is just about to turn 3, and I feel like I'm coming out of
a cacoon.

You should pretty much just count the next 2 years of
your life committed to your greatest project ever.
Especially the first few months. It's been my experience
and the experience I've observed over several new dads.

Have fun with it. ;)

Sean Woods

2006-10-23, 8:02 am

The answer is admins like me wince at the thought of
opening CGI access up on a machine. Particularly to
general purpose users. CGI also opens you up to any
number of denial of service attacks. And I hate to
be one to stamp up and down and yell SECURITY,
but I'm going to stamp up and down and yell it is a
real security hazard. Being able to run programs
triggered by a web process BY DESIGN is brain
damaged.

On my network, if there is serious programming to
be done it is done inside a large framework. CGI is
reserved for bolt on software that we are planning
on replacing in the future, but do not have the
resources to replace just this minute.

I know I sound paranoid, and I know I sound outmoded,
but I did not spend 10 years in IT to make the same
mistakes over and over and over again.

-Sean

pedietz@west.com wrote:
> Why does TCL need to be built into apache directly ? Just use mod_cgi
> and the ncgi package found in tcllib...
>
> http://tcllib.sourceforge.net/doc/ncgi.html
>
> I guess my question is...
>
> If TK is "part of the TCL distribution"....
> why isnt tcllib... ??


MH

2006-10-23, 7:03 pm

In article <1161600678.725031.290100@f16g2000cwb.googlegroups.com>,
Sean Woods <yoda@etoyoc.com> wrote:
>Oh, and in regards to having a baby in December, mine
>is just about to turn 3, and I feel like I'm coming out of
>a cacoon.
>
>You should pretty much just count the next 2 years of
>your life committed to your greatest project ever.
>Especially the first few months. It's been my experience
>and the experience I've observed over several new dads.
>
>Have fun with it. ;)


Ok, thanks.. Guess I'll pass on this project for now..

MH
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com