I&#39;m assuming that the data would only go one way. In that case, the permission would be, an app without P_NETWORK would not be able to request opening of apps with P_NETWORK. No new permissions needed, just careful attention to the ones we have.<br>
<br><div class="gmail_quote">On Fri, Apr 11, 2008 at 7:53 AM, Eben Eliason &lt;<a href="mailto:eben.eliason@gmail.com">eben.eliason@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Fri, Apr 11, 2008 at 9:45 AM, Benjamin M. Schwartz<br>
&lt;<a href="mailto:bmschwar@fas.harvard.edu">bmschwar@fas.harvard.edu</a>&gt; wrote:<br>
&gt; -----BEGIN PGP SIGNED MESSAGE-----<br>
&gt; &nbsp;Hash: SHA1<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &nbsp;Eben Eliason wrote:<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;3. Need easy way to group links to activities, such as in a lesson<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;plan.<br>
&gt; &nbsp;|&gt; &nbsp;&gt;<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;Use Case:<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;Kid reads through geometry tutorial and clicks on first activity<br>
&gt; which<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;opens up Dr. Geo. After finishing w/ Dr. Geo he does some more<br>
&gt; reading<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;in the tutorial and then clicks on a second link which opens up a<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;related GCompris activity.<br>
&gt; &nbsp;|&gt; &nbsp;&gt;<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;We need a way to launch different activities from within a graphical<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;context, e.g. a tutorial. HTML is the most practical way to do this.<br>
&gt; I<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;know there are issues w/ Rainbow and activities calling other<br>
&gt; &nbsp;activities<br>
&gt; &nbsp;|&gt; &nbsp;&gt; &nbsp;but this is very important to the learning process.<br>
&gt; &nbsp;|&gt;<br>
&gt; &nbsp;|&gt; &nbsp;Interesting, would like to know what Eben thinks about it.<br>
&gt; &nbsp;|<br>
&gt; &nbsp;| This is an interesting idea, and one I don&#39;t really have a direct<br>
&gt; &nbsp;| solution for, at present. &nbsp;One potential option, and perhaps the most<br>
&gt; &nbsp;| interesting, is also a fair bit of work. &nbsp;It entails adding a bitfrost<br>
&gt; &nbsp;| permission (does it already have one?) akin to P_EXEC or something<br>
&gt; &nbsp;| similar, which allows an activity to make a request to the shell to<br>
&gt; &nbsp;| launch another activity, passing it a URI (could be a file, could be a<br>
&gt; &nbsp;| URL, etc) and having it ask the user to confirm the action. &nbsp;With such<br>
&gt; &nbsp;| an approach, any activity that wanted could embed links to other<br>
&gt; &nbsp;| activities, or to web sites. &nbsp;If we build this into the shell, and<br>
&gt; &nbsp;| offer it as a permission, I don&#39;t believe that it will pose any<br>
&gt; &nbsp;| security problems*.<br>
&gt; &nbsp;|<br>
&gt; &nbsp;| * I could be very wrong, though.<br>
&gt;<br>
&gt; &nbsp;IMHO, the best solution is the one already used by Browse in the case of<br>
&gt; &nbsp;PDF downloads. &nbsp;The files are downloaded, and then the Journal is asked to<br>
&gt; &nbsp;present the user with information about the item and the option to launch<br>
&gt; &nbsp;it. &nbsp;This is akin to how most modern browsers handle media files that will<br>
&gt; &nbsp;launch outside the browser. &nbsp;They present a window saying &quot;You are<br>
&gt; &nbsp;downloading a file of type &quot;PDF&quot;. &nbsp;Would you like to open it using<br>
&gt; &nbsp;&quot;Document Viewer&quot;?&quot; &nbsp;They also offer a drop-down list of alternative<br>
&gt; &nbsp;applications.<br>
&gt;<br>
&gt; &nbsp;Letting the Journal handle all open requests improves usability, in my<br>
&gt; &nbsp;view, by ensuring that the user can always postpone an opening action, or<br>
&gt; &nbsp;choose an alternative handler. &nbsp;I also think it improves security, by<br>
&gt; &nbsp;avoiding a number of potential DoS, privilege escalation, and information<br>
&gt; &nbsp;disclosure (e.g. #6837, #6838) problems.<br>
<br>
</div></div>In case I was unclear, that is just the kind of thing I was<br>
suggesting. &nbsp;I think that the shell should expose a &quot;launcher&quot;<br>
service, which will do just the kinds of things you mention here. &nbsp;The<br>
UI would all be handled by the shell, not the activity making the<br>
request. Perhaps if it&#39;s always done this way through the shell<br>
service, we don&#39;t even need a permission.<br>
<font color="#888888"><br>
- Eben<br>
</font><div><div></div><div class="Wj3C7c">_______________________________________________<br>
Sugar mailing list<br>
<a href="mailto:Sugar@lists.laptop.org">Sugar@lists.laptop.org</a><br>
<a href="http://lists.laptop.org/listinfo/sugar" target="_blank">http://lists.laptop.org/listinfo/sugar</a><br>
</div></div></blockquote></div><br>