- Python 73.6%
- HTML 15.9%
- JavaScript 4.8%
- Jinja 3.5%
- CSS 2.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| debian | ||
| src/bfh_science_ssp | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| babel.cfg | ||
| LICENSE.md | ||
| MANIFEST.in | ||
| pyproject.toml | ||
| README.md | ||
| sonar-project.properties | ||
| tox.ini | ||
BFH Science Self-Service Portal
bfh-ssp is a web-based self‑service portal developed for users of Bern University of Applied Sciences (BFH), including students, staff, and authorized external users.
The application is built on the CherryPy web framework and provides a centralized interface for accessing and managing IT-related account information and service entitlements.
The portal enables authenticated users to view detailed information about their personal accounts, including access levels to various university networks and applications. It also provides transparency into allocated storage, infrastructure, and computing resources, allowing users to understand which resources are available to them.
The application is designed to integrate with existing BFH identity management, authorization, and backend systems. It acts as a secure presentation and request layer rather than a standalone identity or resource management solution.
bfh-ssp is intended for deployment within BFH-managed environments and is not designed as a general-purpose self-service portal.
Install from Git source
The following steps explain how to install BFH Science Self-Service Portal from Git Source.
1. Install Dependencies
apt update
apt install python3.13-venv
2. Setup Virtual Environment
cd /srv/ssp-test.bfh.info
python3 -m venv bfh-ssp
source /srv/ssp-test.bfh.info/bfh-ssp/bin/activate
3. Install BFH SSP Application
pip install git+https://gitlab.com/ikus-soft/bfh-ssp
4. Verify Installation
bfh-ssp --help
5. Minimal Configuration
Place your configuration in /etc/bfh-ssp/bfh-ssp.conf.
Create log folder:
mkdir /srv/ssp-test.bfh.info/log/bfh-ssp
Create minimal configuration file.
session-dir=/tmp
log-file=/srv/ssp-test.bfh.info/log/bfh-ssp/server.log
#
# Command to executes
#
new-storage-cmd=echo Storage $SSP_STORAGE_NAME for user $SSP_USER_USERNAME failed to be created with success...; exit 1
enable-openstack-cmd=echo OpenStack access for user $SSP_USER_USERNAME as been enabled with success...
replace-ssh-key-cmd=echo SSH Public Key for user $SSP_USER_USERNAME has been replaced successfully with $SSP_SSH_KEY !
#
# OpenStack config
#
openstack-auth-url=https://keystone.admin.openstack.bfh.hosting:5000/v3
openstack-username=bfh-ssp
openstack-password=CHANGEME
#
# Email server
#
smtp-server=localhost:25
smtp-from=ssp@bfh.ch
#
# LDAP config
#
ldap-uri=ldaps://ldap.bfh.info:636
ldap-base-dn=dc=bfh
ldap-user-filter=(objectClass=posixAccount)
ldap-group-filter=(objectClass=posixGroup)
ldap-group-attribute=memberUid
5. Create Systemd Service
Create the service file /etc/systemd/system/bfh-ssp.service:
[Unit]
Description=BFH SSP Application
After=network.target
Wants=network.target
[Service]
Type=simple
WorkingDirectory=/srv/ssp-test.bfh.info
Environment=PATH=/srv/ssp-test.bfh.info/bin
ExecStart=/srv/ssp-test.bfh.info/bfh-ssp/bin/bfh-ssp
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
6. Enable and Start Service
systemctl daemon-reload
systemctl enable bfh-ssp.service
systemctl start bfh-ssp.service
Usage
Once installed, you may start the application with default settings.
bfh-ssp
You may also customize more option when starting the application. To get a list of options available execute:
bfh-ssp --help
Translation
Reference http://babel.edgewall.org/wiki/Documentation/setup.html
BFH Science Self-Service Portal may be translated using .po files. This section describe briefly
how to translate the application. It's not a complete instruction set, it's merely a reminder.
Extract the strings to be translated:
tox -e babel_extract
Create a new translation:
tox -e babel_init -- --locale fr
Update an existing translation:
tox -e babel_update -- --locale fr
Compile catalog
tox -e babel_compile