<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -48,13 +48,45 @@ Usage
         Test.objects.create(template_name=&quot;index_2.html&quot;, experiment=exp)
 
  5. Profit.
+ 
+ 
+Advanced
+========
+
+  1. Manually run an A/B test on a view:
+  
+        def view(request, template_name=&quot;original.html&quot;):
+        
+            try:
+                ab_template_name = request.ab.run(template_name)
+            except TemplateDoesNotExist:
+                ab_template_name = template_name
+            
+            return render_to_response(template_name)
+    
+Tips
+----
+
+Decide ahead of time what you are A/B testing - introductions of new designs are a great time to run your first test. Plan ahead of time and duplicate your templates / css / js / images so you don't have to hunt through version control to find the right ones later.
 
 
 Notes
-=====
+-----
+
+ 1. The current implementation uses a thread locals to stash the request object for use in places it isn't normally available.
+
+ 2. The current implementation is not compatible with Django's built in caching.
+
+ 3. The current implementation requires you to use Django Sessions.
 
-1. The current implementation uses a thread locals to stash the request object for use in places it isn't normally available.
 
-2. The current implementation is not compatible with Django's built in caching.
+ToDo
+----
 
-3. The current implementation requires you to use Django Sessions.
\ No newline at end of file
+ 1. Add A/B aware CacheMiddleware
+ 2. Rethink ab.abs.AB interface.
+ 3. De-couple AB from request/session object? Would be interesting to run it on e-mails etc.
+ 4. Add a way to force the display of specific templates (for designers etc.)
+ 5. What if a browser has disabled cookies? What's the fallback?
+ 6. Add some way to ignore hits and conversions (eg. internal/logged in etc.)
+ 7. Expanded conversion maybe to a regex? or something else that account for variations of pages
\ No newline at end of file</diff>
      <filename>README.md</filename>
    </modified>
    <modified>
      <diff>@@ -23,7 +23,7 @@ class AB(object):
         hasn't already been converted.
         &quot;&quot;&quot;
         return self.is_experiment_active(exp) and not self.is_experiment_converted(exp) \
-            and self.request.path == exp.goal
+            and exp.goal in self.request.path
         
     def is_experiment_active(self, exp):
         &quot;&quot;&quot;True if this Experiment is active.&quot;&quot;&quot;</diff>
      <filename>abs.py</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 from django.db import models
 
+
 class Experiment(models.Model):
     &quot;&quot;&quot;
     
@@ -22,8 +23,10 @@ class Test(models.Model):
     experiment = models.ForeignKey(Experiment)
     template_name = models.CharField(max_length=255,
         help_text=&quot;Example: 'registration/signup_1.html'. The template to be tested.&quot;)
-    hits = models.IntegerField(blank=True, default=0)
-    conversions = models.IntegerField(blank=True, default=0)
+    hits = models.IntegerField(blank=True, default=0, 
+        help_text=&quot;# uniques that have seen this test.&quot;)
+    conversions = models.IntegerField(blank=True, default=0,
+        help_text=&quot;# uniques that have reached the goal from this test.&quot;)
     
     def __unicode__(self):
         return self.template_name
\ No newline at end of file</diff>
      <filename>models.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>89a09df892a3cd7fc6f1914a666ddb4c4bd60605</id>
    </parent>
  </parents>
  <author>
    <name>John Boxall</name>
    <email>john@handimobility.ca</email>
  </author>
  <url>http://github.com/johnboxall/django-ab/commit/0c2444636db2b00b25a23ad62e4b8ac7e43690bd</url>
  <id>0c2444636db2b00b25a23ad62e4b8ac7e43690bd</id>
  <committed-date>2009-05-19T10:59:03-07:00</committed-date>
  <authored-date>2009-05-19T10:59:03-07:00</authored-date>
  <message>+ Make it a little easier to reach the Goal. (path changed to IN rather than EQUAL)</message>
  <tree>7249ed63bf07b77e20935f67284adfe0ec08dae5</tree>
  <committer>
    <name>John Boxall</name>
    <email>john@handimobility.ca</email>
  </committer>
</commit>
