I have started to draft the proposal for the project "PTS rewrite in Django
In the present system the content is loaded explicitly via cron. The confusion that bounds me is that what should be methodology that we should use in the upcoming Django project ? Should the data be loaded at the time when some one asks for that or it should be present in the databases ? If we use the second case (along with Django caching), the system might be slow in response while if we use the second method (ie to store the packages' info based upon various keywords in the db), then though the system will be faster in response but to maintain the "live" information we need to refresh the data much faster than the present system.
Can we use some types of hooks which could be used to refresh the data ? For example this post hooks provided by github
is useful in running scripts (for updating data or anything!) in case a commit is made to the repo. Does debian repos have any such hook like functionalities through which we can update info in "live time" ? Should we use any one of these two methodologies or do you have something else in mind that you think will help us to achieve the task ?
For making the upcoming portal more modular I have an idea implementing levels of users (like admin, managers, users, etc) which is an inbuilt feature of Django. An admin should have the privilege to add or remove (activate/ deactivate) the packages from various repos which he can add. Similarly admin should have the privilege of adding managers.
Apart from this the portal might have the facility of use login, where users can view, add, remove, modify their subscriptions to various packages, against different keywords. Right now user can only use these facilities by sending mails which is quite cumbersome with new users. PS: We'll add previous feature of mails as well but this will be in addition.
I hope you'll send your views about these ideas (and how I could modify them). PS: Please let me know if you have some additional functionalities in mind or if I'm missing some details.