Skip to main content
Petanque Life
← Back to all features
16

Platform Operations & Cross-Cutting Concerns

61 features · 6 subsystems

Cross-cutting capabilities that affect the entire platform: offline support, print integration, localization beyond language, and operational resilience. These are critical for real-world adoption by federations operating in varied conditions.

Offline & Resilience

F16.01
Planned

Essential for outdoor venues, rural areas, and international competitions with unreliable connectivity.

ID Status Features
F16.01.01 Planned Offline tournament management (draw, score entry, standings — sync when online)
F16.01.02 Planned Offline license verification (cached license data on device)
F16.01.03 Planned Conflict-free data sync (CRDT or last-write-wins with conflict UI)
F16.01.04 Planned Offline check-in at events (QR code scan against cached participant list)
F16.01.05 Planned Background sync with retry and queue management
F16.01.06 Planned Sync status indicator (what's pending, what's synced)
F16.01.07 Planned Graceful degradation (features that work offline vs. require connectivity)
F16.01.08 Planned Manual fallback procedures (paper score sheets that can be digitized later)

Print & Paper Integration

F16.02
Planned

Many venues and officials still rely on paper. The system must bridge digital and paper workflows.

ID Status Features
F16.02.01 Planned Printable draw sheets (formatted for posting at venue)
F16.02.02 Planned Printable bracket posters (knockout/elimination tournaments)
F16.02.03 Planned Printable score sheets (per match, for manual scoring)
F16.02.04 Planned Printable court maps (venue layout with court numbers)
F16.02.05 Planned QR codes on printed documents linking to digital records
F16.02.06 Planned OCR/photo scan of paper score sheets for digital entry
F16.02.07 Planned Printable license cards and certificates
F16.02.08 Planned Printable competition regulations and rules summary
F16.02.09 Planned PDF report generation (results, rankings, financial reports)

Localization & Federation Customization

F16.03
Platform+

Each national federation has different rules, categories, fee structures, and administrative traditions.

ID Status Features
F16.03.01 Planned Configurable competition class registry — each tenant defines its own age/gender classes with: code, name, type (age/gender/open), min/max age, gender filter, ranking eligibility. Examples: Sweden (M/YJ/J/Ö/D/V55/V65), France (Poussin/Benjamin/Minime/Cadet/Junior/Sénior/Vétéran), Spain (Benjamín→Veterano+Sub-23).
F16.03.02 Planned Configurable game format registry — each tenant defines: code, name, players per team, boules per player, mixed gender required. Standard formats (s/d/t/Mxd/Mxt) pre-seeded, tenants can add variants.
F16.03.03 Planned Configurable competition level registry — each tenant defines its levels with: code, name, who can sanction, ranking eligibility, ranking coefficient, required referee grade, venue requirements, sanction deadline, quota. Not hardcoded.
F16.03.04 Planned Configurable fee structure with OrgNode-level components — license fee can be split across multiple OrgNode levels (federation + region + district + insurance). Each level sets its own component. Supports regional price variation.
F16.03.05 Planned Configurable license type registry — each tenant defines its license types with: code, name, competition eligibility, insurance inclusion, age limits, duration (annual/time-limited), medical certificate requirement, renewability.
F16.03.06 Planned Configurable transfer rules — per tenant: transfer window dates, max transfers per season, required approvals (player/old club/new club/federation/district), cross-region extra approval, outstanding debt blocking, quarantine during league.
F16.03.07 Planned Configurable ranking algorithm — per tenant: point scale per level × placement × participant count, validity period (1/2/3 years), weighting across years (Germany: 3×/2×/1×), max competitions counted, separate per class/format/gender.
F16.03.08 Planned Configurable OrgNode hierarchy — per tenant: number of levels (0-3+), type names per level, capabilities per level (can_sanction, can_set_license_price, has_discipline_body, can_issue_licenses).
F16.03.09 Planned Configurable umpire grade registry — per tenant: grade names, count, progression path, playing-umpire allowed per level.
F16.03.10 Planned Configurable discipline rules — per tenant: penalty amounts, suspension rules, who can decide (only federation vs also district).
F16.03.11 Planned Configurable medical requirements — per tenant: medical certificate required (yes/no), at first license only, renewal cycle, attestation sur l'honneur, health certificate for international play.
F16.03.12 Platform+ Multi-language UI (43+ languages — all FIPJP member nations). Implemented (PL-1701): i18n framework with 4 launch languages (en/fr/es/sv), language picker, per-tenant default language, translation management API, completeness reporting. See specs/shared/i18n.md.
F16.03.13 Planned Multi-language content management (rules, news, documents)
F16.03.14 Planned Locale-aware formatting (dates, numbers, currency)
F16.03.15 Planned Right-to-left language support. Implemented (PL-1701): RTL detection and layout mirroring for Arabic, Hebrew, Persian, Urdu via I18nManager (React Native) and dir="rtl" (web).
F16.03.16 Platform+ Tenant-level branding (logo, colors, terminology per federation)
F16.03.17 Planned Federation-specific terminology mapping — each tenant maps generic terms to local equivalents (e.g., "district"→"distrikt"/"Landesverband"/"ligue"/"federación autonómica", "competition class"→"spelklass"/"Spielklasse"/"catégorie", "sanction"→"sanktion"/"Genehmigung"/"homologation")
F16.03.18 Planned Game variant support — Jeu Provençal as separate game variant alongside Pétanque and Sport-Boules. Each variant has its own rules, court dimensions, and competition classes. Configurable per tenant.
F16.03.19 Planned Variable OrgNode depth per branch within tenant — some nations have different hierarchy depth in different regions (Spain: Canary Islands have 3 levels autonomía→insular→club while mainland has 2). System must support non-uniform depth within a single tenant.
F16.03.20 Planned Delegated admin and CMS per OrgNode level — autonomous sub-federations (Spain) need their own branded admin portal view and public CMS website within the parent tenant. Each OrgNode with has_own_admin: true gets a scoped admin dashboard and a separate CMS site.

Data Visibility & Public Access

F16.04
Platform+

Controls what data is publicly visible, visible within a nation, or restricted.

ID Status Features
F16.04.01 Platform Public user role (unauthenticated access to public data)
F16.04.02 Platform+ Per-resource public field configuration
F16.04.03 Planned Global public data: world rankings, calendar, federation directory, rules
F16.04.04 Planned National public data: national rankings, results, club directory
F16.04.05 Planned Player privacy settings (what's visible on public profile)
F16.04.06 Platform Capability-based field visibility (sensitive fields hidden by role)
F16.04.07 Planned Public API for rankings, results, calendar (open data)
F16.04.08 Planned SEO-friendly public pages (for discoverability)

Event Day Contingency

F16.05
Planned

Handling real-world disruptions during competitions.

ID Status Features
F16.05.01 Shipped Weather-triggered tournament pause/cancellation workflow
F16.05.02 Shipped Participant no-show management with automatic draw adjustment
F16.05.03 Shipped Court unavailability handling (reassignment, schedule recalculation)
F16.05.04 Shipped Partial results handling (some rounds completed, tournament cancelled)
F16.05.05 Shipped Refund/credit processing for cancelled events
F16.05.06 Shipped Tournament continuation from saved state (resume next day)
F16.05.07 Shipped Emergency communication to all participants

Federation Reporting & Compliance

F16.06
Platform+

**Status:** Implemented (PL-1706)

ID Status Features
F16.06.01 Shipped Mandatory report templates per federation level — ReportTemplate with configurable sections, deadlines, frequency
F16.06.02 Shipped Automated report generation from system data — GeneratedReport with typed KPI sections (membership, competitions, financial, umpires, sponsors)
F16.06.03 Shipped Report submission deadline tracking and reminders — ReportDeadline with reminder/escalation workflow
F16.06.04 Shipped Upward reporting (club > nation > continent > FIPJP) — Aggregation endpoint combines child reports into parent
F16.06.05 Shipped Government/sports council report generation — GovernmentReportSection with Riksidrottsförbundet-compatible fields
F16.06.06 Shipped Sponsor reporting (participation data, exposure metrics) — SponsorSection with impressions, clicks, value
F16.06.07 Shipped Audit-ready data with full trail — is_audit_ready flag on reports, revision tracking on all documents
F16.06.08 Shipped Compliance checklist automation (tournament had jury, insurance, etc.) — ComplianceChecklist with auto-scoring and action items
F16.06.09 Shipped Data breach notification workflow (GDPR Article 33/34) — DataBreachNotification with 72h tracking and full timeline