Passenger App inside dashboard?

Hopefully there is an example that I just missed in the docs or the OSC github site you can point me at.

I cloned the Ruby Sample PS application (GitHub - OSC/ood-example-ps: Example Open OnDemand app that displays the output of `ps`) as a starting point, made some modifications for what I needed it to do to provide a quota report for our cluster and its functional. I have my passenger app linked correctly on the Files menu:

But I can’t seem to find an example or figure out how to get it to open within the main dashboard header like other OOD provided apps (Job Composer, File Browser, Interactive Apps, etc):

image

Instead it opens with a new header that doesn’t look like what we’ve customized.

image

This makes the user experience more clunky, I’d like my quota report page to just open using the same header that the other OOD provided apps use.

I understand that header and the general HTML for the passenger app is being pulled from the views directory for my passenger app, but I was wondering if there is a simple way to have my passenger app reference whatever builds the top menu bar, like the in the internal/provided OOD apps do.

Thanks!

The dashboard is itself a Passenger app. so that’s why it’s not working as you’d expect - that app you have is an entirely different boot stack.

What you’re looking for is a plugin which our friends at Harvard have so generously made some good examples for the same. Note this was only patched to work correctly in 4.0.2, so you need that update.

Ok, yeah, we’re still at 3.1.10 and I don’t have the time to work through and update to the 4.0 release right now (likely later this summer). I guess in the meantime I can customize the header on the passenger app to look better and then look at a tighter integration when I can get to 4.0.

What about, is there a way to add another drop down menu option along the top bar

image

So we could group all our custom apps together under a single menu?

The underlying ability to add plugins is still available in 3.1, just drop the files in different locations.

There are lots of ways to customize the navigation bar.

Sorry, so I can do what I was asking with 3.1? Is there specific documentation about where the different locations are for 3.1 vs. 4.0?

Sorry, just totally missed that in the docs, I just changed my manifest.yml in my passenger app to

category: Resource Usage
name: Quota
description: Display quotas
icon: fa://hdd-o
new_window: true

And yup, it added the new menu option, with Quota under it, which is perfect for what I needed.

Well it’s all disparate bits and pieces in 3.1. With plugins they just get dropped into 1 single location that we can then read from. But that’s basically all that 4.0.2 plugins do - colocate these files.

How to update pages:

How to make custom pages:

Then how you actually add functionality to any thing really, is through an initializer. See here how they add functionality to an existing class. Note that you don’t have to extend/override an existing class, initializers also allow you to add brand new classes too.

Ok, understood, I’ll review the documentation and investigate if it’s worth the effort now vs. just waiting until I can get enough time to upgrade and test 4.x in our environment and doing it the official/supported way.