Buen dia, estoy tratando de crear cursos al moodle pero sucede que en algunas categorias existen cursos con el mismo 'shortname' por lo cual no puedo crear el curso sin embargo el campo 'idnumber' es unico, mi pregunta va a como debo hacer cambiar la clave unica de 'shortname' por 'idnumber', uso moodle 2.2
Re: subida de cursos con 'idnumber' como clave unica
Hola,
el idnumber tampoco se puede repetir.
La única solución que veo es /moodle/course/lib.php buscar la función
function create_course($data, $editoroptions = NULL){
...
}
Dentro de ella comenta las siguientes líneas:
//check if the shortname already exist
//if (!empty($data->shortname)) {
// if ($DB->record_exists('course', array('shortname' => $data->shortname))) {
// throw new moodle_exception('shortnametaken');
// }
//}
Ve a /moodle/course/edit_form.php y desactiva la validación extra que hay en el formulario, está al final del fichero:
/// perform some extra moodle validation
/* function validation($data, $files) {
global $DB, $CFG;
$errors = parent::validation($data, $files);
if ($foundcourses = $DB->get_records('course', array('shortname'=>$data['shortname']))) {
if (!empty($data['id'])) {
unset($foundcourses[$data['id']]);
}
if (!empty($foundcourses)) {
foreach ($foundcourses as $foundcourse) {
$foundcoursenames[] = $foundcourse->fullname;
}
$foundcoursenamestring = implode(',', $foundcoursenames);
//$errors['shortname']= get_string('shortnametaken', '', $foundcoursenamestring);
}
}
$errors = array_merge($errors, enrol_course_edit_validation($data, $this->context));
return $errors;
}*/
Así puedes repetir el nombre corto del curso. Para el IDNUMBER es más o menos parecido.
Saludos,
JC
Re: subida de cursos con 'idnumber' como clave unica
Gracias Juan Carlos hice los cambios y funciona, ahora para subir cursos uso el plugin uploadcourse.php, el cual hace lo mismo no crea cursos duplicados, en dicho plugin que lineas cambio para que me cree los cursos duplicados, intente hacerlo pero no consigo solucionarlo, gracias de antemano.
Re: subida de cursos con 'idnumber' como clave unica
No conozco el plugin.
¿Puedes poner un enlace al código para que lo revise?
Saludos.
Re: subida de cursos con 'idnumber' como clave unica
Hola, esta es la direccion https://github.com/marxjohnson/moodle_admin-uploadcourse.php, cambie alguna cosas, ahora el detalle es quiero subir 50 mil registros (cursos), pero no lo hace, por el momento solo puedo subir cursos por categorias, lo cual es demoroso, quisiera usar este plugin para subir de golpe los 50 mil registros, esperome puedas ayudar
Re: subida de cursos con 'idnumber' como clave unica
Has probado a modificar esta función que te corta si un curso tiene el mismo shortname que otro?
function fast_is_course($hshortname) {
// Does a course with the given shortname exist?
global $DB;
$shortname = clean_param($hshortname, PARAM_TEXT);
return $DB->record_exists('course', array('shortname' => $shortname)); // Check shortname is unique before inserting
}
Re: subida de cursos con 'idnumber' como clave unica
Muchas gracias por la ayuda, ya logro subir archivos con shortname iguales, ahora el otro detalle es que demora muchisimo en subir los cursos (lo hago por categorias) y como te decia son demasiados los cursos que quiero crear, mas de 40 mil, quisiera crearlos de golpe ya que subirlos por categorias es muy tediosa, espero me puedas ayudar, gracias.
Re: subida de cursos con 'idnumber' como clave unica
Hola de nuevo, instale el moodle 2.3 en un servidor, el problema ahora es que no funciona el pligin uploadcourse.php, es decir no carga la pagina se queda en blanco, o hay otra forma de subir cursos masivamente?
Re: subida de cursos con 'idnumber' como clave unica
Hola.
Necesito ayuda. Tengo que crear o subir cursos masivamente pero nose como hacerlo ni se si se pueda hacer.
por favor, ayudenme en como hacerlo.