We along with many others read with sadness when Jeroen Frijters announced the end of his work on IKVM. What he created is a thing of beauty that we and a lot of others depended on.
Because we use IKVM to build the .NET version of our engine, we copied the final IKVM and created a new project that we are supporting going forward. You can find the projects here:
We also have both in NuGet so you can easily add them as references to your projects.
Going forward, what are our plans? First off, we’re unlikely to do anything more on 7.5.0.2, unless there’s a serious need. The future is 8.5.0.2.
On the Java side we’re limited to Java 8 for some time because we create libraries others use and many of our customers are staying on Java 8 for the indefinite future. Oracle has promised to continue support for it indefinitely and we have to match the oldest version in common use.Therefore, our efforts on IKVM are likely to be against Java 8 for the near future.
If others want to branch this to an IKVM 9, we’ll support any work they do. And we of course welcome any improvements to IKVM 8. We will fix any issues found in IKVM 8, but to date there has been 1 performance problem(so slow it appeared locked up). The existing product is complete and rock solid.
To date our stats on downloads from NuGet are small-ish. But use of it is growing. So we’re slowly building up a community of users. And slow is understandable as Jeroen’s final build of IKVM 8 was rock solid. There will be companies continuing to use it 10 years from now without a problem or limitation. The community of IKVM users is gigantic.
As to those worried that IKVM will go away – the need is too great in the immediate future for that to be a concern. If we hadn’t moved forward with this, someone else certainly would have.
Adds various capabilities such as inequalities,descending sort, joins, and other functions.
SQL Select Debugger
Added a Query tab as a field for typing or pasting in a select statement
All tags using that Data source will be automatically updated with that name.
New single interface to replace 2 separate dialog boxes
Provides a display of all the tags in the template, structures as they are placed in the template. Provides an easy way to see the structure, go to any tag, and see the properties of a tag.
The ability to integrate the Windward Engine into Google’s cloud computing platform for developing and hosting web applications dubbed Google Applications Engine (GAE).
This new integration will allow for processing of complex scripts and bi-directional text such as Arabic. Your PDF output will be much tighter and more closely match your template, and we’ll be able to respond rapidly to PDF requests and fixes.
Includes support for new ForEach and slide break handling, table header row repeat across slide breaks, and native Microsoft support for charts and images.
Tags are color coded in the template by type, making it easy to visually identify them.
Version 13’s core code has been reworked and optimized to offer a reduced memory footprint, faster PDF generation and full documentation of supported features and limitations in the specifications for DOCX, XLSX and PPTX.
Documents can include advanced Word image properties such as shadows, borders, and styles.
Windward has updated HTML output to reflect changing HTML standards.
Windward now works with a slew of new datasources: MongoDB, JSON, Cassandra, OData, Salesforce.com
Designer (fka AutoTag) Generate Code tool allows you to open an existing template and, with a click of a button, automatically create a window with the code needed to run your current template with all data sources and variables in your .NET or Java project. The process is quick, shortens delivery time and helps alleviate any bumps in the road.
Any pivot tables in the template are carried over to XLSX output. The ranges in the pivot ranges are adjusted to match the generated output. So your final XLSX will be pivot tables set as expected in the generated file.
In an imported sub-template, if its properties for a style (ex. Normal) differ from the parent template's properties for the style, the use in the sub-template can be set to either use the properties in the sub-template, ot the properties in the parent.
Tags can be placed in text boxes. Including linked text boxes. This gives you the ability to set the text in a textbox from your data.
Tags can be placed in shapes & smart art. This gives you the ability to set the text in a shape from your data.
When generating HTML output, the engine can either write bitmaps as distinct files the generate HTML references, or it can embed the images in the HTML providing a single file for the output.
You can place tags in pretty much any part of a template, including in footnotes & endnotes.
Any parts of a DOCX or XLSX (PowerPoint does not support this) file that are locked in the template, will be locked the same in the output.
If a font used in the template does not exist on the server generating a report, the font to substitute can be specified.
In addition, if a glyph to be rendered does not exist in the font specified, you can specify the replacement font. This can be set distinctly for European, Bi-Directional, and Far East fonts.
When Windward is merging the data into a template, it process the template handling each tag in order, and the tags can pull from different datasources. This allows the select in a tag to use data from other datasources in the select.