John, on the issues I listed:

1)    On the conn, we have a lot of code that does ns_return $conn 200 
text/html .... and the like. All that code breaks immediately since ns_return 
call signature has changed. Like I said this is a minor problem, we can just 
redefine ns_return, etc as tcl command that wraps the C command and takes care 
of the possible presence of $conn variable. So, it's not a big deal.


2)    On ns_share, we have a variety of code that goes:
proc myproc {} {
ns_share GLOBAL
... $GLOBAL(mykey) ...
This is a much bigger problem - I can't just replace ns_share with nsv or 
ns_share. All uses of the variable would have to be manually found and 
rewritten to call nsv or ns_share OR, like I said, we'd have to rewrite 
ns_share in Tcl with variable traces. Either one, not a trivial effort. 
Probably easier to bring back the C code that implemented ns_share.


3)    Persistent ns_sets really have no equivalent. Neither ns_share, nor nsvs 
maintain the unique properties of ns_sets (i.e. order and multiple same-named 
keys, case-insensitive accessors, etc), plus again the way you to interact with 
the data is vastly different and also, it's extremely easy to get data into 
persistent ns_sets from places that normally deal with ns_sets such as database 
rows, config data, etc.

I was also looking at our config doc -  
http://aolserver.am.net/docs/tuning.adpx - and we have some notes that 
maxupload is ignored in NaviServer on Windows - not sure if that's still 
accurate.

From: John Buckman from BookMooch [mailto:j...@bookmooch.com]
Sent: Monday, October 08, 2012 9:52 AM
To: aolserver-talk@lists.sourceforge.net
Subject: Re: [AOLSERVER] naviserver to replace aolserver?

So, there are build issues to work out (32/64bit, Windows) and some features 
missing.  If we create a list, perhaps we could start with a compatibility 
module with current version, i.e., first goal is folks who are using current 
versions of Aolserver can use current versions of Naviserver with some 
module/config wrapper thingers.  Then, from that baseline, we can move forward, 
leaving AolServer where it is.

A few days ago, Alex made this helpful list of features he found missing in 
naviserver:

Removed $conn was a minor annoyance as we could create wrappers for the 
commands in question

Removed ns_share was a more serious problem and would require essentially 
re-writing in tcl an equivalent facility using variable traces.

Removed ability to create shared/persistent ns_sets was not possible to work 
around and was a deal breaker for us.

And I agree with Maurizio that using the aolserver windows make/project files 
on Naviserver is a good course of action.

As to Alex's points above:

1) if conn still available via global variables, and just not passed to procs 
registered in ns_register_proc ?  If so, not too hard to code around it.

2) I've been using ns_cache instead of ns_share for a while.  
http://panoptic.com/wiki/aolserver/Ns_cache -- or as suggested on the wiki, 
http://panoptic.com/wiki/aolserver/Thread-shared_Variables -- I don't have any 
code that uses ns_share, but maybe there's a lot of historic code that does?

3) persistent ns_set -- does nsv_set not do this?  
http://panoptic.com/wiki/aolserver/Nsv_set

Personally, a wiki page entitled "moving from aolserver to naviserver" with 
things that we all find as we give it a try, would most helpful.

In a few weeks, I'm starting a complete rewrite of 
Magnatune.com<http://Magnatune.com> and will try to get started with it on 
Naviserver.

-john

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aolserver-talk

Reply via email to