AI-screening is a Drupal project made to screen AI solutions. It screens in 3 categories "can we" (complexity and uncertanty), "will we" (ethics) and "may we" (GDPR and AI act). The projects is inatially based on the need to quickly, easy and using the same questions throughout the muncipality to screen new AI projects. This is needed due to the speed AI projects develop and enter our work, to make sure that the projects meets compliance and rules. Projects that clears the screening can then move on to the next level of risk-handling, and more work being done to make sure that the project can be used in the desired usecases.
Motivation for creating this project:
- need for screening of AI projects before they are used
- need for same screening done in the whole muncipality
- need for a way to communicate about the risks of taken in an AI project
A Project has one or more Tracks each of which in turn has one or more Tools:
---
title: AI Screening classes
---
classDiagram
Tool --> Track
Track --> Project
class Project {
%% string title
}
Tool --> WebformSubmission
Run the following commands to set up the site a new. This will start containers and run composer install, add a settings.php file and run site-install.
task site-install
When the installation is completed, that admin user is created and the password for logging in the outputted. If you
forget the password, use drush user:login
command to get a one-time-login URL (note: the URI here only works if
you are using Traefik and ITK-dev docker setup).
To add fixtures to the site two tasks are provided.
Applying fixtures will delete all existing content on the site
task apply-fixtures
Fixtures are grouped to allow only for certain fixtures to be loaded. The "base" group holds only a minimum of content fixtures for the base functionality of the site to work out of the box. Other fixtures add example content.
task apply-fixtures -- --groups=base,user
task drush -- user:login
See ai_screening/README.md for more settings.
Run
task site-update
to update the site.
If you are using out itkdev-docker-compose
simple use the command below to åbne the site in you default browser.
open $(task site-url)
task drush -- user:login
Export config created from drupal:
task drush -- config:export
Import config from config files:
task drush -- config:import
task compose -- exec phpfpm composer install
task compose -- exec phpfpm composer normalize
docker compose exec phpfpm composer install
docker compose exec phpfpm composer coding-standards-apply/phpcs
docker compose exec phpfpm composer coding-standards-check/phpcs
docker compose exec phpfpm composer install
docker compose exec phpfpm composer coding-standards-apply/twig-cs-fixer
docker compose exec phpfpm composer coding-standards-check/twig-cs-fixer
docker compose exec phpfpm composer install
docker compose exec phpfpm composer code-analysis
docker run --rm --volume "$PWD:/md" itkdev/markdownlint $(git ls-files *.md) --fix
docker run --rm --volume "$PWD:/md" itkdev/markdownlint $(git ls-files *.md)
docker run --rm --volume "$PWD:/md" itkdev/markdownlint $(git ls-files *.md) --fix
docker run --rm --volume "$PWD:/md" itkdev/markdownlint $(git ls-files *.md)
task prettier
There is a custom frontend theme installed with common components based on tailwind. See web/themes/custom/itkdev/itkdev_base_theme/README.md for details on how to build and do development on the theme. TL;DR:
task theme-build
Build and watch for changes:
task theme-watch
See Development for details on development.
See Production for details on production deployment.