addin.def에 추가 기능 자동 업데이트 선택 사항이 명시됨이 위시리스트 요청은 어디서 영감을 얻었을까요? JMP19가 출시되면서 JMP가 '설치 폴더'에서 파일 업데이트를 찾는 애드인 자동 업데이트 기능을 발견했습니다. 구현 방식이 다소 "투박"해서 기존에 구축해 둔 인프라를 망가뜨렸습니다.
어떤 개선이 필요하다고 생각하시나요? 뷰 > 애드인 설정에 있는 대신, 이러한 선택 사항을 모든 애드인에 필요한 addin.def 파일에 체계화해야 합니다. 이렇게 하면 기존 인프라를 사용하는 사용자가 관리하기 더 쉬워질 뿐만 아니라 JMP의 멋진 기능들을 반복적으로 구현하기도 더 쉬워질 것입니다.
이 아이디어가 왜 중요할까요? 이 기능을 한 단계 더 발전시키고 싶습니다. 정말 좋은 아이디어지만, 현재 구현 방식은 다른 사람들에게 문제를 일으킬 수 있습니다. 현재 제 인프라에서는 새 버전이 출시될 때 마스터 목록과 비교하여 업데이트를 확인합니다. JMP의 기능은 이러한 기능의 필요성을 어느 정도 줄일 수 있지만, 레이아웃 측면에서 더 세심한 작업이 필요합니다. 몇 가지 예를 들면 다음과 같습니다.
1. 올바른 위치에 추가 기능을 설치했는데, 모든 것이 정상입니다. 나중에 사용자가 해당 위치에 접근할 수 없어서 업데이트가 필요합니다. jmpaddin 파일을 전달해서 계속 사용할 수 있도록 했습니다. 사용자가 해당 파일을 JMP로 끌어다 놓았는데, 이제 설치 소스가 다운로드 폴더에 있고 해당 변경 사항으로 인해 업데이트 알림을 받지 못할 수도 있습니다. def 파일에 올바른 소스를 하드코딩하면 문제없이 작동할 것입니다.
2. 애드인 테스트. 1번과 유사하게 테스트 파일이 있는 폴더가 있는 경우, 테스트 파일을 설치하면 설치 위치가 테스트 위치로 변경되어 새 프로덕션 릴리스가 출시될 때 알림을 받지 못하게 됩니다. 파일 이름에 따라 새 테스트 버전 알림을 받을 수도 있고 받지 못할 수도 있습니다. 테스트 버전은 종종 '전달'되기 때문에 파일 이름에 버전이 포함되기 때문입니다. 따라서 업데이트 확인 시 정확한 파일 이름과 일치하는 파일을 찾을 수 없습니다.
두 예시 모두 JMP가 수행한 작업 중 유용할 수 있는 측면이 있지만, 배포 팀은 애드인의 업데이트 표시 방식을 더 세밀하게 제어할 필요가 있습니다. 더 많은 예시가 있겠지만, 이 정도면 업데이트 관련 내용을 하나 이상의 변수와 함께 addin.def 파일에 포함하는 데 충분하다고 생각합니다.
감사해요!
자동화 및 스크립팅Re: Addin.def에 추가 기능 자동 업데이트 선택 사항이 명시됨문제점을 지적해 주신 @네이선-클라크 님께 감사드립니다.
새로운 접근 방식의 속도는 " 마스터 목록에 대해 업데이트를 확인하는 방식"[예: @저스틴_칠튼 의 추가 기능 관리자 ]과 비교했을 때 어떻습니까?
Re: Addin.def에 추가 기능 자동 업데이트 선택 사항이 명시됨@hogi 님 , 아직 속도 테스트를 해보지 않았습니다. 다른 배포에서도 문제가 생겨서 짜증이 났을 뿐입니다. JMP는 파일 이름의 새로운 수정 사항만 확인하는 것 같은데, 실제 빌드 릴리스 날짜를 기준으로 비교하는 것 같으니 전반적으로 속도가 더 빨라질 것 같습니다. 속도는 JMP가 참조하는 '소스' 폴더를 기준으로도 결정될 겁니다.
Re: Addin.def에 추가 기능 자동 업데이트 선택 사항이 명시됨 - 상태가 다음으로 변경됨: 확인됨이 요청을 공유해 주셔서 감사합니다! 정말 좋은 피드백입니다.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련@nathan-clark 이 기능과 현재 구현에 대한 문서를 찾을 수 있을까요? 구현 방식이 이해가 안 되고 관련 정보를 찾기가 어렵습니다. JMP가 사용자가 .jmpaddin 파일을 처음 열었던 폴더를 검색한다는 말씀이신가요? 그렇다면 거기서 무엇을 찾는 건가요? 파일 이름은 다르지만 애드인 정의 파일에 동일한 애드인 ID를 가진 .jmpaddin 파일들을 찾는 건가요? 아니면 애드인 정의 파일에 있는 애드인 버전 정보를 찾는 건가요? 아니면 파일 이름은 같지만 내용이 다른 파일들을 찾는 건가요?
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련@하드너 관련 문서가 있는지는 확실하지 않습니다. 제가 가지고 있는 정보는 제 자체 테스트/관찰 결과와 JMP 19에서 일부 애드인에 대한 업데이트 확인 관련 질문을 받았을 때 JMP 지원팀에 문의했던 내용을 바탕으로 합니다.
네, 보기 > 추가 기능으로 이동하시면 제가 설명드린 항목들을 보실 수 있을 겁니다. "설치 소스" 섹션과 "업데이트" 드롭다운 목록이 보일 텐데, 드롭다운 메뉴가 "업데이트 확인"으로 설정되어 있으면 JMP가 지정된 설치 폴더를 모니터링합니다. 이 설정은 현재로서는 변경하기가 쉽지 않거나 불가능합니다.
JMP가 어떻게 모니터링하는지는 잘 모르겠습니다. 아마도 .jmpaddin이라는 이름의 파일에 최신 수정 날짜가 표시되는 방식일 거라고 추측하지만, 틀릴 수도 있습니다. 제 주요 질문은 이러한 구성 요소들을 어떻게 제어할 수 있는지에 관한 것입니다.
1. 저는 이미 자동 업데이트 인프라를 구축했으므로 JMP가 아무것도 모니터링하지 않도록 하고 싶고, 추가 기능 자체에서 설정을 지정하도록 하고 싶습니다. 사용자가 선택할 수 없도록 하고 싶습니다.
2. JMP가 업데이트를 모니터링하도록 하려면, JMP가 업데이트를 모니터링하는 방식을 제어하고 싶습니다. 예를 들어, 프로덕션 폴더를 강제로 모니터링하도록 설정하여 사용자가 테스트용 .jmpaddin 파일을 업로드하더라도 프로덕션 폴더의 모니터링에는 영향을 미치지 않도록 하고 싶습니다.
addin.def 파일을 통해 이를 코드로 구현하는 것이 가장 합리적이라고 생각합니다. 사용자가 정말로 재정의하고 싶다면 보기 > 추가 기능 메뉴를 계속 사용할 수 있습니다. 하지만 현재 구현 방식은 (배경 규칙이 무엇이든 간에) 제가 이미 구축하고 사용하는 추가 기능 모음 배포 인프라의 여러 측면을 손상시킵니다.
도움이 되셨나요?
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련회사용 추가 기능에서 (추가 기능 설정을 통해) 기본적으로 업데이트를 자동 활성화하는 것은 획기적인 변화가 될 것입니다!
사용자가 업데이트 기능을 활성화하는 것을 잊어버려서 이전 버전에 갇히는 상황이 발생할 위험이 매우 높습니다.
애드인 설정이 로컬 환경설정보다 훨씬 낫습니다. 로컬 환경설정에서 100명 모두가 해당 기능을 활성화하도록 보장하는 방법은 무엇일까요?
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련저희 경험에 따르면:
- 동일한 이름을 가진 파일이 모니터링됩니다.
- 파일이 새로워지면 (버전이 변경되지 않았더라도) 업데이트가 실행됩니다.
- 폴더 내의 다른 파일을 변경해도 해당 메커니즘에는 영향을 미치지 않습니다.
UpdateCheck@AddInManager와 비교했을 때의 이점:
-여러 애드인을 동기적으로 업데이트할 수 있습니다.
- 무음 모드 (하지만 감히 시도해 보지는 않겠습니다. 어떤 애드인이 업데이트되는지 알 수 있어서 좋으니까요.)
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련반대로, 자동 업데이트의 다른 측면들을 100% 제어할 수 있을 때까지는 아무도 자동 업데이트 기능을 사용하지 않았으면 좋겠습니다 
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련@nathan-clark님 과 @hogi님 감사합니다. 이 문제에 대한 자세한 내용을 문의하기 위해 직접 지원 요청을 했습니다. 이러한 동작에 대한 옵션을 제어할 수 있기를 바라는 데 전적으로 동의합니다.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련따라서 @nathan-clark 님 이 제어권을 되찾고 싶어 하신다면, 즉 수동으로 옵션을 선택할 수 없도록 하려면 "설정 강제 적용" 기능이 도움이 될 것입니다.
저의 경우, 기본 설정에 대한 몇 가지 선택 사항만으로도 충분할 것입니다.
SharePoint에서 추가 기능을 설치하고 로컬 OneDrive와 동기화하면 각 사용자마다 고유한 설치 경로가 생성됩니다.
네트워크 드라이브에서 설치할 경우 "자동 업데이트"가 기본 경로를 유지하도록 강제 설정하는 것이 유용할 수 있습니다.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련동의합니다! 이것이 바로 제가 addin.def를 통해 코드로 구현할 수 있도록 하고 싶은 이유 중 하나입니다.
제가 가장 싫어하는 점은 설치 소스가 변경되는 것입니다... 예를 들어 @호기 님의 SharePoint처럼, 베타 버전을 설치하면 소스가 베타 버전으로 변경될 수 있습니다. 그러면 새로운 프로덕션 환경이 생성되더라도 사용자에게 알림이 가지 않게 됩니다.
그런 사소한 것들이 기존 기반 시설이나 통로를 망가뜨릴 수도 있어요
다행히 '엘리베이터'가 여러 통로를 지원하는 데 그렇게 어려운 건 아닌 것 같네요.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련SharePoint에서 파일을 다운로드한 후 "다운로드" 폴더에서 열면 자동 업데이트는 해당 위치를 설치 위치로 간주하여 아무런 작업을 수행하지 않습니다. 제가 담당했던 고객은 사용자가 파일을 어떻게 열었는지와 관계없이 업데이트를 확인할 원격 위치(회사 서버, SharePoint 등)를 지정할 수 있기를 바랐던 것 같습니다. 즉, addin.def 파일에 업데이트를 찾을 공식 위치가 지정되고, 해당 위치에 접근할 수 없는 경우에도 오류가 발생하지 않기를 원했던 것입니다.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련@하드너 님, SharePoint 폴더를 동기화하면 파일 탐색기에서 로컬 폴더처럼 표시될 수 있습니다. SharePoint 위치에는 종종 "동기화" 버튼이 있는데, 이 버튼을 누르면 해당 폴더가 로컬 동기화 폴더로 나타나 드라이브의 다른 폴더처럼 접근할 수 있게 됩니다.
만약 사용자가 파일을 직접 다운로드한다면, 말씀하신 대로 의도한 경로가 '깨질' 수도 있습니다.
모든 회사에서 동일한 방식인지는 100% 확신할 수 없지만, 적어도 저희 회사는 이렇게 작동합니다... '원드라이브 바로가기 만들기' 버튼도 있을 수 있습니다. 비슷한 기능을 하지만 저는 이 버튼을 가급적 사용하지 않으려고 합니다 (이 부분은 나중에 다시 이야기하겠습니다).
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련알겠습니다. 저는 동기화를 사용하지만 동기화가 허용되지 않는 SharePoint에도 속해 있습니다. 그래서 처음에는 이런 파일을 다운로드해서 보관하는 방법을 생각했습니다. 그런데 제가 지적하고 싶었던 점은, 이 방법은 사용자가 업데이트가 표시되는 공식 위치에서 .jmpaddin 파일을 직접 열어야만 제대로 작동한다는 것입니다. 하지만 사용자가 파일을 다운로드하거나 이메일로 공유하는 등의 다른 방법이 아닌, 공식 위치에서 파일을 열도록 강제할 수 있는 방법이 있는지 확실하지 않습니다.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련네, 일리가 있네요. JMP가 추구하는 바는 매우 타당하고 여러 가지 골칫거리를 해결해 줄 수 있을 것 같습니다. 제가 변화를 원했던 가장 큰 이유는 JMP의 구현 방식이 제 기존 방식과 맞지 않았기 때문입니다. 하지만 적절한 제어 시스템을 구축한다면, 기존 인프라 일부를 JMP 구현 방식으로 대체할 수도 있을 것 같습니다!
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련AddinLoad.jsl 은 어떠세요?
- 설치 파일을 회사 표준 파일로 덮어쓰기
- Test-Dir:인 경우 테스트 버전이 설치되었다는 경고를 표시하고, 공식 소스에서 공식 릴리스를 설치하도록 사용자에게 권장합니다.
- InstallationDir이 Download인 경우 -> 업데이트 비활성화
우리는 정보가 어디에 저장되어 있는지 알아낸 다음, 그 정보를 읽고, 접근하고, 변경하기만 하면 됩니다.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련addinload 파일은 사용 방식과 JMP가 패키지를 설치하는 순서에 따라 까다로울 수 있습니다. 저는 필요할 때 포함되는 라이브러리를 기반으로 시스템을 구축했지만, 과거에는 addinload를 사용한 적도 있습니다. JMP가 사용자에게 옵션을 제공하기 전까지는 제 시스템은 매우 안정적이었습니다.
결론적으로 말하자면, JMP의 제품이 제 것보다 더 좋다면 사용하겠지만, JMP 제품을 강제로 사용하게 되고 싶지는 않습니다.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련아, 여기 있네요:
Open(
"$USER_APPDATA_ALL/addinRegistryV2.xml",
XML Settings(
Stack( 0 ),
Row( "/AddinReg/Addins/Addin/@id" ),
Col(
"/AddinReg/Addins/Addin/@id",
Column Name( "Addin.id" ),
Fill( "Use Once" ),
Type( "Character" ),
Format( {"Best", Use thousands separator( 0 ), 15} ),
Modeling Type( "Continuous" )
),
Col(
"/AddinReg/Addins/Addin/@timeStamp",
Column Name( "Addin.timeStamp" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best", Use thousands separator( 0 ), 15} ),
Modeling Type( "Continuous" )
),
Col(
"/AddinReg/Addins/Addin/@installSource",
Column Name( "Addin.installSource" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best", Use thousands separator( 0 ), 15} ),
Modeling Type( "Continuous" )
),
Col(
"/AddinReg/Addins/Addin/@installSourceTimeStamp",
Column Name( "Addin.installSourceTimeStamp" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best", Use thousands separator( 0 ), 15} ),
Modeling Type( "Continuous" )
),
Col(
"/AddinReg/Addins/Addin/@autoUpdate",
Column Name( "Addin.autoUpdate" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best", Use thousands separator( 0 ), 15} ),
Modeling Type( "Continuous" )
),
Col(
"/AddinReg/Addins/Addin/@updatePrompt",
Column Name( "Addin.updatePrompt" ),
Fill( "Use Once" ),
Type( "Character" ),
Format( {"Best", Use thousands separator( 0 ), 15} ),
Modeling Type( "Continuous" )
)
),
XML Wizard( 0 )
);
autoUpdate 태그만 제거하면 동료들은 당신의 견고한 구현에 의존할 수밖에 없습니다.
설정값을 확인하고 조정하며, 설정이 잘못된 경우 경고를 표시하는 UpdateCheck AddIn을 설치해 보세요.
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련오, 흥미롭네요 , @hogi ! 확실히 제가 한번 시도해 봐야 할 해결책 같아요
JMP 지원팀에서 업데이트 시 설정을 끄는 데 사용할 수 있는 JSL 코드도 제공해 줬는데, 이것도 한번 살펴봐야겠어요.
Names Default To Here( 1 );
/* Installing Add-In:
Open( Add-In to open,
<CHECK for="" updates="">
, // "always" will check for updates at startup and while jmp is running
<UPDATE prompt="">
) // whether or not the add-in will silently update or prompt first */ Open( \\NetworkLocation\addins\test.jmpaddin, Check For Updates( "never" ), Update Prompt( 0 ) );
</UPDATE>
</CHECK>
제목: addin.def에 코드로 구현된 애드인 자동 업데이트 선택 사항 관련아, 멋지네요!
업데이트를 위한 배치 스크립트를 설정하는 것이 이상적입니다.
모든 추가 기능 설치 프로그램을 실행하고 설정을 조정하십시오.