연관글 : 2012/02/24 - 자바스크립트의 Date Object 는 신뢰할 수 없다.
         2011/07/15 - Trac 0.13 개발 중요 이슈
         2011/07/01 - Trac DecoratorPlugin 2차 커스터마이징 (종료)

참고링크 : http://api.jquery.com/jQuery.ajax
            jQuery Datepicker Ajax Request to Highlight Days from MySQL

<datepicker-datetimepicker-with-holiday.png>


. 휴일 표시 기능 추가 : 간트 캘린더 플러그인에서 생성한 holiday 테이블의 데이터를 읽어 표시하도록 함.

. Timepicker Addon 기능 추가 : 시간을 입력할 수 있도록 timepicker addon 추가 함.

. 라이선스 변경 : Timepicker Addon 을 커스터마이징 하였기 때문에 배포를 위해 듀얼 라이선스로 변경 함.

. 3차 커스터마이징 대상에서 Trac 0.13 지원 drop ? :

  Trac 0.13dev 에 jQuery UI 를 내장하는 작업이 완료되어, Datepicker, Timepicker 기능이 Trac 0.13dev 에 내장됨.
  해당 코드를 Trac 0.11 / 0.12 로 backport 가능한지 분석해 보았으나,
  Trac 0.13dev 의 해당 코드는 내 개발 목표에 부합하지 않아 별도의 코드로 개발 함.

  Trac 0.13dev 에서 기본 제공하는 기능을 별도의 코드 베이스로 플러그인에서 제공하는것은 비효율적이라
  생각되나, Trac 0.13dev 에서 기본 제공하는 Datepicker 는 기능 추가(휴일 표시)나 UI 커스터마이징이 어려움.

  어떻게 하면 Trac 0.13dev 의 core 에 묻어가면서, 새로운 기능을 안정적으로 제공할 수 있을까 고민 중

. 3차 커스터마이징 대상에서 Trac 0.11 지원 drop ? :

-- Library version Conflict
  Timepicker Addon 은 jQuery UI 1.8.x 버전에서 작동 함.
  (jQuery UI 1.7.x 버전에서도 작동 하지만, 키 입력 이벤트 처리가 구현되어 있지 않음)
  Timepicker Addon 은 Trac 0.11 에 내장된 jQuery 1.2.3 / 1.2.6 버전과 호환되지 않음.

  jQuery UI 1.7.x / 1.8.x 버전은 Trac 0.11 에 내장된 jQuery 1.2.3 / 1.2.6 버전과는 공식적으로 호환되지 않으나,
  jQuery UI 1.7 ~ 1.8.4 버전의 Datepicker 에 한해 Trac >= 0.11.1 에 내장된 jQuery 1.2.6 버전에서 작동 함. (비공식)

  DecoratorPlugin 기존 버전은 jQuery UI 1.7.1 버전을 내장하여, Trac >= 0.11.1 (0.11.1 ~ 0.10dev) 에서 작동 함.

-- 휴일 표시 기능 구현
  Trac 0.11 에는 json 관련 api 가 존재하지 않아, 휴일 표시 기능 구현을 위해서는
  Trac 0.11 에 json 관련 api 를 포팅해야하고, Trac 0.12 이상 버전과 분리하여 개발해야 함.

. Timezone issue
  Timepicker Addon 에는 단순히 타임존을 선택하는 기능만 존재하고,
  Timezone Conversion, Timezone Validation 등등 세부 처리에 대한 구현이 전혀 없음.
  (Client-side Javascipt 단독으로는 Timezone Conversion 처리가 불가능하기 때문임)

  Timezone Conversion 을 Trac 서버에 AJAX 로 요청해서 json형식으로 받아서 처리할 수 있도록 커스터마이징 함.
  Trac 서버에 dependent 한 코드이기 때문에, 해당 코드는 Timepicker Addon 프로젝트에 contribute 하지 않음.

라이선스 변경 과 Trac 지원 버전 결정에 대한 의사 결정에 시일이 걸려 배포까지는 시간이 걸릴 것 임.

Posted by Genie.
,