페이지 트리
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

버전 1 다음 »



Start Release No : 7.0.400.20230713-01 / Update Release No :

프로젝트명 : (BCRM#D1924) AUD client 소스 변경 시, 브라우저 cache 삭제 알림 창 표시

작성자 :  김진건          / 검수자 : 

기능 정보
  • API Open
  • UI Open
  • Read Only
  • Not Use
  • Hidden
  • Not Recommend

기능 설명

  1. 실행 경로 : ( ※ 로컬에서 확인하고자 할 때 : 빌드→ gulp 작업 필수) /AUD/main.jsp 접속 시 확인

  2. 사용 방법 : 전제조건 - 캐시 사용

    제약 사항

    • 캐시 사용 중인 상태에서만 확인 할 수 있음
    1. (로컬에서 테스트 시) 터미널에서 npm run all 로 빌드

    2. (로컬에서 테스트 시) gulp 작업 수행
    3. (로컬에서 테스트 시) 빌드 된 파일 로컬 서버 폴더로 복사
    4. /AUD/main.jsp 접속
      1. 제품 업데이트 하기 전의 경우
        버전코드 값이 같아서 Alert창 출력 x

      2. 캐시가 쌓여 있고, 제품 업데이트 한 경우
        AUD.LIB_BUILD_VERSION : min.js 파일(bimatrix.module.audframework.js)에서 유래한 버전 코드 / 캐시를 사용한다면 이전 버전 코드일 것
        AUD_LIB_SERVER_VERSION : 텍스트 파일 (aud-lib-version.txt)에서 유래한 버전 코드 / 항상 최신 코드 적용됨


        버전코드 값이 달라서 Alert창 출력 o


  3. 소스 설명
    1. 개발의도 : 제품 업데이트 시, 텍스트 파일과 min.js 파일(bimatrix.module.audframework.js)에 같은 버전 코드(임의로 정한 값)를 부여하여 min.js 파일을 cached된 것을 사용하고 있다면 텍스트 파일에 적힌 코드와 다른 것을 이용하여 사용자에게 업데이트(캐시 삭제)를 유도하는 메세지를 출력하기 위함
    2. 간략한 흐름
      1. npm run all으로 빌드하면서 버전코드 생성 ( 타임스탬프 이용하여 생성 : "LIB_VERSION_yyyyMMddHHmm")
      2. 버전 코드만 입력된 aud-lib-version.txt 생성 : 빌드 할 때마다 새롭게 바뀜
      3. AUD.js에서 치환을 통해 버전코드 입력 : 서버에 올라갈 bimatrix.module.audframework.js 내 코드로 존재 (캐시)
      4. jsp파일에서 aud-lib-version.txt와 bimatrix.module.audframework.js 내 버전 코드 값 비교하여 Alert 메세지 출력 여부 결정

    3. AUD.ts(기존과 비교) : LIB_BUILD_VERSION 추가

      AUD.ts
          .
      	.
      	.
      	public static META_TEMPLATE_NAME = "TEMPLATE_SD_META_VIEW";
      
      
          // JSP CACHE 작업 -- 추가된 코드
          public static LIB_BUILD_VERSION = "__LIB__BUILD__VERSION__OF__AUD__";
      
          // PropertyGrid 객체
          private static mPropertyGrid: PropertyGrid;
          public static get PropertyGrid(): PropertyGrid {
              return this.mPropertyGrid;
          }
      	.
      	.
      	.

      ** __LIB__BUILD__VERSION__OF__AUD : 빌드 시 생성될 버전 코드와 치환될 문자열

    4. buildversion.bat(신규 파일) : 버전 코드를 생성하여 텍스트 파일을 만들고 AUD.js에서 대상 문자열 치환 작업 수행하는 배치파일

      buildversion.bat
      @echo off
      
      REM Timestamp 설정
      FOR /F %%a IN ('WMIC OS GET LocalDateTime ^| FIND "."') DO SET DTS=%%a
      SET TIMESTAMP=LIB_VERSION_%DTS:~0,8%%DTS:~8,4%
      
      REM 라이브러리버전 파일 생성
      ECHO %TIMESTAMP% > ..\3.ExternalFiles\reports\aud-lib-version.txt
      
      REM AUD 문자열 replace
      SET file_path=.\out\model\AUD.js
      SET OLD_STRING="__LIB__BUILD__VERSION__OF__AUD__"
      
      powershell -Command "(Get-Content '%file_path%') -replace '%OLD_STRING%', '%TIMESTAMP%' | Set-Content '%file_path%'"

      위치 : 소스 (aud-web-framework 폴더) 내 위치

    5. package.json(기존과 비교) : "buildver" 이라는 key 추가 ( value는 buildversion.bat의 상대경로 ) 및 "all"의 value에 "buildver" 추가

      package.json
        "scripts": {
      	.
      	.
      	.
          "buildver": "..\\buildversion.bat",
          "all": "tsc && npm run del_all && npm run buildver && npm run webpack_release && npm run webpack_debug && npm run webpack_comprelease && npm run webpack_compdebug"
        },

      ** "all" 내 "buildver" 순서 배치 의도 : min.js 파일로 빌드 하기 전에 AUD.js 파일에 미리 치환하여 release와 debug에 모두 코드를 포함시키기 위함


    6. main.jsp(기존과 비교) : 텍스트 파일을 읽어와서 jsp 내 전역변수로 사용 및 텍스트 파일 유래 버전 코드와 min.js 유래 버전코드 비교 작업 추가

      main.jsp
      .
      .
      .
      <%@ page import="com.matrix.Data.io.TextFileHelper" %>
      <%
          .
      	.
      	.
          String aud_lib_server_version = TextFileHelper.ReadAllText("aud-lib-version.txt").trim();
      %>
      .
      .
      .
      <script type="text/javascript">
        var AUD_LIB_SERVER_VERSION = "<%=aud_lib_server_version%>"; // 텍스트 파일에서 유래한 버전코드
      .
      .
      .
        var ShowAlertOfUpdate = function () {
      		if(typeof AUD.LIB_BUILD_VERSION === "undefined"){
          		alert(AUD.Trans("EXE0051"));
             		return;
          	}else if(AUD.LIB_BUILD_VERSION !== AUD_LIB_SERVER_VERSION){ // AUD_LIB_SERVER_VERSION = min.js 파일(bimatrix.module.audframework.js)에서 유래한 버전코드 ( 캐시를 사용하고 있다면 코드가 이전 코드일 것 )
             		alert(AUD.Trans("EXE0051"));
          	}
          }
      .
      .
      .
    7. iStudio-ko(및 다른 Locale 코드).json (기존과 비교)

      iStudio-ko.json
      .
      .
      .  
        "EXE0050": "Format을 사용하려면 [연결]항목을 설정해야 합니다.",  
        "EXE0051": "제품 업데이트가 필요합니다.\n브라우저 캐시를 삭제해주세요.", <- 코드에 출력 될 메세지 작성
      .
      .
      .
    8. aud-lib-version.txt(신규 파일) : 버전 코드가 입력된 텍스트 파일
      위치 : reports 폴더 내 존재

참고 자료

 여기를 클릭하여 펼치기...

공유된 파일이 아직 없습니다.

문서 수정 이력

버전 날짜 댓글
현재 버전 (v. 1) 2023-07-06 16:02 AUD팀
v. 5 2023-07-06 18:01 AUD팀
v. 4 2023-07-06 17:21 AUD팀
v. 3 2023-07-06 17:03 AUD팀
v. 2 2023-07-06 16:06 AUD팀
v. 1 2023-07-06 16:02 AUD팀

BCRM 정보

(BCRM#D1924) AUD client 소스 변경 시, 브라우저 cache 삭제 알림 창 표시


...















  • 레이블 없음