Web-интерфейс администратора на Цейсс-1000.

В.Шергин

2014г.

Представлен основной интерфейс для редактирования и просмотра административной информации в системе управления телескопа. Изменение информации производится пользователем с наивысшим уровнем доступа (администратор) с любого компьютера через Web-браузер. Прочие пользователи (наблюдатели) могут просматривать эту информацию через этот же интерфейс, а также использовать ее во время наблюдений в интерфейсе наблюдателя.

Содержание:



Административная подсистема.

Для нормальной организации наблюдений на телескопе и предоставления корректных мета-данных системам регистрации без излишней нагрузки на наблюдателя, разработана подсистема администрирования наблюдениями. Основная разработка выполнялась в 2011-м году. После начала практической эксплуатации в 2013-м, подсистема была немного доработана.

Основной принцип: существует пользователь−администратор с максимальным уровнем доступа к системе, он ведает распределением наблюдательного времени и доступом к системе астрономов-наблюдателей.

Состав административной информации:

Notes:

В памяти сервера эта информация существует в виде древовидной структуры DOM (Document Object Model - «объектная модель документа»). Она загружается в память системы при старте из XML-файла /usr/local/ztcs/ZeissAdmin.xml.




Администратор телескопа может вносить оперативные изменения в эту структуру DOM в памяти сервера. Пользователи-наблюдатели будут видеть эти изменения. Если необходимо зафиксировать изменения для возможных перезагрузок системы (например введено новое расписание), есть возможность спасти структуру DOM назад в XML-файл (serialization).

В качестве формата обмена структурно-объектной информацией между клиентами и сервером выбран JSON (JavaScript Object Notation). Таким образом, например, работает панель Admin в интерфейсе наблюдателя ZeissGUI. Она позволяет использовать административную информацию во время наблюдений. Для этого в системе есть понятие «текущий сет» (Currend Set). Информация из него идет и в прототип FITS-шапки, которая доступна в локальной сети на Windows-ресурсе \\ztcs\ZEISS\ZFITS.HDR, для включения в FITS-файлы системы регистрации.

Основной интерфейс администратора.

Для разработки интерфейса администратора выбран принцип Web-интерфейса, чтобы администратор мог выполнять свои функции со своего компьютера без дополнительного МО. Разработка выполнена на языке JavaScript. Для обмена с сервером по протоколу XML-RPC доработан сторонний модуль rpc.js. Он использует Ajax (XMLHttpRequest).

Для сокращения места на экране реализован принцип панелей-вкладок для разных типов информации. Исходно они пустые, а заполняются после авторизации пользователя.

Интерфейс работает в двух вариантах:

Когда требуется перемещение по длинным спискам используются кнопки типа Back ^ и Forward v над и под списком, которые смещают список на пол-страницы.

Вкладка Authrization.

При вызове интерфейс сразу предлагает авторизоваться под пользователем obs для просмотра информации.




Администратору следует сменить имя пользователя на свое (с уровнем доступа 5) или зайти под специальным пользователем admin.


В этом случае меняется и сама панель Authrization. В ней начинает работать интерфейс спасения/восстановления административной информации.


После нажатия кнопки Save Admin.Data to disk XML file появляется форма для подтверждения намерений и прав администратора.

Кнопка Restore Admin.Data from disk XML file служит для восстановления структуры DOM из XML-файла. Например если нужно стереть временные или ошибочные исправления в памяти сервера, а также если XML-файл был изменен каким либо иным способом, например XML-редактором или просто текстовым редактором.

Вкладка Observers.


Панель предназначена для просмотра и изменения списка наблюдателей на телескопе. На этой картинке (и на следующих) представлен вариант для администратора. Вариант для просмотра наблюдателем выглядит так же, только убраны средства изменения.

В начале показывается первая часть списка из 10-ти строк. Кнопка Forward v вызывает смещение по 5 строк к концу списка. Для редактирования строки нужно нажать . Содержимое спишется в форму для редактирования. Обычно это применяется (не считая исправления ошибок) для изменения прав доступа и атрибута Active. Последний позволяет сокращать список наблюдателей которые используются в выпадающем меню при вводе расписания на панели Schedule.

Чтобы отправить измененные данные серверу, нужно нажать  SendToServer . Для добавления нового наблюдателя, нужно почистить форму кнопкой  Clear  и ввести его данные. Имя (Name) не должно совпадать с другими, иначе новой строки не будет, а изменится существующая. Уровень доступа (Level) обычно 3 — простой наблюдатель или 4 — опытный наблюдатель. Для удаления наблюдателя — нажать на его строке.

Вкладка Hardware.

Панель предназначена для просмотра и изменения списка навесной аппаратуры регистрации — методов наблюдений.




Средства редактирования такие же как и в предыдущем случае. Только атрибута Active тут нет, поскольку маловероятно что когда нибудь на Цейсс-1000 будет очень длинный список методов наблюдений.

Следует знать что поле Description это не произвольная информация! Это имя файла конфигурации (с расширением .conf) для данного метода наблюдений, который расположен в справочнике /usr/local/ztcs/. Поэтому лучше всего писать его без пробелов через + как: ПРИБОР+ПРИЕМНИК+МАТОБЕСПЕЧЕНИЕ. Например для фотометра файл /usr/local/ztcs/Photometer+CCD+DinaSystem.conf:

#Zeiss Acquisition Hardware configuration
#Sat Dec 10 17:51:46 MSK 2011
fullname=Photometer+CCD+DinaSystem
name=Photometer+CCD
ident=CCD
soft=DinaSystem v2.2
corrHA=0.0
corrDecl=0.0
posAngle=72.5
parkHA=22\:00\:00.0
parkDecl=+22\:00\:00.0
parkDome=33.0
region_BackEnd=22.33,-22.5;23.2,-22.5;23.2,-45.0;22.33,-45.0
region_Reverse=12.8,225.0;12.8,190.0;14.0,180;17.9,150.;17.9,255.

Соответственно при добавлении нового метода наблюдений, необходимо сначала создать такой файл, взяв за образец существующие, а уже потом добавлять строку в административный список.

Вкладка Programs.

Панель предназначена для просмотра и изменения списка названий возможных наблюдательных программ.


Средства редактирования такие же как и на панели Observers. Атрибут Active позволяет сокращать список программ которые используются в выпадающем меню при вводе расписания на панели Schedule. Для дополнения списка новой программой нужно нажать кнопку  New . Атрибут Ident не вводится, а присваивается автоматически.

Вкладка Authors


Панель предназначена для просмотра и изменения списка авторов наблюдательных программ.

Средства редактирования такие же как и на панели Programs.

Вкладка Schedule.

Панель предназначена для просмотра, или ввода, или оперативного изменения расписания наблюдений. Предполагается, что это место для удаленных коммуникаций между администратором и наблюдателями. Администратор может со своего компьютера оперативно менять ранее введенное расписание, например выделять резерв или техническое время под конкретную программу. Астроном-наблюдатель может в любой момент убедиться, что его заявка удовлетворена. И затем использовать эту информацию в панели Admin в интерфейсе наблюдателя ZeissGUI.

Ниже показан вариант для просмотра расписания астрономом-наблюдателем.




Слева расположен список сетов наблюдений представленный датами начала сетов. Видна часть расписания из 14-ти сетов. Кнопки Back ^ и Forward v позволяют смещаться по расписанию на 7 сетов вперед и назад. Кнопка выводит в таблицу справа содержимое сета.

Ниже представлен интерфейс для ввода или изменения расписания наблюдений администратором.


Для формирования совершенно нового сета служит кнопка  MakeNewSet . Принцип ввода данных — выбор элементов из выпадающих меню. В меню для наблюдателей, программ и авторов появляются все элементы общих списков помеченные как active. Кнопки  AddNew  добавляют новую сроку в конец соответствующего списка. Кнопки  Delete  убирают последнюю строку списка. Сформированный сет отсылается серверу кнопкой  SendToServer . Там он вставляется в расписание в соответствии с выбранной датой. Если дата уже существует, считается что отредактирован существующий сет и он заменяется. Список сетов слева сразу же исправляется. Для редактирования сета нужно нажать . Для удаления сета из расписания — нажать .

Специфика наблюдений на телескопе Цейсс-1000 такова что на нем в основном идут постоянные многолетние программы. Поэтому содержимое конкретных сетов мало отличается не только от сета к сету, но даже от года к году. Это значительно облегчает ввод нового расписания. Нужно только вызывать на редактирование похожий сет, слегка его исправлять и устанавливать нужную дату. Особенно просто расставлять технические ночи и резервы зам.директора.

Следует помнить что все изменения производятся в структуре DOM в оперативной памяти сервера. Что нормально для оперативных изменений «на ходу». При перезагрузке они исчезнут. Если необходимо зафиксировать изменения для возможных перезагрузок следует вернуться к панели Authrization и воспользоваться спасением административной информации в XML-файл.