Getting involved in SoK

Mariam Fahmy mariamfahmy66 at gmail.com
Sun Nov 15 09:41:59 GMT 2020


Hello,
Thanks alot for helping me.
I have basically understand what you have provided me, what next step shall
I do to start in this project?
Thanks in advance.

On Mon, 9 Nov 2020, 3:40 pm Aleix Pol, <aleixpol at kde.org> wrote:

> On Fri, Nov 6, 2020 at 7:37 PM Mariam Fahmy <mariamfahmy66 at gmail.com>
> wrote:
> >
> > Hello,
> > Thanks alot for your advice.
> > I have installed the project locally and I start discovering how
> backends work with codebase.
> > I have understood but I am missing things.
> > After doing some research and gathering information, here's what I can't
> clearly understand: (Sorry if questions are little bit silly)
>
> Hi Mariam,
> No need to worry, feel free to ask away.
>
> > 1- what does it mean by resource?
> > When I searched about it, I found that resources may be data required by
> user or requests from clients, is it right ?
>
> You can see here the class that defines a resource, should help you
> see what it represents:
>
> https://invent.kde.org/plasma/discover/-/blob/master/libdiscover/resources/AbstractResource.h
>
> In general, it's an asset: be it an application, a wallpaper or
> anything that can be listed and installed.
>
> > 2- to create a new resources backend we need to implement two classes,
> > The first class is the basic class which saves all created resources and
> install & remove application or cancel transactions.
> > The second class, I didn't understand it's functionality, I found that
> it is related to plugins but didn't understand it.
>
> The second important one is the resource I just mentioned above.
> Please explain a bit more what you don't understand.
>
> > 3-Filters in the base class: its target to filter the new requested
> resources?
>
> filters we just use when searching, to see what's being searched.
> In the case of this project it shouldn't be very important, since we
> will just be listing a system image.
>
> > 4- for each new resource backend, it should include all the methods of
> base class, right?
> > As these methods acts as properties for each new resource.
>
> You need to implement all the abstract (i.e. virtual = 0) methods. The
> rest of virtuals you can override if you want to give it a different
> functionality.
>
> > 5- I have searched about plugins, but I didn't fully understand it,
> plugins enable programmers to update host program while keeping the user
> within the program's environment, but I can't understand what is the role
> of plugins here if we receive new requests and make new resources?
> > It is meant that while creating a new resource, we need plugin in order
> to keep the user with the program's environment without altering it or
> affecting it while creating new resources?
>
> It's just a way to build the applications so the whole project doesn't
> depend on a specific technology. You can see the ones we implement
> right now here:
> https://invent.kde.org/plasma/discover/-/tree/master/libdiscover/backends
>
> This project should be adding a new OSTreeRPMBackend folder in here
> that will only take care of this one implementation.
>
> I hope this helps,
> Aleix
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-devel/attachments/20201115/7cc4b0ea/attachment.htm>


More information about the kde-devel mailing list