The local_resort_courses plugin acts completely behind the scenes. After installing local_resort_courses, as soon as a course has been added or modified in a category, local_resort_courses verifies that the containing category page is automatically sorted just as it would be sorted when you click the "Re-sort courses by name" button on the category page.
By default, local_resort_courses sorts categories by course full name in ascending order, just as the "Re-sort courses by name" button on the category page does. You can set sort order to another value, including course short name (ascending / descending), course ID (ascending / descending) and course start date (ascending / descending).
By default, local_resort_courses handles re-sort jobs for every category. You can define categories which mustn't be sorted automatically and whose sort order can still be controlled manually. Additionally, you can define that local_resort_courses should skip the selected categories and all of their descendant categories when handling re-sort jobs.
See README file for details.