{pop-away:metadata | comments | children | labels}
{section}
{column:width=60%}
*Galicaster Dashboard* is a web-based solution to monitor and manage a great number of Capture Agents. Galicaster Dashboard takes advantage of the Opencast Matterhorn capture agent API, so any agent implementing it can be accessed by the Dashboard, including Galicaster and the standard capture agent.
Its main features are:
* Compatible with Galicaster units and Opencast Matterhorn standard capturers.
* Access to the agent via VNC and SSH.
* Gathers of information such as: state, logs, free space, active tracks, etc.
* Overview the agent's UI through screen snapshots updated every few seconds.
* Browse, create and modify your schedule in a calendar view.
!scheme.png|align=center,thumbnail,border=1, width=70%!
{center}*Click over to expand the image*{center}
h5. Screencast available
Please check our [screencast|http://www.youtube.com/watch?v=I7eu6F5agIA] so you can see how it looks.
h2. First demo version - coming soon
The first demo version is almost ready. Source code and installation instructions will be also available. Galicaster Dashboard has been created in the form of am Opencast Matterhorn bundle, so it can be easily installed on your Matterhorn deployment.
h2. View modes
Galicaster Dashboard provides two views: a *panel view* to monitor your agents providing auto-refreshed screenshots and basic data, and a *calendar view*, where the recording schedule can be easily checked and modified. In both cases, the agents on the screen can be filtered according to different criteria, so that only the relevant information is displayed.
h3. Panel View
The panel view is aimed to monitor the agents in your installation. Agents can be filtered by their status or their upcoming events, and also hidden at will. Screenshots are refreshed automatically.
The panel view has two layouts:
* A *mosaic* with screenshots of all the agents and shortcuts to the main actions.
* A *table* listing all the agents with detailed information such as state, free disk space, next recording, etc.
h4. Mosaic layout
From the mosaic view we can see the agent status with a preview (screenshot) of their UI. The following actions are available by pressing on the different buttons on the screen:
* Info: The agent view information (explained [later|#Agent View]).
* Calendar: The recording schedule of the given agent.
* Connect: Start a VNC connection to the agent, so that it can be operated remotely (Galicaster only).
* Hide: Stop displaying the agent in the mosaic.
!mosaic_detail.png|align=center,border=1,width=50%!
h4. Table layout
The table layout provides a more detailed collection of information including: duration of the last recording, next recording, free disk space, audio and video feedback, etc. There are also shortcuts to a detailed view of the agent's screen and tools to review the agent configuration, logs and access via ssh (coming soon!).
h3. Agent View
The agent view displays a screenshot of the agent's interface (updated automatically), and a table with useful information including the current loaded profile. There are also shortcuts to other tools available also in the table layout.
h3. Calendar View
The calendar provides an interface to browse, review, schedule or modify the recordings in your capture agents. The recordings are rescheduled by simply dragging and dropping them on the appropriate stop in the calendar, and their duration can be also edited by dragging-and-dropping their bottom side.
Clicking on a given schedule will open a form where the recording metadata can be edited. This form also provides a finer control of the schedule parameters.
h2. Installation instructions
h5. External dependencies
Most of the functionalities in the Dashboard will work out-of-the-box, but the screenshot extraction has an external dependency with GStreamer. Additionally, the command-line utility {{gst-launch}} and the "good" and "bad" plugins must be installed. Versions above 0.10.29 are proven to work. Older releases may or may not work.
{info:title=GStreamer in CentOS}CentOS includes a very old version of GStreamer in its official repository, which will *not* work for Galicaster Dashboard. In this case, we recommend using the [Matterhorn RPM repository|http://www.lernfunk.de/repo] kindly provided by the University of Osnabrück.{info}
h5. Bundle installation
The Dashboard is packaged as a Matterhorn bundle, so it can be easily deployed in any Matterhorn installation. Since it depends on certain Matterhorn services to work, *it must be installed in the {{admin}} server*. In the following steps, {{$\{MH_SRC\}}} denotes the directory where the Matterhorn source code is, and {{$\{FELIX_HOME\}}} the directory where the Felix instance is installed (for Matterhorn versions under or equal to 1.3).
# Clone the necessary bundles from Teltek's Github into the {{$\{MH_SRC\}/modules}} directory.
{code:none}git clone git://github.com/teltek/Dashboard.git ${MH_SRC}/modules {code}
# Make sure your current Matterhorn version matches the one in the Dashboard {{pom.xml}} file:
#* Check your exact Matterhorn version by examining the first {{<version>}} tag within the {{$\{MH_SRC\}/pom.xml}} file.
#* Substitute that value in the {{<matterhorn.version>}} tags within the Dashboard {{pom.xml}} file.
#* You can do this in one step by running the following command from within the {{$\{MH_SRC\}/modules/galicaster-dashboard}} directory (the one you have just {{clone}}'d from git):
{code:none}
cd ${MH_SRC}/modules/galicaster-dashboard
sed -i "/<matterhorn.version>[^>]\+<\/matterhorn.version>/s//<matterhorn.version>$(grep -m 1 "<version>" ../../pom.xml | cut -d'>' -f2 | cut -d'<' -f1)<\/matterhorn.version>/" pom.xml
{code}
# Compile the bundles with Maven:
#* 1.3 and earlier:
{code:none}
cd ${MH_SRC}/modules/galicaster-dashboard
mvn clean install -DdeployTo=${FELIX_HOME}/matterhorn
{code}
#* 1.4 and above:
{code:none}
cd ${MH_SRC}/modules/galicaster-dashboard
mvn clean install -DdeployTo=${MH_SRC}
{code}
# If {{maven}} returns with no errors, the Dashboard should be available at:
{{http://your-server-url/dashboard/index.html}}.
h2. Configuration
The Dashboard service configuration file should be located in {{org.galicaster.dashboard.DashboardService.properties}}. It will not exist the first time you use the Dashboard, but the service will work correctly even if the file does not exist. Therefore, you may create the file only if you need to specify some of the configuration properties allowed by the service.
Those properties are:
* {{agent.<agent_name>.vnc.password}}: This property sets up the password required to establish a VNC connection with the agent {{<agent_name>}}.
* {{default.vnc.password}}: This property sets up a global password, which is only used when a certain agent's password is not explicitly defined.
The following example illustrates how the properties defined above are used:
When the Dashboard needs to establish a VNC connection with the agent {{GC-example}}, the password used will be, in that order:
# If defined, the value of {{agent.GC-example.vnc.password}}.
# If defined, the value of {{default.vnc.password}}.
# No password will be used.
{column:width=39%}
!button.png|align=center,width=250px!
{panel:bgColor=lightgreen|borderWidth=0}
{center}
h5. Table of contents
{center}
{toc:style=circle|maxLevel=3|printable=false}
{panel}
h4. Screencast
{widget:url=http://www.youtube.com/watch?v=I7eu6F5agIA | width=100% }
h4. Screenshots
h5. Panel view - Mosaic layout
!panel_view.png|align=center,thumbnail,width=100%!
h5. Panel view - Table layout
!list_view.png|align=center,thumbnail,width=100%!
h5. Calendar view
!calendar_view.png|align=center,thumbnail,width=100%!
h5. Agent view
!agent_view.png|align=center,thumbnail,width=100%!
h5. Scheduler
!full_schedule.png|align=center,thumbnail,width=50%!
{column}{section}
{section}
{column:width=60%}
*Galicaster Dashboard* is a web-based solution to monitor and manage a great number of Capture Agents. Galicaster Dashboard takes advantage of the Opencast Matterhorn capture agent API, so any agent implementing it can be accessed by the Dashboard, including Galicaster and the standard capture agent.
Its main features are:
* Compatible with Galicaster units and Opencast Matterhorn standard capturers.
* Access to the agent via VNC and SSH.
* Gathers of information such as: state, logs, free space, active tracks, etc.
* Overview the agent's UI through screen snapshots updated every few seconds.
* Browse, create and modify your schedule in a calendar view.
!scheme.png|align=center,thumbnail,border=1, width=70%!
{center}*Click over to expand the image*{center}
h5. Screencast available
Please check our [screencast|http://www.youtube.com/watch?v=I7eu6F5agIA] so you can see how it looks.
h2. First demo version - coming soon
The first demo version is almost ready. Source code and installation instructions will be also available. Galicaster Dashboard has been created in the form of am Opencast Matterhorn bundle, so it can be easily installed on your Matterhorn deployment.
h2. View modes
Galicaster Dashboard provides two views: a *panel view* to monitor your agents providing auto-refreshed screenshots and basic data, and a *calendar view*, where the recording schedule can be easily checked and modified. In both cases, the agents on the screen can be filtered according to different criteria, so that only the relevant information is displayed.
h3. Panel View
The panel view is aimed to monitor the agents in your installation. Agents can be filtered by their status or their upcoming events, and also hidden at will. Screenshots are refreshed automatically.
The panel view has two layouts:
* A *mosaic* with screenshots of all the agents and shortcuts to the main actions.
* A *table* listing all the agents with detailed information such as state, free disk space, next recording, etc.
h4. Mosaic layout
From the mosaic view we can see the agent status with a preview (screenshot) of their UI. The following actions are available by pressing on the different buttons on the screen:
* Info: The agent view information (explained [later|#Agent View]).
* Calendar: The recording schedule of the given agent.
* Connect: Start a VNC connection to the agent, so that it can be operated remotely (Galicaster only).
* Hide: Stop displaying the agent in the mosaic.
!mosaic_detail.png|align=center,border=1,width=50%!
h4. Table layout
The table layout provides a more detailed collection of information including: duration of the last recording, next recording, free disk space, audio and video feedback, etc. There are also shortcuts to a detailed view of the agent's screen and tools to review the agent configuration, logs and access via ssh (coming soon!).
h3. Agent View
The agent view displays a screenshot of the agent's interface (updated automatically), and a table with useful information including the current loaded profile. There are also shortcuts to other tools available also in the table layout.
h3. Calendar View
The calendar provides an interface to browse, review, schedule or modify the recordings in your capture agents. The recordings are rescheduled by simply dragging and dropping them on the appropriate stop in the calendar, and their duration can be also edited by dragging-and-dropping their bottom side.
Clicking on a given schedule will open a form where the recording metadata can be edited. This form also provides a finer control of the schedule parameters.
h2. Installation instructions
h5. External dependencies
Most of the functionalities in the Dashboard will work out-of-the-box, but the screenshot extraction has an external dependency with GStreamer. Additionally, the command-line utility {{gst-launch}} and the "good" and "bad" plugins must be installed. Versions above 0.10.29 are proven to work. Older releases may or may not work.
{info:title=GStreamer in CentOS}CentOS includes a very old version of GStreamer in its official repository, which will *not* work for Galicaster Dashboard. In this case, we recommend using the [Matterhorn RPM repository|http://www.lernfunk.de/repo] kindly provided by the University of Osnabrück.{info}
h5. Bundle installation
The Dashboard is packaged as a Matterhorn bundle, so it can be easily deployed in any Matterhorn installation. Since it depends on certain Matterhorn services to work, *it must be installed in the {{admin}} server*. In the following steps, {{$\{MH_SRC\}}} denotes the directory where the Matterhorn source code is, and {{$\{FELIX_HOME\}}} the directory where the Felix instance is installed (for Matterhorn versions under or equal to 1.3).
# Clone the necessary bundles from Teltek's Github into the {{$\{MH_SRC\}/modules}} directory.
{code:none}git clone git://github.com/teltek/Dashboard.git ${MH_SRC}/modules {code}
# Make sure your current Matterhorn version matches the one in the Dashboard {{pom.xml}} file:
#* Check your exact Matterhorn version by examining the first {{<version>}} tag within the {{$\{MH_SRC\}/pom.xml}} file.
#* Substitute that value in the {{<matterhorn.version>}} tags within the Dashboard {{pom.xml}} file.
#* You can do this in one step by running the following command from within the {{$\{MH_SRC\}/modules/galicaster-dashboard}} directory (the one you have just {{clone}}'d from git):
{code:none}
cd ${MH_SRC}/modules/galicaster-dashboard
sed -i "/<matterhorn.version>[^>]\+<\/matterhorn.version>/s//<matterhorn.version>$(grep -m 1 "<version>" ../../pom.xml | cut -d'>' -f2 | cut -d'<' -f1)<\/matterhorn.version>/" pom.xml
{code}
# Compile the bundles with Maven:
#* 1.3 and earlier:
{code:none}
cd ${MH_SRC}/modules/galicaster-dashboard
mvn clean install -DdeployTo=${FELIX_HOME}/matterhorn
{code}
#* 1.4 and above:
{code:none}
cd ${MH_SRC}/modules/galicaster-dashboard
mvn clean install -DdeployTo=${MH_SRC}
{code}
# If {{maven}} returns with no errors, the Dashboard should be available at:
{{http://your-server-url/dashboard/index.html}}.
h2. Configuration
The Dashboard service configuration file should be located in {{org.galicaster.dashboard.DashboardService.properties}}. It will not exist the first time you use the Dashboard, but the service will work correctly even if the file does not exist. Therefore, you may create the file only if you need to specify some of the configuration properties allowed by the service.
Those properties are:
* {{agent.<agent_name>.vnc.password}}: This property sets up the password required to establish a VNC connection with the agent {{<agent_name>}}.
* {{default.vnc.password}}: This property sets up a global password, which is only used when a certain agent's password is not explicitly defined.
The following example illustrates how the properties defined above are used:
When the Dashboard needs to establish a VNC connection with the agent {{GC-example}}, the password used will be, in that order:
# If defined, the value of {{agent.GC-example.vnc.password}}.
# If defined, the value of {{default.vnc.password}}.
# No password will be used.
{column:width=39%}
!button.png|align=center,width=250px!
{panel:bgColor=lightgreen|borderWidth=0}
{center}
h5. Table of contents
{center}
{toc:style=circle|maxLevel=3|printable=false}
{panel}
h4. Screencast
{widget:url=http://www.youtube.com/watch?v=I7eu6F5agIA | width=100% }
h4. Screenshots
h5. Panel view - Mosaic layout
!panel_view.png|align=center,thumbnail,width=100%!
h5. Panel view - Table layout
!list_view.png|align=center,thumbnail,width=100%!
h5. Calendar view
!calendar_view.png|align=center,thumbnail,width=100%!
h5. Agent view
!agent_view.png|align=center,thumbnail,width=100%!
h5. Scheduler
!full_schedule.png|align=center,thumbnail,width=50%!
{column}{section}