중요

번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 100.00% 번역되었습니다.

16.4. 사용자 플러그인 배포하기

여러분의 플러그인이 준비되었고 이 플러그인이 몇몇 사람에게 도움이 될 거라 생각한다면, 주저 말고 공식 파이썬 플러그인 저장소 에 업로드하십시오. 해당 페이지에서 플러그인 설치자와 잘 작동하도록 플러그인을 준비하는 방법에 대한 패키지 작업 지침도 찾아볼 수 있습니다. 또는 사용자 자신의 플러그인 저장소를 준비하고 싶은 경우, 플러그인과 그 메타데이터를 목록화할 단순 XML 파일을 생성하십시오.

다음 권고 사항들에 특히 신경을 써주십시오:

16.4.1. 메타데이터와 이름

  • 기존 플러그인과 너무 비슷한 이름을 사용하지 말아주십시오.

  • 여러분의 플러그인이 기존 플러그인과 유사한 기능을 가지고 있는 경우, 사용자가 플러그인을 설치해서 테스트할 필요 없이 어떤 플러그인을 사용해야 할지 알 수 있도록 ‘About’ 필드에 차이점을 설명해주십시오.

  • 플러그인 이름 자체에 “plugin”을 반복하지 말아주십시오.

  • 메타데이터의 ‘Description’ 필드에는 한 줄 설명을 그리고 ‘About’ 필드에는 좀 더 상세한 지침을 작성해주십시오.

  • 코드 저장소, 버그 추적기, 그리고 홈페이지를 포함시켜주십시오. 그렇게 하면 공동 작업의 가능성을 크게 높여주며, 사용할 수 있는 웹 인프라스트럭처 (깃허브(Github), 깃랩(Gitlab), 비트버킷(Bitbucket) 등등) 가운데 하나를 사용해서 공동 작업을 매우 쉽게 할 수 있습니다.

  • 주의를 기울여 태그를 선택하십시오: 쓸데없는 정보를 주는 (예: 벡터) 태그를 피하고 다른 사람들이 이미 사용하고 있는 태그를 쓰는 편이 좋습니다. (플러그인 웹사이트를 참조하세요.)

  • 기본 아이콘을 내버려두지 말고 제대로 된 아이콘을 추가해주십시오. 사용할 모범적인 스타일을 알고 싶다면 QGIS 인터페이스를 참조하세요.

16.4.2. 코드와 도움말

  • 저장소에 생성된 파일(ui_*.py, resources_rc.py, 생성된 도움말 파일, …) 및 쓸모없는 것(예: .gitignore)들을 포함시키지 말아주십시오.

  • 알맞은 메뉴(Vector, Raster, Web, Database)에 플러그인을 추가하십시오.

  • 적절한 경우 (플러그인이 분석을 수행하는 경우) 플러그인을 공간 처리 프레임워크의 하위 플러그인으로 추가하는 것을 고려해주십시오. 그러면 사용자가 플러그인을 배치(batch) 모드로 실행하거나 좀 더 복잡한 워크플로에 통합시킬 수 있고, 여러분이 인터페이스를 설계할 필요가 없어집니다.

  • 적어도 최소한의 문서를 그리고 테스트 및 사용자 이해에 도움이 된다면 샘플 데이터를 포함시켜주십시오.

16.4.3. 공식 파이썬 플러그인 저장소

공식 파이썬 플러그인 저장소는 https://plugins.qgis.org/ 입니다.

공식 저장소를 사용하려면 OSGEO 웹 포털 에서 OSGEO ID를 만들어야만 합니다.

여러분의 플러그인을 업로드하고 나면 스태프 멤버가 이를 승인하고 여러분에게 알려줄 것입니다.

할 일:

관리 문서(governance document)를 가리키는 링크 삽입하기

16.4.3.1. 권한

공식 플러그인 저장소에는 다음 규칙들이 구현되어 있습니다:

  • 등록된 사용자 모두가 새 플러그인을 추가할 수 있습니다.

  • 스태프 사용자는 모든 플러그인 버전들을 승인하거나 승인 취소할 수 있습니다.

  • plugins.can_approve 특수 권한을 가진 사용자가 업로드한 버전은 자동으로 승인됩니다.

  • plugins.can_approve 특수 권한을 가진 사용자는 플러그인 소유자(owner) 목록에 들어가 있는 한 다른 사람이 업로드한 버전을 승인할 수 있습니다.

  • 스태프 멤버와 해당 플러그인 소유자 만이 플러그인을 삭제하고 편집할 수 있습니다.

  • plugins.can_approve 특수 권한이 없는 사용자가 새 버전을 업로드한 경우, 해당 플러그인 버전은 자동으로 승인 취소됩니다.

16.4.3.2. 신뢰 관리

스태프 멤버들은 프론트엔드 응용 프로그램을 통해 선택된 플러그인 개발자들에게 plugins.can_approve 권한을 설정해서 신뢰(trust) 를 부여할 수 있습니다.

플러그인 상세 정보 뷰는 플러그인 개발자 또는 플러그인 소유자 에게 신뢰를 부여할 수 있는 직접 링크를 제공합니다.

16.4.3.3. 무결성 검증

플러그인이 업로드되면 압축 패키지에서 플러그인의 메타데이터를 자동으로 가져와서 무결성을 검증합니다.

공식 저장소에 플러그인을 업로드하려 할 때 알고 있어야 할 무결성 검증 규칙 몇 개를 소개합니다:

  1. 여러분의 플러그인을 담고 있는 주 폴더의 이름은 오직 ASCII 문자(A-Z 및 a-z), 숫자, 그리고 밑줄(_)과 빼기(-) 기호로만 이루어져야 하며, 숫자로 시작되어서는 안 됩니다.

  2. metadata.txt 파일은 필수입니다.

  3. 메타데이터 표 목록에 있는 필수 메타데이터가 전부 있어야만 합니다.

  4. version 메타데이터 필드가 유일해야만 합니다.

16.4.3.4. 플러그인 구조

무결성 검증 규칙에 따라 플러그인의 압축 (.zip) 패키지는 기능하는 플러그인으로써 승인받기 위한 특수 구조를 가져야만 합니다. 사용자의 플러그인 폴더 안에 플러그인을 압축 해제할 것이기 때문에, 다른 플러그인과 섞이지 않도록 .zip 파일 안에 자체 디렉터리를 가지고 있어야만 합니다. 필수 파일은 metadata.txt__init__.py 입니다. 하지만 README 파일은 물론 플러그인을 표현할 아이콘(resources.qrc)도 있는 편이 좋습니다. 다음은 plugin.zip 파일이 어떻게 보여야 하는지에 대한 예시입니다.

plugin.zip
  pluginfolder/
  |-- i18n
  |   |-- translation_file_de.ts
  |-- img
  |   |-- icon.png
  |   `-- iconsource.svg
  |-- __init__.py
  |-- Makefile
  |-- metadata.txt
  |-- more_code.py
  |-- main_code.py
  |-- README
  |-- resources.qrc
  |-- resources_rc.py
  `-- ui_Qt_user_interface_file.ui