Custom URL(Node ID) Question

Q&A about the latest versions
Post Reply
User avatar
C.Casares
Posts: 18
Joined: Wed Feb 24, 2021 10:19 am
Location: Richmond CA

my question is regarding the Nodes hotspots, do you know if there is a way to configure them to instead of handling the node id like #node123 instead of been using "#" this could be changed to "?" like query params, I mean ... my idea is instead of been having ending of the urls like this example:

------#node147

------?node=147
User avatar
Hopki
Gnome
Posts: 13029
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

Hi
Please see the attached project.

How it works, the skin has a variable:

2.png
2.png (15.16 KiB) Viewed 7665 times

There is a code element which allows the use of a query at the end of a URL.
The code element has an action:

1.png
1.png (43.43 KiB) Viewed 7665 times

You now add to the end of the URL, after index.html, ?node= then a number.
For example:
...index.html?node=3

The project can also be configured to use the custom node ID, for this, you would need to modify the action in the code element.

3.png
3.png (43.45 KiB) Viewed 7665 times

Now you can use:
...index.html?node=Bed_2


Regards,
Attachments
Query.zip
(35.73 KiB) Downloaded 130 times
Garden Gnome Support
If you send an e-mail to support please send a link to the forum post for reference.
support@ggnome.com
https://ggnome.com/wiki/documentation/
User avatar
C.Casares
Posts: 18
Joined: Wed Feb 24, 2021 10:19 am
Location: Richmond CA

Thanks for the help Hopki!

is this something that will display within the URL address or is this something "behind the scenes"?

Sorry if thats a dumb question but I'm relaying a request from our IT Team who hosts the tours for us...haha

When I implemented the changes you recommended I still see "index.html#node1" at the end of the URL. I suspect I have another skin element that could be conflicting with it, keeping it from being the desired "?node1".

I've attached a copy of our skin. I'm using a bit of javascript code to display the node at the end of the URL in "NODE ID" could that be where the error is coming from?
Last edited by C.Casares on Tue Nov 21, 2023 5:39 pm, edited 1 time in total.
User avatar
Hopki
Gnome
Posts: 13029
Joined: Thu Jan 10, 2008 3:16 pm
Location: Layer de la Haye, Essex UK
Contact:

In your skin, you have a container with the ID Node ID.
This displays the node in the URL, if you delete the container it will no longer show.
Regards,
Garden Gnome Support
If you send an e-mail to support please send a link to the forum post for reference.
support@ggnome.com
https://ggnome.com/wiki/documentation/
User avatar
C.Casares
Posts: 18
Joined: Wed Feb 24, 2021 10:19 am
Location: Richmond CA

I get that if i delete that it will no longer show "...node1". Can i make it show the change using the ..."?node=1" param at the end of the URL,

I have deleted the "node ID" from the skin and it no longer shows the "...#node1" at the end of the url in the browser and my IT counterpart has told me it is working within "params" but only after manually typing it into the URL. How can i configure it to automatically tag the end of the URL with "....?node=1" ?

additionally, we have a copy current view button that is apparently reverting back to the "....#node1" configuration- can this be reconfigured to work with the new "param" configuration. Again, sorry if this is a weird question haha to be honest I'm not 100 percent sure what all this means- i am acting as the "messenger boy" in this situation.
User avatar
C.Casares
Posts: 18
Joined: Wed Feb 24, 2021 10:19 am
Location: Richmond CA

Just wanted to bump this thread again.

just to re-state the issue we are having as I understand it.

We currently use a copy view button which as far I understand is dependent on on the NODE ID element which is adding the "#node1" to the end of the url usnig the following code: javascript: history.replaceState({}, player.userdata.title, location.href.replace(location.hash,"") + '#' + player.getCurrentNode());

Copy button Code : javascript:
text = document.URL
i = text.indexOf("#");
if (i >= 1) {
text = text.substring(0, i);
}
text = text + "#" + pano.getCurrentNode() + "," + pano.getPan() + "," + pano.getTilt() + "," + pano.getFov() + ",4";

dummy = document.createElement('input');
document.body.appendChild(dummy);
dummy.value = text;
dummy.select();
document.execCommand('copy');
document.body.removeChild(dummy);
alert("The view has been copied to your computers clipboard. To paste, select Edit then Paste from the Menu Bar or use the Keyboard Shortcut, Control + V for the PC or Command + V. for the Mac.");


Our IT department has asked if we could use the "params" configuration instead of the current configuration. which you supplied: var params = new URLSearchParams(window.location.search);
params.forEach((value, name) => {
player.setVariableValue(name, value);
});
User avatar
C.Casares
Posts: 18
Joined: Wed Feb 24, 2021 10:19 am
Location: Richmond CA

*Bump*
christoph
Gnome
Posts: 108
Joined: Mon Aug 20, 2012 3:01 pm

Pano2VR is using the location.hash ('#') for accessing a specific panorama and view in a tour. (what we call 'Direct Node Access')
Using the querystring ('?') does not work...

Cheers,
Christoph
Post Reply