Skip to content

Embedded dynamic content in written immutable media #8

@flyinlikebrian

Description

@flyinlikebrian

Objectives

Demonstrate content tables on Tableland by allowing content creators to embed Tableland table data on a webpage with predefined styling. The content creator will own the Tableland table and be able to update it, hence allowing a static blog post to have dynamic content.

The outcome of completing this grant will be a web app that is hosted via Textile Hub of via IPFS in some way. For examples of existing Tableland web apps look to https://github.com/tablelandnetwork/example-apps. The web app you will be making will be a “dashboard” that allows the user to create Tableland tables with a specific choice of schema, then populate them with data via a form. The web app will also allow you to copy an embed script that works similar to how you can embed youtube videos. The user can then put the embed script in the webpages as they see fit.

The 2 types of schema we want to support:

  1. “List”: This table will have the following columns (title, url, content, style)
    For each row in one of these tables the embed script will create an item in an html list where the content of the title column is bold text, and if url is specified the text will be an anchor tag to that url. The content column value will follow the title and be plain text. The style column will be either ol or ul, this will indicate to the embed script what kind of html list to use.
  2. “Table”: This table will allow the user to select what columns they want to create, and it will be displayed as an html table. The user will add and remove rows as they see fit, and every cell value will be interpreted as a String which becomes plain text when the embed script renders it on the page.

The embed script will have a url custom to the table being embedded. The script itself will be hosted via IPFS, this can leverage Textile Hub. You have freedom to write the script as you see fit, but it should sanitize the values and ensure that no mirrored xss or csrf attacks are possible.
The queryable table name and the type of schema may be set using querystring parameters, but if you have a different idea feel free to implement however it works best.

Timeframe

From the date this grant is awarded to the completion and delivery of all milestones should be no more than 21 days.

Milestones

Milestone 1

Overview

Dashboard application can be used to create and update Tableland tables.

Docs and critical links

Acceptance criteria

  • Internal DRI can deploy the dashboard locally.
  • Internal DRI can use the dashboard to create a Table.
  • Internal DRI can use the dashboard to update a Table.

Milestone 2

Overview

The embed script is hosted and when put into html it creates and renders the appropriate view of the table data.

Docs and critical links

Acceptance criteria

  • Internal DRI can embed the script on a page and see data from Tableland

Milestone 3

Overview

Full application is hosted and deployed via Textile Hub or available through IPFS **

Docs and critical links

Acceptance criteria

  • Any person with a Wallet equipped browser can use the app to create and embed dynamic data into immutable media (i.e. a website).
  • The Internal DRI has all of the code necessary to deploy the app as they seem fit.
  • A written description of how to deploy and any nuances to using the application is available in a readme format.

Award amount

TBD

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions