Hi Jens, Yes, not all users will have software development backgrounds (of course). However, our users will not be the ones developing these renderer classes/templates, and thus it's fine if doing this requires some SDLC and Tapestry knowledge. I know it sounds a bit outlandish, but requirements are requirements.
It would be nice we could get our users to give us standardized data sets that matched the same data each time, but it's just not realistic in this case. Thiago's suggestion of Freemarker seems like it can do the job for me just fine, and although having two templating systems isn't ideal, it's a lot better than the current system that is in place. Thanks, David. On Tue, Mar 1, 2016 at 12:05 PM, mailingl...@j-b-s.de <mailingl...@j-b-s.de> wrote: > Hi David! > > Thanks for the explanation. Unfortunately I doubt your approach is the way > to go. You are forcing all your users to get familiar with Tapestry, so > they are all really aware of software development, java, Testing, the dev > pipeline and everything? Who makes sure the tml and fictious jave class > works smoothly together? > > I believe either they have to provide valid static html (no dynamic part, > but renderable by tapestry via outputraw). Or you provide base classes and > tmls and they send back derived version (tml / java inheritance, see T5 > website), but again there must be some awareness for software dev and the > toolchain, which is not worth the effort as you still need to know all > dynamic parts in advance. > > What about accepting e.g xml / json and render the data in a generic way > on your side? Based an certain elements or attributes you should be able > even to render complex layouts and your users only need to know which > elements/attributes you support? Yes I know this sounds like the early > 80ies jsp tag libs or good old xml-dynamic-swing-ui systems-frameworks. > > Jens > > Von meinem iPhone gesendet > > > Am 01.03.2016 um 00:03 schrieb David Diaz <d...@viddiaz.com>: > > > > Hi all, > > > > Thanks for the replies! I checked out your link Barry - it doesn't seem > to > > be exactly what I want. (I'll explain later in the reply... I'm still new > > to mailing lists). > > > > Thiago & Jens: > > How I'm doing fetching-code-outside is someone writes a .java file that > > implements an interface. Say it has function a, b and c they have to > > implement. They then compile this into a class, put it into a program and > > link it to the set of data they want to render. Then, when using the web > > interface the application will detect when its loading the set of data > and > > load it into its own class (not overwriting), create a new instance and > > then use functions a, b and c to render the data into the webpage. This > is > > already working - but currently how it is done is that the user has to > > hardcode their HTML into the .class file and do things like \"<div>" + > > escapeHTML(data) + "</div>";\ instead of it having a template system > where > > they could go <div>${data}</div> and then the application would use the > > tapestry template/component system. > > > > An example usage for this would be, for example, a library that wants to > > digitize its pages and then have it available online to be viewed through > > the application. The library could store the files in an XML format like > > so: http://da.viddiaz.com/example.xml and then use the following > > hypothetical code and .tml to render it: http://da.viddiaz.com/code.txt > > http://da.viddiaz.com/code.tml > > > > Then this library could have different sets of data that wouldn't match > > this exact set of data - it might have sets of emails (so then you could > > write an email renderer), MARC data and so on. These examples are basic - > > in the real world the data is a lot more complex! I hope this makes a bit > > more sense why I would need to take this approach. > > > > In regards to the Dynamic component, I must have messed up using it. > Still > > though, the problem would be getting it linked up to the .class file that > > is loaded so that the user could then use tapestry in there (otherwise > the > > ComponentResources would be the .tml file that loaded it, not the > > dynamically loaded one). > > > > The stack trace I was getting is here, although I don't think it's really > > useful: http://da.viddiaz.com/stacktrace.txt > > > > Thanks, > > David. > > > > On Tue, Mar 1, 2016 at 9:09 AM, mailingl...@j-b-s.de < > mailingl...@j-b-s.de> > > wrote: > > > >> I see. So a tapestry TML without a JAVA class is not considerably > dynamic > >> as it has no business logic at all. Either your 3rd party delivers > >> TML+CLASS (only components from my point of view) than you can > integrate it > >> as module. But this is far away from "dynamic". If you provide the > logic, > >> the TML can not change anything nor add something new, so its about > >> rearanging HTML or changing the style, but this is not what you want > >> either, right? Because this might be a pure CSS related topic. > >> > >> Can you give us a real piece of code you get from your 3rd party for > >> integration? Maybe it's really an iframe, an external template engine > (to > >> render raw output) or something completely different like angular... > >> I am still confused about the requirements... > >> > >> Sorry > >> > >> Jens > >> > >> Von meinem iPhone gesendet > >> > >>> Am 29.02.2016 um 09:05 schrieb David Diaz <d...@viddiaz.com>: > >>> > >>> Hi Jens, > >>> > >>> Yes I have external pages that I need to integrate. And by code I mean > >> the > >>> actual .java page that would (hopefully) power the .tml. > >>> > >>> The problem I have is that I need to (obviously) render content in a > >>> specific way, but the application I am writing needs to load the > >> templates > >>> dynamically. > >>> > >>> Thanks, > >>> David. > >>> > >>> On Mon, Feb 29, 2016 at 6:37 PM, mailingl...@j-b-s.de < > >> mailingl...@j-b-s.de> > >>> wrote: > >>> > >>>> Hi David! > >>>> > >>>> What do you mean by "external code"? Are you talking about external > >>>> Tapestry pages/components and tml's you need to integrate? Because you > >>>> mentiond HTML not TML? Does "code" refer to Javascript? Is the > external > >>>> code self contained? What about an ugly but simple "iframe"? > >>>> > >>>> Jens > >>>> > >>>> > >>>> Von meinem iPhone gesendet > >>>> > >>>>> Am 29.02.2016 um 05:18 schrieb David Diaz <d...@viddiaz.com>: > >>>>> > >>>>> Hi all, > >>>>> > >>>>> I have been using Tapestry for a little bit now and I have run into > one > >>>>> problem that I can't figure out how to solve. > >>>>> > >>>>> In my application I need to be able to load external code & HTML to > >>>> display > >>>>> to the user from a trusted source at run-time. Currently I have > gotten > >>>> code > >>>>> to load fine and I am using outputraw to render the result from the > >> code. > >>>>> This is pretty bad though since I have to code the HTML within the > Java > >>>>> file instead of having it templated. > >>>>> > >>>>> I saw that Tapestry has a "Dynamic" component that allows loading > >>>> templates > >>>>> from an external source but I tried using it - it tries loading a > file > >>>> from > >>>>> the file system at page creation time... this is not suitable for my > >> use > >>>>> case since I need to load it from a String and I need to do it at > >> render > >>>>> time. > >>>>> > >>>>> I also tried messing around with DynamicTemplateParser & MarkupWriter > >>>> but I > >>>>> couldn't get it to bind to my properties/functions since the code is > >>>> loaded > >>>>> at runtime and is not defined at compile time (I would hit a NPE when > >> the > >>>>> PropBindingFactory would try and locate the component). > >>>>> > >>>>> If anyone could suggest any way of accomplishing this (or if it's > >> futile > >>>>> and I'm wasting my time), it would be really appreciated. > >>>>> > >>>>> Thanks, > >>>>> David. > >>>> > >>>> --------------------------------------------------------------------- > >>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >>>> For additional commands, e-mail: users-h...@tapestry.apache.org > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> For additional commands, e-mail: users-h...@tapestry.apache.org > >> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >