# Project plan — ieb_template

Evidence date: 2026-10-12.

Source repository: `git@bitbucket.org:overdrive/ieb_template.git`.

Inspected revision: `main` at `493c34f` (2025-02-05, maanie, "Initial commit"). The scan-host path `~/projects/sonar_scan/repos/ieb_template` was not on this machine. The tree was read from that git revision. Mailbox addresses committed in `SampleWebsite/Web.config` and the data-exporter `app.config` are omitted. SMS gateway credential values are not in the tree; the appSetting key names are named where the code reads them.

This plan describes what the repository contains. It does not decide what the product should become.

No formal project plan, README, or requirements document exists in the repository. `silicon_ark/ieb_template/` did not exist before this file.

## Product

The Bitbucket slug is **ieb_template**. The solution inside it is **EvolutionSoftwareLibrary** (`Evolution Software Library/Evolution Software Library/EvolutionSoftwareLibrary.sln`). The shared assembly describes itself as **Evolution SoftWare Global Library**, company **Evolution SoftWare**, copyright 2014 (`BaseLibrary/Properties/AssemblyInfo.cs`).

What "ieb" expands to, and why this snapshot was published under the slug `ieb_template`, is **Unknown / Requires Confirmation**. Nothing in the tree uses the string `ieb`.

Silicon Ark's `SHOU-1` documents a later tenant of a Palette / Evolution Software Unified Framework whose assembly company string is also "Evolution SoftWare". This repository does not name SHOU-1, Palette, or that framework. Whether `ieb_template` is an ancestor, a fork, or an unrelated library with the same company string is **Unknown / Requires Confirmation**.

The only runnable product surface in the tree is **Sample Website**: one Web Forms page that lists, adds, edits, and deletes rows in `evo_User`. Two Windows tools sit beside the library: an object constructor and a table-to-XML exporter. Provenance of that behaviour: **Implemented**. Provenance of a written product purpose: **Unknown**.

## Branch reality

| Line | Tip | Date | What it is |
|---|---|---|---|
| `main` (default; `origin/HEAD`) | `493c34f` | 2025-02-05 | The only branch. One commit, subject "Initial commit" |

There are no other remote branches. Comments and assembly copyrights inside the imported source cite earlier dates (a data-tier remark dated 26/09/08, constructor copyright 2010, exporter copyright 2011, library copyright 2014, sample business copyright 2015, a revision note dated 15 January 2016, a comment dated 2016-04-04). The git history does not contain those changes. The 2025 commit is an import of older source. That reading is **Inferred** from the dates. Who maintained the code before the import is **Unknown / Requires Confirmation**.

Whether any site or desktop tool still runs this tree is **Unknown / Requires Confirmation**.

## Objectives (inferred from the projects, not from a written plan)

No objectives document exists. The following are **Inferred** from the solution layout and the sample page:

- Ship a shared .NET class library (`EvoSoft_Lib`) for SQL Server data access, mail, SMS, files, images, and South African ID helpers.
- Show a consuming pattern: `Sample_Business.xData` plus a Web Forms page over `evo_User`.
- Generate C# property classes from SQL Server tables or from a custom query (`EvoSoft_Constructor`).
- Export one selected table to XML (`EvoSoft_DataExporter`).

## Scope in the repository

In scope for this documentation, because the files are in `493c34f`:

- `EvoSoft_Lib` class library (.NET Framework 4.0).
- `Sample_Business` class library (.NET Framework 4.5) and `SampleWebsite` (Web Forms).
- `EvoSoft_Constructor` and `EvoSoft_DataExporter` (WinForms, x86, .NET Framework 4.0).
- Vendored assemblies under `BaseLibrary/assemblies` and the Facebook 6.4.2 NuGet folder.
- TFS source-control bindings and XAML build templates.
- `SampleWebsite/db/Sample.bak` (SQL Server backup; not restored for this document).

Out of scope of the git tree, though the onboarding issue listed them at the scan host: `sonar-project.properties` and `sonarqube_scan.bat`. See the discrepancy section.

## System architecture

```text
SampleWebsite (Web Forms, one page)
        |
        v
Sample_Business.xData  ---- serialises oInteraction ----> EvoSoft_Lib.dynamicInteraction
        |                                                        |
        |                                                        v
        |                                              SQL Server via appSettings "conn"
        |
EvoSoft_Constructor (own copies of data access; catalog EvolutionFramework)
EvoSoft_DataExporter (own copies of data access; catalog EvolutionFramework)
```

`Sample_Business` project-references `EvoSoft_Lib`. The two Windows tools do not. Each tool compiles its own `dataTier`, `Constructor`, `oTable`, and `utils`.

Table names for typed objects are the configured prefix plus the type name with the first character removed. Prefix `evo_` and type `oUser` produce `evo_User`. That rule is **Implemented** in `dataInteraction.buildSelectInteraction` and `dynamicInteraction.buildSelectInteraction`. The sample page's SQL uses `evo_User`, which matches the rule.

## Major components

| Component | Path | Role |
|---|---|---|
| EvoSoft_Lib | `BaseLibrary/` | Shared library. Output assembly `EvoSoft_Lib`, build output `..\BaseBuild\` (that folder is not in git) |
| Sample_Business | `Sample_Business/` | Typed data wrapper `xData`, objects `oUser` and `oUserType` |
| SampleWebsite | `SampleWebsite/` | `Default.aspx` user grid. File-system website, not a `.csproj` |
| EvoSoft_Constructor | `BaseTools/EvoSoft_Constructor/` | WinForms generator of `[Serializable]` classes. Assembly title `ObjectConstructor` |
| EvoSoft_DataExporter | `BaseTools/EvoSoft_DataExporter/ExportData/` | WinForms `SELECT *` export to XML. Assembly title `ExportData` |
| Build templates | `BuildProcessTemplates/` | TFS XAML: `DefaultTemplate.11.1.xaml`, `LabDefaultTemplate.11.xaml`, `UpgradeTemplate.xaml`, `AzureContinuousDeployment.11.xaml` |

## Milestones

No milestone list, issue tracker, or roadmap is in the repository. The only git milestone is the 2025-02-05 import.

Assembly and comment dates are historical markers inside the imported files, not commits:

| Marker | Where |
|---|---|
| 2008-09-26 | Remark on `dataTier.ReturnMethods.Connection` and `exception.HandleException` |
| 2010 | `ObjectConstructor` assembly copyright |
| 2011 | `ExportData` assembly copyright ("Copyright © Microsoft 2011") |
| 2014 | `EvoSoft_Lib` assembly copyright |
| 2015 | `Sample_Business` assembly copyright; constructor comment "JasR 2015-04-18 added views" |
| 2016-01-15 | Exception-handler revision attributed to Charlene van Heerden |
| 2016-04-04 | Comment in `utils.stripCharacters` attributed to CVH |
| 2025-02-05 | Git initial commit on `main` |

## Implementation plan

There is no implementation plan in the repository. Current status is a frozen import: one commit, no tests, no README, no Bitbucket pipeline.

## Known dependencies

- .NET Framework 4.0 for the library and both tools. .NET Framework 4.5 for `Sample_Business`. The website solution moniker is `.NETFramework,Version=v4.5` while `Web.config` `targetFramework` is `4.0`. Which runtime a deployed site would use is **Unknown / Requires Confirmation**.
- SQL Server. The sample site connection names catalog `Sample` on `.` with empty `uid` and `pwd`. Both tools name catalog `EvolutionFramework` on `.` with integrated security.
- SMTP settings in the sample `Web.config`: host `smtp.wa.co.za`, port 25, `defaultCredentials="true"`.
- Vendored binaries listed in `technical-documentation.md`. NuGet is used only for Facebook 6.4.2 (`BaseLibrary/packages.config`). That package is not a `Reference` in `EvoSoft_Lib.csproj`.

## Current project status

**Imported and inactive in git.** `main` has not moved since 2025-02-05. No open work is described in the tree.

## Discrepancy with the onboarding scan

OVER-151 lists this top-level structure for the scan-host path:

```text
Evolution Software Library
sonar-project.properties
sonarqube_scan.bat
```

`Evolution Software Library` is in git. `sonar-project.properties` and `sonarqube_scan.bat` are not in `493c34f`. The same two filenames are absent from other repositories whose onboarding notes listed them (for example `unity-skeleton` and `unityCLI`). Whether they are untracked SonarQube wrapper files on the scan host is **Inferred** from that repeated pattern. It is **Unknown / Requires Confirmation** until someone opens the scan-host directory and reads the files.

The solution still records a Team Foundation Server binding: `https://evolutionsoft.visualstudio.com/defaultcollection` (`EvolutionSoftwareLibrary.sln`). That server was not contacted. Whether it still holds history is **Unknown / Requires Confirmation**.

## Human confirmation

- What "ieb" means, and whether this repository is the template it claims to be or a one-off import of the Evolution library.
- Any intended relationship to the Evolution Software Framework documented for `SHOU-1`.
- Whether Sample Website, the constructor, or the exporter is still deployed, and against which SQL Server.
- Whether `Sample.bak` is the schema the sample page expects.
- Whether the two Sonar filenames on the scan host are project files.
- Whether the Visual Studio Online collection is still the source of history.
