4 번째 수정본 (4 번째 수정본부터 4 번째 수정본까지의 변경사항)
(소소한 수정) (두 수정본의 내용이 동일하거나, 수정본을 비교할 수 없음.)UseModWiki소스수정/TrackBack 작업을 하는데 인터페이스와 구현에 너무 골치아픈 것들이 많아서... 의견 좀 내어 주시면 좋겠습니다.
어떤 페이지의 트랙백을 다른 곳으로 보낼 권한은 환경변수를 사용해서 "아무나", "그 페이지를 수정할 수 있는 사람만", "관리자만" 중에 택할 수 있게 했습니다.
어떤 페이지가 다른 곳에서 날아온 트랙백을 받을 수 있느냐 없느냐는 그 페이지 내에 trackbackreceived 매크로가 있느냐 없느냐로 결정됩니다.
당장 여기서부터도 영 모양새가 영 아니로군요.
페이지 조회수처럼 별도의 파일에 저장을 해서 어떤 페이지를 출력할 때 제일 아래에 별도로 출력을 해 주면 깔끔하고 좋겠는데, 다음과 같은 문제가 발생합니다.
특정한 트랙백 데이타 엔트리만 삭제하고 싶은 경우를 위해서 인터페이스를 만들어야 합니다. 완전히 트랙백 관리 프로그램을 따로 만들어야 할 판...
Diary 처럼 여러 페이지를 include 한 경우, include 된 페이지들의 트랙백은 보이지 않고 include 하는 페이지의 트랙백만 보입니다. 어떻게 보면 이게 더 당연한 것 같기도 하지만... 블로그를 보면 한 페이지에 최근 다섯 편의 게시물이 있을 경우 각 게시물의 트랙백을 그 자리에서 볼 수가 있는데 이 구현의 경우 그게 안 되겠죠.
그래서 결국 comments 와 마찬가지로, 로그가 삽입될 위치를 알려 주는 trackbacksent 매크로와 trackbackreceived 매크로를 제공하여 그걸 각 페이지에 직접 넣게 한 게 현재 구현입니다. 이 경우 장점은
매크로가 있는 페이지에만 로그가 삽입되므로, 각 페이지 별로 트랙백 로그를 남길지 말지를 결정하는 것이 가능하다
일부 데이타만 삭제하는 것도 쉽다.
단점은
모든 페이지에 트랙백을 넣고 싶으면 현재 존재하는 모든 페이지를 다 수정해서 저 매크로를 넣어야 한다 -_-;;; (이건 뭐 따지고 보면 코멘트도 마찬가지이니..)
trackbacksent 는 빈 문자열로 치환(즉, 그냥 사라짐)되고, trackbackreceived 는 ping URL 안내문으로 치환된다. 이름은 비슷한데 모양이 딴판이라...