Make WordPress Core

Changes between Initial Version and Version 2 of Ticket #63953


Ignore:
Timestamp:
09/10/2025 12:57:16 PM (11 months ago)
Author:
sabernhardt
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #63953

    • Property Component MediaPermalinks
  • Ticket #63953 – Description

    initial v2  
    66For taxonomy, I suggest using **categories**. Multiple categories should not be allowed; instead, a **hierarchical directory-style structure** should be supported.
    77
    8 ### Summary
     8==== Summary
    99
    10 This ticket proposes a follow-up idea to the concepts discussed in [#47839](https://core.trac.wordpress.org/ticket/47839 "null") (Extended file management in Media Library). While that ticket focused on general media management, this proposal takes a different direction. It prioritizes the scalability of WordPress in multisite and multi-user environments and aims to improve compatibility with external systems like ActivityPub (Fediverse) and Openverse. I believe that adopting these broader goals will lead to fundamental improvements that benefit all users.
     10This ticket proposes a follow-up idea to the concepts discussed in #47839 (Extended file management in Media Library). While that ticket focused on general media management, this proposal takes a different direction. It prioritizes the scalability of WordPress in multisite and multi-user environments and aims to improve compatibility with external systems like ActivityPub (Fediverse) and Openverse. I believe that adopting these broader goals will lead to fundamental improvements that benefit all users.
    1111
    1212The design is inspired by the user experience of platforms like Pinterest, Misskey Drive, and FileBird Pro. Users familiar with these systems will find the core concept of this proposal easy to grasp.
    1313
    14 ### The Problem: The Current Media File Structure
     14==== The Problem: The Current Media File Structure
    1515
    1616A WordPress media file currently has two distinct levels, which are not cleanly connected:
     
    2121In the current Media Library, the "Uploaded to" field only displays the first Post/Page a media item is attached to, even if it is used in multiple locations. This contrasts with platforms like **Misskey Drive**, which allow viewing *all notes* where a media file has been attached, providing a much clearer and more organized user experience.
    2222
    23 ### Proposal: A Canonical and Semantic Permalink Structure
     23==== Proposal: A Canonical and Semantic Permalink Structure
    2424
    2525I propose a unified and semantic permalink structure for federated media. This would resolve the current inconsistencies and make the system more robust for both human and machine readability.
     
    3030- `/%author%/%media%/%_pins%/%filename%?w=1024/` for an individual media object page.
    3131
    32 ### Design Principles & Inspiration
     32==== Design Principles & Inspiration
    3333
    3434This design is informed by key principles from existing WordPress features and external systems.
    3535
    36 **From Core Trac Ticket #47839:**I have adopted the key principle of implementing a **virtual folder structure using hierarchical taxonomies rather than actually moving files.** This is crucial for avoiding backwards compatibility issues.
     36**From Core Trac Ticket #47839:** I have adopted the key principle of implementing a **virtual folder structure using hierarchical taxonomies rather than actually moving files.** This is crucial for avoiding backwards compatibility issues.
    3737
    3838- **Folders vs. Categories**: A virtual **Folders** approach is preferred, where an image can be placed into a single folder. This simplifies the user experience and reduces the complexity that can come with a multiple-category approach.
     
    4141Furthermore, this virtual structure should be seamlessly integrated into the "Add Image" interface and allow for the creation of galleries based on these virtual folders.
    4242
    43 **From FileBird Pro:**My concept is also inspired by a FileBird Pro-like design, incorporating the following features:
     43**From FileBird Pro:** My concept is also inspired by a FileBird Pro-like design, incorporating the following features:
    4444
    4545- Folders are unique to each user.
     
    4949- It provides a function to track attachment size for storage limits.
    5050
    51 **From the Jetpack Carousel:**Drawing from this concept, I identify three distinct ways to link to a piece of media:
     51**From the Jetpack Carousel:** Drawing from this concept, I identify three distinct ways to link to a piece of media:
    5252
    5353- **Image gallery view (block)**: A federated view of a media collection.
     
    5757My proposal is to position the **Upload target (page)** as the **federated `Object`** that resides under the user's actor profile. The `attachments` field in the federated post should link to this `Object` URL, not the direct file link. This distinction is crucial for optimization and for maintaining a clean, scalable Fediverse profile.
    5858
    59 ### Centralized Media Storage
     59==== Centralized Media Storage
    6060
    6161For WordPress multisite networks, which typically have separate media libraries for each subsite, a **centralized media storage solution** should be considered.
     
    6565I had initially dismissed the Network Media Library plugin because of its age and lack of recent updates on WordPress.org. However, based on recent reports, it appears to function well with modern WordPress versions.
    6666
    67 - [https://github.com/humanmade/network-media-library](https://github.com/humanmade/network-media-library "null")
    68 - [https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EB%A9%80%ED%8B%B0%EC%82%AC%EC%9D%B4%ED%8A%B8-%EA%B3%B5%EC%9C%A0-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC/](https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EB%A9%80%ED%8B%B0%EC%82%AC%EC%9D%B4%ED%8A%B8-%EA%B3%B5%EC%9C%A0-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC/ "null")
    69 - [https://docs.ipfs.tech/concepts/content-addressing/#what-is-a-cid](https://docs.ipfs.tech/concepts/content-addressing/#what-is-a-cid "null")
    70 
    71 `eof`
     67- [https://github.com/humanmade/network-media-library Network Media Library plugin]
     68- [https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EB%A9%80%ED%8B%B0%EC%82%AC%EC%9D%B4%ED%8A%B8-%EA%B3%B5%EC%9C%A0-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC/ 워드프레스 멀티사이트 공유 라이브러리를 만드는 방법 (How to create a WordPress multisite sharing library, in Korean)]
     69- [https://docs.ipfs.tech/concepts/content-addressing/#what-is-a-cid What is a CID (content identifier)?]