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