Skip to content

Workflows

Rüdiger Beck edited this page Nov 15, 2023 · 18 revisions

Workflow of synchronisation user files

The figure below shows the user workflow (since 13.1.2017):

Workflow

And the complete workflow with services using AD:

Workflow

Step 0) Export the list of students using you School Administration Software (Schulverwaltungsprogramm)

  • Do NOT edit or modify the exported file!!!

Step 1A) Bring your file on the server (Cyan in the figure) and

There are 3 diffent ways (from top down in the figure)

  1. Upload with Webui + Human Filter (Webui)
  • The Human filter allows selections and changes in order of columns
  • Webui does the following:
    • Read file in RAM
    • Use Human Filter:
      • select columns (Class, Surname, Firstname, Birthdate und Unid(optional), Wishlogin(optional))
      • select custom columns (this is s future feature)
      • change order of columns
      • NO modifications of file-lines
      • No encoding change
    • Temporary save the file
  1. Upload with Webui
  • Temporary save the file
  1. Linux CLI
  • Copy the file temporary on the server (i.e. using scp)

Now you have the registered file on the server.

Step 1B) Register the file (Magenta in the figure)

  • Register the file with sophomorix-newfile schule.students.csv (see next step 1B)

Now you have the registered file on the server (UTF8 encoded).

Step 2) Check the registered files (Dark Green in the figure)

This is done with the command:

sophomorix-check

Doing:

  • Reading users and other Data from AD (into RAM)
  • Recoding the files to UTF8
  • Plausibility tests
  • Finding users that exist already -> changes to sophomorix.update
  • Adding users to add to sophomorix.add
  • Adding users that can be deleted permanently to sophomorix.kill
  • NOTHING is changed in AD/filesystem during this step

Step 3) Update the server (AD, Filesystem, ...)

This is done with the following commands:

  • sophomorix-add creates users from the file sophomorix.add
  • sophomorix-update updates existing users from the file sophomorix.update
  • sophomorix-kill removes users from the file sophomorix.kill permanently

Workflow of user status

The following user status exist:

Worflow

Automatic status

are handled by sophomorix-add and sophomorix-update (Yellow arrows):

Creating users:

Status U

A user from files/–injectline and created by sophomorix-add

Status S

A user created with the option –injectline <File>:<Line>.

Missing users in files or given with option –injectline:

Status T

A user that is not anymore in files/–injectline will be set my sophomorix-check/sophomorix-update to status T(tolerated). Logins are still allowed.

Status D

A user that is not anymore in files/–injectline will be set after the configurable toleration time to status D(deactivation). Logins are not allowed anymore.

Status R

A user that is not anymore in files/–injectline and has the status T will be set after the configurable deactivation time to status R(removable). Th user can be deleted with sophomorix-kill.

Reemerging users in files or given with option –injectline:

Status A

Reemerging users are activated to status A.

Manual status

are handled by sophomorix-user (Cyan arrows):

Enabling a user

sophomorix-user -u <user> -E enables a user.

To activate a user temporarily (sophomorix-check will tolerate him)

Locking a user

sophomorix-user -u <user> -L locks a user.

The user remains in the workflow, is tolerated, locked and killed, but NOT activated.

This can be as a penalty measure for a user. The user will be deleted if forgotten

Deleting a user

sophomorix-user -u <user> -K marks a user as killable.

The user remains in this state, until killed by sophomorix-kill. He is not going to be activated by sophomorix-check/sophomorix-update

This can be used to delete a user.

Freezing a user

sophomorix-user -u <user> -F freezes a user account.

The user remains in that state. This can be used to disable u user that will be coming back any time.

Keep a user permanently

sophomorix-user -u <user> -P makes a user account permanent.

This can be used for a user that leaves the school, but still needs it account.