Hi Daniel Some thoughts along the line
* I found having "documents[]" and "Documents" a bit confusing * I want to minimise the number of top-level objects in the data model * Documents gives you array access and wildcard search * The documents have exactly the same order as specified on the command line * There are use cases where you have documents at all but only a template, e.g creating configuration files in the cloud which rely on environment variables * I merged dozen of property files into a single CSV Thanks in advance, Siegfried Goeschl > On 23.12.2019, at 22:49, Daniel Dekany <[email protected]> wrote: > > Looks great from the change log! > > But, one thing I find to be odd is "Do not use documents[0] as top-level > variable - use Documents.get(0) instead ". I have already found loading > data a bit too hard to read (not utilizing what FreeMarker can do), but I > didn't come up with a concrete proposal for doing it otherwise, so I let it > be in previous discussion. But why not even documents[0]? That's really a > common idiom, even outside FreeMarker. > > Another thing with documents. I guess in most use cases you expect exactly > one document. So I think I would introduce a "document" variable, which > fails on reading if there's not exactly one document. Therefore the > template states clearly if expects one document, or multiple documents. The > main problem with documents[0] (and now Documents.get(0)) is that it will > not fail there are multiple documents. If the template is not prepared for > multiple documents, that will certainly mean that it will silently pick a > practically random document from the many, and you may don't realize that > (as there's no error), and will use a wrong output therefore. (Actually, > having 0 matches where you expect multiple documents is also suspicious, > but is a less clear case.) > > On Mon, Dec 23, 2019 at 4:46 PM Siegfried Goeschl < > [email protected]> wrote: > >> Hi folks, >> >> Following the discussion (see below) I released >> https://github.com/sgoeschl/freemarker-cli/releases/tag/v2.0.0-BETA-5 >> >> * The available tools are loaded from "freemarker-cli.properties" and >> support user-supplied tools >> * Apache POI / Excel integration supports getting to raw tables containing >> the closest matching Java type (works but needs field testing) >> * Falling back to "en_US" if no locale is provided on the command line >> >> >> Thanks in advance, >> >> Siegfried Goeschl >> >> >> Release Notes >> ============================================ >> >> Added >> >> * Support interactive mode (-i or --interactive) to supply FreeMarker >> templates on the command line >> * UUIDTool to create random and named UUIDs >> * ExcelTool returns raw table consisting of the underlying Java data type >> * Document#getUnsafeInputStream to get a input stream which needs to be >> closed by the caller >> * CSVTool allows parsing plain string CSV >> * Tools are loaded from freemarker-cli.properties and freely configurable >> * Add RAT & PMD report to Maven site generation >> * Add -times command line option to execute the transformation N times >> >> Changed >> >> * Renamed ExcelTool#parseSheet to ExcelTool#toTable >> * Removed various Tool constructors taking Settings >> * Do not use documents[0] as top-level variable - use Documents.get(0) >> instead >> * Available CSV formats are exposed using the CSVTool and not the global >> data model >> * Expose user-supplied system properties as top-level variables when using >> -E >> * Keep track of all Closables created & handed out to FreeMarker template >> rendering >> * Move ObjectConstructor, Statics and Enums into FreeMarkerTool >> >> Deleted >> >> * Environment & SystemProperties were deleted and the functionality moved >> to SystemTool >> * All DataModel classes were deleted >> >> >>> On 19.12.2019, at 14:35, Woonsan Ko <[email protected]> wrote: >>> >>> Sounds good! :-) >>> If we communicate well to each other explaining different use cases, >>> then we can improve it together in this community. I believe everybody >>> here is open to any new improvements for the community even if some >>> features are not relevant to themselves. That's why we join the ASF. >>> ;-) >>> >>> Cheers, >>> >>> Woonsan >>> >>> On Thu, Dec 19, 2019 at 6:38 AM Siegfried Goeschl >>> <[email protected]> wrote: >>>> >>>> Hi folks, >>>> >>>> I’m okay with the things :-) >>>> >>>> Thanks in advance, >>>> >>>> Siegfried Goeschl >>>> >>>> >>>>> On 18 Dec 2019, at 20:38, Daniel Dekany <[email protected]> >> wrote: >>>>> >>>>> Yes, these can done after V1 or whatever. But it's still important if >>>>> Siegfried will be OK with such things, or will lose motivation because >> it's >>>>> not how he likes his own kid. More code without more developers >> probably >>>>> won't work out well, given how little developer time even FM core gets. >>>>> >>>>> As of nested output files, I agree (and BTW, FMPP also have a nested >> output >>>>> directive, not just starting a new). I also understand that it breaks >> the >>>>> clean mental model, but if (if...) this is what's reasonably often >> needed >>>>> in reality, then certainly the mental model should bend. >>>>> >>>>> On Wed, Dec 18, 2019 at 8:01 PM Woonsan Ko <[email protected]> wrote: >>>>> >>>>>> On Wed, Dec 18, 2019 at 11:23 AM Siegfried Goeschl >>>>>> <[email protected]> wrote: >>>>>>> >>>>>>> Hi Daniel, >>>>>>> >>>>>>> please see my comments below … >>>>>>> >>>>>>> Thanks in advance, >>>>>>> >>>>>>> Siegfried Goeschl >>>>>>> >>>>>>> >>>>>>>> On 18 Dec 2019, at 16:58, Daniel Dekany <[email protected]> >>>>>> wrote: >>>>>>>> >>>>>>>> Multiple output files: How open are you to the idea if someone else >>>>>> wants >>>>>>>> to add that though? The use-case is when it's input data that drives >>>>>> what >>>>>>>> output files you will have (as in my example with the employees), >> and >>>>>>>> working that around with multiple invocations is not very nice. >>>>>>>> >>>>>>> >>>>>>> Suggestive question - it is an Open Source project after all :-) >>>>>>> >>>>>>> * As long as it is hosted on my GitHub repo I can ultimately reject >> PRs >>>>>> if I’m really unhappy about them but repos can be forked >>>>>>> * If it becomes part of Apache FreeMarker project than there are more >>>>>> qualified developers out there to make a decision >>>>>>> >>>>>>> Regarding the implementation >>>>>>> >>>>>>> * Multiple output files violates my my mental model since you can’t >> use >>>>>> stdout any longer >>>>>>> * It could break the CommonsCSV integration since I’m using >> CSVPrinter >>>>>> sitting on FreeMarker’s output stream (which changes when using >> multiple >>>>>> output files) >>>>>>> * Last but not least I have not enough experience / requirements to >> come >>>>>> up with a useful implementation from the scratch >>>>>> >>>>>> In my head, we may introduce a new directive to specify a different >>>>>> output for the nested things, instead of the _default_ STDOUT, in the >>>>>> future. For example, >>>>>> >>>>>> hello, >>>>>> <#output file="another.csv"> >>>>>> something else... >>>>>> </#output> >>>>>> world! >>>>>> >>>>>> So, by default "hello,\nworld!" to STDOUT, "something else..." to the >>>>>> extra file. >>>>>> This seems better to me than "changing output and closing the current >>>>>> output" approach in FMPP. >>>>>> >>>>>> But this improvement can be done together once Siegfried _donates_ his >>>>>> project to Apache FreeMarker. ;-) >>>>>> >>>>>>> >>>>>>>> Default locale: >>>>>>>> And also default charset to UTF-8, if that wasn't done. >>>>>>> >>>>>>> UTF-8 is the default >>>>>>> >>>>>>>> >>>>>>>> JDBC drivers: There was some discussion of how to add user defined >>>>>> classes >>>>>>>> to the tool earlier. Well, I guess it's about the same as you add >> your >>>>>> own >>>>>>>> jar-s to the classpath too, so, it shouldn't be a big deal. That >> could >>>>>>>> solve this side of the JDBC problem as well. As of storing >> credentials, >>>>>>>> that has to be solved when using external tools as well... but my >>>>>> practical >>>>>>>> experience is that people just put them in to a config file as plain >>>>>> text >>>>>>>> (maybe on a drive that has to be mounted with password first), or >> bind >>>>>> it >>>>>>>> to the OS user. >>>>>>> >>>>>>> The problem is more subtle - I want to provide a well-behaved command >>>>>> line tool >>>>>>> >>>>>>> * What happens if you update the freemarker-cli installation on your >> box? >>>>>>> * How do you easily distinguish between your custom JARs and the >>>>>> initially installed ones? >>>>>>> * How does it look like if you install freemarker-cli with package >>>>>> managers, e.g. brew? >>>>>> >>>>>> I guess it should be fine as an initial version even if there's no >>>>>> separation between system libs and custom libs (such as JDBC drivers). >>>>>> If there's a tool for easy JDBC access, it would be nice in practices. >>>>>> I don't think it should be perfect from V1. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Woonsan >>>>>> >>>>>>> >>>>>>> Current state >>>>>>> >>>>>>> * Custom tools can be instantiated using the >> freemarker-cli-properties >>>>>>> * For the templates I use ~/.freemarker-cli directory to have a clean >>>>>> separation >>>>>>> * There is no really nice solution for JARs - I might tweak the Maven >>>>>> plugin creating the Unix & Windows wrappers - you can already create >> an >>>>>> “endorsed” directory there to place custom JARs >>>>>>> >>>>>>>> >>>>>>>> Yes, Spring support is definitely important, given the omnipresence >> of >>>>>>>> Spring. It's not just web pages there, but e-mail templates >>>>>> (especially as >>>>>>>> there modern the UI technologies that has taken over at most places, >>>>>> aren't >>>>>>>> applicable). Would be good if someone can take ownership of that >>>>>> aspect for >>>>>>>> FreeMarker 2, probably using what was done in FM3. (Or maybe the >> same >>>>>>>> resources are better redirected to pushing FM3... who knows. There >> are >>>>>>>> really no resources to push two branches in parallel.) >>>>>>>> >>>>>>>> On Wed, Dec 18, 2019 at 2:02 PM Siegfried Goeschl < >>>>>>>> [email protected] <mailto:[email protected]>> >>>>>> wrote: >>>>>>>> >>>>>>>>> Hi Daniel, >>>>>>>>> >>>>>>>>> try to write a top-level post to keep the discussion readable >>>>>>>>> >>>>>>>>> >>>>>>>>> Ad Multi-file Output >>>>>>>>> =============================================================== >>>>>>>>> >>>>>>>>> Currently no plans to implement it - I personally don’t have a need >>>>>> for it >>>>>>>>> and it is a hypothetical requirement for now >>>>>>>>> >>>>>>>>> >>>>>>>>> Ad POI Integration >>>>>>>>> =============================================================== >>>>>>>>> >>>>>>>>> No problem in exposing the non-String data - it is a good idea and >>>>>> will be >>>>>>>>> implemented >>>>>>>>> >>>>>>>>> >>>>>>>>> Ad Default Locale >>>>>>>>> =============================================================== >>>>>>>>> >>>>>>>>> * I need to define a locale for the unit tests >>>>>>>>> * I guess it is a good idea to pin it to “en_US” to avoid suprises >>>>>>>>> >>>>>>>>> >>>>>>>>> Ad JDBC Access >>>>>>>>> =============================================================== >>>>>>>>> >>>>>>>>> It is part of a wider problem - when leaving the document-centric >>>>>> approach >>>>>>>>> into scripting there is a lot of useful functionality, e.g. JDBC >> and >>>>>> HTTP >>>>>>>>> clients. >>>>>>>>> >>>>>>>>> The problems >>>>>>>>> >>>>>>>>> * JDBC: You need to add JDBC drivers, where to store the >> credentials, >>>>>>>>> database schema, ... >>>>>>>>> * HTTP: More libraries, certificates, proxy support,... >>>>>>>>> >>>>>>>>> It is possible to implement something but it will never work >> properly >>>>>> so I >>>>>>>>> decided to tackle the problem differently b using commons-exec >>>>>>>>> >>>>>>>>> * REST calls can be easily made by invoking cURL >>>>>>>>> * Database command line clients can export the result of a SELECT >>>>>> query to >>>>>>>>> a CSV file >>>>>>>>> >>>>>>>>> >>>>>>>>> Ad Templates aren't used much for Web UI-s anymore >>>>>>>>> =============================================================== >>>>>>>>> >>>>>>>>> Yes and no - IMHO it is quite useful to embed a UI into certain >> "micro >>>>>>>>> services”. Therefore I think that a ready-to-use Spring Boot (& >>>>>> Micronaut, >>>>>>>>> etc..) integration is important and should not be an afterthought. >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks in advance, >>>>>>>>> >>>>>>>>> Siegfried Goeschl >>>>>>>>> >>>>>>>>> >>>>>>>>>> On 18 Dec 2019, at 01:32, Daniel Dekany <[email protected]> >>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> Find my comments inline below. >>>>>>>>>> >>>>>>>>>> On Tue, Dec 17, 2019 at 10:46 PM Siegfried Goeschl < >>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>> <mailto:[email protected] <mailto: >> [email protected]>>> >>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Daniel, >>>>>>>>>>> >>>>>>>>>>> Thanks for spending your time - feed back is always appreciated >> when >>>>>>>>> doing >>>>>>>>>>> things in isolation .... >>>>>>>>>>> >>>>>>>>>>> Please see my comments below >>>>>>>>>>> >>>>>>>>>>> Thanks in advance, >>>>>>>>>>> >>>>>>>>>>> Siegfried Goeschl >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> On 17.12.2019, at 19:19, Daniel Dekany <[email protected] >>>>>> <mailto:[email protected]>> >>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi Siegfried, >>>>>>>>>>>> >>>>>>>>>>>> Looks good! >>>>>>>>>>>> >>>>>>>>>>>> Some random things I happened to notice: >>>>>>>>>>>> >>>>>>>>>>>> - The ability generating multiple output files from the same >>>>>> template >>>>>>>>>>>> would be worthy addition. Like you load a CSV file that has >>>>>> employees >>>>>>>>>>> in >>>>>>>>>>>> it, and based on that you generate one output file per >> department. >>>>>> Or >>>>>>>>>>> even >>>>>>>>>>>> one per employee. (There could directives for that, like >>>>>>>>>>> changeOutputFile, >>>>>>>>>>>> nestOutputFile, etc. on >>>>>>>>> http://fmpp.sourceforge.net/pphash.html#sect17 < >>>>>> http://fmpp.sourceforge.net/pphash.html#sect17> >>>>>>>>>>> <http://fmpp.sourceforge.net/pphash.html#sect17 < >>>>>> http://fmpp.sourceforge.net/pphash.html#sect17> < >>>>>>>>> http://fmpp.sourceforge.net/pphash.html#sect17 < >>>>>> http://fmpp.sourceforge.net/pphash.html#sect17>>>) >>>>>>>>>>> >>>>>>>>>>> Well, I simply don't need it and it complicates things - in >> simple >>>>>> cases >>>>>>>>>>> one could just re-run the freemarker-cli with a different >> template >>>>>>>>> and/or >>>>>>>>>>> parameters >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> My feeling is that if there's a tool that's about transforming >> some >>>>>> files >>>>>>>>>> to other files, but the idea that a single invocation can yield >>>>>> multiple >>>>>>>>>> output files is not part of it, one way or another (i.e., not >>>>>> necessarily >>>>>>>>>> in the way it was in FMPP), it might turns out to be a limiting >>>>>> design >>>>>>>>>> decision later as feature request start to pour in. And then it >> can >>>>>> be >>>>>>>>> hard >>>>>>>>>> to add as an afterthought. Well, maybe I'm wrong, as I have no >>>>>> statics >>>>>>>>>> about how often it's needed. FMPP users did use it (myself >> included), >>>>>>>>> some >>>>>>>>>> of them at least. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>>> - When I load an XLSX, I get back values as string, not as >>>>>> numbers, or >>>>>>>>>>>> dates. I'm not sure how hard it is to solve though (I don't >>>>>> remember >>>>>>>>>>> POI >>>>>>>>>>>> much). >>>>>>>>>>> >>>>>>>>>>> That should not be too hard - I actually use >>>>>>>>>>> org.apache.poi.ss.usermodel.DataFormatter to create the strings >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> If templates get numbers etc., or have a such choice at least, >> then >>>>>> they >>>>>>>>>> can compare numbers, filter based on their values, control the >>>>>>>>> formatting, >>>>>>>>>> etc. My idea here is that an Excel file, CSV file, whatever, is >> just >>>>>> a >>>>>>>>> pure >>>>>>>>>> data, and rendering/formatting is the duty of the templates. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>>> BTW, the strings I get back are formatted with the locale of the >>>>>> OS, >>>>>>>>>>> >>>>>>>>>>> which is a problem. I guess there should be an config option to >> set >>>>>> the >>>>>>>>>>> JVM >>>>>>>>>>>> locale. (The ExcelToolTest fails on my computer with locale >> hu_HU >>>>>> for >>>>>>>>>>>> somewhat similar reason, as it gets "100,00" instead of >> "100.00".) >>>>>>>>>>> >>>>>>>>>>> On the command line you can use >>>>>>>>>>> >>>>>>>>>>> -l, --locale=<locale> Locale being used for output file, e.g. >>>>>>>>> 'en_US' >>>>>>>>>>> >>>>>>>>>>> but I guess I should provide a fixed locale for the unit tests >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> The problem is not how FreeMarker renders the numbers. It already >>>>>> gets >>>>>>>>>> strings like that from POI, and --locale doesn't influence POI. >>>>>>>>>> >>>>>>>>>> As of the default locale, for these kind of tools, I believe that >>>>>> using >>>>>>>>>> system defaults is usually evil. So having a fixed default is >> maybe >>>>>> not >>>>>>>>>> just for unit tests. The locale of my computer, or wherever I run >> a >>>>>> job >>>>>>>>> on >>>>>>>>>> (often some backend linux box) should be usually irrelevant, and >> not >>>>>>>>>> influence the output. Not to mention when team mates share the >>>>>> project, >>>>>>>>> in >>>>>>>>>> an international team. >>>>>>>>>> >>>>>>>>>>> - Querying from relation databases (JDBC) would be probably an >>>>>> useful >>>>>>>>>>>> addition (it doesn't fit the Document paradigm though). >>>>>>>>>>> >>>>>>>>>>> I integrated commons-exec and triggered AWS CLI - basically you >>>>>> capture >>>>>>>>>>> the output of any command-line invocation and process it. Just >> need >>>>>> to >>>>>>>>> make >>>>>>>>>>> sure that every tool supports processing raw strings ... >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I'm note sure what do you mean. The result of a query is a >> structured >>>>>>>>> data, >>>>>>>>>> with column names and non-string types, so I guess command-line >>>>>>>>> invocation >>>>>>>>>> can't solve that too well. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>>> It would be good if there's some de-facto tool for these kind of >>>>>> things >>>>>>>>>>>> than what freemarker-cli does. I guess there's a few such tools >> in >>>>>>>>>>> company >>>>>>>>>>>> repos, but of course those have no potential to become more >>>>>> generic and >>>>>>>>>>>> being published. (freemarker-generator was a such toll though, >> but >>>>>> it >>>>>>>>>>>> didn't go anywhere after donation. Actually, FMPP was a such >> tool >>>>>> too, >>>>>>>>>>> that >>>>>>>>>>>> I used for some sysadmin/webadmin tasks some 15+ years ago.) >> But of >>>>>>>>>>> course, >>>>>>>>>>>> long term care is the tricky issue with any project that has no >>>>>> company >>>>>>>>>>>> truly behind it (i.e., no payed developers). Do you have you >> have >>>>>> any >>>>>>>>>>>> thoughts/plans regarding the longer term life of freemarker-cli? >>>>>>>>>>> >>>>>>>>>>> I worked on a couple of not soo successful Open Source projects - >>>>>> yes, >>>>>>>>> it >>>>>>>>>>> might become another Open Source GitHub project nobody knows / >>>>>> cares :-) >>>>>>>>>>> >>>>>>>>>>> Having said that >>>>>>>>>>> >>>>>>>>>>> * I'm maintaining it already for a few of years and I will always >>>>>> find >>>>>>>>>>> some things I can do with it >>>>>>>>>>> * It is useful for some common tasks when you have a Java >> background >>>>>>>>>>> * I think it is a great way to re-use or build up FreeMarker >>>>>> knowledge >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> And, I would add, templates aren't used much for Web UI-s >> anymore, so >>>>>>>>> these >>>>>>>>>> alternate use cases become the main ones. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> * And it should become part of the Apache Freemarker project - >> much >>>>>>>>> better >>>>>>>>>>> visibility & broader user base >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Yeah, the last point is what I'm going for really. But that's also >>>>>> why I >>>>>>>>>> hope that you feel like making it more general. Or at least has no >>>>>>>>> negative >>>>>>>>>> feelings about it. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Also, some things that you miss for FreeMarker itself for it to >> be >>>>>> more >>>>>>>>>>>> fitting for the task? >>>>>>>>>>> >>>>>>>>>>> Support for Java 8 Date/Time API - last time I looked at it it >> was >>>>>> not >>>>>>>>>>> supported by FreeMarker and it's a bummer since nobody is using >>>>>> Date any >>>>>>>>>>> longer ... >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Yeah... it still isn't. It's probably among the new few things to >>>>>> add at >>>>>>>>>> this point, as it's long due. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Sun, Nov 17, 2019 at 7:02 PM Siegfried Goeschl < >>>>>>>>>>>> [email protected] <mailto:[email protected] >>> >>>>>> <mailto:[email protected] <mailto: >> [email protected]>> >>>>>>>>> <mailto:[email protected] <mailto: >>>>>> [email protected]> <mailto:[email protected] >> <mailto: >>>>>> [email protected]>>>> >>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi folks, >>>>>>>>>>>>> >>>>>>>>>>>>> since I'm currently mostly busy with non-coding tasks I spent >> some >>>>>>>>> time >>>>>>>>>>>>> honing my coding skills - probably to no avail as my colleagues >>>>>> would >>>>>>>>>>> say >>>>>>>>>>>>> ;-) >>>>>>>>>>>>> >>>>>>>>>>>>> 1) I migrated my pet project "freemarker-cli" from Groovy to >> JDK 8 >>>>>>>>> (see >>>>>>>>>>>>> https://github.com/sgoeschl/freemarker-cli < >>>>>> https://github.com/sgoeschl/freemarker-cli> < >>>>>>>>> https://github.com/sgoeschl/freemarker-cli < >>>>>> https://github.com/sgoeschl/freemarker-cli>> < >>>>>>>>>>> https://github.com/sgoeschl/freemarker-cli < >>>>>> https://github.com/sgoeschl/freemarker-cli> < >>>>>>>>> https://github.com/sgoeschl/freemarker-cli < >>>>>> https://github.com/sgoeschl/freemarker-cli>>> < >>>>>>>>>>>>> https://github.com/sgoeschl/freemarker-cli < >>>>>> https://github.com/sgoeschl/freemarker-cli> < >>>>>>>>> https://github.com/sgoeschl/freemarker-cli < >>>>>> https://github.com/sgoeschl/freemarker-cli>> < >>>>>>>>>>> https://github.com/sgoeschl/freemarker-cli < >>>>>> https://github.com/sgoeschl/freemarker-cli> < >>>>>>>>> https://github.com/sgoeschl/freemarker-cli < >>>>>> https://github.com/sgoeschl/freemarker-cli>>>>) >>>>>>>>>>>>> >>>>>>>>>>>>> 2) At >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>> < >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>>> >>>>>>>>> < >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>> < >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>>> >>>>>>>>>> >>>>>>>>>>> < >>>>>>>>>>> >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>> < >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>>> >>>>>>>>> < >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>> < >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>>> >>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> < >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>>>>> < >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>>>>>> >>>>>>>>>>> < >>>>>>>>>>> >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>>>>> < >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/blob/master/javameetup/freemarker/slides/src/docs/asciidoc/index.adoc >>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> you find a presentation I gave some while ago >>>>>>>>>>>>> >>>>>>>>>>>>> 3) I also wrote a Spring Boot FreeMarker sample project as part >>>>>> of the >>>>>>>>>>>>> presentation (see >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>> < >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>>> >>>>>>>>> < >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>> < >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>>> >>>>>>>>>> >>>>>>>>>>> < >>>>>>>>>>> >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>> < >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>>> >>>>>>>>> < >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>> < >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>>> >>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> < >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>>>>> < >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>>>>>> >>>>>>>>>>> < >>>>>>>>>>> >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>>>>> < >>>>>>>>> >>>>>> >> https://github.com/sgoeschl/presentations/tree/master/javameetup/freemarker/demo >>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>>> ) >>>>>>>>>>>>> >>>>>>>>>>>>> My plans / questions >>>>>>>>>>>>> >>>>>>>>>>>>> I would be awesome if I could get some feedback about >>>>>> "freemarker-cli" >>>>>>>>>>> in >>>>>>>>>>>>> its current JDK incarnation :-) Later on I will release 2.0.0 >> and >>>>>> push >>>>>>>>>>> it >>>>>>>>>>>>> to Maven Central. >>>>>>>>>>>>> >>>>>>>>>>>>> In the mean time I wrote three applications (micro services in >> new >>>>>>>>>>> speak) >>>>>>>>>>>>> using Apache FreeMarker and found it hard to find a starting >> point >>>>>>>>> for a >>>>>>>>>>>>> Spring Boot applications - therefore I wrote the sample project >>>>>> (see >>>>>>>>>>>>> above). One way or the other a Spring Boot (and Micronaut) blue >>>>>> print >>>>>>>>>>>>> should find its way into Apache FreeMarker officially. I think >>>>>> Apache >>>>>>>>>>>>> FreeMarker is awesome for adding a developer UI to some micro >>>>>> service >>>>>>>>>>> but >>>>>>>>>>>>> developers don't care about the template engine but only about >> a >>>>>> quick >>>>>>>>>>> and >>>>>>>>>>>>> painless way to get the job done ... >>>>>>>>>>>>> >>>>>>>>>>>>> Anyone volunteering to give a presentation about Apache >>>>>> Freemarker at >>>>>>>>>>>>> ApacheCon? I could do but I'm not really qualified :-) >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks in advance, >>>>>>>>>>>>> >>>>>>>>>>>>> Siegfried Goeschl >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Best regards, >>>>>>>>>>>> Daniel Dekany >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best regards, >>>>>>>>>> Daniel Dekany >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best regards, >>>>>>>> Daniel Dekany >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Best regards, >>>>> Daniel Dekany >>>> >> >> > > -- > Best regards, > Daniel Dekany
