Open cpennington opened 10 years ago
@pmitros: Does that look like about what we'd talked about?
Sounds right. I'd also consider some mention of default plug-ins which come with the XBlock repo as lowest on the totem pole.
The stevedore thing is actually pretty important -- being able to pip install, as an XBlock, with no additional config work.
I guess my thought was just that the default services from XBlock would be provided via the same plugin mechanism.
Sounds right.
Can you fill me in on the conversation? Services are provided by runtimes. Will we require that any runtime use stevedore to extend the set of services? What API will the plugins use to connect to the rest of the runtime, and how do different runtimes support the same API? This seems like adding another level of indirection. What problem is it solving?
@nedbat We need a file system service in XBlocks for a few things I'm doing. We'll need more services in the future. We'd like to, as much as possible, build those services once, and use them in xblock-sdk, edx-platform, and any other runtimes that may appear in the future. Many of the services may also be desired in other parts of the platform.
Runtimes connect xblocks to services, but if all the services have to be independently created by every runtime, and any time a new service is added, the runtime has to be patched, that's a lot of work, overhead, and replication.
@cpennington One more point: I'll bring back an issue we tabled, just so we have it here:
We tabled this and did not get into a technical discussion as to use-cases and arguments both ways, so either of us could be right/wrong, but I'd like to leave this as an issue to discuss when and if we build this out.
(edit: removed names who suggested which version :) )
Handwavey Sketch:
services
kwarg