Marcus, Thanks for your response, this is very helpful. Are you able to meet this week to discuss further? Thanks.
-Nick ________________________________ From: Christie, Marcus Aaron <machr...@iu.edu> Sent: Friday, May 22, 2020 5:30 PM To: dev@airavata.apache.org Subject: Re: Project Update and Questions Hi Nick, On May 21, 2020, at 5:51 PM, Mowery, Nicholas Benjamin <nbmow...@iu.edu<mailto:nbmow...@iu.edu>> wrote: Hi all, This summer I am working on developing a GeoGateway Django app for the Airavata Django Portal. So far I have developed a skeleton of the app and integrated Vue.js for the frontend UI components. At this stage I'm looking for input on some of the choices I've made and if any of them should be adjusted. * Leaflet and Vue.js (over Google Maps and React.js) * It seems at this scale that a modular app rather than Vue.js style SPA makes more sense (although some of the other Airavata GIS applications are mostly SPA) Regarding SPA or not, I would say go with what you are most comfortable. In general, if the UI you build consists almost completely of Vue components (that is, as opposed to Django templates) then it should be fairly easy to move from a modular approach to SPA later. It's probably a little harder to move from SPA to modular, but that would be doable too. So you could for example go with a modular approach now and revisit that decision later. There are a lot of style choices to be made and many I'm likely still unaware of, so any tips on structuring and organizing a project like this will be helpful. I also have a couple questions I've accumulated about Django for anyone willing to help: * When working with a custom Django app in the Airavata Portal, should I redefine the MEDIA_ROOT directory in the apps.py file? Is there a precedent for changing variables like this defined in the project-wide settings.py file on a per-app basis? There is some precedent, for example, the WEBPACK_LOADER configuration is configured globally and custom Django apps that plug in need to update that configuration. Custom Django apps can provide 'settings' in their AppConfig class that are merged with the global settings, for example [0]. However, I'm curious, why do you want to redefine MEDIA_ROOT? * I'm finding that {% include .....html %} works perfectly but {% extends ....html %} does not. I use the block/endblock syntax with unique names but the content doesn't show up. Is there a reason I should use extends over include? 'extend' is used so that your template can inherit the common page structure and your template then provides content via 'blocks', see [1]. If you isn't working then perhaps there is some path or lookup issue that is causing the base template to fail to be found. If you want we can meet and look at it further. [0] https://github.com/InterACTWEL/interactactwel-django-app/blob/dev/interactwel/apps.py [1] https://docs.djangoproject.com/en/3.0/ref/templates/language/#id1