Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-1065

FIWARE.Request.Tech.Apps.Store.UploadedURLResourcesSometimesCannotInstalled

    Details

    • Type: extRequest
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Fix Version/s: 2021
    • Component/s: FIWARE-TECH-HELP
    • Labels:
      None
    • HD-Chapter:
      Apps
    • HD-Enabler:
      WStore

      Description

      Responsible:fiware@ulpgc.es
      Environment, instance and tested GEs
      Fiware Lab - Global instance - Store
      Web Browser: Mozilla Firefox, v. 33 ; Google Chrome, v. 38.0.2125.104
      Operating System: Windows 8
      User id: storedata.test.ulpgc@gmail.com

      Description
      Sometimes, an uploaded offering that includes an URL resource cannot be
      installed and used in the marketplace properly. Instead of it, an
      “unknown” tag was attached to the widget, instead of the expected “widget”

      • “pack” - “mashup” tag and the install button became a “details” button.
        Note that you are able to download the URL resource directly when you
        purchase it, so it is not a resource registration issue neither an upload
        issue.

      In spite of this issue, it happens randomly and you can install the widget
      most of the times.

      How to replicate
      1. First of all, you should upload an offering with a resource registered
      with the URL method. In our testing example, the options used for creating
      this offering were the following:

      First step:
      a. With logo [jpg]
      b. Without screenshots
      c. Not using notification URL
      d. No open offering active.
      Second step:
      a. Basic USDL (fields filled with the word “testing”) + free.
      Third step:
      a. No applications added
      Fourth step:
      a. A single resource was bound to the offering. (a “flickr” widget
      downloaded before this test from the Store. The URL used for test purposes
      was http://www.elnublo.com/sites/default/files/flickr.wgt)

      2. After that, you should acquire your offering using the Store.
      3. Finally, you should go to Mashup->Marketplace and try to install your
      offering. You could see that, instead of the normal “Install”, button,
      there will be a “Details” button and you could not install your offering.

      An example of this could be shown in the attached picture. You can purchase
      and install properly a testing offering that contains a single widget
      uploaded from HDD (the green one), but the offering which contains a single
      widget uploaded from URL cannot be installed after purchasing (the red one).

      _______________________________________________
      Fiware-lab-help mailing list
      Fiware-lab-help@lists.fi-ware.org
      https://lists.fi-ware.org/listinfo/fiware-lab-help

      1. 1.png
        69 kB
      2. 2.png
        3 kB
      3. 3.png
        13 kB
      4. 4.png
        5 kB
      5. 5.png
        142 kB
      6. 6.png
        221 kB
      7. Offering uploaded to the Store with URL resources sometimes cannot be installed in the Marketplace - 1.png
        503 kB

        Activity

        Hide
        fdelavega Francisco de la Vega added a comment -

        This is an issue of the Mashup portal

        Show
        fdelavega Francisco de la Vega added a comment - This is an issue of the Mashup portal
        Hide
        aarranz Álvaro Arranz added a comment - - edited

        Currently, If you want to create an offering containing one or more application mashup components (widget, operators or mashups) you need to comply with the following rules:

        • The store currently doesn't allow to associate metadata with resources and Wirecloud needs the component id to know if the component is already installed or not. So you need to uploaded the resource using the following file name pattern: <vendor>_<name>_<version>.wgt
        • Use one of the following content-types: application/x-widget+mashable-application-component, application/x-operator+mashable-application-component or application/x-mashup+mashable-application-component

        Currently, the best way for comply with these rules is by uploading resources from Wirecloud (using the publish button). Anyway, we know this has to be fixed, by adding new features to the Store so we don't depend on the name of the file and by improving documentation.

        Show
        aarranz Álvaro Arranz added a comment - - edited Currently, If you want to create an offering containing one or more application mashup components (widget, operators or mashups) you need to comply with the following rules: The store currently doesn't allow to associate metadata with resources and Wirecloud needs the component id to know if the component is already installed or not. So you need to uploaded the resource using the following file name pattern: <vendor>_ <name> _<version>.wgt Use one of the following content-types: application/x-widget+mashable-application-component, application/x-operator+mashable-application-component or application/x-mashup+mashable-application-component Currently, the best way for comply with these rules is by uploading resources from Wirecloud (using the publish button). Anyway, we know this has to be fixed, by adding new features to the Store so we don't depend on the name of the file and by improving documentation.
        Hide
        pablo.fernandez Pablo Fernandez Moniz added a comment -

        Hi,

        In your email you pointed to three rules you must follow in order to upload a resource successfully, so we will try to explain the issue rule by rule, and 6 screenshots (named from 1 to 6) has been uploaded to try to explain better.

        • You cannot use an URL for creating the resource

        We found we can use it: we created a resource using a URL, then we attached the resource to a new offering. After that we publish temporarily the offering inside the store, we logged in with another account and finally we downloaded the resource. No problem with that. You can see it step by step in the attached pictures 1 to 6.

        If the platform is not intended to allow this behavior, just as an recommendation, we will suggest to hide the URL option in the resource upload form.

        • The store currently doesn't allow to associate metadata with resources and Wirecloud needs the component id to know if the component is already installed or not. So you need to uploaded the resource using the following file name pattern: <vendor><name><version>.wgt

        Maybe this is the reason that produced the error we reported at the beginning of this discussion. We think that, until the moment you add your new functionality, a control should be implemented in order to avoid uploading widgets that doesn't match with the refered pattern. That would be easy to do, as well as you already have the vendor's name (account) and you, as a user, must insert name and version in the resource upload form.

        • Use one of the following content-types: application/x-widget+mashable-
          application-component, application/x-operator+mashable-application-component or application/x-mashup+mashable-application-component

        In fact that field in the form produced us a bit of confusion while we uploaded our widgets. It would be great, even better than the documentation improvement, if you decide to change that field for a selection one that contains the allowed content-types.

        Best regards,

        Show
        pablo.fernandez Pablo Fernandez Moniz added a comment - Hi, In your email you pointed to three rules you must follow in order to upload a resource successfully, so we will try to explain the issue rule by rule, and 6 screenshots (named from 1 to 6) has been uploaded to try to explain better. You cannot use an URL for creating the resource We found we can use it: we created a resource using a URL, then we attached the resource to a new offering. After that we publish temporarily the offering inside the store, we logged in with another account and finally we downloaded the resource. No problem with that. You can see it step by step in the attached pictures 1 to 6. If the platform is not intended to allow this behavior, just as an recommendation, we will suggest to hide the URL option in the resource upload form. The store currently doesn't allow to associate metadata with resources and Wirecloud needs the component id to know if the component is already installed or not. So you need to uploaded the resource using the following file name pattern: <vendor> <name> <version>.wgt Maybe this is the reason that produced the error we reported at the beginning of this discussion. We think that, until the moment you add your new functionality, a control should be implemented in order to avoid uploading widgets that doesn't match with the refered pattern. That would be easy to do, as well as you already have the vendor's name (account) and you, as a user, must insert name and version in the resource upload form. Use one of the following content-types: application/x-widget+mashable- application-component, application/x-operator+mashable-application-component or application/x-mashup+mashable-application-component In fact that field in the form produced us a bit of confusion while we uploaded our widgets. It would be great, even better than the documentation improvement, if you decide to change that field for a selection one that contains the allowed content-types. Best regards,
        Hide
        aarranz Álvaro Arranz added a comment -

        Hi Pablo,

        sorry for the misunderstanding, I created the comment through the jira user interface and then I edited it, so probably you have only read the original comment. Indeed, you CAN use an URL for creating a resource, so the first point doesn't apply .

        The other two points require changes in the form for uploading resources in the Store, so I'm going to reassign this ticket to Fran.

        Best regards,
        Álvaro

        Show
        aarranz Álvaro Arranz added a comment - Hi Pablo, sorry for the misunderstanding, I created the comment through the jira user interface and then I edited it, so probably you have only read the original comment. Indeed, you CAN use an URL for creating a resource, so the first point doesn't apply . The other two points require changes in the form for uploading resources in the Store, so I'm going to reassign this ticket to Fran. Best regards, Álvaro
        Hide
        fdelavega Francisco de la Vega added a comment -

        Hi Pablo,

        Currently, a resource can be any digital asset, not only widgets or mashups, this is the reason why there is not explicit support for widgets or mashups in the resource creation form. However, we realised that this could be difficult and confusing, for this reason we have included in our roadmap the development of a plugin-based approach in order to allow the definition of explicit types of resources. In this way, It would be possible to deal with Wirecloud restrictions without the need of forcing the provider to set specific names or learn the content types.

        Best regards,
        Francisco

        Show
        fdelavega Francisco de la Vega added a comment - Hi Pablo, Currently, a resource can be any digital asset, not only widgets or mashups, this is the reason why there is not explicit support for widgets or mashups in the resource creation form. However, we realised that this could be difficult and confusing, for this reason we have included in our roadmap the development of a plugin-based approach in order to allow the definition of explicit types of resources. In this way, It would be possible to deal with Wirecloud restrictions without the need of forcing the provider to set specific names or learn the content types. Best regards, Francisco
        Hide
        fdelavega Francisco de la Vega added a comment -

        This problem has been solved by the creation of a plugin for WStore for the creation of Wirecloud resources, using this plugin it is possible to upload a widget to WStore using an URL with any format and a file with any name, since the information of the widget, mashup or operator is extracted from the WGT file. Moreover, the media type is automatically filled.

        Show
        fdelavega Francisco de la Vega added a comment - This problem has been solved by the creation of a plugin for WStore for the creation of Wirecloud resources, using this plugin it is possible to upload a widget to WStore using an URL with any format and a file with any name, since the information of the widget, mashup or operator is extracted from the WGT file. Moreover, the media type is automatically filled.

          People

          • Assignee:
            fdelavega Francisco de la Vega
            Reporter:
            pablo.fernandez Pablo Fernandez Moniz
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: