nextcloud / nextcloud/deck

Feature: Naming Template System for Cards, Content, Attachments

Open
#7,410 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
1.4k
Forks
354
Avg merge
1d 10h
Merged PRs (30d)
43

Description

Referring back to issue https://github.com/nextcloud/deck/issues/7396

When cloning a card while preserving attachments, there is an immediate side effect:

All attachments are stored directly inside the Deck folder of the Nextcloud client. So if two attachments have the same filename, the client creates duplicates like “file.md” and “file (1).md”. Technically this works, but it quickly leads to messy and inconsistent filenames.

What I’d really like is an option for consistent, rule-based naming for Deck as a whole. Ideally, Deck would support a global naming pattern such as:

{Title:key}-{Customer:key}-{CustomerNumber:key}-{Whatever:key}

This could then be applied throughout the entire workflow.

Imagine a card that follows a structured workflow with:

  • a description
  • links to files
  • links to global data
  • recurring attachment files like note.md, planning.md, do-this.md

Now the card’s title might follow something like {Title}-{Customer}-{SubContext}, and inside the card body you might have other {Context:key} pairs. Anything, including attached files could be named like {SubContext}-{Customer}-whatever-string | .xlsx | .md | .doc ....

If cloning automatically updates all {key:value} pairs, after the context has been applied by an optionally manual step in between, everything stays clean and consistent.

This would be extremely useful.

However, it’s also a fairly big feature.

It would require:

  • A mapper
  • A mapper interface for user-defined settings
  • Some process for managing context during creation/cloning so that cards can inherit or override key–value pairs

Note to myself:

And when thinking this through, this could even grow into a system-wide solution for all Nextcloud apps: a general key:value:context mapping framework that allows highly individual naming schemes and relationships between objects.

Basically, this could serve as the foundation for the bigger idea described here:
https://github.com/nextcloud/server/issues/53125


How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing issue #7396 for the cloning and attachment behavior, then compare the broader context-mapping proposal in nextcloud/server#53125. Identify the existing card creation, cloning, attachment, and settings entry points before defining the scope; done should include an agreed naming-template and context model that works consistently across the described workflow.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.