IBSheet8을 최신 버전으로 업그레이드하는 방법을 안내해 드립니다. IBSheet 제품은 사용자의 요구사항에 맞게 수정이 가능하기 때문에 모든 파일을 무조건 덮어쓸 수 없으며, 파일에 따라 기존 파일과 비교하여 적용해 주셔야 합니다.
01업그레이드 기본 원칙
업그레이드 시 가장 중요한 원칙은 무조건 덮어쓰지 않는 것입니다. IBSheet는 프로젝트마다 커스터마이징이 가능한 제품이므로, 파일에 따라 덮어쓰기 가능 여부가 다릅니다. 아래 표에서 파일별 업데이트 방법을 먼저 확인해 주시기 바랍니다.
| 파일 | 업데이트 방법 | 설명 |
|---|---|---|
bin/ibsheet.js | ✅ 필수 덮어쓰기 | 제품 코어 파일입니다. 반드시 업데이트해야 합니다. |
bin/css (main.css) | ⚠️ 조건부 | main.css를 수정하지 않았다면 덮어쓰기, 수정했다면 비교 적용합니다. |
bin/locale | ⚠️ 비교 적용 | 추가된 메시지를 비교 후 반영합니다. |
bin/plugins/ibsheet-common.js | ⚠️ 반드시 비교 | 프로젝트에서 수정 가능한 파일입니다. 파일 비교 후 적용합니다. |
bin/plugins/ibsheet-dialog.js | ⚠️ 반드시 비교 | 커스텀 다이얼로그 추가 여부를 확인 후 적용합니다. |
bin/plugins 그 외 파일 | ✅ 덮어쓰기 가능 | 그대로 덮어쓰셔도 됩니다. |
서버모듈 (ibsheet8-x.x.x.jar) | ✅ 교체 | 엑셀 다운로드/업로드에 필요한 파일입니다. |
02bin/ibsheet.js — 필수 업데이트
제품 코어 파일입니다. 이 파일은 필수로 업데이트해야 합니다.
03bin/css 폴더 (main.css)
ibsheet.js가 업그레이드되면서 기능이 추가될 수 있습니다. 관련 기능을 이용하시려면 CSS도 함께 업데이트되어야 합니다.
main.css 파일을 프로젝트에서 수정하지 않았다면 그대로 덮어쓰기 하시고, 수정하였다면 파일 비교를 하여 반영해 주시기 바랍니다.
ibsheet_design.css)에서 시트 관련 CSS를 수정한 경우, 엑셀 다운로드 시 디자인이 반영되지 않습니다.[CSS를 적용하지 못하는 예시 보기]
버전별로 추가·수정된 CSS 내역은 하단의 main.css 버전별 수정 이력을 참고해 주시기 바랍니다.
04bin/locale
ibsheet.js가 업그레이드되면서 메시지가 추가될 수 있습니다. 각 메시지 내용 역시 수정이 가능하기 때문에, 기존 파일과 비교한 뒤 추가된 항목을 업데이트해 주시기 바랍니다.
05bin/plugins
ibsheet-common.js — 반드시 비교 적용
ibsheet-common.js는 공통 기능 설정을 위한 상수 및 함수를 정의한 파일입니다. 시스템 구축 당시 개발자가 수정할 수 있으며, 기능 추가 또는 변경 시 당사에서도 수정하여 배포합니다. 따라서 이 파일은 파일 비교를 통하여 당사에서 수정한 내용만 적용해야 합니다.
- 배포 받은 ibsheet-common.js 에 없는 로직이 기존 파일에 있을 때
개발당시 개발자가 추가한 로직이므로 이 코드는 유지
- 배포 받은 ibsheet-common.js 에 있는 로직이 기존 파일에 없을 때
당사에서 추가한 로직이므로 기존파일에 추가 필요
대표 사례 1 · 헤더 우클릭 메뉴
헤더에서 마우스 우클릭 시 표시되는 메뉴는 ibsheet.js의 기본 기능이 아니라 ibsheet-common.js에서 코드를 작성하여 제공하는 기능입니다.
| 기존 | 클릭한 헤더 하나만 감추기 가능 |
|---|---|
| 변경 후 | 헤더 목록이 표시되며 체크박스로 감추기/보이기 가능 (ibsheet-common.js 1.0.6-20240314-17 버전에서 기능이 추가되었습니다.) |
이 기능을 적용하시려면 다음과 같이 진행합니다.
_IBSheet.CommonOptions의Def.Header.Menu부분을 배포한 ibsheet-common.js의 내용으로 교체합니다.- 배포한 ibsheet-common.js 파일에서
Events.onReadMenu이벤트를 추가합니다. _IBSheet.MenuFunctions,toggleCols,setItemBool,showContextMenu,checkCols,getContextMenu,mergeRows,setItemLevel,mergeCol,assign을 모두 추가합니다.
교체하지 않으면 기존 메뉴가 그대로 표시됩니다.
[기존] 클릭한 헤더 하나만 감추기 가능
[변경 후] 헤더의 list가 표시되며 체크박스로 감추기/보이기 가능
(ibsheet-common.js 1.0.6-20240314-17 버전에서 기능이 추가되었습니다.)
ibsheet-dialog.js — 반드시 비교 적용
ibsheet-dialog.js 파일도 프로젝트에서 변경하여 이용할 수 있습니다. 기존 다이얼로그를 변경하여 사용하거나 커스텀 다이얼로그를 추가했을 수 있으니, 반드시 비교 후 적용해 주시기 바랍니다.
그 외 plugins 파일
나머지 파일은 그대로 덮어쓰기 하셔도 됩니다.
06서버모듈
Ver: ibsheet8-x.x.x.jar
이 폴더 안의 파일들은 서버에서 엑셀 다운로드/업로드를 하기 위해 필요한 파일입니다. 아래 가이드를 참고하여 환경을 구축하시고, 기타 엑셀 오류 처리 방법 등을 확인하시기 바랍니다.
07파일 비교 판단 원칙
파일을 비교하실 때 어떤 코드를 남기고 어떤 코드를 반영해야 할지는 다음 기준으로 판단하시면 됩니다.
| 상황 | 의미 | 처리 |
|---|---|---|
| 배포받은 파일에는 있는데 기존 파일에는 없는 로직 | 당사에서 추가한 로직 | 기존 파일에 추가해 주시는 것이 좋습니다. |
| 기존 파일에는 있는데 배포받은 파일에는 없는 로직 | 개발 당시 개발자가 추가한 로직 | 해당 코드를 유지합니다. |
라이선스 신청하러 가기 →