subida de cursos con 'idnumber' como clave unica

subida de cursos con 'idnumber' como clave unica

by Eber Angel Quispe Paco -
Number of replies: 8

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

Average of ratings: -
In reply to Eber Angel Quispe Paco

Re: subida de cursos con 'idnumber' como clave unica

by Juan Carlos Molina -

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

Average of ratings: Útil (1)
In reply to Juan Carlos Molina

Re: subida de cursos con 'idnumber' como clave unica

by Eber Angel Quispe Paco -

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.

In reply to Eber Angel Quispe Paco

Re: subida de cursos con 'idnumber' como clave unica

by Juan Carlos Molina -

No conozco el plugin.

¿Puedes poner un enlace al código para que lo revise?

Saludos. 

In reply to Juan Carlos Molina

Re: subida de cursos con 'idnumber' como clave unica

by Eber Angel Quispe Paco -

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

In reply to Eber Angel Quispe Paco

Re: subida de cursos con 'idnumber' como clave unica

by Juan Carlos Molina -

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
            
    }
In reply to Juan Carlos Molina

Re: subida de cursos con 'idnumber' como clave unica

by Eber Angel Quispe Paco -

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.

In reply to Juan Carlos Molina

Re: subida de cursos con 'idnumber' como clave unica

by Eber Angel Quispe Paco -

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?

In reply to Eber Angel Quispe Paco

Re: subida de cursos con 'idnumber' como clave unica

by Alejandra Cruz -

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.