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