-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all!

Finally, I have some code to show: I uploaded my module 
AxKit::App::TABOO to CPAN yesterday, now at version 0.011.

I'm trying to add an abstraction layer by making AxKit stuff (Providers, 
XSPs, etc) interact with something I call Data objects, which in turn 
are responsible for storing the data, returning it with XML markup and 
so on, when the AxKit stuff so requests. 

So, the two O's stands for Object Oriented, AB for AxKit-Based. I don't 
know what the T stands for yet, suggestions are welcome! :-) (After 
all, I went to the University where OOP was invented, I had to do 
that...)

It is sort of a pre-alpha release, in that it returns nothing that is 
finished, but I have written four of these data objects in addition to 
a superclass for them that does a lot of their work. I have also 
written a Provider, which returns XML markup that I think should be 
rather finished. That provider is intended to be used for /.-style 
stories with comments.

Right now, the data objects store their data in a PostgreSQL database 
which they work on using DBD::Pg, but there is nothing preventing 
anyone from subclassing the Data objects if they want to store it 
somewhere else. That's a part of the core idea. 

You can get it from CPAN, you may check out:
http://search.cpan.org/~kjetilk/AxKit-App-TABOO-0.011/
and I've scribbled down a website for it at:
http://www.kjetil.kjernsmo.net/software/TABOO/

For an example of the output, it is allready running on my test server:
http://test.skepsis.no/news/features/coolhack/comment/all
and some SQL to insert in a PostgreSQL db if you want to try is 
available on the above website. All the URIs from the News Provider doc 
should work. 

Good URIs is also a major design goal of TABOO. The URIs should be 
sensible, easily maintainable and human-understandable. 

Right now, there is unfortunately a known and fixed bug in DBD::Pg that 
affects some versions, notably the latest 1.31, that makes it segfault 
when working on SQL3 arrays, that one of my data objects is using. Some 
older versions have no problems, and 1.32 is due out very soon, it 
seems. 

Allthough TABOO is a pre-alpha now, I'm working a lot on it, and it 
should be a beta by the end of the year, and running on 
http://test.skepsis.no/ so that people can come around and play with it. 
I have also mostly finished an Article Provider, which is intended to be 
used for more static content. Most attention will be given to the News 
part, because that is the first thing that will give people something 
to play with.

I think the abstraction layer by adding Data objects is quite important. 
It could probably be made more elegant, but I've put much Hubris into 
this, so I think it is pretty good! :-) I noticed while looking at 
other people's code, that though it was a lot of code that's probably 
better than mine, it would be rather hard to integrate all the 
interesting parts into a coherent whole. Furthermore, everybody has 
their own way of storing data, and scattered files or different 
databases didn't seem right to me. 

So, I added this abstraction layer, so that it should be easier to 
extend TABOO. But  it is not just the idea that people should write for 
TABOO, but that TABOO should use existing ideas by interfacing them 
with Data objects. How successful this will be remains to be seen. 

By adding Data objects and AxKit stuff on top, it is the intention that 
TABOO should be a framework where one can add a Wiki, a webshop, etc. 
For example, the AxKit::App::TABOO::User class will then be reused and 
probably subclassed with e.g. a Customer class.

I'm following the "release early" mantra, now... I'll be thrilled if 
other hackers are willing to poke at TABOO allready at this point!

Your comments would be highly appreciated!
 
Best,

Kjetil
- -- 
Kjetil Kjernsmo
Astrophysicist/IT Consultant/Skeptic/Ski-orienteer/Orienteer/Mountaineer
[EMAIL PROTECTED]  [EMAIL PROTECTED]  [EMAIL PROTECTED]
Homepage: http://www.kjetil.kjernsmo.net/        OpenPGP KeyID: 6A6A0BBC
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/2YvglE/Gp2pqC7wRAmgjAJ41Miu2ZB4XAzU7Bfc5TT8s74lL4QCghnz2
H9660EFdAtidul07fa4bFTo=
=CR2k
-----END PGP SIGNATURE-----


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to