Project

General

Profile

« Previous | Next » 

Revision 34bef607

Added by Marc Dequènes almost 14 years ago

  • ID 34bef607d2fb02b95306234d4e8fd03d7450fa92

[evol] cleanup and preliminary work on the Postman (and Needle-ization)

View differences:

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