Skip to content
CAI
Software that uses CAICheck a score

ventrian/Property-Agent

43.7

Weak · 1 October 2026

37.9k

lines of production code

VB.NET

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a DotNetNuke (DNN) module designed for managing property listings, featuring enhanced search capabilities, statistics tracking, and configurable visibility controls for authenticated users. It provides a modernized user interface with HTML5 file uploads for property images and documents, replacing legacy Flash-based components. The module supports responsive layouts, localization, and integrates with Google Maps for geocoding, all built on a recent .NET Framework and DNN platform stack.

Features

HTML5 photo upload control and upload limit fix

A new HTML5-based photo upload control (UploadPhotoHTML5) has been added to the Controls module, providing a modern file upload interface alongside the existing Flash-based uploader. Additionally, the upload limit logic in the SWF uploader has been corrected to return an integer value instead of a string, and the photo refresh logic in the standard uploader has been updated to safely handle parent control types.

Controls · high confidence

Behavioural changes

Contact forms now support percentage-based widths and HTML5 file uploads

The ContactForm and CommentForm modules now accept percentage values for their width settings, allowing for more flexible responsive layouts. Additionally, the photo upload functionality has been updated to replace the deprecated Flash-based uploader with a modern HTML5 file uploader, improving compatibility and security for users uploading property images.

(repo-wide) · high confidence

Localization of auto-generated My Project files to Italian

The auto-generated files in the My Project folder (Application.Designer.vb, Resources.Designer.vb, and Settings.Designer.vb) have been updated to use Italian for their internal comments and region headers. This change reflects an update to the Visual Studio tooling version (e.g., StronglyTypedResourceBuilder and SettingsSingleFileGenerator attributes updated to 17.x) and ensures that the generated code comments are consistent with the localized project settings, without altering the application's runtime behavior.

My Project · high confidence

Localization updates for HTML5 upload and visibility settings

The application's local resource files have been updated to support new UI labels and help text. Specifically, the layout settings now include localization for the 'HTML5' upload mode and a new 'Max Total File Upload Limit MB' setting, which allows administrators to define a total storage cap for file uploads. Additionally, property editing resources now include labels for the 'Show to all users' visibility option, enabling the feature to restrict property visibility to authenticated users only.

_App\LocalResources · high confidence

Property visibility control and statistics tracking enhancements

The SQL data provider now supports restricting property visibility to authenticated users only via a new 'OnlyForAuthenticated' flag, which is propagated through property creation, listing, and update operations. Additionally, properties are now assigned UniqueID and OriginID fields to facilitate identification and migration across different DNN installations. The provider also introduces module-level statistics tracking by adding a ModuleID column to the statistics table and implementing new stored procedures and methods to add, retrieve, and list property view statistics.

Providers/DataProviders, Providers/DataProviders/SqlDataProvider · high confidence

Property visibility, search integration, and upload limits

Users can now restrict property listings to authenticated users only via a new 'OnlyForAuthenticated' flag on properties and corresponding controller logic. The Latest module supports filtering by a specific Property ID or search values passed in the URL query string. A new maximum file upload limit setting is available to control document sizes. Additionally, the core search integration has been updated to use the modern DNN search document model, and the Geocoder now correctly passes the API key to Google Maps.

Entities · high confidence

Fixes

3 commits (2 fixes) fixing Documentation

A fix in Documentation — 3 commits (2 fixs), 2 files.

Documentation · medium confidence · unverified

Dependencies

Adds Fileuploader v2.1 assets and jQuery 3.2.1

The module now includes the Fileuploader v2.1 library (version 2.1, dated 26-Nov-2018) with its associated font files and CSS, replacing the previous SWF-based upload mechanism with an HTML5 uploader. Additionally, jQuery has been updated to version 3.2.1 to support the new file uploader and ensure compatibility with modern browsers.

JS · high confidence

Upgrade to .NET Framework 4.8.1 and DNN 9.4.3+ compatibility

The project has been upgraded from .NET Framework 3.5 to 4.8.1 and updated to target DotNetNuke version 9.4.3, ensuring compatibility with modern DNN environments (DNN 7.4.2 through DNN 10+). This change includes updating build tools to MSBuild 12.0, adding references to DNN Abstractions and Web Client libraries, and incorporating the Menulab.FlexCaptcha library. Additionally, the SQL data provider project now includes installation scripts for versions 01.09.00 and 01.10.12, and the main project bundles necessary DNN and third-party libraries for deployment.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 30 → 44 (+13.9)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 56 (new)
  • Architecture 100 → 72 (-28.2)
  • Maturity 19 → 43 (+23.6)
  • Readiness 26 → 33 (+7.7)
  • Security 69 → 69 (+0.0)

Resolved (1)

  • Documentation: no licence statement (README.md)

New (496)

  • AgentController.AddUsersToList (cognitive 26) (Entities/AgentController.vb)
  • AgentController.FillUserInfo (cognitive 21) (Entities/AgentController.vb)
  • ApproveReviews.cmdApprove_Click (cognitive 70) (ApproveReviews.ascx.vb)
  • ChangeTemplate.InitializeTemplate (cognitive 79) (ChangeTemplate.ascx.vb)
  • ChangeTemplate.InitializeTemplate (cyclomatic 44) (ChangeTemplate.ascx.vb)
  • ClassTooLong: CommentForm (CommentForm.ascx.vb)
  • ClassTooLong: Constants (Entities/Constants.vb)
  • ClassTooLong: ContactForm (ContactForm.ascx.vb)
  • ClassTooLong: EditCustomField (EditCustomField.ascx.vb)
  • ClassTooLong: EditPermissions (EditPermissions.ascx.vb)
  • ClassTooLong: EditProperties (EditProperties.ascx.vb)
  • ClassTooLong: EditProperty (EditProperty.ascx.vb)
  • ClassTooLong: LandingPage (LandingPage.ascx.vb)
  • ClassTooLong: Latest (Latest.ascx.vb)
  • ClassTooLong: LatestOptions (LatestOptions.ascx.vb)
  • ClassTooLong: PropertyInfo (Entities/Property/PropertyInfo.vb)
  • ClassTooLong: PropertySettings (Entities/Property/PropertySettings.vb)
  • ClassTooLong: Search (Search.ascx.vb)
  • ClassTooLong: SearchSmall (SearchSmall.ascx.vb)
  • ClassTooLong: UploadPhotoHTML5 (Controls/UploadPhotoHTML5.ascx.vb)
  • …and 476 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

ventrian/Property-Agent was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 5b7b207f1883d6081cb5f59fdd87bdf897210d0d — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.