Including Timothée who will be co-mentoring the project. :) Aleix
On Wed, Nov 18, 2020 at 5:03 AM Aleix Pol <aleix...@kde.org> wrote: > > On Sun, Nov 15, 2020 at 10:42 AM Mariam Fahmy <mariamfahm...@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, <aleix...@kde.org> wrote: > >> > >> On Fri, Nov 6, 2020 at 7:37 PM Mariam Fahmy <mariamfahm...@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