Making Open Source Connections
I received two emails about some of my open source work recently. One was from a technical journal publisher hoping to use my peer review application for their journal.
Hi John,
I located your case-study, Extending Workflow, an OpenACS Case
Study
( http://home.attbi.com/~jseq/projects/peerreview/wfnotes.html )
via Google. By any chance, is this package available for download?
I understand that you don't consider it to be a 1.0 release, but
it's as you said "a working prototype" from which I'd be more than
willing to extend.
We have a need for a web application to handle submissions to
journals and to facilitate reviews and edits of those submitted
articles. Now that OpenACS has reached a stable release with 4.6, I'm
considering it to be the framework for this application, in addition to adding
new features and improving existing ones of the corporate web site.
So having your codebase would certainly give us a leg-up.
Thanks.
Brian
I did an OpenACS package for academic peer review but never got to finish it - I was hoping my (unfinished) write-up would inspire someone to run with it. My fingers are crossed.
I also received an email from a company writing a CMS product on top of OpenACS. They're interested in my project to allow OpenACS to run under Apache/FastCGI/IIS.
I research opportunities to run our CMS application based on OpenACS on
Apache (that is requirement from one of our clients).
I found your page about Portable.NSD
http://home.attbi.com/~jseq/projects/portable.nsd/
From what I see this project is based on nstcl. I would like to take a
look into your current codebase which probably is newer then nstcl.
I've just started but have very short deadline - aprox. a week to make a
prototype.
I've already have Apache 2.0.43 with mod_tcl/1.0 with Tcl Thread 2.5 and
libnsd.so, libnsdb.so, libnsthread.so from AOLserver 4.0 CVS. So a lot of
usefull mechanism and api is already there. I would like to import some
procs from your codebase. Where can I find it? As you see I don't need
pure TCL implementation, but probably I will do most of wrappers in TCL
and that may be usefull for you as well.
...
Tomaz
Tomaz really knows his stuff. Grabbing the unbundled AOLServer DLLs will make what I'm trying to accomplish a lot simpler, but he followed up that Apache's thread support is not really compatible with AOLServers, at least on Unix.
I compiled Apache 2.0.43 with worker mpm (multiplexing module) to make
Apache server threaded rather than preforking. Anyway to make it realley
threded you have to allow only one worker process with worker threads by
setting MaxClients=ThreadsPerChild. Having one process was crucial for me
to utilize ns_cache (from libnsd.so + nscache.so) and nsv_* procs (from
libnsd.so or implemented as tsv: : * from Tcl Thread package). This way I
planed to have the same architecture as AOLserver but in Apache.
But the problem is mod_tcl which is not suited to run with worker mpm
(after short code review and simple tests I suspect that there is only one
Tcl interpreter per process so when many threads try to use that
intepreter the worker process segfaults). I belive that this can be quite
easilly fixed by using separete interpreters in every thread as AOLserver
does. Adding interpreter initialization and cleanup is another missing
feature from mod_tcl, but this can be stolen from AOLserver 4.0 (it's done
in pure TCL).
Anyway after making these fixes the result is not very useful because
other Apache modules would probably also have problems with worker mpm. So
there will be no point to use Apache for our client. So as it turned out
this is the wrong way to go until most of Apache modules become
worker-mpm-aware (and it can never happen because Apache guys belive that
being multiprocess is quite good for server stability).
The other tcl modules from tcl.apache.org/ are for preforking
Apache 1.3.x. With multiple processes to cache information in memory you
have to use shared memory. This is the way that mod_aolserver module was
implemented by ArsDigita. In release notes for mod_aolserver version 1.1
(found by Google) there is information about poor performance of shared
memory implementation. Because in-memory cache is the most important
feature used by our CMS and our application framework we probably cancel
the project or at least give Apache integration lower priority.
I'm hoping that my approach of using FastCGI avoids these threading issues. It certainly introduces it's own problems, but as long as they're scripting-solvable problems I think it's eminently more do-able.
Portable.NSD Status
I'm actually speaking with an LMS company about getting their OpenACS product to run on Apache using the portable.nsd framework. And I've gotten several other emails from people interested in helping. Since I've passed the point at which more things are working than are not, I'm going to write up some release notes, and clean up the code so that I can release a bonafide version. It's very encouraging to see this level of interest in the project before it's complete.
8:13:14 AM
|
|