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

Do we need course-specific schemas? #41

Open
1 task done
chris-steele opened this issue Oct 15, 2024 · 2 comments
Open
1 task done

Do we need course-specific schemas? #41

chris-steele opened this issue Oct 15, 2024 · 2 comments
Assignees
Labels
enhancement New or additional functionality question Discussion is required

Comments

@chris-steele
Copy link
Contributor

Feature description

Is there a compelling argument for compiling schemas on a per-course basis? If we dropped this behaviour we could use the schema cache much more easily: we would only need to recompile schemas when plugins were added or removed from the tool. This would provide a significant performance boost as currently there is a large amount of redundant schema compilation.

Can you work on this feature?

  • I can contribute
@taylortom
Copy link
Contributor

Not sure I understand the angle of this issue - are you suggesting adding a course-specific schema cache? - if so, I think this is a good idea.

Currently we have no schema caching for any content schemas. The reason for this being that each course has its own custom content schemas which vary based on the Adapt plugins installed on that course.

@chris-steele
Copy link
Contributor Author

Yeah I was thinking about a per-course cache initially...

I went on to wonder whether we could scrap the plugin toggle for courses and just enable all plugins for each course and therefore have a single set of compiled schemas. You'd control which plugins were enabled in a given course via the usual _isEnabled property. Bit of a wild departure, I know.

As an aside I really wish we could do something about the JSON being bloated with defaults. Sometimes a single block can be 200+ lines :/

@chris-steele chris-steele self-assigned this Oct 31, 2024
@chris-steele chris-steele moved this from Backlog to Assigned in adapt-authoring: The TODO Board Nov 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New or additional functionality question Discussion is required
Projects
Development

No branches or pull requests

2 participants