hummingbird-me / kitsu-tools

:hammer: The tools we use to build Kitsu, the coolest platform for anime and manga
https://kitsu.app
Apache License 2.0
2.09k stars 264 forks source link

Request Partnership with IFTTT #715

Closed sparkyfen closed 8 years ago

sparkyfen commented 8 years ago

I would love to use some recipes with IFTTT and Hummingbird.

Please visit https://ifttt.com/contact and fill in the contact Google Form to support a new Hummingbird channel.

An example Recipe I would love to have is mark an Manga as read in GoodReads on Kindle and have that updated on Hummingbird.

NuckChorris commented 8 years ago

This is absolutely one of my plans for V3! I love IFTTT, and would kill to have HB on there. That said, it's tricky to do it with our present system since it will require a better way of aligning a foreign database (goodreads) with our own.

sparkyfen commented 8 years ago

Is it not possible to just connect Hummingbird to IFTTT and then use Goodreads RSS feeds?

For a test, I created a recipe where the "this" was RSS changes to my "read" list on Goodreads changes, the "that" sends a push notification to my phone.

If I was able to change the push notification to a POST request to Hummingbird to update an entry, that would at least give us a start!

Is there something I can do to help with v2 to expose the manga endpoints? the-future branch seems a bit less straight forward than v1 on the master branch so I've been having a harder time knowing where to begin.

NuckChorris commented 8 years ago

The problems are in identifying which manga the update is referring to. IFTTT can send us data, sure. The question is whether we can reasonably work with that data. In V2 (master) this is difficult since we have crap title matching, but in V3 (the-future) this will be easy as pie since we switched to ElasticSearch.

IFTTT services are small HTTP servers which encapsulate all communication with the service they wrap. For V3, this would be a search followed by a LibraryEntry update.

There's a multitude of reasons why this isn't happening, but the top two are:

  1. We would need to shim yet another API when we release V3, specifically for a feature which is going to be changed heavily in V3 (Manga and Anime are no longer separate sets of LibraryEntries, though we can/do split them visually on the site)
  2. V2 is feature frozen, and V3 is receiving all effort at this time.
NuckChorris commented 8 years ago

As for the straightforwardness of V3, you're right that V3 is more heavily abstracted but that's to maintain strict compatibility with the JSONAPI specification