저번편에는 파워디자이너 저장소에 대한 간략한 소개와 설치 방법 등을 적어보았는데, 이번편에는 딱히 무엇을 적을까 생각이 나지 않아 시간을 좀 끌었습니다.

[:: 서툰 정보 ::/파워디자이너 서툰 정보] - Sybase PowerDesigner Repository - 제 1편 

그래서 이번편은 매뉴얼을 따라가며 "저장소 서류 (repository documents) 관리하기 - Check In, Check Out"의 다소 거창한 제목으로 꾸려볼까 합니다. 내용까지 거창하진 않겠지만요.....

1. Check-in / Check-out 



체크인이라는 단어는 보통 호텔에 있는 "투숙 절차"를 의미하지요. 아마 문서를 저장소에 "투숙시킨다" 라는 의미가 있는 것은 아닐까요? 한국어에서는 "저장소에 저장한다" 라는 표현이 더 맞는 것 같지만, 영어는 그게 아닌가보네요.

개인적인 생각이지만 이미 Save와 Save as... 가 있기에, 또다른 Save, 그래서 즉 Save in the Repository 라는 긴 표현보다 그냥 간단하가 Check in 으로 결정한건 아닌가 싶기도 하구요.

원래 버젼 12.5까지는 Consolidate / Extract 라는 단어를 사용했었지만, 버젼 15부터는 Check-in / Check-out 이라는 단어로 선택되었습니다.

영업부에서 건의해다고 얘기는 들었는데, 더 자세한 이야기는 영업비밀인것 같기도 하고... 저도 잘 모르겠네요.


2-1. 저장소에 문서 "체크인"하기



모델 등 작업내역을 저장소에 체크인 함으로써 다른 사람들과 그 작업을 공유할 수 있습니다.

물론 체크인 하는 작업은 데이터베이스 테이블에 데이터를 "입력"하는 것이기 때문에 최소한 Write 퍼미션이 있어야 합니다.

체크인 하는 방법은 그냥 우크릭 하면 나오니까 건너뛰도록 하고, 체크인 할때 잘 헷갈리는 부분이 "매개 변수" 부분이죠. 저는 맨날 헷갈린답니다ㅠ

일단 15.3 버젼에서 큰 변화중 하나가 문서 체크인 창의 변화였지요. 간단 버젼과 고급 버젼, 두가지가 있답니다.

Simplified


Advanced



간략보기에서는 문서를 바로 체크인 할 수 있고, 고급보기에서는 체크인 모드와 옵션등을 조금 더 설정할 수 있습니다.

체크인 모드 - New 
항상 선택가능한 옵션입니다. 문서가 아직 저장소에 없거나, 혹은 아직 저장소 브랜치에 없거나, 혹은 이미 있는 문서지만 새로 저장하고 싶을 때 사용합니다.

체크인 모드 - Update/Branch
Update와 Branch는 상호배타적인 옵션이빈다.
업데이트의 경우 이미 있는 문서룰 "덮어쓰기" 하는 옵션입니다.
브랜치의 경우, 현 선택된 브랜치에서 새로운 "첫 버젼"을 생성하는 옵션입니다.

브랜치에 대해서는 조금 더 나중에 자세히 설명하도록 하지요.

체크인 모드 - Integrate
항상 선택가능한 옵션입니다. 말 그대로 문서를 "통합"하는데 사용하는 옵션으로써, 저장하는 문서를 저장소에 이미있는 문서로 병합시켜 버립니다. 

Freezing 옵션
말 그대로 체크인되는 문서 버젼을 얼려버리는, 즉 수정불가 상태로 만드는 옵션입니다. 

Freeze before check in 옵션
이전 버젼이 문서를 얼려버려서 이전 버젼 자체는 수정 불가능하고, 체크인 하는 새 버젼에서의 변경만 씌우는 형식입니다.

Freeze after check in 옵션
문서 체크인이 끝나고 난 후, 그 체크인된 버젼을 얼리는 옵션입니다.
만약에 Freeze after check in이 선택되어서 체크인 되었다면, 다음 체크인때엔 Freeze before check in을 활성화시킬 수 없겠죠? 

Create baseline version
저장소에 문서가 저장될때마다 v1 v2 v3 식으로 새로운 버젼으로 업데이트 됩니다. 혹은 브랜치를 사용한다면 v1.1 v1.2 v1.3 식으로 업데이트가 되구요.

Create baseline version 옵션을 선택한다면 완전히 새로운 버젼으로 문서를 체크인 하게 됩니다. 모든 퍼미션이 있을때만 사용 가능한 옵션으로 체크인에 문제가 있을 시에 해결방법으로 자주 사용하게 됩니다.

나머지 옵션은 딱히 쓸일이 없는 것 같기도 하고, 다음에 저장소에 관련된 다른 기능들을 소개하면서 다루게 될 듯 하니 건너뛰도록 하지요.

2-2. 체크인 중, 충돌문제 해결하기



만약에 저장소에 이미 있었던 예전 모델과, 이번에 비지니스가 바껴서 새로 업데이트된 모델에서 똑같은 메타개체지만 속성이 다르다면 어떻게 될까요? 혹은 실수로 바꾸지 말아야 할 것을 바꾸어버렸다면?

파워디자이너에서는 똑같은 개체가 다른 속성을 가지고 있는 것을 보고 "충돌" 이라는 표현을 합니다.

제 직스샷이 아니라 스샷이 좀 귀찮아서 매뉴얼 사진을 첨부합니다-_-;



위 그림에서 보다시피, Team number라는 태스크가 포맷과 최소값, 그리고 수정 불가 속성값들이 다릅니다.

저장소에는 각각 0000과 1, 그리고 FALSE로 되어있지만 지금 체크인 하려는 문서는 각각 9999999999과 1000000001, 그리고 TRUE로 되어있군요.

그 속성의 옆에 보시면 조그마한 체크상자가 있는데, 체크를 할 경우에 파워디자이너는 지금 체크인 하려는 문서의 속성을 저장소에 이미 있는 문서에 덮어 씌워버립니다.

이러한경우 Freeze before check in 옵션을 선택한다면 현재 저장소에 있는 모델은 속성값 0000과 1, FALSE를 유지하며 새로운 버젼 (v2)를 저장소에 생성하게 되지요.

v1을 체크아웃 한다면 수정 전 값들이 남아있어 백업용으로도 좋습니다.

더해서, 체크인 옵션이 Interactive와 Batch가 있는데, 항상 Interactive로 설정해 두심을 추천드립니다. 만약에 Interactive와 Batch 사이에서 질문이 있으시다면 알려주세요. 조금 더 설명해보도록 하겠습니다.


3. 저장소에서 문서 "체크아웃" 하기



체크아웃은 의외로 간단한 것 같습니다. 간략/고급보기창도 없고, 옵션들이 뭐랄까... 일반 윈도우 환경과 비슷한 옵션들이기 때문이지요.

체크아웃 화면. 체크인에 비해서 뭐가 참 없네요..

 
"Check out to file" 옵션은 문서를 저장소에서 체크아웃 할 때, 하드 드라이브에 파일로 저장을 할 것이냐, 아니면 그냥 메모리로 체크아웃해서 보기만 할 것이냐 를 결정하는 옵션입니다.

파일로 체크아웃을 선택하지 않을 시, 그 밑의 옵션은 선택 불가상태로 변하고, Workspace에만 문서가 추가됩니다. 저장을 해야한다면 직접 Ctrl + S 등을 눌러 저장해야겠지요. 

저장소에서 체크아웃 할 시에도 "충돌"이 일어난다면, 체크인 할 떄와 같이 "병합" 창이 뜨게됩니다.

그러면 원하는 개체와 속성 등을 선택해서 병합시킬 수 있고, 필요한 부분만 체크아웃 해서 볼 수도있지요.


4. 아쉬운 점



쓰는 도중 무언가에 쫓기는 듯한 기분이 들어 별로 유용한 정보가 풍부하지 못한, 매뉴얼을 그냥 "해석"만 해 놓은 정도의 포스트에 그쳐버려 많이 아쉽네요.

개인적으로 저장소에 아쉬운 점은 부분 체크인/체크아웃이 안된다는 점입니다.

물론 파워디자이너에 있는 "Package"를 사용해서 모델을 그렸다면, 선택된 Package만 체크아웃을 할 수 있습니다.

하지만 요즘들어 저장소에서 바로 문서를 볼 수 있게 해달라고 하는 고객들이 많아서 개발부서에서 이것 저것 해보는 거 같기도 합니다.

그 결과물 중 하나가 Repository Web  Browser, 혹은 Repository Portal, 즉 웹 브라우져를 사용해 저장소를 볼 수 있는  기능이지요.

문제가 많은 저장소이지만 확실히 유용한 부분도 꽤 많습니다. 특히 저장소에 관련된 문제들로 인하여 저희 지원팀과 엔지니어들이 가장 머리를 싸매고 힘들어하는 부분도 있지만, 그래도 분명한 것은 지원되는 기능도 많고, 차근차근 문제점들이 해결되어 가고 있다는 점이 고무적이네요.

문제없는 저장소가 언제올지 기대해보며, 이번편은 이만 줄입니다.

아마 다음편은 프록시와 웹 브라우징, 둘 중 하나가 될지 않을까 싶네요.