forked from Pylons/substanced
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
137 lines (85 loc) · 3.73 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Must-have pre-alpha-1
=====================
Features
--------
- Change folder data structure such that _order is not (oid, name) but separate
oid and name datastructures are kept so we have a shot of making sort merging
faster.
- Release deform2 (merge deform_bootstrap).
- Ability to dump and load blobs.
- Remove interfaces index?
- Use hasattr(__is_folder__) instead of IFolder.providedBy in is_folder.
- How to prevent objects from being moved or duplicated into a place where
they're not addable?
- Evolution execution needs to be sorted by package.
- Evolution should show the derived versions after a ``--latest``, not the
versions that were current before.
- Use is_folder view predicate instead of context=IFolder in folder views
(holdup is testing out folder button action overrides in the face of views
being registered against IFolder).
- Change all mentions of ``context`` to ``resource``.
- Text search view.
- Show spinner when a button is pressed on the folder contents view that leads
to another page (e.g. reindex or duplicate).
- Separate out reindexing from catalog autosync at startup.
- Add an autoevolve setting.
Can wait until after alpha 1
============================
- Stamp created objects with creator information?
- Allow second sort of a hypatia result set to specify that it wants a stable
sort.
- Fix actions processor so it won't drop actions on the floor if
a keyboardinterrupt or another exception happens after a popall.
- Add specific configurator directives for object event registrations
(e.g. config.subscribe_modified).
- __viewable__, __renameable__, __deletable__, __copyable__, __duplicatable__
attributes of contained objects in folder contents view that controls
how contained object can be acted upon? E.g.::
def __viewable__(self, context, request):
return has_permission('sdi.view', context, request)
- Once we depend on Pyramid 1.4b1+, normalize subscriber predicate argument
lists.
- Add a ``substanced.load_dump`` key for use by root factory.
- Figure out if YAML dump and reload will work if we get to move to Python 3.
- Work out OpenID/Twitter/whatever authentication.
Docs
----
Misc
++++
- Explain the objectmap get_extents API.
Dump and Load
+++++++++++++
- Add API docs for dump/load, and dump contexts.
Can Wait Forever (Nice-to-Have)
===============================
- XML-RPC.
- Drag and drop ACE reordering in ACL edit view.
- Ability to add and edit principals in existing ACEs in ACL edit view.
- Add a redo button to undo flash messages.
- Show a derivative of output status in flash message when update indexes /
reindex catalog is done to a catalog.
Probably Bad Ideas
==================
- Create "addable here" API that manages the __sdi_addable__ attribute of a
folderish object.
- Emit an ObjectMoving event rather than removed event with a moving flag,
then an add event?
- Create object map management UI (view relationships, view paths, view
objectids).
- Decide whether to split "manage contents" permissions out for folders into
add, delete, rename.
- Import/export from folder contents view.
- Specialize recatalog during a rename, so only indexes that are
context-sensitive are reindexed.
- Catalog event subscriber currently does a hellishly expensive recatalog of
allowed indexes when an ACL is changed. Not sure if there's even a general
way to make this do less work, but could be.
Science Fiction
===============
- Play around with gevent and/or websockets.
Made Irrelevant
===============
- Fix ``Batch`` such that seqlen is a maximum. Rationale: the sequence that
the batch receives may be smaller than seqlen due to hidden objects in folder
contents view (irrelevant because folder contents view is now
catalog-driven).