다음은 단순 필터 사용의 예제입니다.
장치가 필터 요건을 충족할 때 명령을 실행하는 작업을 구성합니다. 예를 들어, 페이지 수가 10,000을 초과하는 프린터만 포함된 폴더를 생성합니다. 모니터링 대상 프린터의 페이지 수가 10,000을 초과하면 프린터가 폴더에 추가됩니다.
플래시 장치가 설치된 프린터만 모니터링합니다. 예를 들어, 플래시 장치가 설치된 프린터만 폴더에 포함되며, 모니터링 대상 프린터에서 플래시 장치를 제거하면 프린터도 해당 폴더에서 제거됩니다. 프린터가 필터 요건을 충족하지 못하면 필터가 자동으로 폴더를 업데이트합니다.
“with a delay of(지연)” 옵션을 사용하면 장치가 폴더에 추가되거나 폴더에서 제거된 후 지정된 시간 동안 작업 실행을 지연시킬 수 있습니다.
조건이 활성화되었을 때만 명령을 실행하도록 작업을 설정하려면 “Trigger on Active(활성화될 때 트리거)” 필터를 선택합니다. 예를 들어, Paper Tray Missing(급지대 없음) 이벤트를 모니터링하는데 다른 사람이 모니터링 대상 프린터에서 급지대를 분리하면 프린터는 Active(활성) 상태의 Paper Tray Missing(급지대 없음) 이벤트를 생성합니다. 활성 상태는 필터의 조건을 충족시키므로 지정된 작업이 실행됩니다. 급지대가 다시 장착되면 프린터는 Clear(해제) 상태의 Paper Tray Missing(급지대 없음) 이벤트를 생성합니다. Clear(해제) 상태는 필터의 조건을 충족시키지 못하므로 작업이 실행되지 않습니다.
조건이 활성화 또는 해제될 때마다 작업이 실행되도록 설정하려면 "Trigger on Either Active or Clear(활성화되거나 해제될 때 트리거)" 필터를 선택합니다. 예를 들어, 필터를 사용하여 모든 프린터 용지 걸림에 대한 로그를 유지함으로써 용지 걸림을 해결하는 데 걸린 평균 시간을 확인할 수 있습니다. 용지 걸림이 발생하면 프린터는 Active(활성) 상태로 이벤트를 생성합니다. 이 이벤트는 필터 조건을 충족하여 작업을 실행합니다. 용지 걸림이 해결되면 프린터는 Clear(해제) 상태로 다른 이벤트를 생성합니다. 이 이벤트도 필터 조건을 충족하여 작업을 실행합니다. 이제 로그 파일에는 용지 걸림이 발생한 시간이 기록된 행과 용지 걸림이 해결된 시간이 기록된 행의 두 줄이 있습니다.
사용자 정의 필터를 사용하여 작업이 실행되는 방식을 정의할 수 있습니다. 스크립트 파일을 업로드할 수도 있고 새로 만들 수도 있습니다. MarkVision Messenger는 필터를 정의할 수 있도록 매우 간단한 스크립팅 언어를 제공합니다. 다음은 사용자 정의 필터에서 사용할 수 있는 전체 명령문 및 조건 목록입니다.
(Condition)
(Condition)
(Condition)
{ StatementList }
(Condition_1...Condition_n)
(Condition_1...Condition_n)
(key, value)
(key, value)
다음은 내장된 “Trigger on Active(활성화될 때 트리거) 필터”의 스크립트를 보여주는 예제입니다.
IfThen (EventDataIs("state", "ACTIVE"))
Distribute조건의 효과는 이벤트에 대해 이벤트의 값(state 키워드)을 요청하는 것입니다. 이 키워드는 명령줄 및 이메일 메시지에 삽입할 수 있습니다. 문은 조건이 true일 경우 다음 명령문을 실행합니다. 키워드의 값(state)이 지정된 값(ACTIVE)과 일치할 경우 조건은 true입니다. 다음의 문은 명령이 실행되도록 합니다.
다음은 “Trigger on Active(활성화될 때 트리거) 필터” 작업이 30초 지연될 때 사용되는 스크립트 예제입니다.
{
WaitUntil (TimeIsAfter(30))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}중괄호({})는 명령문을 목록으로 그룹화하는 데 사용됩니다. 이전 예제에서는 과 그 이후의 명령문이 단일 명령문으로 취급되었기 때문에 중괄호를 사용할 필요가 없었습니다.
문은 조건이 true가 될 때까지 스크립트가 실행되지 않도록 합니다. 조건은 지정된 시간이 경과한 후에만 true 여부를 확인합니다. 30초 후에도 이벤트가 여전히 활성 상태일 경우 문이 명령을 실행합니다.
다음은 내장된 “Trigger on Either Active or Clear(활성화되거나 해제될 때 트리거)” 필터의 스크립트를 보여주는 예제로서, Tray 3(급지대 3)에 대해 Paper Tray Missing(급지대 없음) 이벤트가 선택되고, 명령이 실행되기 전 20분의 지연 시간이 있으며, 조건이 계속해서 Active(활성) 상태일 경우 20분마다 명령을 반복하는 상황을 나타냅니다.
While (And(EventDataIs("state", "ACTIVE"), EventDataIs("location", "Tray 3")))
{
WaitUntil(TimeIsAfter(1200))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}이 예제에서 는 복합 조건을 생성하기 위해 사용되었습니다. While 루프는 이벤트가 Tray 3(급지대 3)에 대해 활성 상태일 경우에만 시작되거나 반복됩니다. 루프 내의 코드는 조건이 1200초(20분)를 대기하도록 설정된 점을 제외하고 “Trigger on Active(활성화될 때 트리거)” 필터에 대한 코드와 동일합니다.