Hi Woonsan, Thanks a lot for the detailed clarification. I'll look into these and get back to you.
Regards, Randika *Randika Navagamuwa,* *Software Engineer,* *AdroitLogic Lanka (Pvt) Ltd.* *www.rnavagamuwa.com <http://www.rnavagamuwa.com>* <https://www.linkedin.com/in/rnavagamuwa/> [image: https://www.facebook.com/rnavagamuwa] <https://www.facebook.com/rnavagamuwa> <https://twitter.com/rnavagamuwa> [image: https://plus.google.com/+RandikaNavagamuwa/] <https://plus.google.com/+RandikaNavagamuwa/> <http://github.com/rnavagamuwa> On Sun, Mar 18, 2018 at 12:56 AM, Woonsan Ko <woon...@apache.org> wrote: > Hi Randika, > > Welcome! :-) > Regarding the Spring Framework integration support, we have made some > progress in "3" branch: > - https://github.com/apache/incubator-freemarker/tree/3 > > There is also a brief summary what has been done so far: > - https://github.com/apache/incubator-freemarker/blob/3/ > FM3-CHANGE-LOG.txt#L501 > > Basically, basic view resolver support and spring bean wiring has been > done. Also, basic directive and function models to replace Spring JSP > Taglibs were done. So, I would say Spring Framework integration with > FreeMarker 3 is kind of working already with basic directives/functions > support already, but we need to add more to support form directives, too. > I think I've implemented about half of directive and function models to > replace Spring Framework Form JSP Taglibs as well. I still need to add > directives to replace OptionsTag, CheckboxesTag, RadioButtonsTag, > CheckboxTag and RadioButtonTag. Of course, even after we add the remaining > form models, we have to pass thorough testing and validation on potential > issues (e.g, escaping issue). > > I hope you take a look around those and understand how the > directives/functions work in FM3. > I'm looking forward to working with you, getting insights and sharing > thoughts! :-) > > You can build the branch with Gradle and you can browse the unit tests as > well. Here are some links: > - To build: https://github.com/apache/incubator-freemarker/ > blob/3/README.md#building-freemarker > - Test cases under https://github.com/apache/incubator-freemarker/ > tree/3/freemarker-spring/src/test/. And you will see test .ftlh file > resources under https://github.com/apache/incubator-freemarker/ > tree/3/freemarker-spring/src/test/resources/META-INF. too. > > Please feel free to ask anything. You can start forking and creating a > pull request if anything is ready. > Finally, you can also browse old threads from here: > - https://lists.apache.org/list.html?d...@freemarker.apache.org > > Kind regards, > > Woonsan > > > On Sat, Mar 17, 2018 at 2:07 PM, Randika Navagamuwa < > randikanavagam...@gmail.com> wrote: > >> Hi Dianel and Angelo, >> >> Thanks for the information. Yes, Eclipse Che uses LSP4J and I'm >> interested in that, but I'm more interested in supporting frameworks and >> IDE-s. I've gone through the provided link regarding FM3 but still, there >> are lot things which I don't understand properly. You have mentioned that >> Woonsan >> Ko has already implemented a lot of Spring integration. I would love to >> take a look at his code so we can figure out what should/can be improved. >> >> At the moment, I haven't decided on what I want to do in this project. >> Still, I'm trying to understand how can I be a help to FM, so I'm open to >> any suggestion. >> >> I've gone through the issue[1] created by Angelo and I would love to know >> the opinion of others as well. My personal preference is to go with the >> first solution which is to "Create a custom parser". >> >> [1] https://github.com/angelozerr/freemarker-languageserver/issues/1 >> >> Regards, >> >> >> *Randika Navagamuwa,* >> >> *Software Engineer,* >> *AdroitLogic Lanka (Pvt) Ltd.* >> *www.rnavagamuwa.com <http://www.rnavagamuwa.com>* >> <https://www.linkedin.com/in/rnavagamuwa/> [image: >> https://www.facebook.com/rnavagamuwa] >> <https://www.facebook.com/rnavagamuwa> <https://twitter.com/rnavagamuwa> >> [image: https://plus.google.com/+RandikaNavagamuwa/] >> <https://plus.google.com/+RandikaNavagamuwa/> >> <http://github.com/rnavagamuwa> >> >> On Sat, Mar 17, 2018 at 10:00 PM, Angelo zerr <angelo.z...@gmail.com> >> wrote: >> >>> Hi Randika, >>> >>> If you are interested to work on the Freemarker Language Server >>> https://github.com/angelozerr/freemarker-languageserver, it should be >>> really fantastic. >>> >>> Today I have just managed to support validation (publishDiagnostics), but >>> for advanced features like completion, outline, etc we must have the >>> capability to have a Freemarker AST even if the content of ftl is not >>> valid. >>> >>> I have created an issue for that >>> https://github.com/angelozerr/freemarker-languageserver/issues/1 Don't >>> hesitate to add your comment. Thanks! >>> >>> Hope you could be interested. >>> >>> Regard's Angelo >>> >>> 2018-03-17 16:57 GMT+01:00 Daniel Dekany <ddek...@apache.org>: >>> >>> > Saturday, March 17, 2018, 1:34:11 PM, Randika Navagamuwa wrote: >>> > >>> > > Hi all, >>> > > >>> > > I'm from Sri Lanka and currently, I'm working as a Senior >>> > Software >>> > > Engineer at AdroitLogic Lanka (Pvt) Ltd [1]. During my undergraduate >>> > > period, I've contributed to some open source projects including >>> Eclipse >>> > Che >>> > > [2]. >>> > >>> > Speaking of Eclipse... we had a bit of a problem with the old Eclipse >>> > editor plugin (at JBoss Tools), which it sparked this new one using >>> > LSP4J (also used by Che AFAIK; not sure how syntax highlighting parts >>> > works there): https://github.com/angelozerr/lsp4e-freemarker >>> > >>> > If you are interested in that, let me know. >>> > >>> > > For some time I couldn't actively participate in any open source >>> > > projects and I thought of getting back to it. >>> > > >>> > > After going through some Apache projects I found Free Marker >>> > > really interesting. I'm interested in taking part in "*FreeMarker >>> Spring >>> > > MVC integration. >>> > > >>> > > Please let me know how to contribute to this. >>> > >>> > So first of all, glad to hear that you are interested. We need that a >>> > lot, especially when it comes to supporting frameworks and IDE-s. >>> > >>> > Now, there are two main development branches: >>> > >>> > - FreeMarker 2: This is the one that's actually used in production, >>> > for 15 years or so. Be prepared for remnants of 2000-s cowboy >>> > coding <-;, and complications and restrictions for keeping backward >>> > compatibility. >>> > >>> > The Spring support was made very long ago by someone who, I don't >>> > remember ever talked to the FM developers (I was already around in >>> > that times). My brief interactions with it has shown that it's not >>> > very good, and it's quite abandoned. Now, the main problem is that >>> > it's at Spring, not here. So I'm not sure if writing patches to them >>> > is the better, or starting over here. Though I'm certain that the >>> > last is much more fun, and you have more freedom to figure out the >>> > best approach to bring FM2 features and Spring together. (OTOH that >>> > will lead to FM support being removed from Spring, which is quite a >>> > loss in visibility... but we go for what's best technically.) >>> > >>> > If you need new FM features during that (and certainly you will, if >>> > you are creative about it), I can do that if you find the FM2 >>> > internals scary (which would be understandable). >>> > >>> > - FreeMarker 3: You can read about it here: >>> > https://cwiki.apache.org/confluence/display/FREEMARKER/FreeMarker+3 >>> > So it's much more rewarding to work with, except that nobody uses it >>> > yet... Furthermore, Woonsan Ko (a PPMC member here) has implemented >>> > a lot of the Spring integration already, as you will find. I know >>> > there are parts missing, even trickier parts (like i10n messages >>> > that are outputFormat aware). Not sure if he wants them for himself >>> > (after all, those are the fun parts), or if he needs help elsewhere. >>> > Woonsan? >>> > >>> > Also, generating e-mail in Spring seems to become more and more >>> > important compared to generating web pages. Just in case you are >>> > interested in polishing that application as well. But really, find the >>> > a part that you think you will enjoy. >>> > >>> > > Someone who know both well should keep an eye on this, >>> > > improving it where necessary.*" which I found here [3] under >>> "*Improve >>> > > framework integration*". >>> > > >>> > > [1] https://www.adroitlogic.com/ >>> > > [2] https://www.eclipse.org/che/ >>> > > [3] https://freemarker.apache.org/contribute.html >>> > > >>> > > Regards, >>> > > >>> > > >>> > > *Randika Navagamuwa,* >>> > > >>> > > *Senior Software Engineer,* >>> > > *AdroitLogic Lanka (Pvt) Ltd.* >>> > > *www.rnavagamuwa.com <http://www.rnavagamuwa.com>* >>> > > <https://www.linkedin.com/in/rnavagamuwa/> [image: >>> > > https://www.facebook.com/rnavagamuwa] >>> > > <https://www.facebook.com/rnavagamuwa> >>> > > <https://twitter.com/rnavagamuwa> [image: >>> > > https://plus.google.com/+RandikaNavagamuwa/] >>> > > <https://plus.google.com/+RandikaNavagamuwa/> >>> > > <http://github.com/rnavagamuwa> >>> > >>> > -- >>> > Thanks, >>> > Daniel Dekany >>> > >>> > >>> >> >> >