En OJS (OPX2 JavaScriptLangage de scripting orienté objet) l’instruction fromobject permet de réduire le périmètre des traitements réalisés aux objets en relation avec l’objet de départ.
Par exemple si l’on souhaite afficher l’ID des activités de niveau 2 du projet nommé "PROJET_DEVELOPPEMENT_2013" on pourra utiliser la syntaxe suivante :
var my_project = "OpxProject".get("PROJET_DEVELOPPEMENT_2013");
fromobject(my_project)
{
for (var each_act in "OpxActivity" where each_act.LEVEL == 2)
{
alert(each_act.ID);
}
}
Ici on n’a pas besoin de rajouter une condition du type "each_act.FILE == my_project" dans la boucle "for" car l’instruction fromobject() va limiter le périmètre de recherche aux objets en relation avec le projet <span , c’est à dire ici les activités de ce projet.
On peut remarquer que l’instruction fromobject n’accepte qu’un seul argument. Or on pourrait avoir besoin d’utiliser cette instruction sur plusieurs projets en même temps : c’est à dire limiter le périmètre des traitements à plusieurs projets (et non un seul).
<span qui permet de créer temporairement un fichier virtuel regroupant plusieurs projets. L’avantage c’est que l’on va pouvoir l’utiliser comme un seul fichier dans notre fromobject().
<span :
//Define 2 projects for the example
var my_project1 = "OpxProject".get("PROJET_001");
var my_project2 = "OpxProject".get("PROJET_002");
//Define new virtual dataset
var Virtualdataset= new OpxVirtualDataset();
//Define a vector of projects to create the virtual dataset
var project_vector = new vector();
project_vector.push(my_project1);
project_vector.push(my_project2);
Virtualdataset.selectedDatasets = project_vector;
//Use virtual dataset in a fromobject instruction
fromobject(Virtualdataset)
{
for (var each_act in "OpxActivity" where each_act.LEVEL == 2)
{
alert(each_act.ID);
}
}
Le script précédent va donc afficher dans un message de type alerte la liste des activités (Tâches et Sous-projets) de niveau 2 situés dans les projets <span . Ceci de manière optimisé car seuls ces 2 projets seront parcourus pour la recherche.
Attention il n’est pas judicieux d’utiliser un fromobject sur des fichiers communs car ceux-ci sont liés entre eux et à des projets. Le fromobject ne va pas limiter les traitements au fichier indiqué mais à tous les éléments en relation avec le fichier indiqué. La plupart du temps comme les fichiers communs sont liés aux projets le fromobject n’aura aucun effet.
Quelles sont les améliorations et optimisations à apporter sur votre application JEE pour maximiser les performances concernant le chargement des images.
Ayant eu quelques difficultés à compiler Jasper Server, je vous propose ici une méthodologie pour compiler les sources Jasper Server tout en évitant les quelques écueils qui ne sont pas détaillés dans la documentation officielle. L’exemple est basé sur un
Dans cet article, nous allons voir comment contextualiser vos projets dans l’ETL Talend. La contextualisation consiste à, d’une part, « variabiliser » l’ensemble des paramètres qui sont utilisés dans les jobs (connexion aux bases de données, chemin vers l