Publish the app

Hi there,
I am trying to publish my app following the information in the documentation.
I have my folder app set up, using the CLI command create-app.
When I use the CLI command publish, this is what I have.

How can I connect the app to my account?
What I am missing?

Hi sonomirco,

First of all, in your screenshot you are using the ci-publish command, (this command is reserved to be used in a CI/CD flow only), you should use publish instead (see publish command).

Second of all, the publishing feature is not available for our free-version users. If you are developing on cloud.viktor.ai, then you are using the free-version and publishing is not available to you.

Should you have a paid account (which includes a company environment), then you will be able to publish. In order to do that, you will need to:

  • in your company environment, click ‘Create Workspace’
  • select ‘New App’, and provide your app name
  • (optional) using the CLI, run viktor-cli apps and check if your new app is listed
  • using the CLI, run viktor-cli publish --registered-name <new-app-name>

I hope this helps!

1 Like

Thanks, @kvangiessen.
Sorry my bad I did notice I was using the CI publish, funny enough the part of the documentation you are referring I was thinking it was for CI publish because you are introducing a tag that is the version.
Also, I don’t have any chance to create a workspace, this is my company environment.
image

Hi sonomirco,

It seems that your screenshot is from within a specific Workspace. The ‘Create Workspace’ button is located in the top level of you company environment (i.e. <company-name>.viktor.ai/workspaces/), see screenshot below.

Note that you need Admin rights to the environment, to be able to create a Workspace, so if the button is not visible, it means you do not have Admin rights. Please contact your company environment Admin to make a Workspace (+App) for you if you don’t have Admin privilege.

W.r.t. the tag: For every new version of the app that you publish, you are required to provide a unique tag, to make it recognizable/traceable. It is common practice to use semantic versioning for this, but ultimately it is up to you (within the specified constraints). When you are using Git, and you have already tagged the commit that you are on, the CLI will automatically select this for you. If not, you can manually add --tag v1.2.3 at the end of the publish command.

1 Like

Yep. I don’t have an admin role :slight_smile:
I am asking for it and I’ll let you know if I got the app published.
All this information here I think are very useful also in the documentation.

Ok, now I have this error.

I checked on the documentation and seam the manifest is not more required, but even if I removed it or I leave it I got this error.

This is the structure
image
image


image

Not a related question but, are workspaces deletable?

Hi Mirco,

In the app.__init__ file, you have defined 2 entity types:

  • FloorFolderController
  • FloorController

However, the children of the FloorFolderController contains Floor which is not defined as entity type. This should become:

children = ['FloorController']

Are you able to start the application in development without any errors?

Yep the application in development is perfectly working in development.
I changed based on your advice, but I still facing the same error.
Could not generate manifest

Do the floor and floor_folder directories contain an __init__.py?

This is the __init__.py outside the 2 folders.
image

The floor and floor_folder directories also require an (empty) __init__.py: Tree type apps | VIKTOR Documentation

They have it.
image
image

Sending you a DM

1 Like

The issue is usage of the following functionality which is introduced in Python 3.9 (typing — Support for type hints — Python 3.10.5 documentation):

list[...]

Should be solved when publishing the app on Python 3.9: Support for Python 3.7 - 3.10 🐍

1 Like

The new update fixed the problem.
Thanks.
Probably a more specific error message could help to understand the problem immediately.

We are currently rewriting the components that are involved in the app publication process. One of the things we want to address is indeed more useful error messages:)

1 Like