앱 관리자가 자바스크립트 맞춤설정을 위한 플러그인

Qiita에 쓰는 것 자체가 무심코 되어 버렸습니다. Spica입니다!
기능 확장 표준 All-In 라는 플러그인을 판매하고 있습니다.

최근 빠져있는 게임은 페르소나 5 로얄입니다. 무인의 페르소나 5도 했습니다만, 또 처음부터 놀아도 역시 재미있네요. 그리고 13기병 방위권이라고 하는 것을 쌓고 있습니다. P5R의 1주째가 끝나면 걸린다!

상관없는 이야기는 이번에 해서…… kintone의 이야기를.
이번에는 기본으로 돌아와서 앱의 JavaScript 커스터마이징을 간편하게 하는 방법에 대해 써 가겠습니다.
재료로서는 가벼울까라고 생각했습니다만, kintone 커스터마이즈의 허들을 조금만 낮추려고 하는 시도, 라고 하는 것으로.
플러그인도 만들었으므로 사용하실 수 있으면.

원래 사용자 정의하려면



자바스크립트 및 CSS로 전체 kintone 사용자 정의(kintone 도움말)
에 있는 대로, Javascript나 CSS 파일의 로드를 설정할 수 있는 것은 시스템 관리자만이 되고 있습니다.

시큐리티적으로는 어쩔 수 없는 부분도 있습니다만, 이 묶음만 없으면… 라고 생각한 적이 있는 분, 많지 않을까 생각합니다. 분명 많다. 많지 않을까. 많이 정해져 있다.
제대로 앱의 액세스 권한을 통제해 편집자에게 조심하기 때문에 앱 관리자에게도 커스터마이즈시켜줘, 라고.

플러그인 설정 정보에 스크립트를 저장하면 좋을까요?



구현의 구조이지만 매우 간단.
jQuery에는 globalEval이라는 메소드가 있습니다.
건네받은 캐릭터 라인을 글로벌의 스코프로 스크립트로서 실행한다고 하는 것입니다.
플러그인에 스크립트를 저장하고, 이 녀석으로 실행해 버리라는 응포.

CSS도 편집할 수 있도록 했습니다.
여기는 좀 더 간단하게, <style> 태그의 내용으로 해 body 근처에 요소를 추가해 주는 것 뿐입니다.

그래서 플러그인을 만들었습니다.




플러그인 (CustomizeEditor)

플러그인의 설정 화면은 이런 느낌입니다.


어쩐지 에디터 식으로 체재를 정돈하고 있습니다만, 여기서 쓴 스크립트는 eval로 실행되므로, 디버그는 매우 힘들습니다.
여기는 하나, kintone 개발자 라이센스 를 신청하고 있네요, 자신의 환경에서 스크립트를 만들어 완성한 것을 master배포하는 감각으로 사용하는 것이 좋을까 생각합니다.

모두 개발자가 되면 좋겠어요. 이상입니다!

좋은 웹페이지 즐겨찾기