Logiciel de DNC ET PROD        Version 2018 v9.1.0.1

\\srv-dc\perso\Sylvain\DashBoard\Ressources_TV_PC_Phone_Tablette\PC+Tablette+Smartphone\PC+Tablette+SmartPhoneBase.png

INSTALLATION DE CWORK BOARD.

Spécifications techniques :

Serveur :

Clients :

Table des matières

INSTALLATION DE CWORK BOARD.

Spécifications techniques :

FAQ :

Arborescence d’un projet tableau de bord

Installer manuellement le tableau de bord

Déployer Cwork Board

Désactiver le HTTPS

Configurer l’adresse IP de l’API

Configurer la version de l’API

Configurer son API KEY

Lancement manuel du tableau de bord 

Lancer dashing au démarrage

Accéder au tableau de bord

Paramétrage des machines qui seront affichées dans le tableau de bord

Gérer la génération de la liste des machines à afficher

Sélectionner manuellement les machines à afficher

Paramétrer le nombre de widgets par page

Mettre en place un switch des widgets

Utiliser des images PNG

Définir plusieurs tableaux de bord

Définir le tableau de bord par défaut

Ajouter un mot de passe

Dashing ne démarre pas, ni en mode service, ni en ligne de commande

Pour aller plus loin



Le tableau de bord Cwork Bord se base sur l’application Dashing, développée par Shopify.

Avant de passer à l’installation, il est nécessaire de connaître les dépendances nécessaires au fonctionnement optimal du tableau de bord.

 Le Ruby est un langage de programmation orienté objet. Ce langage n’a pas besoin d’être totalement maîtrisé, mais des notions de bases seront utiles.

Ruby est capable de s’installer sur Windows grâce à un projet open source nommé Ruby Installer.

http://rubyinstaller.org/downloads/ 

Pour des soucis de compatibilités, nous resterons sur une version 32bit et nous conseillons vivement d’utiliser la version 2.3.3

Le DevKit est un complément indispensable à Ruby sur Windows. Il est nécessaire pour l’installation des Gems, des library (bibliothèque) permettant d’ajouter les fonctionnalités qui nous sont nécessaires. Devkit sera indispensable pour le fonctionnement du tableau de bord.

Node.JS est une plateforme de logiciels et événementielle en JavaScript.

Dashing est un framework permettant la construction rapide d’un tableau de bord. Il fonctionne sous le principe de Widget à réutiliser. Il est possible par la suite de développer ses propres widgets.


FAQ :

Arborescence d’un projet tableau de bord

Le tableau de bord diffusé par SMCOM SOFTWARE est installé dans un répertoire « CworkBoard ». Du fait de certaines technologies utilisées, nous ne pouvons pas laisser d’espace dans le chemin, ainsi il n’est pas possible de l’installer dans C:\program files. De plus, il est nécessaire d’avoir systématiquement un droit d’écriture dans le répertoire (accorder à l’exécutable ruby.exe).

Les dossiers présents dans le répertoire C:\CworkBoard :

Arborescence de C:\CworkBoard\Dashing

http://127.0.0.1:3030/state_dashboard 

Il peut y avoir autant de tableau de bord que nécessaire.

Config.ru

Ce fichier de configurations permet de définir plusieurs paramètres du tableau de bord. Il s’exécute systématiquement au démarrage de dashing. On y retrouve les éléments indispensables au fonctionnement du tableau de bord comme l’adresse IP de l’API. Il définit également quelles seront les machines qui seront visibles lors de l’exécution du tableau de bord.


Installer manuellement le tableau de bord

Uniquement dans le cas où l’installateur n’est pas utilisé.

Les sources de Cwork Board et de Dashing sont disponibles sur la partner zone (chercher dashing-smcom-source.zip dans Installation manuelle).

https://sites.google.com/view/fr-cwork/support/partner-zone?authuser=0 

Il est nécessaire d’installer les programmes suivants sur Windows :

Commençons par installer NodeJS. Cette application permettra au serveur d’interpréter le code Javascript que contiendra le tableau de bord. Cette étape ne nécessite aucune remarque particulière.

Le reste de l’installation se déroulera en ligne de commande. Pour commencer, nous allons configurer le DevKit.

Une console de commande Windows devra être lancée, astuce pour lancer une fenêtre dans le dossier courant, il suffit de taper « cmd » dans la barre d’adresse :

Après avoir tapé sur la touche « entrée », la console Windows apparaît :

 

Deux commandes sont nécessaires à l’installation de Cwork Board :


Après cette opération, Le devkit est correctement installé. Nous pouvons
 extraire le dossier dashing-smcom-source et nous placer à l’intérieur avec une fenêtre de commandes.

L’installation d’un fichier .gem en Ruby se fait en ligne de commande. Ici nous avons à taper la commande :

Plusieurs dépendances sont attachées à Dashing, elles seront automatiquement téléchargées lor de l'exécution de la commande. Les versions des paquets téléchargés sont spécifiées et bloquées pour assurer le fonctionnement du tableau de bord que nous mettons à disposition.


Déployer Cwork Board

Prendre le zip Cwork Board.zip sur la Partner Zone.

Une fois cwork Board déployé , une dernière configuration est indispensable. Dans une console Windows, présente dans le répertoire de Cwork Board de bord, une commande permettra d’installer les derniers paquets nécessaires :

Cette dernière commande assure l’usage exacte des paquets nécessaires au fonctionnement correct du tableau de bord.

Désactiver le HTTPS

Par défaut l’API fonctionne en HTTPS (communication cryptée). Pour désactiver la communication HTTPS (et utiliser le protocole http à la place), la variable HTTPS doit être initialisée à 0. Cette donnée est renseignée dans le fichier Dashing\config.ru

Devient

Manipulation à effectuer uniquement si nécessaire et après avoir désactivé le HTTPS côté serveur (outils > préférences > moteurs de communication).

Configurer l’adresse IP de l’API

L’adresse définie par défaut pour le serveur de l’API est l’adresse IP locale ( 127.0.0.1 ). La configuration ne peut fonctionner que si l’API est installée et déployée sur le même PC/Serveur. Cette donnée est renseignée dans le fichier Dashing\config.ru

Modifier en conséquence la constante ServerAddress :

Configurer la version de l’API

L’api fonctionne par version. Cette dernière se définit dans le fichier Dashing\config.ru :

Modifier en conséquence la constante Version :


Configurer son API KEY

Pour s’authentifier à l’API en tant qu’utilisateur autorisé, il faut fournir son ‘API KEY’. Une API KEY unique est automatiquement générée pour chaque utilisateur Cwork, pour l’obtenir, rendez-vous dans le menu Outils > Préférence > Gestion des groupes et utilisateurs puis double cliquez sur l’utilisateur désiré. L’API KEY apparait dans un champ. Copiez cette chaine de caractère.

Modifiez la valeur de la variable USER_API_KEY avec la chaine copiée.  Exemple :

Lancement manuel du tableau de bord 

Le tableau de bord peut être lancé manuellement, une commande existe. Elle doit être exécutée depuis le répertoire du projet :

Peut être également lancé depuis la barre supérieure :

Lancer dashing au démarrage

Le tableau de bord Dashing se lance automatiquement au démarrage via un service smmCboard s’il a été installé avec le setup.

Si le service n’existe pas, notamment lorsque le Cwork board est installé manuellement, il est possible d’utiliser le projet nssm https://nssm.cc/download 

Pour créer un dashboard, dans le dossier où se trouve nssm.exe, la commande

⇒ nssm install smmDashboard

Ouvrira une fenêtre de configuration. Il est alors nécessaire de pointer sur le fichier l’exécutable dashing qui se trouve dans le dossier Ruby, exemple de chemin : C:\Ruby23\bin

Dashing devrait apparaître deux fois :

Pour la configuration du service, nous utiliserons le .bat qui est donc à remplir dans Chemin

Le répertoire de démarrage correspond au dossier cwork board

Paramètre : Permet de passer un paramètre, nous mettrons start pour donner l’ordre à cwork board de démarrer avec le service.

Il est parfois nécessaire de spécifier un utilisateur si le service ne démarre pas :


Accéder au tableau de bord

En local : http://127.0.0.1:3030 (selon le port configurer dans Dashing). Le serveur complétera automatiquement l’adresse par le tableau de bord par défaut.

Paramétrage des machines qui seront affichées dans le tableau de bord

Le filtrage des machines affichées peut se faire à plusieurs niveaux. Par défaut, la liste des machines a affiché est générée. Les deux points suivants expliquent comment il est possible de personnaliser éléments qui constitueront le tableau de bord.

  1. Gérer la génération de la liste des machines à afficher

La liste est générée dans le fichier config.ru.

cncListHandle, un tableau, contient l’ensemble des handles des machines à afficher. Ce tableau est rempli dans la partie délimitée par

  ######################################################
 #              Selection
 ######################################################

######################################################

#              end of request and selection

######################################################

Un filtrage automatique des machines peut être effectuée pour la génération de la liste des machines.

 

  ######################################################

  #              Selection

  ######################################################

  Workshop = [] 

  #Workshop = ['Lathe', 'Milling' ] # select NC from the two workshop Lathe and Milling

  #Workshop = ['Lathe'] # select a single workshop

  DNCGroup = []

  #DNCGroup = ['VTC'] # select the NC by the DNC group

  MDCGroups = []

  #MDCGroups = ['groupA', 'groupB'] # Select NC by MDC group

Les trois tableaux permettent de respectivement sélectionner les :

Figure 1 : Machine dans l'atelier CU

Cette même notion peut être utilisée dans le tableau de bord. Par exemple pour afficher les machines de l’atelier « CU » et fraisage, nous pouvons effectuer ce tri automatique en complétant la ligne workshop par :

De la même manière, il est possible de ne sélectionner qu’un seul atelier.

 


  1. Sélectionner manuellement les machines à afficher

Un moyen simple de construire manuellement le tableau de bord avec les états machines à afficher est de passer directement dans dashboard\state_dashboard.erb.

Entre les balises

<div class="gridster">

</div>

Le widget d’une machine se définit par la balise <li> suivante :

<div data-id="CNC_2" data-view="State" ></div>

CNC_* désigne le contenu qu’affichera le widget par son handle machine, dans l’exemple. State désigne le widget. D’autres widget peuvent très bien être utilisés, cependant, nous n’avons configurer que State pour diffuser nativement les données de Cwork. L’utilisation d’autres widget, ou la création de nouveaux, nécessite au préalable de son utilisation un travail de création.

<li data-row="1" data-col="1" data-sizex="4" data-sizey="1">

        <div data-id="CNC_1" data-view="State" ></div>

</li>

<li data-row="1" data-col="1" data-sizex="4" data-sizey="1">

        <div data-id="CNC_3" data-view="State" ></div>

</li>

        


Paramétrer le nombre de widgets par page

Par défaut, 5 widget sont affichés sur le tableau de bord. Cet élément est paramétrable avec la variable RowNumber, disponible en haut du fichier dashboard\state_dashboard.erb. Pour modifier ce paramètre, il est nécessaire de renseigner la variable définie ci-dessous en conséquence.

  var rowNumber = 5; // state_dashboard.erb, Ligne 9

Mettre en place un switch des widgets

Le tableau de bord de base contient une option de pagination des widgets affichées, permettant de mettre en place une rotation des machines affichées à l’écran.  

Le switcher permet d’afficher de contrôler manuellement les widgets machine affichés par écran (par défaut 5) et d’introduire une notion de page pour par exemple trier les machines par ateliers.

Un exemple basique du switcher est placé dans le fichier dashboards\state_dashboard.erb

<li data-switcher-interval="20000" data-row="1" data-col="1" data-sizex="4" data-sizey="1">

        <div data-id="CNC_1" data-view="State" ></div>

        <div data-id="CNC_2" data-view="State" ></div>

        <div data-id="CNC_4" data-view="State" ></div>

</li>

        

<li data-switcher-interval="20000" data-row="1" data-col="1" data-sizex="4" data-sizey="1">

        <div data-id="CNC_3" data-view="State" ></div>

        <div data-id="CNC_5" data-view="State" ></div>

        <div></div> 

</li>        

Les balises <li></li> délimitent une section où une série de widget vont défiler. Les widgets, définis par <div … ></div>, s’afficheront les uns après les autres, avec le délai renseigné par la variable data-switcher-interval. Chaque section est autonome et si le nombre de widgets ou le délai sont différents, alors il n’y aura pas de correspondance entre les éléments affichés sur chaque section. Pour garder cette correspondance sur les cycles si une page a moins de machines que les autres, il est possible de compenser par un widget vide <div></div>. L’exemple ci-après illustre l’extrait de code.


Utiliser des images PNG

Il est possible d’utiliser des images PNG à la place de JPG. L’intérêt est alors de pouvoir avoir des fonds transparent (par exemple envoyer des images arrondies pour un dashboard marketing).

A partir de la version du dashboard diffusée avec la version Cwork 9.0.2, le format de l’image pour chaque CN est automatiquement identifié et exploité. Il n’y a plus besoin de modifier

Définir plusieurs tableaux de bord

Nous diffusons par défaut un tableau de bord state_dasboard. D’autres tableaux de bord peuvent cohabiter, définis chacun par le nom de fichier. Par exemple il peut être intéressant de créer des tableaux de bord par atelier ou par îlots machines.

La création d’un tableau de bord s’effectue avec la commande

dashing generate dashboard nomDuNouveauDashboard

Ou simplement en dupliquant le fichier state_dashboard.erb.

Le nom qu’aura ce fichier spécifie également l’url d’accès au tableau de bord.

Exemple pour un tableau dash1.erb, l’url d’accès depuis le navigateur, si le serveur est hébergé en local, sera

Définir le tableau de bord par défaut

Si plusieurs tableaux de bord existent en parallèle, ou si le nom du tableau de bord par défaut a été modifié, il peut être intéressant de modifier le tableau de bord par défaut de Dashing. Ce tableau de bord par défaut est celui qui apparaît lorsqu’on tape simplement l’adresse IP. Par exemple en local :

Redirigera par défaut au tableau de bord

Le paramètre est à remplir dans le champ « dashboard_name ».

set :default_dashboard, 'dashboard_name' #default dashboard


Ajouter un mot de passe

Trouver la section

######################################################

#                  BEGIN PASSWORD CONFIG

######################################################

  helpers do

        def protected!

         # Put any authentication code you want in here.

         # This method is run before accessing any resource.

        end

  end

end

Et remplacer la partie en rouge par

helpers do

 def protected!
   unless authorized?
     response['WWW-Authenticate'] = %(Basic realm="Restricted Area")
     throw(:halt, [401, "Not authorized\n"])
   end
 end

 def authorized?
   @auth ||=  Rack::Auth::Basic::Request.new(request.env)
   @auth.provided? && @auth.basic? && @auth.credentials && @auth.credentials == [
'admin', 'admin']
 end

end

Les parties en rouges représentent respectivement le login et le mot de passe.


Dashing ne démarre pas, ni en mode service, ni en ligne de commande

L’erreur la plus courante reste l’API qui n’est pas fonctionnel (non lancée). En ligne de commande, un premier élément indique que l’api est correctement lancée. C’est la liste des machines qui apparaît :

  

Ces messages sont émis depuis config.ru lors du téléchargement des images. Cette réponse n’est pas possible si l’API n’est pas lancée.

Celle-ci doit nécessairement avoir le mode BOARDAPI actif. Cette condition se vérifie directement dans la fenêtre des licences de Cwork

Licences logicielles

Un test simple pour s’assurer du fonctionnement du serveur de l’API est de se connecter à l’adresse locale. Par défaut, une demande d’identifiants apparaîtra.

Si une erreur « la connexion a échoué » apparaît, le tableau ne pourra pas fonctionner. Il faut d’abord résoudre ce problème (erreur pare-feu, le moteur de l’api n’est pas lancé …).


Pour aller plus loin

Toutes les fonctions de l’API sont décrites dans la doc http://docs.smcom.com/ 

Ce document explique comment paramétrer basiquement le tableau de bord. Dashing est un outil très puissant. Cependant, il existe une documentation complète en ligne, mise à jour par l’éditeur et la communauté.


Smcom software Copyright 2018

www.cwork.fr

Page