Hi,

Bertrand has asked me to give some user feedback on microsling on this list.
I have been playing with microsling for just one day now and did not have a
look at (full) sling, yet, but from my very limited understanding so far the
issues I found should apply to sling as well.

First of all, I very much like the idea of having a simple, lightweight
framework for creating web apps on top of JCRs. microsling seems to go in
the right direction. I like it.

Some problems I had on the way (my use case was a blogging app):

conceptual stuff:

- I was wondering how I can have several templates for one content type. I
could work around this issue in my very simple case, but how can I have e.g.
an edit template and a view template for a blog entry (depending on some
request parameter or so)?

Related to this: how can I render node X when node Y is requested? In my
case: I got a blog entry (node Y) that has several comments (nodes X) that I
want to display on the same page. In Ruby on Rails there is the concept of
partial templates and I was expecting something similar. I understand that I
can traverse the JCR and grab the corresponding nodes (which I did) but in
that case I need to copy template code (re partial templates: the idea is
basically that an object exposes different methods to render itself. In the
contect of sling this idea of might clash with sling's concept of pluggable
presentation scripting engines, though. If so, I'd prefer microsling to be
opinionated<http://gettingreal.37signals.com/ch04_Make_Opinionated_Software.php>,
i.e. decide on one scripting engine).

- the content templates reside in the repository (i.e . on a WebDAV drive in
my case). However, static html pages need to reside in the war file. In my
use case this was especially weird, because the comment input forms were in
the repository (because they are located on the blog entry renderer page)
where as the "create new blog entry" form was in the war file. I would
prefer if I could put all my templates and static content in the repository.


- it seems to me that content I want to render needs to have the property
"slingResourceType" (is that really correct?). Not a big problem for new web
apps, but really a bit intrusive. I mean, the presentation app shouldnt
require changes on the content.

Some other feedback:

- the SlingPostServlet should provide some mechanism to a) let the user set
the name of the node to be created (I take it that's obvious anyway) and b)
set the node type and mixins. Maybe similar to the "slingResourceType"
mechanism?

- I was wondering how I can use the repository authentication and
authorization mechanisms for my app. Could someone give me a pointer,
please?

Cheers
Michael

Reply via email to