Directory Links Remote Update - Mardak/tiles-dev GitHub Wiki

This wiki page is about the Remote Update functionality of the Directory Links Firefox Feature.

The goal is to implement functionality for remotely fetching directory links content.
The content is a data payload provided in JSON.

We will attempt to implement this in an iterative fashion, with the following phases:

  1. Remote update client initial implementation
  2. Locale separated JSON payloads (statically generated)
  3. Dynamically updated JSON payloads

##Remote update client initial design

Modules

We implement the remote update client in DirectoryLinksProvider, which feeds link objects to the Links object in NewTabUtils.

The relative locations of the two modules in mozilla central is:

toolkit/modules/newtab/
    DirectoryLinksProvider.jsm
    NewTabUtils.jsm

For all server interactions, a cookie will be set by the server and needs to be sent on each ping.

Bug 986521 - Fetch Directory Links data from a network location to cache locally

https://bugzilla.mozilla.org/show_bug.cgi?id=986521

Bug 993901 - Implement logic to decide when to fetch remotely hosted links

https://bugzilla.mozilla.org/show_bug.cgi?id=993901

Bug 993904 - Use cached directory links instead of locally packaged links

https://bugzilla.mozilla.org/show_bug.cgi?id=993904

Bug 993906 - Package and send appropriate data with remotely hosted links request

https://bugzilla.mozilla.org/show_bug.cgi?id=993906

Bug 975235 - Add counting of Tile impressions, clicks (inc. which tile and position)

https://bugzilla.mozilla.org/show_bug.cgi?id=975235

Bryan Clark's google doc has a section about payload format, but that will be modified and discussed very soon here.

Server-side pieces

Bug 993908 - Implement serving of static directory links

https://bugzilla.mozilla.org/show_bug.cgi?id=993908

Bug 993912 - Configure directory links servers for logging and connecting of data/flow

https://bugzilla.mozilla.org/show_bug.cgi?id=993912

Bug 995262 - Implement counting/processing of tile impressions/clicks

https://bugzilla.mozilla.org/show_bug.cgi?id=995262

Bug 993914 - Set up long term storage of appropriate data

https://bugzilla.mozilla.org/show_bug.cgi?id=993914

Bug 993915 - Generate reports for hosted directory links

https://bugzilla.mozilla.org/show_bug.cgi?id=993915