Ouverture d'une base obligatoirement sur le serveur ....

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Ouverture d'une base obligatoirement sur le serveur ....

Messagepar adx60 » 05 Oct 2010 à 09:15

Salut,

Comme d'hab, j'aime bien faire compliqué, doit voici encore un cas qui me prends la tête....

J'ai une application lotus plutôt complexe et gourmande en ressource... Quand on ouvre un document, elle vas chercher des valeurs dans beaucoup de table (description / nom / etc ...)

De ce fait, elle est quasi inutilisable directement sur le serveur... (1 minutes pour ouvrir un document, c'est trop !)

En replica local, elle fonctionne très bien, sauf que j'ai beaucoup d'utilisateur et que la multiplication des replica locaux me pose problème (ressource sur le serveur lors des réplications, conflit de document a gérer, etc ...)

J'ai finalement trouvé un truc qui fonctionne vraiment très bien :
Je créer un replica local de la base, mais uniquement avec les documents "table", pas les données elle même. Dans mon code, avec le Dblookup ou en javascript, je vais chercher toutes les infos type descriptions et autre en local et j'ai des temps de réponse très correcte ... (4 second pour ouvrir un document).

Seul problème. Je doit forcer l'utilisateur a utiliser la base de données sur le serveur, et ceci malgré la présence d'un replica local partiel...

OK, j'explique aux utilisateur qu'il faut cliquer sur le bouton droit et choisir le replica serveur... Mais bon...

Je cherche un moyen simple de forcer la base a s'ouvrir sur le serveur ? Quelqu'un aurais une astuce ???

Merci et A+
Cordialement.

Gael.

Dans l'informatique, ce qui est bien : Chaque jour est un nouveau défis :mrgreen:. Ce qui est moche, On ne voit pas ses enfants grandir .... :cry:
Avatar de l’utilisateur
adx60
Posteur habitué
Posteur habitué
 
Message(s) : 245
Inscrit(e) le : 14 Jan 2008 à 10:27
Localisation : Le plessis belleville

Messagepar nemrod93 » 05 Oct 2010 à 15:26

Bonjour,

Si j'ai bien compris, tes masques contiennent des champs qui pointent en local pour alimenter des listes. Donc du type @dblookup("":"NoCache";"":"";nomdelavue;clé,colonne). Et ton soucis vient du fait qu'ils peuvent avoir à la fois le coupon de réplique local et le coupon de la base sur le serveur.

Pourquoi ne pas créer une base "pointeur" qui ouvre la base sur le serveur dans le postopen? Je fais ça pour une tonne de clients et cela évite les formations "complexes" du type clique-droit. :D
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar adx60 » 05 Oct 2010 à 16:03

Je pense que c'est la piste que j'ai commencé à explorer.... Mais en utilisant le post open de la dite base...

Voici ce que j'ai dans le postopen :

Code : Tout sélectionner
      If db.Server = "" Then
      ' Database is open on Workstation
      ' Close database and open it on Server !
         dbui.Close
            
         Call ws.OpenDatabase(ServerName, db.FileName, "", "", False)
            
      End If


Et le resultas de ce code est plutôt variable... suivant les versions de lotus ....

7.0 ==> La base "server" s'ouvre, mais la base local reste ouverte
8.0 ==> La base "server" s'ouvre, la base local ce ferme (parfait)
8.5 ==> Plantage de lotus !!!!!

Donc, la je sèche...

Comment fait-tu ta base "pointeur" ???? merci
Cordialement.

Gael.

Dans l'informatique, ce qui est bien : Chaque jour est un nouveau défis :mrgreen:. Ce qui est moche, On ne voit pas ses enfants grandir .... :cry:
Avatar de l’utilisateur
adx60
Posteur habitué
Posteur habitué
 
Message(s) : 245
Inscrit(e) le : 14 Jan 2008 à 10:27
Localisation : Le plessis belleville

Messagepar nemrod93 » 05 Oct 2010 à 16:15

Bah c'est juste une base de type redirectrice en local qui ouvre la base sur le serveur, après c'est dans les formulaires et les dblookup ou les dbcolumn que tu viens lire en local tout en exécutant les créations et modifications sur le serveur, attention, jamais testé en 8.xx.
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar roubech » 05 Oct 2010 à 23:18

@memrod : "base de type redirectrice" : tu parles de base.nrf au lieu de base.nsf ? dans ce cas, comment avoir une réplique partielle avec des docs ?

@adx : la partie parametrage est dans la même base ? ca ne peut pas être dans une base à part, comme ca tu ne réplique que celle-là

sinon, si on prend le pb à la base, y a pas moyen d'optimiser l'ouverture ? tu as beaucoup de lookup, c'est vers veaucoup de docs, ou c'est pour récupérer plusieurs infos de 2 ou 3 docs ? pour les listes de choix, éviter de faire le lookup à l'affichage, voir pour ne faire le lookup que si l'utilisateur veut choisir une valeur
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar adx60 » 06 Oct 2010 à 08:39

Salut,

Peut-être que j'ai loupé quelques choses, je suis loin d'être infaillible, mais le problème c'est que le document est du genre super extra lourd....

dans les 150 / 200 champs... Hum... Et beaucoup son des données brute nécessitant la recherche dans une table pour un affichage correct.

Base.nrf ??? quesaco ???? je connais pas cette petite bête... Je vais me renseigner, cela peut-être une solution...

Merci et A+
Cordialement.

Gael.

Dans l'informatique, ce qui est bien : Chaque jour est un nouveau défis :mrgreen:. Ce qui est moche, On ne voit pas ses enfants grandir .... :cry:
Avatar de l’utilisateur
adx60
Posteur habitué
Posteur habitué
 
Message(s) : 245
Inscrit(e) le : 14 Jan 2008 à 10:27
Localisation : Le plessis belleville

Messagepar adx60 » 06 Oct 2010 à 08:41

A propos...

Comment fait-on pour ajouter un bookmark automatique dans lotus (version 7 ou 8.XX)

Merci et A+
Cordialement.

Gael.

Dans l'informatique, ce qui est bien : Chaque jour est un nouveau défis :mrgreen:. Ce qui est moche, On ne voit pas ses enfants grandir .... :cry:
Avatar de l’utilisateur
adx60
Posteur habitué
Posteur habitué
 
Message(s) : 245
Inscrit(e) le : 14 Jan 2008 à 10:27
Localisation : Le plessis belleville

Messagepar nemrod93 » 06 Oct 2010 à 08:43

Re,
si j'ai bien compris, il s'agit d'optimiser les temps d'accès aux données de listes avec une réplique locale pour chaque utilisateur d'une base centrale et aussi éviter les conflits donc saisie en central.
quand je parle de base redirectrice en fait c'est juste pour être sûr de pointer sur le serveur tout en effectuant les requêtes dans la réplique et c'est elle (la redirectrice) qui effectuerait le travail de pointer judicieusement sur le serveur pour afficher et créer les docs tout en pointant sur la réplique locale pour lister.
cdlt

Alain

On ne voit que ce qu'on veut voir, et on trouve rarement si on ne cherche pas
Avatar de l’utilisateur
nemrod93
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 378
Inscrit(e) le : 04 Déc 2008 à 10:26
Localisation : Saint Malo

Messagepar adx60 » 06 Oct 2010 à 09:45

Oui, bien compris ...

Pour ce qui est des fichier "nrf", c'est semble-t-il une nouveauté Domino 8, je suis en 7, dommage... Ça a l'air pas mal...

En fait, le fait de pointer sur la base local pour les requêtes "table" est géré dans mon code... Pas de soucis...

Je voudrais juste que l'utilisateur lambda n'est pas a réfléchir (toujours mauvais de demander a un utilisateur de réfléchir, source d'ennui :roll: ), juste un bookmark qui ouvre la base sur le serveur...

La partie création d'un replica local partiel s'il n'existe pas et recherche dans ce replica lors des ouvertures document fonctionne déjà.

A+
Cordialement.

Gael.

Dans l'informatique, ce qui est bien : Chaque jour est un nouveau défis :mrgreen:. Ce qui est moche, On ne voit pas ses enfants grandir .... :cry:
Avatar de l’utilisateur
adx60
Posteur habitué
Posteur habitué
 
Message(s) : 245
Inscrit(e) le : 14 Jan 2008 à 10:27
Localisation : Le plessis belleville

Messagepar roubech » 06 Oct 2010 à 13:24

si tu as déjà adapté ton code pour faire les lookup en local au lieu de la base courante, tu peux faire l'inverse sur les boutons de création de doc
si on es sur serveur faire ton compse ou si local un prompt
ou sinon, faire le compose sur le serveur en LS
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Dominux » 08 Oct 2010 à 10:27

Je rejoins @Roubech : pourquoi ne pas découper l'application en 2 bases, l'une pour les données de recherche et l'autre comme interface utilisateur ?
Cordialement,
Olivier (www.dominux.fr et sur Twitter)
Image
Avatar de l’utilisateur
Dominux
Administrateur
Administrateur
 
Message(s) : 1201
Inscrit(e) le : 16 Déc 2004 à 10:56
Localisation : Nantes


Retour vers Développement