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

Crawl statement to feed the Experience Index #167

Merged
merged 8 commits into from
Jan 23, 2024
Merged

Crawl statement to feed the Experience Index #167

merged 8 commits into from
Jan 23, 2024

Commits on Jan 23, 2024

  1. ♻️(api) substitute Json attributes accross all Pydantic models in the XI

    Updated Json attributes to our custom type JsonField.
    It makes creation, manipulation and serialization,
    of ExperienceCreate instances easier.
    lebaudantoine authored and jmaupetit committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    eb95e33 View commit details
    Browse the repository at this point in the history
  2. ✨(api) retrieve experience from its IRI

    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.
    lebaudantoine authored and jmaupetit committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    80f6e3d View commit details
    Browse the repository at this point in the history
  3. ✨(api) facilitate interactions with the XI API

    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.
    lebaudantoine authored and jmaupetit committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    1318e4c View commit details
    Browse the repository at this point in the history
  4. ✨(api) empower developers in creating custom XI indexers

    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.
    lebaudantoine authored and jmaupetit committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    2fb1529 View commit details
    Browse the repository at this point in the history
  5. ✨(api) introduce Moodle indexers

    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.
    lebaudantoine authored and jmaupetit committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    495086e View commit details
    Browse the repository at this point in the history
  6. ✨(api) wrap experience index ETL tool in a script

    Allow ETL tool to be run from a runner script.
    This script needs to be connected with a CLI.
    lebaudantoine authored and jmaupetit committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    539a032 View commit details
    Browse the repository at this point in the history
  7. 🔇(api) ignore DB logs in tests output

    Database logs are useful for debuging but not used 90% of the time.
    jmaupetit committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    0fc739f View commit details
    Browse the repository at this point in the history
  8. ✅(api) fix httpx_mock usage in xi tools

    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.
    jmaupetit committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    a439dd1 View commit details
    Browse the repository at this point in the history