← Back to team overview

quickly-talk team mailing list archive

Re: Fwd: Fwd: Proposal: Abstract hosting service from project templates.

 

Le 13/08/2012 12:08, tony byrne a écrit :
Hi Didier
  Sorry to have annoyed you with my argument to keep -t. You said you
would remove it because it is not used but I use it. I suppose I
should have looked for the alternative instead of trying to keep an
unpopular and hard to maintain command. At no stage did I intend to
rant, I expressed myself badly if I could be read that way. :(
Hey Tony,
no worry at all! :)
Keep proposing ideas, as I'm saying below, I love seeing some revival around the Quickly project and get people motivated, passionated, and opinionated about what the project should do! I'm sure we can all together come to an awesome v2/reboot/world domination/next-gen project ;)


  I suppose this is all consistent with the difference between quickly
original's design, all code and no template, and my preferred project
model, less code and include configuration files. This is why, for me,
quickly add persistence, is an important option.

I really like to see this list living and that we can all together discuss about what the future of Quickly can be. All of those influences greatly the project and we can all come together to a better solution, still keeping in mind on the Quickly original design and strong focus: opportunistic developers, try to KISS their workflow as much as possible. :)

By my nature I looked into the template files (configuration) for
extending instead of the core code. You say that the virtual builtin
template can provide these any template commands.  But builtincommands
look like an internal quickly core module. How does a user (me) extend
it without, in effect, forking quickly on my machine ?

Indeed, this is what builtins is about today: a weird mix of a virtual template (as it's really considered as a template from the core perspective), but having its internal command implementation using a special treatment (basically, contrary to all other templates, it doesn't subprocess.call() but directly import the python module and hook in to the function).

In a nutshell: I want to remove that discrepancy. From the post_create/hook discussion on the other thread (as they are related, we should just continue discussing on this one maybe?) emerged that idea: in the Quickly reboot, I think we should just treat builtins as any other template, and implement it that way, with commands following the same schemas. So, with the extension system I proposed on the other thread, you can add any command to ~/.config/quickly/templates/builtins/ and that would be proposed in all context (still having the possibility to define if a command should be shown inside a project, outside a project, or both).

The only differences with a real template are:
- there will be no create command in it, so you can't create a project directly from the builtins template - the commands (with the context of outside/in project) will always be proposed/executed in any project, regardless of the current template. (maybe, we can even add a meta tag in a template.py file defining a class similar from the commands one to specify that in a generic way).

That's why we should think as well renaming it to something else like "all" as it won't be a "builtins" anymore :)

What do you think about that plan? Does it addresses your use case?
Again, I love this idea because it introduces coherence between concepts that were separated before, and help on making the whole thing testable and extensible in a controlled and streamlined fashion.

Didier


References