This site uses cookies. By continuing to browse the site, you agree to our use of cookies. Find out more about cookies.
Skip to main content
Metadecidim's official logo
  • English Triar la llengua Elegir el idioma Choose language
    • Català
    • Castellano
Sign Up Sign In
  • Home
  • Processes
  • Assemblies
  • Initiatives
  • Consultations
  • Conferences
  • Help

Propose new functionalities for Decidim software

#DecidimRoadmap Designing Decidim together

Phase 1 of 1
Open 2019-01-01 - 2030-12-31
Process phases Submit a proposal
  • The process
  • Debates
  • Propose new features
  • News
chevron-left Back to list

Complete the Api

Avatar: Ivan Vergés Ivan Vergés verified-badge
29/10/2018 12:43  
Finished

Currently the GraphQL Api in decidim lacks of many desired features.

1. Lots of fields (publicly available in the web) are not available if asked via API. For example, description field for a participatory process.
2. Components needs more specific-type definitions (i.e: you cannot extract pages component content from a participatory space).
3. Individual participatory spaces and components should be searchable via slug as well (when applicable).
4. Listing participatory processes and attributes should be searchable via many attributes: find by scope, find by hashtag, etc.
5. Listing elements should be ordered in a consistent way. Ideally this order should be specified by the query.

I intent (as Platoniq organization) to continue improve the API. I'll try to stick the the contribution rules and, of course, let me know anything that you want me to improve in order to accept this and subsequents pull-requests.

  • Filter results for category: API API

The development of this proposal has finished

  • Has been reviewed by Decidim Product and complies with the Social Contract
  • It is funded by Generalitat de Catalunya
  • Developed by Platoniq
  • Available in release 0.21

List of Endorsements

Avatar: olivier olivier
Avatar: Ivan Vergés Ivan Vergés verified-badge
Avatar: Pablo Aragón Pablo Aragón verified-badge
Avatar: Robert Garrigós Robert Garrigós
Avatar: Alex Garcia Alex Garcia
Avatar: Javier Carrillo Javier Carrillo verified-badge
Avatar: Oliver Valls Oliver Valls
Avatar: Xabier Xabier verified-badge
Avatar: Virgile Deville Virgile Deville
Avatar: Daniel Daniel verified-badge
Avatar: Antti Hukkanen Antti Hukkanen
Avatar: agustibr ☂️ agustibr ☂️ verified-badge
Avatar: Pau Parals Pau Parals verified-badge
Avatar: Alain Buchotte Alain Buchotte
Avatar: Leo Leo
Avatar: Kris De Winter Kris De Winter
Avatar: Arnau Arnau
Avatar: Pauline Bessoles Pauline Bessoles verified-badge
Avatar: Armand Armand
Avatar: Aram L. Roca Aram L. Roca
Avatar: mbonnin mbonnin
Avatar: Andrés Andrés verified-badge
Avatar: Hadrien Froger Hadrien Froger verified-badge
Avatar: Alexander Rusa Alexander Rusa
and 21 more people (see more) (see less)
Endorsements count24
Complete the Api Comments 7

Reference: MDC-PROP-2018-10-13308
Version number 3 (of 3) see other versions
Check fingerprint

Fingerprint

The piece of text below is a shortened, hashed representation of this content. It's useful to ensure the content hasn't been tampered with, as a single modification would result in a totally different value.

Value: babf84119150fa2e2174c9e5d610208befdce3cd17768cc496177afe873dcadb

Source: {"body":{"en":"Currently the GraphQL Api in decidim lacks of many desired features.\r\n\r\n1. Lots of fields (publicly available in the web) are not available if asked via API. For example, description field for a participatory process.\r\n2. Components needs more specific-type definitions (i.e: you cannot extract pages component content from a participatory space).\r\n3. Individual participatory spaces and components should be searchable via slug as well (when applicable).\r\n4. Listing participatory processes and attributes should be searchable via many attributes: find by scope, find by hashtag, etc.\r\n5. Listing elements should be ordered in a consistent way. Ideally this order should be specified by the query.\r\n\r\nI intent (as Platoniq organization) to continue improve the API. I'll try to stick the the contribution rules and, of course, let me know anything that you want me to improve in order to accept this and subsequents pull-requests."},"title":{"en":"Complete the Api"}}

This fingerprint is calculated using a SHA256 hashing algorithm. In order to replicate it yourself, you can use an MD5 calculator online and copy-paste the source data.

Share:

link-intact Share link

Share link:

Please paste this code in your page:

<script src="https://meta.decidim.org/processes/roadmap/f/122/proposals/13308/embed.js"></script>
<noscript><iframe src="https://meta.decidim.org/processes/roadmap/f/122/proposals/13308/embed.html" frameborder="0" scrolling="vertical"></iframe></noscript>

Report inappropriate content

Is this content inappropriate?

Reason

7 comments

Order by:
  • Older
    • Best rated
    • Recent
    • Older
    • Most discussed
Avatar: Xabier Xabier verified-badge
11/02/2019 19:07
  • Get link Get link
In favor  

This is VERY VERY MUCH needed @microstudi thanks so much!

Conversation with Virgile Deville
Avatar: Virgile Deville Virgile Deville
14/05/2019 09:03
  • Get link Get link

@microstudi @xabier we've had a few request from our clients about this. The use case case for it is of course open data but also for external analysis also. In the case of the grand débat, where a lot of contributions are to be analyzed, more and more experiments are being implemented using maching learning and NLP to assist the synthesis. Coverage will of course be key here.

But also, we were thinking that creating private access to a more powerful API that would allow intensive request and provide access to more sensitive data to authorize users would be necessary to work on exhaustive synthesis.

Would love to have your feedback.

Pinging @moustachu too, so that he can step in the conversation.

Avatar: Alain Buchotte Alain Buchotte
14/05/2019 10:03
  • Get link Get link

To be more precise :

We do feel that identifying users when requesting the API could provide :
- a complete access to the content visible to the user (even in private space)
- a way to detect, authorize, block intensive usage of the API

Limitations on this matter should only be considered regarding GPDR.

Avatar: Ivan Vergés Ivan Vergés verified-badge
14/05/2019 17:02
  • Get link Get link

This is exactly the types of cases we have in mind as well.

This proposal talks only about extending coverage so, at least, the content that is displayed as html is available in the API too. Plus adding search capabilities. We think to provide authenticated access to private zones would be the second phase. A nice addition in this regard would be to create a user page where to generate private access keys for the API.

Intensive request could be approached maybe in the server side, providing some cache methods probably. If it's just a matter of limit requests, then there are good gems for R&R that can be useful.

We (as @Platoniq) tried to raise fundings to develop the first phase but it has been withdrawn (for the moment). I'll try to update the status of this development the moment I have more information. In the meantime we probably contribute when we need some specific feature for our needs.

Avatar: Kris De Winter Kris De Winter
24/09/2019 14:34
  • Get link Get link

I endorse the above requests. What I miss most at the moment is all content from assemblies. I'd like to be able to query all components that are used in an assembly and access all their content. Right now you can only get the title/description of some components.

Conversation with Ivan Vergés
Avatar: Ivan Vergés Ivan Vergés verified-badge
10/12/2019 13:53
  • Get link Get link

For those following this proposal. I just want to announce that this is currently work in progress and will be ready for the next Decidim (presumably) version. Coverage will include all available (read-only) public content and some search capabilities.

Avatar: agustibr ☂️ agustibr ☂️ verified-badge
10/12/2019 15:01
  • Get link Get link

👏🎉

Add your comment

Sign in with your account or sign up to add your comment.

Loading comments ...

  • Terms and conditions of use
  • About the community
  • Download Open Data files
  • Metadecidim at Twitter Twitter
  • Metadecidim at Instagram Instagram
  • Metadecidim at YouTube YouTube
  • Metadecidim at GitHub GitHub
Creative Commons License Website made with free software.
Decidim Logo

Confirm

OK Cancel

Please sign in

decidim Sign in with Decidim Barcelona
Or

Sign up

Forgot your password?