View와 대시보드
View 페이지입니다. 폴더와 화면과 유닛 패널을 담는 시각화 열, 확대 보기와 전체 화면이 있는 열린 화면의 명령 모음, 화면이 놓이는 격자, 그리고 누가 무엇을 누를 수 있는지입니다.
View는 탐색 막대의 첫 항목이자 스테이션이 열릴 때 나오는 페이지입니다. 이 스테이션이 보여 주는 모든 화면을 나열하고 고른 하나를 실행합니다. 실시간 Logic 주소 공간 위에 격자로 만든 대시보드와, Process 유닛이 여기에 놓는 패널입니다. 모든 역할이 이 페이지에 닿습니다. "대시보드 보기"는 모든 역할이 가지는 유일한 권한이기 때문입니다(권한 참조). 그다음 그 역할이 이 페이지에서 무엇을 할 수 있는지는 조작 하나하나마다 다른 권한에서 읽습니다.
이 페이지는 네 개의 경로에 답합니다. /view가 정식 주소이고 /도 같은 페이지를 엽니다. /home은 예전 바로 가기가 여전히 여기에 닿도록 남겨 두었습니다. /d/{id}는 화면 하나를 바로 열며, 태블릿의 즐겨찾기나 다른 페이지의 링크가 이렇게 닿습니다. 이 연결의 역할이 볼 수 없는 id나 더 이상 존재하지 않는 id는 아무 말 없이, 이 페이지가 어차피 열었을 화면으로 물러납니다. /d/{id}?edit=true는 화면을 곧바로 편집기에서 열며, 복사한 뒤나 검증의 고치기 링크를 눌렀을 때 도착하는 자리이고, 편집할 수 없는 화면에서는 무시됩니다.
시각화 열
왼쪽 열의 제목은 시각화이며, 스테이션이 보여 줄 수 있는 것마다 한 줄씩 담습니다.
- 폴더는 최대 두 단계까지이며, 무리를 접는 화살표와 무대에서 폴더 자체를 여는 이름을 가집니다. 폴더 줄의 끝에는 하위 폴더까지 포함해 몇 개의 화면을 담고 있는지가 적힙니다.
- 화면은 직접 만든 대시보드이며, 폴더에 넣거나 최상위에 둘 수 있고, 설정에서 고른 아이콘을 달며 설명이 그 줄의 도구 설명이 됩니다.
- 유닛 패널은 Process 모델이 여기에 놓는 항목이며 유닛마다 하나씩,
모델 · 유닛 · 표면으로 이름이 붙습니다. 아무도 정리하지 않은 것들은 트리 뒤의 유닛 패널 제목 아래에 모여 있고, 정리한 것은 직접 만든 화면 옆에서 자기 폴더에 들어갑니다.
포인트를 읽지 못하는 구성 요소를 담은 화면은 이름 뒤에 조용한 주의 점을 달고, 그 위의 모든 폴더도 마찬가지입니다. 무리를 다 접어 두어도 실패를 찾을 수 있게 하기 위해서입니다. 그 점은 그 밖에는 아무 말도 하지 않습니다. 개수도 없고 움직임도 없습니다.
바닥글에는 새로 만들기…(대시보드를 편집할 수 있는 역할에게만 그려지며, 새 대시보드와 새 폴더를 담은 메뉴를 열고 둘 다 최상위에 만듭니다)가 있고, 편집기가 열려 있는 동안에는 열린 화면에 대한 대시보드 위로 이동과 대시보드 아래로 이동이, 뒤쪽 구석에는 폴더 전체에 대한 모두 펼치기와 모두 접기가 있습니다. 화면이나 폴더 줄에서 오른쪽 버튼을 클릭하면 정리하고 이름을 바꾸고 제거하는 메뉴가 열립니다. 그 모든 것은 화면과 폴더에 있습니다.
열은 머리글의 화살표로 좁은 막대로 접힙니다. 그 막대를 누르면 목록이 무대 위에 겹쳐 열리므로 캔버스는 얻은 넓이를 그대로 지킵니다. 줄을 고르면 다시 닫히고, 고정 핀을 누르면 붙박이 열이 돌아옵니다. 열과 무대 사이의 분할선은 260에서 600 px 사이로 끕니다. 어떤 폴더를 펼쳤는지, 너비, 접힌 상태는 이 세션 동안 사용자의 것입니다. 연결마다 따로 유지되므로 브라우저에서 무리를 접어도 스테이션 자신의 창에서는 접히지 않으며, 그 가운데 저장되는 것은 없습니다.
열린 화면의 명령 모음
무대 위의 명령 모음은 화면의 아이콘과 이름으로 무엇이 열려 있는지 알리고, 그것에 대한 조작을 담습니다. 편집기가 열려 있는 동안 이름에는 편집 중 배지가 붙습니다.
| 조작 | 하는 일 | 흐려지는 때(상황) | 그려지지 않는 때(역할) |
|---|---|---|---|
| 복사 | 열린 화면을 편집할 수 있는 사본으로 같은 폴더의 옆자리에 만들고, 원래 이름 뒤에 "(2)", "(3)"처럼 빈 이름을 찾을 때까지 붙인 다음 사본을 편집기에서 엽니다. | 아무것도 열려 있지 않을 때("복사하려면 화면을 여십시오."), 엔지니어링이 잠겼을 때, 런타임이 정지했을 때. | 역할이 대시보드를 편집할 수 없을 때, 또는 열린 항목이 유닛 패널이나 유닛 화면일 때(복사할 것이 없습니다. 그것은 자기 모델에 배치되어 있습니다). |
| 편집 / 편집 마치기 | 열린 화면에서 편집기로 들어가거나, 거기에서 나와 다시 보기로 돌아갑니다. 나가기는 결코 거부되지 않습니다. | 아무것도 열려 있지 않을 때("편집하려면 화면을 여십시오."), 엔지니어링이 잠겼을 때("유닛이 실행 중인 동안에는 엔지니어링이 잠깁니다"), 런타임이 정지했을 때("런타임 정지"). | 역할이 대시보드를 편집할 수 없을 때, 또는 열린 항목이 유닛 패널이나 유닛 화면일 때. |
| Process에서 편집 | 그 항목의 정의 자체를 Process 워크스페이스에서 엽니다. 자기 모델의 패널 줄이나 화면 줄입니다. | 결코 흐려지지 않습니다. 실행할 수 있을 때에만 그려집니다. | 열린 항목이 직접 만든 화면일 때, 또는 역할이 모델을 관리할 수 없을 때. |
| 확대 보기 | 탐색 막대, 제목 표시줄, 그리고 이 명령 모음 자체를 감추고 화면에 창 전체를 줍니다. 창 자체는 그대로 있습니다. | 아무것도 열려 있지 않을 때. | 결코 없습니다. 다만 편집 중에는 내주지 않습니다. |
| 전체 화면 | 진짜 전체 화면입니다. 스테이션의 창이 모니터를 덮거나, 브라우저가 문서의 전체 화면으로 들어갑니다. F11도 같은 일을 합니다. | 아무것도 열려 있지 않을 때. | 결코 없습니다. 다만 편집 중에는 내주지 않습니다. |
확대 보기와 전체 화면은 완성된 화면을 운전하기 위한 것이므로, 편집기가 열려 있는 동안에는 명령 모음이 둘 다 내주지 않고 F11도 아무 일을 하지 않습니다. 두 방식과 떠 있는 메뉴와 상태 표시줄에 관한 모든 것은 전체 화면 운전 모드에 있습니다.
화면 대신 폴더가 열려 있으면 명령 모음의 주어가 바뀝니다. 폴더의 이름을 부르고 폴더 이름 바꾸기(폴더 자신의 줄에서 이름 입력란을 엽니다)와, 오른쪽에 위험한 색으로 폴더 제거(줄 메뉴와 같은 확인)를 담습니다. 둘 다 대시보드를 편집할 수 있는 역할에게만 그려지고, 엔지니어링이 잠긴 동안에는 흐려집니다.
무대
무대가 그리는 것은 고른 줄을 따릅니다.
- 화면은 캔버스에서 실행됩니다. 격자가 무대를 채우도록 크기가 조정되고 스크롤은 없으며, 구성 요소는 페이지 자신의 속도로 주소 공간을 읽습니다(스테이션의 창에서는 150 ms마다, 원격 브라우저에서는 400 ms마다).
- 폴더는 한눈에 보는 화면으로 열립니다. 무엇이 거기에 정리되어 있는지 알리는 한 줄, 하위 폴더마다 개수가 붙은 줄, 그리고 화면마다 아이콘과 이름과 설명이 있는 카드입니다. 카드를 누르면 그 화면이 열립니다.
- 유닛 패널은 배치가 아니라 카드를 쌓은 것이므로, 무대는 스크롤되는 카드 열이 됩니다. View의 유닛 패널을 보십시오. 유닛 화면(모델의 화면을 View에 보여 주는 것)은 자기 유닛에 맞춰 풀린 채 다른 화면과 똑같이 캔버스에서 실행됩니다.
보여 줄 것이 없으면 무대가 그렇게 말합니다. 대시보드가 하나도 없는 스테이션은 "아직 대시보드가 없습니다. 하나를 만들어 작업대에 필요한 실시간 표시, 차트, 조작 요소를 배치한 다음, 전체 화면으로 열어 운전하십시오."라고 읽히며, 편집할 수 있는 역할에게는 새 대시보드 버튼이 붙습니다. 모든 대시보드가 감춰진 역할에게는 "현재 역할에 보이는 대시보드가 없습니다."가 나오고, 폴더는 있으나 화면이 없는 목록이나 화면을 고르지 않은 채 열린 폴더는 둘 중 어느 쪽인지 알립니다.
격자
모든 대시보드는 열 × 행 칸의 격자를 가집니다(바꾸기 전에는 24 × 12이고, 각각 1에서 96 사이입니다). 격자는 무대를 채우고 창에 맞춰 크기가 조정됩니다. 구성 요소는 칸으로 이루어진 직사각형을 차지하며(X, Y, 너비, 높이), 구성 요소끼리 얼마든지 겹칠 수 있고 저마다 층 번호(Z)를 가집니다. 층이 높을수록 위에 그려지고 클릭을 받습니다. 프레임이 진짜 배경이 되는 것도 그 덕분입니다. 맨 뒤로 보내고 그 위에 무리를 그리십시오. 배치와 크기와 층 순서는 편집기의 몫이고, 격자 자체의 크기는 대시보드 설정입니다.
명령, 권한, 잠금 표시
명령 구성 요소는 어느 것이든 스테이션의 단일 Logic 쓰기 통로를 지나며 기록되고, 모두 하나의 권한 모형에 답합니다. 화면에서 누를 수 있는 조작 요소도, 유닛 패널이 담는 절차 카드도, 경보 배너에서 하는 확인도 마찬가지입니다.
- 직접 만든 대시보드에서 조작 요소를 누르려면 역할의 대시보드 운전 권한이 필요하며, 이 권한은 사용자 페이지에서 역할마다 부여합니다.
- 대상이 Process를 바꾸는 누름(유닛 실행 명령, 준비 항목, 실행 코멘트, 절차 선택기, 인터록의 재설정)에는 절차 실행 권한도 함께 필요합니다. 무엇이 필요한지는 구성 요소의 종류가 아니라 풀린 대상에서 읽습니다. 값을 쓰거나 다른 대시보드를 여는 버튼은 대시보드 권한에 머무릅니다.
- 유닛 패널이나 유닛 화면에서는 Process 권한만 다스립니다. 절차 실행뿐이고, 대시보드와는 상관이 없습니다.
- 런타임이 정지된 동안에는 역할이 무엇이든 모든 명령이 "런타임 정지"로 거부됩니다.
로그인한 역할이 누를 수 없는 명령은 화면에 남아 조용한 잠금 표시를 답니다. 구성 요소 구석의 작은 자물쇠이고, 전체 이유("대시보드 운전 권한이 필요합니다." 또는 "절차 실행 권한이 필요합니다.")는 그 구성 요소의 도구 설명에 있습니다. 일부러 조용하게 만든 표시입니다. 보기만 하는 역할은 모든 조작 요소에서 그것을 한꺼번에 보게 되고, 정상으로 돌아가는 공장이 경고투성이 화면으로 읽혀서는 안 되기 때문입니다. 권한은 누를 때마다 다시 확인하므로, 화면을 열어 둔 채 로그아웃하거나 역할이 바뀌어도 지난 클릭이 실행되지 않습니다.
각 명령 구성 요소는 조작 요소 아래 자기만의 응답 줄에서 답하며("썼습니다", "성공 · 12 ms", 또는 거부 사유), 그 줄은 5초 뒤에 사라집니다. 전체 화면이 상태 표시줄을 감췄을 때 남는 유일한 면이 그 줄이며, 그래서 명령은 상태 표시줄의 작업 기록 줄이 아니라 거기에서 답합니다.
잠금
유닛이 실행되는 동안 이 페이지에는 엔지니어링 잠금 알림 띠가 나타납니다. "유닛 조작이 진행 중입니다. 모든 유닛이 끝날 때까지 구성은 읽기 전용으로 유지되며, 실행 제어와 그 밖의 운전 조작은 계속 쓸 수 있습니다." 만들기, 복사하기, 편집하기, 정리하기, 이름 바꾸기, 순서 바꾸기가 그 이유와 함께 흐려지고, 열려 있던 편집기는 닫히며, 화면은 계속 돌아가면서 허용된 명령을 받습니다. 정지한 런타임은 같은 조작들과 명령까지 함께 닫으며, 셸 자신의 일시 정지 안내가 어디에서 다시 시작하는지 알립니다.
이 페이지가 하지 않는 일
유닛 패널이나 유닛 화면을 결코 편집하지 않고(Process에서 편집이 그것들이 배치된 곳으로 데려갑니다), 순서를 바꾸지 않으며, 어떤 역할에게도 그 역할에게 감춰진 대시보드를 목록으로든 주소로든 보여 주지 않습니다. 사용자의 배치 상태는 세션을 넘겨 보관하지 않습니다. 접어 둔 폴더, 열 너비, 고정 핀, 선택한 화면은 연결과 함께 초기화됩니다. 화면을 삭제하는 일은 열이 아니라 편집기의 대시보드 설정 안에서 합니다.
이 영역의 페이지
| 페이지 | 다루는 내용 |
|---|---|
| 화면과 폴더 | 열이 나열하는 것을 만들고, 복사하고, 정리하고, 이름을 바꾸고, 순서를 바꾸고, 제거하는 일과, 시작 화면과 누가 어떤 화면을 보는지입니다. |
| 대시보드 편집기 | 작업대입니다. 팔레트, 캔버스, 선택, 모든 구성 요소가 함께 쓰는 속성 구역, 그리고 심볼 연결점 사이에 그리는 연결선입니다. |
| 대시보드 설정 | 화면 하나가 자기에 대해 밝히는 것입니다. 이름, 설명, 아이콘, 격자, 시작, 전체 화면에서의 상태 표시줄, 보이는 역할, 삭제입니다. |
| 전체 화면 운전 모드 | 확대 보기와 전체 화면, F11과 Esc, 떠 있는 메뉴와 상태 표시줄 설정입니다. |
| View의 유닛 패널 | Process 유닛을 운전하는 카드 묶음이 여기에서 어떻게 보이는지입니다. |
| 차트 | 모든 차트가 가지는 도구 모음, 눈금, 통계와 기준선 패널, 그리고 떼어 낸 차트 창입니다. |
| 대시보드 구성 요소 | 구성 요소 종류의 목록, 그것들이 묶는 주소, 읽은 값이 어떻게 그려지는지, 그리고 종류별 참고 페이지입니다. |