Skip to content
Newer
Older
100644 160 lines (123 sloc) 8.34 KB
6f0ad3c @assaf Added test cases for Google Analytics methods (and in the process fou…
assaf authored
1 == 1.3.0 (2010-03-01)
ee80119 @assaf To specify connection, use Vanity.playground.redis = "localhost:6379"…
assaf authored
2 This release adds support for Google Analytics, AdWords and forking servers (Passenger, Unicorn).
1cc716c @assaf Bumped version number, added short blurb in CHANGELOG, more documenta…
assaf authored
3
4 To view Google Analytics metrics from within Vanity, first make sure you are using Garb. For example, in your Gemfile:
5
6 gem "vanity", "1.3.0"
7 gem "garb", "0.5.0"
8
9 Next, authenticate using your account credentials. For example, in your config/environments/production.rb:
10
11 require "garb"
12 Garb::Session.login('..email..', '..password..', account_type: "GOOGLE") rescue nil
13
14 Last, define Vanity metrics that tap to Google Analytics metrics. For example:
15
16 metric "Acquisition: Visitors" do
17 description "Unique visitors on any given page, as tracked by Google Analytics"
a93b996 @assaf Added documentation for using Google Analytics metrics.
assaf authored
18 google_analytics "UA-1828623-6", :visitors
1cc716c @assaf Bumped version number, added short blurb in CHANGELOG, more documenta…
assaf authored
19 end
20
21 * Added: Support for Google Analytics metrics, thanks to Tony Pitale's Garb and blog post: http://www.viget.com/extend/user-goal-tracking-in-rails-with-vanity-and-google-analytics/
3ba085a @assaf Added: Vanity query parameter that you can use to choose a particular…
assaf authored
22 * Added: Vanity query parameter that you can use to choose a particular alternative, e.g. to tie an advertisement banner with content of the site.
5e5dc6e @assaf Added: Command line "vanity list" catalogs all ongoing experiments, t…
assaf authored
23 * Added: Command line "vanity list" catalogs all ongoing experiments, their alternatives (and fingerprints) and all metrics.
ee80119 @assaf To specify connection, use Vanity.playground.redis = "localhost:6379"…
assaf authored
24 * Added: Playground.reconnect!, particularly useful when forking (Passenger, Unicorn, etc).
fb449be @assaf Added: Vanity loads Redis configuration from config/redis.yml (if you…
assaf authored
25 * Added: Vanity loads Redis configuration from config/redis.yml (if you have such a file).
ee80119 @assaf To specify connection, use Vanity.playground.redis = "localhost:6379"…
assaf authored
26 * Changed: New way to specify connection configuration: Vanity.playground.redis = "localhost:6379". Use this instead of the separate host/port/db attribute.
f46b6d2 @assaf * Changed: Rails integration now separates use_vanity method, filters…
assaf authored
27 * Changed: Rails integration now separates use_vanity method, filters and helpers.
28 * Changed: Explicit vanity_context_filter and vanity_reload_filter so you can skip them, or order filters relative to them.
4fa9f88 @assaf Fixed: Running vanity command, automatically detects and loads Rails.
assaf authored
29 * Fixed: If metric cannot be loaded (e.g. offline, no db access) show error message for that metric but don't break dashboard.
ae9a208 @assaf Fixed: AbTest incorrectly calls identify method instead of identity (…
assaf authored
30 * Fixed: AbTest incorrectly calls identify method instead of identity (issue #2)
4fa9f88 @assaf Fixed: Running vanity command, automatically detects and loads Rails.
assaf authored
31 * Fixed: Running vanity command, automatically detects and loads Rails.
32 * Fixed: Vanity now picks up on load_path set from within config/environment.rb.
0082dbf @assaf Removed: Vanity.playground.define is deprecated. Bad choice for a met…
assaf authored
33 * Removed: Vanity.playground.define is deprecated. Bad choice for a method name. If you need this feature, make a suggestion and let's create a better API.
e5391b9 @assaf Fixed: if metric cannot be loaded (e.g. offline, no db access) show e…
assaf authored
34
6cc690f @assaf Refined metrics documentation.
assaf authored
35 == 1.2.0 (2009-12-14)
a248f2f @assaf This release introduces metrics backed by ActiveRecord. Use them when…
assaf authored
36 This release introduces metrics backed by ActiveRecord. Use them when your model is already tracking a metric, and you get instant historical data.
37
38 Example, track sign ups using User model:
39
40 metric "Signups" do
fdffed9 @assaf ActiveRecord metrics now support different aggregate functions: avera…
assaf authored
41 model Account
a248f2f @assaf This release introduces metrics backed by ActiveRecord. Use them when…
assaf authored
42 end
43
44 Example, track satisfaction using Survey model:
45 metric "Satisfaction" do
fdffed9 @assaf ActiveRecord metrics now support different aggregate functions: avera…
assaf authored
46 model Survey, :average=>:rating
a248f2f @assaf This release introduces metrics backed by ActiveRecord. Use them when…
assaf authored
47 end
48
98ac13b @assaf ActiveRecord metric can use conditions, for example:
assaf authored
49 Example, track only high ratings:
50 metric "High ratings" do
51 model Rating, :conditions=>["stars >= 4"]
52 end
53
a248f2f @assaf This release introduces metrics backed by ActiveRecord. Use them when…
assaf authored
54 There's no need to call track! on these metrics.
55
56 * Added: Metrics backed by ActiveRecord.
5ae2f0f @assaf Added: track! and ab_test methods now available from Object (i.e. eve…
assaf authored
57 * Added: track! and ab_test methods now available from Object (i.e. everywhere).
f8a2987 @assaf Added: Playground.load!. Now loading all metrics and experiments from…
assaf authored
58 * Added: Playground.load!. Now loading all metrics and experiments from Rails initializer.
4d4ac15 @assaf Changed: Decoupled metric name from identifier. You can now define a …
assaf authored
59 * Changed: Decoupled metric name from identifier. You can now define a metric with more descriptive name, e.g. "Cheers per second (user satisfaction)" and keep their ID simple. Identifier is matched against the file name (for metrics loaded from experiments/metrics).
60 * Changed: Metrics no longer defined on-demand, i.e. calling playground.metric either returns existing metric or raises exception.
ca7e6f6 @assaf Note: Playground.experiments returns hash instead of array. (you prob…
assaf authored
61 * Changed: Playground.experiments returns hash instead of array.
a9efeeb @assaf Better error handling when calling Vanity.model with unsupported opti…
assaf authored
62 * Changed: All dates in report are UTC, since we don't know which locale to use.
5ae2f0f @assaf Added: track! and ab_test methods now available from Object (i.e. eve…
assaf authored
63 * Removed: Object.experiment is deprecated, please call Vanity.playground.experiment directly.
a9efeeb @assaf Better error handling when calling Vanity.model with unsupported opti…
assaf authored
64 * Fixed: Playground no longer changes logging level on supplied logger.
4d4ac15 @assaf Changed: Decoupled metric name from identifier. You can now define a …
assaf authored
65
1fc9232 @assaf 1.1.1 release brings True 1.8 Compatibility(tm)
assaf authored
66 == 1.1.1 (2009-12-4)
67 * Fixed: Binding issue that shows up on 1.8.6/7.
68
b8a4e2e @assaf Prep for 1.1.0 release.
assaf authored
69 == 1.1.0 (2009-12-4)
fdf4b2a @assaf Merge branch 'metric'
assaf authored
70 This release introduces metrics. Metrics are the gateway drug to better software.
71
c646a27 @assaf Playground.track! no longer passes vanity identity to metric.track! (…
assaf authored
72 It’s as simple as defining a metric:
73
74 metric "Cheers" do
75 description "They love us, don't they?"
76 end
77
78 Tracking it from your code:
79
80 track! :cheers
81
82 And watching the graph from the Dashboard.
83
2daee6c @assaf A/B test tracking how happens through metric.
assaf authored
84 You can (should) also use metrics with your A/B tests, for example:
85
86 ab_test "Pricing options" do
02e556f @assaf Use Vanity.playground.mock! when running tests and you'd rather not a…
assaf authored
87 metrics :signup
2daee6c @assaf A/B test tracking how happens through metric.
assaf authored
88 alternatives 15, 25, 29
89 end
90
5b1b645 @assaf Changed: Now throwing NameError instead of LoadError when failing to …
assaf authored
91 This new usage may become requirement in a future release.
92
ea14241 @assaf track! gets count.
assaf authored
93 Much thanks to Ian Sefferman for fixing issues with Ruby 1.8.7 and Rails support.
94
fdf4b2a @assaf Merge branch 'metric'
assaf authored
95 * Added: Metrics.
02e556f @assaf Use Vanity.playground.mock! when running tests and you'd rather not a…
assaf authored
96 * Added: Use Vanity.playground.mock! when running tests and you'd rather not access a live Redis server.
2daee6c @assaf A/B test tracking how happens through metric.
assaf authored
97 * Changed: A/B tests now using metrics for tracking.
5b1b645 @assaf Changed: Now throwing NameError instead of LoadError when failing to …
assaf authored
98 * Changed: Now throwing NameError instead of LoadError when failing to load experiment/metric. NameError can be rescued on same line.
2824290 @assaf New, easier URL mapping for Dashboard: map.vanity "/vanity", :control…
assaf authored
99 * Changed: New, easier URL mapping for Dashboard: map.vanity "/vanity", :controller=>:vanity.
fdf4b2a @assaf Merge branch 'metric'
assaf authored
100 * Changed: All tests are green on Ruby 1.8.6, 1.8.7 and 1.9.1.
fe1ce1d @assaf Switched to redis-rb from http://github.com/ezmobius/redis-rb.
assaf authored
101 * Changed: Switched to redis-rb from http://github.com/ezmobius/redis-rb.
fdf4b2a @assaf Merge branch 'metric'
assaf authored
102 * Deprecated: Please call experiment method with experiment identifier (a symbol) and not experiment name.
103
087d1ff @assaf Version bump.
assaf authored
104 == 1.0.0 (2009-11-19)
0401f00 @assaf Changed: ab_goal! becomes track!.
assaf authored
105 This release changes the way you define a new experiment. You can use a method suitable for the type of experiment you want to define, or call the generic define method (previously: experiment method). For example:
83d9711 @assaf This release changes the way you define a new experiment. You can use a
assaf authored
106
107 ab_test "My A/B test" do
108 alternatives :a, :b
109 end
110
0401f00 @assaf Changed: ab_goal! becomes track!.
assaf authored
111 The experiment method is no longer overloaded: it looks up an experiment (loading its definition if necessary), but does not define an experiment. The ab_test method is overloaded, though this may change in the future.
112
113 In addition, the ab_goal! method is now track!. This method may be used for other tests in the future.
83d9711 @assaf This release changes the way you define a new experiment. You can use a
assaf authored
114
b07294c @assaf Added: A/B test report now showing number of participants.
assaf authored
115 * Added: A/B test report now showing number of participants.
116 * Added: AbTest.score method accepts minimum probability (default 90), and
a1b39f7 @assaf Removed: Experiment.reset! method. Destroy and save have the same eff…
assaf authored
117 * Removed: Experiment.reset! method. Destroy and save have the same effect.
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
118 * Changed: Playground.define now requires an experiment type, ab_test is not the default any more.
119 * Changed: When you run Vanity in development mode (configuration.cache_classes = false), it will reload experiments on each request. You can also Vanity.playground.reload!.
4512e5e @assaf Changed: You can break long experiment descriptions into multiple par…
assaf authored
120 * Changed: Fancy AJAX trickery in Rails console.
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
121 * Changed: You can break long experiment descriptions into multiple paragraphs using two consecutive newlines.
122 * Changed: AbTest confidence becomes probability; only returns choice alternative with probability equal or higher than that.
0401f00 @assaf Changed: ab_goal! becomes track!.
assaf authored
123 * Changed: ab_goal! becomes track!.
4d14273 @assaf Changed: Console becomes Dashboard, which is less confusing with rail…
assaf authored
124 * Changed: Console becomes Dashboard, which is less confusing with rails console (script/console).
aefd928 @assaf Changed: When you run Vanity in development mode (configuration.cache…
assaf authored
125
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
126 == 0.3.1 (2009-11-13)
127 * Changed: Redis 1.0 is now vendored into Vanity. This means one less dependecy ... actually two, since Redis brings with it RSpec.
11a8a6d @assaf Changed: Redis 1.0 is now vendored into Vanity. This means one less
assaf authored
128
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
129 == 0.3.0 (2009-11-13)
bc92c94 @assaf * Added: score now includes least performing alternatives, names and …
assaf authored
130 * Added: score now includes least performing alternatives, names and values.
bae5d9f @assaf Added: shiny reports.
assaf authored
131 * Added: shiny reports.
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
132 * Added: Rails console shows current experiments status and also allows you to choose which alternative you want to see.
4eef678 @assaf * Changed: letters instead of numbers for options (option 1 => option…
assaf authored
133 * Changed: letters instead of numbers for options (option 1 => option A).
7a0d869 @assaf Changed: experiment.alternatives is now an immutable snapshot.
assaf authored
134 * Changed: experiment.alternatives is now an immutable snapshot.
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
135 * Changed: experiment.score returns populated alternative objects instead of structs.
136 * Changed: experiment.chooses uses Redis to store state, better for (when we get to) browser integration.
c3c6d0c @assaf Changed: experiment.chooses uses Redis to store state, better for (wh…
assaf authored
137 * Changed: experiment.chooses skips recording participant or conversion.
ec9f900 @assaf Changed to MIT license.
assaf authored
138 * Changed: to MIT license.
bc92c94 @assaf * Added: score now includes least performing alternatives, names and …
assaf authored
139
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
140 == 0.2.2 (2009-11-12)
cb2afa2 @assaf Added: vanity binary, with single command for generating a report.
assaf authored
141 * Added: vanity binary, with single command for generating a report.
37428fd @assaf Added: return alternative by value from experiment.alternative(val) m…
assaf authored
142 * Added: return alternative by value from experiment.alternative(val) method.
d8c2c10 @assaf * Added: reset an experiment by calling reset!.
assaf authored
143 * Added: reset an experiment by calling reset!.
760d81b @assaf Added: experiment alternative name (option 1, option 2, etc).
assaf authored
144 * Added: experiment alternative name (option 1, option 2, etc).
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
145 * Added: new scoring algorithm: use experiment.score instead of alternative.z_score/confidence.
7ff6718 @assaf And ... it's a wrap.
assaf authored
146 * Added: experiment.conclusion for plain English results.
cb2afa2 @assaf Added: vanity binary, with single command for generating a report.
assaf authored
147
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
148 == 0.2.1 (2009-11-11)
42d5d29 @assaf Version bump.
assaf authored
149 * Added: z-score and confidence level for A/B test alternatives.
271c0c0 @assaf Added: test auto-completion and auto-outcome (complete_it, outcome_is).
assaf authored
150 * Added: test auto-completion and auto-outcome (complete_it, outcome_is).
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
151 * Changed: default alternatives are now false/true, so if can't decide outcome, fall back on false.
42d5d29 @assaf Version bump.
assaf authored
152
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
153 == 0.2.0 (2009-11-10)
69e4924 @assaf * Added: experiment method on object, used to define and access exper…
assaf authored
154 * Added: experiment method on object, used to define and access experiments.
40036a1 @assaf Rolled configuration into playground.
assaf authored
155 * Added: playground configuration (Vanity.playground.namespace = , etc).
fbaf4b8 @assaf Added: use_vanity now accepts block instead of symbol.
assaf authored
156 * Added: use_vanity now accepts block instead of symbol.
08b931c @assaf Changed: Vanity::Helpers becomes Vanity::Rails.
assaf authored
157 * Changed: Vanity::Helpers becomes Vanity::Rails.
50eff25 @assaf Using new kid on the block YARD to produce API documentation.
assaf authored
158 * Changed: A/B test experiments alternatives now handled using Alternatives object.
ae242bc @assaf Changed: A/B test experiments alternatives now handled using Alternat…
assaf authored
159 * Removed: A/B test measure method no longer in use.
Something went wrong with that request. Please try again.