Eclipse Mylyn 으로 통합 이슈 트래킹하기

[os.ide.etc.]


Mylyn 2.0, Part 1:
통합된 태스크 관리

Eclipse용 통합 이슈 트래킹으로 작업을

단순하게!


난이도 : 중급

Mik Kersten, Mylyn Project Lead; President & CTO, Tasktop Technologies

2007 년 12 월 04 일

최근 출시된 Mylyn 2.0 버전 (전 Mylar)은 태스크들을 Eclipse로 완벽하게 통합하고, 그러한 태스크들의 콘텍스트(context)을 자동으로 관리함으로써 생산성을 향상시킵니다. Mylyn 프로젝트 리더인 Mik Kersten은 Mylyn 1.0 이후 많은 사용자 피드백을 받았고, 이를 두 파트로 된 Mylyn 가이드에 적용하여 업데이트 했습니다. Part 1에서는 Mylyn의 태스크 관리 장치와 Bugzilla, Trac, JIRA 같은 저장소와의 통합에 대해 설명합니다. Part 2에서는 콘텍스트 관리로 멀티 태스킹을 쉽게 하는 방법과, 정보 오버로드를 줄이는 방법을 설명합니다.

소프트웨어 시스템, 프레임웍, 툴들은 계속 성장할 수 있지만, 정보를 처리하는 개발자의 능력은 실제로 한계가 있다. 대부분의 통합 개발 환경(IDE)은 구조화 된 뷰, 에디터, 고급 검색 장치를 사용하여 이러한 한계를 극복하려고 한다. 이러한 메커니즘을 통해 대형 시스템들을 보다 쉽게 검색할 수 있지만, 전형적인 프로그래밍 태스크를 완수하기 위해 처리되어야 하는 수 많은 정보를 관리하기에는 부족하다. 결국, 구조화 된 뷰는 과부하가 되고 만다. 예를 들어, Eclipse Package Explorer는 작은 엔터프라이즈 애플리케이션을 검색하기만 해도 수 천 개의 소스 파일들을 보여주기 때문에, 이러한 정보를 스크롤, 검색, 트래킹 하는데 엄청난 시간을 낭비할 수 있다.

재미있는 점은, 대부분의 경우 프로그래밍 태스크를 완성하기 위해 시스템의 전체적인 계층적 구조나 특정 메소드에 대한 모든 레퍼런스를 볼 필요가 없다는 것이다. 예를 들어, 버그 픽스나 기능 추가의 경우, 여러분의 시스템의 하위 세트에만 관심이 있다. Mylyn은 두 개의 장치들을 Eclipse에 추가함으로써 그러한 하위 세트를 명확하게 하는 인터랙션 기술이다. 통합 태스크 관리(integrated task management)와 자동 콘텍스트 관리(automated context management)가 그것이다. 태스크 관리는 task/bug/defect/ticket/story/issue 트래커를 Eclipse로 통합하고 고급의 태스크 편집 및 태스크 스케줄링 장치를 제공한다. 콘텍스트 관리는 Eclipse와의 인터랙션을 감시하고, 태스크와 관련된 정보를 자동으로 구분하며, 구조화 된 뷰와 에디터에 초점을 맞춰 관련된 정보만을 보여준다. 이러한 장치들이 결합되어, Mylyn의 Task-Focused UI가 구성되는데, 이는 멀티 태스킹을 더욱 쉽게 해주고, 정보 오버로드를 크게 줄인다. (참고자료 섹션의 "Using Task Context to Improve Programmer Productivity" 연구 논문 참조)

생각의 속도

미엘린(Myelin)은 자연스럽게 발생하는 인체 물질로서, 흥분 상태에서 뉴런들을 더욱 활성화 함으로써 생각을 가속화 한다. Mylyn이란 이름도 이 myelin에서 착안한 것이다. 많은 사용자들은 Mylyn으로 자신이 생각하는 속도로 코딩을 할 수 있다고 말하고 있다. 이전에, 이 프로젝트는 Mylar라고 하는 얇은 플라스틱 필름과 같은 이름을 사용했다.

본 기술자료 시리즈는 Mylyn 사용 가이드이다. 태스크 관리가 아닌 프로그래밍에 초점을 맞춘 부분에서는 여러분이 Eclipse IDE를 알고 있는 것으로 간주한다. Part 1에서는 Mylyn과 태스크 관리용 장치를 소개한다. Part 2에서는 콘텍스트 관리용 Mylyn 장치를 소개하고, Task-Focused UI가 프로그래밍과 개발 방식에 어떤 영향을 미치는지를 설명한다. 여러분의 편의를 위해 두 파트를 동시에 발표한다.

Part 1은 프로그래밍 액티비티에 국한된 것이 아니고, Eclipse나 독립 애플리케이션에서 Mylyn을 사용하는 방법에 관한 내용이다. Part 2는 자바 ™ 프로그래밍에 초점을 맞추면서도, Eclipse 기반 툴에 적용할 수 있는 기능들을 논한다. Bugzilla는 이 글의 예제에 사용되는 태스크 저장소이지만, 개념과 UI는 Mylyn이 지원하는 다른 이슈 트래커들에도 적용된다. 다른 커넥터와 Mylyn을 사용할 계획이 있더라도, Bugzilla Connector를 사용하는 단계를 권장한다. 이렇게 함으로써 핵심 기능에 더 익숙해 질 수 있다.

Mylyn 소개

Mylyn은 Eclipse SDK를 태스크를 트래킹하는 고급 메커니즘으로 확대되었다. (참고자료) 태스크는 사용자 리포트 버그나 기능 향상에 대한 기록 같이, 요청 또는 다른 사람들과 공유하고자 하는 작업의 단위이다. Mylyn으로는 워크스페이스에서 로컬로 태스크를 저장하거나, 한 개 이상의 태스크 저장소에 저장된 태스크들로 작업을 할 수 있다. (태스크 저장소의 예는 Bugzilla, Trac, JIRA 같은 이슈 트래커이다. 특정 태스크 저장소를 연결하려면, 그 저장소를 위해 Mylyn 커넥터가 설치되어야 한다.

일단 태스크가 통합되면, Mylyn은 그러한 태스크에 대한 작업 액티비티를 감시하여 태스크와 관련한 정보를 구분한다. 이것으로부터, Mylyn은 태스크 콘텍스트(task context) -- 태스크와 관련된 모든 생성물들을 만든다. 여기에는 여러분이 검색했던 문서, 편집했던 메소드, 언급했던 API가 들어갈 수 있다. Mylyn은 태스크 콘텍스트를 사용하여 UI를 관심 정보에 집중시키고, 관심이 없는 부분들은 숨기며, 관련된 것들을 자동으로 찾는다. 작업을 수행시키기에 필요한 정보가 생기면 검색, 스크롤, 네비게이션에 드는 시간을 줄임으로써 생산성을 향상시킬 수 있다. 태스크 콘텍스트를 분명하게 함으로써, Mylyn은 멀티 태스킹, 플래닝, 재사용, 전문성 공유에도 기여한다.

시간이 흘러가면서, Mylyn을 사용한 결과, 작업 방식이 미묘하면서도 근본적으로 바뀐다. 여러분이 일단, 태스크 중심 방식으로 작업하는데 익숙해지면, 생산성은 매우 높아진다는 것을 알 수 있다. 조직화 되고, 중요한 협업 태스크들에 집중하고, 진행 상황을 추적하는 것이 점점 쉬워진다.

그림 1에서 번호가 매겨진 영역들은 Mylyn 태스크와 콘텍스트 관리 기능들이다.

  1. 오늘로 스케줄링 된 활성 태스크와 Bugzilla 리포트가 있는 Task List
  2. 태스크 콘텍스트에서 관리되는 변경 세트
  3. 오프라인 지원이 되는 풍부한 태스크 에디터
  4. Eclipse Package Explorer의 태스크 중심(Task-focused) 모드

그림 1. Mylyn의 Task-Focused UI

크게 보기.

다음 섹션에서는 Mylyn을 설치 및 구성하는 방법과, 핵심 기능들을 설명하겠다. Mylyn의 태스크 관리 장치들을 배우고 나서, 이것이 매일 매일의 워크플로우에 어떻게 영향을 주는지를 배울 것이다.




위로


태스크 저장소 커넥터

이 글에서, 필자는 Mylyn의 Bugzilla Connector를 사용하여 태스크 저장소 통합 작업의 핵심 개념을 설명할 것이다. 이 개념은 다른 지원되는 태스크 저장소와 동일하지만, 통합과 커넥터의 성숙 레벨은 다양하다. Mylyn에 번들 된 Bugzilla와 Trac 커넥터는 성숙하고 레퍼런스 구현으로서 간주된다. 기타 이슈 트래커와 프로젝트 관리 툴들용 커넥터(CollabNet, Rally, Mantis, XPlanner)는 Mylyn Extensions 페이지를 참조하라. (참고자료).

완전하게 통합된 커넥터는 다음 기능을 선사한다:

  • 쿼리: 쿼리는 태스크들을 Mylyn의 Task List로 가져오는 메커니즘이다. 쿼리 편집과 검색 장치들은 커넥터 전용이고, Eclipse 기반 쿼리 디자이너 또는 서버의 계정으로부터 온 쿼리의 검색을 제공한다. 또는 이 두 가지 모두를 제공한다.

  • 풍부한 편집: 태스크와 쿼리는 통합 에디터에서 편집될 수 있다. 이 장치는 태스크에 태스크와 다른 구조화 된 엘리먼트에 하이퍼링크를 제공하고, 드래그&드롭 같은 Eclipse와 데스크탑 통합도 제공한다. 풍부한 편집을 제공하는 커넥터는 Eclipse의 임베디드 브라우저에서 태스크와 쿼리를 여는 장치도 제공한다.

  • 첨부: 파일들이 저장소에 첨부되거나, 저장소로부터 파일들을 가져올 수 있다. 이 기능으로 운영 체계 또는 Eclipse 내에서 파일들을 첨부할 수 있고, 콘텍스트 공유 같은 장치들을 실행한다. (Part 2).

  • 오프라인 지원: 연결이 해제된 상태에서 작업할 수 있고, 서버에서 대기할 필요 없이 즉각 태스크에 액세스 하여 쿼리할 수 있다. 이러한 장치는 변경 공지도 제공하는데, 이메일 클라이언트에 의존하는 대신 태스크용 인박스로서 Task List를 사용할 수 있다.

Mylyn의 완전한 통합을 경험하고, 외부 또는 웹 기반 UI 의존성을 탈피하기 위해서는, 커넥터는 여기에 리스팅 된 네 가지 모든 장치들을 지원해야 한다. 하지만, Eclipse의 태스크들을 작업할 수 있도록 충분한 장치들이 있다면, Mylyn의 Task-Focused UI도 많은 혜택을 줄 수 있다. 커넥터용 태스크 저장소를 사용할 수 없다면:

  • 로컬 태스크를 위한 Mylyn 지원을 사용하라. 지원되지 않은 저장소가 웹 기반 UI를 갖고 있다면, 브라우저에서 URL을 Mylyn으로 가져와서 태스크를 만든다.

  • 다양한 웹 기반 저장소들(Google Code Hosting (code.google.com), IssueZilla (java.net, dev2dev, tigris.org), GForge (objectweb.org), SourceForge (sf.net), JIRA, Trac, phpBB, vBulletin)에서 기본적인 쿼리 지원을 제공하는 Generic Web Repository Connector를 사용하라. (참고자료)

  • 태스크 저장소 벤더에게 문의하여 Mylyn 용 커넥터를 만든다. Mylyn 버그 페이지에 커넥터에 투표하는 것도 고려해 보라. (참고자료).

  • 고유의 커넥터를 만들라. (참고자료)



위로


설치와 설정

Mylyn은 현재 대부분의 Eclipse 배포판에 포함되어 있기 때문에, 가장 쉽게 구할 수 있는 방법은 Eclipse 다운로드 페이지(참고자료)에서 Mylyn을 포함하고 있는 패키지를 다운로드 하는 것이다. 하지만, 새로운 Mylyn 버전으로 업데이트 하거나, Mylyn이 포함 되지 않은 Eclipse 버전에 Mylyn을 설치할 경우에는 다음 방법도 유용하다.

팁: Mylyn은 Java 5 또는 이후 버전이 필요하다!

Mylyn은 Java 5를 기반으로 구현된다. JRE 1.4 또는 이전 버전에서 실행한다면 작동하지 않을 것이다. 자신의 Eclipse 버전이 어떤 JRE를 사용하고 있는지를 확인해 보라.( Help > About Eclipse SDK > Configuration Details) 설치 문제 해결은 Mylyn FAQ를 참조하라. (참고자료)

Eclipse 버전에 맞는 Mylyn을 설치하려면, Eclipse Update Manager를 사용한다: Help > Software Updates > Find and install > Search for new features to install. Eclipse 3.2에서 업데이트 되면, Search for updates 대신 이 방법을 사용하는 것이 더 낫지만, 이것은 올바른 의존성 체크를 수행하지 않는다. Eclipse 3.3에서는 어떤 방법도 다 가능하다. 최신 Mylyn 업데이트 사이트에서는 Update Manager를 제공한다. Mylyn의 다운로드 페이지를 참조하라. (참고자료).

Mylyn의 핵심적인 디자인 목적 중 하나는 Eclipse의 기존 UI 장치들과 완벽하게 통합하는 것이다. 또 다른 목적은 여러분이 필요로 하는 기능들만 설치하여 사용하는 것이다. 그림 2는 여러분이 설치하고자 하는 기능들을 선택할 수 있는 UI이다. 여러분의 역할이 개발이 아닌 버그 찾기라면, Task-Focused UI를 설치할 필요 없이 Mylyn의 Task List를 설치하고, 이슈 트래커용 커넥터를 개별적으로 선택할 수 있다. 소프트웨어 개발자들은 두 기능 모두를 설치하고 싶어한다.

그림 2. Mylyn 기능 및 저장소 커넥터 선택하기

업데이트 사이트에서 설치할 기능들을 선택할 때, 여러분이 사용하는 한 개 이상의 태스크 저장소를 선택한다. Mylyn 다운로드 페이지에서 명시한 것처럼, 추가 업데이트 사이트를 더하여 원하는 커넥터들을 구해야 한다. 권장 Task-Focused UI 기능을 설치할 때, Eclipse 버전에 설치할 수 있는 모든 브릿지(bridge)들을 선택해야 한다. (브릿지 상세는 Part 2 참조) Eclipse 3.3 또는 이후 버전을 재시작 하면, 그림 3과 같은 welcome 스크린이 나온다. Eclipse 3.2를 사용하고 있다면 Help 메뉴에서 직접 welcome 스크린을 열도록 한다.

그림 3. Welcome 스크린




위로


태스크와 쿼리

Mylyn은 두 가지 종류의 태스크와의 작업을 지원한다:

  • 로컬 태스크는 Eclipse 워크스페이스에 저장되고, 스케줄링 같은 기본적인 태스크 관리 기능을 제공한다. 로컬 태스크들은 개인적이고 여러분에게만 보인다.

  • 저장소 태스크는 외부 애플리케이션이나 서버에 대응하는 태스크 저장소에 저장된다. 저장소 태스크는 사람들간 공유되지만, 여전히 개인 스케줄링과 노트 같은 로컬 태스크 장치들도 제공한다.

이 섹션에서는 로컬 태스크들을 생성하여 편집하는 방법을 설명하고, 저장소 태스크들로 작업할 수 있는 기능들을 검토한다. 여기에서 다룬 기능들의 가용성은 커넥터의 통합 레벨에 의존하기 때문에, 적용할 수 있는 것만 참조해야 한다. 통합 레벨과 관계 없이, 모든 Mylyn의 태스크 관리 장치들을 사용할 수 있는데, 이 부분은 태스크 관리와 개인 플래닝에서 다루겠다.

로컬 태스크 시작하기

Mylyn을 설치한 후에, 다음 단계를 따른다:

  1. Task List 뷰의 New Task 툴바 버튼을 클릭하여 새로운 태스크를 만든다.
  2. Local Tasks 저장소를 선택한다.
  3. 태스크 요약에 입력한다.
  4. Eclipse 툴바에서 Save를 클릭하거나, Ctrl+S를 눌러 업데이트 된 디스크립션을 저장한다.

로컬 태스크를 만드는 지름길은 Insert 키 또는 텍스트나 URL을 웹 브라우저에서 Task List로 가져오는 것이다. 새로운 태스크의 디스크립션은 상응하는 웹 페이지의 제목에 따라서 자동으로 채워진다. (Firefox에서는 일반적인 드래그를 하고, Internet Explorer에서는 드래그 동안 Ctrl을 누른다.) Task List에서 태스크를 더블 클릭하면 태스크 에디터가 열리고(그림 4), 여기에서 노트를 생성하고, 관련 하이퍼링크들을 붙이거나, 특정 날짜로 태스크를 스케줄링 한다. 기본적으로, 새롭게 생성된 태스크들은 이들이 생성된 날짜로 스케줄링 된다.

그림 4. 로컬 태스크 편집하기

일단, 십여 개의 로컬 태스크들을 만들면, 카테고리를 만들어서 이들을 구성해야 한다. 태스크를 만들고, Task List에 카테고리를 선택하지 않았다면, 이 태스크는 Uncategorized 컨테이너에 배치된다. 여러분이 만들었던 태스크를 Task List의 Move to 팝업 메뉴를 사용하여 또 다른 카테고리나 태스크 에디터로 옮기거나 드래그&드롭을 사용한다.

로컬 태스크 완료를 표시하려면, 태스크의 팝업 메뉴 또는 태스크 에디터를 사용한다. 완료 표시가 된 태스크들은 기본적으로 필터링 되지만, Task List의 뷰 메뉴를 통해서 필터링 될 수 있다. (Task List 뷰 툴바의 오른쪽을 향하는 삼각형으로 열린다.) 어지러움을 없애기 위해, 어떤 태스크도 보여주지 않는 카테고리들(예를 들어, 이 카테고리에 있는 모든 태스크들이 완료되었을 경우)은 나타나지 않는다. Task List의 상단에 있는 Find: 박스를 사용하여 필터링 된 태스크들에 액세스 한다. 마지막으로, 태스크 에디터를 통해 로컬 태스크용 우선 순위와 플래닝 정보를 설정한다. 태스크 관리와 개인 플래닝에서는 플래닝에 대해 자세히 다룬다.

Mylyn의 아이콘 스킴에 익숙해 지려면, Task List 뷰 메뉴에서 Show UI Legend 액션을 사용한다. (그림 5) 이 글에서 아이콘 스킴에 대해서도 이야기 할 것이다.

그림 5. Mylyn UI Legend

태스크 저장소 추가하기

태스크 저장소들은 태스크 관리에 사용하는 기능과 메타포의 관점에서 매우 광범위하다. Mylyn의 태스크 장치들은 통합된 방식으로 광범위한 저장소와 작업할 수 있도록 한다:

팁: 저장소 추가 후 설정의 유효성 검사

가장 많이 보고되는 Mylyn 문제들은 태스크 저장소 연결에 관한 것이다. Validate Settings 버튼을 사용하여 여러분이 입력한 기밀 정보가 올바른지를 확인한다. 네트워크 프록시 같은 추가 설정이 필요하면, 다른 섹션들 중 하나를 사용하고 이들을 다시 확인한다. 일반적으로, 태스크 저장소 커넥터는 밸리데이션이 실패할 경우 유용한 메시지를 제공한다. 그렇지 않으면, 커넥터용 문서를 참조하거나, 연결 문제 해결을 위한 Mylyn FAQ(참고자료)를 참조하라. 일부 커넥터들은 서버상에서 특별한 설정을 필요로 한다.

  • 로컬 태스크: Eclipse 워크스페이스에 저장된 간단한 태스크들과 작업하는데 사용되는 특별한 종류의 저장소.

  • 공유 태스크: 팀이 공유 태스크 저장소(예를 들어, Bugzilla 서버)를 사용한다면, 이 저장소를 사용하여 다른 사람들과 협업할 수 있다.

  • 프로젝트 관리 태스크: XPlanner 같은 커넥터들은 태스크들을 프로젝트 단계와 사용자 스토리로 그룹핑 할 수 있도록 하는 태스크 관리 장치를 제공한다.

  • 버그와 향상 리포트: 이것은 제품의 사용자들과 지원 팀들간 일반적으로 공유되는 특별한 유형의 태스크들이다. Mylyn은 통합 버그 리포팅을 다른 태스크에도 제공한다.

Task Repositories 뷰(Window > Show View > Mylyn > Task Repositories)를 열거나, 이것을 포함하고 있는 Team Synchronizing 퍼스펙티브 같은 퍼스펙티브를 사용함으로써, 태스크 저장소를 만들 수 있다. 일단 열리기만 하면, 뷰의 툴바를 사용하여 새로운 저장소를 추가한다. 저장소 비밀 번호와 기타 연결 상세를 입력하거나, 가용 템플릿들 중 하나를 선택한다. 그림 6의 bugs.eclipse.org 저장소는 Mylyn을 설치할 때 자동으로 생성되어 Mylyn과 Eclipse에 대한 버그와 기능 요청을 쉽게 보고할 수 있도록 한다.

그림 6. Eclipse.org Bugzilla 저장소 추가하기

저장소 쿼리

태스크 저장소를 성공적으로 추가했다면, Task List의 팝업 메뉴에 있는 New Query 액션을 통해 그 저장소에 있는 태스크에 액세스 할 수 있는 쿼리를 만들 수 있다. 예를 들어, 필자의 이메일 주소에 할당된 모든 Bugzilla 리포트에 액세스 할 쿼리를 작성한다. (그림 7):

그림 7. 새로운 Bugzilla 쿼리 만들기

쿼리 설정 권고

다양한 구성 스타일을 지원하기 위해, Mylyn의 Task List는 카테고리와 쿼리를 설정 및 사용하는 방식을 유연하게 했다. 예를 들어, 팀이 반복을 관리하고 각 Bugzilla 리포트에 마일스톤을 표시하는 것을 중요시 여긴다면, 마일스톤에 상응하는 쿼리를 설정하고, 이들을 사용하여 프로젝트의 진행을 트래킹 할 수 있다. 하지만, Mylyn 팀과 다른 Mylyn 사용자들과 함께 작업해본 필자의 경험 상, 다른 사람들과 많이 협업한다면 개인 별로 쿼리를 설정하고, 여러분에게 할당된 태스크 작업을 주로 한다면 컴포넌트나 제품 영역을 설정하는 것을 권장한다. 모든 태스크 컨테이너들의 팝업 메뉴에서 사용할 수 있는 Task List의 Go Into 액션을 사용하여 할당된 태스크나 특정 컴포넌트와 관련된 것에만 집중할 수 있다. Task Search (Ctrl+H) 장치를 사용하여 최신의 마일스톤 진행 상황을 알 수 있다. 구체적으로 다음 사항을 권하고 싶다.

  • 여러분에게 할당된 모든 태스크에 대한 하나의 쿼리를 설정한다. (이를 테면, "All Mine" 같은). 뚜렷한 제품이나 컴포넌트 영역이 있다면, 이 쿼리를 여러 개로 나눌 수 있다. 일반적으로, 싱글 쿼리로 충분하고, Task List가 수행되는 순서대로 태스크를 놓기 때문에 다음에 무엇을 해야 할 지를 쉽게 알 수 있다.

  • 다른 사람들과 면밀히 협업한다면, 이들 각각에 대한 쿼리를 설정한다. Mylyn의 인커밍 공지는 개인별 논의에 대응하고 우선순위를 정하는데 도움이 된다.

  • 여러분이 보고했거나, 주석을 달았거나, 참조가 되었던 모든 버그들에 대한 쿼리를 설정한다. ("Products - Eclipse"와 "Products - Mozilla") 관심 있는 모든 태스크 저장소에 이를 수행하여, 여러분이 관심을 갖고 있는 모든 리포트에 대한 변경 공지를 받도록 한다. 고유의 태스크를 위해 설정했던 쿼리에 포함된 컴포넌트를 배제함으로써, 쿼리들 간 태스크 중복을 피할 수 있다.

  • 버그를 찾는다면, 버그용 인박스 계정용 개별 쿼리를 설정하여 인커밍 리포트를 모니터링 할 수 있도록 한다.

포함시킬 것을 강력히 권장하고 싶다. Mylyn은 기본적으로 완료된 태스크들을 필터링 하고, Task List의 상단에 있는 Find: 박스를 통해 쉽게 검색할 수 있도록 한다. 쿼리에 미완 태스크들만 포함된다면, 그러한 태스크들이 완료되면, 이 쿼리에서는 더 이상 보이지 않는다. 모든 Mylyn 태스크에 대한 필자의 쿼리는 현재 1,420 개의 엘리먼트를 리턴하고, 이중 대부분이 완료된 것이다. 일반적으로, 이러한 유형의 큰 결과 세트는 문제가 되지 않는다.

쿼리에서 사라지는 완료 태스크들이 여전히 Archive에 보인다면, 여기에는 여러분이 그 동안 작업했던 모든 태스크들이 포함된 것이다.

마일스톤 같은 스케줄링 정보에 대한 쿼리를 설정하는 것이 유용할 수 있지만, 다른 사람들과 중복되는 쿼리들로 Task List에 과부하를 줄 수 있다. Search 함수를 사용하여 타겟 마일스톤 같은 것을 쿼리하는 것도 고려해 볼 만하다. 일반적으로, 여러분이 지금 작업 및 협업하고 있는 것을 가능한 자세하게 보여주는 Task List를 설정하는 것이 가장 유용하고, 이 마일스톤에 "다음" 작업이 무엇인지 같은 질문에 빠르게 답할 때에는 검색이 유용하다.

매개변수를 설정하고 Finish를 클릭한 후에, Task List의 쿼리 컨테이너에는 상응하는 태스크들로 채워진다. Mylyn은 백그라운드에 태스크용 정보를 가져온다. 태스크 정보가 다운로드 되면, 태스크 열기가 바로 일어난다. 태스크 정보를 검색하기 위한 서버 라운드 트립이 필요가 없기 때문이다. 쿼리의 매개변수들을 변경하려면, 이것을 다시 열고(Task List의 쿼리를 더블 클릭한다.), 선택된 값을 편집한다. 쿼리 매개변수 설정이 커넥터 별로 다양하지만, 이들은 커넥터의 웹 UI에서 제공되는 장치들을 반영한다. 커넥터 문서 또는 서버 웹 UI 문서를 참조하라.

기본적으로, 쿼리들은 20분 마다 자동으로 동기화 하고, 쿼리 매개변수들과 매치하는 새로운 태스크를 보여준다. (Preferences > Mylyn > Task List를 통해 이 스케줄을 변경할 수 있다.) Mylyn은 웹에서 연결이 해제될 때 오프라인 모드로 될 필요가 없다. 하지만, 동기화를 끄고 싶다면, 예를 들어, 연장된 기간 동안 오프라인으로 작업하거나, 사용된 대역폭에 직접 지불할 때-Task List의 뷰 메뉴에서 Synchronize Automatically 설정을 토글링 함으로써 이를 수행할 수 있다. 이 모든 태스크와 쿼리들을 툴바의 버튼을 통해 직접 동기화 하거나, 팝업 메뉴나 F5 키보드 숏컷에서 개별적으로 쿼리를 동기화 할 수 있다. 또한, 태스크 저장소를 오프라인 모드로 둘 수 있다. 이것은 저장소에 액세스 할 수 없을 때 확장된 기간 동안 작업할 때 유용하다.

웹 브라우저를 통해 액세스 할 수 있는 커넥터의 경우, Mylyn은 여러분도 이미 익숙하고, 일부 연산들이 Mylyn의 풍부한 편집 장치에 의해 지원되지 않는다면 의존해야 하는 웹 UI와의 통합을 제공한다. 태스크나 쿼리를 오른쪽 클릭하여 웹 브라우저에서 연다. (Eclipse 브라우저 설정은 Window > Preferences > General > Web Browser에 있다.), 제휴 URL을 가진 모든 저장소 태스크는 Task List의 툴바와 태스크 팝업 메뉴의 Open with Browser 액션을 통해 열릴 수 있다. 또한 이 브라우저를 사용하여 Bugzilla 쿼리도 열 수 있다. (예를 들어, Bugzilla 웹 UI를 사용하여 이를 조정하기 위해 이메일에 붙이고 싶을 경우). New Query 마법사 프롬프트가 생기면 이것을 붙임으로써 업데이트 된 URL에서 Task List에 새로운 쿼리를 만들 수 있다.

태스크 검색하기

태스크 검색은 쿼리를 생성하는 것과 비슷하지만, 결과를 Task List에 저장하지 않는다. Ctrl+H 또는 Search 메뉴 (Search > Task Search)를 사용하고, 관심 있는 저장소를 선택하고, 검색 기준을 입력한 다음 Search를 클릭한다. Search 뷰가 열리면, 검색과 매치되는 태스크를 열 수 있다. (그림 8) 검색을 조정하려면, Search 다이얼로그를 다시 열고 이전의 검색 기준을 복원한다. 검색 결과는 Search 뷰의 팝업 메뉴에서 쿼리로 바뀔 수 있다.

그림 8. 태스크 검색과 결과

저장소 태스크 만들기

새로운 저장소 태스크를 만들려면, Task List 툴바나 File > New 메뉴에서 상응하는 액션을 사용하면서, 저장소를 선택한다. 이 단계 후에, 커넥터는 Bugzilla 컴포넌트 같은 이 태스크용 추가 애트리뷰트를 요청할 것이다. 새로운 에디터가 열리면 태스크의 애트리뷰트와 디스크립션을 채울 수 있다. 여러분이 Bugzilla 커넥터를 사용하고 있다면 운영 체계 같은 일부 애트리뷰트는 자동으로 선택된다.

팁: 쿼리 모드의 오른쪽 클릭

쿼리 모드를 오른쪽 클릭하면, 쿼리에 해당하는 저장소나 제품을 자동으로 선택할 수 있다. 일반적으로, 인풋을 요하는 함수를 호출하면, Mylyn은 여러분의 선택을 사용하여 관련 인풋을 미리 선택한다.

여러분이 만들어야 하는 또 다른 종류의 태스크는 Mylyn용 버그 리포트 또는 Eclipse 기반 툴이다. 버그 리포팅은 bugs.eclipse.org 저장소의 자동 추가와, Eclipse의 Error Log 뷰와 Help 메뉴에서 액세스 할 수 있는 자동 버그 리포팅 용 액션을 통해 쉽게 수행된다. 보고하고 싶은 에러 이벤트를 보게 되면, 이것을 오른쪽 클릭하고, Report as Bug를 선택한다. New Repository Task 에디터가 열리고, 스택 트레이스 같은 모든 관련 정보들이 포함된다.

이러한 종류의 원클릭 버그 리포팅으로 수 많은 중복 버그 파일링을 만들 수 있지만, Mylyn은 자동화된 중복 탐지를 수행한다. Search for Duplicates 버튼은 잠재적 중복에 대해 해당 저장소를 쿼리하기 위해 리포트의 Description에 있는 스택 태스크를 자동 삽입하거나, 직접 붙인다. 중복 탐지의 결과가 Search 뷰에 나타난다. (그림 9) 매치가 이루어지면, 이것을 열고, 새로운 버그 리포트를 만드는 대신 코멘트를 단다.

그림 9. 통합된 버그 리포팅과 중복 탐지

편집과 동기화

Bugzilla 태스크를 열면, 에디터 상에 Bugzilla와 Planning 탭을 볼 수 있다. 저장소 커넥터는 저장소에서 공유되는 태스크 정보를 편집하기 위해 Bugzilla 탭 같은 풍부한 에디터를 제공한다. 또한, Planning 탭은 개인용 노트를 만드는데 로컬 태스크에 있었던 것과 같은 장치를 제공한다.

버그에 있는 코멘트를 볼 때, Outline 뷰를 사용하여 코멘트들간 검색할 수 있지만, 읽지 않은 코멘트의 자동 폴딩(folding)은 대부분의 네비게이션이 Task Editor 자체에서 수행될 수 있다는 것을 의미한다. 다른 태스크와 다른 구조화 된 엘리먼트(자바 스택 트레이스 엘리먼트)에 대한 레퍼런스가 하이퍼링크 된다. (그림 10과 그림 1) 하이퍼링크의 신택스는 커넥터 전용이다. 일반적으로, 태스크 에디터의 좌측 상단에서 보게 되는 같은 레퍼런스는 버그를 하이퍼링크로 연결하는데 사용될 수 있다. 커넥터의 웹 UI에 의해 지원되는 대안 신택스들 역시 지원된다. task <key> 신택스는 언제나 지원된다.

그림 10. 저장소 태스크 에디터와 콘텐트 어시스트

커넥터가 오프라인 편집을 지원하면, Mylyn은 상응하는 쿼리나 태스크가 동기화 될 때마다 이 카피를 열고 업데이트 하는 태스크의 캐싱된 카피를 관리한다. 애트리뷰트를 설정하거나 코멘트의 부분들을 합성하는 것 같이 어떤 변경이라도 있으면, Ctrl+S를 눌러서 변경 사항을 로컬로 저장한다. 이로써, 태스크들은 아웃고잉(outgoing) 인디케이터를 얻게 된다. 태스크를 제출 할 준비가 되면, 에디터 하단에 있는 Submit을 클릭한다.

태스크가 이전에 열렸다면, 이것을 다시 열면 오프라인 카피를 가져오게 되고, 태스크의 백그라운드 동기화를 시작한다. 여러분은 태스크를 읽고 작업을 시작하기 전에 서버로의 라운드 트립을 기다릴 필요가 없다. 새로운 인커밍 변화가 발견되거나, 누군가가 에디터가 열려있는 동안 태스크를 변경한다면, 에디터의 타이틀 바는 이를 가리키고, 에디터를 리프레시 할 것을 명령한다.

팁: 이메일 인박스 정돈하기

Mylyn의 백그라운드 동기화 덕분에, Bugzilla의 버그 리포트 변경 사항을 알기 위해 이메일 공지에 의존하지 않아도 된다. 여러분이 관심 있는 (예를 들어, 복사했던 모든 리포트 같은) 모든 태스크를 캡쳐하는 쿼리를 설정하면, 인박스에 과부하를 주지 않는 깔끔한 인커밍 화살표의 형태로 공지를 받을 수 있다. Window > Preferences > Mylyn > Tasks를 선택함으로써 동기화 스케줄을 설정한다. 트리에서 노드를 오른쪽 클릭하고 Synchronize를 선택함으로써 쿼리와 태스크를 직접 동기화 할 수 있다.

누군가가 저장소의 태스크를 변경한다면, 예를 들어, 새로운 주석을 추가한다면, 팝업 창이 스크린의 오른쪽 밑에 나타나서 변경 사항을 알려주고, 태스크는 인커밍 화살표를 사용하여 보여진다. 인커밍 변화를 요약한 툴팁을 보려면 태스크 위에 마우스를 댄다. 태스크가 열리면, 변경 사항이 하이라이트 되고, 추가되었던 새로운 코멘트가 자동으로 확장된다. 로컬 카피와 서버의 카피가 변경되었다면, 빨간색 충돌 모양의 인디케이터가 나타나고, 문제를 해결하라는 프롬프트가 뜬다. 충돌 모양을 보게 되면, 태스크가 태스크 에디터의 Synchronize 버튼을 통해 동기화 되고, 변경 사항을 제출했는지 확인하거나, 팝업 메뉴의 Mark > Clear Outgoing을 통해 이들을 버린다.

첨부 파일

태스크 에디터의 Attachments 섹션에서 Add... 버튼을 사용하여 저장소에 첨부 파일을 추가할 수 있다. 워크스테이션에서 윈도우 매니저에서 파일이나 텍스트를 에디터의 Attachments 섹션으로 가져올 수 있다. 첨부 파일을 추가하면, 첨부 파일들이 클립보드 콘텐트, 컴퓨터 상의 파일, Eclipse 워크스페이스 중 어디에서 생성되는지를 선택할 수 있는 마법사가 호출된다. Attachments 테이블에서는 웹 브라우저나 에디터에 첨부 파일을 열고 저장 또는 클립보드로 복사하기 같은 콘텍스트 메뉴를 통해 특정 액션을 수행한다.




위로


태스크 관리와 개인 플래닝

이제, Mylyn에 싱글 태스크 리스트와 주간 작업일에 관련된 모든 태스크를 관리하는 인박스를 만드는 방법을 설명하겠다. 많은 개발자들의 경우, 주어진 주간 작업일에 트래킹 및 스케줄링 되어야 할 태스크 범위는 다음과 같다:

  • 작업하고 있는 제품을 위해 해결해야 하는 결점과 기능
  • 짝을 이룬 동료들에 의해 수행되거나, 멘토링 또는 관리되어야 할 태스크
  • 프레임웍, API, 소프트웨어와 관련한 버그 리포트
  • 개인적인 to-do 아이템과 리마인더

이 모든 태스크들을 하나의 뷰로 통합하면 다음에 해야 할 일을 보기 위해 한 곳만 보면 되므로, 관리가 더 쉬워진다. 태스크 관리를 더욱 잘 활용하기 위해서, Mylyn은 스케줄링 및 연기 태스크와 XP 스타일 개발의 직접성과 적응성 같은 일반적으로 인식된 태스크 관리 베스트 프랙티스를 실현했다. Mylyn의 태스크 관리 툴을 사용하여 장기적인 우선 순위를 잃지 않으면서 한 주 동안 쉽게 변화하는 요구 사항들의 변화에 쉽게 적응할 수 있다. 주간 작업일의 제어하는 것 외에도, Mylyn은 Eclipse를 떠나지 않은 채, 마일스톤과 우선 순위 같은 공유 저장소 애트리뷰트를 만듦으로써 팀 프랙티스와 통합할 수 있도록 해준다.

Scheduled Date 대 Due Date

Mylyn은 스케줄링 목적으로 두 가지 종류의 날짜를 제공한다: scheduled datedue date. (이 두 가지가 태스크 에디터에 나타났다는 것을 알 수 있다.) Scheduled Date는 주 노동 시간을 관리하고 우선 순위를 정하는 것을 돕는 반면, Due Date는 데드라인 같은 고정된 이벤트에 해당한다.

태스크의 Scheduled Date는 우선 순위 변경에 따라 쉽게 연기될 수 있는 개인용 스케줄링을 위한 소프트(soft) 데이트이다. 그 태스크에 대한 작업을 시작하는 시간을 정한다. 태스크가 이 Scheduled Date에 해당하면, 태스크는 빨간색으로 변하고 작업을 시작하거나 시작일을 미뤄야 함을 알려준다. Today로 스케줄링 된 태스크는 빨간색 대신 파란색으로 변하고, 작업일의 끝에 스케줄링 되기 때문에, 작업일에 태스크를 재 스케줄링 할 필요가 없다.

반대로, 태스크의 Due Date는 고정된 날짜이다. 태그가 완료되어야 하는 날짜이다. 이것은 데드라인 같은 외부적 제약 조건과 관련이 있다. 공유 태스크 저장소나 캘린더링 툴을 사용한다면, Due Date는 동기화 되어 다른 팀 멤버들도 볼 수 있다. 예를 들어, Bugzilla의 타임 트래킹(time-tracking) 장치가 실행되면, Bugzilla 태스크용 Due Date는 태스크 에디터의 Attributes 섹션 내의 Time Tracking 섹션을 통해 설정될 수 있고 다른 팀 멤버들이 편집할 수 DT다. Due Date의 존재는 해당 날짜 전에는 파란색, 그 날짜 후에는 빨간색이 되는 태스크 아이콘 상의 작은 시계로 표시된다.

주 노동 시간에 집중하기

Mylyn으로 태스크 생성과 공유가 쉽기는 하지만, 일단 이것을 사용하기 시작하면, Task List는 곧 수십 개 또는 수천 개의 태스크들로 넘쳐날 것이다. 이러한 현상은 Mylyn의 초기 사용자들에게 일어났으며, 필자도 그 중 하나다. 아마도 필자가 최초의 사용자였기 때문에, 필자의 현재 Task List에는 5천 개 이상의 태스크들이 있고, 이중 천 개 이상이 미완이다. 이것은 정보 오버로드를 줄이고자 하는 Mylyn의 목표에 배치된다. 이를 해결하기 위해, Mylyn은 태스크의 스케줄링과 연기에 체계화 된 장치들을 제공하고, 이러한 정보를 사용하여 주 노동 시간에 관련된 태스크들만 보여주는 Task List에 집중한다. 새롭게 생성된 태스크들은 생성일에 대해 스케줄링 되고, 태스크 에디터의 Planning 섹션이나 콘텍스트 메뉴를 통해서 나중 시간 또는 날짜로 빠르게 연기될 수 있다.

태스크가 Scheduled Date에 도달하면, 태스크와 컨테이너(쿼리)는 빨간색으로 변하고, 팝업 창이 리마인더로서 데스크탑에 나타난다. (다른 Mylyn 색상과 폰트 설정과 마찬가지로, Window > Preferences > General > Appearance > Colors and Fonts에서 태스크 강조 선호도를 설정할 수 있다.) Window > Mylyn > Tasks > Scheduling에 설정된 작업일의 시작은 미래 날짜로 연기될 때 태스크가 스케줄링 되는 시간을 정한다. 작업일의 끝을 변경하면 그 날에 스케줄링 된 태스크들이 지난 것인지 여부를 파악한다.

Mylyn의 태스크 관리 모델의 핵심은 관심 기반 랭킹과 필터링인데, 이것은 Task List 툴바의 Focus on Workweek 액션을 통해 활성화 할 수 있다. 포커싱은 주 노동 시간에 관련된 태스크들만 보이게끔 한다. 여기에 속한 태스크들은:

  • 그 주에 스케줄링 되거나 Scheduled Date를 지나친 태스크.
  • 인커밍 변경과 코멘트가 있는 저장소 태스크.

그림 11에서 보듯, 태스크에는 색깔이 있고 다음에 무엇을 할 지 빠르게 구분할 수 있도록 분류된다:

  • 시일이 지난 태스크들은 빨간색이고, 언제나 리스트의 위에 있다.
  • 오늘 날짜의 태스크는 파란색이다.
  • 그 주의 후반에 스케줄링 된 태스크는 검정색이다.
  • 오늘 완료된 태스크는 녹색이다.
  • 이전에 완료된 태스크들은 회색이다.
그림 11. 태스크 스케줄링

한 번에 하루씩

태스크를 쉽게 스케줄링 하고 연기할 수 있게 하고, 해당 주에 스케줄링 된 태스크들로 뷰를 제한함으로써, Mylyn은 전체적인 우선 순위 관점에서 관리할 수 있도록 한다. 작업일을 명확히 하기 위해, Mylyn은 현재 요일에 스케줄링 된 모든 태스크들을 파란색으로 강조한다. 포커스 모드에서 작업할 때 스크롤바를 비교적 덜 보기 때문에, Task List는 확장된 채로 있고, 따라서, 다음에 해야 할 일에 대해 언제나 알 수 있다.

Mylyn의 태스크 포커싱 장치를 사용하여 관리되는 주 노동 시간 예제를 생각해 보자:

  1. 주의 시작에, 태스크 리스트에는 그 주에 이전에 스케줄링 되었거나 연기된 수 많은 빨간색 태스크들이 있다.

  2. 빨간 색은 그렇게 좋은 색깔은 아니기 때문에, 콘텍스트 메뉴를 사용하여 각 태스크를 오늘 또는 다른 날로 스케줄링 한다. 빨간색이 모두 사라지면(오늘 날짜는 파란색, 주 후반에 해야 할 일은 검은색), 주의 스케줄을 조사하여 이것이 현실적인지를 파악하고 태스크를 필요한 만큼 연기하거나 위임한다.

  3. Task List가 포커싱 되어 있는 한, 녹색의 진행 바(그림 11의 Task List 상단에 보임)를 통해서 주 노동 시간에 너무 많은 태스크들을 스케줄링 하지 않았는지를 검사한다. 일부 태스크들이 특별히 더 길다면, 태스크의 Planning 섹션을 열어서 시간을 조정하고, 주 노동 시간 상태 바는 이에 따라서 조정된다.

  4. 작업일의 끝에, 여러분이 완료한 모든 태스크들은 행복한 녹색이 된다. 나머지 파란색이나 빨간색 태스크를 검토하고, 이 태스크를 내일 또는 미래의 특정 날짜로 연기한다.

  5. 다음 날의 시작에, 그 날로 스케줄링 된 모든 태스크들이 파란색이 되고, 날짜가 지난 태스크들은 빨간색이 된다. 작업일을 조정하면, 태스크들을 그 주의 나중 날짜로 연기하기 때문에, 보여지는 파란색 태스크는 그날 수행할 수 있는 모든 것을 나타낸다. 태스크를 완료하면, 녹색이 된다.

  6. 주 노동 시간의 끝에서는, 스크롤바는 사라지고, 리스트 상의 대부분의 태스크들이 녹색이 된다.

태스크 스케줄링은 태스크 관리의 주요 부분이기 때문에, Mylyn은 Task List에 Scheduled 프리젠테이션을 제공하는데, 이것은 카테고리와 쿼리 대신 해당 날짜 별로 태스크들을 구성한다. 포커스 모드에서, 프리젠테이션은 그 주의 각 요일에 완료해야 하는 모든 태스크들을 보여준다. 이것은 그 주를 통해 워크로드의 균형을 맞추는데 유용하다. 또한, 새로운 코멘트가 있는 스케줄링 되지 않은 태스크들이 나타나지 않기 때문에 공유 태스크를 사용할 때 특히 유용하다. 새로운 인커밍을 체크하기 위해, Categorized 프리젠테이션으로 가서, 우선 순위를 재 조정하고, 스케줄에 초점을 맞춘다. 포커스 모드에 있지 않을 때, 스케줄링 된 프리젠테이션을 사용하여 앞으로의 주에 태스크 로드의 균형을 맞춰서 Next Week 컨테이너를 검사하여 얼마나 많은 태스크들이 연기되었는지를 확인한다.

작업 세트 만들기

지금까지 설명했던 모든 장치들이 Task List를 유연한 방식으로 스케줄링 할 수 있는 관련 태스크들의 통합 세트로 만든다. 태스크들은 쿼리들을 사용하여 그룹핑 될 수 있고, 저장소 커넥터가 이들을 지원한다면 하위 태스크들로 중첩될 수 있다. (Bugzilla 커넥터가 하는 것처럼, Task List 뷰 메뉴에서 옵션을 실행한다.) 하지만, Mylyn 2.0의 작업 세트(working set) 지원으로, 완전히 관련이 없는 태스크들을 작업할 수 있다. 하나의 제품과 두 개의 다른 오픈 소스 프로젝트에 대한 작업을 한다고 가정해 보자. 주요 제품에 초점을 맞춰 작업일의 대부분을 보내겠지만, 여전히 다른 프로젝트를 체크하는 옵션도 있다. Mylyn의 작업 세트로는 특정 제품과 관련된 쿼리와 카테고리를 그룹핑 할 수 있고 Eclipse 워크스페이스에서 보는 파일과 기타 리소스의 수를 조정하는 장치도 제공한다.

팁: Show all

작업 세트 스위처 드롭-다운에서 Show All을 선택하여, 마치 작업 세트를 설정하지 않은 것처럼, 모든 엘리먼트를 볼 수 있다. 이는 Task List 전체를 주기적으로 보는데 유용하다.

Task List의 상단에 스위처 바를 사용하여, 관련 쿼리, 카테고리, 워크스페이스 리소스를 포함하는 작업 세트를 만든다. (그림 12) Eclipse 뷰가 Window Working Set (기본)을 보여주도록 설정되는 한, Mylyn 작업 세트를 변환하면 Task List와 Eclipse 뷰 모두 작업 세트의 일부인 태스크와 프로젝트만 보여준다. 예를 들어, 오픈 소스 프로젝트들 중 하나를 위해 작업 세트를 설정하고 이것을 드롭 다운으로 실행한다면, Eclipse Task List, Package Explorer, Problems 뷰는 그 프로젝트와 관련된 콘텐트만 보여준다. Task List Find 장치는 작업 세트 내의 매치만 보여준다. Search (Ctrl+H) 범위를 정해서 Working Set에 있는 것만 찾을 수 있는데, 이는 큰 워크스페이스를 갖고 있을 경우 매우 유용하다. 다시 말해서, 전체적인 Eclipse는 여러분이 만들었던 작업 세트와 관련된 것만 보여준다. 작업 세트는 워크스페이스의 난잡함을 줄이고, 여러 워크스페이스를 사용해야 하는 필요성을 줄인다. Part 2에서는, Eclipse에서 보이는 것의 범위를 싱글 태스크로 조정하는 방법을 설명하겠다.

그림 12. 작업 세트 편집 및 토글링

필터링, 분류, 검색

자동화 된 장치 외에도, Mylyn은 수동 분류와 필터링 장치를 제공한다:

  • 뷰 메뉴의 Sort by 엔트리에서 Priority 같은 애트리뷰트 분류.
  • 뷰 메뉴에서 Filter Priority Lower Than 엔트리를 사용한 우선 순위 별 필터링.
  • 뷰 메뉴를 통한 모든 Archive 카테고리와 완료 태스크 필터링(포커스 모드로 자동 바뀌도록 권장)
  • Go Into (포커스 모드 작업 권장)를 클릭함으로써 특정 카테고리나 쿼리에 있는 태스크들을 위한 필터링
  • 드래그&드롭을 사용하여 태스크들을 수동으로 분류하기; 저장소 태스크들을 카테고리로 분류하기.

그림 13은 수동 Task List 필터를 보여준다:

그림 13. 수동 Task List 필터

수동 검색과 필터링은 다양한 필터와 분류기를 반복적으로 토글링하는데 필요한 부담을 나타낸다. 이것은 기본 연산 모드에는 권장되지 않지만, 플래닝과 구성에는 유용하다. Focus on Workweek이 활성화 되면, 수동 필터링과 분류 설정이 실행 불가로 된다. 포커스를 토글링 하여 이를 복원한다.

Task List를 구성할 때, Move to Category 콘텍스트 메뉴 또는 콘텍스트 메뉴의 Remove from Category를 선택함으로써 태스크를 이동할 수 있다. 콘텍스트 메뉴를 통해서 명확히 삭제하지 않는 한, 쿼리에서 사라지거나, 카테고리에서 사라지겠지만, Task List에서 어떤 태스크도 사라지지 않는다. Task List의 상단에 있는 Find 바는 Archive와 다른 곳에 있는 오랜 태스크들을 검색할 수 있는 편리한 방법이다. Clear 버튼을 클릭하거나 Esc 키를 누르면 이전에 보였던 태스크들이 복원된다. Archive 컨테이너는 쿼리를 생성하는 일반적인 방식이 해결된 태스크들을 배제하는 것이기 때문에 코멘트가 달린 이전에 해결된 태스크들을 보는데 유용하다. (쿼리 설정 권고 참조)

백업과 반출

팁: 태스크 데이터 공유하기

여러 워크스페이스에서 작업할 때, Import를 사용하여 태스크를 가져오는 대신, Window > Preferences > Mylyn > Tasks를 설정하여 태스크 데이터 디렉토리가 공유 위치가 되도록 설정할 수 있다. 네트워크 드라이브에 위치를 둔다면, 이것이 자주 액세스 될 것이므로 빠른 연결을 통해 사용할 수 있어야 한다. 이는 워크스페이스 위치를 직접 관리하는 사용자들을 위해 권장되는 고급 옵션이다.

태스크 중심 방식으로 작업하면 할수록, Task List는 더욱 가치가 있다. Task List의 자동 백업은 기본적으로 실행되고, Window > Preferences > Mylyn > Tasks로 백업 디렉토리를 설정할 수 있다. 백업에서 복원하려면, 상응하는 라디오 버튼을 선택하고 백업 스냅샷을 선택한다. 기본적으로, Mylyn은 매일 태스크 데이터 모두를 찍고, 30일 동안 백업을 관리한다. (Preferences > Tasks를 통해 설정). File > Export를 클릭하여 태스크를 반출할 수 있다.




위로


Part 1의 결론

Mylyn 사용 가이드 Part 1에서는, Mylyn의 태스크 관리 장치에 대해 설명했다. 이러한 장치들이 개인적인 태스크 관리를 어떻게 지원하고, 전체적으로 Bugzilla 같은 웹 기반 이슈 트래커들을 Eclipse로 어떻게 통합하는지를 살펴보았다. 또한 Mylyn에 의해 관리되는 전형적인 주 노동 시간 또는 작업일을 설명했고, Task List를 관리 하는 방법도 설명했다.

Task List 뷰는 태스크 저장소들이 얼마나 많은지 상관 없이, 모든 작업을 관리할 수 있는 하나의 장소를 제공한다. Eclipse에서 더 많은 작업 시간을 보낼 수 있고, 외부 브라우저 윈도우로 끊임 없이 변환하는 대신 생산성을 높일 수 있다. 또한, 드래그&드롭 첨부 파일과 오프라인 지원 같은 웹 기반 이슈 트래커로 더욱 풍부한 혜택을 누릴 수 있다.

이것이 Mylyn의 전부가 아니다. 태스크가 작업의 확실한 일부가 되면, Mylyn은 그 콘텍스트를 자동으로 관리한다. 본 시리즈 Part 2에서는 Mylyn의 콘텍스트 관리 장치를 보여주고, 정보 오버로드를 줄이고, 정보 오버로드를 줄이며, 하나의 클릭으로 멀티 태스킹을 수행하는 방법을 설명한다. 지금 바로 Part 2로 가기 바란다.



참고자료

교육
제품 및 기술 얻기

토론


필자소개

Mik는 Xerox PARC의 연구원으로서 aspect 지향 프로그래밍 툴을 만들었으며 eclipse.org/aspectj 프로젝트에 기여하고 있다. 브리티시컬럼비아대학교에서 박사 과정에 있는 동안, 태스크 중심 인터랙션 기술을 개발했으며 eclipse.org/mylar 프로젝트를 이끌었다.

Eclipse Java Project 를 Dynamic Web Project 로 변환하는 방법

[os.ide.etc.]

1. WorkSpace 이하 프로젝트 폴더로 이동
2. .project 파일을 연다.
3. 소스중 natures 라는 부분 안에다가 아래 내용을 삽입한다.

    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>


4. eclipse를 다시  시작하거나 혹은 eclipse 가 열려 있었다면 프로젝트로 이동해서 새로고침후 변경내용을 적용한다.

5. Package Explorer 에서 해당 프로젝트의 properties 를 열어서 project facets 에 들어간다.

5. Java 와 Dynamic Web Modules 를 추가해 준다.

* 만약 WebContent 디렉토리 명을 바꾸고 싶다면
프로젝트 폴더 안에 있는 .setting/org.eclipse.wst.common.component 파일을 열어 WebRoot 를 다른 이름으로 바꿔주면 된다.

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="ArticleService">
        <wb-resource deploy-path="/" source-path="/WebContent"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
        <property name="context-root" value="ArticleService"/>
        <property name="java-output-path"/>
    </wb-module>
</project-modules>

OS-Linux 우분투에서 vmware 설치하기

[os.ide.etc.]
window 환경이 아니면 안되는 것이
아무래도 안되는 것이 몇가지 있다.

멀티 부팅으론 아무래도 불편한점이 없잖아 있다.

아무래도 방법은 vmware 류의 가상 머신인 것 같다.

우분투에서 vmware를 설치하다.
결국 우분투를 새로 설치하는 지경에 이러렸다.
다분히 지식의 부족으로 인해 재 설치다..

나 같이 vmware 설치를 원하는 사람이
나와 같은 실수로 전체를 새로 설치하는 과정은 격지 않기를 바라며
포스팅 한다..


1. 목차
  vmware-server 다운받기.
  vmware patch 다운받기.
  xinetd 설치.
  vmware-server 시디키 구하기.
  vmware-server 설치.
  vmware patch 설치.
  vmware 작동을 위한 link 추가.
2. vmware-server 다운받기.
  http://www.vmware.com/ 를 참조 하셔도 됩니다.

  wget -c http://download3.vmware.com/software/vmserver/VMware-server-1.0.6-91891.tar.gz

3. vmware patch 다운받기.
  wget -c http://downloads.howtoforge.com/vmware_server_on_f8_2.6.24/vmware.tar.bz2
  사실 “우분투 vmware 패치” 등으로 검색 하면 다른 많은 경로를 발견 할수 있다.

4. xinetd 설치.
 외국 포럼등에서 vmware 설치 문의글에선
 필수 설치로 xinetd를 하라고 한다.
 
 sudo apt-get install xinetd

5. vmware-server 설치.
  vmware-server 다운받은 경로에서

 tar xf VMware-server-1.0.6-91891.tar.gz

 하면 vmware-server-distrib 이름의 디렉토리가 만들어 진다.
 디렉토리로 이동해서
 sudo ./vmware-install.pl
 해준다.

 설치를 위해 여러 경로를 질문 받게 되는데
 디폴트 경로를 미리 보여 주며, 엔터만 누르면 미리보여준 경로로
 작업을 진행한다.
 디폴트 경로로 끝까지 진행 하면 된다.
 
 나같은 경우엔 설치시 영문판을 선택하고 설치 했었는데.
 영문판의 경우 man 의 경로가 디폴트 경로에서 잘못 표기되어 나온다.
 영문판에선 /usr/bin/man/ 이고 한글과 일본어 판에선 /usr/share/man/
 으로 보인다.
 이건 확실한것이 아니라 내가 한글과 일본어로 설치 해 보았을 경우 그랬다는 것이다.

6. vmware patch 설치.
 왜 인지 모르겠으나 패치를 해주라고 한다.
 이유는 모르겠으나 이유를 찿게 되면
 추가 글 을 올리도록 하고 일딴 패치 하자.

 다운 받은 vmware.tar.bz2 를 풀면
vmware 디렉토리가 말들어 지며, 패치 파일이 들어 있다.

 tar xf vmware.tar.bz2
 cd vmware

 vmware 디렉토리안에 readme.txt 파일을 열어 보면
 경로를 제시 하면서 그 경로로 덮어 쓰라고 하는 글이 있다.
 간단 명료하니 맘에 든다.

 
 Damit "vmware-config.pl" auf einem 2.6.24-Kernel
 durchlaeuft die 3 tar-Files einfach nach
 "/usr/lib/vmware/modules/source"
 kopieren

 
 sudo cp * /usr/lib/vmware/modules/source/
 하면 패치는 되었다.

7. vmware-server 작동을 위한 link 추가.

 sudo cp /lib/libgcc_s.so.1 /usr/lib/vmware/lib/libgcc_s.so.1
 sudo cp /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0

 여기 까지가 끝이다.
 이제는 그나마 좀 가벼운 window 95나 98 따윌 깔고
 윈도에서만 사용 가능한 것들을 이용하자.

 그나마 은행권에서 뱅킹을 리눅스에서도 가능하게 지원하고 있다.
 vmware도 내 경우 오래되지 않아 안쓰게 될것 같다.
 
 

 vmware 설치를 위해 참조한 사이트
 http://ubuntuforums.org/showthread.php?t=779934

OS-Linux 우분투에서 네이트온 설치하기

[os.ide.etc.]


먼저 네이트온 사이트에서 우분투용 네이트온을 다운 받는다.

http://kldp.net/projects/nateon/


이 주소로 가면 각종 리눅수 별 네이트온이 있는데 거기에서 자신의 OS에 맞는 리눅스를 다운 받으면 된다.(우분투 8.04버전)

http://kldp.net/frs/download.php/4653/nateon-1.0-0513_i386.deb (링크주소)

nateon-1.0-0513_i386.deb 와 같은 파일이 받아 졌을 것이다. 나는 이 파일을 받자마자 윈도우에서 설치하듯이 더블클릭을 했더니 오류가 났었다. --; 검색해보니 먼저 설치해 줘야 하는것들이 있었다.

터미널창에서 관리자 권한으로 다음과 같은 꾸러미를 설치한다.
# sudo apt-get install alien


만약 설치 과정에서 의존성 오류가 난다면 다음과 같은 명령어로 해결할 수 있다.
#apt-get -f install


위 명령어 후 alien 을 설치하면 문제 없이 alien 꾸러미가 설치되는 것을 알 수 있다.
여기까지 완료했다면 이제 네이트온 패키지를 설치하면 된다. 네이트온 파일이 있는 디렉토리에서 다음과 같은 명령어를 준다.

#sudo dpkg -i nateon-1.0-0513_i386.deb
이렇게 하면 네이트온 설치 끝.

실행은 우분투의 프로그램-> 인터넷에 보면 네이트온이 있다!!

윈도우 버전에 비해서 이것저것 부족한게 많지만 그래도 리눅스에서 네이트온을 쓸수있다는게 대단한것 같다.

OS-Linux 컴피즈퓨전 설치후 관리자 설치 및 설정방법

[os.ide.etc.]

# 컴피즈-퓨전 다듬기


1) 관리자 설치
컴피즈-퓨전 설정을 바꾸려면 먼저 관리자를 설치해야 합니다.

sudo apt-get install compizconfig-settings-manager

관리자는 [시스템]-[기본 설정]-[Advanced Desktop Effects Settings] 또는 [모양새]에서 화면효과탭에 있는 '기본설정' 버튼을 눌러 실행할 수 있습니다.

2)
반드시 켜놓아야 하는 것들

컴피즈-퓨전은 특수효과(?)를 제공하지만 기초적인 윈도우 동작도 제어할 수 있습니다.
일부 기능을 끌 경우 컴퓨터 사용을 제대로 할 수 없게되기 때문에 아래 사항들을 참고해 반드시 켜놓을 것을 권합니다.

Effects
중에서
Window Decoration:
테두리(border)와 제목막대(title bar)가 사라집니다.

Window Management
중에서
Move Window:
꺼놓으면 창을 움직일 수 없게 됩니다.
Place Windows:
꺼놓으면 좌측 상단에서만 새 창이 열립니다. 제목막대가 패널에 가려져 불편합니다.

Uncategorized
중에서
Resize Window:
꺼놓으면 윈도우 크기를 바꿀 수 없게 됩니다.


3)
색다른 화면전환

컴피즈-퓨전은 어플리케이션 간에 전환하는 방법을 3가지 제공합니다. Window Management에서 제공되는 전환기(switcher) 세가지 중에서 마음에 드시는 것을 쓰시면 됩니다.

Application Switcher:
흔하게 볼 수 있는 화면 전환기로 Alt + tab 키로 작동합니다.
Ring Switcher:
실행중이 어플리케이션이 둥글게 원을 형성해 그중 하나를 고르는 방식. super (window) + tab 키로 작동합니다.
Shift Switcher:
한 장씩 책을 넘기듯 어플리케이션을 고를 수 있습니다. super + tab 키로 작동합니다.


4)
큐브 사용하기


컴피즈-퓨전의 대표적인 효과 중 하나인 큐브를 실행하려면 아래 사항들을 켜야합니다.

Desktop
중에서 Desktop Cube, Rotate Cube
큐브 위와 아래 부분에 뚜껑 그림을 설정하고 싶으면 Utility 중에서 Cube Caps 선택.

Ctrl+Alt+
마우스 왼쪽 버튼을 눌러 잡은(hold) 상태에서 이리 저리 움직여보면 큐브가 움직입니다.
정육면체 큐브를 만들려면 작업공간표시창(기본 2)에서 오른쪽 버튼을 클릭- [기본 설정]에서 Columns4개로 늘려주면 됩니다.


*Alt+Winstart (윈도우키): 컴피즈-퓨전 사용시 마우스로 화면에 낙서 가능. 컴피즈-퓨전의 'Extras(추가 기능)''Annotate(주석)' 기능을 사용하도록 설정해야 합니다.
*Alt+Winstart+K: 앞서 낙서한 것 지우기
*Alt+Ctrl:
컴피즈-퓨전 상자(큐브) 돌리기
*Winstart+
마우스버튼1: 영역을 설정해 그림잡. 키를 누르고 있는 동안 마우스를 움직여 영역을 정해주면 그림으로 잡아줍니다.(capture) 컴피즈-퓨전의 'Extras(추가 기능)''Screenshot(화면찍기)' 기능을 사용해야 합니다. 또한 Screenshot 설정에서 기본 Directory'Desktop'으로 돼 있는 것을 /home/(사용자명)/바탕화면 으로 바꿔주셔야 합니다.
*Ctrl+Alt+[
화살키]: 버추얼데스크탑 이동시 사용됩니다. 왼쪽은 왼쪽으로, 오른쪽은 오른쪽으로 돌리고, 돌리고... 

OS-Linux - 우분투 8.04 에서 퓨전 아이콘 설치하기

[os.ide.etc.]
2년전 우분투 6.x 를 설치해봤었는데... 그당시 Desktop 운영체제로 그런데로 쓸만했지만 윈도우를 쓰던사람에게는
이것저것 불편한게 많았었다.
우연히 검색을 하다가 8.04 버전이 나온것을 알았고, 우분투 측에 CD요청을해서 설치 CD 5개를 받아서 동료들에게 한장씩
나누어주고 한번 설치해봤다.

8.04버전은 예전보다 많이 발전된 모습이였다.

아마 우분투 설치를 하는 유져라면 누구나 베릴을 설치해 보고싶어할것이다.
바탕화면이 3D로 전환되는 모습은 정말 판타스틱(?) 하다.

나도 첨에 베릴을 설치해보려고 했는데 뭐가 안되는건지... 여러번 시도하다 결국 포기하고...

우연히 퓨전아이콘을 알게되었다.

퓨전아이콘은 베릴기능하고 비슷하며 관리자 화면을 통해 데스크탑효과를 마음대로 설정할수 있었다.

진작 알았으면 좋았을껄... --;

암튼 퓨전아이콘 설치를 시작해보자.

설치는 정말정말 간단하다.

설치 $ sudo apt-get install fusion-icon
실행은  알트+F2 프로그램 실행 창에서 fusion-icon 입력으로

이상 설치 끝...ㅎㅎㅎ

퓨전아이콘을 실행하면 시스템 트레이에 퓨전아이콘 모양이 생긴다.

사용자 삽입 이미지














시스템 부팅마다 퓨전아이콘을 자동으로 실행하려면 시작프로그램에 등록해주면된다.

사용자 삽입 이미지



























 -누군가 유튜부에 올린 컴피즈퓨전 실행 동영상이다. (캠코더를 사야겠군... --;)