-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTODO
73 lines (50 loc) · 2.33 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
68
69
70
71
72
73
* Better __namespace__ decleration
Two model can have same __namespace__,
consider one model was built in, but one day we decided to split it out
into another service, so all related data need to be pulled from remote,
Then we can use a model with same __namespace__ to replace it, but hook
the loading progress, we a instance was loaded, it pulls the data needed
automatically (or lazyly)
* Better remote support
Still the above satuation, if we need to handle both "remote" and "local"
models? Use sub mapper?
* Better Serializer
So we don't have to declare all needed column/key in each API module.
* Better Proxy decleration
Model can declera the proxy parameters, like creator, collector.
* Internal event subscribe
Allow plugin / models to listen on some event, consider just use sqlalchemy's event.
Implement a internal event bus?
* External event subscribe
Allow plugin / models to listen on some kind of bus, and hook some functions.
* UI event push
UI be ware of something is happending, use WS.
* Composive Proxy Helper
* Add local index on accessing non-existing remote object / Build index at beginning
* Dependency Injection of Models
One entity deps another entiry that provides some feature/columns.
* Interface
Test result interface, each class inherits it provides sth.
* Bus
Bus communication between plugins
* Problem
Flask is not suitable for so many async jobs, but extremely suitable for ORM.
May encounter proformance issue, in the far future.
* Initializing order
Entity after attribute / required and provide
* Frontend store / bus
* Frontend path/event dependency
When a component calls $bus.emit(But not avaliable yet) or store.commit/action
Maybe instead of throw exception when calling, could perform a check at startup
* Plugins
The plugin model is very simple, just plain import, has some drawbacks like lack of
control of plugins, plugins shares everything so it's diffcult to track.
But make it easy to move any api/components in/out, UI is components so not hard to
move too.
* CSRF
* Read theme and layout from cookie
* SocketIO for delay
* Event
* UUID for Config, config in store, and dynamic config update
* Cache for entity method with keyword not working
* Update README about Celery worker and Redis backend setup