Revision 34bef607
Added by Marc Dequènes almost 14 years ago
- ID 34bef607d2fb02b95306234d4e8fd03d7450fa92
IDEAS | ||
---|---|---|
|
||
all bots:
|
||
- API:
|
||
* list manipulators:
|
||
+ /? -> search(<criterias>)
|
||
+ /+ -> create(<data>)
|
||
+ /- -> delete(<name>)
|
||
* node def:
|
||
+ name
|
||
+ array of names
|
||
+ regex: matching names
|
||
+ nil: method_missing-like catchall
|
||
* client API:
|
||
+ exists?
|
||
+ call
|
||
+ [<name>]: sub-node
|
||
* define_interface:
|
||
+ support list/ranges/regex for version and define several
|
||
supported API a client could choose between
|
||
- code to share for I18n:
|
||
def prefered_language(available_languages)
|
||
lang_chooser = HTTPHeaders::AcceptLanguage.parse(self.preferredLanguage)
|
||
return nil if lang_chooser.nil?
|
||
ordered_list = lang_chooser.reduce(available_languages)
|
||
ordered_list.empty? ? nil : ordered_list.first.range
|
||
end
|
||
- leaf node feature: declare a node as leaf and pass all other node elements as parameters
|
||
|
||
Clerk:
|
||
- API:
|
||
/Command/* -> execute a command, each part being a node element:
|
||
+ needs leaf node feature
|
||
+ how to handle refs? (like in "DO SOMETHING FROM @1 TO @2")
|
||
preserving refs and giving objects via a parameter Hash seems a good solution
|
||
is the leaf node feature really needed?
|
||
/Batch(<script>, <parameters>) -> store a batch of commands (array of strings? array
|
||
of arrays of strings?) and parameters (hash), execute them, and later send a report
|
||
to the sender bot
|
||
- command description useful for shell-based IHM
|
||
|
||
Postman:
|
||
- process schema (without intermediate bot for command processing):
|
||
|
||
... | ... | |
|
||
each queue is an internal channel, each processor is a task.
|
||
|
||
API (all bots):
|
||
- list manipulators:
|
||
+ /? -> search(<criterias>)
|
||
+ /+ -> create(<data>)
|
||
+ /- -> delete(<name>)
|
||
|
||
MapMaker:
|
||
- API:
|
||
/Services/DNS -> named info
|
||
... | ... | |
/alter(<recipe>) -> recipe is a DSL-like list of commands
|
||
- diag functions for services
|
||
- distinguish presence of signed zone and which zone is really advertised by DNS
|
||
- detect available backends instead of having an enum in the config schema
|
||
|
||
Guard (auth bot):
|
||
- process for delegating auth (needs polish):
|
||
... | ... | |
channels, so it is impossible to unsure a single call
|
||
- work on sending notif to peers through special channels
|
||
|
||
API:
|
||
- node def:
|
||
+ name
|
||
+ array of names
|
||
+ regex: matching names
|
||
+ nil: method_missing-like catchall
|
||
- client API:
|
||
+ exists?
|
||
+ call
|
||
+ [<name>]: sub-node
|
||
- define_interface:
|
||
support list/ranges/regex for version and define several
|
||
supported API a client could choose between
|
||
|
||
Channels:
|
||
- reorganize channel names
|
||
- enforce msg[:from] with 'task/<task-name>' in send_notification
|
Also available in: Unified diff
[evol] cleanup and preliminary work on the Postman (and Needle-ization)