앞선 글에서 조언을 얻고 제작 중인 임베딩 서비스 애드온(?)을 손 좀 봤습니다.

 

1. 애드온을 통해 사이트 관리자는 사이트 이용자들한테 게시물을 요약문 형태로 제공하는 소스(blockquote 태그)를 뿌려주고,

 

2. 여기에 js를 라이브러리로 추가 제공합니다.

예.

<blockquote cite="https://aporia.blog/post/25230" id="user_content_rx_site..aporia.blog..post..25230"><strong><a href="https://aporia.blog/post/25230">K-방역이라는 위기관리</a></strong> 시간이 지나면서 이른바 ‘K(케이)-방역’이라는 말의 실체가 드러나는 것 같다. 이 말에 ‘국뽕’이라는 연관검색어가 따라다니는 것... from <a href="https://aporia.blog/">아포리아</a></blockquote>
<script async src="https://aporia.blog/addons/ap_embedding/skins/default/js/widgets.js" charset="utf-8"></script>

 

3. 사이트 이용자는 소스 코드를 다른 사이트에 임베드할 때, 앞서 추가 제공받았던 js를 통해 blockquote 소스를 iframe 소스로 렌더링하게 됩니다.

 

... 이런 식으로 iframe을 통해 원사이트의 게시물을 외부사이트에서 임베드하는 게 가능해지는 프로세스입니다.

대강 이런 형태가 되는 거죠.

https://dev.aporia.blog/board_WSMY51/42099

 

그런데 이번에도 고민이 좀 있습니다.

- 임베디드 코드를 렌더링해주는 js 파일을 애드온 폴더 안에 위치시키면 일부 사이트에서는 same origin 설정으로 접근을 막아버리지 않나요?

- 그렇다면 js 라이브러리 파일을 어느 위치에 넣고 접근 가능하게 해야 하나요?

- 그게 아니면 해당 js 파일을 사이트 관리자가 따로 받아두고 자체적으로 렌더링하게 유도해야 하는 걸까요? 

 

두서없는 질문이긴 한데ㅜ 그래도 잘 헤아려주시고 의견 보태주시면 감사하겠습니다!

  • profile

    널리 알려진 SNS 플랫폼도 아니고, 누가 운영하는지도 알 수 없는 중소규모 사이트에서 제공하는 js 파일을 임의로 불러다 쓰는 운영자가 있다면 바보겠죠. 해킹해달라고 사정하는 꼴인데...

     

    blockquote를 복붙해 놓고 그걸 js로 변환하려고 하지 마세요. cite, id 등의 속성이 보존될 거라고 가정하지 마세요. 아니, 애당초 뭔가 특별한 소스를 복붙할 것을 요구하지도 말고, 님 사이트의 js를 실행할 거라고 기대하지도 마세요.

     

    카톡 같은 일반적인 앱들은 그냥 URL만 복붙하면 알아서 제목과 요약, 이미지가 포함된 요약을 보여줍니다. oembed 지원하는 서비스들도 마찬가지로, URL만 복붙해도 서버단에서 자동으로 연동해서 예쁘게 구성해 줍니다. 사용자 입장에서 이런 익숙한 프로세스보다 조금이라도 더 복잡한 과정을 요구한다면 불편하다고 느낄 뿐입니다.

     

    위의 조건을 모두 만족하는 방법은 서버단 API 제공 + parserlink 모듈에 탑재하는 것뿐입니다. 윤삼님도 관련 자료를 만드신 적이 있으니 작동 원리는 알고 계실 거라고 생각합니다.^^

  • profile profile
    안 그래도 어젯밤에 고민을 좀 했는데 역시나 부담스러울 것 같더라구요.
    그래서 폐기하기로 마음 먹었습니다. 조언 감사합니다!
  • profile profile

    아니면 거꾸로, 타 사이트의 링크를 복붙했을 때 meta 태그와 이미지를 자동으로 긁어와서 예쁜 카드로 구성해 주는 애드온은 어떨까요? 데이터를 제공하는 사이트 쪽에서는 아무 것도 할 필요가 없도록요.

  • profile profile

    예전에 파싱 링크 애드온에서 했었는데 그건 dispBoardContent일 때였고, 임베드 애드온은 dispBoardWrite에서 에디터로 바로 넣어주는 것이니 또 다른 느낌이긴 하겠네요.
    '예쁜' 카드가 관건이겠어요ㅎㅎ

     

    모듈로 포팅해서 애드온에서 구현이 어려운 옵션도 여러 개 넣어보고 하면 재밌을 것 같습니다!