<map version="freeplane 1.12.1">
<!--To view this file, download free mind mapping software Freeplane from https://www.freeplane.org -->
<bookmarks>
    <bookmark nodeId="ID_root" name="Root" opensAsRoot="true"/>
</bookmarks>
<node TEXT="Factory CMS" FOLDED="false" ID="ID_root" CREATED="1779005815158" MODIFIED="1779005815158"><hook NAME="MapStyle">
    <properties edgeColorConfiguration="#808080ff,#ff0000ff,#0000ffff,#00ff00ff,#ff00ffff,#00ffffff,#7c0000ff,#00007cff,#007c00ff,#7c007cff,#007c7cff,#7c7c00ff" auto_compact_layout="true" fit_to_viewport="false" show_icons="BESIDE_NODES" show_tags="UNDER_NODES" showTagCategories="false" show_note_icons="true" show_icon_for_attributes="true"/>
    <tags category_separator="::"/>
<map_styles>
<stylenode LOCALIZED_TEXT="styles.root_node" STYLE="oval" UNIFORM_SHAPE="true" VGAP_QUANTITY="24 pt">
<font SIZE="24"/>
<stylenode LOCALIZED_TEXT="styles.predefined" POSITION="bottom_or_right" STYLE="bubble">
<stylenode LOCALIZED_TEXT="default" ID="ID_271890427" ICON_SIZE="12 pt" COLOR="#000000" STYLE="fork">
<arrowlink SHAPE="CUBIC_CURVE" COLOR="#000000" WIDTH="2" TRANSPARENCY="200" DASH="" FONT_SIZE="9" FONT_FAMILY="SansSerif" DESTINATION="ID_271890427" STARTARROW="NONE" ENDARROW="DEFAULT"/>
<font NAME="SansSerif" SIZE="10" BOLD="false" ITALIC="false"/>
<richcontent TYPE="DETAILS" CONTENT-TYPE="plain/auto"/>
<richcontent TYPE="NOTE" CONTENT-TYPE="plain/auto"/>
</stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.details"/>
<stylenode LOCALIZED_TEXT="defaultstyle.tags"><font SIZE="10"/></stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.attributes"><font SIZE="9"/></stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.note" COLOR="#000000" BACKGROUND_COLOR="#ffffff" TEXT_ALIGN="LEFT"/>
<stylenode LOCALIZED_TEXT="defaultstyle.floating"><edge STYLE="hide_edge"/><cloud COLOR="#f0f0f0" SHAPE="ROUND_RECT"/></stylenode>
<stylenode LOCALIZED_TEXT="defaultstyle.selection" BACKGROUND_COLOR="#afd3f7" BORDER_COLOR_LIKE_EDGE="false" BORDER_COLOR="#afd3f7"/>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.user-defined" POSITION="bottom_or_right" STYLE="bubble">
<stylenode LOCALIZED_TEXT="styles.topic" COLOR="#18898b" STYLE="fork"><font NAME="Liberation Sans" SIZE="10" BOLD="true"/></stylenode>
<stylenode LOCALIZED_TEXT="styles.subtopic" COLOR="#cc3300" STYLE="fork"><font NAME="Liberation Sans" SIZE="10" BOLD="true"/></stylenode>
<stylenode LOCALIZED_TEXT="styles.subsubtopic" COLOR="#669900"><font NAME="Liberation Sans" SIZE="10" BOLD="true"/></stylenode>
<stylenode LOCALIZED_TEXT="styles.important" ID="ID_67550811"><icon BUILTIN="yes"/><arrowlink COLOR="#003399" TRANSPARENCY="255" DESTINATION="ID_67550811"/></stylenode>
</stylenode>
<stylenode LOCALIZED_TEXT="styles.AutomaticLayout" POSITION="bottom_or_right" STYLE="bubble">
<stylenode LOCALIZED_TEXT="AutomaticLayout.level.root" COLOR="#000000" STYLE="oval" SHAPE_HORIZONTAL_MARGIN="10 pt" SHAPE_VERTICAL_MARGIN="10 pt"><font SIZE="18"/></stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,1" COLOR="#0033ff"><font SIZE="16"/></stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,2" COLOR="#00b439"><font SIZE="14"/></stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,3" COLOR="#990000"><font SIZE="12"/></stylenode>
<stylenode LOCALIZED_TEXT="AutomaticLayout.level,4" COLOR="#111111"><font SIZE="10"/></stylenode>
</stylenode>
</stylenode>
</map_styles>
</hook>

<!-- ============ -->
<!-- HOME         -->
<!-- ============ -->
<node TEXT="Home" POSITION="bottom_or_right" ID="ID_home" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Site dashboard / welcome" ID="ID_home_dash" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Announcements &amp; alerts" ID="ID_home_announce" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<!-- ============ -->
<!-- SITE ADMIN   -->
<!-- ============ -->
<node TEXT="Site Admin" POSITION="bottom_or_right" ID="ID_admin" CREATED="1779005815158" MODIFIED="1779005815158">

<node TEXT="Page Manager" ID="ID_admin_pages" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Full tree view of all pages in the system" ID="ID_admin_pages_tree" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Create / rename / delete / reorder pages" ID="ID_admin_pages_crud" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Set page type: Content, Control Panel, Display Panel, Task List, Dynamic Menu, Link" ID="ID_admin_pages_types" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Assign page to a department and/or area" ID="ID_admin_pages_assign" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Rich text / HTML editor for content pages" ID="ID_admin_pages_editor" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Set visibility and role restrictions per page" ID="ID_admin_pages_perms" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="Department Manager" ID="ID_admin_dept" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Create / rename / delete / reorder departments" ID="ID_admin_dept_crud" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="Area Manager" ID="ID_admin_area" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Create / rename / delete / reorder areas within a department" ID="ID_admin_area_crud" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Creating an area scaffolds default pages (Work Instructions, Safety, Task List, Control Panel)" ID="ID_admin_area_scaffold" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="Forklift Task Editor" ID="ID_admin_forktask" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Manage forklift request task templates per department" ID="ID_admin_forktask_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="Testing Task Editor" ID="ID_admin_testtask" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Manage testing request task templates per department" ID="ID_admin_testtask_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="Heat Button Editor" ID="ID_admin_heat" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Configure furnace groups, buttons, and state styles" ID="ID_admin_heat_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="User Manager" ID="ID_admin_users" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Create / edit / disable user accounts" ID="ID_admin_users_crud" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Assign roles: Admin, Supervisor, Operator, Viewer" ID="ID_admin_users_roles" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Assign users to departments/areas" ID="ID_admin_users_assign" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="Notification Settings" ID="ID_admin_notify" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Configure email/alert recipients per event type" ID="ID_admin_notify_config" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Task completion alerts, emergency notifications" ID="ID_admin_notify_types" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
</node>

<!-- ================================= -->
<!-- BY DEPARTMENT (dynamic structure) -->
<!-- ================================= -->
<node TEXT="[By Department - dynamic]" POSITION="bottom_or_right" ID="ID_departments" CREATED="1779005815158" MODIFIED="1779005815158">

<node TEXT="Melting" ID="ID_dept_melting" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Furnace Area" ID="ID_area_furnace" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Work Instructions" ID="ID_furnace_wi" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Content pages: normal job instructions for the area" ID="ID_furnace_wi_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Versioned - edits tracked, nothing gets lost" ID="ID_furnace_wi_ver" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Safety Instructions" ID="ID_furnace_safety" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Links to Common Safety pages" ID="ID_furnace_safety_common" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Area-specific safety items" ID="ID_furnace_safety_custom" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Task List" ID="ID_furnace_tasks" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Supervisor-editable daily tasks" ID="ID_furnace_tasks_daily" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Workers mark complete; supervisor notified" ID="ID_furnace_tasks_notify" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Control Panel" ID="ID_furnace_cp" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Area workflow control" ID="ID_furnace_cp_flow" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Communicate with forklifts" ID="ID_furnace_cp_fork" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Communicate with other departments" ID="ID_furnace_cp_dept" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Communicate with other areas" ID="ID_furnace_cp_area" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Communicate with supervision" ID="ID_furnace_cp_super" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Communicate with HR" ID="ID_furnace_cp_hr" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Notify of emergencies" ID="ID_furnace_cp_emerg" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Display Panel" ID="ID_furnace_dp" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Read-only board guiding workflow with live messaging" ID="ID_furnace_dp_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
</node>
<node TEXT="Inoculation Area" ID="ID_area_inoc" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Work Instructions" ID="ID_inoc_wi" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Safety Instructions" ID="ID_inoc_safety" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Task List" ID="ID_inoc_tasks" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Control Panel" ID="ID_inoc_cp" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Display Panel" ID="ID_inoc_dp" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
</node>

<node TEXT="Casting" ID="ID_dept_casting" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Autopour 1" ID="ID_area_ap1" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Work Instructions" ID="ID_ap1_wi" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Safety Instructions" ID="ID_ap1_safety" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Task List" ID="ID_ap1_tasks" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Control Panel" ID="ID_ap1_cp" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Autopour 2" ID="ID_area_ap2" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Work Instructions" ID="ID_ap2_wi" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Safety Instructions" ID="ID_ap2_safety" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Task List" ID="ID_ap2_tasks" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Control Panel" ID="ID_ap2_cp" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Deck" ID="ID_area_deck" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Work Instructions" ID="ID_deck_wi" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Safety Instructions" ID="ID_deck_safety" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Task List" ID="ID_deck_tasks" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Control Panel" ID="ID_deck_cp" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
</node>

<node TEXT="Finishing" ID="ID_dept_fin" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="[Areas with same page structure]" ID="ID_fin_areas" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Machining" ID="ID_dept_mach" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="[Areas with same page structure]" ID="ID_mach_areas" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Warehouse" ID="ID_dept_wh" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="[Areas with same page structure]" ID="ID_wh_areas" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
</node>

<!-- ====================== -->
<!-- QC / TESTING            -->
<!-- ====================== -->
<node TEXT="QC" POSITION="bottom_or_right" ID="ID_qc" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Testing Panel" ID="ID_qc_panel" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Live board showing active test requests across all departments" ID="ID_qc_panel_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Request Testing" ID="ID_qc_request" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="[By Department - dynamic submenu]" ID="ID_qc_request_dyn" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
</node>

<!-- ========================= -->
<!-- FORKLIFT COMMUNICATIONS   -->
<!-- ========================= -->
<node TEXT="Forklift Communications" POSITION="bottom_or_right" ID="ID_forklift" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Forklift Selection" ID="ID_fork_select" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Driver picks their forklift, sees open requests" ID="ID_fork_select_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
<node TEXT="Request Forklift" ID="ID_fork_request" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="[By Department - dynamic submenu]" ID="ID_fork_request_dyn" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
</node>

<!-- =============== -->
<!-- COMMON SAFETY   -->
<!-- =============== -->
<node TEXT="Common Safety" POSITION="bottom_or_right" ID="ID_safety" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Shared safety pages available plant-wide" ID="ID_safety_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Crane Signals" ID="ID_safety_crane" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="PPE Requirements" ID="ID_safety_ppe" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Lockout/Tagout Procedures" ID="ID_safety_loto" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Emergency Evacuation" ID="ID_safety_evac" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Area safety pages link back here for shared content" ID="ID_safety_linking" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<!-- ====================== -->
<!-- COMMON DOCUMENTATION   -->
<!-- ====================== -->
<node TEXT="Common Documentation" POSITION="bottom_or_right" ID="ID_docs" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Equipment manuals, reference material, SOPs" ID="ID_docs_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Tennant S10 Sweeper" ID="ID_docs_tennant" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="[Any page can be added here through admin]" ID="ID_docs_dynamic" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<!-- ===================== -->
<!-- UNDERLYING DATA MODEL -->
<!-- ===================== -->
<node TEXT="Data Model" POSITION="bottom_or_right" ID="ID_data" CREATED="1779005815158" MODIFIED="1779005815158">

<node TEXT="pages" ID="ID_data_pages" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="id, parent_id, title, slug, page_type, content, sort_order, is_visible" ID="ID_data_pages_cols" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="page_type: content, control-panel, display-panel, task-list, dynamic-menu, group, link" ID="ID_data_pages_types" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="department_id, area_id (nullable) - ties page to org structure" ID="ID_data_pages_org" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="role_required (nullable) - minimum role to see this page" ID="ID_data_pages_role" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="parent_id creates the full menu tree - any depth" ID="ID_data_pages_tree" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="departments" ID="ID_data_depts" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="id, label, sort_order, is_visible" ID="ID_data_depts_cols" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Already exists as communication_categories" ID="ID_data_depts_existing" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="areas" ID="ID_data_areas" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="id, department_id, label, sort_order, is_visible" ID="ID_data_areas_cols" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Subdivisions within a department" ID="ID_data_areas_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="users" ID="ID_data_users" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="id, username, password_hash, display_name, role, department_id, is_active" ID="ID_data_users_cols" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="page_versions" ID="ID_data_versions" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="id, page_id, content, edited_by, edited_at" ID="ID_data_ver_cols" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="History of every content edit" ID="ID_data_ver_desc" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

<node TEXT="Existing tables unchanged" ID="ID_data_existing" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="heat_state_styles, heat_groups, heat_buttons" ID="ID_data_ex_heat" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="testing_items, testing_tasks" ID="ID_data_ex_testing" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="forklifts, communication_items, communication_categories" ID="ID_data_ex_comm" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="department_tasks" ID="ID_data_ex_tasks" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>
</node>

<!-- ===================== -->
<!-- REAL-TIME LAYER       -->
<!-- ===================== -->
<node TEXT="Real-Time (SignalR)" POSITION="bottom_or_right" ID="ID_realtime" CREATED="1779005815158" MODIFIED="1779005815158">
<node TEXT="Panel updates (heat status, testing requests)" ID="ID_rt_panel" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Forklift request/respond/complete" ID="ID_rt_fork" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Task list completion events" ID="ID_rt_tasks" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Emergency alerts pushed to all connected clients" ID="ID_rt_emergency" CREATED="1779005815158" MODIFIED="1779005815158"/>
<node TEXT="Inter-department/area messaging" ID="ID_rt_messaging" CREATED="1779005815158" MODIFIED="1779005815158"/>
</node>

</node>
</map>
