Posts


Warning: Problem loading the map data

posted Nov 7, 2016, 9:52 AM by Faustino Rodriguez   [ updated Feb 20, 2017, 12:07 PM ]

If you are reading this post, you more likely got a warning message as follow, when opening the mapping page from the Mapping Sheets add-on


The map data files are those .json files the Mapping Sheets add-on creates within the xsMapping folder in your Google Drive. The Mapping app reads that data file using an ajax call.

If that data file is not Public (shared with view access to anyone) you might have this issue in any of the following scenarios:
  1. You have no access to that file because the map was built by other person
    > Ask that person to share the .json data file or the whole xsMapping folder with you

  2. You are logged in the browser with multiple Google accounts and not using the default account, but the default (first) account has no access to that .json file.
    > Try logging in with just one account, or
    > Share the xsMapping folder in the non-default account with your default account

  3. A "malformed" json data file could also cause this issue. The add-on should fix / avoid some of these scenarios in the future, like
    > No proper headers in the first row (gathering some samples ...)

  4. Some users have reported other seldom situations provoking this issue, like
    > Privacy Badger extension blocked the ajax call.  Turning if off for the Mapping app page solved the issue
    > Bitdefender and the "web-protection, against phishing toggle", when on causes the blockage


  5. There might be other causes we are not fully aware yet?

If you want to share your map with others, you have to share the xsMapping folder (or the specific json data file there) with those other users, or make it Public (anyone can view) if you want to be accessible by anyone.


How to know if I am logged in the Chrome browser with multiple Google accounts?
> Open a new tab in your Chrome browser and click in your picture or initial in the top-right area of the new tab content.
See a sample screenshot below showing multiple accounts active in the same browser session



Some instances on the Safari browser causing this warning
When the .json data file is not public, Safari might throw a "too many http redirects", when accessing the data file. We still don't know the root cause, but it looks like Safari does something different to the other browsers.

The solutions might be any of the following, as applicable:
  1. Use the Chrome browser
  2. Share xsMapping folder (or the specific json data file there) as Public (anyone can view)
  3. Follow the instructions suggested by Apple in this post (it worked for some users, including us)


Mapping Sheets add-on update: No more Public folder is required

posted Apr 25, 2016, 5:54 AM by Faustino Rodriguez   [ updated May 17, 2016, 9:35 AM ]

In summary, starting from version 1.301sv32 (published on May.03, 2016) the add-on folder (xsMapping) within your Google Drive account, no longer requires to be publicfor hosting the mapping webpage and your data files.

The common mapping.html webpage is now in a public hosting, while your data files (those *.json files) remain within the xsMapping folder in your own Google Drive account, but that doesn't require to be public anymore.

That's it.



Now the details, if you want to read further (no need for most of the users though)




First, the potential issues
  1. After updating to this new version, you have to Build your map again, because the previous json data files won't work on the new mapping web page.

  2. If you are logged in your browser using multiple Google accounts, you might not be able to see your data in the map. Please, be sure you are logged in using only one account, if that happens. Or alternative, you can share the xsMapping folder (or the specific json data file there) with all those accounts you are using on the same browser session, so any of those accounts has access.

  3. If you want to share your map with others, you have to share the xsMapping folder (or the specific json data file there) with those other users, or make it Public if you want to be accessible by anyone.

  4. The mapping page in current update is not working in some instances of Safari browser (we have so far about 5 reported cases). We still don't know the cause, but looks like Safari does something different to the other browsers.
    These are the solutions that have worked so far for some users:
     a) Follow the instructions suggested by Apple in this post
     b) Share xsMapping folder (or the specific json data file there) as Public

  5. Any custom icon images per user (those you might have defined in Icons sheet), without explicit full URL path, will not longer show up. This is because the actual mapping html page is no longer in your Google Drive, so there is no relative URL path going there.
    If you are among the few using this advanced feature, you need to provide the full URL path to your custom icon images (see below some hints on how to do that)

  6. Any previously bookmarked map webpage link will stop working after you build a new map .json file, because the data file format has changed a bit. This will include the cases, when you have embedded the mapping page in another website.
    You need to modify / update the mapping webpage link to the new URL you would see when viewing a new built map in your browser.

  7. Even though it's not an actual issue, we want to mention that in the first loading of this new version, we are updating the sharing settings on xsMapping folder from Public, back to the default Private. This however, won't change any specific users sharing you have created for that folder.

  8. We are not aware of any other issues so far, however we might have overlooked some specific scenarios in the way you are using this add-on. We are updating this post as we learn from your feedback. Thanks for your valuable support.

    Please,
    open a support ticket if you have any other problem.




The background story
  1. When this add-on was first published in 2014, among the few secure and free of maintenance options, to host the add-on mapping page, we chose using each user's Google Drive as the web host, just to keep everything within each user Google account.

  2. Starting on Aug.31-2016, hosting and serving web pages from a public Google Drive folder or file will be discontinued and will stop working, as explained in this Google announcement from last year.

Hints on working out the potential issues
  1. Custom icon images require full URL path to a qualified web host, preferable with https, as explained above.

    If you have something like this in your Icons sheet, within any spreadsheet
    GroupColorIcon
    AccessoriesBlue{ "url":"icons/my-blue-icon.png"}

    You need to use a full URL path. See some options / hints below:

    a) Hosting your custom icon images in a website you own (recommended)
    GroupColorIcon
    AccessoriesBlue{ "url":"https://my-own-website.com/icons/my-blue-icon.png"}

    b) Keeping your custom icon images hanging from xsMapping folder (valid until Aug.31, 2016). You'd need to set the xsMapping folder sharing back to public in the web, for this to work.
    GroupColorIcon
    AccessoriesBlue{ "url":"https://googledrive.com/host/folder-id/icons/my-blue-icon.png"}

    c) Keeping your custom icon images hanging from xsMapping folder and using an export option. This might not cache the images, slowing down the map loading (avoid if possible). You'd need to set the xsMapping folder sharing back to public or at least by link, for this to work.
    GroupColorIcon
    AccessoriesBlue{ "url":"https://drive.google.com/uc?export=view&id=my-blue-icon-file-id"}

  2. Bookmarked (favorites or embedded) mapping page links need a URL update, to the new path and parameter.
    Just build a new map (Build button), then click on View button and get the URL of the mapping webpage.

Every OS sucks, almost?

posted Jan 18, 2016, 7:09 AM by Faustino Rodriguez   [ updated Jan 18, 2016, 7:12 AM ]

I have been enjoying this song for more than 10 years now, and I couldn't agree more every time I watch the video.

Last month I got stuck for 2 hours on a client site, just following a regular Windows 10 update.
And the latest, three (yes, 3) days from a factory reset on a Windows 7 laptop to upgrading to Windows 10.
Not that painful, but noticeable bothersome it's an update in my Ubuntu Linux box, and kind of the same in a Mac notebook (Linux-based, BTW).

However, there is still some hope when upgrading my Chromebook laptop, that is my main computer since last April
The Chrome OS update just take a normal restart (about 10 seconds) to complete, that's it, just a normal restart.

I guess this is possible because the Chrome OS is a minimal hardware-optimized Linux version, running a single though powerful application: the Chrome browser, with everything else within.
So, while Google keeps the OS that way, there is hope that almost every OS sucks, but the Chrome OS.

Mapping Sheets: Custom Icons on your Google Maps

posted Jun 15, 2015, 9:54 AM by Faustino Rodriguez   [ updated Aug 17, 2016, 7:48 AM ]

On this Mapping Sheets add-on update (v.1.201sv29 June 16, 2015), we are introducing some changes around marker icons, default and custom definitions

We have learnt the hard way that browsers don't cache icons when they are defined as SVG paths instead of standard image files (SVG, PNG, etc), producing an excessive delay loading a map with more than a few hundreds locations.

The add-on is keeping and improving the custom icons definitions, but changing the default icons from SVG paths to SVG files.

This change will affect a few users that are using custom icon colors with Hexadecimal patterns instead of color names (e.g. #0000FF instead of Blue), but not using a custom icon shape. In those cases, they will have to change the Hex pattern # to a valid color name as listed in this link.

Now, let's briefly explain how you can customize the marker icons (also known as pins) in your Google Map

1. No custom colors or icons, just using the defaults
This is the most common option because most people are fine with the default icons the add-on is using.

The default icon colors are coming from the valid color names list mentioned about, but sorted to provide some contrast among them, e.g. the first 23 colors the add-on will use by default are:
Blue, Brown, Aqua, Green, Magenta, Orange, Purple, Red, Yellow, Maroon, Gray, Lime, Olive, Teal, HotPink, Aquamarine, LightSteelBlue, BlueViolet, Chartreuse, Chocolate, CornflowerBlue, Crimson, DarkSlateGray

The default icon shape is a "standard" map icon with 16x32 pixels size as show in the image below, using sample data



2. Keeping the default icon shape, but using custom colors
If you are fine with the default icon shape, but want to have a specific color for each of your location groups, just do as follow:
- Create a new sheet with the name Icons within the spreadsheet where you want to customize your marker icons
- Then, just add the columns Group and Color, and list below the unique values of your filter / group and a valid color name for each. see a sample below, using demo data:

GroupColor
1-HintsAqua
AccessoriesOrange
AerospaceOlive

3. Using your own icon images
If you want to use your own icon images, you can do as follow:
- Do as point #2 above and just add a third column with header Icon, where you'd enter your icon's references
- Your icon images could be any valid image file type (like PNG, SVG, etc) and they can be within your own xsMapping folder in your Google Drive or any other web page Url (if possible with https access).
- You might want to select a color (under Color column) that matches the corresponding icon image color
See a sample below using demo data and assuming your icon images are hosted at my-own-website.com within an icons folder:
(since version 1.301sv32 images cannot longer hosted in Google Drive (see this post for details) and the icon Url should have a full path

GroupColorIcon
1-HintsAqua{ "url":"https://my-own-website.com/icons/my-icon-aqua.png"}
AccessoriesOrange{ "url":"https://my-own-website.com/icons/my-icon-orange.png"}
AerospaceOlive{ "url":"https://my-own-website.com/icons/my-icon-olive.png"}




3a. Advance notes on icon definitions
Under the Icon column you can use any valid map icon definition as explained in these pages: icons and shapes. However we discourage using path definition when there too many location because they are not cached by the browser.

Just as a reference, all these would be valid:
{ "url":"https://my-own-website.com/icons/my-icon-aqua.png"}
{ "url":"https://my-own-website.com/icons/marker-64.png","size":{"width":64,"height":64},"anchor":{"x":32,"y":64}}
{ "url":"https://my-own-website.com/icons/defaultmarker.png","size":{"width":20,"height":20},"anchor":{"x":10,"y":20}}
{ "url":"https://my-own-website.com/icons/markersprites.png","size":{"width":20,"height":20},"origin":{"x":0,"y":21},"anchor":{"x":10,"y":20}}
{ "url":"https://my-own-website.com/icons/markersprites.png","size":{"width":40,"height":40},"scaledSize":{"width":40,"height":2182},"origin":{"x":0,"y":42},"anchor":{"x":20,"y":40}}
{"path":"M19,50 a25,25 0 1,1 12,0 l-6,50z","anchor":{"x":25,"y":100},"scale":0.4,"fillOpacity":1,"strokeColor":"#000","strokeWeight":1}
{"path":"M0 100 Q10,10 40,30 L0 0 Z","anchor":{"x":0,"y":100},"scale":0.4,"fillColor":"#008","fillOpacity":1,"strokeColor":"#000","strokeWeight":1}

Mapping Sheets new version announcement - February 2015

posted Feb 12, 2015, 10:42 AM by theXS Assistant   [ updated Jun 16, 2015, 5:09 AM by Faustino Rodriguez ]

On the new overhauled version launched on Feb.14, 2015 (Valentine day gift?), the Mapping Sheets with Google Maps add-on is including quite a few important changes, most of them in line with our 2015 new year resolutions.
We are planning to write separate posts (as time permitted) with more details on some of the changes, but for now, let us list and briefly comment on all of them (sorted by the impact on users)
  1. New approach to marker icons (the most requested improvement ever) including now by default only 14 different colors (basic palette) an a flag-like shape as icon, but with several options for fully user's customization based on the filter / group value, including two levels: (i) just custom colors keeping the default shape, (ii) colors plus anything else, like shape, size, image url, or even the old marker sprites. As part of this change, the filters in the left sidebar are now using standard check boxes, but filled with the assigned colors. See below a draft outline for a post still to be written.
    This change might affect those users (less than 10) that customized the markersprites.png file, but I hope they would be happy with all the new options, and create even better icons.

  2. Data files for mapping (those *.json files within the add-on folder in your Google Drive) are now using a GeoJson data layer, an open standard format included by Google last year. This would open endless possibilities ahead. However, there will be no more clusters of icons, as they are not supported on GeoJson data layers.

  3. Enhanced default info-window (the bubble that shows up when clicking a marker icon). Even though still not customizable, it will now render html tags within that window, so if you want to show an active link or an image you can put those lines in your data spreadsheet, see a couple below:
    <a href='http://www.thexs.ca/' target='_blank'>Visit theXS website</a>
    <img src='http://www.thexs.ca/assets/images/xsMapping-128.png' height='64' width='64'>

  4. Some minor improvements to make the map page a bit mobile friendly, removing the top line header menu, including a 3-step menu button to hide / show the left sidebar, no more padding for an actual full screen map, etc.

  5. We are not describing here a few more changes and new features that have no external effects from the users view (like, no more camel notation, sheets access to only current document, etc)

No more pass-word with Google Apps?

posted Feb 5, 2015, 12:58 PM by Faustino Rodriguez   [ updated Feb 5, 2015, 2:06 PM ]

Last year the most common used - worst - passwords list started with "123456" and "password". When talking about passwords, other than unique could be considered a bad choice.

There is a lot already discussed and published about this topic, so I am going to be simple and to the point.

The very nature of a pass-word: "hard to guess by others, easy to remember by me" makes any pass-word doomed to failure, there is no such a word.

When we accept that reality, then we can consider the options:

1. Create a pass-word out of a unique-to-you phrase, like a pass-phrase would be, e.g
    IwboF13iNY. - It's coming from "I was born on February 13 in New York.", or even more personal
    WIw13,Ibma. - That is coming from "When I was 13, I broke my arm."
(Do Not reuse any pass-phrase)

2. If you are lucky enough and using Google Apps, then enroll right now in the 2-step verification choice from your account, a higher security level, based on "something you know (a simple password or pin) and something you have", where something you have is your phone.
    After passing the password requirement, you will be asked for a code that you would receive in your phone (text or voice) or you can even produce with the Google Authenticator app, if using a smartphone.

3. One step further up into security is adding a USB Security Key to the 2-step verification process, like the one shown right here before snap it out (it's pretty & small). Those are FIDO U2F Ready (Fast IDentity Online Alliance - Universal Second Factor)

Good luck, anyway.

ps. read more about the top 25 common passwords on this page.

2015 Mapping Sheets with Google Maps, new year resolutions

posted Dec 31, 2014, 9:17 AM by Faustino Rodriguez   [ updated Jan 7, 2015, 1:34 PM ]

As any other wishes list, this new year 2015 resolutions for Mapping Sheets add-on would be just a high view route / guidance.
And also, as any other, we will change it over the new year, hopefully for the better.
Here it is, Mapping Sheets on 2015 milestones / path
  1. Introduce GeoJson data layer format as the standard for data files. This would open endless possibilities ahead

  2. Change the default icons from sprites image to coloured shape icons, using SVG path format. Also allowing for user's own icons in various levels, like color, shape, and even the old sprites image

  3. Improve user's customization through different approaches, including in App settings dialog, in Sheet definitions, and also by Developer on request Config file

  4. Make the Map webpage mobile friendly, by including a 3-step button () to hide / show the left sidebar allowing full screen map. Also removing the 1-line header.

  5. Provide an optional / on request mapping web page on a public host for those users whose domain doesn't allow to share a folder as Public.

  6. Allow for private data file as an exception, using a call back token when viewing the map

  7. Add an optional optimal routing with directions over the map, for selected locations

  8. Revamp the add-on and the map user interface using Angular Material, an into the future combination of AngularJS and Material Design

  9. Introduce an optional automatic trigger that updates the data for the map, this trigger could be time-based and in response to changes on the sheet.

  10. Under "Show surrounding area of" use a text box to enter any radius value, combined with a list box with more units (m, km, ft, mile)



ps. As well as any other, it's still unfinished, however we are including your suggestions.

How to embed a map from Mapping Sheets add-on in a web page?

posted Nov 10, 2014, 5:12 AM by Faustino Rodriguez   [ updated Jan 1, 2015, 2:50 PM ]

We often get this kind of question:
Q: Is it possible to embed the maps in a html page? what could be the specific code?
https://sites.google.com/a/thexs.ca/newgxs/posts/how-to-embed-a-map-from-mapping-sheets-add-on-in-a-web-page/Screenshot%20from%202014-12-30%2022%3A18%3A37.png

A: We have tested a couple of solutions for embedding the map within a html page, that might work for you

1. Simple HTML -- see demo http://jsfiddle.net/eB8j2/1

<div>
    <object type="text/html" data="https://googledrive.com/host/0B3cHzjGxAYvnTkdmOEZXdkJta0k/xsMapping.html?f=foglioDiLavoroFiddle.Data.json" width="800px" height="600px" style="overflow:auto;border:5px ridge blue"></object>
</div>

2. Using jQuery -- see demo http://jsfiddle.net/7ZM8q/1

HTML section
<div id="siteloader"></div>

JavaScript section
$("#siteloader").html('<object data="https://googledrive.com/host/0B3cHzjGxAYvnTkdmOEZXdkJta0k/xsMapping.html?f=foglioDiLavoroFiddle.Data.json" />');

CSS section
html, body {
    height: 100%;
}
div {
    height: 99%;
}
object {
    width: 100%;
    min-height: 100%;
}  

3. Using iFrame 
This could be another option, but we haven't tried it yet

How many locations can I plot on a map?

posted Oct 26, 2014, 8:30 AM by Faustino Rodriguez

Using Mapping Sheets add-on you can plot as many locations as you can fit in a 10 MB (megabytes) data file.

We have seen up to 30,000 locations, however you can hit the 10 MB file size limit with a smaller number, depending on the amount of information you are including on the map (number of columns and amount of data in your sheet)

This add-on create a data file (those *.json files within your Google Drive xsMapping folder) holding all the details that are later shown in the mapping web page. That's the file that cannot go over 10 MB in size.

So far, this limitation has only affected 9 users.

Currently, this 10 MB file size limit is a limitation within Google Apps Script when calling the Google Drive API, either using a Script function or Advanced Drive Services. We opened a support ticket issue with Google around this limitation, that resulted similar with an older one addressing the same problem, even though still open, it looks like that 10 MB limit is not going to be increased.

Other notes around plotting many locations
> You might have to wait a few days to complete your map, if hitting the Geocoding daily quota limit
> As long as the mapping page is using client side browser technology, the performance might be affected with many thousands markers in the map, particularly on the initial loading.
> If you hit and cannot avoid the 10 MB file size limit, you might consider a solution around Google Fusion Tables alternative. Please, let us know if that the case, to discuss how we can help you on that.

Directory for GApps: important update with no new features

posted Oct 2, 2014, 12:58 PM by Faustino Rodriguez

We have already published (Oct.4, 2014) an important update (version 1.101sv49) to xsDirectory App (Shared Contacts Directory for your Domain on Google Apps), including some changes on the code accordingly with Google deprecation notice, for Scriptdb, GroupsManager and UserManager classes.

After the upgrade, all xsDirectory App's current users should open the App and complete the authorization process again, because the new functions, even though similar, will trigger different permissions. To access the App you can go to your Browser Apps page and click on xsDirectory icon, or directly through this link.

Notes about the changes within xsDirectory code,
- Scriptdb has been used as the web app store, holding licence information and settings. It will be replaced by an external Db on Parse.com
- GroupsManager for reading group members associated with each contacts book. It will be replaced by Admin SDK Directory Groups and Members.
- UserManager for reading domain user email address just to allow for * (add all users) as members of a group. It will be replaced by Admin SDK Directory Users.

The previous permissions and App actions related with these functions were:
* Manage users on your domain 
reading domain user email address just to allow for * (add all users) as members of a group
* Manage groups on your domain
reading group members associated with each contacts book

The new permissions  and App actions related with these functions are now instead:
View users on your domain
reading domain user email address just to allow for * (add all users) as members of a group
* View groups on your domain
reading groups list for the App user to associate with each contact book
* View group subscriptions on your domain
reading group members associated with each contacts book

1-10 of 47