Das Einfügen von Code in den Canvas-Kern ist nicht trivial. Vielleicht wäre Ihre Änderung besser als separater Dienst unter Verwendung der API oder LTI implementiert. Wir haben einen hohen Qualitätsstandard bei Instructure, und wenn Sie nicht mit Ruby und Rails vertraut sind, könnte es schwierig sein, dass Ihr Code akzeptiert wird. Wir geben gerne Vorschläge zur Verbesserung von Commits, aber wir werden Ihnen nicht beibringen, wie man Ruby-Code schreibt, wenn Sie eine Pull-Anfrage stellen.
Jeder Commit für Canvas wird von mindestens einem Instructure-Ingenieur überprüft (dies gilt übrigens auch für von Instructure erstellten Code). Jede Zeile wird gelesen und der Prüfer ist dafür verantwortlich, den Commit zu überprüfen und ihn in seiner lokalen Umgebung zu testen. Daher müssen Commit-Nachrichten genügend Informationen bereitstellen, damit der Ingenieur weiß, was sich geändert hat und was getestet werden sollte.
Die folgende Checkliste wird für jeden Commit durchgearbeitet:
- Änderungen auschecken und ausprobieren.
- Sicherstellen, dass die Commit-Nachricht einen Testplan enthält.
- Sicherstellen, dass die Tests und der Testplan alle notwendigen Fälle abdecken.
- Sicherstellen, dass der Code den Sprach-Codierungsstandards folgt.
- Sicherstellen, dass der Code gut gestaltet und architektonisch durchdacht ist.
- Sicherstellen, dass alle benutzerbezogenen Zeichenfolgen/Datumsangaben/Uhrzeiten/Zahlen internationalisiert sind.
Andere Faktoren, die berücksichtigt werden sollten:
- Muss unter hoher Last leistungsfähig bleiben.
- Muss in einer Multi-Tenant-Umgebung funktionieren. Mehr dazu in einer Minute, aber im Grunde sollten Verbesserungen mit der Plugin-Architektur von Canvas erstellt werden.
- Muss für Bildschirmleser und andere unterstützende Technologien zugänglich sein.
- Sollte unserem Codierungsstil folgen.
Orte zum Starten
Wenn Sie neu in der Canvas-Entwicklung sind, gibt es in diesem Wiki Anleitungen zum Einrichten Ihrer Entwicklungsumgebung (einschließlich der Ausführung von Spezifikationen). Stellen Sie sicher, dass Sie uns eine unterzeichnete Code-Beitragsvereinbarung gegeben haben, und beginnen Sie dann mit etwas Kleinem. Lernen Sie den Commit-Prozess mit etwas Kleinem wie einem Bugfix oder einer UI-Anpassung kennen. Wenn Sie nicht sicher sind, wo Sie anfangen sollen, posten Sie eine Nachricht auf der Mailingliste.
Sobald Sie sich eingearbeitet haben, können Sie an größeren Projekten arbeiten. Für alles, was mehr als ein Bugfix ist, macht es wahrscheinlich Sinn, über die Mailingliste zu koordinieren, da es möglich ist, dass jemand anderes an derselben Sache arbeitet.
Pull-Anfragen
Wir mögen GitHub-Pull-Anfragen. Wenn Sie ein Problem melden, würden wir gerne eine Pull-Anfrage sehen. Beachten Sie jedoch, dass Ihr Commit aufgrund der oben genannten Entwicklungsstandards wahrscheinlich mindestens einmal geändert wird, bevor er akzeptiert wird. Manchmal nehmen wir die Änderung selbst vor, aber oft lassen wir Sie wissen, was passieren muss, und helfen Ihnen, es selbst zu beheben.
Erweiterungen und Erweiterungen
Da Canvas Cloud als Multi-Tenant-Umgebung läuft, wirken sich alle Änderungen am Code auf alle Institutionen gleichzeitig aus. Wenn Sie große Funktionalitäten zu Canvas hinzufügen möchten, müssen Sie dies im Hinterkopf behalten, da höchstwahrscheinlich nur einige Institutionen diese Funktionalität hinzugefügt haben möchten.
Um dabei zu helfen, haben wir das Konzept der Plugins in Canvas integriert. Plugins können zur Laufzeit registriert werden, erscheinen aber nur in der Oberfläche für aktivierte Root-Konten. Es gibt einige Stellen im Code, die bereits für Plugins instrumentiert wurden (wie Webkonferenzen und Zusammenarbeit), aber wenn Sie die Funktionalität an anderer Stelle erweitern möchten, ist der erste Schritt, diesen Teil des Codes zu pluginifizieren und dann ein Plugin für Ihre spezifische Implementierung zu erstellen.
Der einfachste Weg, um Canvas-Plugins kennenzulernen, ist lib/canvas/plugin.rb und lib/canvas/plugins/default_plugins.
Benutzer müssen angemeldet sein, um Kommentare zu schreiben
Anmelden
Antworten
Bereits Canvas LMS verwenden?
Über Canvas LMS
Canvas by Instructure ist ein vielseitiges, cloudbasiertes Lernmanagementsystem (LMS), das entwickelt wurde, um Bildung und Training in jeder Lernphase zu unterstützen. Seit seiner Einführung im Jahr
Mit über 2,5 Millionen Bewertungen können wir Ihnen die spezifischen Details liefern, die Ihnen bei der informierten Softwarekaufentscheidung für Ihr Unternehmen helfen. Das Finden des richtigen Produkts ist wichtig, lassen Sie uns helfen.