How fgtclb/academic-extensions works
This is a TYPO3 monorepo containing independently released academic extensions, not one application with a single end-to-end workflow. The recurring visitor workflow is a TYPO3 frontend request into an extension controller, which obtains or prepares domain data and assigns it for rendering. Extensions cover people and profile editing, jobs, partners, projects, programs, page contacts, and bite-sized job listings; academic_base supplies shared controller context and configuration utilities. The graph focuses on workflows evidenced by the tree and sampled controllers; other extension capabilities are represented without asserting unsampled wiring.
Main entry points: Controller/ProfileController.php Profile listings · JobController.php Job listings · PartnerController.php Partner listings · Controller/ProfileController.php Profile editing
Components 19
Shared TYPO3
- Plugin context
packages/fgtclb/academic-base/Classes/Domain/Model/Dto/PluginControllerActionContext.php
People and Contacts
- Profile listings
packages/fgtclb/academic-persons/Classes/Controller/ProfileController.php - Profile editing
packages/fgtclb/academic-persons-edit/Classes/Controller/ProfileController.php - Update validation
packages/fgtclb/academic-persons-edit/Classes/Service/ProfileUpdateValidationService.php - Profile records
packages/fgtclb/academic-persons/Classes/Domain/Repository/ProfileRepository.php - Page contacts
packages/fgtclb/academic-contact4pages/Classes/Controller/ContactsController.php - Contact provider
packages/fgtclb/academic-contact4pages/Classes/Service/PageContactsProvider.php - User sync model
packages/fgtclb/academic-persons-sync/Classes/Domain/Model/FrontendUser.php
Jobs and Partners
- Job listings
packages/fgtclb/academic-jobs/Classes/Controller/JobController.php - Job records
packages/fgtclb/academic-jobs/Classes/Domain/Repository/JobRepository.php - Partner listings
packages/fgtclb/academic-partners/Classes/Controller/PartnerController.php - Partner records
packages/fgtclb/academic-partners/Classes/Domain/Repository/PartnerRepository.php - Partner map
packages/fgtclb/academic-partners/Resources/Public/JavaScript/frontend/map.js - Bite job list
packages/fgtclb/academic-bite-jobs/Classes/Controller/BiteJobsController.php - Bite job service
packages/fgtclb/academic-bite-jobs/Classes/Services/BiteJobsService.php
Academic Listings
- Project listings
packages/fgtclb/academic-projects/Classes/Controller/ProjectController.php - Program listings
packages/fgtclb/academic-programs/Classes/Controller/ProgramController.php
Other components
- Frontend visitor
- Mail service
Connections 18
- Frontend visitor → Profile listings: requests
- Profile listings → Profile records: queries
- Profile records → Profile listings: returns profiles
- Profile listings → Plugin context: builds context
- Frontend visitor → Profile editing: submits edits
- Profile editing → Update validation: validates update
- Frontend visitor → Page contacts: requests
- Page contacts → Contact provider: gets contacts
- Frontend visitor → Job listings: requests
- Job listings → Job records: queries records
- Job listings → Mail service: sends notice
- Frontend visitor → Partner listings: requests
- Partner listings → Partner records: queries partners
- Partner listings → Partner map: renders map data
- Frontend visitor → Bite job list: requests
- Bite job list → Bite job service: fetches listings
- Frontend visitor → Project listings: requests
- Frontend visitor → Program listings: requests