플러그인 SVN 및 업데이트 API-플러그인은 어떻게 식별됩니까?


11

나에게 분명하지 않은 한 가지는 (특히 저장소에 플러그인을 제출하지 않았기 때문에) 플러그인의 고유 한 "ID"(슬러그)가 어떻게 생성되는지 (즉, 이 목록 )입니다.

  1. SVN 제출 시점에 저자 또는 중재자가 선택합니까?
  2. 살균 된 플러그인 이름 (제목)입니까?
  3. 그것은 plugin_basename입니까?
  4. 디렉토리 이름이없는 기본 플러그인 파일입니까?
  5. 다른 것?

플러그인의 어떤 속성 이 플러그인 업데이트 API에 대한 SVN 대응 속성이 있는지 궁금 합니다.

나는 부분적으로 내 성격에서 알고 싶어하지만, 어느 정도까지는 내 자신의 일회용 플러그인이 SVN의 플러그인과 충돌하지 않도록하는 방법을 묻습니다.

예를 들어 3) 이면 매우 고유 한 디렉토리 이름을 사용할 수 있지만 플러그인 이름 (제목)을 짧게 유지하십시오.


NB "표준"파일 명명 규칙 인 것 같지만 [my-plugin-name]/[my-plugin-name].php, 나는 좋아했습니다 [my-plugin-name]/plugin.php.

그것은 모든 플러그인에 일관성을 부여합니다. 그것이 "부트 로더"(메인) 파일이며, 사소한 관점에서 나는 디렉토리 이름의 반복을 싫어합니다.

이것은 내가 질문을하는 또 다른 이유입니다 .4) 나를 망칠 것입니다. 또한이 "표준"에 대한 여러분의 의견도 듣고 싶습니다 :)


답변:


6

플러그인을 제출할 때 슬러그는 제출 된대로 위생 화 된 플러그인 이름이됩니다. 플러그인의 "이름"은 이후에 변경 될 수 있지만 슬러그는 영원히 동일하게 유지됩니다.

WordPress에서 플러그인 업데이트를 확인해야하는 경우 플러그인의 모든 헤더 정보와 플러그인이있는 디렉토리 이름을 가져와 WordPress.org로 보냅니다.

디렉토리의 플러그인과 일치시키기 위해 현재 세 가지 요소가 사용됩니다. 매칭 알고리즘을 개선하려고 할 때마다 자주 바뀌기 때문에 "현재"라고 말합니다.

  1. 플러그인 디렉토리 이름은 종종 플러그인의 "슬러그"입니다. 최소한 시작 디렉토리에서 설치 한 경우입니다. 그래서 우리는 그 디렉토리 이름으로 슬러그를 확인합니다. 이것은 훌륭한 지표는 아니지만 도움이됩니다.

  2. 플러그인 디렉토리에서 이름이 고유해야하므로 플러그인 헤더의 "이름"도 검색됩니다. 정확한 이름과 일치하지 않는 경우, 이름은 위생적으로 만들어져 슬러그를 생성하며, 만일을 대비하여 슬러그도 검색합니다. 항상 작동하지는 않습니다.

  3. 헤더의 "플러그인 URI"도 일치하는지 확인합니다. 디렉토리의 모든 플러그인에 대한 값을 알고 있으므로 각 플러그인마다 고유 한 것으로 간주 될 수 있습니다. 따라서 플러그인 작성자는 자신이 제어하는 ​​도메인과 플러그인에 고유 한 URL을 가리키는 플러그인 URI를 입력하는 것이 좋습니다.

그런 다음이 세 가지 요소 모두에 가중치가 부여되고 최상위 결과가 반환됩니다. 세 가지 각각에 사용 된 가중치는 데이터 정확도의 신뢰 수준을 반영합니다. 예를 들어, Name은 plugin-directory-as-slug보다 가중치가 높습니다. 대부분의 작성자는 플러그인 이름을 자주 변경하지 않으며 사용자가 수동으로 설치하거나 plugin 디렉토리를 사용하는 경우 실제로 plugin-directory는 무엇이든 될 수 있습니다.

이 세 항목과 일치할수록 플러그인과 일치 할 가능성이 높습니다. 그러나 결과가 반환 되려면 적어도 하나의 정확한 일치 항목이 있어야합니다.

사용자 정의 일회용 플러그인의 경우 플러그인 이름 자체에 사이트 이름을 사용하는 경향이 있습니다. 이것은 조직도 도와줍니다. 따라서 일회성 플러그인 이름은 "ottopress.com-문제 해결"일 수 있습니다. 디렉토리의 플러그인이 도메인과 일치하지 않을 수도 있습니다.


대박! 나는이 답변을 고맙게 생각할 수있는 유일한 사람은 아니라고 생각합니다.)
TheDeadMedic

2

SVN 항목은 플러그인을 처음 커밋하기 전에 생성되기 때문에 처음 입력 한 요청을 기반으로합니다. 프로세스가 기술적인지 수 동인지 아닌지 잘 모르겠습니다.

업데이트를 위해 많은 정보가 제출되고 저장소는 플러그인 이름, 디렉토리 이름, 현재 버전 등을 기반으로 일치를 판별하려고 시도합니다. 정확한 알고리즘이 게시되었는지 알 수 없습니다.


1
나는 것을 나타내는 과거에 @ otto42을 불러 AuthorURI이 플러그인 슬러그가 충돌 수도 있지만, 이후,이 과정에서 고유 한 토큰의 약간로 사용되는 플러그인 슬러그 및 AuthorURI의 조합 거의 않습니다.
Chip Bennett

건배들-그래서 그것은 단지 하나의 특정 속성이 아니라는 것이 분명합니다. 그럼에도 불구하고 알고리즘을 보는 통찰력이 될 것입니다. 내 파일 명명 규칙에 대한 생각이 있습니까?
TheDeadMedic

@TheDeadMedic 파일 이름은 일반적으로별로 중요하지 않으므로 업데이트 논리를 혼동하기에 충분하지 않다고 생각합니다.
Rarst
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.