I have been experimenting with different ways to display the output of a shell command for users. So far, I have been able to implement it as a Passenger app and as a custom Widget. I also understand that another user was able to implement it as a Dashboard app extension.
From my own tinkering, I found Widgets to be easy to develop and well-integrated with the dashboard. That said, I was wondering if there are any disadvantages (or other advantages) to developing a Widget as compared to a Passenger app or Dashboard app extension?
A seperate Passenger app has a lot of hidden costs in terms of maintenance. Remember it’s a full HTTP stack that needs to be maintained. As a part of the dashboard, we take care of most of that for you. All you have to do is write a bit of HTML and drop it in the right place. A passenger app on the other hand needs maintanence in terms of updating it’s dependences and/or fixing other bugs that may just come up because you’ve had to write everything.
That and as a part of the dashboard it keeps the layout (the navigation bar specifically) so your extension continues to have the same look and feel to your users. This may be important as folks navigate around on your site and the navigation bar changes suddenly and they’re not quite sure why (it’s because they’ve navigated to what is essentially an entirely new application, they just don’t know it).
How are you developing this Dashboard app extension? Are you using the widget functionality and dropping partials into /etc? This is what you should be doing. Upgrades do not overwrite anything in /etc. Upgrades modify the files in /var/www/ood. So these files in /var shouldn’t be modified.
If you are modifying the files in /var and can’t seem to get around that - you can submit a patch upstream to us and we can put it into the core distribution if it’s something we can see other folks using.