<div dir="auto">Hello,<div dir="auto">Thanks alot for your advice.</div><div dir="auto">I have installed the project locally and I start discovering how backends work with codebase.</div><div dir="auto">I have understood but I am missing things.</div><div dir="auto">After doing some research and gathering information, here's what I can't clearly understand: (Sorry if questions are little bit silly)</div><div dir="auto"><br></div><div dir="auto">1- what does it mean by resource? </div><div dir="auto">When I searched about it, I found that resources may be data required by user or requests from clients, is it right ?</div><div dir="auto"><br></div><div dir="auto">2- to create a new resources backend we need to implement two classes,</div><div dir="auto">The first class is the basic class which saves all created resources and install & remove application or cancel transactions.</div><div dir="auto">The second class, I didn't understand it's functionality, I found that it is related to plugins but didn't understand it.</div><div dir="auto"><br></div><div dir="auto">3-Filters in the base class: its target to filter the new requested resources?</div><div dir="auto"><br></div><div dir="auto">4- for each new resource backend, it should include all the methods of base class, right?</div><div dir="auto">As these methods acts as properties for each new resource.</div><div dir="auto"><br></div><div dir="auto">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?</div><div dir="auto">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?</div><div dir="auto"><br></div><div dir="auto">Sorry for annoying you.</div><div dir="auto">Thanks in advance.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 6 Nov 2020, 4:00 am Aleix Pol, <<a href="mailto:aleixpol@kde.org">aleixpol@kde.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Nov 5, 2020 at 9:36 PM Mariam Fahmy <<a href="mailto:mariamfahmy66@gmail.com" target="_blank" rel="noreferrer">mariamfahmy66@gmail.com</a>> wrote:<br>
><br>
> Hello,<br>
> I am Mariam, I am studying computer engineering, I am beginner and I want to get involved in the open source community, I have good knowledge in c++, OOP, data structure and algorithms.<br>
> I have read all projects provided by SoK, I am interested in Plasma discover rpm-ostree backend, what contributions shall I start related to this project to fully understand it and get familiar with it?<br>
> Any advice will be very helpful.<br>
> Thanks in advance<br>
<br>
Hi Mariam,<br>
Glad you are interested in this project, I'm one of the people who put<br>
the idea forward.<br>
<br>
I'd say a good first step would be to install the project locally and<br>
tinker with it a bit:<br>
<a href="https://invent.kde.org/plasma/discover/" rel="noreferrer noreferrer" target="_blank">https://invent.kde.org/plasma/discover/</a><br>
<br>
You can also read up on how discover backends work within the codebase.<br>
This would be a good starting point:<br>
<a href="https://invent.kde.org/plasma/discover/-/blob/master/libdiscover/resources/AbstractResourcesBackend.h" rel="noreferrer noreferrer" target="_blank">https://invent.kde.org/plasma/discover/-/blob/master/libdiscover/resources/AbstractResourcesBackend.h</a><br>
<br>
For any further questions don't hesitate to ask directly.<br>
Aleix<br>
</blockquote></div>