2016-09-29 7 views
1

우리는 플러그인을 통한 CKAN의 사용자 정의에 대한 적절한 개발을 시작할 것입니다.CKAN 플러그인 개발을위한 개발자 환경

사람들이 CKAN 용 플러그인을 개발할 때 사용하는 CKAN 개발자 추천, 힌트, 팁 및/또는 트릭이 있습니까?

우리가 특별히 도움말에서 원하는 것들을 다음과 같다 : (PyCharm 같은) IDE 및 이동에 개발을 수행하는 방법에 대한

권장/우리가하는 원격 방랑 VM (우리의 코드를 배포 실행중인 ckan의 개발 인스턴스).

WSGI를 사용하여 원격 Vagrant VM 인스턴스에서 디버깅이 어떻게 작동합니까? 누구든지 PyCharm과 같은 IDE와 WSGI를 사용하여 원격 디버깅을 수행합니까?

그런 다음 일반적으로 대부분의 CKAN 개발자는 프로그래밍을 어떻게 수행합니까? 그들은 Vi를 사용합니까? 그들은 로컬 컴퓨터에서 개발을합니까? 원격 VM을 사용합니까 (예 : Vagrant/VirtualBox)?

우리는 CKAN 플러그인 개발 방법을 찾고 있었지만 현재로서는 유용한 정보를 찾을 수 없었으며 친근한 권장 사항을 매우 높이 평가할 수있었습니다.

답변

1

저는 ckan 커뮤니티에서 가장 일반적인 방법은 vim과 같은 간단한 텍스트 편집기를 사용하여 코드를 편집하는 것이라고 생각합니다. 개인적으로 나는 지금 Sublime을 사용하고 있는데, 코드를 검색하고 탐색하기 위해 vim보다 더 쉽게 찾을 수 있지만 모두가 자신의 취향을 가지고 있습니다.

Syntax vim 플러그인은 코드가 PEP8 호환이고 텍스트를 79 자로 리플 로우하는 등의 이유로 ckan 개발자들 사이에서 인기가 있습니다.하지만 대부분의 편집자는 플러그인에서 이런 종류의 것을 가지고 있습니다.

pdb로 디버깅하는 것에 익숙해지면 정말 도움이됩니다. 이것은 ckan에서 가장 많이 사용되는 옵션 인 것으로 보입니다. 배우기가 쉽고 항상 효과적입니다. 필자는 파이썬 IDE 디버거를 몇 년 전에 시도해 보았지만 신뢰할 수 없다는 것을 알았지 만 지금은 정렬되어 있습니다.

웹 예외를 처리하기 위해 ckan ini 파일에서 디버그 모드를 사용하도록 설정합니다. 예를 들어 명령 줄에서 ckan을 호출 할 때이 기능을 사용 중지하는 경우가 있습니다. API 호출을 디버깅합니다.

ckan을 실행하려면 리눅스 머신이나 유랑인/가상 박스 linux vm을 실행하십시오. 아, 그리고 CkanCon 다음 주 ;-)

2

에 와서

나는 완전한 개발이 CKAN의 설치 "내부"로컬 개발한다. 원격 프로덕션 서버 (VM에는 있지만 관련이 없다고 생각합니다)에 배포하려면이 서버에 적절한 CKAN 및 각 확장에 대해 맨손으로 자식 노드가 있어야합니다. 해당 repos 중 하나를 누르면 후 수신을 시도하여 HEAD를 /usr/lib/ckan/default/src /로 체크 아웃하고 apache2를 다시 시작합니다.

빠르게 전개하고 코드를 동기화 상태로 유지하며 빠르게 롤백하는 데는 매우 효과적입니다.

이 설치 프로그램은 개발 설치를 프로덕션 설치 (DB, FileStore, SOLR 인덱싱)와 간혹 동기화하기위한 작은 스크립트로 보완됩니다.

개인적으로 나는 코드 검색 및 탐색을 위해 vim보다 더 쉽게 찾을 수 있지만 현재 모두이 맛을 가지고 있습니다.

관련 문제