-
Notifications
You must be signed in to change notification settings - Fork 1
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
Crawl statement to feed the Experience Index #167
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5304d59
to
038ff86
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
be05b60
to
1202dad
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost ready to merge!
826c473
to
59c6dbb
Compare
|
7d05a91
to
0b8de57
Compare
edb24f4
to
ed86a12
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated Json attributes to our custom type JsonField. It makes creation, manipulation and serialization, of ExperienceCreate instances easier.
The IRI serves as a unique identifier for experiences, acting as a natural primary key. Enhance developer experience by introducing a new endpoint dedicated to retrieve an experience based on its IRI.
Added: * Client Protocol to declare any custom async HTTP client. * User-friendly interfaces for performing CRUD operations on the XI. * Async HTTP client for the XI. Overall, improve the dx by introducing these clients, designed to be simple. Please note that Delete operations on Experiences and Relations, are not yet implemented in the API.
Added : * Factories to create indexers and datasources. * Mixins class to build LangString inspired dictionary. * Interfaces to create executable ETL indexer classes. * Interface to create LMS client.
Added tools to index from Moodle: * available courses * available modules from a given course These indexers don't handle precisely course and module lifecycle, a deleted course or module from Moodle won't be archived in the XI.
Allow ETL tool to be run from a runner script. This script needs to be connected with a CLI.
Database logs are useful for debuging but not used 90% of the time.
httpx_mock does not mock httpx requests to localhost (due to the non_mocked_hosts) fixture. We need to adapt to it and change the base server URL for xi endpoints we need to mock.
Purpose
Index Moodle Courses and Modules in the Experience Index
Proposal
This PR proposes several important pieces of logic:
Two indexers have been implemented for Moodle:
Courses
, which indexes all available courses in MoodleCourseContent
, which indexes all available modules for a given courseTo do:
runner
script.technical_datatypes
experience attribute.Next steps: