Getting involved in SoK

Aleix Pol aleixpol at kde.org
Wed Nov 18 04:07:17 GMT 2020


Including Timothée who will be co-mentoring the project. :)

Aleix

On Wed, Nov 18, 2020 at 5:03 AM Aleix Pol <aleixpol at kde.org> wrote:
>
> On Sun, Nov 15, 2020 at 10:42 AM Mariam Fahmy <mariamfahmy66 at gmail.com> wrote:
> >
> > 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
>
> Adding the mentors list to know what the exact process for students is.
>
> Mariam, in the meantime, if you want to start working on it or want to
> have some kind of call to get started, tell me and I'll see to it.
>
> Aleix



More information about the kde-devel mailing list