Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Admin Course Overview #41

Closed
steffen74 opened this issue Jul 26, 2021 · 1 comment
Closed

Admin Course Overview #41

steffen74 opened this issue Jul 26, 2021 · 1 comment
Labels
8 SP 8 Story Points

Comments

@steffen74
Copy link
Contributor

steffen74 commented Jul 26, 2021

This view is needed for admin user to add new courses to a program, assign instructors to a course, publish courses to be visible in a published program, and review the current application and participation status.
For course instructors this view is read only and the shown table includes only those course, for which the user is assigned to as an instructor.
By double-clicking on a row in the course table the page to edit/admin the corresponding course is opened (see issue #50 )

Further optional functions include reviewing the current status of a course considering the completeness of the information needed for the publication, the application process, and the further conduct of the course.

This issue is part of the back-office functionality and is therefore desktop first.

Details

  • The URL of the site is: [domain]/courses
  • For admin users and users that are instructor of a course the menu of the standard header is extended by the item "Courses" to access this site
  • The design should be as follows:
  • The top section includes a filter with exactly 5 tabs, where the first 4 tabs are named with the short titles of the 4 programs with the most recent course start date and the 5th tab is always "all"; clicking the tabs results in filtering the complete set of courses according to the respective programs (or showing all). The standard tab is the one for the program with the most recent start date (always shown on the very left).
  • On top of the table on the right is a titled button to add a new course (the search field above is optional; see comment below). The button is added in the same way below the table at the end of the page. By clicking on the add button a new row with default values for a course will be added at the top of the table. The course will be added to the program that is currently selected in the program filter if the filter is selected to "all" it will be added to the program with the latest start date. If the program to which the course has to be added to has no valid start and end date, an error message is displayed stating: The program "selected program" needs a valid start and end date in order to add a course to it!" If the start and end date exist the new course is added to the corresponding program.
    For the fields shown in the table the default values for the new course are set as given below. Further the field Course:ApplicationEnd is set equal to the field Program:ApplicationEnd of the corresponding program, the field MaxParticipants is set as given in CourseDefaultValues:MaxApplicants, the field Course:Langauge is set as given in CourseDefaultValues:Language, and the field Course:ApplicationEnd is set as given in Program:ApplicationEnd.
  • The main section is a table. It includes up to 50 courses at once. If there are more than 50 courses the user can use a switch page button below the table to view the next page (see comment below). The table (in the same way as other described tables) included an arrow on the right to unfold a row. On the main row the includes the following seven columns :
    • a check box to switch the publication status of the course (a confirmation message is not shown in this case) [Course:Visibility; 0=not visible; 1=visible]
    • a course title (sortable) [Course:Name; default="Enter course title here" (if the course name already exists it is extended by an underscore, e.g. to "Enter course title here_")]
    • the names of the first provided course instructor [Course:Instructor]; if more than one course instructor is provided the tag including the course instructor name is followed by a number indicating the additional course instructors for this course. Further an add sign is included in this column (see details below).
    • the total number of current applicants/participants for a course (sortable) [all entries where Enrollment:CourseId corresponds to the respective CourseId]
    • the number applicants that are: invited/ confirmed/ unrated [Enrollment:Status=="INVITED"; Enrollment:Status=="CONFIRMED"; Enrollment:Status=="APPLIED"&&Enrollment:MotivationGrade=="UNRATED"]
    • the short title of the program the course is part of (sortable) [Course:Program]
    • the publication status (optional; see comment below)
    • a trash bin symbol with the option to delete the corresponding program; if the user clicks on the trash bin this confirmation message is shown
  • The expandable part of a row includes the following information:
    • names/tags of further course instructors (if given)
    • an image with the currently uploaded course image [course.imageURL] and an option to upload a new image.
    • a text entry field to provide a link for a course chat [course.chatLink]
    • a dropdown box to select the number of ECTS [Course:Ects] that can be obtained by receiving a certificate of achievement. If the the certificate of achievement is not marked as possible for this course, the ECTS field is invisible.
    • two check boxes to indicate whether the corresponding types of certificates will be issued for this course [course.CertificatePossible; course.AttendanceCertificatePossible]
  • The following columns are editable in the table:
    • the course title: Can be edited directly in the table or if this is complicated via a corresponding modal.
    • the course instructor: By clicking on the add sign this modal is opened including an input text field. When the admin starts typing, matching user names (first or last name) are shown in a drop down menu below the input field and the admin can select the corresponding user. A selected user is then added as an instructor of the corresponding course. By clicking on the cross in the tag including the course instructor's name. The corresponding user is removed as an instructor from this course.
    • the program: by clicking on the program short title a dropdown menu is shown including the short titles of all existing programs. By clicking on it the, the course is assigned to the corresponding program (if the filter is set in a way that the courses of the newly selected program are not shown the action will result in this course "vanishing" from the table).
  • Below the table are buttons to change the currently displayed page and a text indicating which part is currently shown.
  • Further, an additional option to add a new course is shown (equivalent to one above the table.)

Optional and Future Implementations

  • When a row is double clicked to access the page to edit/ manage a specific course, a tab corresponding to the current course status is opened. If Course:Status is equal to "DRAFT", the view with first tab is opened; for "READYFORPUBLICATION" the second tab is opened; for "READYFORAPPLICATION" the third tab is opened and otherwise the 4th tab is opened. Alternatively, it can be stored in a cookie which tab the user had opened the last time when he was managing this course.
  • A text search field on the top right, comparing the entered text to all course titles and filtering the course table to only those with matching strings (still respecting the currently selected tab filter).
  • The publication status of the course [Course:Status] shown in form of a pie chart, where "DRAFT" corresponds to a grey pie chart, "READYFORPUBLICATION" to a quarter pie, "READYFORAPPLICATION" to a half pie, "APPLICANTSINVITED" to3/4 pie, and a full pie to "PARTICIPANTSRATED".
  • It is possible to select/mark a single course or a set of courses and click the right mouse button to perform an action on these courses, for example to copy or delete these.
@steffen74
Copy link
Contributor Author

@fschindler @okwast I just changed the expandable part of the table to additionally include now the course image upload as well as a new text entry field to provide a chat link. Also, I completed the documentation for the needed database fields with their current names (however they might be renamed soon; see #76 ).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8 SP 8 Story Points
Projects
None yet
Development

No branches or pull requests

3 participants