Basic sketch of user account representations #50

Merged
mih merged 1 commit from flatentry into main 2025-05-07 10:39:35 +00:00
9 changed files with 105 additions and 11 deletions

View file

@ -103,13 +103,6 @@ enums:
description: An person with no formal direct affiliation with the INM7. description: An person with no formal direct affiliation with the INM7.
slots: slots:
user_classifications:
title: Organization type
description: >-
Type of an organization.
range: UserClassification
multivalued: true
allocated_software_licenses: allocated_software_licenses:
title: License allocation title: License allocation
description: >- description: >-
@ -129,7 +122,54 @@ slots:
Timepoint at which the subject ends or ended. Timepoint at which the subject ends or ended.
range: W3CISO8601 range: W3CISO8601
juseless_account:
title: Juseless account
description: Assigned account on the Juseless system
range: JuselessAccount
requested_juseless_account_name:
title: Preferred user name
description: Name of a (to be created) account
range: string
# guestimated from looking at juseless /home
pattern: '[a-z]+[a-z1-9.]+'
requested_juseless_group_membership:
title: Juseless group membership
description: Groups on the Juseless system this user should become member of.
range: JuselessGroup
multivalued: true
user_classifications:
title: Organization type
description: >-
Type of an organization.
range: UserClassification
multivalued: true
classes: classes:
Account:
is_a: Thing
mixins:
- CurationAid
description: >-
Authorization to access resources on a system.
slots:
- name
JuselessAccount:
is_a: Account
description: User account on the Juseless system
slots:
- member_of
slot_usage:
member_of:
range: JuselessGroup
JuselessGroup:
is_a: Account
description: Unix group on the Juseless system
User: User:
class_uri: inm7fu:User class_uri: inm7fu:User
is_a: Person is_a: Person
@ -137,12 +177,16 @@ classes:
A person that is a user of the INM7 IT infrastructure A person that is a user of the INM7 IT infrastructure
slots: slots:
# on top of the properties from `Person` # on top of the properties from `Person`
- start_date
- end_date
- allocated_software_licenses - allocated_software_licenses
- end_date
- juseless_account
- requested_juseless_account_name
- requested_juseless_group_membership
- start_date
- user_classifications - user_classifications
slot_usage: slot_usage:
start_date: start_date:
description: When this person starts being a user. description: When this person starts being a user.
end_date: end_date:
description: When this person is expected to stop being a user. description: When this person is expected to stop being a user.

View file

@ -0,0 +1,9 @@
{
"pid": "inm7:juseless-account/zorro",
"schema_type": "inm7fb:JuselessAccount",
"member_of": [
"inm7:juseless-group/tango",
"inm7:juseless-group/dressedinblack"
],
"@type": "JuselessAccount"
}

View file

@ -0,0 +1,4 @@
pid: inm7:juseless-account/zorro
member_of:
- inm7:juseless-group/tango
- inm7:juseless-group/dressedinblack

View file

@ -0,0 +1,6 @@
{
"pid": "inm7:juseless-group/tango",
"schema_type": "inm7fb:JuselessGroup",
"name": "tango",
"@type": "JuselessGroup"
}

View file

@ -0,0 +1,2 @@
pid: inm7:juseless-group/tango
name: tango

View file

@ -13,11 +13,17 @@
"dontango@hhu.de" "dontango@hhu.de"
], ],
"orcid": "0000-0001-0000-0000", "orcid": "0000-0001-0000-0000",
"start_date": "2019-04-01",
"end_date": "2073-12-31",
"allocated_software_licenses": [ "allocated_software_licenses": [
"forklift" "forklift"
], ],
"end_date": "2073-12-31",
"juseless_account": "inm7:juseless-account/zorro",
"requested_juseless_account_name": "eldiabolo",
"requested_juseless_group_membership": [
"inm7:juseless-group/tango",
"inm7:juseless-group/dressedinblack"
],
"start_date": "2019-04-01",
"user_classifications": [ "user_classifications": [
"inm7_fzj_employee", "inm7_fzj_employee",
"inm7_hhu_employee" "inm7_hhu_employee"

View file

@ -16,3 +16,8 @@ user_classifications:
- inm7_hhu_employee - inm7_hhu_employee
start_date: "2019-04-01" start_date: "2019-04-01"
end_date: "2073-12-31" end_date: "2073-12-31"
requested_juseless_account_name: eldiabolo
juseless_account: inm7:juseless-account/zorro
requested_juseless_group_membership:
- inm7:juseless-group/tango
- inm7:juseless-group/dressedinblack

View file

@ -0,0 +1,9 @@
schema: src/flat-users/unreleased.yaml
target_class: JuselessAccount
data_sources:
- src/flat-users/unreleased/examples/JuselessAccount-typical.yaml
plugins:
JsonschemaValidationPlugin:
closed: true
include_range_class_descendants: false
RecommendedSlotsPlugin:

View file

@ -0,0 +1,9 @@
schema: src/flat-users/unreleased.yaml
target_class: JuselessGroup
data_sources:
- src/flat-users/unreleased/examples/JuselessGroup-typical.yaml
plugins:
JsonschemaValidationPlugin:
closed: true
include_range_class_descendants: false
RecommendedSlotsPlugin: