Overview
School settings provide advanced configuration options for each institution in Athena ERP. These settings control institutional identity, Colombian compliance features, branding, security policies, and integration parameters.Permissions required:
- View: Any user can view their school’s information via
/schools/me - Edit:
config:institutionorwrite:all(typically Rector or Superadmin)
Settings Structure
Each school has an associatedSchoolSettings record that stores configuration as structured JSON and text fields.
Core Settings Fields
| Field | Type | Description |
|---|---|---|
school_id | UUID | Primary key, links to school |
pei_summary | Text | Institutional Educational Project summary |
simat_settings | JSON | Colombian SIMAT integration config |
branding_settings | JSON | Visual identity and uploaded files |
security_settings | JSON | Access control and security policies |
habeas_data_text | Text | Privacy and data protection statement |
updated_at | Timestamp | Last modification time |
/home/daytona/workspace/source/athena-api/app/models/school.py:24
Viewing School Settings
School administrators can view their institution’s complete configuration.Access Current School Info
/home/daytona/workspace/source/athena-api/app/routers/schools.py:47
Superadmins can access any school’s settings via
/admin/schools/{school_id} endpoint.Updating School Settings
Settings can be updated partially without affecting unchanged fields.Settings Upsert Logic
If the school doesn’t have settings yet, the system automatically creates them:
- Checks for existing
SchoolSettingsrecord - Creates new record if missing
- Updates provided fields
- Preserves unchanged fields
/home/daytona/workspace/source/athena-api/app/routers/schools.py:39/home/daytona/workspace/source/athena-api/app/routers/schools.py:54
Institutional Educational Project (PEI)
The PEI is a fundamental document required by Colombian law (Law 115 of 1994).PEI Summary Field
- Store key elements of the institutional educational project
- Reference in official documentation
- Display on school portal and reports
- Compliance with MEN requirements
- Keep summary concise (2-3 paragraphs)
- Highlight mission, vision, and values
- Update annually or when institutional direction changes
- Include educational model or pedagogical approach
SIMAT Integration Settings
Configuration for Colombian SIMAT (Sistema Integrado de Matrícula) integration.SIMAT Settings Structure
Configuration Fields
Institution Code
Institution Code
The unique 12-digit SIMAT identifier assigned by the Ministry of Education. Format:
DDMMIIIIIICC where:- DD: Department code
- MM: Municipality code
- IIIIII: Institution sequential
- CC: Check digits
DANE Code
DANE Code
Educational establishment DANE code. Format:
DDMMMMMMMMMM (department + municipality + sequence).Institution Type
Institution Type
oficial: Public schoolno_oficial: Private schoolregimen_especial: Special regime
Calendar Type
Calendar Type
A: Traditional calendar (Feb-Nov)B: International calendar (Aug-Jun)C: Special flexible calendar
Updating SIMAT Settings
Branding Settings
Customize the school’s visual identity and manage institutional files.Branding Structure
Uploading School Media
The system provides a dedicated endpoint for uploading institutional files.Prepare File
Supported file types vary by folder:
- Logos: PNG, JPG, JPEG (max 5MB)
- Other folders: PNG, JPG, JPEG, PDF (max 15MB)
Upload to R2
- Validates file type and size
- Sanitizes filename
- Uploads to Cloudflare R2 storage
- Updates branding settings automatically
/home/daytona/workspace/source/athena-api/app/routers/schools.py:74
Logo Management
When uploading to thelogos folder, the system automatically sets the logo as the primary:
- Student reports and certificates
- Email communications
- Portal header
- Official documents
File Organization
Organize files by folder:- logos: School emblems and visual identity
- documents: PEI, manual de convivencia, resolutions
- media: Photos, videos, promotional materials
- templates: Document templates for reports
/home/daytona/workspace/source/athena-api/app/routers/schools.py:82
Security Settings
Configure access control and security policies.Security Settings Structure
Security Configuration
Password Policy
Password Policy
Define password requirements for school users:
- Minimum length
- Character requirements (uppercase, numbers, special)
- Password expiration period
Session Management
Session Management
Control user session behavior:
- Timeout period after inactivity
- Maximum concurrent sessions
- Remember me duration
Login Security
Login Security
Protect against unauthorized access:
- Maximum failed login attempts
- Account lockout duration
- IP-based restrictions
Two-Factor Authentication
Two-Factor Authentication
Require 2FA for sensitive roles:
- Rector (full admin access)
- Secretary (student data access)
- Coordinator (discipline records)
Some security features may require additional configuration in Supabase Auth settings.
Habeas Data Compliance
Colombian Law 1581 of 2012 requires clear data protection policies.Habeas Data Text
Best Practices
Use Clear Language
Write in simple Spanish accessible to parents and students. Avoid complex legal jargon.
Include Required Elements
- Purpose of data collection
- Types of data collected
- Rights of data subjects
- Contact information for inquiries
- Data retention period
Display Prominently
Show the habeas data statement:
- During enrollment
- On student/guardian portals
- In printed documentation
- Annual reminders
Common Configuration Workflows
Initial School Setup
Updating Branding
Configuring Security
Settings Inheritance
Some settings apply hierarchically:- Platform Defaults: Base configuration in code
- School Settings: Override defaults for specific institution
- User Preferences: Individual user customizations
- Platform default: 60 minutes
- School setting: 30 minutes (more secure)
- Final value: 30 minutes (school setting wins)
Troubleshooting
File Upload Fails
File Upload Fails
Common causes:
- File exceeds size limit
- Unsupported file type
- Invalid folder name
- R2 connection issues
Settings Not Saving
Settings Not Saving
Verify:
- User has
config:institutionpermission - JSON structure is valid
- Field names match schema exactly
- No conflicting values (e.g., negative numbers)
Logo Not Displaying
Logo Not Displaying
Ensure:
- File uploaded successfully to R2
logo_r2_object_keyset in branding settings- R2 bucket is publicly accessible
- File exists at the specified key
SIMAT Export Errors
SIMAT Export Errors
Check:
- Institution code is exactly 12 digits
- DANE code is valid
- Calendar type matches actual school calendar
enabledflag is true
Related Resources
School Management
Create and manage schools
SIMAT Compliance
Colombian SIMAT integration guide
Habeas Data
Data protection compliance
Cloudflare R2
File storage architecture