# Features — quantivia-clean (Quantivia demo tree)

Evidence date: 2026-10-05. Revision: `master` `808df0f` (2019-06-12, "Demo site backup").

The source repository has almost no root product README. Feature status below comes from Quantivia menus/services, the embedded `user_guide.php` files, eGroupWare app directories, and custom ATE modules. `origin/development` (`0a43174`) is three commits ahead of `master` with QA subjects; those deltas are listed separately, not as the default feature set.

Planned features written as a roadmap: **none found**.

## Current features (master) — Quantivia core

| Feature | What it does | Evidence | Status |
|---|---|---|---|
| SmartAdmin Quantivia shell | Main SPA-like shell after EGW login | `quantivia/main.php` | Implemented |
| Session gate | Requires EGW `sessionid` cookie | `quantivia/index.php` | Implemented |
| Role-based menu | Dashboard, config, reports, wizards by role/state | `quantivia/services/Menu.php` | Implemented |
| Dashboard | Project/portfolio dashboard | `quantivia/dashboard/Dashboard.php` | Implemented |
| Project calendar | Calendar when project has FT calendar flag | `forms/Calendar.php`, `CalendarFeed.php` | Implemented |
| Project list | Site/project admin project listing | Menu → Projects table | Implemented |
| Project categories | Edit project codes/categories | `forms/EditProjectCodes.php` | Implemented |
| Budget structure | Configure budget structure | `forms/SetupBudgetStructure.php` | Implemented |
| Actual hours structure | Structured timekeeping only | Menu gate + form | Implemented |
| Tracking admin | Project tracking administration | `forms/TrackAdmin.php` | Implemented |
| Theme admin | Select/manage UI theme pack | `forms/ThemeAdmin.php` | Implemented |
| Users admin | Site-admin user configuration | Menu (Site Admin) | Implemented |
| Programme admin | Site-admin programme configuration | Menu (Site Admin) | Implemented |
| Change password | User password change entry | Menu | Implemented |
| Performance graphs | S-curve, bulls-eye, trend, pareto, latency, FTE, etc. | `services/*json.php`, `Graphs.php` | Implemented |
| Tabular / standard / publish reports | Reporting suite; publish gated by project `control` status | Menu, report services | Implemented |
| Deliverable / chain / schedule / progress wizards | Upload and assignment wizards | Menu wizard section | Implemented |
| Online progress update (turnaround filing) | Issue/submit/review progress packages | `view/TurnAroundFiling.php`, `$view_statuses` | Implemented |
| Change register | Change-control mode for project changes | Menu / BO / `budget_changes` table | Implemented (enforcement completeness Requires Confirmation) |
| Portfolio / multi-project view | `p_id == -1` consolidated view | `Menu.php` | Implemented |
| Licence / demo gate | Blocks some functions when unlicensed | `requireFullLicence()` | Implemented |
| Token API | `qvaapi.php` with token validation | `services/qvaapi.php` | Implemented |
| Client branding packs | 18 `templates_*` UI/email packs | `quantivia/templates_*` | Implemented |
| Embedded user guide | HTML product manual per theme | `templates_*/user_guide.php` | Present |
| Excel / PDF reporting libs | PHPExcel, TCPDF, JPGraph/Highcharts | `quantivia/lib/`, `jpgraph/`, SmartAdmin charts | Implemented |
| Background worker | Offload/worker PHP entry | `quantivia/inc/worker.php` | Present; ops Unknown |
| Demo auto-login | `auto_login.php` demo account flow | Root `auto_login.php` | Implemented (demo-specific) |

## Current features (master) — eGroupWare platform

| Feature | What it does | Evidence | Status |
|---|---|---|---|
| EGW login / logout | Platform authentication | `login.php`, `logout.php` | Implemented |
| Home / app launcher | EGW home | `home/` | Implemented |
| Admin | Accounts, groups, ACL, config | `admin/` | Implemented |
| Calendar | Group calendar | `calendar/` (1.9.004) | Implemented |
| Addressbook | Contacts | `addressbook/` | Implemented |
| FelamiMail | IMAP email client | `felamimail/` | Implemented |
| Email admin | Mail profiles (optional app) | `emailadmin/` | Present |
| Filemanager + WebDAV | Files | `filemanager/`, `webdav.php` | Implemented |
| Bookmarks | Bookmarks | `bookmarks/` | Present |
| Projectmanager | EGW project management (separate from Quantivia projects) | `projectmanager/` | Present |
| InfoLog | CRM/todos/notes | `infolog/` | Present |
| Timesheet | Time tracking | `timesheet/` | Present |
| Tracker | Generic tracker | `tracker/` | Present |
| Wiki | Wiki | `wiki/` | Present |
| Preferences | User prefs | `preferences/` | Present |
| Import/export | Data tools | `importexport/` | Present |
| Notifications | User notifications | `notifications/` | Present |
| SyncML | Mobile sync (optional) | `syncml/` | Present |
| SiteMgr | CMS | `sitemgr/` | Present |
| GroupDAV | CalDAV/CardDAV | `groupdav.php` | Implemented |
| Setup / upgrade | Installer | `setup/` | Present |
| Polls, registration, resources, manual, phpbrain, phpfreechat, phpsysinfo, sambaadmin, developer_tools, news_admin, etemplate, egw-pear, userfiles | Auxiliary EGW modules | respective directories | Present; runtime enablement Unknown |

## Current features (master) — custom / ATE extensions

| Feature | What it does | Evidence | Status |
|---|---|---|---|
| Risk tracker | Risk management; wired to Quantivia BO | `risk/` | Implemented |
| NCR | Non-conformity reports | `ncr/` | Present |
| Permit | Permit & certificate tracker | `permit/` | Present |
| WOMT | Works Order Management Tool | `womt/` | Present |
| SMT | Shipment Management Tool | `smt/` | Present |
| Actions | Actions tracker | `actions/` | Present |
| Organogram | Flash-based org chart + AD helpers | `organogram/`, root `functions.php` | Present |

## Recently changed (within this Git history)

| Change | Evidence | Notes |
|---|---|---|
| Demo site backup commit | `808df0f` | Entire tree treated as backup; no fine-grained feature changelog in Git |
| Initial Git import | `9c8b8f2` | Same day as backup |

Application-level changelog keys inside Quantivia PHP (inline `$Id` / BO version 276) predate this Git history. Full historical feature changelog is **not** reconstructable from the two `master` commits alone.

## In development / unmerged (`origin/development`)

| Item | Evidence | Status |
|---|---|---|
| QA updates not on `master` | Commits `1b766c3`, `b5583f4`, `0a43174` | Present on `development` only. Diff not exhaustively inventoried here |

Commit subject on `1b766c3`: "All changes to QA for alastiar, Master is main site". Human confirmation needed on whether those QA changes supersede the documented `master` baseline.

## Planned features

None documented in-repo.

## Deprecated / removed / orphaned

| Item | Evidence | Status |
|---|---|---|
| `custom/` Untangle captive portal samples | `custom/basiclogin.php`, etc. | Present but **not** Quantivia product features |
| `header.inc.php-old`, `index.php-old`, `header.inc.php.template` | Root | Config backups/templates; not features |
| Missing `QFD/` vs sibling Quantivia repos | Directory absent | Feature set smaller than `quantivia-svn` / `quantiviaLive` for daemon/license installer tooling |
| Missing `quantivia/setup/setup.inc.php` | Absent | Quantivia not registered as standard EGW app in this tree |

## Feature ↔ source map (high signal)

| Area | Primary paths |
|---|---|
| AuthZ | `quantivia/inc/common_pageSetup.php`, `class.quantivia_so.inc.php` role helpers |
| Business logic | `quantivia/inc/class.quantivia_bo.inc.php` |
| Data access | `quantivia/inc/class.quantivia_so.inc.php` |
| Navigation | `quantivia/services/Menu.php` |
| Config | `quantivia/setup/quantivia_setings.php`, `header.inc.php` |
| Schema (base) | `quantivia/setup/sql_construct.php` |
| Product manual | `quantivia/templates_wpa_01/user_guide.php` (and sibling packs) |
| Demo login | `auto_login.php` |
| EGW version | `phpgwapi/setup/setup.inc.php` |
