Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document anatomy of the Tutor root #27

Open
Tracked by #123
kdmccormick opened this issue Jan 28, 2022 · 2 comments
Open
Tracked by #123

Document anatomy of the Tutor root #27

kdmccormick opened this issue Jan 28, 2022 · 2 comments
Labels
documentation Relates to documentation improvements tutor Requires a change to Tutor

Comments

@kdmccormick
Copy link
Member

kdmccormick commented Jan 28, 2022

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:

  • docker-compose commands are executed relative to $(tutor config printroot)/env/<mode>.
  • Following from ^, when a data volume is bind-mounted at ../../data/<service>, that resolves to $(tutor config printroot)/data/<service>.
  • Plugin templates are rendered to $(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.

@regisb
Copy link
Contributor

regisb commented Feb 4, 2022

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 😉

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.

@kdmccormick kdmccormick changed the title As a plugin developer, I want to understand the layout of my Tutor root Document the lay Feb 16, 2022
@kdmccormick kdmccormick changed the title Document the lay Document the layout of of the Tutor config & plugin roots Feb 16, 2022
@kdmccormick
Copy link
Member Author

Sounds good! I'll make this a subtask within a greater Plugin Developer Guide task.

@kdmccormick kdmccormick changed the title Document the layout of of the Tutor config & plugin roots Plugin Dev Guide: Layout of Tutor root Feb 16, 2022
@kdmccormick kdmccormick changed the title Plugin Dev Guide: Layout of Tutor root Plugin Dev Guide: Anatomy of the Tutor root Feb 16, 2022
@kdmccormick kdmccormick changed the title Plugin Dev Guide: Anatomy of the Tutor root Document anatomy of the Tutor root Feb 16, 2022
@kdmccormick kdmccormick added the documentation Relates to documentation improvements label May 31, 2023
@kdmccormick kdmccormick transferred this issue from openedx-unsupported/wg-developer-experience Mar 28, 2024
@kdmccormick kdmccormick added the tutor Requires a change to Tutor label Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Relates to documentation improvements tutor Requires a change to Tutor
Projects
No open projects
Status: Refined
Status: No status
Development

No branches or pull requests

2 participants