From 4d0107958e7d73e1d09fad5910f7894013850d34 Mon Sep 17 00:00:00 2001 From: janagoetze Date: Tue, 8 Aug 2023 11:09:08 +0000 Subject: [PATCH] deploy: 761c028bedd41c32d6354d1b7745722e50909290 --- _sources/slurk_deployment.rst.txt | 4 +- _static/pygments.css | 1 + openapi.json | 88 +++++++++++++++---------------- searchindex.js | 2 +- slurk_deployment.html | 4 +- 5 files changed, 52 insertions(+), 47 deletions(-) diff --git a/_sources/slurk_deployment.rst.txt b/_sources/slurk_deployment.rst.txt index 0f50b3d9..b7819d16 100644 --- a/_sources/slurk_deployment.rst.txt +++ b/_sources/slurk_deployment.rst.txt @@ -92,8 +92,10 @@ should be persistent, so a volume for the data has to be mounted. This is the restart: always environment: - POSTGRES_PASSWORD=SUPER_SECRET_PSQL_PASSWORD + - POSTGRES_USER=postgres + - PGDATA=/var/lib/postgresql/data/pgdata volumes: - - ./postgres-data:/path/to/postgres/data + - ./postgres-data:/var/lib/postgresql/data/pgdata slurk: image: slurk/server diff --git a/_static/pygments.css b/_static/pygments.css index 691aeb82..0d49244e 100644 --- a/_static/pygments.css +++ b/_static/pygments.css @@ -17,6 +17,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: .highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #A00000 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #FF0000 } /* Generic.Error */ .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ .highlight .gi { color: #00A000 } /* Generic.Inserted */ diff --git a/openapi.json b/openapi.json index d34978d3..089bfbf9 100644 --- a/openapi.json +++ b/openapi.json @@ -956,7 +956,7 @@ "parameters": [ { "in": "path", - "name": "connection_id", + "name": "session_id", "required": true, "schema": { "type": "string", @@ -965,7 +965,7 @@ }, { "in": "path", - "name": "session_id", + "name": "connection_id", "required": true, "schema": { "type": "string", @@ -1979,20 +1979,20 @@ "parameters": [ { "in": "path", - "name": "room_id", + "name": "cls", "required": true, "schema": { - "type": "integer", - "minimum": 0 + "type": "string", + "minLength": 1 } }, { "in": "path", - "name": "cls", + "name": "room_id", "required": true, "schema": { - "type": "string", - "minLength": 1 + "type": "integer", + "minimum": 0 } } ] @@ -2039,20 +2039,20 @@ "parameters": [ { "in": "path", - "name": "room_id", + "name": "element", "required": true, "schema": { - "type": "integer", - "minimum": 0 + "type": "string", + "minLength": 1 } }, { "in": "path", - "name": "element", + "name": "room_id", "required": true, "schema": { - "type": "string", - "minLength": 1 + "type": "integer", + "minimum": 0 } } ] @@ -3664,7 +3664,7 @@ "parameters": [ { "in": "path", - "name": "user_id", + "name": "room_id", "required": true, "schema": { "type": "integer", @@ -3673,7 +3673,7 @@ }, { "in": "path", - "name": "room_id", + "name": "user_id", "required": true, "schema": { "type": "integer", @@ -4616,23 +4616,23 @@ "Scripts": { "type": "object", "properties": { - "incoming-text": { + "print-history": { "default": null, "nullable": true, "type": [ "[string]", "string" ], - "description": "Called when a text message is received" + "description": "Used for printing the chat history" }, - "submit-message": { + "incoming-image": { "default": null, "nullable": true, "type": [ "[string]", "string" ], - "description": "Called when a message is sent" + "description": "Called when an image is received" }, "plain": { "default": null, @@ -4643,41 +4643,41 @@ ], "description": "Injected as a script file into the site" }, - "document-ready": { + "submit-message": { "default": null, "nullable": true, "type": [ "[string]", "string" ], - "description": "Called when site is fully loaded" + "description": "Called when a message is sent" }, - "print-history": { + "document-ready": { "default": null, "nullable": true, "type": [ "[string]", "string" ], - "description": "Used for printing the chat history" + "description": "Called when site is fully loaded" }, - "incoming-image": { + "typing-users": { "default": null, "nullable": true, "type": [ "[string]", "string" ], - "description": "Called when an image is received" + "description": "Called when state of currently typing users is changed" }, - "typing-users": { + "incoming-text": { "default": null, "nullable": true, "type": [ "[string]", "string" ], - "description": "Called when state of currently typing users is changed" + "description": "Called when a text message is received" } } }, @@ -4834,22 +4834,22 @@ "Error": { "type": "object", "properties": { - "status": { + "message": { "type": "string", - "description": "Error name" + "description": "Error message" + }, + "code": { + "type": "integer", + "description": "Error code" }, "errors": { "type": "object", "nullable": true, "description": "Errors" }, - "message": { + "status": { "type": "string", - "description": "Error message" - }, - "code": { - "type": "integer", - "description": "Error code" + "description": "Error name" } } }, @@ -6132,15 +6132,15 @@ "type": "string", "description": "The attribute to be updated" }, + "value": { + "type": "string", + "description": "The value to be set for the given attribute" + }, "receiver_id": { "type": "integer", "default": null, "nullable": true, "description": "Receiver for which the attribute should be set" - }, - "value": { - "type": "string", - "description": "The value to be set for the given attribute" } }, "required": [ @@ -6169,15 +6169,15 @@ "Class": { "type": "object", "properties": { + "class": { + "type": "string", + "description": "The class to be modified" + }, "receiver_id": { "type": "integer", "default": null, "nullable": true, "description": "Receiver for which the class should be modified" - }, - "class": { - "type": "string", - "description": "The class to be modified" } }, "required": [ diff --git a/searchindex.js b/searchindex.js index 812998b4..ccc0660f 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index", "slurk_about", "slurk_amt", "slurk_api", "slurk_bots", "slurk_bots_events", "slurk_deployment", "slurk_gettingstarted", "slurk_layouts", "slurk_multibots", "slurk_permissions", "slurk_prerequisites"], "filenames": ["index.rst", "slurk_about.rst", "slurk_amt.rst", "slurk_api.rst", "slurk_bots.rst", "slurk_bots_events.rst", "slurk_deployment.rst", "slurk_gettingstarted.rst", "slurk_layouts.rst", "slurk_multibots.rst", "slurk_permissions.rst", "slurk_prerequisites.rst"], "titles": ["Slurk - A Lightweight Chat Server for Dialogue Experiments and Data Collection", "1. Slurk: What\u2019s this?", "10. Getting participants from Amazon Mechanical Turk", "8. REST API for slurk", "6. Writing your own bots", "7. Bot-related events", "9. Deployment of the system", "3. Getting Started", "5. Layouts and Plugins", "4. Pairing up participants and running multiple rooms", "Security and Permissions", "2. Prerequisites"], "terms": {"think": [0, 1], "slack": [0, 1], "mechan": [0, 1, 9], "turk": [0, 1], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "easili": [0, 11], "extens": 0, "built": [0, 1], "especi": [0, 3], "conduct": [0, 7], "multimod": [0, 1], "see": [0, 1, 2, 3, 6, 7, 8, 11], "what": [0, 2, 3, 7], "": [0, 2, 3, 7, 8, 9, 11], "thi": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11], "descript": [0, 2, 5], "main": [0, 2], "concept": [0, 7], "Or": 0, "jump": 0, "right": [0, 5, 7, 8, 11], "get": [0, 4, 6, 11], "start": [0, 4, 6, 8, 9, 11], "python": [0, 1, 2, 11], "top": [0, 5, 8, 11], "flask": 0, "socketio": [0, 4], "happi": 0, "mani": [1, 2, 3], "field": [1, 2, 8, 11], "research": [1, 9, 11], "have": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "profit": 1, "last": [1, 9], "year": 1, "from": [1, 3, 6, 7, 8, 9], "avail": [1, 2, 3, 7], "through": [1, 8], "so": [1, 4, 5, 6, 7, 11], "call": [1, 3, 4, 6, 8, 10], "crowdwork": 1, "platform": [1, 2, 11], "larg": 1, "pool": 1, "worker": [1, 2, 11], "can": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "do": [1, 4, 5, 6], "small": 1, "web": [1, 7], "base": 1, "task": [1, 2, 4, 5, 7, 8, 10], "ha": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11], "help": [1, 2, 11], "psychologi": 1, "well": [1, 4, 5, 9], "dramat": 1, "artifici": 1, "intellig": [1, 2], "where": [1, 4, 5, 7, 9], "made": [1, 7], "possibl": [1, 3, 5, 6, 7, 8], "collect": [1, 2, 4, 5], "amount": [1, 2], "label": 1, "data": [1, 4, 5, 6, 7, 8], "which": [1, 2, 3, 4, 5, 6, 7, 8], "model": [1, 7], "deriv": 1, "while": [1, 3], "common": [1, 8, 11], "offer": 1, "templat": [1, 2], "imag": [1, 2, 3, 4, 6, 10, 11], "answer": 1, "question": 1, "ar": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "dialogu": [1, 2, 4], "more": [1, 2, 3, 4, 5, 6, 7, 11], "than": [1, 3], "one": [1, 2, 3, 4, 5, 7, 8, 9], "particip": [1, 7, 10], "need": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11], "same": [1, 4, 6, 7, 9], "time": [1, 2, 4, 5, 6, 7, 8, 11], "To": [1, 3, 6, 7], "facilit": 1, "we": [1, 2, 4, 5, 6, 7, 9, 11], "chat": [1, 4, 8, 9], "server": [1, 3, 4, 5, 6, 9, 11], "onto": 1, "human": [1, 2, 3, 4, 5, 9, 10], "bot": [1, 2, 3, 8, 10], "log": [1, 2, 4, 6, 8, 9, 11], "interact": [1, 7], "convers": 1, "happen": 1, "room": [1, 2, 4, 7, 8, 10], "close": [1, 8], "off": [1, 11], "each": [1, 2, 3, 5, 6, 7, 8, 9, 11], "other": [1, 2, 3, 6, 8, 11], "handl": [1, 4, 5, 7, 8, 9], "separ": [1, 2], "parallel": 1, "given": [1, 2, 3, 5, 10], "user": [1, 2, 4, 5, 7, 10, 11], "onli": [1, 2, 3, 4, 5, 6, 7, 10, 11], "henc": 1, "were": [1, 2, 7, 11], "specif": [1, 3, 9, 10], "interest": 1, "involv": 1, "just": [1, 5, 7, 8, 9], "word": 1, "paradigmat": 1, "exampl": [1, 2, 4, 7, 8, 9, 10], "type": [1, 2, 4, 5, 7, 10, 11], "would": [1, 2, 5, 7], "discuss": [1, 11], "about": [1, 2, 9], "an": [1, 3, 4, 5, 6, 7, 8, 9, 11], "being": [1, 5, 8], "shown": [1, 3, 4, 8], "enabl": [1, 3, 6, 10, 11], "set": [1, 2, 4, 5, 6, 7, 9, 10], "distinguish": 1, "interfac": [1, 5, 7], "present": [1, 2, 4], "between": [1, 2, 4, 5, 8], "displai": [1, 2, 5, 7, 8], "area": [1, 8], "media": [1, 8], "e": [1, 4, 5, 7, 9, 10], "g": [1, 4, 5, 7, 10], "input": 1, "histori": 1, "utter": [1, 2], "compos": 1, "respect": [1, 2, 5, 7], "control": [1, 2], "might": [1, 2, 4, 7], "caus": [1, 5, 6, 8, 11], "chang": [1, 3, 4, 6, 7, 8], "respons": [1, 5, 11], "wa": [1, 4, 5, 8, 11], "said": 1, "far": [1, 7], "reach": [1, 4, 5], "over": [1, 2, 11], "thei": [1, 2, 3, 4, 5, 8], "provid": [1, 2, 4, 5, 6, 7, 8, 9], "wai": [1, 2, 6, 7, 11], "specifi": [1, 2, 5, 6, 8, 9], "programmat": 1, "two": [1, 2, 5, 6, 8, 9], "littl": [1, 4], "client": [1, 3, 4], "program": [1, 4, 11], "written": 1, "connect": [1, 3, 4, 5, 6], "via": [1, 5], "socket": [1, 4, 11], "io": [1, 11], "enter": [1, 2, 5, 7, 8, 9], "both": [1, 4, 5, 7, 8, 9], "text": [1, 3, 4, 5, 10], "messag": [1, 2, 3, 4, 7, 9, 10, 11], "commun": [1, 3, 4], "send": [1, 2, 3, 4, 5, 8, 10], "command": [1, 2, 4, 8, 9, 10, 11], "respond": [1, 4], "event": [1, 2, 3, 4, 7, 8, 10], "unlik": 1, "sever": [1, 2, 6, 7, 8], "certain": [1, 5], "defin": [1, 2, 3, 4, 6, 8], "experiment": [1, 4, 11], "typic": [1, 4, 8, 10], "includ": [1, 4, 5, 7], "write": [1, 10], "multipl": [1, 2, 3, 4, 11], "talk": [1, 3, 7], "alwai": [1, 6], "exactli": 1, "The": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "concierg": [1, 2, 5, 8, 9], "wait": [1, 2, 4, 8], "until": [1, 2, 4, 5, 8], "pre": [1, 8], "determin": [1, 11], "number": [1, 2, 4, 9], "member": 1, "let": [1, 3, 4, 7, 9], "sai": 1, "2": [1, 7, 9], "case": [1, 2, 6, 11], "all": [1, 2, 4, 5, 6, 7, 8, 9, 11], "move": [1, 2, 4, 5, 7, 9], "newli": [1, 4], "creat": [1, 3, 4, 5, 6, 7, 8, 10, 11], "technic": 1, "driven": 1, "emit": [1, 4, 5, 8], "correspond": [1, 2, 3, 6, 8], "inform": [1, 2, 3, 4, 7, 9, 11], "process": [1, 2, 5, 11], "side": [1, 5, 8], "script": [1, 2, 5, 6, 7, 8, 9, 10, 11], "api": [1, 2, 4, 6, 7, 8, 10], "us": [1, 2, 3, 4, 5, 7, 8, 9, 10], "rest": [1, 4, 7, 8], "For": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "instanc": [1, 4], "disconnect": 1, "gener": [1, 2, 5, 7, 11], "token": [1, 2, 3, 4, 5, 6, 7, 10, 11], "public": [1, 11], "sent": [1, 2, 4, 5, 7, 8], "requir": [1, 2, 3, 4, 5, 6, 9, 11], "permiss": [1, 3, 5, 7, 8, 9], "who": [1, 2, 4, 5, 8, 9], "mai": [1, 3, 5, 6, 7, 8, 9, 11], "sinc": [1, 2], "re": [1, 6, 11], "run": [1, 2, 3, 4, 6, 7], "here": [1, 2, 5, 6, 9, 10], "access": [1, 2, 3, 6, 7, 10], "regul": 1, "advanc": 1, "link": [1, 2, 3, 5, 8], "want": [1, 2, 6, 7, 9, 11], "invit": [1, 7], "take": [1, 2, 4, 9], "part": [1, 9, 11], "serv": 1, "password": [1, 6, 11], "dure": [1, 10], "login": [1, 2, 6, 11], "when": [1, 2, 3, 4, 5, 6, 8, 10], "open": [1, 2, 5, 8, 9, 11], "url": [1, 4, 5, 8], "screen": 1, "initi": [1, 5], "give": [1, 3, 8, 10], "themselv": 1, "name": [1, 4, 5, 6, 7, 8, 11], "must": [1, 2], "insert": 1, "databas": [1, 2, 3, 6, 7], "automat": [1, 5, 7, 8], "transfer": [1, 2], "therefor": [1, 11], "befor": [1, 2, 6], "sequenc": 1, "also": [1, 2, 3, 5, 6, 7, 8, 9], "repres": [1, 5, 8], "purpos": [2, 4, 5, 7], "slurk": [2, 4, 7, 8, 9, 10], "allow": [2, 3, 7, 8], "big": 2, "crowd": 2, "sourc": [2, 11], "amt": 2, "In": [2, 3, 4, 5, 7, 8, 9, 10, 11], "section": [2, 4, 7], "explain": [2, 4, 7], "how": [2, 6, 8, 9], "function": [2, 4, 8], "order": [2, 3, 4, 5, 7, 9, 10], "retriev": [2, 4], "result": [2, 11], "metadata": 2, "accept": [2, 10], "reject": 2, "submit": [2, 5, 9, 10], "payment": 2, "account": 2, "store": [2, 4, 9], "behind": 2, "scheme": 2, "below": [2, 4, 5], "integr": [2, 8], "basic": 2, "These": [2, 11], "guarante": [2, 8], "decid": 2, "return": [2, 3, 4, 7, 8, 9], "complet": [2, 4, 11], "significantli": 2, "reduc": 2, "spent": 2, "analysi": 2, "simpli": 2, "ignor": 2, "becaus": [2, 6], "never": [2, 3], "our": [2, 6, 7, 9], "activ": [2, 11], "along": [2, 9], "Their": 2, "monitor": 2, "join": [2, 4, 5, 8, 9], "them": [2, 4, 5, 6, 7, 8, 10], "issu": [2, 6, 10, 11], "etc": [2, 11], "onc": [2, 5, 9], "player": [2, 8], "click": [2, 5, 7, 8, 11], "new": [2, 4, 5, 7, 8, 9, 11], "browser": [2, 9], "window": [2, 7], "after": [2, 3, 5, 7, 8], "concret": 2, "file": [2, 6, 8, 9, 11], "mysql": 2, "invalid": [2, 6], "malici": 2, "outsid": 2, "With": [2, 3, 7, 8, 11], "make": [2, 5, 6, 7, 8, 11], "sure": [2, 5, 6, 7, 11], "cannot": [2, 11], "harm": 2, "ani": [2, 3, 5, 8, 11], "request": [2, 4, 5], "format": [2, 5, 8], "htmlquestion": 2, "1": [2, 4, 7, 9], "put": [2, 6, 9], "less": [2, 3], "effort": 2, "embed": 2, "applic": [2, 6, 10, 11], "your": [2, 6, 7, 8, 11], "xml": 2, "you": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "structur": [2, 5], "It": [2, 5, 8, 9], "slideshow": 2, "simpl": [2, 8], "html": [2, 3, 4, 5, 8, 10], "webpag": 2, "list": [2, 3, 4, 5, 6, 7, 8, 10, 11], "instruct": [2, 5, 8, 11], "even": [2, 3], "video": 2, "meta": 2, "titl": [2, 8], "author": [2, 4, 5, 10], "reward": 2, "lifetim": 2, "second": [2, 4, 5], "paramet": [2, 7, 8, 9, 10], "visibl": [2, 5, 8], "speed": 2, "up": [2, 4, 6, 7, 8], "imagin": 2, "restrict": 2, "low": 2, "qualiti": 2, "pass": [2, 3, 4, 5, 6, 8], "qualif": 2, "preview": [2, 8], "those": [2, 4, 5, 6, 9, 11], "5000": [2, 6, 7, 9, 10, 11], "Such": 2, "most": [2, 7], "like": [2, 3, 5, 7, 8], "increas": 2, "import": [2, 3, 5, 10], "contain": [2, 3, 5, 6, 7, 9], "becom": 2, "later": [2, 3, 6, 7], "non": [2, 11], "depend": [2, 6, 8, 11], "situat": 2, "particular": [2, 7], "he": 2, "follow": [2, 4, 5, 6, 8, 9, 11], "page": [2, 7, 8], "game": 2, "either": [2, 3, 5, 7, 8], "sandbox": 2, "test": [2, 6, 11], "environ": [2, 7, 9, 11], "itself": [2, 5], "As": [2, 6, 8], "figur": 2, "abov": [2, 3, 11], "indic": [2, 5], "special": [2, 5, 9], "produc": 2, "associ": [2, 3, 4, 6, 9, 10], "abl": [2, 4, 5, 7, 10], "element": [2, 5, 8], "briefli": 2, "describ": [2, 6], "analys": 2, "receiv": [2, 5, 8, 10], "pair": [2, 7, 11], "anoth": [2, 8, 9], "u": [2, 7], "differenti": [2, 4], "actual": [2, 7], "someon": 2, "upon": 2, "json": [2, 4, 7, 8, 9, 10], "dictionari": [2, 5, 8], "insid": [2, 8], "track": [2, 8], "timestamp": [2, 3, 5, 8], "some": [2, 3, 4, 8], "been": [2, 5, 6, 7], "pai": 2, "job": 2, "compar": [2, 5], "natur": 2, "consid": [2, 3, 10], "reli": 2, "wrap": 2, "bonu": 2, "end": [2, 4, 6, 11], "necessari": [2, 5], "addition": [2, 8], "pleas": [2, 4, 6, 11], "visit": [2, 3, 7], "offici": [2, 11], "document": [2, 3, 6, 11], "view": [3, 4], "rapidoc": [3, 6], "modifi": [3, 8], "underli": 3, "full": [3, 4, 8], "method": [3, 4], "redoc": 3, "swagger": 3, "ui": 3, "try": [3, 11], "out": [3, 4, 8], "directli": 3, "sort": 3, "chronolog": 3, "tabl": 3, "previous": 3, "valu": [3, 5, 6, 8], "A": [3, 4, 5, 8], "look": [3, 4, 11], "could": [3, 4, 11], "hand": 3, "plugin": 3, "mostli": 3, "veri": [3, 5, 7], "limit": 3, "everi": [3, 4, 5, 6, 7, 8, 9], "regist": [3, 4, 8], "assign": [3, 4, 5, 7], "singl": [3, 5, 7], "secur": 3, "aspect": [3, 10], "should": [3, 5, 6, 7, 9, 10, 11], "realli": [3, 7], "avoid": 3, "inject": [3, 8], "arbitrari": 3, "object": [3, 4, 8], "unknown": 3, "everyth": [3, 8], "almost": 3, "action": [3, 4, 8], "evalu": 3, "experi": [3, 5, 7], "point": [3, 7, 8], "endpoint": 3, "filter": 3, "add": [3, 5, 11], "custom": [3, 8], "note": [3, 6], "work": [3, 7, 8], "without": [3, 7, 8], "extern": 3, "postgr": 3, "save": 3, "millisecond": 3, "2022": 3, "11": 3, "22t13": 3, "32": 3, "49": 3, "133840": 3, "intern": [3, 7], "besid": [3, 8], "attribut": [3, 8], "openvidu": [3, 10], "modul": 3, "deploy": [3, 7], "system": [3, 7, 11], "impli": [3, 6], "session": [3, 10], "id": [3, 4, 5, 6, 7, 8, 9], "check": [3, 11], "subscrib": [3, 10], "publish": [3, 10], "openvidu_rol": [3, 10], "By": 4, "perform": [4, 5], "variou": 4, "There": [4, 5, 6, 7, 8], "sampl": 4, "code": 4, "found": 4, "github": [4, 6, 7, 11], "group": [4, 11], "valid": [4, 6, 9], "option": [4, 5, 6, 9, 11], "port": [4, 6], "default": [4, 5, 6, 7, 8, 11], "http": [4, 6, 7, 8, 9, 11], "localhost": [4, 7, 10], "concierge_bot": 4, "conciergebot": [4, 9], "arg": 4, "host": [4, 7, 9], "If": [4, 5, 6, 7, 8, 11], "success": 4, "now": [4, 6, 7, 9], "listen": [4, 5, 9, 11], "straightforward": 4, "ad": [4, 5, 8], "register_callback": 4, "notifi": [4, 5], "leav": [4, 5, 6], "statu": [4, 5, 11], "detail": [4, 11], "exist": [4, 8], "next": [4, 7, 9], "class": 4, "sio": [4, 5], "logger": 4, "true": [4, 5, 6, 7, 10], "dict": [4, 5], "def": [4, 5], "__init__": 4, "self": [4, 5], "design": [4, 5, 8], "soon": 4, "minim": 4, "param": 4, "uuid": 4, "string": [4, 8], "pattern": 4, "0c45b30f": 4, "d049": 4, "43d1": 4, "b80d": 4, "e3c3a3ca22a0": 4, "str": [4, 5], "int": [4, 5], "protocol": 4, "hostnam": 4, "uri": [4, 5, 6], "none": [4, 5], "f": [4, 5, 6, 11], "info": [4, 11], "handler": [4, 5], "establish": 4, "header": [4, 5, 6, 8], "bearer": [4, 5, 10], "namespac": 4, "read": [4, 6, 7], "get_user_task": 4, "user_task_join": 4, "elif": 4, "anymor": 4, "user_task_leav": 4, "task_id": [4, 5, 9], "user_id": [4, 5], "user_nam": 4, "updat": [4, 11], "entri": [4, 6], "setdefault": 4, "len": 4, "num_us": 4, "new_room": [4, 5], "create_room": [4, 7, 9], "layout_id": [4, 7], "old": [4, 6, 11], "old_room_id": 4, "item": 4, "etag": [4, 6], "join_room": 4, "delete_room": 4, "clear": 4, "del": 4, "room_creat": [4, 5], "enough": 4, "els": 4, "hello": [4, 11], "n": [4, 11], "am": 4, "partner": [4, 8], "patient": 4, "receiver_id": [4, 5], "callback": 4, "message_callback": 4, "verifi": [4, 5, 6, 11], "invok": [4, 11], "flag": 4, "first": [4, 5, 6, 7, 9], "argument": 4, "error": [4, 6, 11], "fals": [4, 5], "staticmethod": 4, "error_msg": 4, "exit": [4, 11], "debug": [4, 5], "successfulli": [4, 6], "overview": 4, "possibli": 4, "mean": 4, "ok": [4, 11], "status_cod": 4, "raise_for_statu": 4, "got": [4, 7], "trigger": [5, 11], "independ": 5, "its": [5, 7], "layout": [5, 7, 9, 10], "do_someth": 5, "new_task_room": 5, "rememb": 5, "creation": [5, 10], "kei": [5, 6, 8, 11], "room_id": [5, 7], "post": [5, 10], "match": 5, "interpret": 5, "latter": 5, "relev": 5, "joined_room": 5, "left_room": 5, "resourc": 5, "fulfil": 5, "introduc": 5, "left": [5, 8], "place": 5, "term": 5, "iso": 5, "8601": 5, "yyyi": 5, "mm": 5, "dd": 5, "hh": 5, "ss": 5, "ssssss": 5, "utc": 5, "mention": 5, "privat": [5, 7, 8, 9, 10], "otherwis": [5, 7, 11], "doe": [5, 11], "seen": [5, 7], "content": [5, 6, 8, 10], "syntax": 5, "whoever": 5, "suppos": [5, 8], "send_priv": [5, 7, 10], "evolv": 5, "around": 5, "exchang": 5, "send_messag": [5, 7, 10], "send_html_messag": [5, 10], "wish": [5, 6, 8, 9], "count": 5, "mileston": 5, "direct": [5, 8], "broadcast": [5, 10], "bool": 5, "transmit": 5, "appli": [5, 8, 11], "text_messag": 5, "meant": 5, "send_imag": [5, 7, 10], "normal": 5, "But": [5, 7], "width": [5, 8], "recommend": 5, "200": 5, "height": [5, 8], "image_messag": 5, "similar": [5, 11], "send_command": [5, 10], "understood": [5, 9], "prefix": 5, "slash": 5, "howev": [5, 6, 7], "message_command": 5, "coordin": 5, "percentag": 5, "x": [5, 10], "0": [5, 11], "4": [5, 11], "100px": 5, "40px": 5, "corner": 5, "plain": 5, "addit": [5, 6, 7], "few": [5, 6], "milisecond": 5, "y": 5, "posit": 5, "element_id": 5, "receive_bounding_box": [5, 8, 10], "bounding_box": [5, 10], "remov": [5, 6, 11], "canva": [5, 8], "reset": [5, 7], "bottom": 5, "four": 5, "rectangl": [5, 8], "configur": 6, "flask_env": 6, "verbos": [6, 11], "develop": [6, 11], "admin": [6, 7, 11], "fix": 6, "00000000": 6, "0000": 6, "000000000000": 6, "cooki": 6, "secret": 6, "slurk_secret_kei": 6, "random": 6, "restart": [6, 7, 11], "back": 6, "memori": [6, 7], "slurk_database_uri": 6, "engin": [6, 11], "sqlalchemi": 6, "sqlite": 6, "notic": 6, "behav": 6, "weirdli": 6, "auto": [6, 11], "increment": 6, "delet": 6, "again": [6, 7, 11], "patch": 6, "disabl": 6, "slurk_disable_etag": 6, "slurk_openvidu_url": 6, "com": [6, 8, 9, 11], "slurk_openvidu_secret": 6, "slurk_openvidu_port": 6, "443": 6, "slurk_openvidu_verifi": 6, "ssl": 6, "spin": [6, 7], "consult": 6, "repositori": [6, 9, 11], "start_serv": [6, 11], "sh": [6, 7, 9, 11], "gunicorn": [6, 11], "local": [6, 7], "usag": 6, "easiest": [6, 11], "p": [6, 11], "80": 6, "volum": 6, "bound": [6, 8, 10], "persist": 6, "domain": 6, "export": [6, 7, 11], "flask_app": 6, "comprehens": 6, "differ": [6, 7, 8, 9], "proper": 6, "chose": 6, "probabl": 6, "t": [6, 7, 8, 11], "mount": [6, 11], "yml": 6, "version": [6, 11], "3": [6, 11], "9": [6, 11], "servic": [6, 11], "db": [6, 11], "postgres_password": 6, "super_secret_psql_password": 6, "path": 6, "failur": [6, 11], "postgresql": 6, "5432": 6, "my_slurk_secret_kei": 6, "my_super_secret_ov_secret": 6, "alongsid": 6, "step": [6, 7, 8, 9], "navig": 6, "directori": [6, 11], "stop": [6, 8], "network": [6, 7], "down": 6, "pull": 6, "manual": [6, 11], "build": [6, 8, 11], "prefer": 6, "project": [6, 11], "folder": 6, "tag": [6, 8, 11], "dockerfil": [6, 11], "afterward": 6, "background": [6, 8], "d": [6, 10, 11], "l": 6, "prerequisit": 7, "docker": [7, 9], "slurk_token": [7, 9], "read_admin_token": [7, 11], "echo": [7, 9], "01234567": [7, 11], "89ab": [7, 11], "cdef": [7, 11], "0123": [7, 11], "456789abcdef": [7, 11], "subsequ": 7, "land": 7, "create_layout": [7, 9], "simple_layout": [7, 9], "jq": [7, 9], "create_room_token": [7, 9], "message_permiss": [7, 9], "r": [7, 9, 11], "fedcba98": 7, "7654": 7, "3210": 7, "fedc": 7, "ba9876543210": 7, "whatev": 7, "chatroom": [7, 9], "transport": [7, 11], "happili": 7, "apart": 7, "confirm": 7, "correctli": [7, 11], "hasn": 7, "excit": 7, "previou": [7, 8, 11], "create_token": 7, "tab": [7, 9], "ident": 7, "selv": 7, "across": 7, "hurrai": 7, "machin": [7, 11], "distinct": 7, "person": 7, "demonstr": [7, 8], "capabl": 7, "variabl": [7, 8, 9], "cat": 7, "bot_token": 7, "45670123": 7, "4567": 7, "012389abcdef": 7, "bot_us": 7, "create_us": [7, 9], "slurk_us": [7, 9], "slurk_port": [7, 9], "net": [7, 9], "yourself": 7, "myself": 7, "record": 7, "studi": 7, "train": 7, "get_log": 7, "conclud": 7, "quick": 7, "reason": 7, "confid": 7, "setup": 7, "introduct": 7, "That": 7, "alreadi": [7, 11], "bring": 7, "lab": 7, "crowdsourc": 7, "though": 7, "own": 8, "stylesheet": 8, "level": 8, "three": 8, "worth": 8, "compris": 8, "further": 8, "node": 8, "predefin": 8, "span": 8, "box": [8, 10], "nest": 8, "outer": 8, "inner": 8, "css": 8, "align": 8, "margin": 8, "50px": 8, "20px": 8, "15px": 8, "abil": 8, "map": 8, "arriv": 8, "boolean": 8, "show": [8, 11], "whether": 8, "mark": [8, 9], "markdown": 8, "hit": 8, "current_us": 8, "current_timestamp": 8, "current": [8, 11], "intercept": 8, "Not": 8, "execut": 8, "state": [8, 11], "site": 8, "ask": 8, "reload": 8, "pop": 8, "desir": 8, "enforc": 8, "fullscreen": 8, "grai": 8, "button": [8, 10], "fullscreen_layout": 8, "collaps": 8, "hide": 8, "lengthi": 8, "demand": 8, "instructions_layout": 8, "draw": 8, "per": 8, "drawn": 8, "share": 8, "mous": 8, "movement": 8, "live": 8, "edit": 8, "mode": 8, "3sec": 8, "keylogg": 8, "keystrok": 8, "under": 8, "keyword": 8, "togeth": 8, "uniqu": 8, "load": [8, 11], "display_messag": 8, "sender": 8, "privatemessag": 8, "display_imag": 8, "display_info": 8, "submit_text": 8, "submit_imag": 8, "submit_command": 8, "static": 8, "ones": 8, "blue": 8, "theme": 8, "subtitl": 8, "div": 8, "src": 8, "giphi": 8, "txl4fhpsnvj0a": 8, "gif": 8, "500": 8, "400": 8, "footer": 8, "115e91": 8, "learn": 9, "curl": [9, 10, 11], "raw": 9, "githubusercont": 9, "clp": [9, 11], "master": 9, "waiting_room_layout": 9, "push": 9, "waiting_room_layout_id": 9, "ensur": 9, "integ": 9, "waiting_room_id": 9, "task_layout_id": 9, "create_task": 9, "concierge_bot_permiss": 9, "echo_bot_permiss": 9, "concierge_token": 9, "concierge_us": 9, "echo_token": 9, "echo_us": 9, "echobot": 9, "termin": 9, "copi": [9, 11], "echo_task_id": 9, "origin": 9, "twice": 9, "sed": 9, "begin": 9, "strip": 9, "quotat": 9, "repli": 9, "h": 10, "admin_token": 10, "grant": 10, "role": 10, "done": 10, "clickabl": 10, "unix": 11, "oper": 11, "thu": 11, "subsystem": 11, "linux": 11, "latest": 11, "x64": 11, "1903": 11, "higher": 11, "18362": 11, "arm64": 11, "2004": 11, "19041": 11, "guid": 11, "wsl2": 11, "featur": 11, "outdat": 11, "furthermor": 11, "problem": 11, "powershel": 11, "search": 11, "select": 11, "administr": 11, "dism": 11, "ex": 11, "onlin": 11, "featurenam": 11, "microsoft": 11, "norestart": 11, "upgrad": 11, "virtualmachineplatform": 11, "download": 11, "kernel": 11, "packag": 11, "doubl": 11, "6": 11, "turn": 11, "deselect": 11, "virtual": 11, "distribut": 11, "launch": 11, "usernam": 11, "shell": 11, "sub": 11, "uninstal": 11, "sudo": 11, "apt": 11, "containerd": 11, "runc": 11, "ca": 11, "certif": 11, "gnupg": 11, "agent": 11, "softwar": 11, "properti": 11, "gpg": 11, "fssl": 11, "stabl": 11, "deb": 11, "arch": 11, "amd64": 11, "lsb_releas": 11, "c": 11, "ce": 11, "cli": 11, "daemon": 11, "root": 11, "groupadd": 11, "usermod": 11, "ag": 11, "print": 11, "world": 11, "line": 11, "correct": 11, "ssh": 11, "keygen": 11, "upload": 11, "clone": 11, "git": 11, "go": 11, "slurk_dock": 11, "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef": 11, "fetch": 11, "output": 11, "empti": 11, "find": 11, "valuabl": 11, "miniconda": 11, "conda": 11, "venv": 11, "python3": 11, "m": 11, "bin": 11, "pip": 11, "txt": 11, "1232": 11, "geventwebsocket": 11, "geventwebsocketwork": 11, "boot": 11, "pid": 11, "1233": 11, "seem": 11, "impact": 11, "5": 11, "19": 11, "03": 11, "13": 11, "focal": 11, "pigz": 11, "cgroupf": 11, "rc": 11, "runlevel": 11, "grub2": 11, "1ubuntu26": 11, "grub": 11, "pc": 11, "symlink": 11, "systemd": 11, "multi": 11, "target": 11, "lib": 11, "config": 11, "gfxpayload": 11, "7": 11, "dfsg": 11, "libc": 11, "31": 11, "0ubuntu9": 11, "245": 11, "4ubuntu3": 11, "man": 11, "unsign": 11, "1028": 11, "oem": 11, "28": 11, "postinst": 11, "initramf": 11, "tool": 11, "initrd": 11, "img": 11, "w": 11, "mkconf": 11, "md": 11, "scan": 11, "arrai": 11, "mdadm": 11, "fail": 11, "temporari": 11, "conf": 11, "4903": 11, "unrecover": 11, "loop": 11, "dpkg": 11, "spiritu": 11, "4763": 11, "lvm": 11, "wsl1": 11, "doesn": 11, "raid": 11, "isn": 11, "lack": 11, "disk": 11, "somehow": 11, "purg": 11}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"slurk": [0, 1, 3, 6, 11], "A": [0, 1, 7], "lightweight": 0, "chat": [0, 5, 7], "server": [0, 7], "dialogu": 0, "experi": [0, 1], "data": [0, 2], "collect": 0, "what": 1, "": 1, "thi": 1, "some": [1, 10], "basic": [1, 7], "concept": 1, "simpl": 1, "get": [2, 7], "particip": [2, 9], "from": 2, "amazon": 2, "mechan": 2, "turk": 2, "build": 2, "publish": 2, "hit": 2, "review": 2, "extract": 2, "rest": 3, "api": 3, "layout": [3, 8], "room": [3, 5, 9], "task": [3, 9], "user": [3, 8, 9], "log": [3, 7], "video": 3, "audio": 3, "write": 4, "your": 4, "own": [4, 5], "bot": [4, 5, 7, 9], "dissect": 4, "concierg": 4, "relat": 5, "event": 5, "exampl": [5, 6], "echo": 5, "movement": 5, "monitor": 5, "overal": 5, "messag": [5, 8], "imag": [5, 8], "command": 5, "other": [5, 7], "mous": 5, "track": 5, "bound": 5, "box": 5, "deploy": 6, "system": 6, "environ": 6, "variabl": 6, "openvidu": 6, "support": 6, "host": 6, "docker": [6, 11], "flask": 6, "us": [6, 11], "compos": 6, "postgr": 6, "start": 7, "hello": 7, "world": 7, "test": 7, "browser": 7, "two": 7, "examin": 7, "file": 7, "plugin": 8, "trigger": 8, "incom": 8, "text": 8, "submit": 8, "print": 8, "histori": 8, "type": 8, "plain": 8, "document": 8, "readi": 8, "develop": 8, "practic": 8, "pair": 9, "up": [9, 11], "run": [9, 11], "multipl": 9, "creat": 9, "wait": 9, "assign": 9, "token": 9, "secur": 10, "permiss": 10, "note": [10, 11], "prerequisit": 11, "prepar": 11, "window": 11, "10": 11, "set": 11, "wsl": 11, "2": 11, "instal": 11, "ubuntu": 11, "20": 11, "04": 11, "1": 11, "app": 11, "store": 11, "potenti": 11, "after": 11, "step": 11, "checkout": 11, "recommend": 11, "without": 11, "side": 11}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Slurk - A Lightweight Chat Server for Dialogue Experiments and Data Collection": [[0, "slurk-a-lightweight-chat-server-for-dialogue-experiments-and-data-collection"]], "Slurk: What\u2019s this?": [[1, "slurk-what-s-this"]], "Some basic concepts": [[1, "some-basic-concepts"]], "A simple experiment": [[1, "a-simple-experiment"]], "Getting participants from Amazon Mechanical Turk": [[2, "getting-participants-from-amazon-mechanical-turk"]], "Building and Publishing HITs": [[2, "building-and-publishing-hits"]], "Reviewing HITs, Extracting data": [[2, "reviewing-hits-extracting-data"]], "REST API for slurk": [[3, "rest-api-for-slurk"]], "Layouts, Rooms, and Tasks": [[3, "layouts-rooms-and-tasks"]], "Users": [[3, "users"]], "Logging": [[3, "logging"]], "Video and Audio": [[3, "video-and-audio"]], "Writing your own bots": [[4, "writing-your-own-bots"]], "Dissecting the concierge bot": [[4, "dissecting-the-concierge-bot"]], "Bot-related events": [[5, "bot-related-events"]], "Rooms": [[5, "rooms"]], "Example: Echo Bot": [[5, "example-echo-bot"]], "Movement": [[5, "movement"]], "Monitoring own movement": [[5, "monitoring-own-movement"]], "Monitoring overall movement": [[5, "monitoring-overall-movement"]], "Chat": [[5, "chat"]], "Messages": [[5, "messages"]], "Images": [[5, "images"]], "Commands": [[5, "commands"]], "Others": [[5, "others"]], "Mouse Tracking": [[5, "mouse-tracking"]], "Bounding Boxes": [[5, "bounding-boxes"]], "Deployment of the system": [[6, "deployment-of-the-system"]], "Environment variables": [[6, "environment-variables"]], "OpenVidu support": [[6, "openvidu-support"]], "Hosting slurk": [[6, "hosting-slurk"]], "Docker": [[6, "docker"]], "Flask": [[6, "flask"]], "Example using docker-compose and Postgres": [[6, "example-using-docker-compose-and-postgres"]], "Getting Started": [[7, "getting-started"]], "\u201cHello World\u201d: A basic test of the server": [[7, "hello-world-a-basic-test-of-the-server"]], "\u201cHello World\u201d \u2013 \u201cHello Other Browser\u201d: Testing with two browsers": [[7, "hello-world-hello-other-browser-testing-with-two-browsers"]], "Chatting with a bot": [[7, "chatting-with-a-bot"]], "Examining the log files": [[7, "examining-the-log-files"]], "Layouts and Plugins": [[8, "layouts-and-plugins"]], "Triggers": [[8, "triggers"]], "\"incoming-text\"": [[8, "incoming-text"]], "\"incoming-image\"": [[8, "incoming-image"]], "\"submit-message\"": [[8, "submit-message"]], "\"print-history\"": [[8, "print-history"]], "\"typing-users\"": [[8, "typing-users"]], "\"plain\"": [[8, "plain"]], "\"document-ready\"": [[8, "document-ready"]], "Layout development in practice": [[8, "layout-development-in-practice"]], "Pairing up participants and running multiple rooms": [[9, "pairing-up-participants-and-running-multiple-rooms"]], "Create a waiting room and a task": [[9, "create-a-waiting-room-and-a-task"]], "Assign bots to rooms": [[9, "assign-bots-to-rooms"]], "Create user tokens for the task": [[9, "create-user-tokens-for-the-task"]], "Security and Permissions": [[10, "security-and-permissions"]], "Some notes:": [[10, "some-notes"]], "Prerequisites": [[11, "prerequisites"]], "Prepare Windows 10": [[11, "prepare-windows-10"]], "Setting up WSL 2": [[11, "setting-up-wsl-2"]], "Install Ubuntu-20.04.1 using the App Store": [[11, "install-ubuntu-20-04-1-using-the-app-store"]], "Install docker into Ubuntu": [[11, "install-docker-into-ubuntu"]], "Potential after-installation steps": [[11, "potential-after-installation-steps"]], "Checkout slurk": [[11, "checkout-slurk"]], "Run with docker (recommended)": [[11, "run-with-docker-recommended"]], "Run without docker": [[11, "run-without-docker"]], "Side-notes": [[11, "side-notes"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "slurk_about", "slurk_amt", "slurk_api", "slurk_bots", "slurk_bots_events", "slurk_deployment", "slurk_gettingstarted", "slurk_layouts", "slurk_multibots", "slurk_permissions", "slurk_prerequisites"], "filenames": ["index.rst", "slurk_about.rst", "slurk_amt.rst", "slurk_api.rst", "slurk_bots.rst", "slurk_bots_events.rst", "slurk_deployment.rst", "slurk_gettingstarted.rst", "slurk_layouts.rst", "slurk_multibots.rst", "slurk_permissions.rst", "slurk_prerequisites.rst"], "titles": ["Slurk - A Lightweight Chat Server for Dialogue Experiments and Data Collection", "1. Slurk: What\u2019s this?", "10. Getting participants from Amazon Mechanical Turk", "8. REST API for slurk", "6. Writing your own bots", "7. Bot-related events", "9. Deployment of the system", "3. Getting Started", "5. Layouts and Plugins", "4. Pairing up participants and running multiple rooms", "Security and Permissions", "2. Prerequisites"], "terms": {"think": [0, 1], "slack": [0, 1], "mechan": [0, 1, 9], "turk": [0, 1], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "easili": [0, 11], "extens": 0, "built": [0, 1], "especi": [0, 3], "conduct": [0, 7], "multimod": [0, 1], "see": [0, 1, 2, 3, 6, 7, 8, 11], "what": [0, 2, 3, 7], "": [0, 2, 3, 7, 8, 9, 11], "thi": [0, 2, 3, 4, 5, 6, 7, 8, 9, 11], "descript": [0, 2, 5], "main": [0, 2], "concept": [0, 7], "Or": 0, "jump": 0, "right": [0, 5, 7, 8, 11], "get": [0, 4, 6, 11], "start": [0, 4, 6, 8, 9, 11], "python": [0, 1, 2, 11], "top": [0, 5, 8, 11], "flask": 0, "socketio": [0, 4], "happi": 0, "mani": [1, 2, 3], "field": [1, 2, 8, 11], "research": [1, 9, 11], "have": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "profit": 1, "last": [1, 9], "year": 1, "from": [1, 3, 6, 7, 8, 9], "avail": [1, 2, 3, 7], "through": [1, 8], "so": [1, 4, 5, 6, 7, 11], "call": [1, 3, 4, 6, 8, 10], "crowdwork": 1, "platform": [1, 2, 11], "larg": 1, "pool": 1, "worker": [1, 2, 11], "can": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "do": [1, 4, 5, 6], "small": 1, "web": [1, 7], "base": 1, "task": [1, 2, 4, 5, 7, 8, 10], "ha": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11], "help": [1, 2, 11], "psychologi": 1, "well": [1, 4, 5, 9], "dramat": 1, "artifici": 1, "intellig": [1, 2], "where": [1, 4, 5, 7, 9], "made": [1, 7], "possibl": [1, 3, 5, 6, 7, 8], "collect": [1, 2, 4, 5], "amount": [1, 2], "label": 1, "data": [1, 4, 5, 6, 7, 8], "which": [1, 2, 3, 4, 5, 6, 7, 8], "model": [1, 7], "deriv": 1, "while": [1, 3], "common": [1, 8, 11], "offer": 1, "templat": [1, 2], "imag": [1, 2, 3, 4, 6, 10, 11], "answer": 1, "question": 1, "ar": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "dialogu": [1, 2, 4], "more": [1, 2, 3, 4, 5, 6, 7, 11], "than": [1, 3], "one": [1, 2, 3, 4, 5, 7, 8, 9], "particip": [1, 7, 10], "need": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11], "same": [1, 4, 6, 7, 9], "time": [1, 2, 4, 5, 6, 7, 8, 11], "To": [1, 3, 6, 7], "facilit": 1, "we": [1, 2, 4, 5, 6, 7, 9, 11], "chat": [1, 4, 8, 9], "server": [1, 3, 4, 5, 6, 9, 11], "onto": 1, "human": [1, 2, 3, 4, 5, 9, 10], "bot": [1, 2, 3, 8, 10], "log": [1, 2, 4, 6, 8, 9, 11], "interact": [1, 7], "convers": 1, "happen": 1, "room": [1, 2, 4, 7, 8, 10], "close": [1, 8], "off": [1, 11], "each": [1, 2, 3, 5, 6, 7, 8, 9, 11], "other": [1, 2, 3, 6, 8, 11], "handl": [1, 4, 5, 7, 8, 9], "separ": [1, 2], "parallel": 1, "given": [1, 2, 3, 5, 10], "user": [1, 2, 4, 5, 7, 10, 11], "onli": [1, 2, 3, 4, 5, 6, 7, 10, 11], "henc": 1, "were": [1, 2, 7, 11], "specif": [1, 3, 9, 10], "interest": 1, "involv": 1, "just": [1, 5, 7, 8, 9], "word": 1, "paradigmat": 1, "exampl": [1, 2, 4, 7, 8, 9, 10], "type": [1, 2, 4, 5, 7, 10, 11], "would": [1, 2, 5, 7], "discuss": [1, 11], "about": [1, 2, 9], "an": [1, 3, 4, 5, 6, 7, 8, 9, 11], "being": [1, 5, 8], "shown": [1, 3, 4, 8], "enabl": [1, 3, 6, 10, 11], "set": [1, 2, 4, 5, 6, 7, 9, 10], "distinguish": 1, "interfac": [1, 5, 7], "present": [1, 2, 4], "between": [1, 2, 4, 5, 8], "displai": [1, 2, 5, 7, 8], "area": [1, 8], "media": [1, 8], "e": [1, 4, 5, 7, 9, 10], "g": [1, 4, 5, 7, 10], "input": 1, "histori": 1, "utter": [1, 2], "compos": 1, "respect": [1, 2, 5, 7], "control": [1, 2], "might": [1, 2, 4, 7], "caus": [1, 5, 6, 8, 11], "chang": [1, 3, 4, 6, 7, 8], "respons": [1, 5, 11], "wa": [1, 4, 5, 8, 11], "said": 1, "far": [1, 7], "reach": [1, 4, 5], "over": [1, 2, 11], "thei": [1, 2, 3, 4, 5, 8], "provid": [1, 2, 4, 5, 6, 7, 8, 9], "wai": [1, 2, 6, 7, 11], "specifi": [1, 2, 5, 6, 8, 9], "programmat": 1, "two": [1, 2, 5, 6, 8, 9], "littl": [1, 4], "client": [1, 3, 4], "program": [1, 4, 11], "written": 1, "connect": [1, 3, 4, 5, 6], "via": [1, 5], "socket": [1, 4, 11], "io": [1, 11], "enter": [1, 2, 5, 7, 8, 9], "both": [1, 4, 5, 7, 8, 9], "text": [1, 3, 4, 5, 10], "messag": [1, 2, 3, 4, 7, 9, 10, 11], "commun": [1, 3, 4], "send": [1, 2, 3, 4, 5, 8, 10], "command": [1, 2, 4, 8, 9, 10, 11], "respond": [1, 4], "event": [1, 2, 3, 4, 7, 8, 10], "unlik": 1, "sever": [1, 2, 6, 7, 8], "certain": [1, 5], "defin": [1, 2, 3, 4, 6, 8], "experiment": [1, 4, 11], "typic": [1, 4, 8, 10], "includ": [1, 4, 5, 7], "write": [1, 10], "multipl": [1, 2, 3, 4, 11], "talk": [1, 3, 7], "alwai": [1, 6], "exactli": 1, "The": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "concierg": [1, 2, 5, 8, 9], "wait": [1, 2, 4, 8], "until": [1, 2, 4, 5, 8], "pre": [1, 8], "determin": [1, 11], "number": [1, 2, 4, 9], "member": 1, "let": [1, 3, 4, 7, 9], "sai": 1, "2": [1, 7, 9], "case": [1, 2, 6, 11], "all": [1, 2, 4, 5, 6, 7, 8, 9, 11], "move": [1, 2, 4, 5, 7, 9], "newli": [1, 4], "creat": [1, 3, 4, 5, 6, 7, 8, 10, 11], "technic": 1, "driven": 1, "emit": [1, 4, 5, 8], "correspond": [1, 2, 3, 6, 8], "inform": [1, 2, 3, 4, 7, 9, 11], "process": [1, 2, 5, 11], "side": [1, 5, 8], "script": [1, 2, 5, 6, 7, 8, 9, 10, 11], "api": [1, 2, 4, 6, 7, 8, 10], "us": [1, 2, 3, 4, 5, 7, 8, 9, 10], "rest": [1, 4, 7, 8], "For": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "instanc": [1, 4], "disconnect": 1, "gener": [1, 2, 5, 7, 11], "token": [1, 2, 3, 4, 5, 6, 7, 10, 11], "public": [1, 11], "sent": [1, 2, 4, 5, 7, 8], "requir": [1, 2, 3, 4, 5, 6, 9, 11], "permiss": [1, 3, 5, 7, 8, 9], "who": [1, 2, 4, 5, 8, 9], "mai": [1, 3, 5, 6, 7, 8, 9, 11], "sinc": [1, 2], "re": [1, 6, 11], "run": [1, 2, 3, 4, 6, 7], "here": [1, 2, 5, 6, 9, 10], "access": [1, 2, 3, 6, 7, 10], "regul": 1, "advanc": 1, "link": [1, 2, 3, 5, 8], "want": [1, 2, 6, 7, 9, 11], "invit": [1, 7], "take": [1, 2, 4, 9], "part": [1, 9, 11], "serv": 1, "password": [1, 6, 11], "dure": [1, 10], "login": [1, 2, 6, 11], "when": [1, 2, 3, 4, 5, 6, 8, 10], "open": [1, 2, 5, 8, 9, 11], "url": [1, 4, 5, 8], "screen": 1, "initi": [1, 5], "give": [1, 3, 8, 10], "themselv": 1, "name": [1, 4, 5, 6, 7, 8, 11], "must": [1, 2], "insert": 1, "databas": [1, 2, 3, 6, 7], "automat": [1, 5, 7, 8], "transfer": [1, 2], "therefor": [1, 11], "befor": [1, 2, 6], "sequenc": 1, "also": [1, 2, 3, 5, 6, 7, 8, 9], "repres": [1, 5, 8], "purpos": [2, 4, 5, 7], "slurk": [2, 4, 7, 8, 9, 10], "allow": [2, 3, 7, 8], "big": 2, "crowd": 2, "sourc": [2, 11], "amt": 2, "In": [2, 3, 4, 5, 7, 8, 9, 10, 11], "section": [2, 4, 7], "explain": [2, 4, 7], "how": [2, 6, 8, 9], "function": [2, 4, 8], "order": [2, 3, 4, 5, 7, 9, 10], "retriev": [2, 4], "result": [2, 11], "metadata": 2, "accept": [2, 10], "reject": 2, "submit": [2, 5, 9, 10], "payment": 2, "account": 2, "store": [2, 4, 9], "behind": 2, "scheme": 2, "below": [2, 4, 5], "integr": [2, 8], "basic": 2, "These": [2, 11], "guarante": [2, 8], "decid": 2, "return": [2, 3, 4, 7, 8, 9], "complet": [2, 4, 11], "significantli": 2, "reduc": 2, "spent": 2, "analysi": 2, "simpli": 2, "ignor": 2, "becaus": [2, 6], "never": [2, 3], "our": [2, 6, 7, 9], "activ": [2, 11], "along": [2, 9], "Their": 2, "monitor": 2, "join": [2, 4, 5, 8, 9], "them": [2, 4, 5, 6, 7, 8, 10], "issu": [2, 6, 10, 11], "etc": [2, 11], "onc": [2, 5, 9], "player": [2, 8], "click": [2, 5, 7, 8, 11], "new": [2, 4, 5, 7, 8, 9, 11], "browser": [2, 9], "window": [2, 7], "after": [2, 3, 5, 7, 8], "concret": 2, "file": [2, 6, 8, 9, 11], "mysql": 2, "invalid": [2, 6], "malici": 2, "outsid": 2, "With": [2, 3, 7, 8, 11], "make": [2, 5, 6, 7, 8, 11], "sure": [2, 5, 6, 7, 11], "cannot": [2, 11], "harm": 2, "ani": [2, 3, 5, 8, 11], "request": [2, 4, 5], "format": [2, 5, 8], "htmlquestion": 2, "1": [2, 4, 7, 9], "put": [2, 6, 9], "less": [2, 3], "effort": 2, "embed": 2, "applic": [2, 6, 10, 11], "your": [2, 6, 7, 8, 11], "xml": 2, "you": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "structur": [2, 5], "It": [2, 5, 8, 9], "slideshow": 2, "simpl": [2, 8], "html": [2, 3, 4, 5, 8, 10], "webpag": 2, "list": [2, 3, 4, 5, 6, 7, 8, 10, 11], "instruct": [2, 5, 8, 11], "even": [2, 3], "video": 2, "meta": 2, "titl": [2, 8], "author": [2, 4, 5, 10], "reward": 2, "lifetim": 2, "second": [2, 4, 5], "paramet": [2, 7, 8, 9, 10], "visibl": [2, 5, 8], "speed": 2, "up": [2, 4, 6, 7, 8], "imagin": 2, "restrict": 2, "low": 2, "qualiti": 2, "pass": [2, 3, 4, 5, 6, 8], "qualif": 2, "preview": [2, 8], "those": [2, 4, 5, 6, 9, 11], "5000": [2, 6, 7, 9, 10, 11], "Such": 2, "most": [2, 7], "like": [2, 3, 5, 7, 8], "increas": 2, "import": [2, 3, 5, 10], "contain": [2, 3, 5, 6, 7, 9], "becom": 2, "later": [2, 3, 6, 7], "non": [2, 11], "depend": [2, 6, 8, 11], "situat": 2, "particular": [2, 7], "he": 2, "follow": [2, 4, 5, 6, 8, 9, 11], "page": [2, 7, 8], "game": 2, "either": [2, 3, 5, 7, 8], "sandbox": 2, "test": [2, 6, 11], "environ": [2, 7, 9, 11], "itself": [2, 5], "As": [2, 6, 8], "figur": 2, "abov": [2, 3, 11], "indic": [2, 5], "special": [2, 5, 9], "produc": 2, "associ": [2, 3, 4, 6, 9, 10], "abl": [2, 4, 5, 7, 10], "element": [2, 5, 8], "briefli": 2, "describ": [2, 6], "analys": 2, "receiv": [2, 5, 8, 10], "pair": [2, 7, 11], "anoth": [2, 8, 9], "u": [2, 7], "differenti": [2, 4], "actual": [2, 7], "someon": 2, "upon": 2, "json": [2, 4, 7, 8, 9, 10], "dictionari": [2, 5, 8], "insid": [2, 8], "track": [2, 8], "timestamp": [2, 3, 5, 8], "some": [2, 3, 4, 8], "been": [2, 5, 6, 7], "pai": 2, "job": 2, "compar": [2, 5], "natur": 2, "consid": [2, 3, 10], "reli": 2, "wrap": 2, "bonu": 2, "end": [2, 4, 6, 11], "necessari": [2, 5], "addition": [2, 8], "pleas": [2, 4, 6, 11], "visit": [2, 3, 7], "offici": [2, 11], "document": [2, 3, 6, 11], "view": [3, 4], "rapidoc": [3, 6], "modifi": [3, 8], "underli": 3, "full": [3, 4, 8], "method": [3, 4], "redoc": 3, "swagger": 3, "ui": 3, "try": [3, 11], "out": [3, 4, 8], "directli": 3, "sort": 3, "chronolog": 3, "tabl": 3, "previous": 3, "valu": [3, 5, 6, 8], "A": [3, 4, 5, 8], "look": [3, 4, 11], "could": [3, 4, 11], "hand": 3, "plugin": 3, "mostli": 3, "veri": [3, 5, 7], "limit": 3, "everi": [3, 4, 5, 6, 7, 8, 9], "regist": [3, 4, 8], "assign": [3, 4, 5, 7], "singl": [3, 5, 7], "secur": 3, "aspect": [3, 10], "should": [3, 5, 6, 7, 9, 10, 11], "realli": [3, 7], "avoid": 3, "inject": [3, 8], "arbitrari": 3, "object": [3, 4, 8], "unknown": 3, "everyth": [3, 8], "almost": 3, "action": [3, 4, 8], "evalu": 3, "experi": [3, 5, 7], "point": [3, 7, 8], "endpoint": 3, "filter": 3, "add": [3, 5, 11], "custom": [3, 8], "note": [3, 6], "work": [3, 7, 8], "without": [3, 7, 8], "extern": 3, "postgr": 3, "save": 3, "millisecond": 3, "2022": 3, "11": 3, "22t13": 3, "32": 3, "49": 3, "133840": 3, "intern": [3, 7], "besid": [3, 8], "attribut": [3, 8], "openvidu": [3, 10], "modul": 3, "deploy": [3, 7], "system": [3, 7, 11], "impli": [3, 6], "session": [3, 10], "id": [3, 4, 5, 6, 7, 8, 9], "check": [3, 11], "subscrib": [3, 10], "publish": [3, 10], "openvidu_rol": [3, 10], "By": 4, "perform": [4, 5], "variou": 4, "There": [4, 5, 6, 7, 8], "sampl": 4, "code": 4, "found": 4, "github": [4, 6, 7, 11], "group": [4, 11], "valid": [4, 6, 9], "option": [4, 5, 6, 9, 11], "port": [4, 6], "default": [4, 5, 6, 7, 8, 11], "http": [4, 6, 7, 8, 9, 11], "localhost": [4, 7, 10], "concierge_bot": 4, "conciergebot": [4, 9], "arg": 4, "host": [4, 7, 9], "If": [4, 5, 6, 7, 8, 11], "success": 4, "now": [4, 6, 7, 9], "listen": [4, 5, 9, 11], "straightforward": 4, "ad": [4, 5, 8], "register_callback": 4, "notifi": [4, 5], "leav": [4, 5, 6], "statu": [4, 5, 11], "detail": [4, 11], "exist": [4, 8], "next": [4, 7, 9], "class": 4, "sio": [4, 5], "logger": 4, "true": [4, 5, 6, 7, 10], "dict": [4, 5], "def": [4, 5], "__init__": 4, "self": [4, 5], "design": [4, 5, 8], "soon": 4, "minim": 4, "param": 4, "uuid": 4, "string": [4, 8], "pattern": 4, "0c45b30f": 4, "d049": 4, "43d1": 4, "b80d": 4, "e3c3a3ca22a0": 4, "str": [4, 5], "int": [4, 5], "protocol": 4, "hostnam": 4, "uri": [4, 5, 6], "none": [4, 5], "f": [4, 5, 6, 11], "info": [4, 11], "handler": [4, 5], "establish": 4, "header": [4, 5, 6, 8], "bearer": [4, 5, 10], "namespac": 4, "read": [4, 6, 7], "get_user_task": 4, "user_task_join": 4, "elif": 4, "anymor": 4, "user_task_leav": 4, "task_id": [4, 5, 9], "user_id": [4, 5], "user_nam": 4, "updat": [4, 11], "entri": [4, 6], "setdefault": 4, "len": 4, "num_us": 4, "new_room": [4, 5], "create_room": [4, 7, 9], "layout_id": [4, 7], "old": [4, 6, 11], "old_room_id": 4, "item": 4, "etag": [4, 6], "join_room": 4, "delete_room": 4, "clear": 4, "del": 4, "room_creat": [4, 5], "enough": 4, "els": 4, "hello": [4, 11], "n": [4, 11], "am": 4, "partner": [4, 8], "patient": 4, "receiver_id": [4, 5], "callback": 4, "message_callback": 4, "verifi": [4, 5, 6, 11], "invok": [4, 11], "flag": 4, "first": [4, 5, 6, 7, 9], "argument": 4, "error": [4, 6, 11], "fals": [4, 5], "staticmethod": 4, "error_msg": 4, "exit": [4, 11], "debug": [4, 5], "successfulli": [4, 6], "overview": 4, "possibli": 4, "mean": 4, "ok": [4, 11], "status_cod": 4, "raise_for_statu": 4, "got": [4, 7], "trigger": [5, 11], "independ": 5, "its": [5, 7], "layout": [5, 7, 9, 10], "do_someth": 5, "new_task_room": 5, "rememb": 5, "creation": [5, 10], "kei": [5, 6, 8, 11], "room_id": [5, 7], "post": [5, 10], "match": 5, "interpret": 5, "latter": 5, "relev": 5, "joined_room": 5, "left_room": 5, "resourc": 5, "fulfil": 5, "introduc": 5, "left": [5, 8], "place": 5, "term": 5, "iso": 5, "8601": 5, "yyyi": 5, "mm": 5, "dd": 5, "hh": 5, "ss": 5, "ssssss": 5, "utc": 5, "mention": 5, "privat": [5, 7, 8, 9, 10], "otherwis": [5, 7, 11], "doe": [5, 11], "seen": [5, 7], "content": [5, 6, 8, 10], "syntax": 5, "whoever": 5, "suppos": [5, 8], "send_priv": [5, 7, 10], "evolv": 5, "around": 5, "exchang": 5, "send_messag": [5, 7, 10], "send_html_messag": [5, 10], "wish": [5, 6, 8, 9], "count": 5, "mileston": 5, "direct": [5, 8], "broadcast": [5, 10], "bool": 5, "transmit": 5, "appli": [5, 8, 11], "text_messag": 5, "meant": 5, "send_imag": [5, 7, 10], "normal": 5, "But": [5, 7], "width": [5, 8], "recommend": 5, "200": 5, "height": [5, 8], "image_messag": 5, "similar": [5, 11], "send_command": [5, 10], "understood": [5, 9], "prefix": 5, "slash": 5, "howev": [5, 6, 7], "message_command": 5, "coordin": 5, "percentag": 5, "x": [5, 10], "0": [5, 11], "4": [5, 11], "100px": 5, "40px": 5, "corner": 5, "plain": 5, "addit": [5, 6, 7], "few": [5, 6], "milisecond": 5, "y": 5, "posit": 5, "element_id": 5, "receive_bounding_box": [5, 8, 10], "bounding_box": [5, 10], "remov": [5, 6, 11], "canva": [5, 8], "reset": [5, 7], "bottom": 5, "four": 5, "rectangl": [5, 8], "configur": 6, "flask_env": 6, "verbos": [6, 11], "develop": [6, 11], "admin": [6, 7, 11], "fix": 6, "00000000": 6, "0000": 6, "000000000000": 6, "cooki": 6, "secret": 6, "slurk_secret_kei": 6, "random": 6, "restart": [6, 7, 11], "back": 6, "memori": [6, 7], "slurk_database_uri": 6, "engin": [6, 11], "sqlalchemi": 6, "sqlite": 6, "notic": 6, "behav": 6, "weirdli": 6, "auto": [6, 11], "increment": 6, "delet": 6, "again": [6, 7, 11], "patch": 6, "disabl": 6, "slurk_disable_etag": 6, "slurk_openvidu_url": 6, "com": [6, 8, 9, 11], "slurk_openvidu_secret": 6, "slurk_openvidu_port": 6, "443": 6, "slurk_openvidu_verifi": 6, "ssl": 6, "spin": [6, 7], "consult": 6, "repositori": [6, 9, 11], "start_serv": [6, 11], "sh": [6, 7, 9, 11], "gunicorn": [6, 11], "local": [6, 7], "usag": 6, "easiest": [6, 11], "p": [6, 11], "80": 6, "volum": 6, "bound": [6, 8, 10], "persist": 6, "domain": 6, "export": [6, 7, 11], "flask_app": 6, "comprehens": 6, "differ": [6, 7, 8, 9], "proper": 6, "chose": 6, "probabl": 6, "t": [6, 7, 8, 11], "mount": [6, 11], "yml": 6, "version": [6, 11], "3": [6, 11], "9": [6, 11], "servic": [6, 11], "db": [6, 11], "postgres_password": 6, "super_secret_psql_password": 6, "postgres_us": 6, "pgdata": 6, "var": 6, "lib": [6, 11], "postgresql": 6, "failur": [6, 11], "5432": 6, "my_slurk_secret_kei": 6, "my_super_secret_ov_secret": 6, "path": 6, "alongsid": 6, "step": [6, 7, 8, 9], "navig": 6, "directori": [6, 11], "stop": [6, 8], "network": [6, 7], "down": 6, "pull": 6, "manual": [6, 11], "build": [6, 8, 11], "prefer": 6, "project": [6, 11], "folder": 6, "tag": [6, 8, 11], "dockerfil": [6, 11], "afterward": 6, "background": [6, 8], "d": [6, 10, 11], "l": 6, "prerequisit": 7, "docker": [7, 9], "slurk_token": [7, 9], "read_admin_token": [7, 11], "echo": [7, 9], "01234567": [7, 11], "89ab": [7, 11], "cdef": [7, 11], "0123": [7, 11], "456789abcdef": [7, 11], "subsequ": 7, "land": 7, "create_layout": [7, 9], "simple_layout": [7, 9], "jq": [7, 9], "create_room_token": [7, 9], "message_permiss": [7, 9], "r": [7, 9, 11], "fedcba98": 7, "7654": 7, "3210": 7, "fedc": 7, "ba9876543210": 7, "whatev": 7, "chatroom": [7, 9], "transport": [7, 11], "happili": 7, "apart": 7, "confirm": 7, "correctli": [7, 11], "hasn": 7, "excit": 7, "previou": [7, 8, 11], "create_token": 7, "tab": [7, 9], "ident": 7, "selv": 7, "across": 7, "hurrai": 7, "machin": [7, 11], "distinct": 7, "person": 7, "demonstr": [7, 8], "capabl": 7, "variabl": [7, 8, 9], "cat": 7, "bot_token": 7, "45670123": 7, "4567": 7, "012389abcdef": 7, "bot_us": 7, "create_us": [7, 9], "slurk_us": [7, 9], "slurk_port": [7, 9], "net": [7, 9], "yourself": 7, "myself": 7, "record": 7, "studi": 7, "train": 7, "get_log": 7, "conclud": 7, "quick": 7, "reason": 7, "confid": 7, "setup": 7, "introduct": 7, "That": 7, "alreadi": [7, 11], "bring": 7, "lab": 7, "crowdsourc": 7, "though": 7, "own": 8, "stylesheet": 8, "level": 8, "three": 8, "worth": 8, "compris": 8, "further": 8, "node": 8, "predefin": 8, "span": 8, "box": [8, 10], "nest": 8, "outer": 8, "inner": 8, "css": 8, "align": 8, "margin": 8, "50px": 8, "20px": 8, "15px": 8, "abil": 8, "map": 8, "arriv": 8, "boolean": 8, "show": [8, 11], "whether": 8, "mark": [8, 9], "markdown": 8, "hit": 8, "current_us": 8, "current_timestamp": 8, "current": [8, 11], "intercept": 8, "Not": 8, "execut": 8, "state": [8, 11], "site": 8, "ask": 8, "reload": 8, "pop": 8, "desir": 8, "enforc": 8, "fullscreen": 8, "grai": 8, "button": [8, 10], "fullscreen_layout": 8, "collaps": 8, "hide": 8, "lengthi": 8, "demand": 8, "instructions_layout": 8, "draw": 8, "per": 8, "drawn": 8, "share": 8, "mous": 8, "movement": 8, "live": 8, "edit": 8, "mode": 8, "3sec": 8, "keylogg": 8, "keystrok": 8, "under": 8, "keyword": 8, "togeth": 8, "uniqu": 8, "load": [8, 11], "display_messag": 8, "sender": 8, "privatemessag": 8, "display_imag": 8, "display_info": 8, "submit_text": 8, "submit_imag": 8, "submit_command": 8, "static": 8, "ones": 8, "blue": 8, "theme": 8, "subtitl": 8, "div": 8, "src": 8, "giphi": 8, "txl4fhpsnvj0a": 8, "gif": 8, "500": 8, "400": 8, "footer": 8, "115e91": 8, "learn": 9, "curl": [9, 10, 11], "raw": 9, "githubusercont": 9, "clp": [9, 11], "master": 9, "waiting_room_layout": 9, "push": 9, "waiting_room_layout_id": 9, "ensur": 9, "integ": 9, "waiting_room_id": 9, "task_layout_id": 9, "create_task": 9, "concierge_bot_permiss": 9, "echo_bot_permiss": 9, "concierge_token": 9, "concierge_us": 9, "echo_token": 9, "echo_us": 9, "echobot": 9, "termin": 9, "copi": [9, 11], "echo_task_id": 9, "origin": 9, "twice": 9, "sed": 9, "begin": 9, "strip": 9, "quotat": 9, "repli": 9, "h": 10, "admin_token": 10, "grant": 10, "role": 10, "done": 10, "clickabl": 10, "unix": 11, "oper": 11, "thu": 11, "subsystem": 11, "linux": 11, "latest": 11, "x64": 11, "1903": 11, "higher": 11, "18362": 11, "arm64": 11, "2004": 11, "19041": 11, "guid": 11, "wsl2": 11, "featur": 11, "outdat": 11, "furthermor": 11, "problem": 11, "powershel": 11, "search": 11, "select": 11, "administr": 11, "dism": 11, "ex": 11, "onlin": 11, "featurenam": 11, "microsoft": 11, "norestart": 11, "upgrad": 11, "virtualmachineplatform": 11, "download": 11, "kernel": 11, "packag": 11, "doubl": 11, "6": 11, "turn": 11, "deselect": 11, "virtual": 11, "distribut": 11, "launch": 11, "usernam": 11, "shell": 11, "sub": 11, "uninstal": 11, "sudo": 11, "apt": 11, "containerd": 11, "runc": 11, "ca": 11, "certif": 11, "gnupg": 11, "agent": 11, "softwar": 11, "properti": 11, "gpg": 11, "fssl": 11, "stabl": 11, "deb": 11, "arch": 11, "amd64": 11, "lsb_releas": 11, "c": 11, "ce": 11, "cli": 11, "daemon": 11, "root": 11, "groupadd": 11, "usermod": 11, "ag": 11, "print": 11, "world": 11, "line": 11, "correct": 11, "ssh": 11, "keygen": 11, "upload": 11, "clone": 11, "git": 11, "go": 11, "slurk_dock": 11, "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef": 11, "fetch": 11, "output": 11, "empti": 11, "find": 11, "valuabl": 11, "miniconda": 11, "conda": 11, "venv": 11, "python3": 11, "m": 11, "bin": 11, "pip": 11, "txt": 11, "1232": 11, "geventwebsocket": 11, "geventwebsocketwork": 11, "boot": 11, "pid": 11, "1233": 11, "seem": 11, "impact": 11, "5": 11, "19": 11, "03": 11, "13": 11, "focal": 11, "pigz": 11, "cgroupf": 11, "rc": 11, "runlevel": 11, "grub2": 11, "1ubuntu26": 11, "grub": 11, "pc": 11, "symlink": 11, "systemd": 11, "multi": 11, "target": 11, "config": 11, "gfxpayload": 11, "7": 11, "dfsg": 11, "libc": 11, "31": 11, "0ubuntu9": 11, "245": 11, "4ubuntu3": 11, "man": 11, "unsign": 11, "1028": 11, "oem": 11, "28": 11, "postinst": 11, "initramf": 11, "tool": 11, "initrd": 11, "img": 11, "w": 11, "mkconf": 11, "md": 11, "scan": 11, "arrai": 11, "mdadm": 11, "fail": 11, "temporari": 11, "conf": 11, "4903": 11, "unrecover": 11, "loop": 11, "dpkg": 11, "spiritu": 11, "4763": 11, "lvm": 11, "wsl1": 11, "doesn": 11, "raid": 11, "isn": 11, "lack": 11, "disk": 11, "somehow": 11, "purg": 11}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"slurk": [0, 1, 3, 6, 11], "A": [0, 1, 7], "lightweight": 0, "chat": [0, 5, 7], "server": [0, 7], "dialogu": 0, "experi": [0, 1], "data": [0, 2], "collect": 0, "what": 1, "": 1, "thi": 1, "some": [1, 10], "basic": [1, 7], "concept": 1, "simpl": 1, "get": [2, 7], "particip": [2, 9], "from": 2, "amazon": 2, "mechan": 2, "turk": 2, "build": 2, "publish": 2, "hit": 2, "review": 2, "extract": 2, "rest": 3, "api": 3, "layout": [3, 8], "room": [3, 5, 9], "task": [3, 9], "user": [3, 8, 9], "log": [3, 7], "video": 3, "audio": 3, "write": 4, "your": 4, "own": [4, 5], "bot": [4, 5, 7, 9], "dissect": 4, "concierg": 4, "relat": 5, "event": 5, "exampl": [5, 6], "echo": 5, "movement": 5, "monitor": 5, "overal": 5, "messag": [5, 8], "imag": [5, 8], "command": 5, "other": [5, 7], "mous": 5, "track": 5, "bound": 5, "box": 5, "deploy": 6, "system": 6, "environ": 6, "variabl": 6, "openvidu": 6, "support": 6, "host": 6, "docker": [6, 11], "flask": 6, "us": [6, 11], "compos": 6, "postgr": 6, "start": 7, "hello": 7, "world": 7, "test": 7, "browser": 7, "two": 7, "examin": 7, "file": 7, "plugin": 8, "trigger": 8, "incom": 8, "text": 8, "submit": 8, "print": 8, "histori": 8, "type": 8, "plain": 8, "document": 8, "readi": 8, "develop": 8, "practic": 8, "pair": 9, "up": [9, 11], "run": [9, 11], "multipl": 9, "creat": 9, "wait": 9, "assign": 9, "token": 9, "secur": 10, "permiss": 10, "note": [10, 11], "prerequisit": 11, "prepar": 11, "window": 11, "10": 11, "set": 11, "wsl": 11, "2": 11, "instal": 11, "ubuntu": 11, "20": 11, "04": 11, "1": 11, "app": 11, "store": 11, "potenti": 11, "after": 11, "step": 11, "checkout": 11, "recommend": 11, "without": 11, "side": 11}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Slurk - A Lightweight Chat Server for Dialogue Experiments and Data Collection": [[0, "slurk-a-lightweight-chat-server-for-dialogue-experiments-and-data-collection"]], "Slurk: What\u2019s this?": [[1, "slurk-what-s-this"]], "Some basic concepts": [[1, "some-basic-concepts"]], "A simple experiment": [[1, "a-simple-experiment"]], "Getting participants from Amazon Mechanical Turk": [[2, "getting-participants-from-amazon-mechanical-turk"]], "Building and Publishing HITs": [[2, "building-and-publishing-hits"]], "Reviewing HITs, Extracting data": [[2, "reviewing-hits-extracting-data"]], "REST API for slurk": [[3, "rest-api-for-slurk"]], "Layouts, Rooms, and Tasks": [[3, "layouts-rooms-and-tasks"]], "Users": [[3, "users"]], "Logging": [[3, "logging"]], "Video and Audio": [[3, "video-and-audio"]], "Writing your own bots": [[4, "writing-your-own-bots"]], "Dissecting the concierge bot": [[4, "dissecting-the-concierge-bot"]], "Bot-related events": [[5, "bot-related-events"]], "Rooms": [[5, "rooms"]], "Example: Echo Bot": [[5, "example-echo-bot"]], "Movement": [[5, "movement"]], "Monitoring own movement": [[5, "monitoring-own-movement"]], "Monitoring overall movement": [[5, "monitoring-overall-movement"]], "Chat": [[5, "chat"]], "Messages": [[5, "messages"]], "Images": [[5, "images"]], "Commands": [[5, "commands"]], "Others": [[5, "others"]], "Mouse Tracking": [[5, "mouse-tracking"]], "Bounding Boxes": [[5, "bounding-boxes"]], "Deployment of the system": [[6, "deployment-of-the-system"]], "Environment variables": [[6, "environment-variables"]], "OpenVidu support": [[6, "openvidu-support"]], "Hosting slurk": [[6, "hosting-slurk"]], "Docker": [[6, "docker"]], "Flask": [[6, "flask"]], "Example using docker-compose and Postgres": [[6, "example-using-docker-compose-and-postgres"]], "Getting Started": [[7, "getting-started"]], "\u201cHello World\u201d: A basic test of the server": [[7, "hello-world-a-basic-test-of-the-server"]], "\u201cHello World\u201d \u2013 \u201cHello Other Browser\u201d: Testing with two browsers": [[7, "hello-world-hello-other-browser-testing-with-two-browsers"]], "Chatting with a bot": [[7, "chatting-with-a-bot"]], "Examining the log files": [[7, "examining-the-log-files"]], "Layouts and Plugins": [[8, "layouts-and-plugins"]], "Triggers": [[8, "triggers"]], "\"incoming-text\"": [[8, "incoming-text"]], "\"incoming-image\"": [[8, "incoming-image"]], "\"submit-message\"": [[8, "submit-message"]], "\"print-history\"": [[8, "print-history"]], "\"typing-users\"": [[8, "typing-users"]], "\"plain\"": [[8, "plain"]], "\"document-ready\"": [[8, "document-ready"]], "Layout development in practice": [[8, "layout-development-in-practice"]], "Pairing up participants and running multiple rooms": [[9, "pairing-up-participants-and-running-multiple-rooms"]], "Create a waiting room and a task": [[9, "create-a-waiting-room-and-a-task"]], "Assign bots to rooms": [[9, "assign-bots-to-rooms"]], "Create user tokens for the task": [[9, "create-user-tokens-for-the-task"]], "Security and Permissions": [[10, "security-and-permissions"]], "Some notes:": [[10, "some-notes"]], "Prerequisites": [[11, "prerequisites"]], "Prepare Windows 10": [[11, "prepare-windows-10"]], "Setting up WSL 2": [[11, "setting-up-wsl-2"]], "Install Ubuntu-20.04.1 using the App Store": [[11, "install-ubuntu-20-04-1-using-the-app-store"]], "Install docker into Ubuntu": [[11, "install-docker-into-ubuntu"]], "Potential after-installation steps": [[11, "potential-after-installation-steps"]], "Checkout slurk": [[11, "checkout-slurk"]], "Run with docker (recommended)": [[11, "run-with-docker-recommended"]], "Run without docker": [[11, "run-without-docker"]], "Side-notes": [[11, "side-notes"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/slurk_deployment.html b/slurk_deployment.html index ed6f019b..9e4b6498 100644 --- a/slurk_deployment.html +++ b/slurk_deployment.html @@ -167,8 +167,10 @@

9.3. Example using docker-compose and Po restart: always environment: - POSTGRES_PASSWORD=SUPER_SECRET_PSQL_PASSWORD + - POSTGRES_USER=postgres + - PGDATA=/var/lib/postgresql/data/pgdata volumes: - - ./postgres-data:/path/to/postgres/data + - ./postgres-data:/var/lib/postgresql/data/pgdata slurk: image: slurk/server