<div dir="ltr">On Wed, Sep 25, 2013 at 3:51 PM, Sebastian Kügler <span dir="ltr"><<a href="mailto:sebas@kde.org" target="_blank">sebas@kde.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hey all,<br>
<br>
In Plasma, we've been looking into privatizing parts of the QML API we offer.<br>
With Qt5, we rely less on setContextProperty() and friends, and use imports<br>
more. That's a technical necessity that makes one problem more evident: It's<br>
unclear what QML-facing API is reliable and stable, and what is private and<br>
internal API. As there are no restrictions (right now) which imports may be<br>
loaded by a piece of QML, we need another solution.<br>
<br>
Our approach hooks into the import loader, and will disallow loading certain<br>
plugins. This is not implemented yet, but we would like to prepare this by<br>
having streamlined import names, which can eventually be enforced.<br>
<br>
We would like to introduce this as good practice for not-just-plasma, so it<br>
would be nice if applications could use the same patterns: Only install into<br>
org.kde.* what you consider stable API. For internal imports, use private.*,<br>
for example private.org.kde.yourapplication.module.<br>
<br>
Thanks,<br>
<span class="HOEnZb"><font color="#888888">--<br>
sebas<br><br></font></span></blockquote><div>Doesn't your naming proposal completely ruin the org.kde.* stuff? Up until now i could fairly safely assume that all QML KDE imports where hidden under org.kde.* but that isn't the case anymore if you introduce private.org.kde.*</div>

<div><br></div><div>It looks like you miss a part in the url.. I would say something like this:</div><div>org.kde.public.* = public imports</div><div>org.kde.private.* = private imports</div><div><br></div><div>But that would require changing all existing components to reflect this idea..</div>

</div><br></div></div>