플러그인을 LS4와 호환되게 만들기
From LimeSurvey Manual
기술적 변경 사항
새로운 XML 설정 파일
LimeSurvey 4.0부터 플러그인을 애플리케이션에서 실행하려면 XML 설정 파일이 필요합니다.
그 이유는 플러그인 작성자, 지원 이메일, 업데이트 정보와 같은 메타데이터를 저장할 수 있도록 하기 위해서입니다.
이 XML 파일은 LimeSurvey 4에서 필수입니다. 플러그인의 루트 디렉터리에 위치해야 합니다. 자세한 내용은 플러그인 개발 문서의 플러그인을 참조하세요.
예시:

새로운 플러그인 디렉터리
LimeSurvey 4에서는 플러그인 디렉터리가 변경되었습니다. 보안상의 이유와 새로운 플러그인 관리자(플러그인 업로더) 때문에 플러그인 디렉터리는 이제 업로드 디렉터리(/upload/plugins)에 있습니다. 수동으로 업로드하는 경우 소프트웨어 오작동을 방지하기 위해 파일을 새 디렉터리에 업로드하는 것을 권장합니다.
플러그인에 디렉터리가 하드코딩되어 있다면 새 디렉터리로 변경하거나 추가해야 합니다.
예시:

새로운 플러그인 이벤트
LS3의 일부 플러그인 이벤트는 더 이상 사용되지 않습니다. 이전 플러그인 이벤트는 LS4에서 새로 도입된 플러그인 이벤트로 교체하세요. 자세한 내용은 개발 매뉴얼의 플러그인 이벤트를 참조하세요.
더 이상 사용되지 않는 함수와 메서드
LimeSurvey 4의 코드 기반 또는 구조가 변경되어 더 이상 사용되지 않는 메서드나 함수가 많습니다. 이 문제를 해결하려면 먼저 config.php 파일에서 디버그 모드를 활성화한 다음 플러그인 페이지로 이동하세요. 더 이상 존재하지 않는 메서드는 오류 페이지에 표시됩니다.
일부 메서드는 LS4에서 이름이 변경되었거나 더 이상 사용되지 않습니다. 플러그인이 LS3와 LS4 모두에서 작동하도록 하려면 필요한 메서드를 호출하기 전에 LS 버전을 확인하세요.
예시:

모범 사례
SVG 파일 사용 피하기
보안(XSS)상의 이유로 SVG 파일은 업로드할 수 없습니다. 플러그인 업로더는 SVG 파일을 무시합니다. SVG 파일을 PNG 또는 JPEG 파일로 교체하세요. SVG 파일은 FTP 또는 기타 서버 도구를 통해 설치 디렉터리에 접근할 수 있는 경우에만 업로드할 수 있습니다(모든 파일의 업로드는 본인의 책임하에 진행하세요).
전역 상수 사용 피하기
„ROOT_PATH“와 같이 코어 애플리케이션이나 다른 플러그인의 변수와 충돌할 수 있는 전역 상수의 사용을 피하세요. 플러그인 개발에서는 일반적으로 전역 상수를 사용하지 마세요.
네임스페이스 사용
플러그인에서 하나의 작업을 수행하기 위해 함께 동작하는 클래스를 그룹화하여 더 효율적으로 구성하려면 네임스페이스를 사용하세요. 이렇게 하면 코어 애플리케이션에서 이미 사용 중인 클래스와의 충돌을 피할 수 있습니다.
예시:

