Skip to content

Use Arena API to display Processing feed on Community page #1615

Open

Description

@doradocodes

Increasing Access

Allow Community page to always be up to date with latest work saved on Processing's Arena board.

Most appropriate sub-area of p5.js?

Home

Feature request details

Use the new Arena API to display Processing's Arena board, https://www.are.na/processing-foundation-49e0uryu3lq/powered-by-p5-js, on https://p5js.org/community/ page.

Instead of calling the API on every deploy, it should have a scheduled (ie. daily) update via Github Actions to call the API again and create a new PR for it (if no outstanding PR exists). This is to prevent blocking deploy from failed API calls.

Activity

  1. ksen0 commented on Oct 8, 2026

    @ksen0
    Member

    Related: #1547

  2. NisargJasani0602 commented on Oct 9, 2026

    @NisargJasani0602
    Contributor

    Hi @doradocodes @Nwakaego-Ego, I'd like to help with this. I've been working on the related #1547, where I have an Are.na fetch script (open in #1552), so I wanted to check how you'd like to split the work before anyone duplicates it.

    What I found on main:

    • The Community page has no Are.na section yet, so this would be a new section in CommunityLayout.astro plus a jump link.
    • src/api/OpenProcessing.ts already reads committed JSON from src/cached-data/ instead of calling the API at build time. Following that pattern would meet the requirement that a failed API call can't block a deploy. The scheduled job would refresh the cached file and open a PR.
    • There's no scheduled workflow in .github/workflows yet, so the daily Action that opens a PR (skipped if one is already open) would be new.

    Proposal: I can generalize my script to take a channel slug and an output path, so #1547 and #1615 share one implementation, and I can write the scheduled workflow. The Community page UI can stay with whoever is already on it. If either of you has already started on the script, I'm happy to build on yours instead.

    Questions:

    1. Should the cached data be JSON in src/cached-data/, like the OpenProcessing data, or a content collection?
    2. (For Using the Are.na API to Display Education Resources #1547, cc @ksen0) Which tag convention should we use, #p5jsv1/#p5jsv2 or #p5v1/#p5v2? My parser accepts both for now.
    3. (For Using the Are.na API to Display Education Resources #1547) Could someone tag one real block in the education resources channel in the By: format? I've only tested Are.na education resources page (step 1: structured by-line/tag parsing) #1552 against synthetic data.
  3. doradocodes commented on Oct 9, 2026

    @doradocodes
    ContributorAuthor

    @ksen0 I have questions along with @NisargJasani0602's above:

    1. Should we continue pulling content from Open Processing for the Community page, or replace it entirely with content from the Arena board? I think only pulling from Arena makes more sense.
    2. The Community the page currently includes multiple sections (Sketches, Libraries, and Events). Would these all be coming from the Arena board as well? If so, we will need to organize the content coming from the Arena board into these sections.
    3. Looking at the discussion from Using the Are.na API to Display Education Resources #1547, do we want the layout of this page to share the same styling as the Education Resources, once they both pull from Arena API?

    @NisargJasani0602 Happy to assign this to you as well, since you're working on Education Resources in the same way.

  4. Nwakaego-Ego commented on Oct 13, 2026

    @Nwakaego-Ego
    Contributor

    @ksen0, I also have a few questions we may need to answer before we start working on this:

    1. Should the Sketches section include only sketches that can run, or every project made with p5.js? Basically, what should count as a sketch?
    2. Should projects from Are.na also appear under “All Sketches,” or is this only for the Community page?
    3. The Community page currently shows eight projects. Should we show the newest projects added to Are.na, projects selected manually, or a mix of both?
    4. The person who adds a project to the Are.na channel may not be the person who created it, so how should we identify the actual creator of each project?
    5. The project thumbnail and description may not give us meaningful alt text for the image. How should that be handled?

    cc @doradocodes

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

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions