FTLDB - a codegen tool powered by FreeMarker

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

FTLDB - a codegen tool powered by FreeMarker

Victor Osolovskiy
Greetings!

I write you as a developer (one of two) of an open source tool called FTLDB.

It's a tool for code generation in Oracle Database using FreeMarker 2.3.22.
The Github page: https://github.com/ftldb/ftldb

Our tool allows to:
* write, store, execute FTL templates directly in Oracle Database
inside stored program units (packages, procedures, etc.) as plain
text, just as native code
* make SQL queries and PL/SQL calls to a database within FTL templates
and work with the result sets as native FTL structures
* include/import other templates stored in separate program units
referencing to them by standard Oracle names like
[schema.]objname[@dblink]
* generate multi-statement scripts from FTL that can be easily run in PL/SQL

Moreover, it can work not only on server-side in the built-in Oracle
JVM, but also on client-side with any database that provides a
JDBC-driver.

What we've done and how we use FreeMarker:
* we use FreeMarker's jar "as is", load it into database (server-side)
or store as a local file (client-side)
* we've written an extra Java lib - ftldb.jar - that provides APIs for
CLI and PL/SQL and adds JDBC functionality to FTL language
(connections, queries, calls, cursors, etc.)
* we've written several PL/SQL packages and object types that
implement internal DB functionality
* we've also written a macrolib with some useful FTL functions and macros

The tool is widely used for almost 2 years in the company we both work
for. A few months ago we published it at GitHub under the Apache
License 2.0. We hope that the link to our project will make it more
popular among Oracle developers who need a convenient tool for
metaprogramming/code generation in PL/SQL.

It would be great if you added some info to your website
(http://freemarker.org/poweredBy.html). Here's a short description:

FTLDB (https://github.com/ftldb/ftldb): FTLDB is a PL/SQL tool for
server-side code generation for Oracle Database using FreeMarker. It
allows to create, store and execute templates directly in the database
as easily as native program units. It enhances FTL with the ability to
work with JDBC connections and make SQL queries and program calls to a
database. The tool may also work in client-side mode, in which it
supports any RDBMS providing a JDBC driver.

--
Best regards,
  Victor.

------------------------------------------------------------------------------
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FTLDB - a codegen tool powered by FreeMarker

Daniel Dekany
Looks interesting!

As of the Powered-by page, this is always an inconvenient topic, but
here it is. It says "If you are a developer (or otherwise a
representative) of a product or site with substantial user base that
uses FreeMarker", because it doesn't help the visitor in judging
FreeMarker if we list a random subset of all the smaller projects that
uses FreeMarker. (We did pretty much that earlier, and it wasn't
good... some of the entries still should be deleted.) Even if some of
them are serious projects. I guess FTLDB has no substantial user base
as of yet.


Thursday, June 18, 2015, 3:44:36 PM, Victor Osolovskiy wrote:

> Greetings!
>
> I write you as a developer (one of two) of an open source tool called FTLDB.
>
> It's a tool for code generation in Oracle Database using FreeMarker 2.3.22.
> The Github page: https://github.com/ftldb/ftldb
>
> Our tool allows to:
> * write, store, execute FTL templates directly in Oracle Database
> inside stored program units (packages, procedures, etc.) as plain
> text, just as native code
> * make SQL queries and PL/SQL calls to a database within FTL templates
> and work with the result sets as native FTL structures
> * include/import other templates stored in separate program units
> referencing to them by standard Oracle names like
> [schema.]objname[@dblink]
> * generate multi-statement scripts from FTL that can be easily run in PL/SQL
>
> Moreover, it can work not only on server-side in the built-in Oracle
> JVM, but also on client-side with any database that provides a
> JDBC-driver.
>
> What we've done and how we use FreeMarker:
> * we use FreeMarker's jar "as is", load it into database (server-side)
> or store as a local file (client-side)
> * we've written an extra Java lib - ftldb.jar - that provides APIs for
> CLI and PL/SQL and adds JDBC functionality to FTL language
> (connections, queries, calls, cursors, etc.)
> * we've written several PL/SQL packages and object types that
> implement internal DB functionality
> * we've also written a macrolib with some useful FTL functions and macros
>
> The tool is widely used for almost 2 years in the company we both work
> for. A few months ago we published it at GitHub under the Apache
> License 2.0. We hope that the link to our project will make it more
> popular among Oracle developers who need a convenient tool for
> metaprogramming/code generation in PL/SQL.
>
> It would be great if you added some info to your website
> (http://freemarker.org/poweredBy.html). Here's a short description:
>
> FTLDB (https://github.com/ftldb/ftldb): FTLDB is a PL/SQL tool for
> server-side code generation for Oracle Database using FreeMarker. It
> allows to create, store and execute templates directly in the database
> as easily as native program units. It enhances FTL with the ability to
> work with JDBC connections and make SQL queries and program calls to a
> database. The tool may also work in client-side mode, in which it
> supports any RDBMS providing a JDBC driver.
>
> --
> Best regards,
>   Victor.
>
> ------------------------------------------------------------------------------
> _______________________________________________
> FreeMarker-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/freemarker-devel
>

--
Thanks,
 Daniel Dekany


------------------------------------------------------------------------------
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Loading...