You are not logged in.

HansNyb

Professional

  • "HansNyb" started this thread

Posts: 936

Location: Denmark

Occupation: Photographer

  • Send private message

1

Monday, March 30th 2015, 6:32pm

Tour editor and external xml

I have a very large museum tour which has around 80 panoramas.

Each of these will have 20 to 30 info hotspots with text popups.

The result is that the tour.xml is now around 450 kb which take a long time to load on mobile.
My Galaxy note 2 uses 30-40 sec with a black screen. iPad air is ok only takes 5 sec.

To avoid it I tried to make the xml for the info spots on an external xml and include it for each scene which I already use for the text data.

Problem is that the tour editor does not work with external xml.
You can move the hotspots but you can not save the code.

And tour editor is essential for placing the spots in place at each of the paintings in the panos.

You can see the current setup here with spots on pano 26 to 29 the xml is added to the rest but spots are not placed.
http://360-foto.dk/nationalhistorisk-museum/

Any ideas for this.? Would it be possible to ad support for the tour-editor to work with an external xml?

Hans Nyberg

Tuur

Sage

Posts: 3,173

Location: Netherlands

Occupation: Krpano custom coding / Virtual Tours / Photography / Musician / Recording engineer

  • Send private message

2

Monday, March 30th 2015, 8:18pm

Hi Hans,

in my experience it works with included xml, but you have to do something extra.
What i do is set the hotspots. then back, then xml to show the xml.
Now select a line and select all (cntr/cmd+a) , then you go to the bottom of the xml. Now 'scroll' up a bit and you'll find the changed hotspots just above the scenes.
Copy that to your original xml file.

I can imagine it is too much hassle.. but for me.. it works.

Tuur *thumbsup*
http://www.virtualtuur.com
Skype:studiotuur

jeromebg

Professional

Posts: 792

Location: Angers - France

Occupation: Photographer

  • Send private message

3

Monday, March 30th 2015, 9:40pm

First you should use styles a bit more to save to huge useless data you wrote, eg:

Source code

1
onup="tween(plugin[x2].y,-70,1);tween(plugin[text1].y,-800,1);tween(plugin[text2].y,-800,1);tween(plugin[text3].y,-800,1);tween(plugin[text4].y,-800,1);tween(plugin[text5].y,-800,1);tween(plugin[img5].y,-400,1);tween(plugin[text6].y,-800,1);tween(plugin[text7].y,-800,1);tween(plugin[text8].y,-800,1);tween(plugin[text9].y,-800,1);tween(plugin[text10].y,-800,1);tween(plugin[text11].y,-800,1);tween(plugin[text12].y,-800,1);tween(plugin[text13].y,-800,1);tween(plugin[text14].y,-800,1);tween(plugin[text15].y,-800,1);tween(plugin[text16].y,-800,1);tween(plugin[text17].y,-800,1);tween(plugin[text14].y,-800,1);tween(plugin[text18].y,-800,1);tween(plugin[text19].y,-800,1);tween(plugin[text20].y,-800,1);tween(plugin[text14].y,-800,1);tween(plugin[text21].y,-800,1);tween(plugin[text22].y,-800,1);tween(plugin[text23].y,-800,1);tween(plugin[text24].y,-800,1);tween(plugin[text25].y,-800,1);tween(plugin[text26].y,-800,1);tween(plugin[text27].y,-800,1);tween(plugin[text28].y,-800,1);tween(plugin[text29].y,-800,1);tween(plugin[text30].y,-800,1);tween(plugin[text31].y,-800,1);tween(plugin[text32].y,-800,1);tween(plugin[text33].y,-800,1);tween(plugin[text34].y,-800,1);tween(plugin[text35].y,-800,1);tween(plugin[text36].y,-800,1);tween(plugin[text37].y,-800,1);tween(plugin[text38].y,-800,1);tween(plugin[text39].y,-800,1);tween(plugin[text40].y,-800,1);tween(plugin[text41].y,-800,1);tween(plugin[text42].y,-800,1);tween(plugin[text43].y,-800,1);tween(plugin[text44].y,-800,1);tween(plugin[text45].y,-800,1);tween(plugin[text46].y,-800,1);tween(plugin[text47].y,-800,1);tween(plugin[text48].y,-800,1);tween(plugin[text49].y,-800,1);tween(plugin[text50].y,-800,1);tween(plugin[text51].y,-800,1);tween(plugin[text52].y,-800,1);tween(plugin[text53].y,-800,1);tween(plugin[text54].y,-800,1);tween(plugin[text55].y,-800,1);tween(plugin[text56].y,-800,1);tween(plugin[text57].y,-800,1);tween(plugin[text58].y,-800,1);tween(plugin[text59].y,-800,1);tween(plugin[text60].y,-800,1);tween(plugin[text61].y,-800,1);tween(plugin[text62].y,-800,1);tween(plugin[text63].y,-800,1);tween(plugin[text64].y,-800,1);tween(plugin[text65].y,-800,1);tween(plugin[text66].y,-800,1);tween(plugin[text67].y,-800,1);tween(plugin[text68].y,-800,1);tween(plugin[text69].y,-800,1);"


???

it will work just the same if you use :

Source code

1
onup="tween(plugin[get(name)].y,-800,1)"


Same thing for :

Source code

1
2
<hotspot name="tex1" style="hotspot_info1" scale="0.5" ath="1" atv="0" onclick="tween(plugin[x2].y,45,1);tween(plugin[text1].y,35,1);"/><plugin name="text1" zorder="23" style="textfield1" html="data:text1" css="data:style"/><hotspot name="tex2" style="hotspot_info1" scale="0.5" ath="5" atv="0" onclick="tween(plugin[x2].y,45,1);tween(plugin[text2].y,35,1);"/><plugin name="text2" zorder="23" style="textfield1" html="data:text2" css="data:style"/><hotspot name="tex3" style="hotspot_info1" scale="0.5" ath="10" atv="0" onclick="tween(plugin[x2].y,15,1);tween(plugin[text3].y,35,1);"/><plugin name="text3" zorder="23" style="textfield1" html="data:text3" css="data:style"/><hotspot name="tex4" style="hotspot_info1" scale="0.5" ath="15" atv="0" onclick="tween(plugin[x2].y,15,1);tween(plugin[text4].y,35,1);"/><plugin name="text4" zorder="23" style="textfield1" html="data:text4" css="data:style"/><hotspot name="tex5" style="hotspot_info1" scale="0.5" ath="20" atv="0" onclick="tween(plugin[x2].y,15,1);tween(plugin[text5].y,35,1);"/><plugin name="text5" zorder="23" style="textfield1" html="data:text5" css="data:style"/><hotspot name="tex6" style="hotspot_info1" scale="0.5" ath="25" atv="0" onclick="tween(plugin[x2].y,15,1);tween(plugin[text6].y,35,1);"/><plugin name="text6" zorder="23" style="textfield1" html="data:text6" css="data:style"/><hotspot name="tex7" style="hotspot_info1" scale="0.5" ath="30" atv="0" onclick="tween(plugin[x2].y,15,1);tween(plugin[text7].y,35,1);"/><plugin name="text7" zorder="23" style="textfield1" html="data:text7" css="data:style"/><hotspot name="tex8" style="hotspot_info1" scale="0.5" ath="35" atv="0" onclick="tween(plugin[x2].y,15,1);tween(plugin[text8].y,35,1);"/><plugin name="text8" zorder="23" style="textfield1" html="data:text8" css="data:style"/><hotspot name="tex9" style="hotspot_info1" scale="0.5" ath="40" atv="0" onclick="tween(plugin[x2].y,15,1);tween(plugin[text9].y,35,1);"/>
.....


just use :

Source code

1
<style name="hotspot_info1"  onclick="tween(plugin[x2].y,45,1);tween(plugin[get(name)].y,35,1);"


And if you encrypt your xml you'll save a lot of weight !

HansNyb

Professional

  • "HansNyb" started this thread

Posts: 936

Location: Denmark

Occupation: Photographer

  • Send private message

4

Monday, March 30th 2015, 11:03pm

Source code
1
onup="tween(plugin[get(name)].y,-800,1)"


Not sure how you believe this should work.

This needs you to close each popup before you click the next.

HansNyb

Professional

  • "HansNyb" started this thread

Posts: 936

Location: Denmark

Occupation: Photographer

  • Send private message

5

Tuesday, March 31st 2015, 12:28am

Ok I believe I solved the problem.

Apparently it is not the size of the xml which made it load slow. I could not understand that 400 kb should take this time and it also looked weird as it seemed to load almost everything and than it stalled, so I started looking for other possible problems in it.

I had pasted a template for 27 spots on around 50 panos and all of the scenes included the same link to the same external data file for the text.

You would assume that this would not be a problem as it should not load until you load each scene .

But it does. Removing the link made my iPad 3 load in 4 sec and on my Note 2 in 12 sec.

Do not ask me why.