이곳은 생각정리도우미 프로젝트를 위한 위키 페이지입니다. KLDP.NET의 게시판보다는 위키를 이용해서 문서를 관리하는 것이 더 편리할 것 같아서 앞으로는 이곳을 이용해서 문서를 관리하도록 하겠습니다. --[이신] [[DateTime(2005-09-12T14:18:21)]] [[TableOfContents]] === 소개 === [생각정리도우미]는 outliner 류의 프로그램입니다. Outliner란 트리 구조로 문서를 작성하도록 도와주는 일종의 편집기로서, 인터넷에서 outliner로 검색을 해 보면 여러 종류의 outliner들을 만날 수 있습니다. 머리속의 복잡한 생각을 정리할 때, 아이디어를 정리할 때, 문서 초안을 잡을 때, 하루나 일주일의 할 일을 관리할 때 등등 이런 상황에서의 outliner는 아주 적절하고 좋을 도구입니다. 이 프로젝트로 통해서 만들고 싶은 것은 기본에 충실하면서도, 사용이 간편하고, 매뉴얼 없이도 직관적으로 사용할 수 있는 outliner를 만드는 것입니다. 관심있는 분들의 많은 참여와 조언 부탁드립니다. * 생각정리도우미 프로젝트 페이지 * http://kldp.net/projects/thinkout/ * 생각정리도우미 위키 페이지 * http://wiki.kldp.org/wiki.php/생각정리도우미 * 프로젝트 멤버 * [이신] * 프로젝트 관리자 * http://wiki.kldp.org/wiki.php/이신 === 개발 계획 === * 개발 진행 과정 * 전체적인 진행 과정 * 계획 -> 설계 -> 구현 * 계획 단계 (1 개월: 2005.09) * 요구사항 작성을 주 목적으로 한다. * 구현 범위를 설정한다. * 대략적인 일정을 정한다. * 설계 단계 (2 개월: 2005.10 - 2005.11) * 요구사항들을 반영할 수 있는 기술적인 사항들에 대한 검토를 진행한다. * 이를 바탕으로 구현을 여러 태스크로 나누고 일정을 조정한다. * 구현 단계 (3 개월: 2005.12 - 2006.02) * 구현 단계는 여러 태스크로 구성되며, 각 태스크에서는 다음과 같은 일을 한다. * 계획 -> 설계 -> 테스트 케이스 작성 -> 기능 구현 * 테스트 케이스 작성 * 구현될 기능을 테스트할 항목들과 테스트 순서를 정한다. * 기능 구현 * '코딩 -> 테스팅 -> 디버깅'의 반복이다. * 개발 기간 * 최대 6 개월 * 개발 기간은 너무 길게 늘어지지 않도록 최대 6 개월을 기한을 정한다. * 정확한 일정과 개발 기간은 개발을 진행하면서 조정한다. * 개발 문서 형식 * 온라인 문서 * 위키를 통해서 작성한다. * 오프라인 문서 * 기본적으로 [생각정리도우미]에서 볼 수 있는 형식으로 만들도록 하고, 경우에 따라 적절한 형식을 선택하도록 한다. === 계획 단계 === ==== 기간 ==== * 3 주 (2005.09.12 - 2005.09.30) ==== 할 일 ==== * 프로젝트는 이미 C#으로 작성되어 있는 '생각정리도우미 Build20040204-7'을 시작으로 한다. * attachment:생각정리도우미/outliner-snapshot-2004.02.04-7.zip * 이 프로그램을 실행하기 위해서는 .NET Framework 1.1 재배포 가능 패키지가 필요하다. * http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3 * 생각정리도우미 Build20040204-7 Screenshot[[BR]]attachment:생각정리도우미-Build20040204-7-screenshot.jpg * 이를 기반으로 진행해야 할 일들은 다음과 같다. * 버그 목록 작성 * 관련 자료 수집 * 요구사항 목록 작성 ==== 이전 버전의 버그 목록 및 불편한 점 ==== * 문서 안에서의 트리 복사 기능이 없어 불편하다. * 문서의 부분 트리를 다른 문서로 복사하는 기능이 없어 불편하다. * 문서의 줄긋기 상태가 정확하게 저장되지 않는 경우가 있다. * 멀티라인 편집을 지원하지 않아, 한 문장이 긴 경우 가로 스크롤을 해야 하는 불편함이 있다. * 타 문서로의 링크 기능을 지원하지 않아 별도로 문서를 열어야 하는 불편함이 있다. * 체크박스 속성을 설정하면 문서 내 모든 트리가 체크박스 속성을 갖게 되는데, 지정하는 일부 트리에 대해서만 체크박스 속성을 설정할 수 있으면 좋겠다. * 숫자목록 속성이 없어서 일일이 문장 앞에 숫자를 써 주는 것이 불편하다. 형제 노드가 만들어질 때, 자동으로 수가 증가하는 숫자목록 속성이 있으면 좋겠다. * 프린터 출력 기능이 없어 불편하다. * Undo/Redo 기능이 없어 불편하다. ==== 관련 자료 ==== ===== 분석 자료 ===== * Outliner에 대한 Wikipedia의 정의 * http://en.wikipedia.org/wiki/Outliner * [http://gnomeoutliner.sourceforge.net GnomeOutliner]에서 분석한 기존 Outliner들 * http://wiki.silverorange.com/GnomeOutliner/Spec/PriorArt * Overview of Windows Outlining Programs * http://john.redmood.com/organizers.html * Expanding Brain Wiki * http://www.expandingbrain.com/wiki/doku.php * Outliner가 제공하는 기능들에 대한 설명 * http://www.expandingbrain.com/wiki/doku.php?id=outliner_features * 플랫폼별 Outliner 분류 * http://www.expandingbrain.com/wiki/doku.php?id=outliners ===== 파일 형식 ===== * OPML * http://www.opml.org/ * Outline Processor Markup Language ===== 기존 Outliner ===== * Bonsai * http://www.natara.com/Bonsai/ * 특징 * 전형적인 outliner * PDA 버전과 PC 버전으로 나뉘어져 있고, 서로 싱크가 가능하다. * 문서 자체를 트리로 구성할 수도 있고, 각 트리에는 별도의 텍스트 노트를 연결할 수 있다. * PocketThinker * http://www.pocketthinker.com/ * 특징 * Bonsai와 마찬가지로 PDA 버전과 PC 버전으로 나뉘어져 있고, 서로 싱크가 가능하다. * [http://www.microsoft.com/windowsmobile/ PocketPC] 만을 지원한다. * 간결한 인터페이스 * Outliner의 기본 개념에 충실하면서도 트리에 노트 연결 기능, URL 연결 기능, 우선순위 표시 기능, 날짜 표시 기능, Outlook과의 연동 기능 등을 제공한다. * WikidPad * http://www.jhorman.org/wikidPad/ * 특징 * 위키에 outliner의 트리 구조를 결합한 형태 * 문서 전체를 트리 구조로 구성하지 않는다. * 문서 자체는 위키 형식으로 되어 있고, 문서 내에 나열된 위키 워드만으로 트리 구조로 표현한다. 즉 문서 간의 링크 트리라고 할 수 있다. * 분석 * 문서 자체를 트리 구조로 구성하는 outliner와는 전혀 다른 형태로, 생각정리도우미에 이 개념을 적용하기에는 적합하지 않다. * 문서들을 위키 워드를 통해서 연결하는 개념은 유용하다. * 문서의 일부 트리만에 대한 내보내기 기능은 좋다. * KeyNote * http://www.tranglos.com/free/keynote.html * 특징 * 공개 소프트웨어 * 키들을 트리로 구성하고, 각 키에 대해 노트를 제공한다. * 노트에서 제공하는 편집 기능은 거의 워드프로세서 수준에 가깝다. * 분석 * 2 개 패널을 제공하는 형태의 outliner로 형태적으로는 WikidPad와 비슷하다. * 현재 버전 1.6.5, 2000년 8월 7일 릴리즈 이후, 2003년 11월 12일 업데이트 * 2.0 버전을 준비 중인 것으로 보인다. * 2.0 버전에서 제공할 기능들은 눈여겨 볼만 하다. * 다양한 노트 형태를 제공할 것으로 보인다. * 단순한 형태의 스프레드시트 * HTML 브라우저 * 이미지 뷰어 * Outliner extension for Mozilla/Firefox/Thunderbird * http://outliner.mozdev.org/ * 특징 * 2004.12.16 현재 0.5 버전에 머물고 있다. * Mozilla나 Firefox 기반의 outliner * TVO: The Vim Outliner * http://bike-nomad.com/vim/vimoutliner.html * 특징 * VIM 기반의 outliner * OmniOutliner * http://www.omnigroup.com/applications/omnioutliner/ * 특징 * 대표적인 상용 outliner * 트리에 외부 멀티미디어 파일 첨부 기능을 제공한다. * 트리마다 글자 속성을 지정할 수 있다. * 인라인 노트를 제공한다. * 깔끔하면서도 화려해 보이는 인터페이스 * 분석 * 상용으로 소스 코드 레퍼런스는 불가능하지만, 생각정리도우미가 제공할 기능을 정의할 때 많은 도움이 될 것으로 보인다. * GnomeOutliner * http://gnomeoutliner.sourceforge.net/ * http://wiki.silverorange.com/GnomeOutliner/ * 분석 * 현재 0.1 버전을 릴리즈 하고 구현된 기능도 단순해서 크기 도움 될만한 정보를 얻기는 힘들 것으로 보인다. * ToDoList * http://www.codeproject.com/tools/ToDoList2.asp - 코드프로젝트의 ToDoList 페이지 * http://www.abstractspoon.com/tdl_resources.html - ToDoList 리소스 페이지 * 특징 * 할일 및 일정 관리를 주 목적으로하고 있다. * 공개 소프트웨어로 MFC로 작성되어 있고, 코딩 시 레퍼런스로 삼을 만 하다. ==== 요구사항 및 지원 기능 설정 ==== * 기본 기능 * 트리 축소 * 트리 확장 * 체크박스 보이기 * 가로줄 보이기 * 줄 편집 * 위에 새 줄 삽입 * 아래에 새 줄 삽입 * 하위에 새 줄 추가 * 줄 삭제 * 위로 이동 * 아래로 이동 * 상위 수준으로 이동 * 하위 수준으로 이동 * 이하 모든 줄 축소 * 이하 모든 줄 확장 * 글꼴 설정 * 배경색 설정 * 줄간격 설정 * 읽기 전용으로 문서 열기 * 새글 작성하기 * 문서 열기 * 문서 저장하기 * 다른 이름으로 저장하기 * 내보내기 * HTML 파일 형식으로 * 텍스트 파일 형식으로 * 추가하는 기능 * 다중 문서 편집 기능 * 문서 내 또는 문서 간 트리 복사 기능 * 멀티-라인 편집 기능 * 문서 링크 기능 * 트리에 대한 독립적인 속성 설정 기능 * 트리에 대한 순서 나열 속성 설정 기능 * 아라비아 숫자 * 로마 숫자 * 알파벳 * 한글 자음 * 부분 트리에 대한 내보내기 기능 * 생각정리도우미를 통해서 위키 페이지를 업데이트하는 기능 * 프린터 출력 기능 * PDF 출력 기능 * Undo/Redo 기능 === 설계 단계 === * === 구현 단계 === * === 업로드 === [[UploadedFiles]] [[UploadFile]]