Commit graph

800 commits

Author SHA1 Message Date
Matt Lott
c5977c00fe Add shortened fields to analytics.log.event
We’ll remove the old long fields after we’ve got enough data to switch
over our analytics queries without complication.
2015-01-14 17:51:34 -08:00
Matt Lott
e79cadc761 Remove analytics.log.event created field
_id field already has created data:
http://docs.mongodb.org/manual/reference/object-id/
Also some misc analytics cleanup.
2015-01-14 13:03:02 -08:00
Matt Lott
3fd5f49220 Analytics data revamp
Add analytics per-day aggregation collection.
Add analytics strings collection.
Add per-day aggregation mongo insertion script.
Update campaign editor to use aggregation collection.
Update queries to use _id instead of created field.
2015-01-14 11:09:01 -08:00
Scott Erickson
f9a01db985 Added a delete endpoint for files. Fixes #33. 2015-01-12 13:37:01 -08:00
Scott Erickson
da93c45ef3 Tweaked emailLower and nameLower auto-setting to not set if their respective depending properties do not exist. With minimizing mongoose off, this was causing db duplicate key problems. 2015-01-12 11:51:48 -08:00
Nick Winter
5c352699b0 buildTime stuff. 2015-01-10 09:33:41 -08:00
Nick Winter
58716f5b75 Revert "Fixed #1076, and all other instances of empty objects being stripped out of documents. Turns out mongoose was doing this intentionally as a feature? I don't understand why that's on by default. Oh mongoose."
Saw that this caused 500s on /auth/whoami with no cookies set, with this error:

debug: 500: MongoError: E11000 duplicate key error index: coco.users.$emailLower_1 dup key: { : null }

Probably we need to be much more careful about what changes this blanket change to the minimize Mongoose option might introduce, since tests didn't catch this, but it would have taken the site down for anyone not logged in already.

This reverts commit 121f07d020.
2015-01-09 18:30:05 -08:00
Scott Erickson
121f07d020 Fixed #1076, and all other instances of empty objects being stripped out of documents. Turns out mongoose was doing this intentionally as a feature? I don't understand why that's on by default. Oh mongoose. 2015-01-09 11:56:54 -08:00
Matt Lott
05beebee68 Add play_counts API input null check 2015-01-08 17:17:34 -08:00
Matt Lott
372ac20a67 Update campaign editor analytics
Level view recent sessions is latest - 10 minutes.
2015-01-08 17:00:06 -08:00
Matt Lott
bc93a2b181 Update campaign editor analytics
Restrict level view completion rates to unique users. Super slow, perf
work to do here.
Increase level view completion rate date range to 2 weeks.
Increase level view average playtimes date range to 2 weeks.
Display player name if available in level view recent sessions.
2015-01-08 16:01:49 -08:00
Scott Erickson
d69c5941b3 Fixed #1968. 2015-01-08 11:57:31 -08:00
Nick Winter
79c5b53de1 Updated GitHub README avatars. Added HipChat notifications when CLAs are signed. 2015-01-08 11:33:59 -08:00
Scott Erickson
d8e89f31b1 Fixed #1967. 2015-01-08 11:29:10 -08:00
Imperadeiro98
68ed142bd6 Update auth.coffee 2015-01-08 19:27:37 +00:00
Nick Winter
4016476c4d Fixed achievement plugin creation of repeatable achievements. Fixed some bugs in recalculating repeatable achievement exp. Implemented recalculating repeatable achievement gems. Achievement tests pass again. 2015-01-07 15:03:39 -08:00
Matt Lott
c54fea929e Update campaign editor analytics
Optimize analytics.log.event user event data find() to use stream()
instead of exec(), which is better for large result sets
Fix startDay formatting bug
Per-level recent sessions to 100
2015-01-07 14:49:24 -08:00
Nick Winter
1455dc0550 Working on repeatable achievement posting. Two tests still fail, though, so it's not there yet. 2015-01-07 12:25:43 -08:00
Matt Lott
d89b0d90e3 Campaign analytics - unique users, dropped count
Fixing incorrect dropped counts.
Restricting start/finish level events to unique users.
Does not fix campaign editor level view analytics.
2015-01-06 21:38:49 -08:00
Nick Winter
4ea2a51ff6 In middle of debugging non-functioning repeatable achievements. 2015-01-06 21:32:58 -08:00
Scott Erickson
2f36884456 Got proportionalTo working with gems as well as points. Probably also got it working for LevelSessions, but this should be tested. 2015-01-06 18:14:19 -08:00
Scott Erickson
7f203f246c Fixed a bug where projection in /db/campaign/.../levels wasn't working correctly anymore if project wasn't included. 2015-01-06 16:59:56 -08:00
Matt Lott
1c1f2be497 Changing analytics.log.event indexes to compound
Changing this back.  Using mongodb hint() and explain() on our find()
call indicates the compound index is better than the two single indexes.
2015-01-06 14:54:56 -08:00
Matt Lott
a144c5ff0d Update analytics.log.event indexes to match prod
These were applied as single indexes directly in production.
2015-01-06 14:07:22 -08:00
Nick Winter
9272ceb23e Trying to restore functionality of achievement plugin but without memory leak. 2015-01-05 21:57:23 -08:00
Nick Winter
45b90804ec Noting some TODOs to fix soon. 2015-01-05 20:49:59 -08:00
Matt Lott
1a401230f4 Add recent sessions to campaign editor analytics
In level view.  Shows latest 10, and you can double-click them to open
in modalmodal.
2015-01-05 15:40:28 -08:00
Matt Lott
b4a0fe146e Add common user code problems to campaign editor
In level view, showing data from last 30 days, with top 20 issues by
count.
2015-01-05 13:42:19 -08:00
Matt Lott
7052dd99f5 Add index to analytics.log.event 2015-01-05 10:49:43 -08:00
Nick Winter
947811c01b Replayable once-per-day increasing-difficulty level basics. 2015-01-05 10:44:24 -08:00
Matt Lott
61180c640d Add completion % to campaign analytics 2015-01-05 10:28:56 -08:00
Matt Lott
b5969e0abc Update campaign analytics level ordering
Reading campaign levels from database.  Assumes database order is
roughly progression order.
2015-01-02 13:31:50 -08:00
Nick Winter
dbc42fb7e1 Added task system to Thang Editor. 2015-01-01 14:07:11 -08:00
Matt Lott
2d410fa57f Update editor analytics level completions
We have to grab all the level data at once, so we should cache it all
too.  Only the first level completions call should be uncached/slow.
2015-01-01 12:26:19 -08:00
Matt Lott
e65887ec79 Add campaign drop-offs analytics to editor 2015-01-01 12:01:51 -08:00
Matt Lott
56b4346556 Update average playtimes query to match level 2014-12-31 13:19:46 -08:00
Matt Lott
9b6d327c7f Add average playtimes to levels in campaign editor 2014-12-31 12:25:18 -08:00
Matt Lott
fcf5346aa3 Add completion rates to levels in campaign editor 2014-12-31 11:49:29 -08:00
Nick Winter
c54fd5ab4b Moved editors from PUT to POST so that version saving behavior is preserved and admins can PUT without saving new versions. 2014-12-29 09:14:43 -08:00
Nick Winter
1390cbacdc Temporarily reverting 0bdec68 change to PUT for versioned documents. 2014-12-28 17:24:37 -08:00
Nick Winter
744d30737e Merged in campaign editor and campaign view. Destroyed WorldMapView, CampaignOptions, and LevelOptions. Lots of stuff is now stored in the database instead of code. Cleaned up a few unneeded old features. Fixed some problems with checking permissions on first rather than latest versions of documents. 2014-12-28 13:25:20 -08:00
Nick Winter
b4341ad46c Merge branch 'feature/campaign-editor' 2014-12-27 11:03:51 -08:00
Michael Schmatz
3d1ee9767f Fix sorting crashing bug 2014-12-24 16:45:34 -05:00
Nick Winter
d6b5c14123 Give me thine email addresses correctly, dear contact handler. 2014-12-24 11:02:52 -08:00
Michael Schmatz
2e9e9ee85c Put limit on things to be sorted
We might have to alter the queries a bit if we aren't happy with the results
2014-12-23 20:19:20 -05:00
Nick Winter
759e193f29 Pulling email from user in contact form if they gave an invalid email reply-to. 2014-12-23 08:20:35 -08:00
Scott Erickson
0bdec68cfc Set up a save button. 2014-12-22 16:21:57 -05:00
Scott Erickson
0dd2d9efbd Handled merge conflict. 2014-12-22 12:33:52 -05:00
Nick Winter
e8d185a860 Embedding level completion checklist inside the level editor. 2014-12-20 20:01:07 -08:00
Nick Winter
08cb87c84d Automatically take screenshots when submitting contact form from level view. 2014-12-19 18:37:42 -08:00