Open kdmccormick opened 2 years ago
I like the fact that you are making a list of all the weird, non-intuitive things that you stumble upon and that I never think of because I have forgotten how strange they are :wink:
The best way to address this issue is probably to write a "Plugin developer guide". By describing step-by-step what a plugin developer needs to do, we'll automatically discover most of the weird stuff.
Sounds good! I'll make this a subtask within a greater Plugin Developer Guide task.
Context
When writing my CourseGraph plugin, I found that in order to correctly write and debug my plugin's patch files and templates, I needed to understand the significance of the files in
$(tutor config printroot)
.Tutor docs do a great job of describing that
./config.yml
is used as input to generate./env
, but I don't think they described the other folders (./data
,./volumes
) nor the internal structure of./env
.In particular, I it took me a while to find out that:
$(tutor config printroot)/env/<mode>
.../../data/<service>
, that resolves to$(tutor config printroot)/data/<service>
.$(tutor config printroot)/env/plugins
Acceptance
After the Plugin API v1 is specified, ensure there are docs explaining the structure of
$(tutor config printroot)
. Should be part of the plugin developer guide.