{"id":13600423,"url":"https://github.com/Solution-Management/CtrlVAF","last_synced_at":"2025-04-11T00:31:23.220Z","repository":{"id":40853271,"uuid":"282204487","full_name":"Solution-Management/CtrlVAF","owner":"Solution-Management","description":"An extensive framework, made to make your life as an M-Files VAF engineer much more simple, powerful and S.O.L.I.D","archived":false,"fork":false,"pushed_at":"2022-12-07T20:40:41.000Z","size":283,"stargazers_count":5,"open_issues_count":6,"forks_count":5,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-12T04:46:49.568Z","etag":null,"topics":["m-files","reflection","vault-application-framework"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Solution-Management.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-24T11:39:48.000Z","updated_at":"2022-11-04T10:59:37.000Z","dependencies_parsed_at":"2023-01-23T20:00:10.959Z","dependency_job_id":null,"html_url":"https://github.com/Solution-Management/CtrlVAF","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solution-Management%2FCtrlVAF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solution-Management%2FCtrlVAF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solution-Management%2FCtrlVAF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solution-Management%2FCtrlVAF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Solution-Management","download_url":"https://codeload.github.com/Solution-Management/CtrlVAF/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248322262,"owners_count":21084334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["m-files","reflection","vault-application-framework"],"created_at":"2024-08-01T18:00:38.776Z","updated_at":"2025-04-11T00:31:22.183Z","avatar_url":"https://github.com/Solution-Management.png","language":"C#","funding_links":[],"categories":["Development"],"sub_categories":["Libraries and open source"],"readme":"# CtrVAF\n\nThis package was created in order to move logic out of the standard VaultApplication class into seperate classes that can handle these tasks for the VaultApplication class.\n\nThe design is based on the dispatcher/command pattern. \n\nAt this time there are three different dispatchers:\n\n1. **Event** dispatcher that seeks out classes that react to M-Files events. These classes would replace the event handler functions on the VaultApplication class.\n2. **Validation** dispatcher which seeks out classes that do custom validation on the configuration set in the admin tools. These classes would replace the logic happening inside the overrideable `CustomValidation()` method of the VaultApplication class\n3. **Background** dispatcher which seeks out classes with a method that can be called as a background operation\n\nFurthermore, every dispatcher can be decorated with a **Licensed** dispatcher to enable easy marking of license requirements on the handler classes.\n\nAll this minimizes the times the VaultApplication class needs to be reopened and edited. Perfect open/close on the VaultApplication class is not (yet) possible we think, but this is a step in that direction. \n\nFor more information on how each dispatcher works and how to implement the handler classes, please take a look at the information in the relevant folder.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSolution-Management%2FCtrlVAF","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSolution-Management%2FCtrlVAF","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSolution-Management%2FCtrlVAF/lists"}