TheCoolBlackCat / computing-resources

A searchable directory of curated computing resources to help Educators at all levels.
https://school-resources.netlify.app
MIT License
0 stars 0 forks source link

Define an ontology #4

Open PragmaticPhil opened 3 years ago

PragmaticPhil commented 3 years ago

As the repository of resources grows it becomes more and more important to provide sophisticated search functionality. The key to this is high quality and relevant metadata, and the ideal is that metadata tags are provided by the people who are familiar with the content (rather than bots). We need to prompt people when they are uploading resources - ensure that they enter key data using terms from a library. We therefore need to identify key classification criteria up front.

This issue is to instigate discussion of the need for a controlled vocab and key fields, to be presented to end users when they upload content.
The issue will be closed when a strategy for dealing with this is in place.

TheCoolBlackCat commented 3 years ago

Absolutely. Currently, the search feature is implemented using indexOf, and does a brute-force search using the title and the source/author. Something akin to https://signalstickers.com was what I was looking for in the first instance, where you can filter using the tags specified in the YAML file (e.g. tag:fun robots would find items containing "robots" that are tagged as "fun").

I think the advantage that we would have is maintainers reviewing each PR, which would allow us to enforce a basic standard for authors describing resources accurately and with appropriate tags. Perhaps we could enforce at least 3 unique tags (checked through the form, enforced by contributing/PR guidelines)?

TheCoolBlackCat commented 3 years ago

I think having a set of guidelines for what we’re looking for, and some examples that we author would be really useful.

Also worth noting that I made this quickly, so I’m not wedded to the data structure in the YAML. Currently an individual item looks like this:

- title: A Super Cool Test Resource
   link: https://tdhc.uk
    img: https://placehold.it/800x600
    source: Timothy Clark
    tagline: A really cool resource for university students
    purpose: >
        A personal blog written by a Software Engineer, with some cool stuff on,
        updated not all that often.
    target:
        - University Students
        - Lecturers
    tags:
        - website
        - blog
        - cool
        - test

I think it could probably be greatly simplified, whilst having a better focus on better indexing/searching.

TheCoolBlackCat commented 3 years ago

Latest schema, if you have any feedback:

662638f5f6f8-403e-8d73-91975bd405c4: 
  title: Codecademy
  link: https://www.codecademy.com
  img: https://placehold.it/800x600
  author: Codecademy
  source: TheCoolBlackCat
  tagline: Interactive online tutorials for learning how to code in various languages, along with some more complex Computing topics.
  description: >
    A more detailed description discussing the target audience and what
    they can expect to gain from this material. It could be helpful to provide
    some detail on how long it will take students/teachers to navigate the material
    and how much prior knowledge is required to understand it.
  platforms:
    - Web
    # - Windows
    # - macOS
    # - Linux
    # - iOS
    # - Android
    # - micro:bit
    # - Rapberry Pi
    # - Arduino
  target:
    - teachers
    - adults
    - university
    # - pre-school
    # - early primary
    - late primary
    - early secondary
    - GCSE
    - A-Level
  tags:
    - website
    - online
    - interactive
    - fun
    - intuitive
    - intro
    - coding
    - javascript
    - python

@PragmaticPhil @microbit-magda

TheCoolBlackCat commented 3 years ago

If we wish to allow for a gallery of images demonstrating the resource img could optionally be an array of images, the first being the cover image, and the other available on the expanded view.

TheCoolBlackCat commented 3 years ago

@microbit-giles Good to have you here. Please feel free to contribute to the discussion!