Project: Add Cover image & Summary to Publications

type: #Project
owner: @horacio
status: Ready to review

Problem

Seed Hypermedia content is mostly text. we need a little bit of "Color" to the whole app and help our users express better their ideas with media support at the publication level.

Solution

Schema update

This project proposes to add a new publication attribute to the schema:
type Publication {
  string id = 1;
  string title = 2;
  string author = 4;

// ======================
  string cover_image = 12
  string summary = 13
// ======================

  google.protobuf.Timestamp create_time = 6;
  google.protobuf.Timestamp update_time = 7;
  google.protobuf.Timestamp publish_time = 8;
  repeated BlockNode children = 9;
  repeated string editors = 11;
}
The cover_image attribute should be a IPFS cid pointing to a media element the same way the media elements in documents point to and work.
The summary attribute should be a string that can be used to explain the current publication. I'm still not sure if this is a simple text of ONE block

Publication page redesign

Now that we have a media support for the whole publication, we can change the design of the publication pages.
Because we are going to change the design based on this new addition, I propose to add a "bigger" design change to this pages: Have a layout similar to pages like Ink&Switch or Piccalilli.
As you can see, the content of the paragrahs does not expand the full with of the centered container. This is because there's a space left to any supporting materials for each block id neccesary (like annotations, footnotes or references)
Also media elements does expand the full width of the centered container, which makes the image have more space and improves the aesthetics of the page.
There are other subtle details that we can discuss, and if there's any ideas or features you'll like to add to the publication page please let me know!

Cards redesign

As you might expect, the card view will include the cover image as a thumbnail.
For the Summary, we should show the summary if its present, if not, we should fallback to the content as it is right now, or maybe we just "don't show anything" if there's no summary?

Scope

1 week for the frontend. @burdiyan mentioned this is an easy change in the backend but please clarify!

Rabbit Holes

At Seed we play with being in two places: the Information space and the publishing space. For Sites we should let publishers consume Seed's data and present it the way they wanted, but in the app we should make the content king and help readers consume the data the best way. I thought of adding "publication layouts" so authors can determing how the cover image should be displayed (similar to how Medium does it). But this should not have any effect INSIDE the app, or it should?
We need to define what is data that needs to be in the information space and data that needs to set how data is consumed and how data can be presented in Sites. I see this as the same as what happens with VSCode settings for example, but this is a Rabbit hole out of scope of this project.

No-Gos

TBD