Ok, I've been sitting on this response for far too long now, I may as
well just send it out, perfection be damned.
That was probably my thread on "4.6 and beyond" you mentioned. Lots of
energy ... then life happened, and time vanished. I'd still love to
make things happen, I'm just short on energy right now.
I don't think the existing userbase has particularly held anyone back
from making changes, bold or otherwise. After all, people can always
not upgrade. (According to the reports, a significant portion of
aolserver users are still using version 4.0 or even 3). So if you want
to make changes - make them! The wonderful thing about source control
is that you get to keep your old stuff around.
About source control - this isn't the first time someone has suggested
using something else. Frankly, the strongest arguments for moving away
from CVS and to something else from from Chris Tsai at SF support. To
paraphrase, "cvs hosting is absolutely awful to support for a lot of
reasons, and needs regular maintenance windows. Pretty much anything
else is better." The SCM system in use is not going to attract
developers that would not have been otherwise interested, IMHO.
That's not to say a change would hurt, but my strongest inclination at
this point would be to move to svn or hg. (or fossil, but that seems to
be even less mainstream than cvs, plus SF doesn't support it).
If there's an overwhelming outcry of voices demanding a move, that
increases the motivation. "Overwhelming" here would mean 2 or 3 :)
Until then (or after) if you have any patches to submit, by all means
send then and I'll be happy to take a look, and most likely merge it in
- I've mellowed somewhat since the last time a patch was shared (sorry John)
All this said, NaviServer *IS* much more active these days, and lacks
the "smirk factor" that the name "AOLserver" carries. And a lot of the
goals you mention (in particular, code cleanup) are regularly undertaken
by Gustaf.
WRT Maurizio's comments:
> 1. social media are making legacy CMS and standard web sites less and less
> important
> 2. web and mobile application are moving towards architectures with rich
> clients (e.g. html5 based like SensaTouch, Oracle ADF, SAP SUP) and these
> architectures are moving away from the legacy web application and
> development model offered by Aolserver/Naviserver - OpenACS.
Legacy CMS and standard web sites are by no means going away. Even the
html5-iest site needs a server behind it, and even if most of the
display logic is on the client in the javascript framework of the week
if you want to be able to persist and share your updates the best way is
still to have a database backing it up.
What is getting less important is the ADP programming style of
interleaving logic and layout. acs-templating is a great approach to
this tho, and there will continue to be a need to take data from a
database and put it into some deliverable form.
Which raises a few questions with suggestions of projects around them.
The data format of choice these days seems to be json, with xml still
being a significant player. So, how is our support for those things?
XML - tdom works very well with aolserver, and is better than most xml
handling anywhere, regardless of programming language. (It doesn't do
XQuery, but I can live with that). My only gripe is that it's a
standard tcl package rather than an aolserver module, but that's a
difference hardly worth quibbling over.
JSON - not so much. At least, not that people have talked about. There
is a good json library available in yajl-tcl (aside from the array-list
mapping that plagues all the tcl-json libraries), which I have every
expectation would work well in aolserver, but I haven't tested. Plus it
could probably benefit from integration with the native database
operators, rather than only working with postgres handles. Anyone
interested in putting together the pieces here?
Speaking of databases, one of aolserver's biggest strengths has always
been its database connectivity. Granted, in the early days that was
because Oracle took 5 minutes and 5Mb for a connection so pooling was a
huge win when no one else was doing it, but it's still a good thing.
But that's about relational database, what about these fancy newfangled
no-ess-kyoo-ell databases that I've been hearing so much about (in
between yelling at kids to stay off my lawn)? Some of them have purely
REST apis (e.g., couchdb) while others have C apis that might benefit
from ns_db style pooling, or might just benefit from having a nice
interfact (mongodb, redis). They may or may not have a query language,
but the bdb driver shows a way with that.
Anyone interested in writing drivers for these?
(BTW: I *WILL* fix the sqlite driver soon - I promise! Although, since
no one has complained about it, I doubt anyone is actually using it,
which is a shame.)
There's other cool stuff that could be inte