diff --git a/README.md b/README.md index f227ddd..bc1b2d5 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ ### Datamining, Visualization, Machine-Learning, Big data -[Download latest version](https://drive.google.com/file/d/0BymV3q6di65nTHFOU2U1aENITFk) (Beta 10, April-1st 2016) +[Download latest version](https://drive.google.com/file/d/0BymV3q6di65nTHFOU2U1aENITFk) (Beta 11, May-20th 2016) -[Release Notes](https://github.com/Steema/BI/blob/master/docs/releasenotes.md) (What's new in beta 10) +[Release Notes](https://github.com/Steema/BI/blob/master/docs/releasenotes.md) (What's new in beta 11) ### What is TeeBI ? @@ -36,7 +36,7 @@ A simple class to implement in-memory database complex structures to provide: - Supported development environments: - * Embarcadero Studio XE4 and up (Delphi and C++) + * Embarcadero RAD Studio 10.1 Berlin, and from Studio XE4 and up (Delphi and C++) * Visual Studio (.NET) * Lazarus / FreePascal diff --git a/docs/img/Studio10_1_Berlin_TeeBI_FireUI_Live_Preview.png b/docs/img/Studio10_1_Berlin_TeeBI_FireUI_Live_Preview.png new file mode 100644 index 0000000..bef0532 Binary files /dev/null and b/docs/img/Studio10_1_Berlin_TeeBI_FireUI_Live_Preview.png differ diff --git a/docs/img/TeeBI_Chart_Design_Time.png b/docs/img/TeeBI_Chart_Design_Time.png new file mode 100644 index 0000000..024fbe1 Binary files /dev/null and b/docs/img/TeeBI_Chart_Design_Time.png differ diff --git a/docs/img/TeeBI_Component_design-time.png b/docs/img/TeeBI_Component_design-time.png new file mode 100644 index 0000000..c244c87 Binary files /dev/null and b/docs/img/TeeBI_Component_design-time.png differ diff --git a/docs/img/TeeBI_Dynamic_Filter.png b/docs/img/TeeBI_Dynamic_Filter.png new file mode 100644 index 0000000..f48ca94 Binary files /dev/null and b/docs/img/TeeBI_Dynamic_Filter.png differ diff --git a/docs/img/TeeBI_Pivot_Query_Editor.png b/docs/img/TeeBI_Pivot_Query_Editor.png new file mode 100644 index 0000000..8ed7820 Binary files /dev/null and b/docs/img/TeeBI_Pivot_Query_Editor.png differ diff --git a/docs/releasenotes.md b/docs/releasenotes.md index 2bef4f2..6a040a0 100644 --- a/docs/releasenotes.md +++ b/docs/releasenotes.md @@ -1,6 +1,160 @@ # TeeBI Release Notes ------------------- +## 20th-May-2016 Beta 11 + +- **RAD Studio 10.1 Berlin** + + Added TeeBI support for 10.1 Berlin release. + + Also working TeeBI controls with new "FireUI Live Preview" app in Berlin: + + ![](https://raw.github.com/Steema/BI/master/docs/img/Studio10_1_Berlin_TeeBI_FireUI_Live_Preview.png) + + For more information about integrating TeeBI and TeeChart with Live Preview, click here: + + [Berlin FireUI Live Preview and TeeBI, TeeChart](https://steema.com/wp/blog/2016/04/19/rad-studio-10-1-berlin-add-teechart-to-fireui-live-preview/) + +- **New basic demo** + + A small new test project describes how to create TDataItem objects in different modes by code: + + [Creating TDataItem manually](https://github.com/Steema/BI/tree/master/demos/delphi/vcl/Manual_Data) + + +- **Pivot-Tables** + + New BIQuery component to create select queries, summaries and pivot-tables at both design and run-time. + Editor dialog enables drag-drop of data item fields and output preview. + + ![](https://raw.github.com/Steema/BI/master/docs/img/TeeBI_Pivot_Query_Editor.png) + +- **BIChart improvements** + + A complete refactoring of the BIChart control provides a new Options property with several settings to create charts from any kind of data structure and content in a smart way. + + The automatic decisions done by BIChart have been summarized here: + + [BIChart logic](https://plus.google.com/+DavidBerneda/posts/T6jVGbcFyak) + + ![](https://raw.github.com/Steema/BI/master/docs/img/TeeBI_Chart_Design_Time.png) + +- **Dynamic Filter** + + New class and editor dialog to enable visual building of filter "expressions" by checking / unchecking items on a tree view. + Linked data tables are automatically included in the tree, together with its individual items. + The BIQuery editor includes this new Dynamic Filter editor to define the query "where" clause. + + ![](https://raw.github.com/Steema/BI/master/docs/img/TeeBI_Dynamic_Filter.png) + +- **Dashboards** + + New TDashboard Layout property to customize the arrangement of dashboard panels inside a BIVisual control. + Predefined layouts are included in TLayouts.Predefined property. + +- **Component Importing** + + New TComponentImporter class and editor dialog to "link" any BI control (BIGrid, BIChart etc) and BI components (BIQuery, etc) with any supported Component living on any accessible Form or DataModule. + + The edit dialog shows the available supported components and VCL/FMX controls, and selecting them creates an internal TDataItem and imports the component content into it automatically. + + For example, text from Memo controls (in csv,json,xml,etc) , any TDataset-derived component, ListBoxes, TXXConnection components are recognized and made available. + + Importing data from components is done transparent and at fast speed, so the BI controls receiving the output just get normal TDataItem(s) as if they were already imported and persisted from a TStore or by code. + + ![](https://raw.github.com/Steema/BI/master/docs/img/TeeBI_Component_design-time.png) + + +- **Data Selector** + + New dialog that includes both the already existing data selector tree, and the new Component selector dialog. + This dialog is now the default editor for design-time choosing of all components "Data" property. + + A new form has been added to the Import example project, using the new TComponentImport feature: + + [Import Components Example Project](https://github.com/Steema/BI/tree/master/demos/delphi/vcl/Import) + +- **Importing from configuration** + + The TDataDefinition class (used by the "Data Manager" dialog) is now a TComponent that can be used at design-time to define which data to import in several modes and settings, without needing to persist the import output to disk. + + This component is also a "provider" of data so it can be connected at design-time to any other BI control or BIQuery to perform disk-less queries on its data. + +- **Provider events** + + Many classes and components issue internal events when data is changed or destroyed. + + Other components and controls (BIGrid, BIChart, etc) get notified of these events to refresh its output or make sure there are no memory leaks. This mechanism works at design-time too, so changes are refreshed automatically. + +- **RTTI and ORM** + + Important improvement in BI.Data.RTTI unit. + + TTypeProvider class has been changed quite a lot to better support different types of data like dynamic arrays and TCollection objects. + + It also includes new Count and Delete methods, and a new Items[Index] default array property to access its elements. + + New example available, showing how to use TeeBI in ORM mode with your own data: + + [TeeBI and ORM Example Project](https://github.com/Steema/BI/tree/master/demos/delphi/vcl/ORM_RTTI) + + +- **BI Arrays** + + Improved all the Array classes with a new Copy method that can optionally copy a subset of the array based on an index parameter. + The "index" is just a TInt32Array containing the positions of the items to copy. + + These methods are also internally used to fix the issue of creating a "Map" of the array items considering only the non-null values. + TDataItem is now passing its "Missing" index array when creating the DataMap property. + +- **TDataset** + + New FromField class method to import just a single TField instead of the whole TDataset. + +- **TDataItem** + + The base and most important class in TeeBI (TDataItem) has new features: + + - New LoadFromFile method (SaveToFile already existed) + - New Clear method to remove all data and destroy all sub-items + - New ClearData method to just remove all data without changing the structure or sub-items + +- **Expressions** + + - All TExpression classes now include an Assign method. + + This has enabled a new TExpression.Clone method that is capable of duplicating an expression tree to return an identical one, recursively. + +- **BI Web Server** + + - Improved the automatic re-import of data using an "scheduler" configuration. + + Each data can be configured to be re-imported at specific intervals (ie: "Every Day") + + This feature enables web-replication of databases from one BIWeb server to another. + + That is, for example BIWeb server 1 re-imports an SQL Server database every 10 minutes, while other BIWeb servers 2 and 3 also do re-import that data from BIWeb server 1, just this time the data is already converted to ultra-fast binary TeeBI format so the transmission via web is much improved (with BIWeb zip compression). + + There is no limit on how many BIWeb servers access data from other BIWeb servers. + +- **Fixes** + + - Fixed bug at TBIExcel class, when importing Excel spreadsheets with non-English US decimal settings ("," <-> ".") + - Fixed bug at TBIJsonExport class, content with forbidden (non-valid json) characters are "escaped" + - Adding or removing Data.Items now correctly change their Parent property + - Fixed potential access violation when closing the RAD Studio IDE in Seattle 10.0 + +- **Miscellaneous** + + - New TDataItems Insert method + - New TDataCursor and TSummary UseFilter boolean property (to use or not the Filter property) + - New summary THistogram feature to distribute aggregations by text fields (in groups: ABC..DEF..GHI...JKL etc) + - BI.Summary.Totals unit: TSummaryTotals class is now a TComponent that can be used in queries and any other BI control + - New TDataColorizer AlphaColorOf( double ), returns the color in palette that corresponds to the double parameter + - New TDataKindConvert method to change a TDataItem from one Kind to another, previously verifying no data will be lost + + + ## 1st-April-2016 Beta 10 - **Dashboards**