-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
67 lines (48 loc) · 2.36 KB
/
TODO
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
Ongoing
=======
[ ] Keep unittests and nose coverage up to date
[ ] Keep documentation up to date
Alpha
=====
[x] Implement basic Mongo stuff
[x] Implement Elastic stuff
[x] Implement RESTful views (for CRUD, "forms" and search)
[x] Setup a pcreate scaffold
[x] Flesh out support for inter-object references and be sure to link
to referenced objects in "_links" section of object GET view
(with a new namespaced "reference" rel)
[ ] Create a utility for keeping references on the other end of
many-to-many relationships up to date when a context object is saved.
[ ] Implement HierarchicalCollection and FolderObject
[x] Add support for files and GridFS
Maybe?
======
[ ] Implement some sort of auto-naming collection and/or object subclasses.
Such collections should use POST instead of PUT for new object creation
(like the base Collection).
[ ] Rethink use of request throughout resource classes... can we ditch
it? grep request resources/*.py
*** On the other hand... having access to the request would be handy
for things like logging the user ID for certain actions... hmm.
[ ] Change root_factory and Root so that request.registry.settings is
passed to Root intead of request (for access to Mongo, Elastic, etc).
[ ] Change Object.get_class_schema() such that it doesn't take a request
arg and instead uses a schema defined by a class attribute.
Change Object.get_schema() such that request is required, but the
default implementation just returns get_class_schema(). Subclasses
that need to customize the schema based on request can do so in a deepcopy.
[ ] change File such that it's passed the gridfs instead of request
[ ] update tests
[ ] update scaffold
[ ] update docs!
[ ] Index files in Elastic using its support for attachments
[ ] In REST views, treat files as separate resources.
Example: /people/sam-brauer/photo (GET, PUT, DELETE)
If an object has a list of files, support POST too:
Example: /galleries/robots/photos/
[ ] Take a closer look at pyelasticsearch as an alternative to pyes
[ ] consider a simpler htmlutil.html_to_text() that uses lxml like so:
lxml.html.fromstring(s).text_content()
(at the expense of adding dependency on lxml)
[ ] replace is_html attribute with a text_type attribute...
with values 'plain' (default), 'html', 'markdown', etc