WordPress 플러그인 작성자는 블록 이름을 지정할 때 사용자를 혼란스럽게 하지 않아야 합니다.
게시 됨: 2020-09-045월 4일 StudioPress 개발 팀은 Atomic Blocks 플러그인(현재 Genesis Blocks로 브랜드 변경)에 작지만 중요한 사용자 대면 변경을 수행했습니다. 블록 제목에서 "AB" 브랜딩을 제거했습니다. 이번 마이너 업데이트는 AB Accordion 및 AB Button과 같은 블록 제목을 각각 Accordion 및 Button으로 변경했습니다. 표면적으로 이 변경 사항은 프로젝트의 개발자에게 거의 중요하지 않은 것처럼 보였습니다. 그러나 적어도 한 명의 사용자에게는 엄청난 작업 부하가 발생했습니다.
사용자가 GitHub 코드 커밋을 종교적으로 따르지 않았다면 이 업데이트를 놓쳤을 것입니다. 겉보기에 관련이 없어 보이는 티켓에 대한 몇 가지 다른 코드 변경 사항과 함께 팀은 "블록 제목에서 불필요한 'AB'를 제거하십시오."라는 메시지를 남겼습니다.
변경 사항은 플러그인 버전 2.8.2로 변경되었으며 하루 후에 출시되었습니다.
문제는 이것을 기록한 변경 로그에 메시지가 없다는 것입니다. 사용자는 플러그인의 블록 이름이 변경되고 있다는 표시를 알지 못했습니다. 일반적으로 플러그인 팀이 변경되지 않은 제목에서 "AB" 접두사를 삭제했기 때문에 이것은 큰 문제가 아닙니다. 그러나 해당 블록의 제목 중 하나가 핵심 블록 제목과 일치하면 어떻게 됩니까?
그것이 Marcus Tibesar가 직면한 문제였습니다. AB Button 블록이 갑자기 Button 블록이 되었습니다. 그는 핵심 WordPress 버튼을 사용하고 있다고 생각하여 사이트 전체에서 이를 자유롭게 사용했습니다. StudioPress가 플러그인 브랜드를 Genesis Blocks로 변경한 후 플러그인을 삭제하기로 한 그의 결정은 정리하기에 약간의 재앙이 되었습니다.
“저는 몇 달 동안 Button 블록을 사용해 왔지만 실제로 Atomic Blocks 버튼 블록을 사용하고 있다는 것을 발견했습니다!” Tibesar는 Atomic Blocks 리브랜딩 게시물에 댓글을 남겼습니다.
이론적으로 그는 자신이 고의로 사용한 Atomic Blocks의 느린 블록만 업데이트해야 했습니다. 그러나 그는 자신의 잘못이 아닌 자신의 게시물과 페이지에 무의식적으로 추가한 블록에 갇혀 있었습니다.
이 특정 시나리오는 3월 31일에 출시된 워드프레스 5.4에서 새로운 버튼(복수형) 블록을 도입했기 때문에 더욱 악화되었습니다. 기존의 단일 버튼 블록은 일반 삽입기에서 제거되었습니다. 모든 블록 이름 지정 문제가 그렇게 복잡하지는 않지만 여전히 질문이 있습니다. 플러그인 작성자가 이러한 유형의 사용자 경험 문제를 일으키지 않도록 하려면 어떻게 해야 합니까?
StudioPress를 비난하기는 쉽습니다. 그리고 팀은 변경 사항이 발생했을 때 명확하지 않은 것에 대해 꾸짖을 수 있습니다. 그러나 이것은 더 큰 WordPress 커뮤니티가 파악해야 하는 몇 가지 사항을 제공합니다. 첫 번째는 플러그인 작성자가 블록에 대해 일관성 있고 접두사가 붙은 명명 체계를 사용해야 하는지 여부입니다. 두 번째는 문제를 완화하기 위해 WordPress가 할 수 있는 일입니다.
모든 것 접두사

워드프레스 개발 세계에서 흔히 하는 말이죠 ? 접두사 및 네임스페이스 지침은 일반적으로 충돌이 발생하는 실제 코드에 적용됩니다. 그러나 공개 텍스트를 접두사로 사용해야 하는 경우가 있습니다.
그리고 플러그인이 공유 공간을 활용할 때입니다.

블록 편집기는 그러한 공유 공간 중 하나입니다. 점점 더 많은 블록 플러그인이 디렉토리에 상륙함에 따라 플러그인 작성자는 블록 명명 체계가 최종 사용자에게 어떤 영향을 미치는지 고려할 때입니다. 문제는 확실히 Atomic/Genesis 블록에만 국한되지 않습니다. 이것은 여러 블록 라이브러리 플러그인에서 계속되는 추세입니다. 일부는 다른 것보다 더 잘하지만 사용자가 그러한 플러그인을 설치할 때마다 던지기입니다.
가장 쉬운 방법은 플러그인 작성자가 모든 사용자 정의 블록에 회사 브랜딩(예: AB 버튼)을 접두어로 붙이도록 하는 것입니다. 반면에 모든 블록이 핵심 블록 중 하나와 제목을 공유하는 것은 아닙니다. 예를 들어 Product Carousel이라는 제목의 블록은 다른 블록과 더 이상 구분할 필요가 없습니다. 최종 사용자가 동일한 제목을 공유하는 블록이 있는 여러 전자 상거래 플러그인을 실행하고 있을 가능성은 거의 없습니다.
"All, repeat all은 접두사가 있어야 합니다."라고 Tibesar가 말했습니다. “접두사는 사용자가 코어 블록을 선택하는지 타사 블록을 선택하는지에 대한 혼란을 없애줍니다. 가장 인기 있는 플러그인이 목록의 맨 위에 나타나며 접두사가 없을 때 어디서 왔는지 혼란스럽습니다.”
제목이 핵심 블록 중 하나와 일치하는 경우 최소한 타사 블록에는 접두사가 있어야 합니다. 예를 들어 최종 사용자는 블록 삽입기에서 두 개의 서로 다른 커버 블록을 볼 수 없습니다. 대신 핵심 표지와 고유한 제목의 두 번째 블록이 표시되어야 합니다. 접두사는 이를 수행하는 쉬운 방법입니다. 하지만 사용자에게 혼란을 주지 않는 것은 무엇이든 살 수 있습니다.
블록 사용 인스턴스 찾기

2019년 말, Gutenberg 팀은 WordPress 관리자를 위한 잠재적인 블록 관리 영역의 첫 번째 프로토타입을 출시했습니다. 프로토타입의 Manage Blocks 화면은 사용자가 사이트의 모든 블록을 관리할 수 있는 영역을 보여주었습니다. 이 화면에서 더 중요한 정보 중 하나는 블록이 사용 중인 횟수를 표시하는 "인스턴스" 수입니다. 특정 블록이 있는 모든 게시물이 있는 화면에 추가로 연결되었습니다.
이 기능이 중요한 이유 중 하나는 최종 사용자가 정리하고 싶은 게시물을 찾을 수 있기 때문입니다. 예를 들어 Atomic/Genesis Button 블록을 사용하여 Tibesar는 모든 오래된 용도를 추적하고 원하는 대로 변경할 수 있습니다.
그는 WordPress에서 이 기능을 절대적으로 환영할 것이라고 말했습니다. “신규 사용자는 나중에 잊어버릴 수 있는 수많은 블록 플러그인을 로드하고 싶어합니다. 또한 유지 관리자는 깨진 사이트를 정리할 때 이 도구를 사용합니다. 어떤 블록이 어디 에서 사용되었는지에 대한 개요를 볼 수 있다는 것만으로도 게시자는 특히 새로운 플러그인과 기술이 등장할 때 자신의 사이트에 설치된 블록 플러그인 수를 다이얼백할 수 있습니다."
이 기능은 아직 핵심 기능이 아니기 때문에 Find My Blocks 플러그인을 사용해야 했습니다. 이 플러그인을 통해 Atomic/Genesis Blocks의 Button 블록을 무의식적으로 사용한 22개의 게시물과 페이지를 식별할 수 있었습니다. 장기적으로 이것은 WordPress에서 직접 처리해야 하는 것입니다. 사용자가 집을 청소하고 오래된 블록을 제거해야 할 마지막 때가 아닐 것입니다.
