Ga naar inhoud
  • 0

Rare reactie van globals in FM 8.5 - Server 8.0


Stardust

Vraag

Beste groep,

 

Weerom heb ik een rare ervaring met de Server editie.

 

Wanneer er globalen worden weggeschreven, zijn de waarden bij het heropstarten van de client verdwenen. De server versie is 8.0 en de clients 8.5 allen draaiend onder Windows XP SP2. Het betreft hier voornamelijk container velden. De bestanden worden bewerkt vanop een client, immers zoals voorgeschreven staat op de server geen Filemaker client. De afbeeldingen zijn ingebracht en niet als verwijzing geplaatst. Ook andere types van velden (tekst, data, enz...) verliezen hun globale data wanneer de server heropgestart is.

 

Dit is is uitermate irriterend, een aantal oplossingen werken niet tenzij men telkenmale terug opnieuw de waarden in de globalen plaatst, wat natuurlijk niet de bedoeking is :evil:

 

Het rare is ook dat dit voorheen gebeurde met FM 6 clients en Server 5.0.

 

Is er hier een verklaring voor en nog beter, een oplossing?

 

Ik had gedacht en gehoopt dat het gebruik van een Server editie me het leven zou vergemakkelijken maar ik begin daar mùet de dag meer en meer aan te twijfelen :?

 

Met vriendelijke groet aan Allen,

 

Danny

aangepast door Gast
Link naar reactie

13 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Mmmm is standaard gedrag. Globalen in een serveromgeving werken nu eenmaal anders. Zijn per client en worden weer gewist als de client uitlogt een soort gedrag als variabelen dus. Dus of server uit de lucht nemen en de bestanden/globalen bewerken en weer in de lucht nemen of relatie maken met een 1 record bestand of globalen laten vullen bij het openen/opstarten.

Link naar reactie
  • 0

Zonder een polemiek te willen beginnen over FM, vind ik het nog steeds onbegrijpelijk dat wanneer men investeert in een Server editie, deze versie uiteindelijk op sommige zaken slechter is dan wanneer men een netwerkopstelling vanaf clientversies doet. Via deze wijze heb ik nimmer problemen gehad met het toekennen van globalen, deze bleven ongewijzigd voor alle clients.

 

Gezien ik veel gebruik maak van deze globale velden, heb ik nu heel veel spijt dat we ooit begonnen zijn met de Server editie, in verhouding tot de voorgaande opstelling, brengt ze niet echt veel verbetering. Moest ik vroeger iedereen verzoeken om het betrokken bestand te sluiten om er (fundamentele) wijzigingen in aan te brengen, dien ik dus nu met de Server editie eerst naar betrokken server te gaan, van het te bewerken bestand een kopie te maken, dit terug naar een andere pc te brengen om het vervolgens te kunnen bewerken, hierna het desbetreffende bestand teru naar de Server brengen, het betrokken bestand aldaar te sluiten (waardoor alle clients het dienen te stoppen) en het terug te plakken in de Server folder, vervolgens dit terug te activeren (openen), enz ... en ondertussen maar hopen dat toevallig geen wijzigingen werden aangebracht door één der clients in het bestaande bestand op de server.

Alletrnatief kan men het bestand gewoonweg knippen (en dus tijdelijk verwijderen), probleem is dat men dan niet verder kan werken of nog een alternatief is om het bewerkte bestand te klonen om vervolgens het onder een andere naam terug te zetten en vragen om iedereen om niets in het originele bestand te willen doen, vervolgens de records te importeren vanuit het oude naar het nieuwe (kloon) bestand. Het oude bestand op de server te sluiten, te hernoemen of verwijderenen en de kloon hernoemen naar de originele naam.

 

Ik weet niet, maar mij lijkt dit niet echt handig te zijn ... of ben ik nu 'wat' te sceptisch? :evil:

Link naar reactie
  • 0

Mjah... de wetenschap van wat globale velden eigenlijk zijn maakt het voor mij wel weer logisch.

 

Veelal werden globale velden "misbruikt" voor het opslaan van werkstation-afhankelijke gegevens.

Ik heb deze velden altijd beschouwd als tijdelijke variabelen die per gebruiker aparte content bevatten.

Met nadruk op tijdelijk. Want in al mijn applicaties heb ik een databaasje zitten die per gebruiker gegevens wegschrijft om ze de volgende keer weer op te halen.

 

Het punt is dat de inhoud van globale velden niet goed onder controle te krijgen zijn in Filemaker indien dit per werkstation (of gebruiker) opgeslagen zou blijven voor de toekomst.

Want wat gebeurt er als een werkstation 2 jaar buiten gebruik is geweest en deze ineens na de zoveelste update weer actief wordt? Hoe kom je er dan achter met welke instellingen dat de laaste keer is weggeschreven?

 

Ik begrijp je wel dat je verrast reageert bij de overstap van SU naar MU. Je wordt voorgehouden dat "alles precies zo blijft werken" en dat is niet zo.

 

Wat misschien kan helpen: bij het gebruik als Single User worden de globale gegevens in de tabellen opgeslagen. Bij gebruik van Multi-User zijn het deze instellingen die per gebruiker als start worden gehanteerd.

Stel ze zo in dat ze de best werkende startsituatie gaan krijgen.

De start van elke gebruiker is dan altijd op één en dezelfde wijze.

 

 

Andere tip: Maak een gebruikersrecord aan waarin alle informatie staat die per gebruiker opgeslagen dient te worden. Vervolgens kan je bij de start van de applicatie de inhoud van deze velden kopieren naar de globale velden.

Evenzo bij het afsluiten de globale velden terug kopieren naar het gebruikersrecord.

Het is misschien de kortste en simpelste weg, omdat de kern van de applicatie niet wordt aangepast.

Link naar reactie
  • 0
Veelal werden globale velden "misbruikt" voor het opslaan van werkstation-afhankelijke gegevens

 

Helaas, is dit hier zo niet, de globals worden gebruikt voor alle werkstations. Bvb. we schrijven iemand aan, de ene maal met en de andere zonder bijkomende tekst. Door middel van een selectievakje kan de gebruiker kiezen of de bijkomende tekst al of niet dient vermeld te worden.

 

Het resultaat wordt gebruikt in een calculatieveld dat de uitkomst als dusdanig interpreteert aan de hand van de gemaakte keuze. Hoewel de keuze per gebruiker en per record kan verschillen, blijft de inhoud van het globaal steeds hetzelfde, want dit heeft men nodig in het calculatieveld. Dit is slechts een eenvoudig voorbeeld, maar mijn oplossingen maken veelvuldig gebruik van deze techniek voor allerlei resultaten. Wanneer nu blijkt dat al die globalen telkenmale wanneer een client de bestanden opent opnieuw dienen aangepast, lijkt me dit nogal veel bijkomend werk, ik ben van het principe dat Filemaker dient om het werk te vregemakkelijken en niet om het nodeloos ingewikkeld te maken :?

 

Dit lijkt me enigszins logisch, te meer daar dit vroeger gebruikt werd in een opstelling die eveneens multi-user was, maar waarbij niet de Server editie gebruikt werd. Toen bleven de waarden van de globalen (weliswaar in FM 6.0 en ouder) aanwezig, ongeacht door wie ze ingebracht werden.

 

De bestanden stonden op een gedeelde server en werden gelijktijdig en simultaan door verschillende gebruikers gebruikt en bewerkt.

 

Dat is dan ook de reden waarom ik me niet zo gelukkig voel, wat vroeger geen problemen gaf, geeft plotseling wel problemen en een oplossing is helaas niet zo eenvoudig (lees 123 te verwerken in de bestaande bestanden).

 

Maar toch ben ik nog steeds uitermate dankbaar voor julie adviezen :wink:

 

Danny

aangepast door Gast
Link naar reactie
  • 0

Ik weet niet, maar mij lijkt dit niet echt handig te zijn ... of ben ik nu 'wat' te sceptisch? :evil:

 

Nee, Stardust, helemaal niet te sceptisch. Je doet het gewoon verkeerd.

Wat je ontgaat, is het verschil tussen globals (die steeds geldig zijn) en vaste waarden (die voor iedereen geldig zijn). Het verschil is hierboven al eens benadrukt, maar door je emoties heb je er overheen gelezen.

Link naar reactie
  • 0

Even trachten om vlug te vertellen wat de oorzaak van m'n gezeur is. Enige tijd geleden diende er 'on the fly' een aanpassing te gebeuren.

 

Een standaard brief moest als dusdanig gewijzigd worden dat men kan kiezen of er iets al of niet dient opgezonden te worden.

 

Dit kon ik heel snel regelen door gebruik te maken van een globaal veld van het type 'container', waarin ik eenvoudig een witte rechthoek plaats. Vervolgens een keuzeveldje maken (ja - neen) en een calculatieveldje, indien de uitkomst "neen" is, globaal veld met witte rechthoek tonen, anders "" (niets) tonen.

 

Dit calculatieveldje op de betreffende layouts (Frans, Engels en Nederlands) op de al of niet te verbergen tekst plaatsen en klaar is kees!

 

Even testen en dit werkt als een fluitje van een cent. Ondertussen server 5.0 geïnstalleerd (we werkten nog steeds met 6.0 clients waarbij de bestanden gedeeld werden vanaf een externe server, gehost door de eerste die het bestand opent en volgens velen hier een heel slechte werkwijze). Het viel me al op dat telkenmale de waarde van het globaal veld verdwenen was wanneer de server en/of client(s) opgestart worden.

Maar u weet hoe dat gaat, even geen tijd en men verliest het uit het oog .

 

Enkele maanden later, Filemaler Server 8.0 installeren, 8.5 clients installeren en de de upgrade van de bestanden doen. Vanzelfsprekend komen nu al de 'kleine' fouten naar boven. En inderdaad nu valt mijn aandacht terug op het fenomeen van de verdwijnende globale veldwaarden. In de eerste plaats, het forum op, zoeken naar een uitleg over dit probleem en uiteindelijk een berichtje plaatsen om hier al jullie adviezen te kunnen raadplegen.

 

kan je die globals niet instellen tijdens je opstart script?

 

Spreken we hier dan over globale velden of over variabelen ?

 

het verschil tussen globals (die steeds geldig zijn) en vaste waarden (die voor iedereen geldig zijn)

 

Zoals ik het begreep, was een globaal veld dat onveranderlijk geldig was voor alle records. :roll:

 

de wetenschap van wat globale velden eigenlijk zijn

 

Tja, wat zijn nu feitelijk globale velden?? :?

 

Globalen in een serveromgeving werken nu eenmaal anders

 

Dat is me ondertussen heel duidelijk geworden :?

 

 

Ondertussen vanavond nog wat bezig geweest en sommige globalen er al uit geslingerd en vervangen door calculation velden. Dit werkt (voorlopig nog op standalone versie hier thuis) prima maar is wel heel veel meer werk dan de eenvoudige truc die ik in het begin toegepast had.

 

Een andere tabel waarin ik globale containervelden gebruik, is mijn menu bestand. Dit is het zogenaamde hoofdbestand dat geopend wordt bij het opstarten en van waaruit de gebruikers hun toepassingen kunnen kiezen door het aanklikken van de desbetreffende menuknop. Hier heb ik dan maar de raad van burggraaf opgevolgd en het bestand apart genomen en geopend en bewerkt. Nu blijven de globale containerwaarden wel aanwezig en kan ik allerlei knoppen snel van uiterlijk wijzigen (png-bestanden).

 

In dit zogenaamde menubestand heb ik inderdaad al een aantal zaken geplaatst zoals de namen, en andere gegevens van al de medewerkers en d.m.v. relaties wordt dit met vrijwel elk bestand gekoppeld, zodat de medewerker meestal niet meer dan zijn naam moet aanklikken en de rest wordt automatisch ingevuld (naam, graad, telefoon, e-mail, fax, taalrol, handtekening, paraf, enz...). Ik denk dat ik deze filosofie dus ook moet gaan gebruiken in de toekomst voor die zaken die ik tot voor kort snel kon oplossen m.b.v. calculatie, keuzes en globalen.

 

Helaas ontbreekt het me aan de tijd om alles vanaf scratch terug op te bouwen zodat me niets anders rest om alles stap voor stap aan te passen, u kent dat wel, een 'never ending story'...

 

Ik hoop dan ook wat praktische voorbeelden te vinden van alternatieven zoals door de schrijvers hiervoor aangehaald werden. 8O

 

 

Alvast bedankt voor jullie aandacht en raad,

 

 

Danny

Link naar reactie
  • 0

Maak een tabel bij waarbij je in de veldefinities evenveel "gewone" containervelden aanmaakt, als dat je global containervelden hebt.

BTW, als ik global schrijf, dan bedoel ik ook global... Een global of global veld <> een variabele :wink: .

 

Noem ze gewoon hetzelfde als je global containervelden die je reeds hebt.

In je opstartscript ga je naar die tabel, en zet de global containervelden in je menu tabel gelijk aan de gewone containervelden van die speciale tabel die je net gemaakt hebt.

 

Dit is heel eenvoudig, en lost je probleem op.

Link naar reactie
  • 0
als ik global schrijf, dan bedoel ik ook global...

 

Sorry Peter :oops: ik begon het echter te verwarren met variabelen, zal waarschijnlijk aan dat variabele weer hier liggen waardoor ik meer en meer problemen krijg om begrijpend te lezen :cry:

 

Alleszins, ik ben even wat aan het experimenteren geweest en hoewel niet volgens jouw techniek heb ik twee tabellen gemaakt waarbij voor elk containerveld een relatie aangemaakt werd. Dit werkt maar is nog veel te omslachtig, het lijkt wel MS. Daarom heb ik me geconcentreerd op jouw laatste bericht waarin jij schrijft:

 

en zet de global containervelden in je menu tabel gelijk aan de gewone containervelden van die speciale tabel die je net gemaakt hebt

 

Ik wil dat heel graag zo zetten maar ik heb geen idee hoe ... wat ik ook probeer het schijnt niet te werken en ik weet zeker dat dit alleen maar aan mezelf ligt :? Welke scripstap dien ik nu in feite toe te passen, zeker niet Set Field want dat werkt voor geen kanten (tenminste bij mij toch niet) evenals andere voor de hand liggende (field) script stappen.

 

Uitkijkend naar een verlossend antwoord, dankbaar voor al de adviezen, tips en hulp,

 

Danny

Link naar reactie
  • 0
Je zit met je handen in het haar over een zeer eenvoudig ding

 

Eureka :idea:

 

 

Peter,

 

is het de ouderdom, mijn reeds drie weken aanslepende sinusitis, mijn poging om te stoppen met aan nicotinestokjes te zuigen, het gebrek aan collega's op de werkvloer ... wie zal het zeggen, alleszins hunker ik naar de tijd dat ik nog effectief met mijn handen in het haar kon zitten :cry:

 

Maar inderdaad de antwoorden stonden hierboven, ik moest ze alleen maar zien, maar ja ik heb blijkbaar altijd moeite met relaties :?

 

Alleszins, even weer een leeg bestandje gemaakt, twee tabellen aan elkaar gerelationeerd en zoals jij reeds aangaf in allebei de tabellen enerzijds containervelden en anderzijds globale containervelden die gebruikt zullen worden om de informatie te tonen. :idea:

 

Alleszins, weer een techniek bijgeleerd, één die ik nooit nodig had maar nu door het gebruik van de SE genoodzaakt ben om te gebruiken, wil ik mijn collega's nog vergasten op leuke layouts om hun dag voor door te brengen en zo hun dagelijks brood (met karig beleg) te verdienen. :roll:

 

Zonder jou en al de de deelnemers van dit forum zou het me nooit gelukt zijn, waarvoor mijn ultieme dank!

 

Danny

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...