# Features — nltis

Evidence date: 2026-10-08. Revision: `main` `a9ea681` (2024-11-24).

There is no features document in the source repository. Status below is from the projects, service contracts, controllers, workers, and SQL scripts at that revision. One commit imported the tree. There is no earlier git revision to mark a feature as recently changed.

The git slug `nltis` does not appear in source. Features below are Neo Application Framework features found in this tree.

## Current features

| Feature | Status | Where |
|---|---|---|
| WCF workflow service | Current | `Neo.Afx.Services.Web/Services/WorkflowService.svc` |
| WCF document service | Current | `DocumentService.svc` |
| WCF correspondence service | Current | `CorrespondenceService.svc` |
| WCF comment service | Current | `CommentService.svc` |
| WCF audit read service | Current | `AuditService.svc` |
| WCF query service | Current | `QueryService.svc` |
| WCF notifications service | Current | `NotificationsService.svc` |
| WCF integration data-source service | Current | `IntegrationService.svc`. Namespace `neo:afx:services` |
| Document viewer and email viewer handlers | Current in the web project | `Services/DocumentViewer.ashx`, `Services/EmailViewer.ashx` |
| MVC user details, settings, roles, security, buddies | Current | `Web/Afx.UserConsole` |
| Activate and deactivate user | Current | `UserConsoleController.ActivateUser`, `DeActivateUser` |
| Save fingerprint hex template | Current | `UserConsoleController.SaveFingerprint` |
| Workflow buddy add and delete | Current | `SaveBuddy`, `DeleteBuddy` |
| Domain membership provider | Current as a class. Not registered in any tracked `Web.config` | `Neo.Afx.Core/Security/DomainMembershipProvider.cs` |
| SHA1 password hash and salt | Current | `Neo.Afx.Core/Security/SecurePassword.cs` |
| Workflow task processor | Current as a library | `Neo.Afx.WinService.Workflows/WorkflowTaskProcessor.cs` |
| No-op workflow task | Current | `DefaultTask.cs` |
| SMTP email sender | Current | `Neo.Afx.WinService.Messages/EmailSender.cs` |
| Templated email sender | Current | `TemplatedEmailSender.cs` |
| Clickatell SMS sender, enum name Vodazone | Current | `SmsVodazone.cs`, `SmsSender.cs` |
| Swift SMS sender | Current | `SmsSwift.cs` |
| POP3 helpers | Current | `Pop3Message.cs`, `Pop3Extensions.cs` |
| Poll scheduler (minutes, hourly, daily, weekly, monthly, seconds) | Current | `Neo.Afx.WinService.Common` |
| Settings from database or file | Current | `ServiceSettingsSource` |
| SQL CLR entity format, XML, CSV | Current | `Neo.Afx.SqlServer/Sys/EntityFormatter.sql.cs` |
| SQL CLR integration invoke | Current | `Neo.Afx.SqlServer/Integration/DataSource.sql.cs` |
| SQL CLR RSA ID check digit | Current | `Validation/RsaIdValidation.cs`. Registered as `System.Fn_IsValidRsaId` |
| SQL CLR company and trust format check | Current in C#. Not in the register script | `RsaCompanyRegNumberValidation.cs`, `RsaTrustNumberValidation.cs` |
| SQL CLR distance between coordinates | Current | `Helper/GeoLocationHelper.cs` |
| SQL CLR password hash, salt, generate | Current | `Neo.Afx.SqlServer.Security/Authentication.cs` |
| DevExpress report generator (CSV, Excel, PDF) | Current | `Neo.Afx.Services.Data/Reports/ReportGenerator.cs` |
| SSRS 2010 SOAP client | Current | `Web References/ReportingServices2010` |
| SSRS 2010 WCF client stored under a Pilotfish folder name | Current | `Service References/Pilotfish.Afx.Services` |
| Fingerprint reader control | Current | `Neo.ActiveX.FingerprintReader` |
| WIA document scanner control | Current | `Neo.Afx.ActiveX.DocumentScanner` |
| Barcode label printer control | Current | `Neo.Afx.ActiveX.Printing` |
| EF models for admin CRM, documents, forms, security, workflows, reports, delegation | Current | `Neo.Afx.Services.Admin.Data` |
| EF models for audits, comments, correspondence, documents, forms, integration, notifications, performance, queries, reports, security, workflows | Current | `Neo.Afx.Services.Data` |
| Filesystem publish profile "afx V1" | Current | `Neo.Afx.Services.Web/Properties/PublishProfiles/afx V1.pubxml` publishes to `C:\Deploys\Afx V1` |
| Debug, QA, and Release solution configurations | Current | All four root solutions. QA for `Neo.Afx.Services.Admin.Data` and `Neo.Afx.WinService.Workflows` maps to the Release build |

## Present only as deployed markup

These files name a service type. The class is not in the `.cs` tree.

| Feature | Status | Where |
|---|---|---|
| `FormService` | Deployed markup only | `Neo.Afx.Services.Web/Deploy/AfxWorkflows/AfxServices/FormService.svc` and `Deploy/NeoAfxSharedAssemblies/AfxServices/FormService.svc`. Service name `Neo.Afx.Services.FormService` |
| `ValidationService` | Deployed markup only | Same deploy folders. Service name `Neo.Afx.Services.ValidationService` |
| `DocumentMerger.ashx` | Deploy folder only | Not under `Neo.Afx.Services.Web/Services` |
| `RenderExcelGrid.ashx` and `RenderExcelGridV2.ashx` | Deploy folder only | Same |
| `ReportViewer.ashx` | Deploy folder only | Same |
| `WorkflowTaskAction.aspx` | Deploy folder only | Same |

`Neo.Afx.Services.Web/Services` itself has no `FormService.svc` and no `ValidationService.svc`.

## Not a product feature of this revision

| Item | Why |
|---|---|
| NLTIS screens or rules | The string does not occur |
| SonarQube scan scripts | Listed by the onboarding scan. Not in git |
| Windows Service executable | Worker projects are class libraries. No `ServiceBase` |
| Login UI | No login view or controller |
| Asserting unit tests | `TestGetLookups.TestMethod1` and `DataSourceTest.GetDataTest` call live integration code and do not assert |
| NuGet restore from `packages.config` alone | Console `packages.config` lists only EntityFramework 6.1.3. The project file references MVC 4 and other packages whose `packages` folder is not tracked |
| `Afx.Consoles.sln` build as written | Project path `..\Neo.Afx.Admin.Data\Neo.Afx.Admin.Data.csproj` is missing. GUID `{6D5A6449-FE9E-4395-8496-66B0A0A1B5B4}` is `Neo.Afx.Services.Admin.Data` |

## Planned

Nothing in the repository describes planned work. The single commit message is `new repo`.

## Deprecated or removed

Git history cannot show removals. It has one commit.

**Inferred** leftovers, not proof of a deliberate removal:

- Form and validation `.svc` files whose classes are absent.
- Service-reference folder name `Pilotfish.Afx.Services` whose metadata address is a developer machine report server (`hannes-pc`).
- Security SQL script path `C:\Development\Orca\Neo\SqlServer\V1\Deploy\Neo.SqlServer.Security.dll`.
- Fingerprint control declares `DPFP.Capture.EventHandler` only inside a comment on the class line.

## Source map

| Area | Path |
|---|---|
| Web services | `Neo.Afx.Services.Web/Services` |
| User console | `Web/Afx.UserConsole` |
| Domain data | `Neo.Afx.Services.Data` |
| Admin data | `Neo.Afx.Services.Admin.Data` |
| Workers | `Neo.Afx.WinService.Common`, `Neo.Afx.WinService.Messages`, `Neo.Afx.WinService.Workflows` |
| SQL CLR | `Neo.Afx.SqlServer`, `Neo.Afx.SqlServer.Security` |
| Devices | `Neo.ActiveX.FingerprintReader`, `Neo.Afx.ActiveX.DocumentScanner`, `Neo.Afx.ActiveX.Printing` |
| Vendored binaries | `Assemblies` |
| Deploy copies | `Deploy`, `Neo.Afx.Services.Web/Deploy` |
