View Source

{pop-away:metadata | comments | children | labels}

{section}
{column:width=65%}

h2. What is Galicaster Dashboard ?

*Galicaster Dashboard* is a web-based solution to monitor and manage large fleets 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.
* 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 your schedule in a calendar view.
* Access to the agent via VNC and SSH.


{center}

h4. Galicaster Dashboard Main features (Screencast)

{widget:url=http://www.youtube.com/watch?v=I7eu6F5agIA | width=80% }


{center}


h2. First Alpha version - now available\!

The first demo version of Galicaster Dashboard is already available\! Please follow the [installation instructions|#Installationinstructions] to try it in your system.


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.

{center}

h4. *Galicaster Dashboard UI*

!scheme.png|align=center,thumbnail,border=1, width=70%%%%!
*Click over to expand the image*
{center}

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 and review the recordings in your capture agents.
{column}
{column:width=33%}

!db_logo.png|align=center,width=250pxpxpxpx!


{align:center}

h5. Download Galicaster Dashboard (alpha)
{align}


{panel:bgColor=white}
\\

[!download.png|align=center,width=120!|http://webfiler.teltek.es/webfiler/galicaster/GalicasterDashboard-alpha.tgz]\\

{center}By downloading, you agree to the [non-commercial license|http://creativecommons.org/licenses/by-nc-sa/3.0/].
(Commercial licenses also available under request){center}


[!http://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png|align=center,width=80!|http://creativecommons.org/licenses/by-nc-sa/3.0/]

{panel}

If you are looking for the source code of any release of Galicaste-Dashboardr, take a look into the [Release Archive|../../../../../../../../../display/Galicaster/Release+Archive]

You also can consult our [Git repository|http://github.com/teltek/Galicaster] for development and source-code information.

h4. Screenshots

{panel:bgColor=white}

h5. Panel view - Mosaic layout

!mosaic1.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%%%%!
{panel}
{column}
{section}

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).

# Download the tarball and uncompress it in your {{$\{MH_SRC\}/modules}} directory. If you use a shell, this can be done by:
{panel}
{{wget}} {{[http://webfiler.teltek.es/webfiler/galicaster/GalicasterDashboard-alpha.tgz]}}
{{tar \-C $\{MH_SRC}/modules GalicasterDashboard-alpha.tgz}}
{panel}
\\
# 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):
{panel}
{{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}}
{panel}
\\
# Compile the bundles with Maven:
#* 1.3 and earlier:
{panel}
{{cd $\{MH_SRC}/modules/galicaster-dashboard}}
{{mvn clean install \-DdeployTo=$\{FELIX_HOME}/matterhorn}}
{panel}
#* 1.4 and above:
{panel}
{{cd $\{MH_SRC}/modules/galicaster-dashboard}}
{{mvn clean install \-DdeployTo=$\{MH_SRC}}}
{panel}
\\
# 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 {{$MH_ROOT/etc/services/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.