Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API needed #3467

Closed
rafuru opened this issue Jul 23, 2012 · 42 comments
Closed

API needed #3467

rafuru opened this issue Jul 23, 2012 · 42 comments
Labels

Comments

@rafuru
Copy link

@rafuru rafuru commented Jul 23, 2012

Hi!
I really want to start using Diaspora, but i think diaspora needs an API for make publications from third party apps, like an Android app , like a RSS feeder ..

@JeroMiya
Copy link

@JeroMiya JeroMiya commented Aug 28, 2012

My understanding is that this is being worked on. This page was updated in the last month:
https://github.com/diaspora/diaspora/wiki/API-v1

I agree on the importance of an API. An API would allow for the implementation of various mobile clients, and for new kinds of pods that implement the API to specification. It would also allow pods to talk to each other in a more integrated way. For example, a pod could allow you to merge streams with other pods, if they were given an API to talk to each other with.

@Flaburgan
Copy link
Member

@Flaburgan Flaburgan commented Jun 3, 2013

Btw, there is an unofficial Diaspora* API in python here : https://github.com/Javafant/diaspora-api

@rivendale2010
Copy link
Contributor

@rivendale2010 rivendale2010 commented Jun 4, 2013

i think the python API is more of a shunt. i mean it's on the wrong end for an API. it does not remove the developer from changes in the back end

@Flaburgan
Copy link
Member

@Flaburgan Flaburgan commented Dec 26, 2013

Here is the current work to integrate an API inside diaspora* #4554

@jhass jhass added the bounty label Feb 21, 2015
@cmshawns
Copy link

@cmshawns cmshawns commented Mar 2, 2015

Looking at the growing bounty for this issue (which I'm happy to see), has anyone discussed how the bounty would actually work? "Create an API" is not a simple task and will likely involve many people and many contributions.

@deutrino
Copy link

@deutrino deutrino commented Jun 11, 2015

This now has a $1,000 bounty on this issue.

Here's what I've found in the wiki: https://wiki.diasporafoundation.org/Diaspora_API_proposal

With a $1,000 bounty, clear deliverables need to exist.

@ghost
Copy link

@ghost ghost commented Jun 11, 2015

My understanding of the bounty on this one is pretty much as per the very first post in this thread:

i think diaspora needs an API for make publications from third party apps

Yes, yes it does.

@jaywink
Copy link
Contributor

@jaywink jaywink commented Jun 11, 2015

Totally agree - the situation is kinda getting out of hand. We need to lock a clear list of deliverables for the bounty to be given. And agree on what happens if multiple developers implement parts of it.

Hitting Loomio, let's report back here once those are done..

Edit: Discussion here --> https://www.loomio.org/d/cedTCbsI/the-api-bounty-deliverables

@jaywink
Copy link
Contributor

@jaywink jaywink commented Jul 7, 2015

IMPORTANT to any developers wanting to tackle the API.

We've talked about deliverables and submitted an initial wiki page regarding items that the API must offer: https://wiki.diasporafoundation.org/Diaspora_API_proposal

Additional details will be filled in as required. Please don't be afraid to ask questions. Also please note, many people might be working on parts of this simultaneously, so collaboration via the Loomio thread or here is recommended. For example, some of the authorization token stuff has already started by @AugierLe42e and @theworldbright .

@jaywink jaywink removed the 📄 needs spec label Jul 7, 2015
@jhass jhass added the api label Jul 9, 2015
@warent
Copy link

@warent warent commented Dec 17, 2015

oAuth 1 and oAuth 2 are both garbage. Even the original creator hates it. I strongly recommend JWT authentication, because it is considered far more secure and not nearly over-engineered like oAuth.

@jhass
Copy link
Member

@jhass jhass commented Dec 17, 2015

@warent we almost completed OpenID Connect, see #6095

@3rdwiki
Copy link

@3rdwiki 3rdwiki commented Jan 13, 2017

Is this closed ? been over a year since last comment.

@denschub
Copy link
Member

@denschub denschub commented Jan 13, 2017

There's a fancy green "OPEN" label in the top of this issue, so it's probably not closed.

@brandiqa
Copy link

@brandiqa brandiqa commented Apr 22, 2017

Just a suggestion, can the API be built using FeathersJS and then enable Diaspora to access the API either through a REST client or a Socket.io client. I've noticed building an RoR API takes time and requires a lot of effort to sync it with the latest code.

@corysimmons
Copy link

@corysimmons corysimmons commented Jun 22, 2017

@brandiqa Seems like breaking the API off to Node wouldn't be ideal since all the models/controllers already exist as Ruby. 🤔

@brandiqa
Copy link

@brandiqa brandiqa commented Jun 22, 2017

The controllers can be rewritten to access data from the Node API. Am only suggesting this because it seems like it's difficult to catch up with the latest developments in core as you write new API code in Ruby.

@KentShikama
Copy link
Contributor

@KentShikama KentShikama commented Jun 23, 2017

@corysimmons
Copy link

@corysimmons corysimmons commented Jun 23, 2017

To be clear, since this will already be challenging converting the JSON to the endpoints you've spec'd via a Ruby/Rails API, you are open to other languages/frameworks like Node/Feathers, or possibly Elixir/Phoenix?

And does the team have any thoughts so far as GraphQL and/or streams?

@KentShikama
Copy link
Contributor

@KentShikama KentShikama commented Jun 23, 2017

@goobertron
Copy link

@goobertron goobertron commented Jul 10, 2017

This discussion really belongs on Discourse.

Here are some existing discussions:
https://discourse.diasporafoundation.org/search?q=api

@diaspora diaspora deleted a comment from 3rdwiki Jul 11, 2017
@diaspora diaspora deleted a comment from thwee-alchemist Jul 11, 2017
@diaspora diaspora deleted a comment from corysimmons Jul 11, 2017
@denschub
Copy link
Member

@denschub denschub commented Jul 11, 2017

I deleted three comments for not being related to this discussion. Please refrain from posting "I want this!!" or "if you don't have this, the project is dead!!" comments, since those add no value to this thread. Thanks. ;)

@corysimmons
Copy link

@corysimmons corysimmons commented Jul 11, 2017

lol, okay. 👋

@Hexenon
Copy link

@Hexenon Hexenon commented Sep 19, 2017

I can have it done. Is it still open?

@Flaburgan
Copy link
Member

@Flaburgan Flaburgan commented Sep 19, 2017

It is. Please note that the specification of the API you have to implement are available here.

Also, do not start from scratch, base your work on this pull request #7462 and maybe talk with @KentShikama and @frankrousseau to know the current state of this work.

@frankrousseau
Copy link
Contributor

@frankrousseau frankrousseau commented Sep 20, 2017

Yep I would be glad to help. Las months have been very busy on my side. I will push my changes to the PR. I almost finished the conversation controllers.

@lasantha78
Copy link

@lasantha78 lasantha78 commented Jun 7, 2018

What is the update of this issue ? Anybody still working on it ? When can we expect API for Diaspora ?

@frankrousseau
Copy link
Contributor

@frankrousseau frankrousseau commented Jun 7, 2018

I'm still working on it. But I'm waiting for code reviews from maintainers.

@ghost
Copy link

@ghost ghost commented Sep 25, 2018

Still waiting for code reviews? The long delays between merge requests and reviews to decrease the appeal for bountyhunters.

@ghost
Copy link

@ghost ghost commented Oct 8, 2018

Please provide either feedback on the bounty status or close the bounty by claiming it yourself. Browsing already done bounties is highly annoying.

@Flaburgan
Copy link
Member

@Flaburgan Flaburgan commented Oct 8, 2018

@LemonAndroid the work is not finished, so the bounty has to remain open.

@ghost
Copy link

@ghost ghost commented Oct 8, 2018

Ok. Is someone actively working on it?

@cmrd-senya
Copy link
Member

@cmrd-senya cmrd-senya commented Oct 8, 2018

@LemonAndroid the most recent work is by @frankrousseau at #7462

There is a kinda blocker for it diaspora/api-documentation#3 on which I was working

@ghost
Copy link

@ghost ghost commented Oct 8, 2018

@cmrd-senya @Flaburgan thanks. To tldr: Nothing to see here for now for people wanting to claim the bounty, unless they want to compete with @frankrousseau. Please correct me if I'm wrong.

@cmrd-senya
Copy link
Member

@cmrd-senya cmrd-senya commented Oct 8, 2018

There is an outdated page on our wiki which contains some considerations about bounty sharing: https://wiki.diasporafoundation.org/User:DenSchub/Diaspora_API_proposal#Funding_the_API_via_Bountysource

There is also a relative discussion linked: https://discourse.diasporafoundation.org/t/the-api-bounty-deliverables/502/15

If you consider a participation for the bounty then you should probably raise this question at the mentioned thread and @frankrousseau should also participate in this discussion. That what I think is a right flow. So I think there is a way to share the work and therefore the bounty among people who work on it but that must be discussed in prior with those who have participated.

UPD: discussion link fixed

@HankG
Copy link
Contributor

@HankG HankG commented Oct 8, 2018

I am beginning ramping up work on the API as we speak. I'm interfacing with @frankrousseau on the side to get going as well. I was not paying attention to the bounty so have no comments on the bounty criteria.

@johndpope
Copy link

@johndpope johndpope commented Jun 20, 2019

There’s a technology called Postgres to graphql. It can be configured and crudely switched on in a day. It would dodge a lot of work building controllers out. Would need to be on the ball to fire fight pull requests as it’s not battle tested. But it would propel things forward.

@johndpope
Copy link

@johndpope johndpope commented Jun 20, 2019

This one will fit - https://github.com/rmosolgo/graphql-ruby / the bounty should be revised up 2x to hasten things. Graphql will pay off over next 5 -10 years and is superior in many ways to rest. You just need to configure a file around scheme relations. @rmosolgo - do you know of any one that would be interested in taking this on?

@jhass
Copy link
Member

@jhass jhass commented Jun 20, 2019

@johndpope not even remotely an option for us, given diaspora is just so much more than a frontend to a plain CRUD datastore. There's actually a ton of buisness logic in those "controllers".

Besides, totally unnecessary, #7462 is almost done.

@johndpope
Copy link

@johndpope johndpope commented Jun 20, 2019

I beseech you to dive deeper into graphql
stackshare{*}io/graphql

The thing I like it as iOS developer / I don’t need a backend guy to spend 6-7 years (age of this ticket) building out the controllers. You just craft the query appropriately and get the relevant data.there are places where graphql can trip up in chewing up cpu, but you can lock these queries down and also optimise canned / persistent queries. Deserves a test drive / proof of concept. I’m working on backend of node.js in latest project but do love ruby. Will circle back some time...maybe this could be a ‘graphql proof of concept ‘ and tagged help wanted - and keep it in a feature branch.

@ghost
Copy link

@ghost ghost commented Jun 20, 2019

@johndpope make a new issue

@jhass
Copy link
Member

@jhass jhass commented Apr 27, 2020

Implemented by #8086

@jhass jhass closed this Apr 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.