edemaine / cocreate

Cocreate Shared Whiteboard/Drawing
MIT License
209 stars 27 forks source link

Option to create matching room on explicit url entry #161

Open tabascoeye opened 3 years ago

tabascoeye commented 3 years ago

I need the implementation to behave as follows:

When I enter a non-existing room like /r/batteryhorsestaple instead of throwing an error, that room should be created instead.

I could live with only the current syntax being supported (17 alphanumeric chars with some exceptions), but I need the option of automatically creating the room of it doesn't exist yet.

Since I don't know enough about coffeescript or meteor my blunt trial of changing the error throw in checkRoom to a call to roomNew did not seem to do anything.

edemaine commented 3 years ago

@tabascoeye This design is intentional, to force a large amount of randomness in room names so that it's very difficult to guess a room name. If users could specify an arbitrary room name, I fear that they would choose easily guessable ones which would make it easy for people to come trash your board.

Could you explain why the current design, where an API call is needed to create a room before it gets visited, is insufficient?

tabascoeye commented 3 years ago

I want to integrate the board into a workadventure. So basically I can include one URL into the game map. And each player will go to that URL when entering an area of the map where the whiteboard is included. So I need to have a single valid URL.

Again, I'm cool with the constraint of this needing to be 17 chars in the regex which is checked.

I suppose I could run the server, create one "room" and only then use that url on the map. But it's way less convenient.

I would make this a config option if the concerns about trolling is too high

edemaine commented 3 years ago

Are you saying you just need one room? This is a pretty specific use-case, so I don't see the problem with manually creating a room.

tabascoeye commented 3 years ago

okay so specifically, the feature would be to add cocreate to a "map" in workadventu.re (check it out). So in order to add it to any map and be sure that the shared room is only available to that map, I would need a room URL before creating the map. Right now I'm using another whiteboard solution (excalidraw, where the rooms have a 20-hex-char room name and a 22-alphanumeric-char encryption key). In that software, whenever I choose a random new room name, that room is created instead of forcing me to receive a new URL.

If that can't be a configuration option in cocreate, then this issue can be closed