alkem-io / client-web

Default web frontend, enabling browsing the Alkemio platform - so the hosted Challenges and communities collaborating around those Challenges.
https://alkem.io
European Union Public License 1.2
15 stars 6 forks source link

Subspace templates: duplicate #6810

Open SimoneZaza opened 3 months ago

SimoneZaza commented 3 months ago

Description

As an admin, I want to create subspace templates As an admin, I want to duplicate subspaces

Acceptance criteria

From (Sub)space settings > Subspaces, when clicking on duplicate in the more menu in the subspaces list

From to be duplicated Subspace > settings > settings , when clicking on duplicate in the Create template block

Cloning for now means:

Note that cloning challenges is something that we can already do through graphql [EDIT: But this might not work anymore?]: https://stichtingcherrytwist.sharepoint.com/sites/Product/_layouts/15/Doc.aspx?sourcedoc={b0ef1446-f6ac-404c-a33c-71472536494c}&action=edit&wd=target%285.%20Platform%20Content%20and%20Information.one%7C4b47a4a0-0000-481f-b88d-6ce6840426b4%2FCloning%20Challenges%7Cb9bfe7b3-43c3-4be6-97e5-a7a75911d474%2F%29&wdorigin=703

Additional Context

Design: https://www.figma.com/design/eHqxhDSrUZUyTTCmY2L5c5/Subspace-Templates?node-id=91-2331&t=RqcxSnrvIY04Zszx-1

Flow: https://alkem.io/building-alkemio-org/challenges/improvingtheusere-6400/collaboration/subspacetemplates

image.png

Areas that will be affected

To be added during the refinement

bobbykolev commented 1 month ago

Hello, The suggested cloning challenge is not available anymore.

The plan that I have is the following (doing the work in the client, no server changes):

  1. get the existing subspace details: profile, context, tags, etc.
  2. query innovation flow states (by collaborationId);
  3. query collaouts data (same lookup with collaborationId)
  4. execute mutation createSubspace building the input object 4.1. Set name - "Copy of {item.profile.displayName}" (or dialog prior to the flow) 4.2. Use uuid for callout NameIDs (no default option)

Note that this would place all of the callouts in the first inno phase. I don't think we can associate a callout with inno flow state without ids.


I'd like to double-check with you @ccanos & @techsmyth. Having the logic on the server by just passing subspaceId & collaborationId seems logical, but I'd go with the plan above if you agree.

techsmyth commented 1 month ago

@bobbykolev lets chat this one through, as I will be doing some server side work related to templates this week - and I agree that some of the above should be done server side.

bobbykolev commented 2 days ago

I'm not sure what the state of this one is at the moment. I'd rather focus on finalizing the templates before investing time into this one, It is super nice, but it's also achievable with the templates.