cancel
Showing results for 
Search instead for 
Did you mean: 

Refresh content error in Work Zone. Maybe spreadsheetimporter issue?

JWJ
Participant
0 Kudos

The two apps from a new deployed project are not showing up in Work Zone content. After content refresh, the log shows:

{
    "status": "PARTIAL",
    "contents": {
        "total": 8,
        "failed": 3,
        "status": "PARTIAL",
        "messages": {
            "aaa": {
                "error": ["Failed to search aaa"],
                "warning": []
            },
            "bbb": {
                "error": ["Failed to search bbb"],
                "warning": []
            },
            "AppHost_[object Object]": {
                "error": ["Duplicate ID 'cc.spreadsheetimporter.v0_28_1' with version 0.0.1 found in application 'bbb' and repository id e5136b48-7e19-426c-806d-bc16247d5486"],
                "warning": []
            }
        },
        "correlationId": "0ae26385-5dfc-4bcd-73de-1eed26316690"
    },
    "reportId": {
        "contextId": "SUB_ACCOUNT",
        "subdomain": "application-sandbox",
        "instanceId": "SAAS_APPROUTER_HTML5_APP_REPO",
        "providerId": "saas_approuter",
        "contextType": "sub_account",
        "identityZoneId": "74c9d23b-b20a-4836-8f34-1dffda6c8e28"
    },
    "correlationId": "0ae26385-5dfc-4bcd-73de-1eed26316690",
    "providerTitle": "HTML5 Apps",
    "statusText": "Partial content was updated"
}

One error says duplicate ID found for spreadsheetimporter. I'm not sure if that is the root issue. Spreadsheet importer is used in both apps.

The deployment works fine on my trial account that has "standard" Work Zone but fails on company system with "standard" Work Zone. Both systems have other apps already deployed before the new package. Is there a difference between the trial "standard" WZ and regular "standard" WZ?

Thank you for any guidance.

JWJ
Participant
0 Kudos

On my trial account, I deleted the project and redeployed. I am now getting the same error on both accounts.

spreadsheetimporter is a dependency within the package.json of each app. Should it be in the project package.json instead? Or only built within one app? I'll try that.

gregorw
Active Contributor
0 Kudos

Maybe 20eed143c19f4b82bc4cf049916102cb came already across this issue?

JWJ
Participant
0 Kudos

Thank you 20eed143c19f4b82bc4cf049916102cb for confirming that spreadsheetimporter should work on multiple apps in the same project.

Within each app we have v0.29.0 as a dependency and added "--all" to the "build" script:

    "scripts": {
        "build": "ui5 build --config=ui5.yaml --all --clean-dest --dest dist",
        "lint": "eslint ./",

In the `ui5.yaml` we are using task-zipper and I added `includeDenpendencies` in there:

    customTasks:
        - name: ui5-tooling-transpile-task
          afterTask: replaceVersion
          configuration:
              debug: true
        - name: ui5-task-zipper
          afterTask: generateCachebusterInfo
          configuration:
              archiveName: integrations-content
              additionalFiles:
                  - xs-app.json
              includeDependencies:
                  - ui5-cc-spreadsheetimporter

In the `manifest.json` we have the `resourceRoots` and `componentUsages`:

    "sap.ui5": {
        ...
        "resourceRoots": {
            "cc.spreadsheetimporter.v0_29_0": "./thirdparty/customControl/spreadsheetImporter/v0_29_0"
        },
        "componentUsages": {
            "spreadsheetImporter": {
                "name": "cc.spreadsheetimporter.v0_29_0"
            }
        },

The upload works locally. But receiving that "duplicate" ID issue on Work Zone content refresh.

Could I be missing something else?

Thank you for your help.

JWJ
Participant
0 Kudos

So it appears that my code/configuration is correct, it was actually a browser issue this whole time. It worked locally on Chrome but not the deployed version.

It seems that no matter how I refresh Chrome and clear data, I continue to get "failed to load" on the spreadsheetimporter but I found that it works as expected on Edge!

I would like it to work on Chrome for me and be able to help others with this issue if it comes up.

On Chrome I get this:

Uncaught (in promise) ModuleError: failed to load 'cc/spreadsheetimporter/v0_29_0/Component.js' from ../ac9676f6-dc5a-4b30-a762-3f481a1710e2.cbidservice.applications/~021123152026+0000~/thirdparty/customControl/spreadsheetImporter/v0_29_0/Component.js: 404
    at we (https://sapui5.hana.ondemand.com/1.119.0/resources/sap/fiori/appruntime-min-0.js:15:6645)
    at ge.failWith (https://sapui5.hana.ondemand.com/1.119.0/resources/sap/fiori/appruntime-min-0.js:15:4709)

Accepted Solutions (0)

Answers (1)

Answers (1)

WouterLemaire
Active Contributor
0 Kudos

We use it on premise in only one app for the moment which works fine. This doesn’t help you but what I’ve noticed is that you configure it as a dependency and it will be deployed as a sub-component inside the component where you use it.

In theory it should work fine as long as you have only one component that uses it but as soon as you have multiple it will deploy it multiple times.

My suggestion would be to deploy it as a separate component instead of configuring it as a dependency. Connect it using the namespace and let WorkZone resolve the dependency. This approach will require you to manually get the spreadsheet importer component from GitHub to deploy it to btp.

JWJ
Participant
0 Kudos

Thanks. I might try that. It does work fine when in one app.

Marian_Zeis
Active Contributor
0 Kudos

c3d1947136cd4c748a7aa794001af496 jayjohnson14

Thanks Wouter for you suggestions.

I havent worked with a lot with Workzone yet. I tried to recreate it with a new project but did not run into the error you described.

In the CAP folder i have two Fiori Elements App with Spreadsheet Importer and used the "Decentralized deployment" described in the documentation. Then deployed the mtar and used it in Workzone.
Can you share more information about your setup and project?

I described the "Central Deployment" in the documentation, but more detailed for ABAP. If you can share more information for how to work with Workzone, you more then welcome to share it so i can document it for others.

daniellelyle
Participant
0 Kudos

Hi c3d1947136cd4c748a7aa794001af496 thanks for your reply, it's given us a lot to think about. Would you mind clarifying the process of connecting an app to the component using the namespace? Or do you happen to have a link to some documentation or other resource that describes this process? Thanks again 🙂

WouterLemaire
Active Contributor
daniellelyle
Participant

Thanks c3d1947136cd4c748a7aa794001af496, I just saw that you had published this series of blog posts just in time for this issue. 🙂 Appreciate the help!