Possibility to edit place statuses of cooperation

Whats below is just an idea, not a need.


User story:
As a group member, I would like to be able to create and edit place statuses to be able to filter the place gallery view page and describe places on the place page

Description:
Possibility to edit place cooperation statuses to describe places in more detail and filter places. From my own experience, I know that some places can work with a group in other terms than the default ones which are already in Karrot.

Objectives:

  • Greater ability to organize a group by adjusting place cooperation statuses to the needs of the group
  • Greater self-organization of a group members through the ability to filter by more place statuses

Possible acceptance criteria:

  1. Addition of ā€œPlace statusesā€ tab to group settings
  2. Giving the possibility to edit the places statuses in the terms of:
    1. Create/edit name of status
      1. Standard names - app translations
      2. Individual, not translated name created by the group
    2. Activity/archive Settings
    3. Color change
    4. Visibility on map
  3. Possibility to set new place statuses in individual place settings
    1. Redirecting via the ā€œManage statusesā€ button to the ā€œPlace statusesā€ tab in group settings - case as ā€œManage typesā€
  4. Possibility to filter places by new place statuses

Mockups:
pt. 1, 2. - place statuses in group settings

pt. 3. - place statuses in place settings

pt. 4. - place statuses filter in places gallery view

Potential use:
(in other places that are not the subject of this user story):

  • In group statistics
  • In activities filters

Additional info:

  1. Probably the logic behind displaying/availability of places with a given cooperation status is more complicated in backend than I think. Itā€™s very possible that point 2.4 is not so simple to fulfill. Perhaps a hardcode addition of an additional type of status (if any group has such a need) would also do all the conditions without ability to set them by a group members.

  2. Usage examples:

  • Foodsharing Warszawa* cooperates with places that have regular pickups, but also with those where activity is added only when the owner of the place give us with information about the pickup. Usage example - dividing ā€œCo-operatingā€ to ā€œRegular co-operationā€ and ā€œOccasional co-operationā€.
  • Foodsharing Warszawa* has special place for ā€œone-time pickupsā€, which are marked as ā€œCo-operatingā€, even though each collection is de facto a separate collection place. Application example - new status ā€œOne-time pickupsā€.
  • Foodsharing Warszawa* during negotiations with the new point conducts several test pickups. This can be considered by a different place status, something between ā€œNegociatingā€ and ā€œCo-operatingā€. Usage example - new status ā€œTrail co-operationā€.

*Even though I am a member of Foodsharing Warszawa, I am not responsible for expressing their needs. The above examples are only intended to justify that the feature may also be useful for other groups.

We selected this topic in our selection process yesterday, so work will begin!

Itā€™s one I personally wanted, as when supporting groups to setup for the first time, itā€™s quite confusing, especially when they are not foodsaving groupsā€¦ ā€œCo-operatingā€ makes no sense outside of that kind of context.

This could lead to having different ā€œgroup templatesā€ when starting a group, but for now I think allowing them to be customized is a good step.

Currently, you arenā€™t allowed to create activities for certain statuses, but Iā€™m thinking to remove this restriction.

Reason: there are other activity types now, and even if you arenā€™t co-operating yet, you might want to organise a meeting about it (or anything else).

The other option would be to make it an option in the place status (ā€œAllow activitiesā€ ā†’ yes/no), but Iā€™m not sure there is really much value to thatā€¦

There are a few other things in the code that check the place status that I will encounter, so a few more things might crop up like thatā€¦

1 Like

It makes sense to me!

PRs are open! Quite a lot working now, still quite a bit to do, but getting much much closer!

One decision to make: what happens to the places if you archive a place statusā€¦

  1. automatically archive all the places with that status
  2. optionally (checkbox) archive all the places with that status
  3. allow to switch them all to another status whilst archiving
  4. do nothing to the places

ā€¦

  1. has the follow-up question of how to show places with an archived status (think carefully, as itā€™s not the place that is archived, but the place statusā€¦).

Iā€™m close to being able to merge this but this question is still outstandingā€¦ and Iā€™m not sure the best approach, would be happy for input!

The mega option would be that when archiving a place status, you have a choice to either archive the places too, or convert them all to another statusā€¦ although Iā€™d prefer if there is a simpler way that will work for now.

Funny, it seems itā€™s mandatory to have a status. Otherwise Iā€™d say, just delete the status.
Didnā€™t know our places in the Karrot group (General, Funding, Development etc.) are all cooperating :laughing: Now I see even more why this change is needed!

I donā€™t see why youā€™d want to archive the places too, cause itā€™s the status type you want to get rid of (is ā€œarchiveā€ even the right term, why not delete?). Can you define a default status type that comes first in the list and that all places get when not set differently? Or allow to have no status :wink: (although that might discourage groups to care about their data)

Not having a status would kind of be like having a status called ā€œno statusā€, so in practise itā€™s not very different.

yes :slight_smile: itā€™s actually the last part of karrot that is hardcoded to be food-saving specificā€¦ so itā€™s a milestone in the generalization topic.

it wasnā€™t clear to me if you archive a place status, whether people would expect to still see those places visible (and you wouldnā€™t be able to filter for that status, as itā€™s archived), so it seems an odd situation to end up in (a place that you are still using, with a status that has been archived).

and it might be people are meaning to sort of make the status and all the places with that status just get archived awayā€¦ I donā€™t know what makes sense to people, hence the discussion.

itā€™s a good question and worth asking. I wondered many times before. it allows an ā€œundoā€ (restore), which a lot of software has for many things now, and sometimes users expect that. from a practical/technical perspective we would probably never actually delete it, as itā€™s referenced in the history, and we donā€™t want to delete history too when you delete something, so the question becomes whether it should be possible to un-archive/un-delete it or not.

I think this is a good idea.

Still have the open question to decide what to do with the places when archiving statusesā€¦ I added it to the agenda for the call tomorrow.

Right now I can imagine:

  • implement the default idea, and include a message to say ā€œany places with this status will be set to DEFAULTā€
  • when archiving, have an option which allows: ā€œset any places of this status to OPTIONā€

(and thatā€™s omitting the option to archive places themselves)

I implemented the following now.

When archiving a place status if there are places with that status it prompt you for a status to switch them to.

Happy for design/wording input if itā€™s not clearā€¦

This is merged now! And currently live on https://dev.karrot.world, happy if anybody wants to try it out - to be deployed to prod at some point in the not too distant futureā€¦

This is deployed now :partying_face: