Skip to content

Feat/import focalboard#1

Open
ananastii wants to merge 21 commits into
sysblok-devfrom
feat/import-focalboard
Open

Feat/import focalboard#1
ananastii wants to merge 21 commits into
sysblok-devfrom
feat/import-focalboard

Conversation

@ananastii
Copy link
Copy Markdown
Collaborator

@ananastii ananastii commented Dec 17, 2025

Focalboard to Planka Import - Project Summary

Project Overview

Goal: Import boards from Focalboard (JSONL format) into Planka project management system.

What gets imported:

  • board name
  • lists (columns)
  • labels (colors mapped by similarity)
  • card titles
  • members (matched to existing Planka users by person/multiPerson type)
  • descriptions (multiple text blocks merged with \n\n)
  • due dates (as unchecked checkbox)
  • custom fields (text/url/number/email/phone → string)
  • comments (attributed to matched user or tagged with original username)
  • checklists (merged into one task list)
  • creator
  • createdAt timestamps
  • optionally: link to original card is created

Not imported:

  • file attachments
  • board-level system fields (createdBy/modifiedBy/dates managed by Planka automatically)
  • card updateAt/deleteAt.

Design Choices

1. Two-Step Import Flow

Decision: Preview file first, let user select mappings, then import.

Reasoning:

  • Different Focalboard boards have different property configurations
  • Hardcoded property IDs don't work across boards
  • User needs to see available properties before deciding what to import
  • Allows selective import of custom fields

2. importMapping as Query Parameter

Decision: Send importMapping JSON as URL query parameter, not in multipart form body.

Reasoning:

  • Sails.js multipart form parser doesn't reliably pass all fields to inputs
  • Query parameters are parsed correctly regardless of form body

@ananastii ananastii force-pushed the feat/import-focalboard branch from 438cf0d to bb65801 Compare January 17, 2026 01:08
@ananastii ananastii requested a review from alexeyqu January 20, 2026 22:51
@ananastii ananastii force-pushed the feat/import-focalboard branch from 47cb6e8 to b5d4008 Compare January 25, 2026 19:19
@ananastii ananastii force-pushed the feat/import-focalboard branch from 6aff1ae to c53d4f8 Compare February 17, 2026 21:39
Copy link
Copy Markdown

@alexeyqu alexeyqu left a comment

Choose a reason for hiding this comment

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

ok but let's not merge it for now

@alexeyqu alexeyqu changed the base branch from master to sysblok-dev May 5, 2026 01:42
@alexeyqu alexeyqu force-pushed the feat/import-focalboard branch from b5e6631 to 356eb75 Compare May 5, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants