자동 업데이트 JMP 추가 기능을 작성하는 방법'추가 기능 저장소'를 설정하면 자체 업데이트 JMP 추가 기능 모음을 쉽게 관리할 수 있습니다. 이 예에서 저장소는 다음을 포함하는 폴더에 불과합니다.
- JMP 추가 기능 파일 "com.jmp.brady.addin1.jmpaddin".
- 메타데이터 파일 "File Metadata.jmp".
일반적인 경우 추가 기능 저장소는 추가 기능 사용자에게 읽기 액세스 권한이 있는 서버 폴더에 상주합니다. 메타데이터 파일은 저장소의 각 추가 기능에 대한 정보를 저장하는 JMP 테이블입니다. 이 예에서는 이를 사용하여 추가 기능이 가장 최근에 게시된 시기를 확인합니다.
사용자가 실행할 때 추가 기능이 최신 상태이면 추가 기능이 팡파르 없이 실행됩니다. 그러나 사용자가 오래된 버전의 추가 기능을 실행하려고 하면 새 버전을 설치하라는 메시지가 표시됩니다.
사용자가 "취소"를 클릭하면 현재 추가 기능이 실행됩니다. "확인"을 클릭하면 업데이트가 자동으로 설치되어 오래된 버전을 덮어씁니다. 이 예에서 사용자는 설치에 대한 정보를 받고 추가 기능을 다시 실행하라는 메시지를 받습니다.

자동 업데이트 JMP 추가 기능: 단계별 예시.
- "Hello Script.jsl"을 엽니다.
- 10 행의 따옴표 사이에 날짜가 08/01/2012인지 확인하십시오.
- 22행에 텍스트 상자 인수로 "Hello world" 문자열이 있는지 확인하십시오.
- 참고: 15행은 업데이트 확인 메인 스크립트에는 포함되어 있지 않지만 "update_functions.jsl"에 포함되어 있습니다. 이것이 포함하다 13행의 진술. 이는 기본 스크립트를 더 간단하게 유지하기 때문에 좋지만 추가 기능을 빌드할 때마다 "update_functions.jsl"을 추가 파일로 포함해야 합니다.
- 파일을 저장하고 닫습니다.

- "파일 Metadata.jmp" 열기:
- "File" 열의 파일 이름은 위 스크립트의 11행에서 "Addin_Name"에 할당된 문자열과 동일해야 합니다.
- 게시 날짜가 2012년 8월 1일인지 확인하고 필요한 경우 변경한 다음 저장하고 닫습니다.

- "update_functions.jsl" 열기:
- 4행에서 depot_path 변수를 저장소에 사용할 폴더로 설정하십시오.
- 5행의 meta_file 변수는 메타데이터 파일의 이름과 일치해야 합니다.
- 이 파일을 저장하고 닫습니다.

- 추가 기능을 빌드합니다.
- JMP 메뉴에서 파일 >> 새로 만들기 >> 새 추가 기능을 선택합니다.
- '일반 정보' 탭에서:
- 추가 기능 이름(이 예에서는 "Hello World")을 입력합니다.
- 추가 기능 ID를 입력합니다. 여기에 무엇을 입력하든 메타데이터 파일의 파일 열과 "Hello Script.jsl"의 Addin_Name 문자열이 정확히 일치해야 합니다.

- '메뉴 항목' 탭에서:
- "추가" 버튼을 클릭합니다.
- '일반' 패널의 '메뉴 항목 이름' 텍스트 상자에 추가 기능 드롭다운 메뉴에 표시할 이름을 입력합니다.
- 'Action' 패널에서 'Run JSL in this file:' 라디오 버튼을 선택합니다.
- '찾아보기'를 클릭하고 “Hello Script.jsl” 파일을 추가합니다.

- '추가 파일' 탭에서:
- '추가'를 클릭합니다.
- "update_functions.jsl" 파일을 찾아 추가합니다.
- '저장'을 클릭하고 새 .jmpaddin 파일을 편리한 위치에 저장합니다.

- 저장소 설정:
- 방금 만든 .jmpaddin 파일을 "File Metadata.jmp" 파일과 함께 추가 기능 저장소 폴더로 지정한 폴더("update_functions.jsl" 파일의 4번째 줄)에 넣습니다.
- 애드인을 테스트합니다.
- JMP 메뉴 모음에서 추가 기능 >> Hello World(또는 메뉴 항목 텍스트로 입력한 항목)를 선택하면 간단한 "Hello World" 창이 나타납니다.
- '확인'을 클릭하여 창을 닫습니다.
- 추가 기능의 업데이트된 버전을 만듭니다.
- "Hello Script.jsl"을 엽니다.
- 따옴표 사이에 2012년 10월 1일 날짜를 포함하도록 10행을 변경합니다.
- 텍스트 상자 인수로 "Hellooooooooo world" 문자열을 갖도록 22행을 변경합니다.
- 파일을 저장하고 닫습니다.
- 이전과 동일하게 4a~4d단계를 수행합니다. 다음과 같은 중요한 예외가 있습니다.
- 추가 기능을 빌드할 때 '일반 정보' 탭에서 "저장 후 설치" 상자가 선택되어 있지 않은지 확인하십시오.
- 방금 빌드한 .jmpaddin 파일을 저장소에 놓고 이전 .jmpaddin 파일을 덮어씁니다.
우리는 아직 출판 메타데이터 파일의 게시 날짜를 아직 변경하지 않았기 때문에 추가 기능입니다. 이를 확인하려면 JMP 메뉴에서 추가 기능 >> Hello World(또는 메뉴 항목 텍스트로 입력한 항목)를 선택하면 이전과 같이 "Hello World" 창이 나타납니다.
- 추가 기능을 게시합니다.
- "파일 Metadata.jmp"를 엽니다. 게시 날짜를 2012년 10월 1일로 변경합니다. 파일을 저장하고 닫습니다.
- 자동 업데이트 테스트:
- JMP 메뉴에서 추가 기능 >> Hello World를 선택합니다. 추가 기능은 업데이트가 있는지 확인하고 업데이트 창을 표시합니다.
- 업데이트를 거부하려면 '취소'를 클릭하고 이전과 같이 "Hello World" 창을 봅니다.
- 추가 기능 >> Hello World를 선택하여 추가 기능을 다시 실행합니다.
- 이때 업데이트 창이 나타나면 '확인'을 클릭하여 업데이트를 수락합니다.
- 확인 창을 닫으려면 '확인'을 클릭하십시오.
- 추가 기능을 다시 실행하십시오. 새 추가 기능이 실행되고 창 텍스트로 "Hellooooooooo World"가 표시됩니다.
Re: 자동 업데이트 JMP 추가 기능을 작성하는 방법@ivan_j_moore 같은 문제(국제 회사)가 있어서 날짜 대신 추가 기능 버전 번호를 사용하도록 전환했습니다. 그래서 기본적으로:
// Get the installed JMP AddIn version
installedAddIn = Get Addin( "com.jmp.brady.addin1.jmpaddin" );
installedAddInVer = installedAddIn << version;
addinLocation = "http://gitlab.contoso.com/addin/updateLocation/addin1.jmpaddin";
depot_path = "http://gitlab.contoso.com/addin/updateLocation/";
meta_file = "File Metadata.csv";
Try(
dtm = Open( depot_path || meta_file, invisible );
r = ((dtm << selectwhere( :File == "addin1.jmpaddin" )) << get selected rows)[1];
mostrecent = Column( dtm, "Version" )[r];,
print("Cannot access update site.");
mostrecent = installedAddInVer;
Throw("AddIn cannot check for updates.");
);
If( mostrecent != installedAddInVer,
requestUpdate( mostrecent, installedAddInVer, addinLocation);
);
Close( dtm, nosave );장단점(그렇게 부를 수 있을까요?)은 AddIn의 버전 번호와 파일 메타데이터의 버전 열(날짜 열 대신)이 각각의 새 버전에서 동일해야 하지만 그렇게 크지는 않습니다. 거래(아직도 날짜를 업데이트해야 함). 또한 JMP 추가 기능을 빌드하는 Python 스크립트가 있고 Python이 .jmp 파일을 작성할 수 없기 때문에 파일 메타데이터를 .csv로 전환했습니다. 정말 그 스크립트에 대한 포스팅을 해야 하는데...
Re: 자동 업데이트 JMP 추가 기능을 작성하는 방법안녕 제프,
이것은 그룹 또는 팀으로 추가 기능을 제어하는 데 정말 좋습니다.
작은 문제가 있습니다. 귀하의 지침에 따라 업데이트를 수행할 때 항상 이 메시지가 표시됩니다.
"업데이트 버전을 계속 사용할 수 있습니다."
확인을 클릭하면 설치가 진행되지만 다음에 다시 메시지가 나타납니다.
다른 시간대와 관련이 있다고 생각합니다. 저는 영국에 있습니다.
메타파일 "Publish Date"의 시간대를 d/m/y로 업데이트했습니다.
스크립트 라인 10 "in format"의 시작 부분을 dd/mm/yyyy로 업데이트했습니다.
"업데이트 기능" 파일에서 업데이트가 필요한 것이 있습니까?
도움을 주셔서 감사합니다.
Re: 자동 업데이트 JMP 추가 기능을 작성하는 방법<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요, 이것은 매우 유용한 것 같습니다. 불행히도 그것은 나를 위해 작동하지 않았습니다 (마지막 지점 f까지 모두 괜찮 았습니다.).
뭔가 (루트? Folder?)를 "File Metadata.jmp"에서 변경해야 합니까?
편집하다:
제 경우에는 이름 지정 문제가 있었습니다. 다음 이름을 동일하게 설정하여 문제를 해결할 수 있었습니다.
- 애드인 이름
- 애드인 ID
- "File Metadata.jmp"의 파일
- jmpaddin의 파일 이름
저는 이 모든 것을 "Foo.jmpaddin"이라고 명명했습니다.
이제 그것은 매력처럼 작동합니다!