research_application_workflow/
├── config/
│ ├── schema/ # Configuration schema definitions
│ └── optional/ # Optional configuration
├── src/
│ ├── Controller/ # Page controllers
│ ├── Form/ # Form definitions
│ ├── EventSubscriber/ # Event listeners
│ ├── Plugin/ # Drupal plugins
│ └── Service/ # Custom services
└── module files # .yml configuration files
-
Applications Management
research_application_workflow.form→ExpressionsInterest(Form)research_application_workflow.expressions_interest→ActiveExpressionsInterest::dashboardIrresearch_application_workflow.upload_expression_interest.form→UploadExpressionInterest(Form)research_application_workflow.submit_application.form→SubmitApplication(Form)
-
Admin Functions
research_application_workflow.application_settings.form→ApplicationSettings(Form)research_application_workflow.download_csv→DownloadCandidatesCsv::downloadCsv
-
Rankings System
research_application_workflow.ranking_per_field→RankingPerFieldresearch_application_workflow.rankings_admin→RankingsEvaluatorsAdmin
research_application_workflow.redirect_users→ Handles user redirects based on rolesresearch_application_workflow.rankings_manager→ Manages application rankingsresearch_application_workflow.taxonomy_print_configuration_subscriber→ Event subscriber for taxonomy printing
- Candidate Portal - For applicants to submit expressions of interest
- Researcher Portal - For researchers to review expressions of interest
- Admin Portal - For administrators to manage the application process
- Rankings Management - For evaluating and ranking applications
research_application_workflow.applicationsettings- Stores application settings like dates and email
- Application submission workflow
- Approval processes
- Ranking and evaluation system
candidato- Regular applicantscandidato_enviado- Applicants who have submittedinvestigador_responsable- Researchers reviewing applicationsadministrator- System administrators
This modular architecture follows Drupal's component-based design pattern, with clear separation between:
- Routes (defining URLs)
- Controllers (handling requests)
- Forms (user interaction)
- Services (business logic)
The module manages a complete application workflow system for research positions, from submission to evaluation and ranking.