Здравствуйте. Производим внедрение мудлы в электронную систему нашего ввуза. и перед нами встала следующая задача: существует наша собственная автоматизированная система с некой бд. в бд содержатся записи - которые будут для мудлы категориями (факультет) подкатегориями (уровень образования и т.д.) и курсами - дисциплины; всего где-то 2000-3000 элементов. чтобы вручную не вбивать весь этот багаж - необходимо импортировать записи в базу данных мудлы. ну и собственно вопро как это сделать, куда вообще копать? Подскажите, пожалуйста.
Копать в сторону поиска программеров.
В moodle до сих пор нет средств для работы с категориями! До сих пор нельзя сделать бекап категории. Все действия с категориями только вручную, только хардкор!
Работа с курсами более автоматизирована - есть автосоздание курсов, только я не в курсе как их создавать в определенных категриях.
В принципе, API для создания курсов и категорий есть. API для подписки есть. Даже есть немного документации
PS а кто это 2-3 тысяч курсов будет наполнять ? Само создание курса не сложное действие, главное чтобы категории были созданы и права в них назначены.
дело в том что в вузе постоянно изменяются какие-либо параметры - например название дисциплины или происходят изменения в структуре, добавляются и убираются дисциплины.. и хотелось бы иметь возможность автоматизировать все это.. для начала научиться добавлять дерево - то есть категории и подкатегории из базы которую имеем. а потом можно шаманить и дальше.
для начала бы понять как добавить категорию средствами базы данных а не лмской. кда внести запись чтобы категория создалась..
Название дисциплины - это фигня! Она ничего не меняет. Вот когда структуру начинают менять - тогда да.
там API есть coursecat::create()
Как вариант, тут http://2013.moodlemoot.in.ua/course/view.php?id=53 модуль, позволяет решить подобную задачу без внешней базы. Всё управляется в рамках мудла, при переименовании дисциплин, специальностей все связанные названия обновляются.
И ещё. Не пишите напрямую в базу данных мудла. Это черевато созданием глючной системы. Например создадите категорию, а не создадите контектсы - работать не будет. Снаружи - только вызовом веб-сервисов, изнутри - только вызовом библиотечных функций
Обещают, что уже в Moodle 2.6 мы получим новый, более удобный интерфейс для работы с категориями курсов и автоматического создания курсов.
А пока категории можете создать вручную (у меня, например, 50 кафедр - это час ручного ввода), а курсы можно создавать массово, причем не пустые, а на основе некоторого шаблона, пользуясь прилагаемым плагином, который, как я понял, и должен будет войти в ядро Moodle 2.6.
Плагин устанавливается в папку /moodle/admin/tool/. В нем есть украинский перевод. Еще у меня есть такая инструкция.
Отличная новость!
Тестировал на днях новый интерфейс работы с категориями. У него есть недостатки, по мне так он достаточно тормозной, но он позволяет решить основную проблему - полностью делегировать другим сотрудникам управление категориями курсов, в том числе удаление, и позволяет работать с системами в несколько тысяч курсов. Про автоматичекое создание курсов ничего не видел.
1. Создание курсов по файлам CSV в Moodle 2.6 см. в Администрирование - Курсы -Upload courses.
2. Не могу представить, что структура факультетов, кафедр и пр. меняется насколько быстро и часто, что внесение этих изменений в Moodle целесообразно автоматизировать.
Вам нужно более конкретно определиться, что именно Вы хотите.
Если речь об однократном переносе данных, то можно сделать как угодно, лишь бы работало. Никакого программирования тогда не нужно. Вполне подойдёт импорт курсов, но даже если делать вручную, работа оператора на 3000 записей всё-равно обойдется дешевле работы программиста.
Если речь о том, чтобы данные в мудле и вашей базе синхронизировались автоматически - то тут только программирование. Для решения этой задачи нужно определиться, как именно вы хотите делать синхронизацию, запросами из мудла, тогда нужно писать модуль к мудлу, или запросами из вашей системы, тогда нужно писать вызов веб-сервисов мудла из вашей системы. Также стоит подумать, должны ли изменения в одной системе отражаться в другой немедленно, но тогда между системами должна быть гарантированная связь, или же синхронизацию можно делать по расписанию.
Напишите, какой подход больше по душе, тогда можно будет дать больше советов.