[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: QML-using app developers: use private.* imports
From:       Mark <markg85 () gmail ! com>
Date:       2013-09-25 15:51:41
Message-ID: CAPd6JnFG9ZTctKZR1fTd6urZ4L__qNACiFG87i-SkxfZ8vwaRg () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On Wed, Sep 25, 2013 at 3:51 PM, Sebastian Kügler <sebas@kde.org> wrote:

> Hey all,
>
> In Plasma, we've been looking into privatizing parts of the QML API we
> offer.
> With Qt5, we rely less on setContextProperty() and friends, and use imports
> more. That's a technical necessity that makes one problem more evident:
> It's
> unclear what QML-facing API is reliable and stable, and what is private and
> internal API. As there are no restrictions (right now) which imports may be
> loaded by a piece of QML, we need another solution.
>
> Our approach hooks into the import loader, and will disallow loading
> certain
> plugins. This is not implemented yet, but we would like to prepare this by
> having streamlined import names, which can eventually be enforced.
>
> We would like to introduce this as good practice for not-just-plasma, so it
> would be nice if applications could use the same patterns: Only install
> into
> org.kde.* what you consider stable API. For internal imports, use
> private.*,
> for example private.org.kde.yourapplication.module.
>
> Thanks,
> --
> sebas
>
> 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.*

It looks like you miss a part in the url.. I would say something like this:
org.kde.public.* = public imports
org.kde.private.* = private imports

But that would require changing all existing components to reflect this
idea..

[Attachment #5 (text/html)]

<div dir="ltr">On Wed, Sep 25, 2013 at 3:51 PM, Sebastian Kügler <span \
dir="ltr">&lt;<a href="mailto:sebas@kde.org" \
target="_blank">sebas@kde.org</a>&gt;</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&#39;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&#39;s a technical necessity that makes one problem more evident: \
It&#39;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&#39;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&#39;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>



>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic