2013-11-28 4 views
1

일부 항목이있는 xpage보기가 있습니다 (클라이언트라고 말하면됩니다). 나는보기의 클라이언트의 일부를 포함 acl 그룹의 사람 (고객) 있습니다. 이제보기의 검색 속성을 사용하여 그룹에 속한 항목 만 표시하려고합니다.XPages : 그룹에 속한 항목 만 표시하도록보기를 필터링 할 수 있습니까?

이미 이름 예컨대하여 사용자 선택 검색 속성을 사용

:

필드 이름이

이 유사한 쿼리가 있는가 "척 노리스를"포함을? (어쩌면 필드에 @isMember를 사용 하시겠습니까 ....?)

업데이트 : 그룹 항목 (클라이언트 이름)도 문서의 텍스트 목록에 포함됩니다. 그래서 내가 텍스트 목록의 값을 기반으로보기의 "이름"필드를 필터링 할 수 있습니까?

+0

예약 된 에이전트에 의해 문서를 폴더에 넣을 수 있습니다. –

답변

5

아마도 독자 필드를 사용하는 것이 좋습니다. 당신은 Domino 사용자 그룹에 대한 문서 액세스를 제한하는 것에 대해 말하고 있습니다. 이는 리더 필드가하는 것입니다.

예를 들어, 다음과 같은 리더 필드에 클라이언트 이름이 포함 된 텍스트 목록 필드합니다

var item = document1.getFirstItem("myfield"); 
item.setReaders(true); 
document1.save(); 

myfield 요구가 정식 이름 (CN = 이름 성/O = 조직)를 포함 할 수 있습니다.

독자 필드를 사용하면보기 필터링을 전혀 수행 할 필요가 없으며 자동으로 발생합니다. 문서가 너무 많으면 (50 만 개 정도) 물건을 느리게 만들 수 있습니다. 그렇지 않으면 멋진 접근 방식입니다.

특정보기에서만 문서를 표시하는 것을 제한하려는 경우 독자 필드는 해결책이 아닙니다. 이 경우, 시도한 것처럼 직접 필터링을 수행해야합니다.

특정 클라이언트 만 필터링하려는 경우 분류 된보기를 사용하는 것이 좋습니다. 보기 패널에 하나의 클라이언트 이름을 카테고리 필터로 제공 할 수 있습니다.

여러 클라이언트를 필터링하려면 이미 시도한 것처럼 전체 텍스트 검색을 기반으로해야합니다. 이 경우 Domino 9로 작업하고 있는지 확인하십시오. 이전 Domino 버전에서는 전체 텍스트 검색 결과에보기 정렬 순서를 적용하지 않으므로 사용자 정의 javascript 등을 사용하여 수동으로 검색해야하므로 복잡합니다.

Frantisek이 제안했듯이 클라이언트에 따라 문서를 폴더에 넣는 예약 된 에이전트를 작성합니다. 그러나이 경우 뷰를 필터링하려는 클라이언트의 수에 따라 다른 폴더로 이어질 수있는 폴더가 많을 수 있습니다 문제. 또한 폴더가 더 이상 필요하지 않을 때 폴더를 제거해야하며 새 문서가 폴더에 나타날 때까지 지연이 발생해야합니다.

간단히 말해서 클라이언트 이름을 기반으로 응용 프로그램 전체 제한을 수행하려면 판독기 필드를 사용하십시오. 한 번에 하나의 클라이언트 이름을 제한하려면 범주를 사용하십시오. 그렇지 않으면 Domino 9에서 전체 텍스트 검색을 사용하십시오.

+0

독자 필드를 사용하는 경우 서버, 관리자 및 개발자 그룹 또는 역할을 목록의 항목으로 포함해야합니다. 필자는 [AllAccess]라는 역할을 일반적으로 가지고 있는데, 필요한 경우 누군가가 그 문서에 접근 할 수 있도록하기 위해 모든 문서가 있습니다. – Newbs

+0

예, 좋습니다.그럼에도 불구하고 나는 잊어 버렸습니다. 적어도 Domino Administrator의 전체 관리자 액세스 기능을 통해 문서에 액세스 할 수 있습니다. –