Thanks a lot! This cleared all my doubts. I will try to send a working prototype as soon as possible.
Rajdeep On Mon, Mar 18, 2019 at 9:04 PM Mojca Miklavec <[email protected]> wrote: > Dear Rajdeep, > > On Mon, 18 Mar 2019 at 13:30, Rajdeep Bharati wrote: > > > > Should this Django app automatically display new ports whenever a new > one is created? > > Yes. > > Your question could be understood in two different ways: > (1) Should the app display a "What's new" page listing the ports that > have been added in the last X days? > (2) Should the app know about ports that have recently been added. > > The answer to the second question is a definite yes. There should be > some job running on some server that inspects new git commits and > updates the information whenever new commits come in. This could > perhaps be part of the buildbot job which builds portindex on regular > basis. > > The answer to the first one is: yes, it would be nice. Not absolutely > necessary and not the highest priority, but the database should be > structured in a way that would allow making queries like that one. > > > I guess there is no such API that gives the current ports ATM; > > Not yet. It should become available with the new Django app though :) > > The only thing we have at the moment is a Postgres database which powers > https://www.macports.org/ports.php > but that part should be gone once the new app becomes available. The > script to generate that list is in > macports-infrastructure/jobs/portindex2postgres.tcl > and is being run as part of > https://build.macports.org/builders/jobs-portindex > > > and in that case, would I also have to work on the core MacPorts > repositories? > > I'm not 100 % sure what you mean with this question, but the student > working on the web app should generally not be required to make any > (significant) changes to the core of the package manager. It might be > helpful to have at least a bit of insight into the code to be able to > fix some trivial issues every now and then (like it turned out that > portindex2json needs some minor tweaks), but any bugs, complex issues > (or even trivial ones if needed) in MacPorts itself can be fixed by > the core team. The Tcl core code needs some time to get used to it, > and getting a deeper understanding would be required for students who > select a project related to the core, while Django app requires > confidence is Python, database design, some (python and/or shell) > scripting. Understanding and being able to fix Tcl code is just a > bonus that lets you do some stuff quickly alone, but not a > requirement. > > Yes, the code should probably end up in various parts of different > MacPorts repositories at times to make the integration of the app with > the existing jobs & tools possible. But in most cases that would > probably be some python or shell scripts, depending on the approach. > It would probably be essential to eventually understand how the > buildbot setup works, so that it can be modified, but we can also help > with that. > > Probably more than 90 % of the code would end up in its own repository. > > Mojca >
