hcs-t4sg / questable

questable.vercel.app
2 stars 0 forks source link

Task Management Expansion #65

Open IsoPhoenix opened 1 year ago

IsoPhoenix commented 1 year ago

Overview

Expanding task management functionality based on feedback from midpoint. Details/suggestions organized per feature below.

Task searching by title

Self explanatory

Task mass confirmation

Add a button in teacher requests page to mass confirm all requests

Student can unsend requests

For tasks in a student's "Requested" table, add an option (button) to "unsend" the request for completion.

Ability to change the refresh period for repeatables

I don't think this functionality is transformative but it will be quite difficult to implement. If you want to give it a go still, we can have a conversation about it but I'd prioritize other things over this

Multiline task descriptions

Preserve line breaks/enters in original task content. Alternatively, you could look around and see if there are any packages that will integrate rich text editors into a React webapp, which would give us multiline support, bold/italicize, maybe even code blocks/markdown/LaTEX (although a bit of a stretch)...

jaydenpersonnat commented 1 year ago

Some initial thoughts:

  1. Similar question to the one I asked for searching on the Forum on how search should look like from a UI perspective.
  2. I completely agree and a batched write should be preferable over making multiple calls to ConfirmTask.
  3. For the refresh period for repeatable, I will take your suggestion and prioritize the other tasks. I did have a question regarding this, as I was a bit confused about how the refresh period is determined? Or, generally, could I get a more in-depth explanation of the purpose of refreshing for repeatables?
IsoPhoenix commented 1 year ago
  1. You can search in place! no modal for results needed.
  2. Sounds good!
  3. The refresh period is set to every sunday midnight at the moment. refreshRepeatable from mutations.tsx is called every time the student visits the classroom page, essentially. This resets the number of queued and confirmed repeatables to zero, so that the teacher doesn't have to make an entirely new task every week (the student can just submit new completions for the same repeatable). Because there is no centralized server handling repeatable refreshes, we just have to be very careful to not let the repeatable completion/confirmiation counts fall out of sync. Happy to chat more about this if you need!
jaydenpersonnat commented 1 year ago

Update: Implemented all the functionality above (with the exception of some of the repeatable logic), and like I said for the Forum posts I will be working on style.

I can take a look at implementing the logic to unsend repeatables and changing the refresh period later in the week, but I'll focus on finishing the styling first.

For the text editor, I used CKEditor for now, though may consider changing it to TipTap.

IsoPhoenix commented 1 year ago

As of 05/17/2023, all functionality has been completed aside from changing refresh period for repeatables.