2017-10-18 13 views
0

메시지에서 Notes 링크를 추출하고 로컬 시스템의 HTML에서 호출 할 수있는 링크로 전환하는 기존 코드를 유지 관리해야합니다 (Notes가 설치된 위치). 하나의 링크가 작동하고 다른 링크는 작동하지 않는 상황이 있습니다.Notes 문서 링크를 HTML 링크로 변환하는 방법

저는이 코드가 무엇을하는지 정확히 이해하고 있으며, 왜 그것이 처음부터 작동 하는지를 고민하고 있습니다. 기본적으로 우리는 이메일 메시지에서 "$ Links"속성을보고 있습니다. 무엇이 우리의 코드가하는 일은 NSFItemInfo 및 OSLockBlock를 사용하여,이 속성의 이진 값을 얻을 수있다

RFC2257F23:004852B9 
VFA5208C4C:6552DA01-VN422569FB:003AAC2D 
NF6D24A297:6579B8E3-NNC225805D:004D8678 

: 노트에서 볼 때이 속성의 값은, 예를 들어, 뭔가 같다. 그런 다음 오프셋 11에서 시작하고 뒤로 8 바이트 작동하여 각 바이트를 2 자리 16 진수 값으로 변환합니다. 그런 다음 동일한 작업을 3 번 더 수행하지만 원본 11에서 8 바이트 앞으로 이동합니다. '/'문자가이 8 바이트 세그먼트의 첫 번째와 세 번째 뒤에 삽입됩니다. 그러면 모든 것이 "notes : ///"에 추가됩니다. 마지막에 링크가이 같은 외모 생성 :

Notes:///C2257F23004852B9/A5208C4C6552DA01422569FB003AAC2D/6D24A2976579B8E3C225805D004D8678 

나는이 값은 문서 링크의 참고 UNID를 나타냅니다 같은데요, 그리고 클릭했을 때 즉, 노트 이 시작하고, 직접 간다 문서. 왜 누군가가 하나의 링크가 작동하는지에 대한 생각을 가지고 있으며, 다른 하나는 실패합니까? ? 고객은 Notes 링크 데이터베이스가 손상되지 않았으며 Notes 자체 내에서 을 성공적으로 볼 수 있다고 주장합니다.

+0

실례 및 작동하지 않는 예제를 제공해 주시겠습니까? Notes 링크에 대한 일부 정보는 여기에서 찾을 수 있습니다. https://www-10.lotus.com/ldd/dominowiki.nsf/dx/notes-urls –

+0

위의 데이터는 작동 예제입니다. 작동하지 않는 예제는 16 진수 코드의 다른 세트를 제외하고는 똑같은 것으로 보입니다.별로 도움이되지 않을 것이라고 생각합니다. Notes 링크에 대한 정보 - 감사합니다. –

+0

하나의 분명한 질문은 Notes 클라이언트의 작동하지 않는 클라이언트가 죽은 링크인지 여부입니다. 또 하나의 분명한 질문은 링크를 클릭하는 사용자가 데이터베이스와 문서에 대한 액세스 권한을 갖고 있는지 여부입니다. 브라우저에서 작동하지 않는 링크를 클릭했을 때 (정확히 말하면 최종 사용자) 무엇이 발생합니까? 귀하 (그리고/또는 최종 사용자 및/또는 Full Access Administrator 권한이 할당되고 활성화 된 사용자)가 Notes 클라이언트에서 클릭하면 어떻게됩니까? –

답변

1

Notes- 링크는 프로토콜, 서버 파트, 데이터베이스 파트 및 데이터베이스 내의 요소로 구성됩니다.

정상적인 예가 될 것이다 :

주 : //server/path/database.nsf/view/keytodocumentinview

(서버를 제외한) 모든 부분 내부 ID로 대체 될 수있다.

  • 경로/database.nsf -> 복제본 ID (검색 예에서 C2257F23004852B9)
  • 뷰 -> 뷰의 디자인 요소의 유니버설 ID (A5208C4C6552DA01422569FB003AAC2D)
  • keytodocumentinview -> 범용 ID (6D24A2976579B8E3C225805D004D8678)

링크에 서버가없는 경우 메모 클라이언트는 올바른 서버를 "추측"하려고 시도합니다. 확인 :

  1. 요청 된 복제본 ID가 바탕 화면에 아이콘이 있습니까? 예인 경우 : 마지막으로 사용한 복제본의 서버를 가져옵니다 (복제본이 누적 된 경우 맨 위)
  2. 위치 문서 또는 메일 홈 서버의 카탈로그 서버에서 catalog.nsf를 찾을 수 있습니까? replica- ID는 거기에 그렇다면 :? 거기에서 서버를 가지고 ... 대답 그래서

(이것은 항상 일어날 것 같은, 그 부분에 대해 확실하지)

  • 서버에 대한 사용자 문의 귀하의 질문에 :

    클라이언트가 서버에 대한 참조를 찾을 수없는 경우 링크가 작동하지 않습니다. 링크에 알맞은 서버를 추가하는 것이 좋습니다 (알고있는 경우).

    그냥 설명하기 위해, 하나 개의 형태에서 다른에 도착하는 방법, 여기에 몇 가지 더 설명입니다

    일부 시간이 ID가 $ 링크 - 항목에서 발견 다르게 표현은 :

    V =보기 유니버설 ID N = 참고 유니버설 ID

    모든 32 비트 값을 해부하다

    R = 복제 ID : 첫 글자는 ID의 "종류"의 약자 "첫 번째"(F) 또는 "두 번째"(= 다음, N) 값을 나타내는 다른 캐릭터가 앞에 붙는 16 비트의 2 분의 1에 에드.

    나머지는 8 글자로 나뉘며, 첫 번째와 세 번째는 콜론으로 구분되고, 첫 번째와 두 번째 절반은 빼기 기호로 분리됩니다. 그와 마찬가지로

    쉽게 볼 수 있습니다

    RFC2257F23가 : 6552DA01-VN422569FB : 004852B9FC2257F23004852B9

    VFA5208C4C로 번역 003AAC2DA5208C4C로 번역 6552DA01 422569FB 003AAC2D

    NF6D24A297 : 6579B8E3-NNC2258 05D : 004D8678으로 번역됩니다. 6D24A297 6579B8E3 C225805D 004D8678

  • +0

    고맙습니다. 매우 도움이됩니다. 아마 내 고객이 부패한 데이터 링크를 가지고 있다고 생각하지만 더 자세히 조사 할 것입니다. –