ecamp / ecamp3

eCamp v3 is a web-based app for camp and course planning. The application is specialized for camps and courses of youth associations and for Y+S offers in the sport of camp sports/trekking.

Home Page:https://ecamp3.ch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Paste activities into the picasso using Ctrl+V

carlobeltrame opened this issue · comments

The current options for pasting a copied activity can be hard to find, especially since we do not have a context menu like eCamp v2 did (which I support, because a context menu is not common in webapps, and it's not compatible with touch devices).

According to a user who struggled to find how to paste an activity, apart from the context menu she also tried Ctrl+V. So maybe a keyboard shortcut would help users find this feature.

Maybe also Ctrl+Z for undoing a change on the picasso? It can happen with the drag handles that a schedule entry is accidentally resized (more easily than in eCamp v2 since we allow schedule entries across day boundaries). History or last undo state could be saved in localstorage / sessionstorage etc., but this feature might be more complex than it sounds.

Another user reportedly tried Ctrl+V to paste an activity.

Another thought on this: As far as I understand, you have to start creating an activity with the plus button or dragging on the picasso to get to the possibility of pasting something. I find that unintuitive, the act of pasting an activity already contains the creating part from my perspective but if I understand correctly, you're technically only copying the contents into a freshly created activity right now.
I would love a possibility where pasting is the entry point, most intuitively with Ctrl+V. If the times of the original activity are valid in the camp you're copying to, then place it there. If not, maybe just place it at the very beginning of the camp so there is a predictable point from which the activity can be dragged to anywhere.
Additionally, Ctrl+Shift+V could force open the "create activity" dialog with the "copy content" field already pre-filled, kind of like "copy without formatting" where you have the option to edit the time properties before committing. They should still be pre-filled with the values they would get from just copying with Ctrl+V after matching times, types, etc.

Ps. In line with my thoughts on #5485 I would argue that accidentally pasting a block should be prevented in locked mode. In that case I think it would make sense to let Ctrl+V act the same way as Ctrl+Shift+V. Of course this depends on what the goals behind the locked mode are but as an outsider this seems sensible.

On top of this, would it be possible to also copy the responsibilities by matching if possible (same as I assume is done with the type)? Our use-case is two camps in the same time period (Pfadi- und Wolfsstufe) where some blocks are shared but most of the Picasso is individual and adjusted to the age groups. This of course means that some blocks need to be written only once and then copied to the other camp. When copying from a different camp, it might not be possible to copy things like the time, the responsibilities, the type and the materials because there's no time period overlap, the people might not be in the new camp and the type and the material list might not exist.

I was very happy to see that the type and the materials were copied over. However, time period and responsibilities were not, even though there's parity across camps in this case. Could this be extended to include these?
I like that the completion progress is not copied to force users to consider whether this block is good as it is, but I don't see harm in trying to match the responsibilities or the time.

Ps. two alternatives that I thought about but think they might be too niche:

  • Allowing multiple camps with overlapping periods (AFAIK you can currently work with multiple sub-camps in one camp but they cannot overlap, see also #5486). Activities could then contain an additional property where you can select multiple sub-camps so they are present in all of them.
  • Allow "mirror-activities" which are synced with an activity of another camp. This would be similar to an activity with multiple schedule entries just across camps. I think the complexity to pull this off correctly might not be worth it but I am no expert.