BallAerospace / COSMOS

Ball Aerospace COSMOS
https://ballaerospace.github.io/cosmos-website/
Other
360 stars 129 forks source link

Help creating new tool #1732

Open wiatrp opened 2 years ago

wiatrp commented 2 years ago

I'm having trouble figuring out how to create a new tool with vue.js using the documentation. This tool is a replica (copy/paste) of another tool but all the keywords in all files changed to contact or Contact.

I created a new plugin and in plugin.txt registered it as a tool:

TOOL contact "Contact"
  INLINE_URL js/app.js
  ICON mdi-contact

The plugin uploads fine in the admin center and I can see the tool in the sidebar. But when I navigate to the tool I see this error in the console:

image

It seems like single-spa is not loading/registering my apps source code but I'm not sure exactly what's wrong.

What is the proper way to create and register a new vue.js tool?

wiatrp commented 2 years ago

I've played around with creating a new tool more and still end up with this issue. My vue.js app runs on its own but COSMOS doesn't seem to pick it up. After the tool is installed it looks like it's properly registered and is installed in the @cosmosc2 node module. But it seems like the issue is at plugins/cosmosc2-tool-base/src/AppNav.vue on line 142 where SystemJS tried to load the module:

registerApplication({
  name: name,
  app: () => System.import(name), // this import breaks
  activeWhen: ['/tools/' + folder_name],
})

When SystemJS tries to import the module it throws the 404 not found error seen above.

Anyone have any ideas?

ryanmelt commented 2 years ago

Have you checked your filename casing? Http is case sensistive. After installing the plugin you can goto the minio browser and check. Goto localhost:2900/minio Login with: cosmosminio/cosmosminiopassword Browse to the tools folder and make sure that contact/js/app.js is there with that exact casing.

wiatrp commented 2 years ago

The tool hasn't been loaded into minio. I've been able to start up the tool manually and load it that way for development, but still haven't been able to get it loading from localhost:2900/tools/contact.

Seems like it needs to be in minio but isn't being loaded.

image