# Features — quantivia-svn

Evidence date: 2026-10-05. Source: `git@bitbucket.org:overdrive/quantivia-svn.git`, `master` at `ca64fae` (2019-06-12).

Status words used here:

- **Current** — present on `master` at `ca64fae`.
- **Platform** — eGroupware standard capability shipped in this tree.
- **Adjacent** — ATE/custom app in the same install, not Quantivia core.
- **Deprecated / removed** — nothing in the single Git commit indicates removals; SVN-era removals are **Unknown**.

Deployment of `master` is **Unknown / Requires Confirmation**.

## Current — Quantivia core

### Application shell

| Feature | Location | Notes |
|---|---|---|
| SmartAdmin main shell | `quantivia/main.php` | Requires eGroupware session cookies |
| Entry redirect | `quantivia/index.php` | Routes into main shell when logged in |
| Dynamic form host | main panel + `#dynamic-dialog` | Loads `forms/*.php` into widgets |
| PBS/WBS/LBS/OBS filter controls | `main.php` markup | Select filters for programme breakdown structures |
| Theme / skin | `quantivia/smartadmin/` | Bundled admin UI assets |

### Project and structure management

| Feature | Location | Notes |
|---|---|---|
| Select project | `forms/SelectProject.php`, `services/ProjectSelection.php` | |
| Edit project | `forms/EditProject.php` | Timekeeping, reporting, budgets, dimensions |
| Project codes | `forms/EditProjectCodes.php` | |
| Clone project | `forms/CloneProject.php` | |
| Flush project elements | `forms/FlushProjectElements.php` | |
| Create deliverables | `forms/createdeliverables.php`, `EditDeliverable.php`, `Deliverables.php` | |
| Deliverables + resources view | `forms/DeliverablesAndResources.php` | |
| Control points | `forms/EditControlPoint.php` | Definitions + weights/filters |
| Chains | `forms/ChainTable.php`, `createchains.php`, `CheckChainHealth.php` | Ordered CP sequences |
| Landing page | `forms/LandingPage.php` | |

### Budget and change control

| Feature | Location | Notes |
|---|---|---|
| Initial / original budget | `forms/InitialBudget.php`, `OriginalBudget.php` | |
| Budget structure setup | `forms/SetupBudgetStructure.php` | |
| Change instances | `forms/ChangeInstance.php` | Uses `quantivia_change` |
| Flush unused CPs | `forms/FlushUnusedControlPoints.php` | |

### Resources and time

| Feature | Location | Notes |
|---|---|---|
| Resources CRUD | `forms/Resources.php`, `EditResource.php` | UOM map in `quantivia_bo::$UOM` |
| Resource profiles | `forms/EditResourceProfiles.php` | |
| Commitments | `forms/Add/EditResourceCommitments.php`, activity variants | |
| Actual hours | `forms/ActualHours.php`, `ActualHoursStructure.php` | |
| Resource graphs / tabular | `forms/ResourceGraphs.php`, `TabularResourceReport.php` | |
| Calendar | `forms/Calendar.php`, `CalendarItem.php` | Project calendar items |

### Reporting and dashboards

| Feature | Location | Notes |
|---|---|---|
| Graphs | `forms/Graphs.php`, `GraphsContainer.php` | JPGraph-backed |
| Tabular reports | `forms/TabularReport.php` | RAMP/STEP |
| Standard report edit | `forms/EditStandardReport.php` | |
| Publish report | `forms/PublishReport.php`, `PublishReportResults.php` | |
| Dashboard widgets | `quantivia/dashboard/*.php` | Progress, performance, S-curve, budget, CP stats, category tabular/barchart |
| JSON chart services | `services/*.json.php`, `Graphs.php`, `Trend.json.php`, … | SPI/CPI/FTE/Pareto/BullsEye style feeds |
| Mobile form | `forms/Mobile.php` | |

### Administration and interchange

| Feature | Location | Notes |
|---|---|---|
| Admin users / programme | `forms/AdminUser.php`, `AdminUsers.php`, `AdminProgramme.php` | |
| Change password | `forms/ChangePassword.php` | |
| Theme admin | `forms/ThemeAdmin.php` | |
| Track admin | `forms/TrackAdmin.php` | |
| Database administration redirect | `forms/DatabaseAdministration.php` | → `quantiviasqladmin` / sqlite admin |
| File upload wizard | `forms/FileUploadWizard.php` | |
| Load/save | `forms/LoadSave.php` | |
| P6 import | `forms/p6import.php` | Primavera schedule import |
| Show environment | `forms/ShowEnvironment.php` | |
| Template selection API | `services/TemplateSelection.php` | |

### Client programme templates (Current)

| Folder | Role |
|---|---|
| `templates_procon8_01` | Default Procon8 branding |
| `templates_aurecon_01` | Client pack |
| `templates_bacs_01` | Client pack |
| `templates_bechtel_01` | Client pack |
| `templates_bombardier_01` | Client pack |
| `templates_ccc_01` | Client pack |
| `templates_crrc_01` | Client pack |
| `templates_downer_01` | Client pack |
| `templates_echarris_01` | Client pack |
| `templates_hyder_01` | Client pack |
| `templates_mmhkt_01` | Client pack |
| `templates_parsons_01` | Client pack |
| `templates_sungard_01` | Client pack |

Each pack includes `info.php`, branding assets, and typically `user_guide.php`.

### Licensing and QFD

| Feature | Location | Notes |
|---|---|---|
| License constants / MAC check | `quantivia/inc/common_functions.inc.php` | |
| Version / worker ping | `quantivia/version.php` | Logs license probe data |
| QFD installer | `QFD/index.php`, `running.php`, `ULM.php` | Seeds EGW schema, license upload |
| Dev host auto-license | common_functions | Named hosts including localhost patterns |

### Background processing

| Feature | Location | Notes |
|---|---|---|
| Worker | `quantivia/inc/worker.php` | Task types 0–15 |
| Task master | `quantivia/inc/TaskMaster.php` | Spawns workers from `cpu_cores` |
| Windows loops | `TaskMasterLoop.bat`, `QFD/worker.vbs`, `union*.bat` | |
| Offload helpers | `broker.php`, `brokerv2.php`, `ofload.php`, `striker.php`, `backup.php` | |

## Current — Platform (eGroupware)

Representative apps present with `setup/setup.inc.php` (non-exhaustive):

| App dir | Typical role |
|---|---|
| `phpgwapi` | API 1.8.004, accounts, ACL, VFS, GroupDAV |
| `admin`, `preferences`, `home`, `setup` | Administration |
| `addressbook`, `calendar`, `felamimail`, `emailadmin` | PIM / mail |
| `filemanager`, `projectmanager`, `timesheet`, `resources` | Collaboration / PM |
| `tracker`, `infolog`, `wiki`, `bookmarks`, `news_admin` | Information apps |
| `notifications`, `etemplate`, `importexport` | Framework services |
| `syncml`, `registration`, `sitemgr`, `phpbrain`, `polls`, … | Additional EGW modules |

Entry points: `index.php`, `login.php`, `logout.php`, `groupdav.php`, `webdav.php`, `json.php`, `soap.php`, `xmlrpc.php`, `xajax.php`.

## Adjacent — ATE / Overdrive custom apps

| App | Version (setup) | Description (from setup.inc.php) |
|---|---|---|
| `ncr` | 1.8.006 | Universal NCR for tracking Non Conformity Reports |
| `permit` | 0.9.004 | Universal Permit (description text truncated in source: "Universal Permit Permit") |
| `risk` | 1.9.046 | Risk Tracking |
| `smt` | 0.906 | Universal Shipment Management Tool (SMT) |
| `womt` | 2.015 | Universal Works Order Management Tool (WOMT) |
| `actions` | 2.001 | Universal actions (bugs, feature requests, …) with voting and bounties |

### Other directories of note

| Path | Status | Notes |
|---|---|---|
| `organogram/` | Current utility | Flash organogram (`origramy.swf`) + `render.php` |
| `lab/` | Current utility | QR / RFC6238 helper scripts; not a registered EGW app |
| `custom/` | Unrelated vendor sample | Untangle captive-portal README — **not** Quantivia product docs |
| `Procedures.sql` | Current file | Sample/test MySQL procedures including control-point helpers; runtime use **Unknown** |

## Planned

No separate product roadmap file was found. Comments and unused stubs may exist inside large BO/SO files; none were elevated to a documented plan.

## Recently changed

Git history on Bitbucket for this import shows only `ca64fae` ("svn update"). Incremental feature changes are not recoverable from Git alone. **Unknown** relative to prior SVN revisions.

## Deprecated / removed

**Unknown** from this Git tip. Cache PNGs under `projectmanager/$SERVER_TEMP/` look like runtime artefacts that were committed, not product features.

## Feature ↔ requirement map (selected)

| Feature area | PRD refs |
|---|---|
| Session shell | FR-001 |
| Dual DB / `p_{id}_*` | FR-002, FR-003 |
| Deliverables / chains | FR-004 |
| RAMP/STEP / EVM options | FR-005 |
| Templates | FR-006 |
| License / QFD | FR-007, WF-8 |
| Workers | FR-008 |
| TOTP login | FR-009 |
| P6 / Excel | FR-010 |
| EGW + ATE apps | FR-011, FR-012 |
