78 lines
1.2 KiB
ReStructuredText
Executable File
78 lines
1.2 KiB
ReStructuredText
Executable File
Centralized vs. decentralized
|
|
-----------------------------
|
|
|
|
Centralized
|
|
```````````
|
|
|
|
- one central list
|
|
- remote apps that sync with central?
|
|
|
|
Decentralized
|
|
`````````````
|
|
|
|
- sync to URL(s)?
|
|
|
|
- need a network protocol
|
|
- HTTP?
|
|
- SSL?
|
|
|
|
- group-wise sync?
|
|
|
|
- establish master/slaves?
|
|
- easier than coordinated group-update:::
|
|
|
|
map each URL to synch -> the last time updated.
|
|
if (update_period):
|
|
forall URLs: synch
|
|
else if (incoming_update):
|
|
forall (URLs older than incoming update): synch
|
|
|
|
- synch based on hash of updates?
|
|
|
|
- need canonicalizer for text. Use XML?
|
|
- hash algorithm:::
|
|
|
|
SHA-1 of:
|
|
concatenate:
|
|
date (YYYYMMDDhhmmssSSS)
|
|
name
|
|
notes
|
|
|
|
External Feeds
|
|
--------------
|
|
|
|
Item format
|
|
```````````
|
|
|
|
- time started
|
|
- name/description
|
|
- notes
|
|
- category?
|
|
|
|
Pull from
|
|
`````````
|
|
|
|
- needs to be optional
|
|
- standardized input format
|
|
|
|
- easy to parse
|
|
- no errors, false positives
|
|
- restrictive.
|
|
|
|
- flexible input format
|
|
|
|
- matches regex's?
|
|
- map groups to fields
|
|
|
|
Push to
|
|
```````
|
|
|
|
- optional
|
|
- standardized output
|
|
|
|
- cannot be flexible to match output medium
|
|
|
|
- flexible input format
|
|
|
|
- choose fields and format values
|