{"result":{"depiction_url":null,"edges":{"refers":{"objects":[{"created":"2026-09-30T09:54:06Z","object_id":{"id":2725,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_workers","title":"Workers","uri":"https:\/\/zotonic.com\/id\/2725"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2726,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_functions","title":"Page functions","uri":"https:\/\/zotonic.com\/id\/2726"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2727,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_cotonic_broker","title":"cotonic.broker","uri":"https:\/\/zotonic.com\/id\/2727"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2728,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_cotonic_mqtt","title":"cotonic.mqtt","uri":"https:\/\/zotonic.com\/id\/2728"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2729,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_cotonic_mqtt_bridge","title":"cotonic.mqtt_bridge","uri":"https:\/\/zotonic.com\/id\/2729"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2730,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_cotonic_ui","title":"cotonic.ui","uri":"https:\/\/zotonic.com\/id\/2730"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2731,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_cotonic_tokenizer","title":"cotonic.tokenizer","uri":"https:\/\/zotonic.com\/id\/2731"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2732,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_worker_functions","title":"Worker functions","uri":"https:\/\/zotonic.com\/id\/2732"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2733,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_models","title":"Models","uri":"https:\/\/zotonic.com\/id\/2733"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2734,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_window","title":"model\/window","uri":"https:\/\/zotonic.com\/id\/2734"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2735,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_document","title":"model\/document","uri":"https:\/\/zotonic.com\/id\/2735"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2736,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_location","title":"model\/location","uri":"https:\/\/zotonic.com\/id\/2736"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2737,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_ui","title":"model\/ui","uri":"https:\/\/zotonic.com\/id\/2737"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2738,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_lifecycle","title":"model\/lifecycle","uri":"https:\/\/zotonic.com\/id\/2738"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2739,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_autofocus","title":"model\/autofocus","uri":"https:\/\/zotonic.com\/id\/2739"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2740,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_serviceworker","title":"model\/serviceWorker","uri":"https:\/\/zotonic.com\/id\/2740"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2741,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_localstorage","title":"model\/localStorage","uri":"https:\/\/zotonic.com\/id\/2741"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2742,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_sessionstorage","title":"model\/sessionStorage","uri":"https:\/\/zotonic.com\/id\/2742"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2743,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_sessionid","title":"model\/sessionId","uri":"https:\/\/zotonic.com\/id\/2743"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2744,"is_a":["text","documentation","reference","cotonic_reference","cotonic_model"],"name":"doc_cotonic_model_dedup","title":"model\/dedup","uri":"https:\/\/zotonic.com\/id\/2744"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2745,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_links","title":"Links","uri":"https:\/\/zotonic.com\/id\/2745"},"seq":1000000},{"created":"2026-09-30T09:54:06Z","object_id":{"id":2746,"is_a":["text","documentation","reference","cotonic_reference"],"name":"doc_cotonic_changelog","title":"Change log","uri":"https:\/\/zotonic.com\/id\/2746"},"seq":1000000}],"predicate":{"id":2409,"is_a":["meta","predicate"],"name":"refers","title":{"_type":"trans","tr":{"en":"Refers"}},"uri":"https:\/\/zotonic.com\/id\/refers"}},"subject":{"objects":[{"created":"2026-09-30T09:11:22Z","object_id":{"id":2555,"is_a":["categorization","keyword","keyword_information_type"],"name":"zotonic_topic_reference","title":"Reference","uri":"https:\/\/zotonic.com\/id\/2555"},"seq":1},{"created":"2026-09-30T09:11:22Z","object_id":{"id":2563,"is_a":["categorization","keyword","keyword_audience"],"name":"zotonic_topic_frontend_developer","title":"Frontend developer","uri":"https:\/\/zotonic.com\/id\/2563"},"seq":2},{"created":"2026-09-30T09:11:22Z","object_id":{"id":2598,"is_a":["categorization","keyword","keyword_domain"],"name":"zotonic_topic_messaging_and_pubsub","title":"Messaging and publish-subscribe","uri":"https:\/\/zotonic.com\/id\/2598"},"seq":3},{"created":"2026-09-30T09:11:22Z","object_id":{"id":2673,"is_a":["categorization","keyword","keyword_technology"],"name":"zotonic_topic_javascript","title":"JavaScript","uri":"https:\/\/zotonic.com\/id\/2673"},"seq":4},{"created":"2026-09-30T09:11:22Z","object_id":{"id":2718,"is_a":["categorization","keyword","keyword_technology"],"name":"zotonic_topic_cotonic","title":"Cotonic","uri":"https:\/\/zotonic.com\/id\/2718"},"seq":5}],"predicate":{"id":308,"is_a":["meta","predicate"],"name":"subject","title":{"_type":"trans","tr":{"en":"Keyword"}},"uri":"http:\/\/purl.org\/dc\/elements\/1.1\/subject"}}},"id":2724,"is_a":["text","documentation","reference","cotonic_reference"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2724"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"doc_cotonic_introduction","page_url":{"en":"https:\/\/zotonic.com\/cotonic","x-default":"https:\/\/zotonic.com\/cotonic"},"preview_url":null,"resource":{"version":35,"pivot_location_lat":null,"title":"Cotonic","is_authoritative":true,"body":"\n\n            <a name=\"introduction\"><\/a>\n\n            <p>\n            <a href=\"https:\/\/github.com\/cotonic\/cotonic\">Cotonic<\/a> is a Javascript\n            library which makes it possible to split the javascript code of your\n            page into truly isolated components. By doing this a crash in one component\n            can never affect another component.\n            <\/p>\n\n            <p>\n            Cotonic provides tools to make it possible for these components to cooperate\n            by providing an MQTT publish\/subscribe bus. This makes it possible for\n            components to communicate via topics.\n            <\/p>\n\n            <p>\n            The project is hosted on <a href=\"https:\/\/github.com\/cotonic\/cotonic\">Github<\/a>.\n            You can report bugs and discuss features on the\n            <a href=\"https:\/\/github.com\/cotonic\/cotonic\/issues\">issues page<\/a>.\n            <\/p>\n\n            <p>\n            Cotonic is an open-source component of <a href=\"http:\/\/zotonic.org\">Zotonic<\/a>.\n            <\/p>\n\n            <h2>Installation<\/h2>\n\n            Place the <a href=\"https:\/\/cotonic.org\/cotonic.js\"><tt>cotonic.js<\/tt><\/a>,\n            <a href=\"https:\/\/cotonic.org\/cotonic-worker.js\"><tt>cotonic-worker.js<\/tt><\/a> and\n            <a href=\"https:\/\/cotonic.org\/cotonic-service-worker.js\"><tt>cotonic-service-worker.js<\/tt><\/a> scripts on a web-server.\n            (<em>Right-click and use &quot;Save link as...&quot;), or use one of the <a href=\"\/id\/doc_cotonic_changelog#changelog\">download links<\/a><\/em>.\n\n            <br \/> <br \/>\n            Add the following tag to the page:\n            <br \/> <br \/>\n\n            <pre>\n&lt;script src=&quot;\/\/path\/to\/cotonic.js&quot;\n        data-base-worker-src=&quot;\/\/path\/to\/cotonic-worker.js&quot;&gt;&lt;\/script&gt;<\/pre>\n\n            <ul><li><a href=\"\/id\/doc_cotonic_workers\">Workers<\/a><\/li><li><a href=\"\/id\/doc_cotonic_functions\">Page functions<\/a><\/li><li><a href=\"\/id\/doc_cotonic_cotonic_broker\">cotonic.broker<\/a><\/li><li><a href=\"\/id\/doc_cotonic_cotonic_mqtt\">cotonic.mqtt<\/a><\/li><li><a href=\"\/id\/doc_cotonic_cotonic_mqtt_bridge\">cotonic.mqtt_bridge<\/a><\/li><li><a href=\"\/id\/doc_cotonic_cotonic_ui\">cotonic.ui<\/a><\/li><li><a href=\"\/id\/doc_cotonic_cotonic_tokenizer\">cotonic.tokenizer<\/a><\/li><li><a href=\"\/id\/doc_cotonic_worker_functions\">Worker functions<\/a><\/li><li><a href=\"\/id\/doc_cotonic_models\">Models<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_window\">model\/window<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_document\">model\/document<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_location\">model\/location<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_ui\">model\/ui<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_lifecycle\">model\/lifecycle<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_autofocus\">model\/autofocus<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_serviceworker\">model\/serviceWorker<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_localstorage\">model\/localStorage<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_sessionstorage\">model\/sessionStorage<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_sessionid\">model\/sessionId<\/a><\/li><li><a href=\"\/id\/doc_cotonic_model_dedup\">model\/dedup<\/a><\/li><li><a href=\"\/id\/doc_cotonic_links\">Links<\/a><\/li><li><a href=\"\/id\/doc_cotonic_changelog\">Change log<\/a><\/li><\/ul>","slug":"cotonic","is_protected":false,"visible_for":0,"tz":"UTC","language":["en"],"doc_source_hash":"639facdf244dc7bcad120ce02d82a6bc2b9db652d50b1808e6ec3ea7fb940b4c","is_featured":false,"content_group_id":{"id":2551,"is_a":["meta","content_group"],"name":"content_group_imported_docs","title":"Imported documentation","uri":"https:\/\/zotonic.com\/id\/content_group_imported_docs"},"category_id":{"id":2722,"is_a":["meta","category"],"name":"cotonic_reference","title":"Cotonic","uri":"https:\/\/zotonic.com\/id\/cotonic_reference"},"doc_source_path":"index.html","publication_start":"2026-09-30T09:11:22Z","page_path":"\/cotonic","github_url":"https:\/\/github.com\/cotonic\/cotonic\/blob\/master\/index.html","pivot_location_lng":null,"doc_source_kind":"cotonic","name":"doc_cotonic_introduction","is_unfindable":false,"is_published":true,"pivot_geocode":null,"created":"2026-09-30T09:11:22Z","uri":null,"doc_source_anchor":"introduction","doc_status":"current","is_dependent":false,"publication_end":"9999-06-01T00:00:00Z","modifier_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"privacy":0,"doc_source_commit":"f88cc928b997d10f7f19e6bd0ede80e1c8c619bc","creator_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"modified":"2026-09-30T10:06:59Z","title_slug":"cotonic"},"uri":"https:\/\/zotonic.com\/id\/2724","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2724"}},"status":"ok"}