1

주제: BlogAPI 지원에 관한 문제들

1. http://설치경로/api 형태로 접근되는 api는 원래 BlogAPI 플러그인으로 제작된 것을 태터툴즈에 기본으로 넣은 것입니다.
   기존 접근 방식은 http://설치경로/plugin/BlogAPI 였는데, 바뀐 것이죠.

2. 블로그 API란 블로그의 기능의 일부(!)를 프로토콜로 접근가능하도록 만든것입니다. 처음에는 Blogger.com 의 Blogger API가 씌였는데, 이것은 제목을 따로 쓸 수 있는 공간이 없었고, 누군가가 이를 MetaWeblog로 잘 다듬어 배포한 것입니다.

3. 현재는 Blogger API 와 MetaWeblog API를 제공하고 있습니다.
3.1 API의 특징은, 등록, 편집, 삭제가 가능합니다.
3.2 하나의 편집기를 통해 등록한 글을 다른 편집기로 다운받아 편집도 가능합니다.

4. MetaWeblog API에서는 멀티미디어 파일을 첨부할 수 있도록 되어 있습니다. 이 부분이 이슈가 되므로 좀 더 자세히 설명하자면,
4.1 API 클라이언트는 글을 하나 쓸 때, 그 글에 첨부될 멀티미디어 파일(그림 등)을 먼저 등록합니다.
4.2 태터툴즈는 멀티미디어 파일을 저장하고, 고유한 URL을 하나 보내줍니다.
4.3 클라이언트는 고유한 URL을 img 태그등에 직접 넣어 보낼 문서를 완성합니다.
4.4 맨 마지막으로 모든 첨부된 파일을 4.1 ~ 4.3 방식으로 등록하여 문서가 완성되면, 마지막으로 보냅니다.

5. 현재 태터툴즈는 http://tt_attach_path/XXXXX.jpg 와 같은 형식의 가상의 URL을 내려보냅니다. 그리고, 실제 블로그가 보여지기전 tt_attach_path를 찾아서 설치된 URL로 치환해서 보여줍니다. (gendoh님의 구현)

6. 위와 같은 방식은 태터툴즈의 디비가 다른 곳으로 이동하게 되어도 정상적인 그림파일이 보여진다는 것입니다. 플러그인 시절에 구현된 것은 항상 permalink라 가정하고 만들어졌습니다.

7. 위 방법의 문제점은, 가상의  URL이므로, 클라이언트에서 보여지지 않을 수 있다는 것이 문제입니다. 대개 원본을 가지고 있는 클라이언트는 편집당시의 그림을 가지고 있으므로 보이겠지만, 만일 다른 클라이언트로 받아서 편집하는 경우 보이지 않게 됩니다.

8. 글 쓰기와 발행을 동시에 할 수 있는 방법이 MetaWeblog에 존재하지 않습니다. 현재는 발행의 경우 관리자 화면으로 들어가야 가능합니다.
8.1 이에 대한 대안으로 특정한 가상의 태그를 내려보내어 선택하면 발행되도록 할 수 있습니다.

9. 공지나 키워드를 등록할 수 없습니다.
9.1 이를 위해서 제목 앞에 NOTICE:, KEYWORD: 로 시작하게 하는 방법이 있습니다.

10. 태터툴즈의 풍부한(?)기능을 이용하려면, MetaWeblog의 확장이 필요합니다. 적어도 위 기능을 수용할 수 있어야합니다.
11. 태터 전용 API를 수용할 수 있는 클라이언트를 만들(?)수 있으면 좋겠습니다. 혹은 기존 클라이언트의 플러그인을 만들어도 되겠지요.

이상이 API와 관련된 이야기들입니다.

2

답글: BlogAPI 지원에 관한 문제들

coolengineer 작성:

9. 공지나 키워드를 등록할 수 없습니다.
9.1 이를 위해서 제목 앞에 NOTICE:, KEYWORD: 로 시작하게 하는 방법이 있습니다.

여기서 발생할 수 있는 문제가 실제로 NOTICE: 라던가 KEYWORD: 등을 제목으로 사용하는 경우와 (ex. NOTICE: first notice! : ) )
공지, 키워드 로그로 사용하려는 경우 (ex. first notice! : ) -> category: NOTICE)를 마땅히 태터측에서 인식시키게 할 방법이 없지 않나 생각이 듭니다.

나니 (2006-11-28 12:38:30)에 의해 마지막으로 수정

하늘은 스스로 삽질하는 자를 삽으로 팬다

3

답글: BlogAPI 지원에 관한 문제들

어차피 공지랑 키워드가 카테고리로 구현되고 있는 만큼, 그 카테고리도 받아주면 될 것 같군요.

-1, -2 같은 음수 인덱스를 받아 주려나 --?

4

답글: BlogAPI 지원에 관한 문제들

gendoh 작성:

어차피 공지랑 키워드가 카테고리로 구현되고 있는 만큼, 그 카테고리도 받아주면 될 것 같군요.

-1, -2 같은 음수 인덱스를 받아 주려나 --?

아! 내부적으로 그렇군요! 그럼 선택을 안하면 0 이죠?

5

답글: BlogAPI 지원에 관한 문제들

블로그의 이동성에 관한 얘기를 좀 할까하는데요.. 백업을 하면,  DB의 내용을 XML로 받게 됩니다. 이 때, 현재 Web server url로 시작하는 내용을 모두 http://tt_install_path/ 등으로 바꾸면 어떨까요? 그리고 다시 임포트할 때, 치환해 넣는 것입니다. 그렇게 되면, 위와 같이 http://tt_attach_path/ 와 같은 고민은 하지 않아도 될 것 같습니다만.

6

답글: BlogAPI 지원에 관한 문제들

coolengineer 작성:

블로그의 이동성에 관한 얘기를 좀 할까하는데요.. 백업을 하면,  DB의 내용을 XML로 받게 됩니다. 이 때, 현재 Web server url로 시작하는 내용을 모두 http://tt_install_path/ 등으로 바꾸면 어떨까요? 그리고 다시 임포트할 때, 치환해 넣는 것입니다. 그렇게 되면, 위와 같이 http://tt_attach_path/ 와 같은 고민은 하지 않아도 될 것 같습니다만.

새로운 블로그로 이동하면서 이전 블로그의 이름을 적었다면 문제가 되겠죠.

치환자가 아닌 일반 데이터를 핸들링 하는 것은 좀 어렵습니다. @.@;

7

답글: BlogAPI 지원에 관한 문제들

이번에 Tistory에 적용됩니다.

변경점.
1. mt(Movable Type 지원)
2. 경로 지원. 백업/복원시가 아닌 오픈/세이브시에 처리했습니다.

공지, 키워드는 하지 않았고 댓글, 트랙백 허용 여부와 키워드 지원합니다.

기다려 주세용~


참고로... 리턴값을 1로 주면 일부 프로그램들이 해메더군요. true로 주어야 합니다. 이거 찾느라 고생좀;;;
샌드박스 언제 고치나 @.@;

8

답글: BlogAPI 지원에 관한 문제들

샌드박스 언제 고치시나 @.@;

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

9

답글: BlogAPI 지원에 관한 문제들

inureyes 작성:

샌드박스 언제 고치시나 @.@;

간단한 호환성 커밋은 삼일절에 했었고..

제대로 고치는 것은 TatterAPI가 나올때 작업하는게 smile