Events Feed: Valid Feed does not display events
New here? Learn about Bountify and follow @bountify to get notified of new bounties! x

Description of Error

The feed below validates in our events plugin but does not display the events. When I add this feed to my Google Calendar, multiple events display.

iCal Feed: https://calendar.google.com/calendar/ical/ksrdfngl7th8h5s1raeaj9rk0lfc45ho%40import.calendar.google.com/public/basic.ics

Screenshots

https://drive.google.com/drive/folders/1ffdezNVztORp7c6PnFWmd22RGHdvUtYO

Context

BuildFire is a mobile app building platform that allows developers through HTML, JS and CSS to create plugins for the platform to extend mobile app functionality.

Learn more at https://buildfire.com and https://buildfire.com/developers

Prerequisites

  • NodeJS - download
  • npm
  • git
  • knowledge on how to create a pull-request on github

How to Install

BuildFire SDK npm i buildfire you may need to be admin or super user depending on your environment

  • Init SDK buildfire init this will install the SDK in a folder called BuildFireSDK
  • Navigate to folder cd BuildFireSDK
  • Clone plugin buildfire plugin clone eventsFeedPlugin from the repo https://github.com/BuildFire/eventsFeedPlugin

Run plugin locally

  • Run tester buildfire run this will run a web server on http://localhost:3030
  • in the Plugin input box enter in the name of your plugin. example: eventsFeedPlugin depending on your OS this could be case sensitive

Understanding the autonomy of a BuildFire Plugin

  • the Control: is the right hand side of the plugin meant to live in the BuildFire control panel/dashboard
  • the Widget: is the left hand side of the plugin meant to live in the mobile app to learn more click here

Submit a pull request

Additional Information

If you could provide some more specific details on the problem, and what you want fixed, we may be able to help you better.
jduplessis294 3 months ago
@jdplessis294 If you take a look at the screenshots, you'll see that there have been events added to the calendar and the feed is valid, but the events are not pulling into the app
twalters 3 months ago
awarded to Lucioric2000

Crowdsource coding tasks.

1 Solution

Winning solution

After an update of the ICS file URL, after passing the validation of the URL, the WidgetFeed.events and WidgetFeed.eventsAll arrays are emptied, so we should call the WidgetFeed.getAllEvents function to populate those arrays with the data extracted from the new URL.
The file I ipdated is widget/controllers/widget.feed.controller.js, adding the line signaled by a plus (+) sign:

393 WidgetFeed.busy = false;
394 WidgetFeed.eventClassToggle = true;
+ 395 WidgetFeed.getAllEvents();
396 WidgetFeed.loadMore(false);

The 'new' URL I used to do the test is https://www.kayaposoft.com/enrico/ics/v2.0?country=mex&fromDate=01-01-2018&toDate=31-12-2018&region=&holidayType=public_holiday&lang=es
I have just made a pull request with the changes, from the source https://github.com/Lucioric2000/eventsFeedPlugin (branch master).
Additional fix:
As far as I saw studying the code and debugging the plugin WidgetFeed.loadMore function is used to select events for a month, so I updated the description comment for this function, which said that the method was used to load the data from the datastore, but the OnUpdate() callback function of the datastore is the function beginning in the line 368, and the datastore actually contains the URL name, but not the data contained in the file referenced by the URL

Great. Thank you. We will be reviewing this shortly.
twalters 3 months ago
¿Did de build fail?. but the only changes that I did, as marked in my commits descriptions, is inserting a line and modyfying a comment line.
Lucioric2000 3 months ago
Let me see, i will debug the code in the platform where it was shown to fail.
Lucioric2000 2 months ago
Looling at the debug log, the file with the problem in the BUILD is test/widget/app.spec.js, but I didn't modify this file, so the build fail is not my fault and was not the scope of the bounty. The error is: PhantomJS 1.9.8 (Linux 0.0.0) Unit: eventsFeedPluginWidget widget app Unit: getTimeZone filter it should pass if "getTimeZone" filter returns timezone from given timestamp FAILED Error: 'it' should only be used in 'describe' function at /home/travis/build/BuildFire/eventsFeedPlugin/test/widget/app.spec.js:64 but this file has was not changed by me neither my corrections introduced the building bug.
Lucioric2000 2 months ago
I have just made a pull request (https://github.com/BuildFire/eventsFeedPlugin/pull/69) that has not problems in building, apparently there was a line duplication error, see the commits of the branch I submitted the pull request for. Thanks for the bounty.
Lucioric2000 2 months ago