Advantages/disadvantages of Passenger apps, Dashboard app extensions, and custom Widgets


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?

Thank you!


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).

Thank you for sharing, what you’ve mentioned is precisely why we’re looking into alternatives to separate Passenger apps.

One concern we have with modifying the dashboard is what happens when it’s time to upgrade and what are the best practices for that?

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.

Yes, we’re using Widgets and dropping partials into /etc. That’s good to know about the upgrades, thanks!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.