Jörn Nettingsmeier wrote:
Andreas Hartmann wrote:
Jörn Nettingsmeier wrote:
[EMAIL PROTECTED] wrote:
Thanks a lot!

Do you think it would be difficult to port it to the trunk?

i don't like this. how can the href be an attribute of a node *label*? this is so obviously wrong,

Why do you consider this wrong? IMO it is quite straightforward.

a label belongs to a node. a node points somewhere. 100 out of 100 people will grasp this at the first glance. having a label pointing somewhere is totally counter-intuitive and makes the concept of a "node" redundant (it is reduced to "a group of labels", and all the brains are in the labels, which is totally bass-ackwards).

So IIUC the problem is rather the terminology.
How should the "language versions" of a site structure node be called?


and there are already way too many "make it work"-type kludges in lenya that are cool for the one guy who needs them and totally wreck the consistency of the model for everyone else.

Maybe, but in this case I can't see the inconsistency that is caused.

i think this is a java developer disease. i'm all for abstraction and loose coupling, but not when my brains are concerned :-D

seriously, i have developed some major grudges with lenya. cocoon (despite being a frightening behemoth) is actually graceful sometimes (at least from a user's pov). lenya is mostly not, except for parts of the java code that i hardly ever get to see... everybody patches their good ideas and pressing needs into it (which is understandable, since a customer is waiting for them), and the result is really hard to work with. credit where credit's due, hats off to you, andreas, for your refactoring and janitor work. but at this point in time where the lenya is being gutted and redone it makes life for me even harder.

IMO the codebase is still quite hard to work with, because it is still
not modularized enough and there are too many dependencies. It is very
risky to make changes because you don't know which parts of the code will
be affected. I'm currently trying to separate the concern areas as good
as possible and isolate functionality, so that unit tests can be
implemented and bugs can be fixed.


another part of the problem might be that lenya advertises many features that are just not there.

blog is totally non-functional,

Is it buggy or just not useful?

i18n is very tricky,

In what aspect?

access control has holes [users can elevate their own rights],

Could that be a configuration issue? If not, is a bug filed?

search does not work out-of-the-box,

Yes, that's a known problem

> bxe looks cool but is not exactly usable unless you are
so fearless and knowledgeable that you might as well work the xhtml source code.

BXE is sometimes rather tricky, but with some workarounds it is IMO
quite usable.


kupu is totally broken.

No idea (I don't use it)

error messages are hopeless,

OK, that should be quite easy to fix. Which ones do you have in mind?

error recovery for users is non-existent,

What do you mean with "recovery"?

browser caching irritates users since they cannot see the current state
> of affairs and can click on
stale links that will give them even more cryptic error messages.

That's really annoying. I applied the patch setting the headers to
avoid caching, but it didn't work for me.


users cannot change their passwords in an obvious way, not even the admin can.

You can add a "change password" menu item to the menu.

live ac works totally different than authoring ac and it's not documented.

Yes, that should be improved.

that's not to say lenya is stagnant, it's certainly progressing in leaps and bounds.

At the moment, from my point of view most things happen under the hood,
and some things are breaking (sorry for this, but IMO we have to go
through this). With the separation between the API and the implementation
I'll have a much better feeling for the release re. backwards compatibility.


but somehow it's one of the most frustating projects i've worked with so far, because it constantly plays havoc with my expectations, both in terms of functional completeness while using it and consistency and elegance while trying to learn and extend the code. having labels point somewhere just because someone needs a feature summarizes all this so neatly that i couldn't restrain myself :-D

In this case, a clean solution would include changing interfaces and
the sitetree XML structure. I'm a little reluctant if the
comprehensibility improvement is worth this change.


if people really need i18nized hrefs, then there should be yet another
layer of indirection between the node and the uri. but i think this is quite a corner case and should not be supported (at least not until the many glaring usability issues in trunk are fixed).

This is not the way open source development works. You implement
what you need, not what others tell you. And I need i18nized
hrefs in the sitetree.

i know how open source works. the problem with lenya is that it is not clear what's the *core* and what's *add on*,

This is a reason why modules were introduced. The core is the Java code
in /src/java and the sitemaps + XSLTs etc. in /src/webapp.

and 1.4 suffers from the "cool feature of the day" disease, while at the same time a lot of basic stuff is still wrong or non-functional. don't get me wrong, i don't want to be disrespectful, but the fact is that despite its considerable age 1.4 is still a pile of patchwork with many open issues, and at least to me it is not clear where the journey is heading... there is still no release date, and core parts are constantly being gutted and re-written (which is not bad at all, just irritating when you've been told a year ago that it would be perfectly sane to base a project on lenya 1.4 :-D)

Yes, I agree that this is annoying. If we were a large community, I'd
instantly agree to release 1.4 asap and postpone major changes like
a new repository API to 1.6. But IMO we don't have enough resources to
maintain another branch.

we all have read esr's classics, and we all know how cool bazaar-style development is. the problem of bazaar-style combined with java or oo in general is that all the ancient layers of cruft are wrapped up and carried along forever. (in the special case of cocoon, this cruft can pile up in several different languages and mechanisms.) and there is the very real danger that core parts stay in the "proof of concept" stage for way too long and there are not enough people in the bazaar to do the cleaning-up.

when new people try to learn lenya, they will pick up a lot of quick-and-dirty, proof-of-concept code. if they, like me, are not at all veterans in j2ee and avalon in particular, their code contributions will as a consequence be inelegant and geared towards quick, easy features and not conceptual elegance and (whoops!) beauty.

IMO an important step to avoid this problem is to hide the problematic
code behind an API. The integrator should only be able to base her code
on the published interfaces + classes, which have to be taken special
care of.

people see a crappy api and mark it deprecated. well, that's cool, except for the fact there is no alternative and it's not even clear how this alternative should look like.

What should be done in this case? Should a part of the API only be
deprecated when there's a reasonable alternative? I guess this would
make sense. How do other projects handle that?

we need a couple of "best practice" modules that show how things should be done.

hacking something into the core because you need it (and you happen to be a core developer) might not be the best approach.

Well, IMO it wouldn't be a hack but a valuable improvement. But, like
we already discussed, the terminology would have to be changed to
achieve a comprehensible solution.

rather keep the core clean and use a branch for the particular project that needs i18n hrefs,

A branch in the Lenya SVN? I'm not a friend of private branches, unless
they are drafts or temporary sandboxes.

at least until there is a global consistent concept of "i18nized everything" throughout lenya (i.e. for all assets, for urls and whatnot). at the moment, i still need to patch the core code to make i18n work in templated publications, and that seems a rather more pressing issue for me.

Is there a bug for this issue?

so let me utter the magic words:


feature freeze.

Yes, IMO that makes sense. I have no problem postponing the sitetree
href i18n until 1.4 is released.

fixed release date.

Sure, we could announce a date, but the community has to feel responsible
for abiding it. Otherwise, the development will go on like this.


(now that my humours are balanced again, let me add a necessary disclaimer: i profit immensely from your work and the code you all have donated, and please take my ranting with a grain of salt - no offense intended. thanks for helping newbies like me out, and thanks for listening :-)

Thanks for your input :)

I can see your points - well, most of them :) - and I'd like to
get 1.4 out of the door asap. But some of my major concerns are
backwards compatibility and maintainability, and with the current
codebase I'm afraid it will be hard to achieve these goals.

-- Andreas


--
Andreas Hartmann
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
[EMAIL PROTECTED]                     [EMAIL PROTECTED]


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

Reply via email to