Re: [AOLSERVER] Roadmap Revisited (was Re: Is there anyone out there?)

2014-06-24 Thread Jeff Rogers
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 integrated too.  

[AOLSERVER] Roadmap Revisited (was Re: Is there anyone out there?)

2014-05-11 Thread Ayan George
On 05/11/2014 10:50 AM, Dossy Shiobara wrote:
 On 5/10/14 9:38 PM, Ayan George wrote:
 aolserver-talk has been quiet for a while.  Has the discussion 
 moved somewhere else?
 Not that I'm aware of ... but, it's possible there's some 
 NaviServer-focused list that has much more activity than this one.
 

First, sorry for the rambly email.

I remember a really encouraging thread titled Roadmap - 4.6 and beyond
but nothing seemed to come of it.

Perhaps now that usage is fairly low it is time to start making bold
changes to improve and modernize the code AND to attract new developers
and users.

I don't think inertia or alienating users would be a valid argument
against changes at this point.

This is a good time to set some hard goals, delegate tasks, etc.  This
time, however, maybe Dossy can suss out what seems worthwhile and make
it happen?

Personally, I would like to see the following:

* Define the scope and goals of AOLserver.  Personally, I'd like
AOLserver to be a high performance, programmable, TCL based web server
for Unix-like operating systems.

* Identify subsystems and assign a maintainer to each.  Initially this
may be the same person or small group but the goal would be to delegate
ownership.

* Completely commit to a traditional git workflow.  Accept patches on
the -talk submitted using list for review.  Have subsystem maintainers
apply patches.  Dossy then pulls from each maintainer's tree to cut a
release.

* Drop Windows support unless it is exceedingly easy to do.  Right now
there are 86 #ifdef _WIN32 instances in the code -- IMHO, there should
be 0.  Why worry about alienating an incredibly small (maybe
non-existent) sliver of an already tiny community?

* Allow, encourage, maybe insist upon more modern programming
techniques.  There is a lot of classic C89 or pre-C89 code in AOLserver.
Many open source projects balk at using C99 features citing compiler
support and developer familiarity but C99 is about 15 years old now and
well supported.  I think AOLserver would be a more attractive if we
explicitly required C99 features that can improve the quality of the
code (inline declarations, declarations in for() loops, restrict
pointers, etc.).

A simple goal like converting for() loops to c99 in-loop-declarations or
adding restrict keywords where useful would give developers an
opportunity to get familiar with the code without doing any heavy lifting.

* Modernize the main event loop.  Perhaps use libevent for socket
multiplexing and thread dispatch.  This will allow it to take advantage
of superior multiplexing techniques like kqueue() and epoll().

* SPDY, HTTP 1.1, HTTP 2.0?

* Support for deferred accepts (FreeBSD AcceptFilters, Linux
TCP_DEFER_ACCEPT).

* Ongoing code clean-up, feature addition, optimization, and bug fixes.

Bottom line though is that I'm not sure if we should be afraid to break
anything.  I don't think anyone will notice. :^)

-ayan


--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aolserver-talk


Re: [AOLSERVER] Roadmap Revisited (was Re: Is there anyone out there?)

2014-05-11 Thread Ayan George
On 05/11/2014 01:35 PM, Ayan George wrote:

 * Completely commit to a traditional git workflow.  Accept patches
 on the -talk submitted using list for review.  Have subsystem
 maintainers apply patches.  Dossy then pulls from each maintainer's
 tree to cut a release.
 

Eh -- this bullet point is mangled.  I meant accept patches submitted
to -talk using git format-patch.



--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aolserver-talk