https://docs.moodle.org/dev/Web_services
https://docs.moodle.org/dev/Web_service_API_functions
https://docs.moodle.org/dev/Creating_a_web_service_client
Очень сомнительно, что Вы сможете в достаточно универсальном виде сделать описание структуры курса в текстовом файле. Но если всё-таки будете пробовать -
начните пробовать с формата yml.
Чтобы отслеживать изменения файлов в папке лучше использовать проверенные средства вроде систем контроля версий, поэтому одним из лучших решений будет, если вы используете для этого git.
Но ваша затея изначально достаточно сомнительна. Moodle спроектирован таким образом, что за загрузку контента в курс должна отвечать не какая-то программа, сканирующая папки, а преподаватель, ведущий курс. Преподаватель может это сделать легко через веб-интерфейс. Если преподаватель не будет взаимодействовать со студентами через систему (выставляя файлы, оценивая задания и т.п.), система не будет развиваться, в результате через какое-то время ей перестанут пользоваться.
Если ваша задумка связана с тем, чтобы минимальными силами внести контент в moodle, то это хорошая идея для быстрого запуска проекта. Если вы надеетесь, что таким образом сможете поддерживать контент в актуальном состоянии - то это плохая идея, этим преподаватели должны заниматься напрямую в системе, минуя вас.
https://docs.moodle.org/dev/Web_service_API_functions
https://docs.moodle.org/dev/Creating_a_web_service_client
Очень сомнительно, что Вы сможете в достаточно универсальном виде сделать описание структуры курса в текстовом файле. Но если всё-таки будете пробовать -
начните пробовать с формата yml.
Чтобы отслеживать изменения файлов в папке лучше использовать проверенные средства вроде систем контроля версий, поэтому одним из лучших решений будет, если вы используете для этого git.
Но ваша затея изначально достаточно сомнительна. Moodle спроектирован таким образом, что за загрузку контента в курс должна отвечать не какая-то программа, сканирующая папки, а преподаватель, ведущий курс. Преподаватель может это сделать легко через веб-интерфейс. Если преподаватель не будет взаимодействовать со студентами через систему (выставляя файлы, оценивая задания и т.п.), система не будет развиваться, в результате через какое-то время ей перестанут пользоваться.
Если ваша задумка связана с тем, чтобы минимальными силами внести контент в moodle, то это хорошая идея для быстрого запуска проекта. Если вы надеетесь, что таким образом сможете поддерживать контент в актуальном состоянии - то это плохая идея, этим преподаватели должны заниматься напрямую в системе, минуя вас.