I'm at a loss in an upgrade

  • I have been running much older versions of krpano (2012 and 2013 versions) for many years, but something broke and I decided to upgrade, downloading the latest 1.19 last week. But I have been banging my head against it and getting pretty frustrated.

    a) I constantly reports xml parsing errors in included files, when these are files that worked for years and do not appear to have any errors. There do not appear to be any diagnostics I can find about what line or tag it is finding the errors on. In the end, I got it to work by changing the name of the include file to not have a dash in it (even though the second file does have a dash.) It was reporting syntax errors even when I would entirely delete every line in the file! This makes no sense.

    b) Once I got past the syntax errors, it now displays the preview, but does not display the real tiles. Any hints on diagnostics to figure out why? Presuming something had changed, I used the droplet to create a multires on a windows machine (the one on linux fails, demanding the obsolete libudev.so.0 when Ubuntu moved to libudev.so.1 some time ago and does not support the old one.) However, when I try to view that multires it insists on the flash player, which is installed but does not seem to run, so I changed the html5 tag from never to auto, and it displays the preview again, and not the tiles.

    c) It is always saying "demo mode" even though I copied krpano.licence into the directory with all krpano files on the web server. In addition, the tools request a licence key, which I don't have, I only have the binary ".licence" file

    Any help? Pointers as to how to debug this? Lists of things that have changed since earlier versions that are no longer supported?

  • Some additional detail. The viewer does work if I put the pano on the "flat" droplet rather than the multires droplet. They both make a tiled view, but the flat one does smaller (5 levels) rather than 4 levels, and has a different view and skin. Not clear why this makes the difference. Has the HTML viewer been reduced to needing smaller tiles? I built all my panos with 1024 pixel tiles.

  • That is the frustrating part. No diagnostics of any kind, unless I am not looking in the right place. Other than the not highly informative xml syntax errors I was getting. In addition, as I said, the tiles do not appear in a pano built by the multires droplet, but they do appear in the one made by the flat droplet, which builds the tiles one deeper, and has a different view tag. I will experiment with these, but is there any way to get more debugging of what's going on?

  • What is logkey? It's not listed in the xml docs. I see other pages talking about it as an attribute on krpano, but does it do something?

    BTW, playing around I found that on the flat pano, if you set the HFOV to be greater than 1, you get the same result, it only shows the blurry preview, not the tiles. The one built by the multires droplet gets this problem.

  • Hi,

    first - it seems you were previously only using the Flash version and now first time the HTML5 version, but there unfortunately some necessary differences here.

    a) I constantly reports xml parsing errors in included files, when these are files that worked for years and do not appear to have any errors. There do not appear to be any diagnostics I can find about what line or tag it is finding the errors on. In the end, I got it to work by changing the name of the include file to not have a dash in it (even though the second file does have a dash.) It was reporting syntax errors even when I would entirely delete every line in the file! This makes no sense.

    To check a xml file for valid xml syntax (independent of krpano now) just open the xml file directly in the browser.

    Additionally please also read the 'Basic XML Syntax Rules' documentation:
    https://krpano.com/docu/xml/syntaxrules/#top

    The reason for the differences to 'old' versions - is here mainly the difference between Flash and HTML5 - the 'xml parser' of the Flashplayer is very tolerant to xml syntax error, where the HTML5 browsers are very strict.

    E.g. an often old error is the usage of the '&' character - that's not allowed by the xml syntax rules, but the Flashplayer was accepting it. Correct would be writing '&' instead of '&' in the xml.


    b) Once I got past the syntax errors, it now displays the preview, but does not display the real tiles. Any hints on diagnostics to figure out why? Presuming something had changed, I used the droplet to create a multires on a windows machine (the one on linux fails, demanding the obsolete libudev.so.0 when Ubuntu moved to libudev.so.1 some time ago and does not support the old one.) However, when I try to view that multires it insists on the flash player, which is installed but does not seem to run, so I changed the html5 tag from never to auto, and it displays the preview again, and not the tiles.

    You might use tiled spherical panos, but they are not supported in the html5 viewer yet:
    https://krpano.com/docu/html5/#supportedformats

    The html5 viewer currently supports (all also with stereo support):
    - single-res cube panos
    - multi-res cube panos
    - single-res flat panos
    - multi-res flat panos
    - single-res sphere panos
    - single-res cylinder panos
    - single-res fisheye panos

    When using an unsupported pano type, there should be a warning message about that in the krpano log.


    c) It is always saying "demo mode" even though I copied krpano.licence into the directory with all krpano files on the web server. In addition, the tools request a licence key, which I don't have, I only have the binary ".licence" file

    There are no license files anymore since version 1.17 (2014) - please see here for more:
    https://krpano.com/news/#news117
    https://krpano.com/buy/upgrade/

    Best regards,
    Klaus

  • What is logkey?


    https://krpano.com/docu/xml/#krpano.logkey

    BTW, playing around I found that on the flat pano, if you set the HFOV to be greater than 1, you get the same result, it only shows the blurry preview, not the tiles. The one built by the multires droplet gets this problem.

    A pano with hfov=1 defines a flat-pano in krpano. Tiled/multires spherical panos with hfov greater 1.0 are not supported in the html5 viewer yet.

    Note - to use the Flashplayer change the html5 setting in the html file - e.g. for such panos to 'never':
    https://krpano.com/docu/html/#html5

  • Thanks. I will swear on a stack of specifications that I did browser search for logkey in the krpano xml reference and it never showed me that, so I am baffled that I see it now. I will work with it. But yes, I now understand that indeed I have a lot of panos that are cylindrical multires. In fact this is my most common form of pano -- some of them are 360 degree, some are partial but I still want people to be able to pan around in them. I almost never build full spheres, and use of partial spheres is rare.

    Is there an article on "Switching from flash based krpano to html5 version -- pitfalls and traps?" If so, I did not see it, or if not, it would surely be great to have it.

    As you might guess, flash is on the out -- I have it disabled by default in my own browsers so I wish to use html5 where I can. It looks as though I can only have flat multires (all my panos are multi hundred megapixel so they need to be multires to be efficient) and will have to go to flat for both my partial spheres and partial cylinders. But then what happens to my 360 degree partial cylinders and (less common) partial spheres? Is the only answer to go to flash for those? It is very nice to let people see those as a 360 that joins up. I guess I could give people a link that lets them switch to flash or some cookie or other setting. I guess I could set things to prefer flash if it is present with html5 as fallback on my 360 panos, but then I will want different XML depending on what is rendering them.

    And now I see I need to pay another 45 euros if I wish to get HTML5 support. Oh well. (Thought it said that a licence for one version 1.x applied to all 1.x)

  • Thinking about it more, it seems that I need to produce some fairly complex decision logic on my panos, almost none of which are full spheres.

    • If the pano is less than about 170 degrees, or has an aspect ratio more square than about 3 to 1, display as flat pano (multires or single)
    • If the pano is less than about 30 megapixels or so, display as single-res sphere or cylinder.
    • If the pano is larger and wider, particularly if it is a 360 degree FOV, then IF the user has flash, display as mutires cylinder or sphere in flash
    • Otherwise, if the user does not have flash, display as a flat multires in HTML 5
    • Failing all that just offer a regular jpeg.


    Is this easy to do, or is this "flash or not" sort of decision harder? I am thinking of moving my logic away from the program that builds my panos which right now creates the tiles and the XML depending on things like this, and put it in the CGI which generates the HTML page. I would have this CGI generate different XML and have it include a simpler XML made by the builder program. Though I might have to read and modify that XML rather than include it, since I need to change attributes on the "<image>" tag based on what we're doing.

  • So any further thought on what is the best strategy to arrange that the HFOV is set to 1 and the panorama to flat if the user is viewing with HTML5, but to set the type and HFOV and offset to the right values (cyclinder, sphere) if the user is running with flash?

    The two basic options are not satisfactory. If I set it to always use flash, that runs into problems on modern browsers (which block flash by default) and on things like phones. If I set it to always use HTML5, I only get flat panoramas, missing out on the nice features of krpano that made me buy it in the first place.

    What is the best way to detect, in either the javascript, CGI or XML that the user has flash or html5 as an option?

    What option seems like the best? Using conditionals in the XML? Generating XML on the fly in a CGI? Something else?

    It seems like xmlelement devices="html5" is the approved method -- though that requires duplicating all the internal elements of the image tag -- but for some reason it is not working for me, and the panorama turns into vertical lines when I wrap this around my image tag. Will keep working on it.

    Edited 2 times, last by bradtem (March 21, 2018 at 4:34 AM).

  • OK, closer to getting the upgrade working. Got the licence to work -- you need to use the UI based tool to create new versions of krpano.js and swf with your key embedded in them, which can be a pain on linux where the UI tool binaries don't run until you get some ancient libraries that are not supported any more in ubuntu. But I did it.

    I am able to make two versions of my <image> tag with device= tags to do an HTML5 and a flash one, and put it into html5:fallback mode so it uses flash when I have it.

    But I would like to make it more elegant. Rather than have to completely duplicate the <image> tag with all its layers, I would like to say <image hfov="%CFOV%" ... > where CFOV is a variable that I set to be either 1.0 if in html5 (ie. flat) and the right field of view if on flash.

    What's the best way to do this? How do you just execute code to define variables? DO you have to define actions, then get the actions to trigger, and then have some other element (a generic one?) with device=html5 on it to somehow trigger an action to set the variable to 1.0?

    Or is there a more elegant way? What is the approved way to just run some action code, do you need an onstart method, or several of them? Of course it would be nice if html5 was able to wrap a cylinder around in a 360 view, but I presume that's for a later version.

  • Hi,

    Got the licence to work -- you need to use the UI based tool to create new versions of krpano.js and swf with your key embedded in them

    That's not right - that can be done also from command line:
    https://krpano.com/tools/kprotectcl/#top

    Registering itself is also possible from command line:
    https://krpano.com/buy/howtoregister/

    Just as note - basically all what the UI tool is doing, is also possible via command line, because the UI tools is using and based on the command line tools.


    But I would like to make it more elegant. Rather than have to completely duplicate the <image> tag with all its layers, I would like to say <image hfov="%CFOV%" ... > where CFOV is a variable that I set to be either 1.0 if in html5 (ie. flat) and the right field of view if on flash.

    The xml attribue device checks could be used for that:
    https://krpano.com/docu/xml/#devicechecksforattributes

    e.g.

    Code
    <image hfov.html="1.0" hfov.flash="360">


    Of course it would be nice if html5 was able to wrap a cylinder around in a 360 view, but I presume that's for a later version.

    That will definitely come, but unfortunately still need to some time.

    Best regards,
    Klaus

  • Thanks. Yes, those devicechecks are pretty much what I will be wanting.

    What wasn't clear is that this command is described as for creating a "protected" version of the player, which to me implies something else than something that everybody must do if they want to use the player they purchased! I would recommend it be made much more clear, if possible, in the documentation around registering one's copy, that it won't work unless you create a protected player. Perhaps it's there and I missed that. I had been using krpano for years with its old method of authentication (put key file in directory of player) so I did not come into it as a new user.

    Truth be known, since multires panos don't work except as flat in html5, it might be a reasonable rule to always set HFOV to 1 in such panos, regardless of what the XML sets it to, and that way when you start supporting this in HTML5, people don't have to change their XML. (Or, more simply, allow the use of the HFOV there but ignore it and presume flat.)

    Edited once, last by bradtem (March 29, 2018 at 2:46 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!