Skillfarm module for AllianceAuth.
The Skillfarm Tracker Module for Alliance Auth tracks skill queues, sends notifications if skills finished and highlights them, making skill management easier for Skillfarms.
Features
- Graphical Design
- Characters Overview
- Skillfarm Information Sheet
- Filtered Skill Queue
- Filtered Skills
- Highlight finished Skills
- No Active Training hint
- Filter Skills for each Character
- Notification System
- Enable/Disable Characters
Installation
[!NOTE]
AA Skillfarm needs at least Alliance Auth v4.0.0
Please make sure to update your Alliance Auth before you install this APP
Step 0 - Check dependencies are installed
Step 1 - Install the Package
Make sure you're in your virtual environment (venv) of your Alliance Auth then install the pakage.
pip install aa-skillfarm
Step 2 - Configure Alliance Auth
Configure your Alliance Auth settings (local.py
) as follows:
- Add
'skillfarm',
to INSTALLED_APPS
Step 3 - Add the Scheduled Tasks
To set up the Scheduled Tasks add following code to your local.py
CELERYBEAT_SCHEDULE["skillfarm_update_all_skillfarm"] = {
"task": "skillfarm.tasks.update_all_skillfarm",
"schedule": crontab(minute=0, hour="*/1"),
}
CELERYBEAT_SCHEDULE["skillfarm_check_skillfarm_notifications"] = {
"task": "skillfarm.tasks.check_skillfarm_notifications",
"schedule": crontab(minute=0, hour="*/12"),
}
Step 4 - Migration to AA
python manage.py collectstatic
python manage.py migrate
Step 5 - Setting up Permissions
With the Following IDs you can set up the permissions for the Skillfarm
ID | Description | |
---|
basic_access | Can access the Skillfarm module | All Members with the Permission can access the Skillfarm. |
corp_access | Has access to all characters in the corporation. | Can see all Skillfarm Characters from own Corporation. |
admin_access | Has access to all characters | Can see all Skillfarm Characters. |
Step 6 - (Optional) Setting up Compatibilies
The Following Settings can be setting up in the local.py
Setting Name | Descriptioon | Default |
---|
SKILLFARM_APP_NAME | Set the name of the APP | "Skillfarm" |
SKILLFARM_LOGGER_USE | Set to use own Logger File True/False | False |
SKILLFARM_STALE_STATUS | Set the Stale Status for Skillfarm Character in hours | 3 |
SKILLFARM_NOTIFICATION_COOLDOWN | Number of days to wait before resending a notification | 3 |
If you set up SKILLFARM_LOGGER_USE to True
you need to add the following code below:
LOGGING_SKILLFARM = {
"handlers": {
"skillfarm_file": {
"level": "INFO",
"class": "logging.handlers.RotatingFileHandler",
"filename": os.path.join(BASE_DIR, "log/skillfarm.log"),
"formatter": "verbose",
"maxBytes": 1024 * 1024 * 5,
"backupCount": 5,
},
},
"loggers": {
"skillfarm": {
"handlers": ["skillfarm_file", "console"],
"level": "INFO",
},
},
}
LOGGING["handlers"].update(LOGGING_SKILLFARM["handlers"])
LOGGING["loggers"].update(LOGGING_SKILLFARM["loggers"])
Highlights
[!NOTE]
Contributing
You want to improve the project?
Just Make a Pull Request with the Guidelines.
We Using pre-commit