forked from DataBrewery/cubes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
189 lines (137 loc) · 6.08 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
Changes in the Cubes
++++++++++++++++++++
Version 0.8.1
=============
New Features
------------
* none so far
Changes
-------
* none so far
Fixes
-----
* none so far
Version 0.8
===========
New Features
------------
* Started writing StarBrowser - another SQL aggregation browser with different
approach (see code/docs)
Slicer Server:
* added configuration option `modules` under `[server]` to load additional
modules
* added ability to specify backend module
* backend configuration is in [backend] by default, for SQL it stays in [db]
* added server config option for default `prettyprint` value (useful for
demontration purposes)
Documentation:
* Changed license to MIT + small addition. Please refer to the LICENSE file.
* Updated documentation - added missing parts, made reference more readable,
moved class and function reference docs from descriptive part to reference
(API) part.
* added backend documentation
* Added "Hello World!" example
Changed Features
----------------
* removed default SQL backend from the server
* moved worskpace creation into the backend module
Fixes
-----
* Fixed create_view to handle not materialized properly (thanks to deytao)
* Slicer tool header now contains #!/usr/bin/env python
Version 0.7.1
=============
Added tutorials in tutorials/ with models in tutorials/models/ and data in tutorials/data/:
* Tutorial 1:
* how to build a model programatically
* how to create a model with flat dimensions
* how to aggregate whole cube
* how to drill-down and aggregate through a dimension
* Tutorial 2:
* how to create and use a model file
* mappings
* Tutorial 3:
* how hierarhies work
* drill-down through a hierarchy
* Tutorial 4 (not blogged about it yet):
* how to launch slicer server
New Features
------------
* New method: Dimension.attribute_reference: returns full reference to an attribute
* str(cut) will now return constructed string representation of a cut as it can be used by Slicer
Slicer server:
* added /locales to slicer
* added locales key in /model request
* added Access-Control-Allow-Origin for JS/jQuery
Changes
-------
* Allow dimensions in cube to be a list, not only a dictionary (internally it is ordered dictionary)
* Allow cubes in model to be a list, not only a dictionary (internally it is ordered dictionary)
Slicer server:
* slicer does not require default cube to be specified: if no cube is in the request then try default from
config or get first from model
Fixes
-----
* Slicer not serves right localization regardless of what localization was used first after server was
launched (changed model localization copy to be deepcopy (as it should be))
* Fixes some remnants that used old Cell.foo based browsing to Browser.foo(cell, ...) only browsing
* fixed model localization issues; once localized, original locale was not available
* Do not try to add locale if not specified. Fixes #11: https://github.com/Stiivi/cubes/issues/11
Version 0.7
===========
WARNING: Minor backward API incompatibility - Cuboid renamed to Cell.
Changes
-------
* Class 'Cuboid' was renamed to more correct 'Cell'. 'Cuboid' is a part of cube with subset of
dimensions.
* all APIs with 'cuboid' in their name/arguments were renamed to use 'cell' instead
* Changed initialization of model classes: Model, Cube, Dimension, Hierarchy, Level to be more "pythony":
instead of using initialization dictionary, each attribute is listed as parameter, rest is handled from
variable list of key word arguments
* Improved handling of flat and detail-less dimensions (dimensions represented just by one attribute which
is also a key)
Model Initialization Defaults:
* If no levels are specified during initialization, then dimension name is considered flat, with single
attribute.
* If no hierarchy is specified and levels are specified, then default hierarchy will be created from order
of levels
* If no levels are specified, then one level is created, with name `default` and dimension will be
considered flat
Note: This initialization defaults might be moved into a separate utility function/class that will populate
incomplete model
New features
------------
Slicer server:
* changed to handle multiple cubes within model: you have to specify a cube for /aggregate, /facts,... in form: /cube/<cube_name>/<browser_action>
* reflect change in configuration: removed ``view``, added ``view_prefix`` and ``view_suffix``, the cube view name will be constructed by concatenating `view prefix` + `cube name` + `view suffix`
* in aggregate drill-down: explicit dimension can be specified with drilldown=dimension:level, such as:
date:month
This change is considered final and therefore we can mark it is as API version 1.
Version 0.6
===========
New features
------------
Cubes:
* added 'details' to cube - attributes that might contain fact details which are not relevant to
aggregation, but might be interesting when displaying facts
* added ordering of facts in aggregation browser
* SQL denormalizer can now add indexes to key columns, if requested
* one detail table can be used more than once in SQL denomralizer (such as an organisation for both -
receiver and donor), added key ``alias`` to ``joins`` in model description
Slicer server:
* added ``log`` a and ``log_level`` configuration options (under ``[server]``)
* added ``format=`` parameter to ``/facts``, accepts ``json`` and ``csv``
* added ``fields=`` parameter to ``/facts`` - comma separated list of returned fields in CSV
* share single sqlalchemy engine within server thread
* limit number of facts returned in JSON (configurable by ``json_record_limit`` in ``[server]`` section)
Experimental:
(might change or be removed, use with caution)
* added cubes searching frontend for separate cubes_search experimenal Sphinx backend (see
https://bitbucket.org/Stiivi/cubes-search)
Fixes
-----
* fixed localization bug in fact(s) - now uses proper attribute name without locale suffix
* fixed passing of pagination and ordering parameters from server to aggregation browser when
requesting facts
* fixed bug when using multiple conditions in SQL aggregator
* make host/port optional separately