Textcube icon indicating copy to clipboard operation
Textcube copied to clipboard

pingback 구현

Open textcube-dev opened this issue 13 years ago • 0 comments

[http://en.wikipedia.org/wiki/Pingback pingback]을 구현합니다.

  • http://www.hixie.ch/specs/pingback/pingback
  • 이슈 등록시간: 2007-08-16T20:48:15
  • 마지막 수정시간: 2009-12-19T18:28:07
Comment 1 by graphittie at 2007-08-16T20:49:36
오오오!! gofeel님이 티켓에 assign 되는 거 처음 본 것 같아요.
Comment 2 by gofeel at 2007-08-16T21:09:08
Replying to [comment:1 graphittie]: > 오오오!! gofeel님이 티켓에 assign 되는 거 처음 본 것 같아요. 이래놓고 티켓발행 테스트였습니다..라고 하면 맞겠죠.-_-;
Comment 3 by achimnol at 2008-11-13T17:53:58
[http://hixie.ch/specs/pingback/pingback-1.0 Pingback 규격 참고.]

구현 요건

  • 기존의 trackback을 remote response로 일반화시키고, pingback 모델을 구현하여 하나의 테이블에서 함께 관리함.
  • 핑백에 담기는 정보는 링크를 포함하고 있는 문서의 주소인 source URI와 링크의 대상이 되는 문서의 주소인 target URI 두 개의 문자열로만 이루어진다. pingback server 쪽에서 source URI/target URI를 검증하거나 제목을 추출하는 것 등은 선택사항이며, 어떤 글로부터 핑백을 받았는지 구체적으로 글 내용을 추출하는 방법은 따로 존재하지 않는다.
  • pingback을 받기 위한 조건
  • HTTP header에 X-Pingback: {pingback server} 포함 또는 <link rel="pingback" href="{pingback server}" /> (여기서 서버 주소는 반드시 absolute URI)
  • pingback server를 위한 interface 생성
  • pingback을 보내기 위한 조건
  • 본문에 포함된 링크 URL 추출
  • 각 URL로 HTTP request를 보내어 X-Pingback 헤더 검출을 시도하고, 이에 실패하면 <link rel="pingback" href="([^"]+)" ?/?> 정규표현식을 이용해 pingback server를 알아낸다. 이것이 존재할 경우 해당 주소로 XML-RPC로 pingback을 날린다.
Comment 4 by achimnol at 2008-11-13T17:57:51
앗, gofeel님이 계속 가지고 계신 건가 했더니 저한테 넘기셨었군요; =3=3
Comment 5 by gofeel at 2008-11-13T20:57:47
흑..제 마지막 티켓이었는데 T_T

( -_-)

Comment 6 by inureyes at 2008-11-13T21:05:22
f358e136eef09450499cc73b05428d475d2a4f2d

refs #567

  • Trackbacks -> RemoteResponses
  • TrackbackLogs -> RemoteResponseLogs
  • 관련 변경과 함께 각 테이블에 type 필드 추가
  • type(enum ('trackback','pingback'))
Comment 7 by inureyes at 2008-11-13T21:08:50
63e1906ba8ff8af4a02bd33ffce647f1a19883e5

refs #567

  • RemoteResponse 통합을 위하여 기존의 트랙백 루틴 복사
  • 트랙백 로그 컴포넌트 수정
Comment 8 by inureyes at 2008-11-13T21:41:58
ab30be39d63f10eff232d3df606adbd77384bbf6

refs #567

  • 원격댓글 관련 추상화 진행
Comment 9 by inureyes at 2008-11-13T21:45:03
151a78da8847e1ce9ea07cc904ab3136b4912341

refs #567

  • 핑백 수를 저장하기 위하여 글 테이블 수정
Comment 10 by inureyes at 2008-11-13T21:48:31
7f0291578d2bbc6bedb8eff42861b8fde0fa3a3b

refs #567

  • 트랙백 글 계산 부분을 핑백까지 하도록 수정
Comment 11 by inureyes at 2008-11-13T21:55:57
a7b6bbbad25bee88f06f3f75e470bc182feed311

refs #567

  • remoteresponse 로 테이블 이름이 바뀐 후 체크업시 trackbacks 테이블을 찾지 못하여 발생하는 오류 수정 refs #1142
  • 빈 어레이는 체크업에서 제외
Comment 12 by inureyes at 2008-11-13T21:58:31
e52087dda01de2f73cc9988fb64fa1e5e6ff211b

refs #567

  • 글 쓸 때 핑백 정보를 고려하도록 수정
Comment 13 by inureyes at 2008-11-13T21:59:16
c957f862f652e2f3b450c2d252b2222d057281d2

refs #567

  • 컴포넌트에서도 pingback 을 고려하도록 추가
Comment 14 by inureyes at 2008-11-14T13:50:11
adfa1a3e78132c344ffdeb9c90b31c18e208da73

refs #567

  • blog.response.remote 를 로드하도록 수정
  • TODO : blog.trackback 을 blog.response.remote 의 일부로 합체
Comment 15 by inureyes at 2008-11-14T13:51:40
70dfd92c1578c4911921bc0baf18c78555a62549

refs #567

  • blog.trackback 모델 사용을 제거.
Comment 16 by inureyes at 2008-11-14T13:57:54
cd1d9089f64669f73bf68c6a5ec653c90dfc038f

refs #567

  • 트랙백 모델 삭제.
  • 관련 인터페이스 일부 수정
Comment 17 by achimnol at 2008-11-15T12:00:04
3af9dc3b3d869a9d210b91ae39b8e569db2049d2

refs #567: 이름 바뀌어 더 이상 없는 파일 불러오는 오류 수정

Comment 18 by achimnol at 2008-11-15T12:17:42
da92abdc7c1c3f538d4d75a1da90e69ad4ed593d

refs #567: pingback model 뼈대 추가

Comment 19 by achimnol at 2008-11-15T12:25:29
00c55d554cdb5c427b863ed3f92a956b2f50f492

refs #567: DB 구조 수정 (TODO: checkup)

Comment 20 by achimnol at 2008-11-15T14:35:13
2859f5523122adcd407f5331b5d3da85e5f7908f

refs #567: pingback model 내용 채움

Comment 21 by achimnol at 2009-12-19T13:37:12
일부 버전에서 다음과 같은 버그리포트가 올라왔습니다. (아래는 1.7.8 쓰다가 바로 trunk로 갈아타기 시도한 경우인데 저도 한두번쯤 겪어본 거라 반드시 trunk만의 문제는 아닐 듯합니다.)
텍스트큐브 점검을 시작합니다.

버전 검사

* 기존 버전 - 첫번째 점검
* 현재 버전 - 1.9 : Alpha 1

변경 중

* 원격 댓글 지원 기능을 위해 트랙백 테이블의 이름을 변경합니다.: 실패
* 페이지 캐시를 초기화합니다.: 성공
* 공지사항 캐시를 초기화합니다.: 성공

완료되었습니다.

위와 같은 오류가 발생하는 경우가 있습니다. 이미 이름이 변경된 경우가 아닌가 싶기도 한데 어떤 상황에서 이런 오류가 발생하는지 조사해봐야겠습니다.

Comment 22 by inureyes at 2009-12-19T18:28:07
8e64071c856fb734c5359d79676f3d2380d4197a

refs #514, #567

  • 체크업 오류 수정을 포함하여 1.8 트리에 동기화

textcube-dev avatar Sep 24 '12 17:09 textcube-dev