{"action":"created","issue":{"url":"https://api.github.com/repos/aurelia/framework/issues/235","labels_url":"https://api.github.com/repos/aurelia/framework/issues/235/labels{/name}","comments_url":"https://api.github.com/repos/aurelia/framework/issues/235/comments","events_url":"https://api.github.com/repos/aurelia/framework/issues/235/events","html_url":"https://github.com/aurelia/framework/issues/235","id":113938558,"number":235,"title":"Application boundaries (aurelia app as widget in third party web site)","user":{"login":"genadis","id":6747147,"avatar_url":"https://avatars.githubusercontent.com/u/6747147?v=3","gravatar_id":"","url":"https://api.github.com/users/genadis","html_url":"https://github.com/genadis","followers_url":"https://api.github.com/users/genadis/followers","following_url":"https://api.github.com/users/genadis/following{/other_user}","gists_url":"https://api.github.com/users/genadis/gists{/gist_id}","starred_url":"https://api.github.com/users/genadis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/genadis/subscriptions","organizations_url":"https://api.github.com/users/genadis/orgs","repos_url":"https://api.github.com/users/genadis/repos","events_url":"https://api.github.com/users/genadis/events{/privacy}","received_events_url":"https://api.github.com/users/genadis/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-28T22:22:50Z","updated_at":"2015-10-29T05:47:09Z","closed_at":null,"body":"Please consider use case where aurelia application is to be used as widget in third party website.\r\nWebsite owner includes some javascript on their page, and get some widget which is based on aurelia framework.\r\n\r\nI believe aurelia to be an amazing framework that can be used for widget development as well (without interfering with the third party website).\r\n\r\nPlease consider, that the website owner might be using aurelia for his website as well.\r\nMeaning he has ```aurelia-app``` let's say on the ```<body>```.\r\n\r\nAs widget developer that wants to inject some dom elements into the body and make the integration easy with the website (one line javascript) as I understand it's an issue.\r\n\r\n\r\n\r\nOnce application root is set which in many cases would be ```body``` aurelia \"takes over\" the root element.\r\nI don't see how another aurelia application can be run inside the other (nested).\r\n* solution of providing widget app as aurelia plugin is not the best solution since there could be issues with dependencies and framework versions.\r\n\r\nIt could be great if we could set an attribute or custom html element that signals aurelia app: \"don't go in there\", so everything inside this element is not touchable by the framework.\r\nThat way, the widgets aurelia app root could be set inside that element which would be invisible to the websites aurelia application.\r\n\r\n```\r\n<body aurelia-app>  <!-- root of the third party website aurelia version 1.0.0 -->\r\n  <!--........-->\r\n  <div aurelia-dont-touch>\r\n      <div aurelia-app  id=\"widget-app\">    <!-- root of the widget aurelia version 1.10.0 -->\r\n         <!-- custom aurelia bootstrap -->\r\n          <!--- ..... -->\r\n     </div>\r\n  </div>\r\n</body>\r\n```\r\nadditional issue could be with bootstrap: while there is option for custom bootstrap setting the root element explicitly, I've noticed in bootstrapper the ```run();``` is called on script load. Which in turn looks for ```aurelia-app```. The widget's bootsrapper would find the ```<body>```.\r\nSimple solution could be, to add attribute that will be used as flag indicating that this aurelia-app is already used (already bootstrapped by another application). \r\n\r\n\r\nWas this use case considered? Is there a solution? \r\n\r\nThank you for great framework!"},"comment":{"url":"https://api.github.com/repos/aurelia/framework/issues/comments/152082943","html_url":"https://github.com/aurelia/framework/issues/235#issuecomment-152082943","issue_url":"https://api.github.com/repos/aurelia/framework/issues/235","id":152082943,"user":{"login":"smolinari","id":3314957,"avatar_url":"https://avatars.githubusercontent.com/u/3314957?v=3","gravatar_id":"","url":"https://api.github.com/users/smolinari","html_url":"https://github.com/smolinari","followers_url":"https://api.github.com/users/smolinari/followers","following_url":"https://api.github.com/users/smolinari/following{/other_user}","gists_url":"https://api.github.com/users/smolinari/gists{/gist_id}","starred_url":"https://api.github.com/users/smolinari/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smolinari/subscriptions","organizations_url":"https://api.github.com/users/smolinari/orgs","repos_url":"https://api.github.com/users/smolinari/repos","events_url":"https://api.github.com/users/smolinari/events{/privacy}","received_events_url":"https://api.github.com/users/smolinari/received_events","type":"User","site_admin":false},"created_at":"2015-10-29T05:47:09Z","updated_at":"2015-10-29T05:47:09Z","body":"This goes along the lines of https://github.com/aurelia/framework/issues/50.\r\n\r\nScott"}}