Repository: apluslms/a-plus

Issue:
Usability issues in the A+ course instance creation (via the gitmanager interface)
The first version of the course creation gitmanager interface in the A+ front was added in #1009.

These issues are based on a small usability study with a teacher. The teacher's goal was to create a new course instance in A+ for the upcoming autumn course.

### Textual hints in the "clone course instance form" (A+ Edit course - Instances tab):

- terminology: "clone course"
  * "Cloning" can be a misleading word. Some may think that it also clones the student data (submissions) (but it does not do that). It would be simpler to just say "create new course instance".
- year and semester/month: teacher thought that the text in the hint "course key in the gitmanager" was confusing. The teacher does not know much about what "gitmanager" or its "course keys" are. The hint could be rephrased without such technical terms.
  * in addition, the teacher thought that if the year and semester are needed to form a unique key across course instances, then why couldn't the A+ course instance URL key be used since it is unique as well? (The user would then not need to insert any "year" or "semester".)
- "update automatically" hint: the text could also emphasize that if the course build fails (in the git manager), then the A+ course will not be broken when you git-push broken course settings by accident. The teacher may be concerned that automatic updates break the system if the teacher makes mistakes in the git course settings.
- "Course instance in Student Information System": the teacher found this confusing. It does not use the word "Sisu" which is more often used at Aalto. It is not clear if this is mandatory and what it is used for. The teacher does not know that this Sisu key is used to fetch course participants from Sisu. The options in the dropdown are a little cryptic; which one should be selected?

### The delay of the first course build

After creating a new course instance, the new instance is still completely empty until the course build has finished in the Git manager. This is not obvious to the teacher and they may get worried at first.
There should be a clear warning about this until the first build has finished.

### Adding the webhook in GitLab

After creating a new course instance, there is no warning that the teacher should manually add the git webhook in GitLab (version.aalto.fi at Aalto). The teacher should also be informed that the webhook URL and secret token are visible in the Edit course - Git manager tab of the new course instance.


Discussion:

Resolving patch:
diff --git a/edit_course/course_forms.py b/edit_course/course_forms.py
--- a/edit_course/course_forms.py
+++ b/edit_course/course_forms.py
@@ -301,7 +301,7 @@ def set_sis_selector(self) -> None:
                 )
                 self.fields['sis_enroll'] = forms.BooleanField(
                     label=_('LABEL_SIS_ENROLL'),
-                    help_text=_('COURSE_INSTANCE_SIS_ENROLL_HELP'),
+                    help_text=_('LABEL_SIS_ENROLL_HELPTEXT'),
                     required=False,
                     initial=False,
                 )
diff --git a/edit_course/views.py b/edit_course/views.py
--- a/edit_course/views.py
+++ b/edit_course/views.py
@@ -383,6 +383,8 @@ def form_valid(self, form):
             messages.error(self.request, str(e))
 
         messages.success(self.request, _('COURSE_INSTANCE_CLONED'))
+        messages.info(self.request, _('COURSE_INSTANCE_BUILD_DURATION_INFO'))
+        messages.info(self.request, _('COURSE_INSTANCE_WEBHOOK_INFO'))
         return self.redirect(new_instance.get_url('course-details'))
 
 


Test patch: