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
