{"result":{"depiction_url":null,"edges":{"relation":{"objects":[{"created":"2026-10-07T11:13:30Z","object_id":{"id":2980,"is_a":["text","documentation","developerguide"],"name":"developer_recompile_rescan","title":{"_type":"trans","tr":{"en":"Recompile code and refresh discovery"}},"uri":"https:\/\/zotonic.com\/id\/2980"},"seq":1},{"created":"2026-10-07T11:13:30Z","object_id":{"id":2998,"is_a":["text","documentation","developerguide"],"name":"developer_module_missing","title":{"_type":"trans","tr":{"en":"A module is missing from the admin"}},"uri":"https:\/\/zotonic.com\/id\/2998"},"seq":2}],"predicate":{"id":303,"is_a":["meta","predicate"],"name":"relation","title":{"_type":"trans","tr":{"nl":"Relatie","en":"Relation"}},"uri":"http:\/\/purl.org\/dc\/terms\/relation"}},"subject":{"objects":[{"created":"2026-10-07T11:13:30Z","object_id":{"id":2554,"is_a":["categorization","keyword","keyword_information_type"],"name":"zotonic_topic_how_to_guide","title":"How-to guide","uri":"https:\/\/zotonic.com\/id\/2554"},"seq":1},{"created":"2026-10-07T11:13:30Z","object_id":{"id":2564,"is_a":["categorization","keyword","keyword_audience"],"name":"zotonic_topic_backend_developer","title":"Backend developer","uri":"https:\/\/zotonic.com\/id\/2564"},"seq":2},{"created":"2026-10-07T11:13:30Z","object_id":{"id":2604,"is_a":["categorization","keyword","keyword_domain"],"name":"zotonic_topic_module_management","title":"Module management","uri":"https:\/\/zotonic.com\/id\/2604"},"seq":3},{"created":"2026-10-07T11:13:30Z","object_id":{"id":2635,"is_a":["categorization","keyword","keyword_architecture"],"name":"zotonic_topic_module","title":"Module","uri":"https:\/\/zotonic.com\/id\/2635"},"seq":4}],"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":2925,"is_a":["text","documentation","developerguide"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2925"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"developer_module_discovery","page_url":{"en":"https:\/\/zotonic.com\/docs\/2925\/how-zotonic-finds-templates-dispatch-rules-and-assets","x-default":"https:\/\/zotonic.com\/docs\/2925\/how-zotonic-finds-templates-dispatch-rules-and-assets"},"preview_url":null,"resource":{"body":{"_type":"trans","tr":{"en":"<ol><li>Confirm that the application is included by the umbrella build.<\/li><li>Compile it and inspect any <code>.app.src<\/code> errors.<\/li><li>Rescan modules when adding a package.<\/li><li>Activate its Zotonic module for the site.<\/li><li>Check template selection or dispatch inspection for the specific resource.<\/li><\/ol>\n<p>File watching normally picks up edits and additions in known applications. Adding a whole application can need a rescan or broader update. Do not assume the browser cache is responsible until the server selects the correct source file.<\/p>"}},"category_id":{"id":317,"is_a":["meta","category"],"name":"developerguide","title":"Developer guide","uri":"https:\/\/zotonic.com\/id\/developerguide"},"content_group_id":{"id":339,"is_a":["meta","content_group"],"name":"default_content_group","title":{"_type":"trans","tr":{"en":"Default Content Group"}},"uri":"https:\/\/zotonic.com\/id\/default_content_group"},"created":"2026-10-07T11:12:56Z","creator_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"doc_editorial_bundle":true,"doc_editorial_edges":{"relation":[2980,2998],"subject":[2554,2564,2604,2635]},"is_authoritative":true,"is_dependent":false,"is_featured":false,"is_protected":false,"is_published":true,"is_unfindable":false,"language":["en"],"modified":"2026-10-07T20:45:39Z","modifier_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"name":"developer_module_discovery","pivot_geocode":null,"pivot_location_lat":null,"pivot_location_lng":null,"privacy":0,"publication_end":"9999-06-01T00:00:00Z","publication_start":"2026-10-07T11:12:56Z","slug":"how-zotonic-finds-templates-dispatch-rules-and-assets","summary":{"_type":"trans","tr":{"en":"Zotonic indexes resources from the site&#39;s active modules. A file existing on disk is not enough: its application must be discoverable, and its module must participate in that site."}},"title":{"_type":"trans","tr":{"en":"How Zotonic finds templates, dispatch rules, and assets"}},"title_slug":{"_type":"trans","tr":{"en":"how-zotonic-finds-templates-dispatch-rules-and-assets"}},"tz":"UTC","uri":null,"version":17,"visible_for":0},"uri":"https:\/\/zotonic.com\/id\/2925","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2925"}},"status":"ok"}