Skip to content
Snippets Groups Projects
Verified Commit e3b9f89e authored by Jonathan Weth's avatar Jonathan Weth :keyboard: Committed by Nik | Klampfradler
Browse files

[Docs] Merge handbook content from AlekSIS-Handbook

parent 2c46524d
No related branches found
No related tags found
1 merge request!263Add docs
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Setting up a digital class register with AlekSIS-App-Alsijil
============================================================
.. toctree::
:glob:
*
Concept of Alsijil and overview about functionality
===================================================
Alsijil (Arabic for class register) is a privacy-compliant online class register solution.
It is not simply the digital equivalent of a paper class book although elements are adopted
for easier orientation and smoother transition for teachers. For example, there is a weekly
view of all lessons and a list of all the students in the class. Lesson content,
notes about the student and also remarks about the learning group can be entered.
However, the application uses the possibilities and therefore the advantages of a digital application.
The student lists do not have to be filled in by the class teacher,
but are provided automatically by the system. The timetable is also already stored.
Documents for general instruction of the students can also be stored centrally for reference.
The numbers of absences and tardies are automatically summed up
and missing entries can be displayed at the touch of a button.
In an overview, Alsijil currently provides the following functionality:
- Direct link to the lesson currently taking place
- Overview with all lessons of one week
+ Navigation between lessons
+ Filtering according to learning groups/courses and teachers
- List of learning groups
+ List of students with current statistics (absences, lateness, etc.)
+ printing of the group-specific class register
- "My overview" for pupils with an overview of "personal notes" such as omissions, lateness, remarks
- "My overview" for teachers with a list of their own lessons over the last four weeks and the following filtering options:
+ Specifying the period
+ Restriction to lessons with or without entry for lesson content
+ Restriction to certain groups
+ Restriction to certain lesson contents
- Only for teachers: Listing of pupils from their own lessons with totalled absences and lateness as well as other remarks
- Only for teachers with special rights: Listing of all lessons of a specific class in preparation for printing the class register
- For administrators only: Definition of types of excuses, e.g. for absences due to school-related reasons
- For administrators only: Determination of types of remark, e.g. HA for homework forgotten
- Only for administrators: Assignment of special group roles, e.g. for the evaluation of class book entries or access to the print function
- Only for administrators: Creating group roles
Basic data concepts
===================
Relation to Chronos
-------------------
The class register uses the data from the Chronos app. This means that timetables with
all current changes such as substitutions, events and exams can be found directly in the class book.
Even basic settings such as lesson times, holidays and public holidays do not have to be
entered separately in the class book, as they are managed centrally by Chronos.
Concept of lesson documentations
--------------------------------
Three input fields are provided for the lesson content:
1. **Lesson topic:** The content of the lesson is to be noted here, if necessary with information on the material used.
2. **Homework:** In this field, the teacher can enter the homework for the next lesson.
3. **Group note:** Here, there is space for notes that concern the whole learning group, e.g. instructions, dates, or similar.
Concept of personal notes
-------------------------
Under the tab 'Personal Notes', you will find a student list of the group. The following entries can be made there:
1. **Absent:** This field is not activated by default.
2. **Lateness in minutes**
3. **Excused**
4. **Excuse type:** Several types can be set up for an excuse for absence, e.g. in case a student was absent due to a school event.
5. **Extra marks:** This item is also configurable. A selection field for missing homework or similar would be possible here.
6. **Remarks:**
With the appropriate configuration, the student can directly view the data concerning him or her.
\ No newline at end of file
Defining base data
==================
With sufficient authorisation, two additional menu items appear in the class register menu.
Excuse types
------------
Additional types of excuse for an absence can be created here.
This can be useful if you only want to count certain absences.
For example, if a student is busy at a school event and misses lessons,
this may not be counted as a normal absence.
Extra marks
-----------
Some remarks are repeated over and over again, such as 'Forgot homework'.
In order not to have to write this again and again in the remark field,
additional marks can be set, which then only have to be clicked on in the class register.
Group roles
-----------
To manage additional rights to the data in the class register, group roles can be defined here.
\ No newline at end of file
System-wide settings for the digital class register
===================================================
The behavior of the digital class register can be customised
under `Admin → Configuration → Class Register`. The section contains the
following preferences:
* **Block adding personal notes for cancelled lessons**: If this option is
activated, teachers will not be able to add personal notes for cancelled
lessons.
* **Allow users to view their own personal notes:** With this option, the school management
can control whether students should be able to view their own personal notes.
* **Allow primary group owners to register future absences for students in their groups**:
This allows owners of the student's primary group (e. g. the class)
to register future absences like doctor's appointments or family celebrations.
* **Allow original teachers to edit their lessons although they are substituted:**
In the case of substitute teaching, absent teachers can be given write-in privileges for the lesson.
* **Carry over data from first lesson period to the following lesson periods in lessons over multiple periods:**
For double (or even more adjacent) lessons, the lesson data from the first lesson period
can be automatically carried over to the following lessons.
* **Carry over personal notes to all following lesson periods on the same day:**
For double (or more adjacent) lessons, the personal notes from the first lesson period
can be automatically carried over to the following lessons.
* **Allow teachers to open lesson periods on the same day and not just at the beginning of the period:**
Teachers can open lessons earlier on the same day and not just at the beginning of the lesson.
* **Allow teachers to add data for lessons in holidays:**
It is possible to allow entering content for lessons during the holidays.
* **Allow group owners to assign group roles to the parents of the group's members:**
With this being activated, group roles like parent representatives can be managed by the class teacher.
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
#
# This file does only contain a selection of the most common options. For a
# full list see the documentation:
# http://www.sphinx-doc.org/en/master/config
# -- Path setup --------------------------------------------------------------
import os
import sys
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import django
sys.path.insert(0, os.path.abspath(".."))
os.environ["DJANGO_SETTINGS_MODULE"] = "aleksis.core.settings"
os.environ["LOCAL_SETTINGS_FILE"] = os.path.abspath(os.path.join("..", "local.cfg"))
django.setup()
# -- Project information -----------------------------------------------------
project = "AlekSIS-App-Alsijil"
copyright = "2019-2022 The AlekSIS team"
author = "The AlekSIS Team"
# The short X.Y version
version = "2.0"
# The full version, including alpha/beta/rc tags
release = "2.0rc8"
# -- General configuration ---------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
"sphinx.ext.autodoc",
"sphinxcontrib_django",
"sphinx_autodoc_typehints",
"sphinx.ext.intersphinx",
"sphinx.ext.viewcode",
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = ".rst"
# The master toctree document.
master_doc = "index"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = None
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_material"
# html_favicon = "../aleksis/core/static/img/aleksis-icon.png"
# html_logo = "../aleksis/core/static/img/aleksis-banner.svg"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
html_theme_options = {
"repo_url": f"https://edugit.org/AlekSIS/official/{project}",
"repo_name": "EduGit",
"repo_type": "gitlab",
"theme_color": "#0d5eaf",
"color_primary": "#0d5eaf",
"color_accent": "#0d5eaf",
"globaltoc_depth": 2,
"globaltoc_collapse": False,
}
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# The default sidebars (for documents that don't match any pattern) are
# defined by theme itself. Builtin themes are using these templates by
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
#
html_sidebars = {
"**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"]
}
# -- Options for HTMLHelp output ---------------------------------------------
# Output file base name for HTML help builder.
htmlhelp_basename = f"{project}doc"
# -- Options for LaTeX output ------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',
# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, f"{project}.tex", f"{project} Documentation", author, "manual"),
]
# -- Options for manual page output ------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [(master_doc, "aleksis", f"{project} Documentation", [author], 1)]
# -- Options for Texinfo output ----------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(
master_doc,
project,
f"{project} Documentation",
author,
project,
"One line description of project.",
"Miscellaneous",
),
]
# -- Options for Epub output -------------------------------------------------
# Bibliographic Dublin Core info.
epub_title = project
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#
# epub_identifier = ''
# A unique identification for the text.
#
# epub_uid = ''
# A list of files that should not be packed into the epub file.
epub_exclude_files = ["search.html"]
# -- Extension configuration -------------------------------------------------
# -- Options for intersphinx extension ---------------------------------------
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
"https://docs.python.org/": None,
"https://docs.djangoproject.com/en/stable": "https://docs.djangoproject.com/en/stable/_objects",
}
.. AlekSIS documentation master file, created by
sphinx-quickstart on Thu Aug 15 10:49:03 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to AlekSIS-App-Alsijil's documentation!
===============================================
.. toctree::
:maxdepth: 2
:caption: Contents:
user/00_index
admin/00_index
dev/00_index
ref/00_index
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build
if "%1" == "" goto help
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
:end
popd
Digital class register with AlekSIS-App-Alsijil
===============================================
.. toctree::
:glob:
*
Overviews about lessons and students
====================================
Week overview
-------------
In the weekly overview, all lessons of the week for the respective user are displayed in a weekly schedule.
Clicking on a lesson takes you to the data for that lesson.
Above the schedule, you can navigate to the previous or following week.
It is also possible to filter the schedule according to certain groups or teachers.
My overview (as student)
------------------------
This menu item provides the student with an overview of the personal notes
such as tardies, absences and remarks that the teacher has entered in the class register.
This enables him/her to quickly check whether excuses still need to be submitted.
My overview (as teacher)
------------------------
This view shows your own hours for the last four weeks.
A filter can be used to adjust the list with regard to period,
missing entries, certain groups or certain lesson contents.
A corresponding symbol in each line immediately shows
whether entries are still missing for the lesson in question.
Individual lessons can be called up from the list to add or change entries.
My groups (for teachers)
---------
With this quick access to your own learning groups,
you can on the one hand access the relevant student lists
and the weekly view of the lessons of this group,
and on the other hand you can print the course-specific class book.
My students
-----------
With this menu item, the teacher receives a list of all students from his/her lesson.
From each entry, you can switch to a detailed view to add specific data.
All lessons
-----------
For the head teacher or the coordinators of certain grades,
this menu item gives them the possibility to see all lessons of a learning group in a list.
By means of a filter, the list can be specified to certain entries.
This makes it possible to call up all lessons with missing entries and
to send a request for completion of the data to the teachers concerned via a button.
Viewing and managing lessons
============================
The lesson documentation can be called up in different ways:
1. **Via 'Current lesson'**: During the current lesson, this is the quickest way to access the lesson documentation.
2. **Via 'Weekly overview'**: This menu item shows all lessons of the current week. Individual lessons can be clicked on to access the lesson documentation.
3. **'My Overview'**: This menu item shows teachers a list of all hours worked in the last weeks. Individual lessons can be called up directly.
The lesson documentation consists of four main parts accessible via tabs:
Tab Lesson Documentation
------------------------
with lesson topic, homework for the next lesson and notes for the learning group
Tab Personal Notes
------------------
with a list of pupils and the possibility to enter tardies, excuses and remarks about the pupil
Tab 'Previous lesson'
---------------------
(if the lesson content of the lesson in question has been entered) with the date and subject of the previous lesson and a list of the pupils absent from that lesson.
Tab 'More'
----------
This tab contains several special items not mentioned before:
* **Changes**: Alsijil tracks all changes made to class register entries. This list shows a log of all these changes.
The data can be entered, changed and saved via the relevant forms. In addition, navigation to the previous or next lesson is possible.
#### Assign Group Roles
This menu item enables the assignment of a previously defined group role to a specific person, e.g. for the evaluation of class book entries or access to the print function.
(Archive) printout
==================
Via the menu item *My Groups*, extensive documentation can be generated for each group.
This class register will be generated as a printable PDF file.
It contains a list of the lessons taught staggered according to timetable periods,
a collection of all the students' personal notes as well as all lesson contents.
An alternative path to printing a class register is via the weekly view.
There, the relevant group can be selected via the filter to print the class book.
\ No newline at end of file
......@@ -52,7 +52,7 @@ aleksis-core = "^2.2"
aleksis-app-chronos = "^2.0rc3"
[tool.poetry.dev-dependencies]
aleksis-builddeps = "^5"
aleksis-builddeps = "^6"
[tool.poetry.plugins."aleksis.app"]
alsijil = "aleksis.apps.alsijil.apps:AlsijilConfig"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment