diff --git a/WORKSPACE-HANDOFF.md b/WORKSPACE-HANDOFF.md new file mode 100644 index 0000000..1192748 --- /dev/null +++ b/WORKSPACE-HANDOFF.md @@ -0,0 +1,119 @@ +# Workspace Handoff - HumHub Animal Rescue Plugins + +## Purpose +Use this file as the starting instruction context when switching to the HumHub server workspace so implementation can continue without losing planning decisions. + +## Project Goal +Build and ship a configurable suite of standalone HumHub marketplace modules for animal rescue operations. + +## Confirmed Build Order +1. Space Profiles Plugin +2. Animal Management Plugin + +## Current Status (As of 2026-04-01) +- Planning phase completed and refocused into execution plan. +- New implementation-focused plan created in `Plan.md`. +- Detailed requirements docs exist for all plugins under `project-requirements/`. +- Additional requirement updates have been incorporated for: + - Space Profiles Plugin + - Animal Management Plugin +- Important: this repository currently contains planning/docs + a reference React prototype only. +- Important: this repository does **not** currently contain HumHub PHP module/plugin code. + +## Key Decisions Already Locked +- Plugin-first delivery, one plugin at a time. +- No custom login portals in production; use HumHub auth + permissions. +- Plugins must be configurable and distributable independently. +- Space Profiles (initial scope) supports animal-rescue template only. +- Space Profiles HTML fields (`header`, `body`, `footer`) are optional. +- HTML/CSS can be customized only inside profile regions; no JavaScript allowed. +- No approval flow required for public Space Profile changes. +- Animal module supports configurable fields/groups. +- Animal default/core fields are admin-managed to protect feature integrity. +- Transfer notifications use HumHub notification system. +- Post approvals: + - Admin/Rescue/Staff: no approval required + - Social: optional approval setting + +## Source Documents to Read First +1. `Plan.md` +2. `project-requirements/space-profiles-plugin.md` +3. `project-requirements/animal-management-plugin.md` +4. `access-controls-and-privacy.md` +5. `custom-plugins.md` +6. `next-steps.md` + +## What the New Workspace Agent Should Do First +1. Confirm the real HumHub codebase layout in the server workspace. +2. Locate plugin/module directories and existing custom modules (if any). +3. Implement "Phase A Foundation" from `Plan.md`: + - Shared permission conventions + - Settings placement under Rescue Settings + - Validation/upload standards + - Configurable field metadata strategy +4. Start Plugin 1 (Space Profiles) implementation only after foundation conventions are in place. + +## Implementation Priorities for Plugin 1 (Space Profiles) +- Data fields and management UI: + - rescue name + - address + - city + - state + - zip + - email + - phone + - animals we accept + - description + - mission statement + - header html (optional) + - body html (optional) + - footer html (optional) + - icon + - background image +- Validation: + - standard contact-field validation + - reasonable image size limits +- Security: + - sanitize HTML + - block JavaScript and script-like vectors + - prevent CSS/markup from affecting non-profile HumHub UI +- Rendering: + - public profile page template + - Search Animal Profiles block integration + +## Implementation Priorities for Plugin 2 (Animal Management) +Start only after Plugin 1 exit criteria are met. + +Must include: +- Unique/stable animal IDs +- Intake + profile + progress + medical visit forms +- Transfer/adoption workflows +- Transfer notifications via HumHub notifications +- Social feed integration and optional Social-post moderation +- Search/filter/listing views for animal profiles +- Ownership transfer behavior with immutable/history-safe feed handling + +## Required Clarifications to Prompt For During Build +When implementation uncertainty appears, ask for choices on: +1. Exact sanitization policy allowlist for HTML tags/attributes in Space Profiles. +2. Exact image upload max sizes and allowed formats. +3. Whether configurable fields can be reordered and grouped via drag-drop UI. +4. Whether field-level visibility should support per-role overrides or global toggles only. +5. Preferred transfer state machine labels and audit log verbosity. + +## Compliance/Privacy Workstream (Plugin 2) +Research and formalize Connecticut-focused policy for: +- animal medical data handling and retention +- owner/previous-owner PII handling +- transfer/adoption auditability +- moderation and records policy + +Deliver a concrete, enforceable technical policy note before final hardening. + +## Reference Prototype Note +`aistudio.google.project/` is reference-only for UI/workflow inspiration. +Do not treat it as production architecture. +Do not carry over multi-portal login behavior. + +## Suggested Prompt to Start in New Workspace +"Read `WORKSPACE-HANDOFF.md` and follow it as execution instructions. Start by confirming HumHub module locations in this workspace, then implement Phase A foundation and begin Space Profiles plugin. Ask for decisions where required."