Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-2275

Handle filenames with special characters

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      Situation: CyVerse allows the use of special characters, including spaces, in filenames. BioViz Connect does not handle filenames with special characters, breaking most of the right-click functionality.

      Task: Handle special characters in filenames when a user clicks View in IGB and when we send requests to Terrain API.

        Attachments

          Issue Links

            Activity

            nfreese Nowlan Freese created issue -
            nfreese Nowlan Freese made changes -
            Field Original Value New Value
            Epic Link IGBF-1482 [ 17568 ]
            nfreese Nowlan Freese made changes -
            Link This issue relates to IGBF-2273 [ IGBF-2273 ]
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 17 Feb to 28 Feb [ 87 ] Spring 4 : 2 Mar to 13 Mar [ 89 ]
            nfreese Nowlan Freese made changes -
            Sprint Spring 4 : 2 Mar to 13 Mar [ 89 ] Spring 3 : 17 Feb to 28 Feb [ 87 ]
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 17 Feb to 28 Feb [ 87 ] Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar [ 87, 89 ]
            nfreese Nowlan Freese made changes -
            Rank Ranked higher
            nfreese Nowlan Freese made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            nfreese Nowlan Freese made changes -
            Assignee Chaitanya Kintali [ chaitanya ]
            nfreese Nowlan Freese made changes -
            Comment [ The convention for creating a bookmark for a filename with spaces within IGB is to replace spaces in the feature_url sym_method and query_url with *%2520*. The convention within the parameter sym_name is to replace spaces with *+*.

            For example:

            stuff_!@#$%^&*_ space stuff.bedGraph

            needs to be encoded to work with IGB bookmarks as

            stuff_%21%40%2523%24%2525%255E%26*_%2520space%2520stuff.bedGraph ]
            nfreese Nowlan Freese made changes -
            Comment [ Example file name with special characters and spaces: stuff_!@#$%^&* space _stuff.bedGraph

            Working link to CyVerse file with encoding on filename:
            https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_!%40%23%24%25%5E%26*%20space%20_stuff.bedGraph

            Note: there may be slight differences in the encoding between what CyVerse needs and what IGB needs. See my previous comment for the IGB bookmarks encoding expectations. ]
            Hide
            nfreese Nowlan Freese added a comment -

            It looks like for BioViz Connect to work, need to double encode the filename for feature_url, sym_method, and query_url and single encode the filename for sym_name.

            Show
            nfreese Nowlan Freese added a comment - It looks like for BioViz Connect to work, need to double encode the filename for feature_url, sym_method, and query_url and single encode the filename for sym_name.
            nfreese Nowlan Freese made changes -
            Comment [ filename: stuff_!@#$%^&* space _stuff.bedGraph

            local file as it appears in IGB bookmarks: stuff_%21%40%2523%24%2525%255E%26*%2520space%2520_stuff.bedGraph

            url that works in IGB File > Open URL (single encoded file name): https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_!%40%23%24%25%5E%26*%20space%20_stuff.bedGraph

            url from above as it appears in IGB bookmarks: stuff_%21%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph

            url that works as an IGB bookmark (double encoded file name): https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_%21%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph

            sym_name that works in IGB bookmarks (single encoded file name): stuff_!%40%23%24%25%5E%26*%20space%20_stuff.bedGraph

            Example BioViz Connect url with double encoded filename for feature_url, sym_method, and query_url and single encoded filename for sym_name:
            http://127.0.0.1:7085/IGBControl?
            version=?&
            loadresidues=false&
            cyverse_data=true&
            feature_url_0=https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_%21%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph&
            sym_method_0=https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_%21%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph&
            sym_col_0=0x0F0F0F&
            sym_bg_0=0x0FFFF0&
            sym_name_0=stuff_!%40%23%24%25%5E%26*%20space%20_stuff.bedGraph&
            query_url=https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_%21%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph&
            server_url=cyverse ]
            Hide
            nfreese Nowlan Freese added a comment -

            filename: stuff_!@#$%^&* space _stuff.bedGraph

            Example BioViz Connect url with double encoded filename for feature_url, sym_method, and query_url and single encoded filename for sym_name:
            http://127.0.0.1:7085/IGBControl?
            version=?&
            loadresidues=false&
            cyverse_data=true&
            feature_url_0=https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_!%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph&
            sym_method_0=https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_!%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph&
            sym_col_0=0x0F0F0F&
            sym_bg_0=0x0FFFF0&
            sym_name_0=stuff_!%40%23%24%25%5E%26*%20space%20_stuff.bedGraph&
            query_url=https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_!%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph&
            server_url=cyverse

            Show
            nfreese Nowlan Freese added a comment - filename: stuff_!@#$%^&* space _stuff.bedGraph Example BioViz Connect url with double encoded filename for feature_url, sym_method, and query_url and single encoded filename for sym_name: http://127.0.0.1:7085/IGBControl? version=?& loadresidues=false& cyverse_data=true& feature_url_0= https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_!%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph& sym_method_0= https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_!%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph& sym_col_0=0x0F0F0F& sym_bg_0=0x0FFFF0& sym_name_0=stuff_!%40%23%24%25%5E%26*%20space%20_stuff.bedGraph& query_url= https://data.cyverse.org/dav-anon/iplant/home/nowlanf/SmokeTesting/H_sapiens_Dec_2013/stuff_!%2540%2523%2524%2525%255E%2526*%2520space%2520_stuff.bedGraph& server_url=cyverse
            nfreese Nowlan Freese made changes -
            Description Situation: CyVerse allows the use of special characters, including spaces, in filenames. BioViz Connect does not handle filenames with special characters, breaking most of the right-click functionality.

            Task: Handle special characters in filenames.
            Situation: CyVerse allows the use of special characters, including spaces, in filenames. BioViz Connect does not handle filenames with special characters, breaking most of the right-click functionality.

            Task: Handle special characters in filenames when a user clicks View in IGB and when we send requests to Terrain API.
            Hide
            chaitanya Chaitanya Kintali (Inactive) added a comment -

            Pull Request Link: https://bitbucket.org/nfreese/django-cyversedev/pull-requests/135/igbf-2275/diff

            As per previous comment, The parameter 'Filepath' has been encoded twice before sending it as URL query parameter to avoid failure.
            Code changes have also been done to change the way we are sending the FilePath as a query parameter in many scenarios such as Manage Link. Instead changes are made to send the FilePath as Json Body to avoid failure parsing any filename with special characters.

            Moving to Needs Testing. Nowlan Freese can you please test this ticket and move it done if everything works fine.

            Show
            chaitanya Chaitanya Kintali (Inactive) added a comment - Pull Request Link: https://bitbucket.org/nfreese/django-cyversedev/pull-requests/135/igbf-2275/diff As per previous comment, The parameter 'Filepath' has been encoded twice before sending it as URL query parameter to avoid failure. Code changes have also been done to change the way we are sending the FilePath as a query parameter in many scenarios such as Manage Link. Instead changes are made to send the FilePath as Json Body to avoid failure parsing any filename with special characters. Moving to Needs Testing. Nowlan Freese can you please test this ticket and move it done if everything works fine.
            chaitanya Chaitanya Kintali (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            chaitanya Chaitanya Kintali (Inactive) made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            chaitanya Chaitanya Kintali (Inactive) made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            chaitanya Chaitanya Kintali (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            chaitanya Chaitanya Kintali (Inactive) made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            chaitanya Chaitanya Kintali (Inactive) made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            chaitanya Chaitanya Kintali (Inactive) made changes -
            Assignee Chaitanya Kintali [ chaitanya ] Nowlan Freese [ nfreese ]
            nfreese Nowlan Freese made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            Hide
            nfreese Nowlan Freese added a comment -

            I think there might be an issue with the sym_name not being encoded. The sym_name parameter is not showing correctly in the debugger for stuff_!@#$%^&* space _stuff.bedGraph when clicking View in IGB in BioViz Connect.

            Terrain functionality appears to be working correctly, the three right-panels are loading correctly.

            Show
            nfreese Nowlan Freese added a comment - I think there might be an issue with the sym_name not being encoded. The sym_name parameter is not showing correctly in the debugger for stuff_!@#$%^&* space _stuff.bedGraph when clicking View in IGB in BioViz Connect. Terrain functionality appears to be working correctly, the three right-panels are loading correctly.
            nfreese Nowlan Freese made changes -
            Assignee Nowlan Freese [ nfreese ] Chaitanya Kintali [ chaitanya ]
            nfreese Nowlan Freese made changes -
            Status Post-merge Testing In Progress [ 10003 ] To-Do [ 10305 ]
            nfreese Nowlan Freese made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar [ 87, 89 ] Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar [ 87, 89, 90 ]
            nfreese Nowlan Freese made changes -
            Rank Ranked higher
            nfreese Nowlan Freese made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            nfreese Nowlan Freese made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            nfreese Nowlan Freese made changes -
            Assignee Chaitanya Kintali [ chaitanya ] Nowlan Freese [ nfreese ]
            Hide
            nfreese Nowlan Freese added a comment -

            Encoding the sym_name worked, file is loading in IGB, name is showing correctly.

            Closing issue.

            Show
            nfreese Nowlan Freese added a comment - Encoding the sym_name worked, file is loading in IGB, name is showing correctly. Closing issue.
            nfreese Nowlan Freese made changes -
            Assignee Nowlan Freese [ nfreese ] Chaitanya Kintali [ chaitanya ]
            nfreese Nowlan Freese made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            nfreese Nowlan Freese made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            nfreese Nowlan Freese made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            nfreese Nowlan Freese made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            nfreese Nowlan Freese made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            nfreese Nowlan Freese made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            nfreese Nowlan Freese made changes -
            Link This issue relates to IGBF-2292 [ IGBF-2292 ]

              People

              • Assignee:
                chaitanya Chaitanya Kintali (Inactive)
                Reporter:
                nfreese Nowlan Freese
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: