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

Proposal: channel method to include all sources #44

Open
swentel opened this issue May 11, 2020 · 5 comments
Open

Proposal: channel method to include all sources #44

swentel opened this issue May 11, 2020 · 5 comments

Comments

@swentel
Copy link

swentel commented May 11, 2020

Request: ?action=channels&method=tree

The response includes all sources in a channel, order is defined by the server.

Response:

{
  "channels": [
    {
      "uid": "31eccfe322d6c48c50dea2c84efc74ff",
      "name": "IndieWeb",
      "unread": 9,
      "sources": [
        {
          "uid": "sourceId1",
          "url": "https://source.url",
          "name": "Source name",
          "unread": 3, 
          "last_update": "2020-05-11T17:00:00",
          "total": 23,
        },
        {
          "uid": "sourceId2",
          "url": "https://source-2.url",
          "name": "Source name 2",
          "unread": 6, 
          "last_update": "2020-05-11T17:00:00"
          "total": 12,
        }
      ],
    }
  ]
}

Use cases:

  • 'reader' mode, view the sources in a channel immediately so you can click on them.
  • 'admin' mode: ability to have an overview of all channels and sources in one screen instead of having to click individually per channel.

This came out of suggestions of people who are currently testing the Indigenous desktop application and are coming from Feedly. As far as they are concerned, that is a very handy feature (yet, not blocking). Example screenshot at https://s5.feedly.com/images/fx/landing/[email protected]

Properties of sources:

  • url: url of the source/feed
  • name: name of the source/feed
  • unread: unread items per source (using the same setting as the channel)
  • last_update (optional): this would indicate the last time an item was fetched from the source. This is sometimes interesting to know to figure out if a feed is still alive, or possibly even offline.
  • total (optional): number of items in the source

Last update and total can be calculated in the Drupal Microsub server.

@swentel swentel changed the title Proposal: channel method to get all sources Proposal: channel method to include all sources May 11, 2020
@swentel
Copy link
Author

swentel commented May 12, 2020

Added this to the Drupal Microsub server. It doesn't include 'total' yet as I'm not sure myself how useful it is. Now on to Indigenous.

@swentel
Copy link
Author

swentel commented Jun 13, 2020

Available now in indigenous - the start screen is able to hide unread channels/sources. The user can decide to list the sources and directly click on it to view items in that source alone.

Screenshot_20200613-142332_Indigenous

@aaronpk
Copy link
Member

aaronpk commented Jul 24, 2021

  • Still need to bikeshed the name of the action
  • Should also add channel to be able to retrieve the sources for a single channel
  • Some servers don't have a concept of a source in a channel (e.g. micro.blog "Discover") so have no reason to return source information, so this should be optional
  • Source should have _id instead of uid since _id is an internal server-specific identifier for a source. See also Indicating Item Source #13.

@capjamesg
Copy link
Member

I am planning to implement a feature on my Microsub server that supports reading from all feeds at once.

This is something I have felt lacking in Microsub so far, coming from feed readers and social networks where all of my content is aggregated for me.

While segmenting posts by topic is helpful if you want to browse content my topic, one of the main features in social feeds is being able to see all content in chronological order.

I'll experiment and report back on my implementation. In the interim, have there been more discussions about this topic since the last comment on this ticket?

@capjamesg
Copy link
Member

I have implemented a channel=all exception that returns all timeline items stored on my server.

I think tree might be appropriate for nesting categories -- a feature I have seen in RSS readers. But I get an "all" reserved name was easier to implement and met my needs.

I am open to exploring new ways of aggregating the content of channels and would love feedback on a channel=all concept.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants