Custom activity and place types

Ok, new text, and new look!

1 Like

@bruno activity types is just about ready to merge, but just before we do, maybe you want another look at the translation string changes? Me and @tiltec went through and changed some, putting the activity type name into the strings a bit more, you can see those changes here → Support activity types by nicksellen · Pull Request #2207 · yunity/karrot-frontend · GitHub

… and also changed wording on the dialog above to make it sound more positive!

morethanjustpickups

1 Like

Sooo much better! And the changing the title to show new possibilities was spot on.

I’ll do a quick review of the translation strings

The work on extra activity types hasn’t been deployed to production yet, but I already started on being able to edit the activity types. Maybe I should create another thread for it, but I’ll just put it here for now…

I made a little video of my work in progress, maybe this is a nice way to show people…? I don’t know if this video will work, in the preview it just shows a video camera picture, but nothing to press play on… let’s find out… (update: after a few iterations, I needed to convert to yuv420p pixel format, using ffmpeg option -pix_fmt yuv420p)

Or a screenshot version:

Some of the open questions, which me and @tiltec discussed a bit today in our co-working session are:

  • if you change something (e.g. whether it accepts feedback) should this affect past activities that now become eligible for feedback, or only future ones? we both felt it would be more intuitive to only affect future ones (including ones that already exist, but are in the future - ones generated from a series, or individual created ones).
  • should the name also affect past and future - the idea would be yes, it would change everywhere, because you are editing the type, not creating a new one

To implement the feedback idea only impacting future ones we probably have to add a feed to the activity table to store the value. If we end up wanting lots of different options like this, it might be beneficial to implemented a versioning scheme, where editing an activity type, actually creates a new database entry and transparently “archives” the previous one, so past activities are still able to refer to it, but new ones would use the new one. This would add a lot of implementation complexity so probably only worth considering if there is need from the user/group perspective.

Another aspect we discussed is about communicating edits to the users. For example, if you enable feedback, it would be nice to communicate to the users what that means for the context of the group. One way would be to have a text field when you are saving that you can write a brief description of the change. And in the more general way this could be an enhanced history feature, that you can see more clearly the changes to things over time, who changed it, and why (and maybe this dreamed-about feature of “revert change” too)… takes dreaming hat off again.

It might be nice to be able to customize the feedback label too, to use either the default one (“Was everything alright? Did everyone show up?”), or specify a custom one. It does touch the topic of translations, as custom text is not translatable. This seems ok for most groups as I guess they have a main language, but for more multi-lingual groups would be nice to have multiple languages. For now, they can just put multiple languages into one field though… (oh, maybe some more dreaming of some kind of dynamic integration with weblate to push custom messages into it…).

Ok, thats all for now!

2 Likes

Great work!

Also, probably a confirmation dialog would be useful, to avoid mistakes. Something saying that “This chage will affect X number of activities”

For sure! And I have actually nothing more to add. I agree with the considerations above. :slight_smile:

Slightly more streamlined table + form now…

1 Like

OK, I’m ready for more input again now :slight_smile:

There is a branch deployment at https://add-activity-type-editing.dev.karrot.world you can try out (login with your dev.karrot.world account if you have one (your karrot.world account will not work as it has a different database) or create an account or log in with foo@foo.com / foofoo).

And here is a video talking you through what I’m thinking:

(the bug I mention in it is fixed now)

1 Like