-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO.txt
83 lines (56 loc) · 2.84 KB
/
TODO.txt
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
Next:
Caching Vocab and VocabList:
html/css
Introduce a 'save my vocab' button which will put the VocabList in the datastore.
js
The button will only be clickable when there are changes to save.
When a user navigates away or tries to switch mode, it will
ask them to confirm whether they'd like to lose their changes.
Why introduce this button?
- Far fewer datastore hits.
- Every time somebody submits a new vocab, it will only edit the DOM. When the 'save my vocab'
button is clicked, it will create new vocab instances and overwrite the vocab list.
- I will actually be able to get rid of ImportVocab entirely, modifying it
so that it just edits the DOM and only saves my_vocab when the button is clicked.
CACHING:
- readstory
- Do the Question and Answer queries.
- Do the StoryExtras queries.
- Do the vocablist/vocab queries. Should I cache vocab? and How?
- mydesk
- Nick Johnson has written a cool MonkeyPatch for caching datastore gets locally without using memcache.
The life of the cache is only one request, so it's only good when there are a lot of get requests for the
same entity during the request.
See: http://stackoverflow.com/questions/1174075/appengine-cached-reference-property
Create Footer:
Welcome/About/Feedback/Bugs:
- create a welcome page for not-logged-in users and a front page
General TODOs:
- create admin tools which I can access after shipping
- page with users, stats, etc. (this could be public too)
- page which allows editing and deleting entities and their descendants (like datastore viewer but better)
- find a way for me and Balázs to be able to always see the "edit" and "delete" buttons on every page.
- Make favicon (a white lobster H with red backdrop)
- Create an editstory page.
- How can students edit their info?
- How to prevent spam?
- figure out how to use logging so that I can debug after shipping
Lesson learned:
- The ancestor query is what allows for consistency between entity groups. I tried to add a question to the
database and then call Story_unanswered(update=True) and it wouldn't detect the new question.
I added the class StoryParent of which there will always be one instance which all stories will have as a parent.
Now certain methods will require the use of the kw argument parent=StoryParent_key(), like for example
Story.get_by_id kept returning None until I changed that.
Ideas for the 2nd launch:
big ideas:
- AUDIO with soundcloud
- Leaderboard and student stats
- Add dictionary-lookup capability somehow
- Send mail when a user signs up. Accept mail too.
little things:
- add location property to questions
- scroll to answer after submitting an answer
Cron jobs to run:
- Delete vocab which isn't being referred to.
- Update all the thanks at the end of the day and keep track of increment in memcache.
random old stuff: