Академический Документы
Профессиональный Документы
Культура Документы
Tema
$(selector).formSelect()
o Reestablecer los inputs de tipo select
Index CRUD
Setup
o active_nav(selector)
File: custom-script.js
Descripción: Activar el ítem del menú lateral izquierdo
o program_load_datatables()
File: self
Descripción: Cargar datatables
o load_modal()
File: custom-script.js
Descripción: Cargar plugin de ventanas modales
o load_tinymce() * Solo habilitar cuando se deba tener un editor enriquecido
File: custom-script.js
Descripción: Carga el plugin de tinymce
Eventos
o Form Submits
o Upload files (dropify)
ajax_file_submit(selector,input_uri,params);
File: custom-script.js
Descripción: Sirve para subir un archivo a la carpeta temporal
Funciones CRUD
o modelo_load_datatables()
o modelo_create_modal_open()
Llamar modelo_create_modal_clear()
Abrir modal con jQuery
Enfocar primer input
o modelo_store()
Serializar los inputs del formulario
Envío ajax_submit(ruta, datos,callback)
o modelo_create_update()
recargar la tabla de ajax
Mostrar modal: modelo_show_modal_open()
o modelo_create_modal_close()
Limpiar los campos del modal_show: level_create_modal_clear()
o modelo_create_modal_clear()
Limpiar todo del modal
o modelo_show_modal_open()
Recuperar id del elemento que vamos a mostrar
Hacer el request ajax: ajax_request()
o modelo_show_update()
Limpiar modal: modelo_show_modal_clear()
Llenar campos de uno por uno
Abrí modal con jQuery
o modelo_show_modal_clear()
Limpiar todo del modal
o modelo_edit_modal_open()
Recuperar id del elemento que vamos a mostrar
Hacer el request ajax: ajax_request()
o modelo_edit_modal_update()
Limpiar modal: modelo_edit_modal_clear()
Llenar campos de uno por uno
Abrí modal con jQuery
Enfocar el input del primer elemento
o modelo_update()
Serializar los inputs del formulario
Envío ajax_submit(ruta, datos,callback)
o modelo_edit_update()
recargar la tabla de ajax
Mostrar modal: modelo_show_modal_open()
o modelo_edit_modal_close()
Limpiar los campos del modal_edit: level_edit_modal_clear()
o modelo_edit_modal_clear()
Limpiar todo el modal
o modelo_destroy()
Colocar el id del modelo en el formulario de eliminación
Serializar los inputs del formulario
Envío ajax_submit(ruta, datos,callback)
o modelo_destroy_update()
Remover elemento del datatable
Tecnologías a emplear
Server Side
o Laravel-filemanager: https://unisharp.github.io/laravel-filemanager/
o Sweet alert: https://github.com/realrashid/sweet-alert
o Laravel datatables: https://datatables.yajrabox.com
o Laravel Excel: https://laravel-excel.com/
Client Side
o jQuery: https://jquery.com/
o jQuery form validator: http://www.formvalidator.net/
o Datatables: https://datatables.net/
o TinyMCE: https://www.tiny.cloud/get-tiny/self-hosted/
o Prism: https://prismjs.com/
Diseño de programación
1. Elementos de la arquitectura
a. Rutas
b. Modelos
c. Controladores
d. Middlewares
e. Http/Objects
f. Request *
g. Policies
h. Traits
i. Helpers
j. Migraciones
k. Seeders
l. JS
2. Definir las operaciones CRUD con modelos primarios y derivados
a. Index (view)
i. Show (modal)
ii. Create (modal)
iii. Store (ajax)
iv. Edit (modal)
v. Update (ajax)
vi. Destroy (form & ajax)
3. Herramienta editable
Acciones CRUD
CRUD School
CRUD Users
o Editar metainformación UserMeta
o Asignación de usuarios a escuelas
o CRUD Address
o CRUD Secure
o Asignación de tutores a usuarios (Solo alumnos)
CRUD Role
o Asignación de roles a usuarios.
CRUD Permission
o Asignación de permisos a roles.
o Asignación de permisos a usuarios.
CRUD Academy
o Asignación de programas a academias
CRUD Area
CRUD Level
CRUD MoodleClassroom
o Inscripción de usuarios a Aulas de moodle (MoodleEnrollment)
CRUD Posts
o Editar metainformación PostMeta
o CRUD Category
o CRUD Tag
Asignación de etiquetas a Post
CRUD Invoice
o CRUD Concepts
o CRUD unit
CRUD Course
o Editar metainformación de CurseMeta
o Asignación de cursos a estudiantes
CRUD Event
o CRUD EventType
CRUD Program
o Editar metainformación ProgramMeta
o Asignación de programas a usuarios (Inscripciones y Status)
o CRUD Subject
Asignación de asignaturas a usuarios
CRUD Instrument
o Asignación de instrumentos a programas
o Asignación de instrumentos a usuarios (y programas)
CRUD Student (Para la generación de código al momento de registrar un programa)
o CRUD Exculpatories
o CRUD Extra
o CRUD Photorecords
CRUD Job
CRUD Ocupation
CRUD Professions
CRUD Resource
o Editar metainformación ResourceMeta
o Sistema de DropBox
CRUD Options (Opciones del sitio)
CRUD Gallery
Sistema de formularios de contacto
o ContactForm
o ContactFormResponses
Reglas de negocio
Academy
o Administración de usuarios por academias
Coordinación académica
Moodle Enrollments
Autorizar inscripciones
Control Escolar
Generar listas en Excel
Alta y baja de programas
Validar inscripciones
Validar reinscripciones
Modelos del sistema
1. Academy
2. Address
3. Area
4. Category
5. ContactForm
6. ContactFormResponse
7. Course
8. CourseMeta
9. Dropbox
10. Event
11. EventType
12. Exculpatory
13. Extra
14. Instrument
15. Job
16. Level
17. MoodleClassroom
18. MoodleEnrollment
19. Ocupation
20. Option
21. Permission
22. Photorecord
23. Post
24. PostMeta
25. Profession
26. Program
27. ProgramMeta
28. Resource
29. ResourceMeta
30. Role
31. School
32. Secure
33. Tag
34. Tutor
35. User
36. UserMeta
1. Licenciatura
2. Carrera técnica
3. Taller propedéutico
4. Taller infantil
5. Sábados en el arte
LevelController
El CRUD está completamente ligado al BackOffice.
Index
Create
Store
Edit
Update
Show
Destroy
Program
Los programas son una representación abstracta de los planes de estudio que se imparten en una
institución educativa
Valores
Propios:
o Name (string)
o Description (string)
o Code (numeric)
o Img (string): URL de la imagen representativa del programa
o Turn: (enum(M,V,A))
o Cycle (enum(S,A))
o Semester (numeric)
o Area_id (id)
o Level_id (id)
Meta:
o study_guide
o has_instrument
o has_photorecord
o has_exam
o allow_enrollment
o allow_reenrollment
o min_age
o max_age
o fee
Relaciones
program_user
status
AcademyController
Index
Create
Store
Edit
Update
Show
Destroy
program_assign
program_assignment
Backoffice
Escritorio
Perfil de usuario
o Rol: General
“Alta de cuenta”
Perfil
Editar perfil
Documentos digitales
Cambiar contraseña
o Rol: Maestro
Puesto
Plazas (ocupaciones)
Profesiones
o Rol: Estudiante
Inscripciones
Reinscripciones
Justificantes
Extraordinarios
o Rol: Administración y Control Escolar
Asignar roles (Escolar solo puede asignar estudiantes)
Asignar permisos
Eliminar usuario
Gestión escolar
o Rol: Coordinador y Escolar
Academias
Listado de academias
Generar lista de usuarios
o Rol: Coordinación
Autorizar inscripción
o Rol: Escolar
Validar inscripción
Validar reinscripción
Editorial & Publicaciones
o Rol: Admin y Design
Entradas
Listado
Crear
Páginas
Listado
Crear
Eventos
Listado
Crear
Categorías
Listado
Crear
Administración
o Rol: Admin
Escuelas
Listado
Crear
Roles
Listado
Crear
Permisos
Listado
Crear
Usuarios
Listado
Crear
Áreas
Listado
Crear
Niveles
Listado
Crear
Programas
Listado
Crear
Instrumentos
Listado
Crear
Aulas de Moodle
Listado
Crear
Configuración del sitio
Opciones del sitio
Actualizaciones por modelo
Tutor
Solicitar que el estudiante actualice la información de su tutor.
Permitir la edición de metainformación necesaria para los tutores.
Verificar la seguridad en la creación y actualización de tutores.
Student
Generar código de usuario en inscripción.
Edición del código de expediente para la coordinación de control escolar.
Actualizaciones generales
Formulario de contacto
o migración de contacts
id
name
email
subject
message
o ContactController
Usuario para responder comentarios de Disqus
Usuarios para responder comentarios de Tawk.to
CRUD de roles
o Asignación manual de roles por administrador
o Decidir si asignar todos los permisos al usuario que pertenecen a este rol
CRUD de permisos
o Asignación manual de permisos
o Escritura de todos los permisos del sistema cuando todo esté construido
CRUD de usuarios
o Permitir la elección manual de rol
CRUD de áreas
CRUD de niveles
o Tabla de level_metas
o Ver la metainformación que aparece en el frontoffice
CRUD de programas
o Ver la metainformación del frontoffice
Requerimientos de ingreso
CRUD de asignaturas
CRUD de instrumentos
o Asignar instrumentos a programas
o Asignar instrumentos a los usuarios de acuerdo a sus programas
o Corrección al relacionar un programa, instrumento y usuario en el PrintController
Lógica de aulas virtuales para coordinadores y administración
o Lógica de matriculación MoodleEnrollment
o CRUD de MoodleClassroom
o Altas y bajas de estudiantes
o Verificar el funcionamiento de esta lógica en Moodle
CRUD de Entradas ‘Post’ (Elegir categoría de tipo article)
o CRUD de etiquetas ‘Tag’
CRUD de Páginas (Elegir categoría de tipo page)
CRUD de Eventos
o CRUD de EventType
CRUD de Categorías
Configuración de opciones del sitio
o Modelo Option
Incluir el favicon
CRUD de Galería de fotos para programas
o Permitir que las coordinaciones de área puedan subir galerías a sus programas
Extensión para social Autoposting
o Alternativas
Larasap: https://github.com/alihesari/laravel-social-auto-posting
https://github.com/laravel-notification-channels/facebook-poster
Identificación basada en Facebook con Sociallite
Sistema de chat entre los estudiantes
o Tutorial: https://www.youtube.com/watch?v=H_4UubWE9NQ&t=31s
o Paquete: https://docs.beyondco.de/laravel-websockets/
Herramienta de integración para Trello y laravel
o https://github.com/laravel-notification-channels/trello
Herramientas para la creación de planes de estudio, relacionado con los programas
actuales
o Plan de estudio
Información general
Semestre
Asignaturas
o Plan de estudios por competencias (formato)
o Temario de estudio
Herramienta para la creación de planeaciones escolares que permita a los docentes la
creación de sus planeaciones con base a las asignaturas asignadas en su aula virtual
CRUD de escuelas
o Elección de escuela al dar de alta tu cuenta
o Asignación manual desde administración de escuela a usuarios
o Ver que modelos requieren una relación de escuelas
Academy
Area *
Level *
Course
Event
Program
Student
Programas Asignaturas
Usuarios (M:N)
CRUD FQA
Operaciones para la Inscripción
o Opción para habilitar o deshabilitar inscripciones de forma rápida
o Opción para habilitar o deshabilitar la elección de instrumentos al inscribir
o Sistema para inscribir un programa a un alumno
o Sistema de Coordinación académica para validar inscripciones
o Sistema de Validaciónd e inscripciones para control escolar
o Optimizar los métodos para la validación de inscripciones y reinscripciones
CRUD de academias
o Operaciones como academias
Operaciones generales para ambas coordinaciones
Generación de la lista de usuarios
o Vista en datatables
Ordenar columnas:
https://www.jqueryscript.net/table/Simple-
jQuery-Plugin-For-Draggable-Table-Columns-
Dragtable.html
Mostrar solo columnas específicas
o Descargar en excel
o Generar vista de impresión en DOMPDF
Imprimir sus fichas de inscripción o reinscripción
Operaciones por alumno para Coordinación Escolar
Asignar instrumentos musicales
Modificar instrumentos
Modificar programas
o En la modificación también se deben revisar
Asignaturas
Aulas virtuales
Operaciones por alumno para Coordinación Académica
Justificantes
Phoorecords
Modificar calificaciones
o Edición por x-editable
o Falta añadir la opción de extra_1, extra_2 y extra_3
Sistema de inscripción de cursos y diplomados
Instalación de sweet alert
Terminar las páginas relacionadas con el perfil de cada usuario, tanto en datos como en
acciones
o Estudiantes
Mecanismo para asignar número de expediente
o Docentes
Job
Ocupations
Profesisons
Sistema de Horarios
o Tutores
Sistema para validar errores
o Programas inconsistentes
o Usuarios sin número de expediente
Correcciones de diseño
o Hacer que el scroll BackOffice se posicione al tope en el ítem activo.
Generar un formato para los requerimientos de información del sitio para programas,
niveles, asignaturas y todo eso.
Terminar de crear las páginas propias del sitio
o Acerca de la escuela
o Directorio Escolar
o Organigrama
o Modelo educativo
Políticas del sitio similar al de iTec School
o CRUD de Políticas
CRUD de Items de Políticas
Sistema de alertas del sitio con lightbox y cintillas
Metatags sociales para facebook, twitter, google
Estrategia de SEO para el sitio.
Sistema de logs para registrar cada acción del sitio
Habilitar sistema para verificar acuenta de usuario, en caso contrario enviar una
notificación o mensaje de alerta de que la cuenta no está verificada
o Después implementar restricciones que deshabiliten funciones mientras el usuario
no esté verificado.
Sistema para calcular la complitud del perfil de usuario.
Añadir validadores y mascaras a los formularios del sistema
Hacer que organ_donor sea un valor booleano
Verificar el código con el esquema:
Modificar las vistas de:
o reestablecer contraseña
o reestablecer cuenta
El sistema de extraordinario restringirlo en los campos de
o Programa
o Asignatura
o Docente
Hacer que si los programas son semestrales aparezca la opción para semestre o si es anual
aparezca la opción de año
Mecanismo para agrupación de alumnos y docentes, similar al que hace la selección para
las aulas virtuales
o Permitir asignar calificaciones
o Permitir colocar asistencia
o Reporte de incidencias para usuarios
Sistema de estadísticas
o Inscripciones
Implementar vimeo para las entradas y para los modelos que lo puedan requerir
Crear de nuevo el diagrama entidad relación
Crear la documentación del sistema.
Acciones concretas para la actualización masiva
Orden jerárquico
1.
Lluvia de ideas
Para Programas
Para Galería
En el sitio
Actualizar los modelos para que correspondan con los valores de la base de datos. Tanto de los
fillable como de las relaciones M:M en las columnas pivote
Actualizaciones
Roles
1. Administrador
a. Acciones
i. Acciones sobre los usuarios
1. Editar todos los datos de perfil de un usuario
2. Añadir domicilio a un usuario
3. Editar el domicilio de un usuario
4. Asignar roles a un usuario
5. Asignar permisos a un usuario
ii. Acciones sobre los estudiantes
1. Añadir un justificante a un alumno
2. Añadir un examen extraordinario a un usuario
3. Añadir una solicitud de inscripción a un estudiante
iii. Acciones sobre las academias
1. Crear Academias. Esta acción también contempla asignar una
academia a un usuario con el rol correspondiente
2. Crear áreas académicas (Fin administrativo)
3. Crear Programas
4. Crear las asignaturas de un programa
5. Asignar programas a una academia
6. Ver todas las solicitudes de exámenes extraordinarios
iv. Acciones sobre el sistema de publicaciones
1. Crear categorías para páginas y posts
2.
b. Modelos relacionados
i.
2. Control Escolar
a. Acciones
i. Ver las solicitudes de exámenes extraordinarios
b. Modelos relacionados
i. Academy (Tipo 2)
3. Coordinador Académico
a. Acciones
i. Añadir un justificante a un alumno
ii. Ver las solicitudes de exámenes extraordinarios
b. Modelos relacionados
i. Academy (Tipo 1)
4. Profesor
a. Acciones
i. Ver los justificantes de sus alumnos
ii. Ver los alumnos que le han solicitado un examen extraordinario
b. Modelos relacionados
i.
5. Estudiante
a. Acciones
i. Ver sus propios justificantes
ii. Solicitar un examen extraordinario
iii. Imprimir su ficha de exámenes extraordinarios
iv. Solicitar nuevas inscripciones inscription_request
b. Modelos relacionados
i. Student (students)
ii. Exculpatories
iii. Extras
iv. Inscription_request
Modelos
1. User
a. Tabla: users
i. Id
ii. Curp
iii. Name
iv. dadLastName
v. momLastName
vi. sex
vii. dob
viii. email
ix. password
x. remember_token
xi. verified
xii. created_at
xiii. updated_at
xiv. deleted_at
b. Descripción:
i. Es el usuario autenticado que crea una sesión
ii. Posee roles
iii. Posee permisos
iv.
c. Acciones
i.
d. Modelos relacionados
i. Address
2. UserMeta
a. Tabla: user_metas
b. Relación de metainformación con los roles de usuario
Paquetes necesarios
DomPDF
1. Creación de los formatos de inscripción
Módulos del sistema
1. Sistema
a. 1password_resets
b. 2migrations
2. Administración general
a. Tablas:
i. 3schools
ii. 4school_user
iii. 5options
3. Roles y Permisos
a. Tablas:
i. 6roles
ii. 7role_user
iii. 8permissions
iv. 9permission_user
4. En general para usuarios
a. Tablas:
i. 10users
ii. 11user_metas
iii. 12addresses
5. Expediente de alumnos
a. Tablas:
i. 13secures
ii. 14students
iii. 15exculpatories
iv. 16extras
v. 17photorecords
6. Expediente de docentes
a. Tablas:
i. 13secures
ii. 18jobs
iii. 19ocupations
iv. 20professions
7. Sistema de administración académica
a. General
i. 21areas
ii. 22levels
iii. 23programs
iv. 24program_metas
v. 25subjects
vi. 26instruments
vii. 27instrument_program
b. Relacionado con el alumno
i. 28inscription_requests
ii. 29instrument_user
iii. 30program_user
iv. 31subject_user
c. Control Escolar
i. Tablas:
1. 32academies
2. 33Academy_program
d. Coordinación Académica
i. Tablas:
1. 32academies
2. 33Academy_program
e. Sistemas de inscripción
i. Escolarizado
1. Tablas:
a. 30program_user
ii. Sábados en el Arte
1. Tablas:
a. course_user
iii. Diplomados
1. Tablas:
a. course_user
iv. Cursos:
1. Tablas:
a. course_user
f. Moodle
i. Tablas
1. 42moodle_classrooms
2. 43moodle_enrollments
8. Sistema de publicaciones
a. Tablas:
i. 34posts
ii. 35post_metas
iii. 36categories
iv. 37tags
v. 38post_tag
9. Sistema de finanzas
a. Tablas:
i. 41invoices
ii. 40concepts
iii. 39units
10. NUEVO
a. Tablas
i. tutor_user
ii. courses
iii. course_user
11. DEPRECADO
a. Tablas:
i. 44aspirants
ii. 45tutors
iii. 46moodle_aspirants
TEMA
1. FrontOffice
a. Demos
i. main.blade.php
b. Includes
i. head.blade.php
ii. header.blade.php
iii. footer.blade.php
iv. foot.blade.php
v. nav
1. left.blade.php
2. right.blade.php (optional)
3. dropdowns.blade.php
c. Layouts
i. main.blade.php
d. Pages
i. auth
1. register.blade.php
2. login.blade.php
3. password.blade.php
4. restore.blade.php
ii. home
1. show.blade.php
iii. custom
1. área
a. show.blade.php
2. level
a. show.blade.php
3. program
a. show.blade.php
4. politics
a. show.blade.php
iv. blog
1. browser.blade.php
2. index.blade.php
3. show.blade.php
v. event
1. calendar.blade.php
2. index.blade.php
3. show.blade.php
2. BackOffice
a. Demos
i. main.blade.php
b. Includes
i. head.blade.php
ii. header.blade.php
iii. footer.blade.php
iv. foot.blade.php
v. nav
1. left.blade.php
2. right.blade.php (optional)
3. dropdowns.blade.php
c. Layouts
i. main.blade.php
d. Pages
i. dashboard
1. show.blade.php
ii. site
1. edit blade.php (Modelo: Option)
iii. school
1. index.blade.php
2. create.blade.php
3. edit.blade.php
4. show.blade.php
iv. Role
1. index.blade.php
2. create.blade.php
3. edit.blade.php
4. show.blade.php
v. Permission
1. index.blade.php
2. create.blade.php
3. edit.blade.php
4. show.blade.php
vi. Area
1. index.blade.php
2. create.blade.php
3. edit.blade.php
4. show.blade.php
vii. Level
1. index.blade.php
2. create.blade.php
3. edit.blade.php
4. show.blade.php
viii. Academy
1. index.blade.php
2. create.blade.php (con su coordinador respectivo)
3. edit.blade.php
4. show.blade.php
5. assign_program
ix. MoodleClassroom
1. index.blade.php
2. create.blade.php
3. edit.blade.php
4. show.blade.php
x. MoodleEnrollment
1. suscribe.blade.php
2. unsuscribe.blade.php
xi. Program
1. index.blade.php
2. create.blade.php (con ProgramMeta)
3. edit.blade.php
4. show.blade.php
5. assign_instrument
xii. Subject
1. index.blade.php
2. create.blade.php (con ProgramMeta)
3. edit.blade.php
4. show.blade.php
xiii. Instrument
1. index.blade.php
2. create.blade.php
3. edit.blade.php
4. show.blade.php
xiv. User
1. index.blade.php
2. create (Existen diferentes cosas que podemos crear de un usuario)
a. user.blade.php (general)
b. meta.blade.php (general)
c. medic.blade.php (student)
d. secure.blade.php (general)
e. address.blade.php (general)
f. student.blade.php (expediente)
g. exculpatory.blade.php (student)
h. extra.blade.php (student)
i. photorecord.blade.php (student, requiere program)
j. job.blade.php (teacher)
k. ocupation.blade.php (teacher)
l. profesión.blade.php (teacher)
m. inscription_request.blade.php (student)
3. edit (existen diferentes formas de editar un usuario)
a. user.blade.php (general)
b. meta.blade.php (general)
c. medic.blade.php (student)
d. secure.blade.php (general)
e. address.blade.php (general)
f. student.blade.php (expediante)
g. exculpatory.blade.php (student)
h. extra.blade.php (student)
i. photorecord.blade.php (student, requiere program)
j. job.blade.php (teacher)
k. ocupation.blade.php (teacher)
l. profesión.blade.php (teacher)
m. inscription_request.blade.php (student)
n. assign_school.blade.php (general)
o. assign_role.blade.php (general)
p. assign_permission.blade.php (general)
q. assign_tutor.blade.php (student)
r. assing_program.blade.php (student)
s. assign_subjects.blade.php (program, student)
t. assing_instrument.blade.php (program, student)
u. upload_docs.blade.php (teacher)
v. class_schedule.blade.php (teacher)
4. show
a. user.blade.php(con los datos de cada perfil)
b. academic_report.blade.php (student, ediatble)
c. medic.blade.php (sudent)
d. exculpatories.blade.php (student)
e. extras.blade.php (student)
f. photorecords.blade.php (student)
g. ocupations.blade.php (teacher)
h. inscription_requests.blade.php (teacher)
xv. Post
1. index.blade.php
2. create.blade.php (con MetaPost y Tag)
3. edit.blade.php (con MetaPost y Tag)
4. show.blade.php
xvi. Category
1. index.blade.php
2. create.blade.php
3. edit.blade.php
4. show.blade.php
xvii. Acciones Especificas (VER SI SE PUEDE ORGANIZAR LAS ACCIONES
ESPECÍFICAS POR SHOW, CREATE OR EDIT)
1. Escolar
a. Stats
i. inscriptions_status.blade.php
b. validate_inscription_requests.blade.php (tipo inscripción
o reinscripción)
c. create_lists.blade.php (permitir el formato de la lista)
2. Coordinator
a. validate_admission_exam.blade.php (coordinator)
3. Teacher
a. view_profile.blade.php
b. edit_profile.blade.php
c. edit_schedule.blade.php
4. Aspirant
a. request_inscription.blade.php (definir los pasos para
completar los formularios)
5. Student
a. view_profile.blade.php
b. edit_profile.blade.php
c. view_academic_report.blade.php
d. request_inscription.blade.php (puede ser inscripción o
reinscripción)
e. extra_request.blade.php
f. pint_extra.blade.php
g. print_inscription.blade.php
6. Tutor
a. view_user_report.blade.php
7. Temp_student
a. request_inscription.blade.php (solo poder solicitar
inscripciones a cursos)
i. Los cursos deben definir los periodos de
inscripción