Git Product home page Git Product logo

tabula-1's Introduction

Tabula

A blogging app built on Poster (EIP-3722)

Poster Format

Tag

"PUBLICATION"

Content

Any properties can be added to articles, this is just a representation of the properties that are utilized in the current version of the Tablua user interface.

Create Article

Property Type Value
action* String "article/create"
publicationId String The ID of the publication this article should be created in (the message sender needs publication permissions to the publication ). If omitted, the article is not part of a publication and the message sender has article/update and article/delete permissions to it.
article* String IPFS hash (pointing to a Markdown document) or a markdown formatted string
title* String Content title
authors String Array Author addresses or names
tags String Array Relevant content tags
description String Content description
image String IPFS hash (pointing to a image) or a BASE64 encoded image string

Update Article

The present properties will overwrite old properties (if a property does not exist, it will be created). If the article is part of a publication, the message sender needs article/update permission to the publication. If the article is not part of a publication, the message sender must be the same as the message sender used for creating the referenced article.

Property Type Value
action* String "article/update"
id* String ID of article to update (available from the subgraph or created manually using the event.transaction.hash + "-" + event.logIndex from the article creation event)
article String IPFS hash (pointing to a Markdown document) or a markdown formatted string
title String Content title
authors String Array Author addresses or names
tags String Array Relevant content tags
description String Content description
image String IPFS hash (pointing to a image) or a BASE64 encoded image string

Delete Article

If the article is part of a publication, the message sender needs article/delete permission to the publication. If the article is not part of a publication, the message sender must be the same as the message sender used for creating the referenced article.

Property Type Value
action* String "article/delete"
id* String ID of article to delete (available from the subgraph or created manually using the event.transaction.hash + "-" + event.logIndex from the article creation event)

Create Publication

On creation, the message sender gets all permissions. This can be edited via setting permissions.

Property Type Value
action* String "publication/create"
title* String Publication title
tags String Array Relevant publication tags
description String Publication description
image String IPFS hash (pointing to a image) or a BASE64 encoded image string

Update Publication

When updating, both action (with "publication/update" value) and id are required. The other properties are optional. The present properties will overwrite old properties (if a property does not exist, it will be created). The message sender must be have publication/update permissions to the referenced publication.

Property Type Value
action* String "publication/update"
id* String ID of publication to update (available from the subgraph or created manually using the event.transaction.hash + "-" + event.logIndex from the publication creation event)
title String Content title
tags String Array Relevant content tags
description String Content description
image String IPFS hash (pointing to a image) or a BASE64 encoded image string

Delete Publication

When deleting, both action (with "delete" value) and id are required. The message sender must have publication/delete permissions to the referenced publication.

Property Type Value
action* String "publication/delete"
id* String ID of publication to delete (available from the subgraph or created manually using the event.transaction.hash + "-" + event.logIndex from the publication creation event)

Set Publication Permissions

When setting permissions action (with "publication/permissions" value), id, account and the permissions object are required. The message sender must have permissions permissions to the referenced publication.

Property Type Value
action* String "publication/permissions"
id* String ID of publication to set permissions on (available from the subgraph or created manually using the event.transaction.hash + "-" + event.logIndex from the publication creation event)
account* String The address to set permissions for
permissions* String (JSON object) A JSON object with permissions to set (details below)
{
  "article/create": true,
  "article/update": true,
  "article/delete": true,
  "publication/delete": true,
  "publication/update": true,
  "publication/permissions": true
}

* means requires

tabula-1's People

Contributors

asgeir-s avatar auryn-macmillan avatar samepant avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.