1.Présentation
Le logiciel TabEditor a pour vocation la gestion simplifiée des onglets dynamiques, cette gestion est basée sur les groupes utilisateurs. Chaque catégorie d’utilisateurs bénéficie d’onglets adaptés à ses besoins. Un onglet dynamique peut être créé à partir d’un onglet standard existant ou peut être entièrement nouveau.
Recommandation : La création d’un onglet dynamique implique de bien connaître la base de données RadioAssist et doit faire l’objet d’une étude préliminaire avec l’administrateur.
Les onglets parents d'un onglet fixe déjà existant devront impérativement être virtuels. Ceci pour des raisons relatives aux applications de diffusion.
2.Installation
2.1.Package logiciel recquis
Le package Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) est recquis pour pouvoir exécuter les applications de la gamme RadioAssist 8.
Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) installe les composants runtime des bibliothèques Visual C++ nécessaires pour exécuter des applications développées à l'aide de Visual C++ SP1 sur un ordinateur sur lequel Visual C++ 2008 SP1 n'est pas installé.
2.2.Installation
Pour installer le logiciel TabEditor, exécuter le programme d’installation "TabEditor.msi".
Lorsque la fenêtre ci-dessous s’affiche, cliquer sur le bouton "Suivant" pour poursuivre l’installation.

Cocher la case d'acceptation du contrat de license après l'avoir lu.
Cliquer sur "Suivant".

Le programme d’installation installe les fichiers dans le répertoire par défaut suivant :
C:\Program Files (x86)\Netia\TabEditor\".
Cliquer sur "Modifier" pour choisir un autre dossier de destination.
Cliquer sur le bouton "Suivant" pour poursuivre l’installation.

Cliquer sur "Installer".

L'installation est terminée.
Cliquer sur "Terminer".

2.3.Description du setup pour l’accès aux bases de données.
Lorsque vous exécuter pour la première fois le logiciel TabEditor, la fenêtre suivante « Database Error » apparaît car la configuration pour accéder aux bases de données n’existe pas. Après avoir acquitté ce message en cliquant sur le bouton OK, la fenêtre "Setup" sera accessible pour configurer vos accès aux bases de données pour pouvoir utiliser TabEditor.
Information : Cette fenêtre n’apparaît qu’une seule fois lorsque vous exécutez pour la première fois le logiciel TabEditor.

La fenêtre suivante "Database Setup" vous permet de configurer les accès ODBC à vos bases de données.
Il faut au préalable avoir créé les sources de données ODBC pour que celles-ci soient visibles au niveau de la ligne "DSN".
L'affichage sera différent en fonction du type de connexion utilisé :
1- Lors de l'utilisation d'une connexion ODBC à la base de données ou d'une connexion "Cluster", sélectionnez dans le menu DSN la base de données primaire. Ensuite, nous mettons le nom d'utilisateur et mot de passe.

2- Lorsque vous utilisez une connexion "Double ODBC" à la base de données ou une "Réplication", sélectionnez dans le menu DSN la base de données primaire et la secondaire. Pour les deux, mettez le nom d'utilisateur et le mot de passe.
![]() DSN : Nom de la source ODBC pour accéder à la base de données. |
![]() User : Nom de l’utilisateur pour se connecter à la base de données. |
![]() Password : Mot de passe de l’utilisateur. |
3.Interface utilisateur
Pour utiliser le logiciel TabEditor, il faut vous connecter avec un utilisateur disposant des droits "Administrateur".
Tab Editor lit les onglets de la langue par défaut de RadioAssist, l’anglais.
On peut créer des onglets dans d’autres langues que l’anglais mais on ne peut pas les visualiser dans TabEditor après sauvegarde.

Une fois connecté, TabEditor s'ouvre.

| |||||||
| |||||||
| |||||||
![]()
|
4.Création d'un onglet dynamique

A partir de l'écran principal, cliquer sur
.
La fenêtre suivante s'ouvre.

Saisir les informations suivantes :
Tab name : Nom de l’onglet dynamique, ce nom sera validé dans la langue choisie. |
In : Selection de la langue pour le nom de l’onglet dynamique. |
Tab Order : Permet de spécifier la position de l’onglet (0 par défaut). |
Tab icon : Icône associé à l’onglet dynamique (*.ICO ou *.BMP) pas plus de 256 x 256. |
Import bitmap : Permet de choisir l’icône associée à l’onglet dynamique. Ouvre une boite de dialogue "Open File". |
Item type : Sélection du type d’éléments que l’onglet doit gérer (au niveau matière associée). ![]() Sound, Text, Image, Video : Type d'éléments physiques pouvant être diffusés. Cart, Jingle Pack : Type d'éléments utilisés pour regrouper les éléments à diffuser. SMS, Event, Contact : type d'éléments spécifiques (Obsolète). Asset, Basket, To Do, Project : Type d'éléments utilisés dans Media Assist. Metadata : Type d'éléments utilisés pour créer des éléments de type métadonnées afin d'ajouter plus de métadonnées à un écran dans Radio Assist. |
Subtype : Sélection d’un ensemble de sous-type d’éléments existant. |
Opening request by default : Requête à exécuter à l’ouverture de l’onglet dynamique de type SELECT. Ce champ peut rester vide. Au besoin, on peut spécifier dans ce champ une clause SQL, qui apparaîtra dans la clause WHERE d’une requête de type SELECT. Exemple: STRING_3 LIKE ‘Sport’. Cette clause sera donc utilisée automatiquement par le browser RadioAssist lorsque l’onglet dynamique sera sélectionné. Dans cet exemple, le browser effectuerait une requête du type « SELECT … FROM T_ITEM WHERE … AND STRING_3 LIKE ‘Sport’ » pour afficher les éléments appartenant à l’onglet. |
Writing request by default : Requête à exécuter lors de l’insertion ou la modification d’un élément dans un onglet dynamique de type INSERT, UPDATE. Ce champ peut rester vide. Au besoin, on peut aussi spécifier dans ce champ une clause SQL, qui apparaitra dans la clause SET d’une requête de type UPDATE. Exemple: STRING_3 = ‘Sport’. Lors de l’insertion (fiche d’indexation) d’un élément dans l’onglet, la clause sera utilisée automatiquement. Dans cet exemple, le browser effecturait une requête du type « UPDATE T_ITEM SET …, STRING_3 = ‘Sport’ WHERE ID_ITEM = … ». |
Virtual tab : Si cette option est cochée ; onglet Virtuel en lecture seule, non cochée ; onglet dynamique - ajout et modification autorisés (l’onglet apparaît alors dans les fiches d’indexation). |
Is a Child : Si cette option est cochée ; c’est un sous–ensemble d’un onglet dynamique ou virtuel existant. |
Select groups that can see this tab: Sélection des groupes utilisateurs pour visualisation dans le Browser RadioAssist. |
![]() ![]() Il change de valeur en cliquant dessus. |
5.Modfication d'un onglet dynamique
Pour modifier un onglet dynamique, selectionner l’onglet que vous souhaitez modifier et cliquer sur le bouton suivant pour modifier cet onglet.
Cliquer sur
pour ouvrir les paramétres de l'onglet souhaité.
Faire les modifications puis cliquer sur
.
6.Suppression d'un onglet dynamique
Pour supprimer un onglet dynamique, sélectionner l’onglet que vous souhaitez supprimer et cliquer sur le bouton suivant pour supprimer cet onglet.
Cliquer sur
.

Cliquer sur "Yes" pour confirmer la suppression.
IMPORTANT :
A CHAQUE MODIFICATION DU MODELE DE DONNEES IL EST IMPERATIF DE :
- REDEMARRER LES RADIOASSIST
- FAIRE UN "iisreset" POUR RADIOASSISTWEB
7.Création des critères de définition d'un composant
Pour créer des composants dans un onglet dynamique, sélectionner l’onglet et cliquer sur le bouton suivant
l’intérieur de l’onglet.
Puis renseigner les différents champs ci-dessous.


Search criteria : Le composant apparaît comme critère de recherche dans le Browser.

Indexation : Le composant apparaît comme indexation dans la base de données.

Test Unique Value : active le test d’unicité sur la valeur entrée dans le champ.

Browser column : Le composant apparaît comme colonnes visible dans le Browser.

In-place edition : Permet la modification du champ directement dans le Browser.

Owner : Nom de l’onglet dynamique auquel se rattache le composant.

Targeted column : Sélection de la colonne cible dans la table T_ITEM.
Target Column avancé :
"$GLOBAL" : Critère de recherche permettant de rechercher dans tous les composants de type chaîne de caractères (editbox, multiligne) contenus dans la fiche d'indexation (ou dans la grille du navigateur).
"$FULLTEXT" : Recherche avancée de type FullText dans les données texte qui sont indexées dans la table T_FILECONTENT. Ces données peuvent être le résultat de la transcription ou d’autres configurations spécifiques (dépêches, etc.).
La recherche FullText permet de faire des recherches simples, booléennes, de proximité (near), et partielles (*). Voir la documentation RadioAssist utilisateur pour connaître l’usage du contrôleur (paragraphe recherche).
Onglet Tous : Dans l'onglet “Tous” statique, le champ "Global" recherche dans les champs de la base de données STRING_1 à STRING_4 (ou STRING_5) de tous les onglets. La recherche booléenne est possible.

Name : Nom du composant dans la langue choisie.

In : Sélection de la langue.

Type : Type de composant.
Edit Box : champ d’édition simple ligne caractère alphanumérique
Combo box : liste à choix multiple et champ de saisie si composant modifiable.
Date : champ de type calendrier.
Time : champ de type heure.
Number : champ de saisie numérique uniquement.
Multiline Edit Box : champ d’édition sur plusieurs lignes.
Duration : champ de saisie d’une durée au format hh/mn/ss.
Check Box : case à cocher.
Path : chemin complet vers un fichier.
Url : chemin complet vers une Url.
Status : champ de type case à cocher.
MultiComboBox : Liste à choix multiples avec la possibilité de sélectionner plusieurs valeurs dans la liste.
Flag : Champ de type booléen. Lorsqu’il est sélectionné un bouton Import icon apparaît afin d’affecter une icône spécifique.

Cette icône doit obligatoirement être au format png et maximum en 256x256.
Default Value : Valeur par défaut à affecter dans le champ en fonction de son type.
Use global variables : Utilisation des variables globales lorsque la case à cocher est sélectionnée.

Table : Bouton pour sélectionner la table où seront stockées les informations pour ce composant. Cette option n’est seulement disponible que pour les composants de type Combo Box. Cette option permet de créer des vues (alias) sur une table composant la base de données ABC8.

Dialog window : Sélection de la table de stockage des informations.

Data storage : Nom de la table (Vue) dans laquelle sont stockées les informations.

String list… : Bouton pour ajouter une chaîne de caractères par défaut dans une combo box et créer des liens de parenté entre-elles.

Parent component : Liaison de combo box entre-elles (parenté Père-Fils).
Si une Combo Box a un composant parent, elle n’affichera dans sa liste que les chaînes de caractères dépendantes de la chaîne sélectionnée dans la Combo parent.
Si aucune chaîne n’est électionnée dans la Combo parent, elle affichera toutes les chaînes définies.
ATTENTION : Si deux Combo liées sont définies en indexation, il est conseillé de leur associer le droit "Must use".

Search criteria filter : Filtre de recherche.
Pour les chaînes de caractères (= strictement égal à, LIKE semblable à).
Pour les chiffres et dates (<=, >=, =).
Select groups that see this tab :

Selection des groupes utilisateurs pour la gestion des composants.
Required : Champs de saisie obligatoire pour une indexation dans la base de données.
Visible : Permet de voir le composant pour un groupe donné.
Editable : Permet de modifier le composant pour un groupe donné.

All/Non required : Bouton pour attribuer ou retirer tous les droits pour tous les groupes.

All/None visible : Bouton pour attribuer ou retirer tous les droits de visibilité du champ pour tous les groupes.

All/None editable : Bouton pour attribuer ou retirer tous les droits pour tous les groupes permettant d’ajouter ou de modifier un champ d’indexation pour les combo box.

OK : Bouton de validation.

Cancel : Bouton d’annulation.
Pour modifier des composants dans un onglet dynamique selectionné cliquer sur
ou double cliquer dessus.
Pour supprimer des composants dans un onglet dynamique selectionné cliquer sur
.
Note : L'ordre des différents composants peut être modifié par une simple opération de "glisser-déposer" : cet ordre sera respecté lors de l'affichage des onglets dans le navigateur RadioAssist.
8.Création d’une chaîne de caractères par défaut dans une combo box.
8.1.Création d’une chaine de caractères
Pour créer une chaîne de caractères par défaut dans une combo box, cliquer sur le bouton suivant.
Bouton pour ajouter une chaîne de caractères par défaut dans une combo box et créer des liens de parenté entre-elles.

Cliquer sur le bouton
pour ajouter une chaîne de caractères par défaut dans une combo box et taper votre nouvelle chaine caractère par défaut.

Il est possible de lier des combo box entre-elles (lien de parenté Père-Fils) avec le critère suivant :
Quand on clique sur le bouton "String List" pour une combo qui a un parent, la fenêtre "Define the content of a combo box" apparaît avec un bouton "Dependancy"».
Ce même bouton permet de sélectionner la chaîne de caractère du parent dont elle dépend.
Pour modifier une chaîne de caractères selectionnée cliquer sur 
Pour supprimer une chaîne de caractères selectionnée 
8.2.Création d’une chaine de caractères avancés
8.2.1.Chaine de charactère dédié à un groupe utilisateur : $GROUP
Afin de dédier une chaîne de caractères à un groupe d’utilisateurs, utilisez la balise suivante lors de la création de la chaîne :
<$GROUP=[NomDuGroupe]>[ChaîneDeCaractères]
Les chaînes de caractères avec la balise $GROUPE ne seront visibles que par les utilisateurs du groupe.
8.2.2.Traduction des chaines de charactère : $LANGUAGE
Afin de traduire une chaîne de caractères en différents langages, utilisez la balise suivante lors de la création de la chaîne :
<$LANGUAGE=[NomDuLangage]>[ChaîneDeCaractères]
Les chaînes de caractères avec la balise $LANGUAGE ne seront visibles que par les utilisateurs ayant la préférence de langage correspondant au langage défini.
9.Description des tables pour la gestion des onglets dynamiques
9.1.Description de la table T_COMPONENT
Cette table regroupe les informations relatives pour définir un composant sur un onglet dynamique.
Un composant peut être à la fois :
Une colonne du browser.
Une indexation.
Un critère de recherche.
9.1.1.Déclaration des champs
T_COMPONENT | |||
Nom de la colonne | Type | Longueur | Information / Commentaire |
ID_COMPONENT | int | 4 | Identifiant unique, non nul |
ID_TAB | int | 4 | Identifiant unique de l’onglet |
ITEM_COLUMN | Varchar | 20 | Colonne ciblée dans T_ITEM |
ID_SOFTLANG | int | 4 | Référence dans la table T_SOFT_LANG |
TYPE_COMPONENT | int | 4 | Type du composant |
CRIT_FILTER | varchar | 10 | Filtre pour les critères de recherche |
COMBO_TABLE | varchar | 32 | Nom de la table associée si type = 2 (combobox) |
ID_PARENT | int | 4 | Identifiant du composant parent |
IS_INDEX | int | 4 | >0 si oui |
IS_CRIT | int | 4 | >0 si oui |
IS_BROWSE | int | 4 | >0 si oui |
9.1.2.Index
Index | Type | Colonnes |
I_COMPONENT_PK | ASC | ID_COMPONENT |
I_SOFTLANG | ASC | ID_SOFTLANG |
I_TAB | ASC | ID_TAB |
9.1.3.Détail sur les champs
ID_ COMPONENT
Clé primaire unique.
ID_TAB
Index de l’onglet dans T_TAB qui possède ce composant.
ITEM_COLUMN
Nom de la colonne ciblée dans T_ITEM.
ID_SOFTLANG
Référence dans T_SOFT_LANG, donnant le titre du composant.
Attention : le champ ID_SOFTWARE de T_SOFT_LANG pour les composants des onglets dynamiques est fixé à 501.
TYPE_COMPONENT
Type du composant :
1 = Edit box.
2 = Combo box.
3 = Date.
4 = Time.
5 = Number.
6 = Multiline Edit Box*.
* Les champs multi-lignes sont des objets de type rich-edit control, c'est-à-dire qu’il est possible de formater le texte qui se trouve à l’intérieur de ces champs.
Par conséquent, l’utilisateur devra veiller à bien sélectionner le type de police ainsi que la taille à appliquer, du fait que le nombre maximum de caractères autorisés** changera en fonction de ce choix préalable.
** Afin de savoir quel est le nombre maximum de caractères autorisés pour chaque champ, veuillez-vous référer à la documentation concernant la base de données ABC8.
CRIT_FILTER
Filtre a appliquer pour certains critères de recherche.
Attention : Ce champ n’est valable que si
IS_CRIT > 0 et TYPE_COMPONENT = 1 ou 2 ou 4 ou 5
TYPE_COMPONENT | Valeurs possibles |
1 | ‘ = ’ ou ‘ LIKE ’ (sans les apostrophes !) |
2 | ‘ = ’ ou ‘ LIKE ’ (sans les apostrophes !) |
4 | ‘ <= ’ ou ‘ >= ’ ou ‘ = ’ (sans les apostrophes !) |
5 | ‘ <= ’ ou ‘ >= ’ ou ‘ = ’ (sans les apostrophes !) |
COMBO_TABLE
Nom de la table associée à ce composant, si celui-ci est de type 2 = Combo box
ID_PARENT
Index dans T_COMPONENT du composant parent.
–1 si pas de parent.
IS_INDEX
Indique si ce composant est une indexation.
Les composants sont ordonnés suivant ce champ.
IS_CRIT
Indique si ce composant est un critère de recherche.
Les composants sont ordonnés suivant ce champ.
IS_BROWSE
Indique si ce composant est une colonne du browser.
Les composants sont ordonnés suivant ce champ.
REMARQUES :
Des droits sont associés, à chaque groupe d’utilisateurs, pour tout composant.
Pour l’instant, deux droits sont définis :
"Peut-on mettre à jour ce composant ?"
"Une valeur pour ce composant est-elle requise lors d’une copie d’item ?"
Cela se traduit dans T_SOFT_LANG de la manière suivante :
ID_GROUP_USER | NAME_GROUP | ID_SOFTWARE | PARAM_TYPE | PARAM_CRIT | PARAM_VALUE |
Id_groupe | Nom_groupe | 501 | Id_composant en chaîne de caractères | UPDATABLE | "Yes" ou "No" |
Id_groupe | Nom_groupe | 501 | Id_composant en chaîne de caractères | REQUIRED | "Yes" ou "No" |
9.2.Déscription de la table T_Cxxx
Cette table regroupe les informations relatives pour la gestion des chaînes ajoutées à un composant de type combobox.
Le nom exact de la table est stocké dans la table T_COMPONENT.
9.2.1.Déclaration des champs
T_Cxxx | |||
Nom de la colonne | Type | Longueur | Information / Commentaire |
ID_COMBO | int | 4 | Identifiant unique, non nul |
COMBO_STRING | varchar | 25 | Chaîne, nom de la combobox |
ID_PARENT_COMBO | int | 4 | Identifiant de la chaîne parent |
9.2.2.Détail sur les champs
ID_PARENT_COMBO
Index de la chaine de caractère parent.
Attention : Cette chaine n’est pas dans la même table, mais dans la table T_Cxxx associée au parent du composant rattaché à cette table.
9.3.Déscription de la table T_TAB
Cette table regroupe les informations relatives pour la gestion et la définition d’un onglet dynamique.
9.3.1.Déclaration des champs
T_TAB | |||
Nom de la colonne | Type | Longueur | Information / Commentaire |
ID_TAB | int | 4 | Identifiant unique |
ID_SOFTLANG | int | 4 | Référence s la table T_SOFT_LANG |
VIRTUAL | int | 4 | Non = 0, Oui = 1 |
TYPEITEM | int | 4 | Type d’item associé |
TYPE1ITEM | int | 4 | Sous-type d’item associé |
DEFAULT_REQUEST | varchar | 128 | Requête par défaut à l’ouverture de l’onglet |
WRITE_REQUEST | varchar | 128 | Requête par défaut à la fermeture de l’onglet |
ICON | text | 16 | Icône de l’onglet |
ROTATION | int | 4 | Rotation dans Air-playlist |
TAB_ORDER | int | 4 | Numéro d’ordre de l’onglet |
9.3.2.Index
Index | Type | Colonnes |
I_SOFTLANG | ASC | ID_SOFTLANG |
I_TAB_PK | ASC | ID_TAB |
9.3.3.Détail sur les champs
ID_TAB
Clé primaire unique.
ID_SOFTLANG
Référence dans T_SOFT_LANG, donnant le titre de l’onglet.
Attention : le champ ID_SOFTWARE de T_SOFT_LANG pour les onglets dynamiques est fixé à 500.
VIRTUAL
Pour la gestion des onglets virtuels.
TYPEITEM
Type de matière géré par cet onglet :
0 = Tous les types de matière.
1 = Item son.
2 = Item texte.
3 = Item image fixe.
4 = Item video.
TYPE1ITEM
Sous-type de matière gérée:
Value | Item Son | Item Texte | Image | Video |
0 | Tous sous types | Tous sous types | Tous sous types | Tous sous types |
1 | News | |||
2 | Music | |||
3 | Jingle | |||
4 | Ad | |||
5 | AutoProgram | |||
10000 | Nouveau sous type | |||
10001 | … |
DEFAULT_REQUEST
Paramètres supplémentaires pour requête de type SELECT à l’ouverture de l’onglet.
WRITE_REQUEST
Paramètress supplémentaires pour requête de type UPDATE à la fermeture de l’onglet.
ICON
Icône de l’onglet sous forme de chaîne de caractères. Chaque octet de l’image originale est transcrit sur deux caractères en représentation hexadécimale (ex: Un octet dont la valeur est 255 sera transcrit en « FF »).
ROTATION
Rotation dans Air-playlist.
TAB_ORDER
Spécifie l’ordre d’affichage des onglets, valeur par défaut : 0
REMARQUES :
Des droits sont associés, à chaque groupe d’utilisateurs, pour tout onglet.
Pour l’instant, un seul droit est défini :
"Est-ce que le groupe a le droit de voir cet onglet ?" Cela se traduit dans T_SOFT_LANG de la manière suivante :
ID_GROUP_USER | NAME_GROUP | ID_SOFTWARE | PARAM_TYPE | PARAM_CRIT | PARAM_VALUE |
Id_group | Nom_group | 500 | Id_onglet en chaîne de caractères | DISPLAY | "Yes" or "No" |










