# saumitra2k4/physical_desk architecture

> Architecture diagram of the GitHub repository saumitra2k4/physical_desk, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/saumitra2k4/physical_desk
- Repository: https://github.com/saumitra2k4/physical_desk

## Overview

GLPI is an IT service-management and asset-management application. Its visible product areas cover helpdesk tickets, problems and changes; asset inventory; forms and knowledge management; and administration, planning and reporting. A representative form workflow gathers answers in the browser, sends them to the condition endpoint, evaluates visibility on the server, and returns results. The tree also shows form-import preview and search capabilities. The README is empty and most source was not sampled, so links between other product areas are intentionally not inferred.

Main entry points: [`glpi-11.0-bugfixes/src/Glpi/Controller/Form/Condition/EngineController.php`](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Controller/Form/Condition/EngineController.php) (Condition endpoint), [`glpi-11.0-bugfixes/js/modules/Forms/Condition/Engine.js`](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/js/modules/Forms/Condition/Engine.js) (Form browser), [`glpi-11.0-bugfixes/src/Glpi/Form/Condition/Engine.php`](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Form/Condition/Engine.php) (Condition engine), [`glpi-11.0-bugfixes/front/ticket.form.php`](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/ticket.form.php) (Tickets)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_service["Service management"]
  node_ticket["Tickets<br/>[ticket.form.php]"]
  node_problem["Problems<br/>[problem.form.php]"]
  node_change["Changes<br/>[change.form.php]"]
  node_planning["Planning<br/>[planning.php]"]
end

subgraph group_assets["Asset management"]
  node_inventory["Asset inventory<br/>[devices.php]"]
  node_assetforms["Asset records<br/>[asset.form.php]"]
end

subgraph group_forms["Forms"]
  node_forms["Form management<br/>[form.form.php]"]
  node_browser["Form browser<br/>[Engine.js]"]
  node_condition_api["Condition endpoint"]
  node_condition_engine["Condition engine<br/>[Engine.php]"]
  node_import_preview["Import preview"]
end

subgraph group_platform["Knowledge and platform"]
  node_search_ui["Search interface<br/>[search.php]"]
  node_search_engine["Search engine<br/>[SearchEngine.php]"]
  node_knowledge["Knowledge base<br/>[knowbaseitem.php]"]
  node_admin["Administration<br/>[config.form.php]"]
  node_reports["Reports<br/>[report.php]"]
  node_progress["Progress tracking"]
end

node_user(("User"))

node_user -->|"submits request"| node_ticket
node_user -->|"manages issue"| node_problem
node_user -->|"manages change"| node_change
node_user -->|"views schedule"| node_planning
node_user -->|"browses assets"| node_inventory
node_user -->|"edits asset"| node_assetforms
node_user -->|"manages forms"| node_forms
node_browser -->|"posts answers"| node_condition_api
node_condition_api -->|"computes visibility"| node_condition_engine
node_condition_engine -->|"returns visibility"| node_condition_api
node_condition_api -->|"returns JSON"| node_browser
node_user -->|"previews import"| node_import_preview
node_user -->|"searches records"| node_search_ui
node_user -->|"reads articles"| node_knowledge
node_user -->|"configures system"| node_admin
node_user -->|"views reports"| node_reports

click node_ticket "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/ticket.form.php"
click node_problem "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/problem.form.php"
click node_change "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/change.form.php"
click node_planning "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/planning.php"
click node_inventory "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/devices.php"
click node_assetforms "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/asset/asset.form.php"
click node_forms "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/form/form.form.php"
click node_browser "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/js/modules/Forms/Condition/Engine.js"
click node_condition_api "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Controller/Form/Condition/EngineController.php"
click node_condition_engine "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Form/Condition/Engine.php"
click node_import_preview "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Controller/Form/Import/Step2PreviewController.php"
click node_search_ui "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/search.php"
click node_search_engine "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Search/SearchEngine.php"
click node_knowledge "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/knowbaseitem.php"
click node_admin "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/config.form.php"
click node_reports "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/report.php"
click node_progress "https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Progress/ProgressStorage.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ticket,node_problem,node_change,node_planning,node_user toneBlue
class node_inventory,node_assetforms toneAmber
class node_forms,node_browser,node_condition_api,node_condition_engine,node_import_preview toneMint
class node_search_ui,node_search_engine,node_knowledge,node_admin,node_reports,node_progress toneRose
```

## Components

### Service management

- [Tickets](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/ticket.form.php): `glpi-11.0-bugfixes/front/ticket.form.php`
- [Problems](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/problem.form.php): `glpi-11.0-bugfixes/front/problem.form.php`
- [Changes](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/change.form.php): `glpi-11.0-bugfixes/front/change.form.php`
- [Planning](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/planning.php): `glpi-11.0-bugfixes/front/planning.php`

### Asset management

- [Asset inventory](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/devices.php): `glpi-11.0-bugfixes/front/devices.php`
- [Asset records](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/asset/asset.form.php): `glpi-11.0-bugfixes/front/asset/asset.form.php`

### Forms

- [Form management](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/form/form.form.php): `glpi-11.0-bugfixes/front/form/form.form.php`
- [Form browser](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/js/modules/Forms/Condition/Engine.js): `glpi-11.0-bugfixes/js/modules/Forms/Condition/Engine.js`
- [Condition endpoint](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Controller/Form/Condition/EngineController.php): `glpi-11.0-bugfixes/src/Glpi/Controller/Form/Condition/EngineController.php`
- [Condition engine](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Form/Condition/Engine.php): `glpi-11.0-bugfixes/src/Glpi/Form/Condition/Engine.php`
- [Import preview](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Controller/Form/Import/Step2PreviewController.php): `glpi-11.0-bugfixes/src/Glpi/Controller/Form/Import/Step2PreviewController.php`

### Knowledge and platform

- [Search interface](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/search.php): `glpi-11.0-bugfixes/front/search.php`
- [Search engine](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Search/SearchEngine.php): `glpi-11.0-bugfixes/src/Glpi/Search/SearchEngine.php`
- [Knowledge base](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/knowbaseitem.php): `glpi-11.0-bugfixes/front/knowbaseitem.php`
- [Administration](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/config.form.php): `glpi-11.0-bugfixes/front/config.form.php`
- [Reports](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/front/report.php): `glpi-11.0-bugfixes/front/report.php`
- [Progress tracking](https://github.com/saumitra2k4/physical_desk/blob/master/glpi-11.0-bugfixes/src/Glpi/Progress/ProgressStorage.php): `glpi-11.0-bugfixes/src/Glpi/Progress/ProgressStorage.php`

### Other components

- **User**

## Connections

- User → Tickets: submits request
- User → Problems: manages issue
- User → Changes: manages change
- User → Planning: views schedule
- User → Asset inventory: browses assets
- User → Asset records: edits asset
- User → Form management: manages forms
- Form browser → Condition endpoint: posts answers
- Condition endpoint → Condition engine: computes visibility
- Condition engine → Condition endpoint: returns visibility
- Condition endpoint → Form browser: returns JSON
- User → Import preview: previews import
- User → Search interface: searches records
- User → Knowledge base: reads articles
- User → Administration: configures system
- User → Reports: views reports
