How prjseal/umbraco-13-series works
This is an Umbraco 13 tutorial site: editors define structured content, and visitors browse rendered pages, search content, and submit contact enquiries. The clearest traced workflow is search: the page controller reads request parameters, builds a search request, invokes the search service, and prepares page and pagination models for rendering. Contact submissions are validated and sent as email. The tree also shows broader content-rendering and back-office capabilities; their internal wiring is not established by the sampled excerpts, so those links are omitted or marked unverified.
Main entry points: SearchPageController.cs Search page controller · ContactSurfaceController.cs Contact controller · SearchPageContentModel.cs Search page model · SearchService.cs Search service
Components 25
Site experience
- Search page view
Freelancer/Views/SearchPage.cshtml - Search view components
Freelancer/Components - Search results component
Freelancer/Components/SearchResultsViewComponent.cs - Contact controller
Freelancer/Controllers/Surface/ContactSurfaceController.cs - Contact form model
Freelancer/Models/ViewModels/ContactViewModel.cs - Contact view
Freelancer/Views/Partials/contact.cshtml - Page templates
Freelancer/Views
Search
- Search page controller
Freelancer/Controllers/Render/SearchPageController.cs - Search request
Freelancer/Models/Search/SearchRequestModel.cs - Search service
Freelancer/Services/SearchService.cs - Examine index
- Search response
Freelancer/Models/Search/SearchResponseModel.cs - Search page model
Freelancer/Models/ContentModels/SearchPageContentModel.cs - Pagination helper
Freelancer/Helpers/PaginationHelper.cs - Pagination model
Freelancer/Models/ViewModels/PaginationViewModel.cs
Content management
- Content models
Freelancer/Models/Generated - Block and partial views
Freelancer/Views/Partials
Site operations
- Tag save handler
Freelancer/Notifications/ContentSavingNotificationHandler.cs - Notification registration
Freelancer/Composers/RegisterNotificationsComposer.cs - Search index component
Freelancer/Search/IndexComponent.cs - Index registration
Freelancer/Composers/IndexComposer.cs - Site configuration
Freelancer/Configuration/FreelancerConfig.cs
Other components
- Site visitor
- Email sender
- Umbraco editor
Connections 23
- Site visitor → Search page controller: requests search
Freelancer/Controllers/Render/SearchPageController.cs - Search page controller → Search request: builds request
Freelancer/Controllers/Render/SearchPageController.cs - Search page controller → Search service: calls search
Freelancer/Controllers/Render/SearchPageController.cs - Search service → Examine index: queries index
Freelancer/Services/SearchService.cs - Search service → Search response: returns results
Freelancer/Services/SearchService.cs - Search page controller → Pagination helper: formats pagination
Freelancer/Controllers/Render/SearchPageController.cs - Search page controller → Pagination model: builds pagination
Freelancer/Controllers/Render/SearchPageController.cs - Search page controller → Search page model: builds page model
Freelancer/Controllers/Render/SearchPageController.cs - Search page model → Search request: holds request
Freelancer/Models/ContentModels/SearchPageContentModel.cs - Search page model → Search response: holds results
Freelancer/Models/ContentModels/SearchPageContentModel.cs - Search page model → Pagination model: holds pagination
Freelancer/Models/ContentModels/SearchPageContentModel.cs - Search page controller → Search page view: renders template
Freelancer/Controllers/Render/SearchPageController.cs - Search view components → Search request: uses request model
Freelancer/Components/SearchFormViewComponent.cs - Search results component → Search response: uses results model
Freelancer/Components/SearchResultsViewComponent.cs - Site visitor → Contact controller: submits enquiry
- Contact controller → Contact form model: accepts form model
Freelancer/Controllers/Surface/ContactSurfaceController.cs - Contact controller → Email sender: sends email
Freelancer/Controllers/Surface/ContactSurfaceController.cs - Contact controller → Site configuration: reads settings
Freelancer/Controllers/Surface/ContactSurfaceController.cs - Site visitor → Page templates: views site pages
- Umbraco editor → Content models: authors structured content
- Content models → Block and partial views: rendered by
- Notification registration → Tag save handler: registers handler
Freelancer/Composers/RegisterNotificationsComposer.cs - Index registration → Search index component: registers component
Freelancer/Composers/IndexComposer.cs