serge-web / serge

Serious Gaming, Evolved - web interface
https://sites.google.com/deepbluec.com/serge/
Apache License 2.0
14 stars 4 forks source link

2934 implement mapping permissions #2949

Closed IanMayo closed 2 months ago

IanMayo commented 2 months ago

Fixes #2934

The functionality in here should be testable in the Storybook.

Note, these things can help you investigate things are working:

BTW - this is what my Storybook looks like. The Args/Controls can be used to change the game-phase and which force we're playing as. image

IanMayo commented 2 months ago

Hello @philb89 - I could do with some GeoMan support, please.

It's this TODO marker: https://github.com/serge-web/serge/pull/2949/commits/dba6c01db68fed2723d4265faf8b5c3a65b4147f#diff-246615c0d194289449f2dfde77724101a3b382246372854477dc8627a75b2caeR30

We set which GeoMan controls are provided at application startup, and we can't change it. but, I wish to change it dependent on the current force, player, game phase.

I've inserted the code around the above TODO marker, the state appears to be updating correctly as we change player/force in the Storybook.

But, the UI doesn't update. I have a suspicion that we need to be doing useMemo - and deciding when to update the memo. Could you have a look please?

Tristina1788 commented 2 months ago

@IanMayo Checking on branch '2934_implement_mapping_permissions' , I get white screen when playgame in channel 'CoreMapping'

https://github.com/serge-web/serge/assets/107697044/9a615130-e8f8-4643-b3d6-b0871e61b52a

IanMayo commented 2 months ago

@IanMayo Checking on branch '2934_implement_mapping_permissions' , I get white screen when playgame in channel 'CoreMapping'

Got it, thanks @Tristina1788

The particpant definitions didn't match the new structure we've defined. I've fixed them so that they are now valid. We're using the participant definitions I created for the Storybook, which are intended to test the broad set of behaviours, rather than to be realistic, so while things work, they may look strange (such as only the 3rd-party role from blue force seeing the mapping)

Tristina1788 commented 2 months ago

@IanMayo Now I can't draw shape on Core Mapping gameplay. And the fake data for CoreMapping is disappeared.

https://github.com/serge-web/serge/assets/107697044/2e0e34d5-13d2-4f12-b2bf-f8a822e97f61

image

Do you need me testing this branch on this period? Because seem we will have many changes and it's quite soon for testing. I'm afraid my comment will make you not concentrate for implementing.

IanMayo commented 2 months ago

@IanMayo Now I can't draw shape on Core Mapping gameplay. And the fake data for CoreMapping is disappeared.

I have to play around with the data a little I expect the data is missing because you are logged in as a user that doesn't have SPATIAL-VIEW permission on the data. Will investigate later.

  • Storybook doesn't have the function to draw shape and has 2 function for drawing text

That is because of the participants. You know how in Google Drive we designed all those roles that have different levels of permissions? You have to use the Storybook controls to choose another role - one with the permission to draw new shapes, for instance.

Do you need me testing this branch on this period? Because seem we will have many changes and it's quite soon for testing. I'm afraid my comment will make you not concentrate for implementing.

I'm ok with you testing :-)

Tristina1788 commented 2 months ago

@IanMayo you have to use the Storybook controls to choose another role - one with the permission to draw new shapes, for instance. Is that the place you mention?

image

I see some forces but don't see the force on 'TestHat' game. So I don't know how to get 'TestHat' force -role to have the permission.

image

I also try to create a new force which has same name with storybook setting permission for channel. But it doesn't have Coremapping

IanMayo commented 2 months ago

No - the participant is controlled in the Storybook test for CoreMapping as shown in the screenshot at the top of this PR.

You may have to switch some things on and off in order to see those tabs, and the Control tab.

Tristina1788 commented 2 months ago

No - the participant is controlled in the Storybook test for CoreMapping as shown in the screenshot at the top of this PR.

You may have to switch some things on and off in order to see those tabs, and the Control tab.

I can see it but I can't draw shape on storybook as this issue #2881

image

Tristina1788 commented 2 months ago

@IanMayo Now I can blue can create new 'Text' item. But it should has 1 'Text' icon istead of two. And user can create new 'Text' but can't update properties.

image

https://github.com/serge-web/serge/assets/107697044/4729f7c3-8cb5-48cb-afcd-71f2deea4808

IanMayo commented 2 months ago

@IanMayo Now I can blue can create new 'Text' item. But it should has 1 'Text' icon istead of two. And user can create new 'Text' but can't update properties.

These are actually the intended features (almost). We're a blue player, in adjudication phase. We have permission to view props, but not edit them, nor can we add/move/resize features. See the config below: image

I realise I need to add a text label permission, for users that can add/edit them. Hmm for now, maybe everybody should be able to work with them :-)

Will investigate the duplicate button. Aah, they're not duplicate. We are using the same icon for two different functions. Will find new icon.