I agree with you in your observation that, this problem is difficult to solve, and has factors weighing against a possible solution. So, I understand the skepticism "if points #1 and #2 that I listed above are actually possible".
I know that I am being very naive to say this, but I believe, every now and then situations arise when seemingly impossible tasks get done. I am not implying that we are going to find panacea of absolute presentation design decoupling. At the worst I am expecting solutions that take us towards the decoupling - if not with the rendering mechanism, but with a tool. A tool that reads *screens.xml, interprets the ftl and stitches response output, making some assumptions in ftl. This would enable a UI designer to debug the *html-part* without actually having to run ofbiz or understand ftl. This is the worst case scenario. But, I would see some merit in continuing the discussion to find the silver bullet for decoupling at rendering stage. :) David E Jones-4 wrote: > > > On Dec 21, 2009, at 8:12 AM, Ean Schuessler wrote: > >> David E Jones wrote: >>> To sum up: >>> >>> 1. you want a full separation of concerns for the different roles in >>> your organization, something that won't require additional training >>> beyond their existing skill set >>> >>> 2. you want no dependencies between different roles so they can't mess >>> each other up or slow each other down >>> >>> 3. Apache Wicket will provide these things >>> >>> Does that sound about right? >>> >>> This sounds amazing! I can't wait to the see the results of an analysis >>> and comparison for each requirement, and a proof of concept and >>> per-activity comparison between the different approaches. >>> >> Just a touch Snarky there, Mr. Jones. :-) > > You're right, I was a bit snarky there. I apologize if I offended anyone. > I guess I should have said something like: That sounds a little bit too > amazing to be true. > >> Vasanth, I have spent some time examining Wicket and its not clear to me >> that it is able to remove the problems in all but the most simple cases. >> HTML for complicated multi-state widgets would still need to be divided >> into many fragments, which are hard for the HTML designer to understand. >> It would also still not be very clear to the designer where those >> fragments need to be delineated because they do not understand the >> control flow. >> >> The deep set problem is that there will be many cases where you want to >> look at a completed HTML assembly in its populated state to see how the >> layout looks. That can only be done by editing on a live ofbiz >> environment and that is always going to be pushing the skills of a GUI >> designer. What using Wicket does achieve, however, is the elimination of >> a high level widget system. While we are not really taking advantage of >> it it is possible to have the OFBiz widgets present themselves in a >> Swing, SWT or GWT form without rebuilding the entire GUI from scratch. >> That's a pretty big strike against the Wicket approach. Wicket is also >> pretty tightly bound to Java the language, which may or may not be the >> most productive thing to use depending on your point of view (ie. PHP >> programmers are plentiful and cheap). >> >> In some problem domains like the shopping front-end we may need to accept >> that the customer use-cases are simply to variable to make the widget >> strategy add value. That's why, here at Brainfood, we've rebuilt the >> e-commerce front end on our own templating system. Wicket might also be a >> worthwhile strategy for that front end rebuild. I imagine that most of >> your HTML workload revolves around that component. If you really believe >> in it, I encourage you to build a Wicket version of the ecommerce >> component. I would be happy to review it and compare its benefits with >> our effort. > > The general idea is an interesting one, ie of really separating things by > role and eliminating dependencies. > > I like the stuff you guys at Brainfood have done with WebSlinger, and it > certainly makes things easier for people in certain roles. > > In a way I wonder if points #1 and #2 that I listed above are actually > possible. My theory over the years is that they are simply not possible, > and all attempts are guaranteed to fall short because those requirements > are not "internally consistent". It would be interesting to have a > well-funded R&D project to get feedback from a bunch of people, assemble a > number of possible designs, then implement and test those designs in > various organizations. I'm not sure if that will ever happen, and I > suppose even if it did the winning design would probably be so biased by > politicking that the stated result might not be accurate. > > Anyway, it's a tough problem. The main issues I see are kind of like what > you listed Ean, namely: > > 1. different organizations have different roles and different skills sets, > so to be effective you'd really need to document a variety of > organizations and combinations of skill sets and be flexible enough to > address at least a few of the most common ones, or the ones that should be > most easy for an organization to assemble > > 2. it's not possible to completely eliminate dependencies between what > different people in different roles are doing; there might be some things > you could do to either mitigate (handle automatically or > transparently/implicitly) or obviate (fail fast/early) the problems, but > these dependencies are an inherent part of what is being built and IMO > they simply cannot be totally eliminated, especially if you want reusable > parts of the screens, etc > > My favorite approach so far to getting people to handle this well is to > divide front-end developers into those who are mostly visually talented, > and those who have gotten into scripting and such too. These people will > have to get used to working together in order to get things done, IMO. > From time to time you'll run into a person that is great at both, but not > usually. Those who are into scripting and working with straight HTML can > usually get into using the OFBiz widgets and FTL templates and do quite > well with them (and without very much training too). But that isn't > everyone, and you certainly need someone who can break things down and > implement the technical things to drive them. > > Some tools make this easier, and therefore require less technical > knowledge, but those tools typically also restrict what you can do. If you > want to keep it cheap and simple then that's great, just do what the tool > makes easy. If you really want to be able to design and build anything > that is "internally consistent" then you're going to need more flexible > tools and more knowledgeable people. > > Or am I wrong and the silver bullet solution does exist and I just haven't > yet had the pleasure of experiencing it? > > Hopefully this time I'm less snarky, without being too depressing... :) > > -David > > > > -- View this message in context: http://n4.nabble.com/Using-Apache-Wicket-in-Ofbiz-presentation-layer-tp975468p977536.html Sent from the OFBiz - Dev mailing list archive at Nabble.com.