Resource Selection & Strategy Engine

Business perspective: Resource Selection & Strategy Engine

1. Business Summary

Strategy-driven matching of jobs/tasks to resources, with sortable criteria, filters, exclusions, and cron-scheduled execution.

2. Business Value

Automates one of the highest-leverage decisions in localization operations: which resource for which task.

3. Users / Stakeholders

Vendor managers, PMs.

4. Workflows

  • ResourceSelection created (often from RFR).
  • Strategy (ResourcesStrategy) defines sorts (ResourceStrategySort) and filters (ResourcesStrategiesFilter).
  • Plans (Plan, PlansStrategy) bundle strategies.
  • Selection runs:
  • Load plan/strategy.
  • Query Resources excluded by ResourceSelectionsExcludedResources.
  • Apply filters (language pair, cost, capability).
  • Sort (price asc, rating desc, availability asc).
  • Compute utilization.
  • Persist ResourceSelectionsResource records (approval_status pending).

5. Sub-Features

  • Strategy + sort + filter + exclusion configuration.
  • Cron-scheduled selections.
  • Approval workflow (Pending/Approved/Rejected/Conditional).
  • Maximum extension support.
  • Reject reasons enumerated.

6. Business Rules

  • Excluded resources never returned.
  • Approved resources receive notifications.
  • Maximum extension limits deadline shifting.

7. Data Entities

ResourceSelection, ResourceSelectionsResource, ResourceSelectionsExcludedResource, ResourcesStrategy, ResourceStrategySort, ResourcesStrategiesFilter, StrategyFilter, Plan, PlansStrategy, MaximumExtension, ResourceSelectionRejectReason, CronResourceSelectionsSchedule.

8. Entry Points

  • resources/resourceSelections, resources/plans, resources/plansStrategies, resources/cronResourceSelectionsSchedules.

9. Inputs & Outputs

  • Inputs: RFR / job specs, strategy.
  • Outputs: ranked list of selected resources, exclusions, logs.

10. Integrations

  • RFR / Tasks / Email notifications.

11. Calculations / Logic

  • Sort order ambiguous (likely DB sort by sort_order).
  • Utilization included in ranking.
  • Score-based weighting from evaluations.

12. Status Lifecycle

  • ResourceSelectionsResource.approval_status (pending/approved/rejected/conditional).

13. Permissions

  • VM, PM, brand-scoped.

14. Reports & KPIs

  • Selection success rate, time to assign, exclusion rates, utilization.

15. Risks & Observations

  • Strategy sort algorithm not transparent.
  • Selection cron failures not visible without monitoring.
  • Possible non-determinism between environments due to ordering quirks.

16. Source Code Evidence

  • app/Plugin/resources/Model/ResourceSelection.php, ResourceSelectionsResource.php, ResourceSelectionsExcludedResource.php, ResourcesStrategy.php, ResourceStrategySort.php, ResourcesStrategiesFilter.php, StrategyFilter.php, Plan.php, PlansStrategy.php, MaximumExtension.php, ResourceSelectionRejectReason.php, CronResourceSelectionsSchedule.php.
  • app/Plugin/resources/Controller/ResourceSelectionsController.php, PlansController.php, PlansStrategiesController.php, CronResourceSelectionsSchedulesController.php.

← Deep dives index