Giter Site home page Giter Site logo

django-experiments's People

Contributors

adam-malinowski avatar adrianholovaty avatar benwurth avatar bustavo avatar chhantyal avatar chrisvxd avatar davarisg avatar enjoy2000 avatar fergusrossferrier avatar fmoga avatar jeromelefeuvre avatar jkbrzt avatar jskopek avatar jverce avatar kobold avatar lisongx avatar lizzieday avatar marcelchastain avatar matclayton avatar millar avatar petrdlouhy avatar theospears avatar tomasm avatar tysonclugg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-experiments's Issues

Nexus index styling

Improve the nexus front page styling. More information would also be useful here.

Significance bugs

i.e. N/A

Was on TODO, can't really remember what this is about =P

No License

Need to add a license (see MIT) to the root of the directory.

Timing support

start_time and end_time need to be populated automatically. What about scheduling the experiment to end at a certain time?

URL/Slug Base Partitioning.

Cannot remember what this was, but it is on the TODO list.

"url/slug base partitioning, for object/page testing. Googlebot based testing"

Alternative template hits

When defining alternatives in a template, each alternative hits the server separately. Could be an issue with heavy traffic.

Condition Behaviour

Investigate the way conditions are inclusive/exclusive of one another.

Currently, conditions are inclusive of one another within a condition_set but exclusive between sets.

Tidy up redis counters

Tidy up redis counters when the experiment is deleted. Will currently be stored indefinitely.

Attach a signal and use KEYS/DEL commands: KEYS experiments:<experiment_name>:*

Enrollments prevent experiment caching

Enrollments contain experiment foreign keys, and so when experiments are called through the enrollment, i.e.

utils.py line 153: if enrollment.experiment.state == DISABLED_STATE:

the experiment cache is not used. Should replace with the experiment_name, and use the experimentmanager cache to retrieve the experiment.

sorting issues

start date and end date sorting do not currently do anything.

Date Inconsistancy

Dates style is different when the nexus index page is loaded and when a new experiment is added. This is due to differences in the way the data is rendered. On page load, the QuerySet is rendered into the template directly via django. When a new experiment is added, the data is serialized server side, and de-serialized client side. The de-serialization causes the date to take on a slightly different format to when the data is rendered directly.

Delete Experiment Performance

Deleting experiments and enrollments causes major performance issues many db records are deleted at once. In the short term:

  • Make delete experiment performant
  • Remove old enrollments/sessions

In the long term, the way enrollments are handled needs to be looked into.

Goal Control

Add the ability to modify/reset goal values through nexus.

Possibly even relocate goals from settings.py to redis.

"Just Now" when just created.

Created in fa82496c2608187b6a55206094ea72458be90e72, which solved #27. "Just Now" is only used to prevent the server from mysteriously hanging when adding a new experiment. It is something to do with returning an experiment.to_dict() which contains a start_date of type DateTime.

Results goal toggling

Add JS to toggle goals from within the results table. Similar to condition toggling?

Conditions and Sessions

If no conditions are met, the user does not get a session for the experiment. If then a condition is added which they match, they will receive session data for the experiment.

Their session data may be different before and after they meet the condition, and so they could jump from the control to another alternative. Is this correct?

Invalid IP address in condition hangs

If an invalid IP address is used in an IP address condition, the server will not send a response. The error is being caught, however, as it appears in the console log.

Goal hits are not unique to experiment

Every experiment will record a every goal hit, even if the hit is intended to come from another experiment. This can cause very inaccurate data.

Closely related to #8.

Some conditions not working

Conditions do not seem to be functioning correctly when only a single "exclude" condition is set.

Tested on not anonymous and not username.

Add logging

Log the following to file

  • users are added to an experiment, and which alternative
  • goal hit (first time and multiple)
  • confirmed human
  • anything else of value....

Edit experiment within results

Cannot currently edit the experiment settings (bar conditions) from within the experiment results view. Can either overlay edit experiment form or follow design similar to that suggested in #39.

Collapsing/Expanding in Results

The results page should support the collapsing and expanding of alternatives.

This could cause issues with the odd/even classes of columns. Could prevent this issue by shrinking the alternative from 3 columns to one column.

Duplicate Condition Deletion

If there are duplicate conditions and the user tries to delete one of them, all will be deleted. The delete function is also ignorant to the excluded variable.

Changes to remove_conditions() in nexus_modules.py:

  • Add exclude as a criteria, also make sure to POST it in js.
  • Only delete the first entry if multiple are found matching the criteria.

Zero Conditions

Should we assume that the experiment state is global if there are no conditions?

Forgot to git add .

Have forgotten to git add . in the last few commits so there is a whole load of missing code. Fixing now.

Project Name

The project name needs to be changed. Causes some clarity issues with the code, as experiments is used to loosely.

Post ideas in the comments ;)

Toggling experiment status causes page to hang

Was caused in fa82496c2608187b6a55206094ea72458be90e72 when fixing #27. Caused by the use of datetime data in the start_date field.

Note, still works after a page refresh. Check JavaScript and that functions are returning correctly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.