Incorporar código en el núcleo de Canvas no es trivial. Tal vez su cambio se implementaría mejor como un servicio separado utilizando la API o LTI. Tenemos un estándar de alta calidad en Instructure y si no está familiarizado con Ruby y Rails, puede ser difícil que su código sea aceptado. Estamos encantados de dar sugerencias sobre cómo mejorar los commits, pero no vamos a enseñarle a escribir código Ruby cuando envíe una solicitud de extracción.
Cada commit para Canvas es revisado por al menos un ingeniero de Instructure (esto también es cierto para el código creado por Instructure, por cierto). Cada línea es leída y el revisor es responsable de revisar el commit y probarlo en su entorno local. Por lo tanto, los mensajes de commit deben proporcionar suficiente información para que el ingeniero sepa qué ha cambiado y qué debe ser probado.
La siguiente lista de verificación se sigue para cada commit:
Revisar y probar el conjunto de cambios.
Asegurarse de que el mensaje de commit tenga un plan de prueba.
Asegurarse de que las pruebas y el plan de prueba cubran todos los casos necesarios.
Asegurarse de que el código siga las convenciones de codificación del lenguaje.
Asegurarse de que el código esté bien diseñado y arquitecturado.
Asegurarse de que todas las cadenas/fechas/horas/números visibles para el usuario estén internacionalizados.
Otros factores que deben considerarse:
Debe seguir siendo eficiente bajo carga pesada.
Debe funcionar en un entorno multi-tenant. Más sobre eso en un minuto, pero básicamente las mejoras deben construirse utilizando la arquitectura de Plugins de Canvas.
Debe ser accesible para lectores de pantalla y otros dispositivos de tecnología asistiva.
Debe seguir nuestro estilo de codificación.
Lugares para Comenzar
Si es nuevo en el desarrollo de Canvas, hay guías en este wiki para configurar su entorno de desarrollo (incluyendo la ejecución de especificaciones). Asegúrese de habernos dado un acuerdo de contribuidor de código firmado, luego comience con algo pequeño. Familiarícese con el proceso de commit con algo pequeño como una corrección de errores o un ajuste de la interfaz de usuario. Si no está seguro de por dónde empezar, publique un mensaje en la lista de correo.
Una vez que tenga experiencia, puede comenzar a trabajar en proyectos más grandes. Para cualquier cosa más que una corrección de errores, probablemente tenga sentido coordinarse a través de la lista de correo, ya que es posible que alguien más esté trabajando en lo mismo.
Solicitudes de Extracción
Nos gustan las solicitudes de extracción de GitHub. Si informa un problema, nos encantaría ver una solicitud de extracción adjunta. Solo tenga en cuenta que debido a los estándares de desarrollo mencionados anteriormente, su commit probablemente terminará siendo modificado al menos una vez antes de ser aceptado. A veces haremos el cambio nosotros mismos, pero a menudo solo le informaremos qué necesita suceder y le ayudaremos a corregirlo usted mismo.
Mejoras y Extensiones
Debido a que Canvas Cloud funciona como un entorno multi-tenant, cualquier cambio en la base de código afectará a todas las instituciones a la vez. Si está buscando agregar piezas importantes de funcionalidad a Canvas, deberá tener esto en cuenta, ya que lo más probable es que solo algunas instituciones quieran que se agregue esa funcionalidad.
Para ayudar con esto, hemos incorporado la noción de Plugins en Canvas. Los Plugins pueden registrarse en tiempo de ejecución, pero solo aparecen en la interfaz para cuentas raíz habilitadas. Hay algunos lugares en el código que ya han sido instrumentados para plugins (como conferencias web y colaboraciones), pero si está buscando extender la funcionalidad en otro lugar, entonces el primer paso será pluginificar esa parte del código, luego construir un plugin para su implementación específica.
La forma más fácil de conocer los Plugins de Canvas es lib/canvas/plugin.rb y lib/canvas/plugins/default_plugins.
Los usuarios deben estar conectados para escribir comentarios
Iniciar Sesión
Responder
¿Ya tienes Canvas LMS?
Acerca de Canvas LMS
Canvas by Instructure es un sistema de gestión de aprendizaje (LMS) versátil basado en la nube, diseñado para apoyar la educación y la formación en cada etapa del aprendizaje. Desde su lanzamiento en
Con más de 2.5 millones de reseñas, podemos proporcionar los detalles específicos que te ayudarán a tomar una decisión informada al comprar software para tu negocio. Encontrar el producto adecuado es importante, déjanos ayudarte.