Skip to content

docs: 📝 add making a web app guide#69

Open
martonvago wants to merge 1 commit into
mainfrom
docs/make-web-app-guide
Open

docs: 📝 add making a web app guide#69
martonvago wants to merge 1 commit into
mainfrom
docs/make-web-app-guide

Conversation

@martonvago

Copy link
Copy Markdown
Contributor

Description

This PR adds a guide for making a web app.

Closes #36

Needs a thorough review.

Checklist

  • Ran just run-all

Comment on lines +7 to +13
::: callout-note
If you are using [Template Data
Package](https://template-data-package.seedcase-project.org/) as a template for
your data package, follow the [guide](TODO:add/link) on enabling the request
feature there instead. The template automates running Propagate, generating the
request web app, and inserting it into the data package website.
:::

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't actually know if this is how it will work

request web app, and inserting it into the data package website.
:::

## Building the web app

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm using "build" in the titles because the command is build, but based on the discussion we started having about how exactly it will work under the hood, this may be misleading. For example, if actually all it does is copy the prebuilt web assets and datapackage.json into the output folder, then there's not much building there.

Comment on lines +49 to +51
The first argument can be any supported metadata format. See the [build command
design documentation](/docs/design/interface/cli.qmd#seedcase-propagate-build)
for details about supported formats.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I copy that over here?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it would be clearer to say here that Propagate only supports datapackage.json for now?

design documentation](/docs/design/interface/cli.qmd#seedcase-propagate-build)
for details about supported formats.

## Previewing the web app

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added tentatively based on #68


The web app will open automatically in your browser.

## Publishing the web app

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a best-guess workflow

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could also add a callout block with a TODO link to the template data package and/or the data package guide here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also add more details about (or at least links to) how to publish the web app with Quarto, so this section becomes a bit more specific.

@martonvago martonvago moved this from Todo to In Review in Product development Jul 10, 2026
@martonvago
martonvago marked this pull request as ready for review July 10, 2026 07:14
@martonvago
martonvago requested a review from a team as a code owner July 10, 2026 07:14

@signekb signekb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice 👌 The last part in particular is also a bit unclear to me.
Some suggestions:

The `build` command takes two inputs:

1. The metadata file describing the data package.
2. The output folder where the web app will be created.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. The output folder where the web app will be created.
2. The output folder where the files for the web app will be created.

By default, `build` looks for a `datapackage.json` file in the current working
directory and creates the web app in `docs/requests/`.

To use the default arguments, open a terminal in the data package folder and

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To use the default arguments, open a terminal in the data package folder and
To use the default arguments, open a terminal in the root of your data package folder (i.e., the folder with your metadata file) and

Comment on lines +37 to +38
This reads the `datapackage.json` file and creates the files required for the
web app in the output directory.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could remove this, since it's repeating what's already said on L27 and 28. But, maybe it's fine to keep it for clarity.

Suggested change
This reads the `datapackage.json` file and creates the files required for the
web app in the output directory.

Comment on lines +49 to +51
The first argument can be any supported metadata format. See the [build command
design documentation](/docs/design/interface/cli.qmd#seedcase-propagate-build)
for details about supported formats.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it would be clearer to say here that Propagate only supports datapackage.json for now?

Comment on lines +55 to +57
Before publishing the web app, you can preview it locally using Propagate's
`preview` command. This starts a local web server that serves the generated app
so you can check that the request interface works as expected.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooo, this command should probably be added to the CLI design page then?


The web app will open automatically in your browser.

## Publishing the web app

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could also add a callout block with a TODO link to the template data package and/or the data package guide here.

as a Quarto website, the generated files can be included in the website's source
files and published together with the rest of the site.

Copy the generated output folder into your website source while preserving its

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally, wouldn't the Owner have generated the files in the website source structure?

where you place the generated folder and how your website is configured.

After publishing, Requesters can open the request page, select the data they
need, and create a request for a data subset.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a TODO link to a guide describing this workflow?

@@ -0,0 +1,94 @@
---
title: "Making a web app for a data package"
description: "How to use Propagate to create a web app for a data package."

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: "How to use Propagate to create a web app for a data package."
description: "How to use Propagate to create a web app for requesting subsets of a data package."


The web app will open automatically in your browser.

## Publishing the web app

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also add more details about (or at least links to) how to publish the web app with Quarto, so this section becomes a bit more specific.

@joelostblom joelostblom left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me pending the existing comments!

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

Labels

None yet

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

Create a "making web app" guide

3 participants