Ga naar inhoud
  • 0

Lokale schijf of netwerkschijf op MAC


SuperWimmie

Vraag

Dag allemaal,

 

Het gros van jullie is hardstikke handig met MAC systemen.

Ik niet, ik ben zo'n ouwe knar die lekker op Windows 10 blijft zitten en daar zeer, zeer, maar dan ook zeer tevreden mee is ;-)

 

Maar alle gekheid op een stokje, nu even een echte MAC vraag voor de echte MAC kenner.

 

In Windows is een lokale harde schijf te herkennen als C: of D:.

In 95% van de gevallen weet ik dan dat het een lokale schijf is.

Via de get ( FilePath ) herken ik of C: of D: daarin aanwezig is.

 

Nu zoek ik ook zo'n herkenning in de MAC.

Hoe valt dit te controleren?

Link naar reactie

12 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Dank voor de reacties!

 

Met betrekking tot plugins, als er ook maar ergens een mogelijkheid is zonder plugin, dan heeft (uiteraard) dat de voorkeur.

Dat er een lijst te maken valt van alle volumes is wel aardig, maar daar haal ik het onderscheid ook niet uit.

 

Op mijn Mac kan ik de naam van de lokale harde schijf wel heel simpel aanpassen.

De naam van de schijf lijkt mij dan ook geen goed uitgangspunt.

 

Wie heeft er nog meer ideetjes?

Link naar reactie
  • 0

Ideetje, misschien...

 

Zou ik het buroblad pad kunnen vergelijken met de installatie pad van Filemaker?

 

Een buroblad pad zal in het algemeen op de lokale computer staan, lijkt me.

De beperking ontstaat dan wel dat bij dubbele schijven het nog geen zuiver resultaat geeft, wat je tegenwoordig met de SSD schijven vaak ziet gebeuren.

 

Maar netwerkbeheerders die MAC kennen, weten hoe of dit zit, vooral in combinatie met servers.

 

Wie weet hier meer van?

Link naar reactie
  • 0

Het is vanwege licentiekosten van een programma dat ik 3 jaar op de markt heb staan.

Is bijna 500 keer verkocht, het blijkt dat netwerksituaties veel meer helpdesk nodig heeft dan een lokale installatie.

 

In Nederland kom ik 98% Windows tegen, maar nu gaan we met dat pakket naar Duitsland.

Daar zou Mac wel eens vaker kunnen voor gaan komen, en daar zit een Filemaker bedrijfje dat de ondersteuning gaat doen.

 

Vandaar dat ik het weten wil, de "netwerk" installatie is wat duurder.

Link naar reactie
  • 0

Zie bijgevoegd voorbeeld. FilePath.fmp12.zip

 

Houd er rekening mee dat het voorbeeld alleen met Filemaker Pro Advanced werkt. Applescript is namelijk native en dus hard-coded, maar makkelijk aan te passen.

 

Applescript kijkt welke netwerk volumes aanwezig zijn en geeft een string aan Filemaker door, waarbij de volumes gescheiden zijn door een dubbele punt. Dubbele punt is het enige teken dat niet in een bestandsnaam op een Mac gebruikt mag worden. Filemaker maakt er weer een lijst van en controleert of de volume naam in get ( FilePath ) voorkomt.

 

Ps. "ls -l /Volumes" geeft ook de lokale harde schijf, dus daar heb je niet zo veel aan.

Link naar reactie
  • 0

Hi Wim,

 

ik zie niet helemaal wat je precies zoekt.

 

Als je wilt weten wat het pad naar de installatie van je programma is kan je:

Get ( FileMakerPath )

gebruiken en als je het pad naar het huidige geopende bestand wilt weten kan je:

Get ( FilePath )

gebruiken.

 

Op een mac moet je daar

filemac:

voor zetten als je dat pad ergens voor wilt gebruiken zoals een bestand exporteren.

 

Als je wilt weten wat er aan schijven is aangesloten en hoe de systeemschijf heet dan zou je een scriptje kunnen maken met de volgende inhoud:

Set Variable [$result; Value:Let ( [ 
L = Substitute ( Get ( DocumentsPath ) ; [ "/" ; ¶ ] ) ; 
n = ValueCount ( L ) - 1 ; 
P = Substitute ( LeftValues ( L ; n ) ; [ ¶ ; "/" ] ) ; 
$F = ".bashresult.txt" ; 
$path = "filemac:" & P & $F
] ; 
""
)]

Perform AppleScript ["do shell script \"ls -l /Volumes/ > " & $F & "\""]

Import Records [No dialog; "$path"; Add; Mac Roman]

Het importeren doe je gewoon uit text in een tabel met één veld. De inhoud ziet er ongeveer uit als:

total 112
-rw-r--r--  1 user   admin    190 27 okt 20:14 Macintosh
lrwxr-xr-x  1 root   admin      1 27 okt 07:00 Macintosh HD -> /
drwxrwxrwx  0 root   wheel      0 27 okt 21:25 MobileBackups
drwx------  1 user   staff  16384 28 dec  2014 data
drwx------  1 user   staff  16384 15 feb  2015 films
drwx------  1 user   staff  16384 18 jan  2015 muziek

Na het uitvoeren van dit script zoek je bijvoorbeeld het record waar de tekst eindigt op " -> /" en daar kan je dan met

Let ( [ 
V = ImportVeld ; 
O = 46 ; 
P = Position ( V ; " -> /" ; O ; 1 )
] ; 
Middle ( V ; O ; P - O )
) 

uitfilteren hoe de "root" heet en waar je systeem is opgestart.

Met een plug-in zoals base-elements is dit een stuk simpeler te realiseren, maar dit werkt ook ;-)

 

BTW net zoals jij ben ik ook nog steeds een WIndows-gebruiker :mrgreen:

Link naar reactie
  • 0

Menno, PJ007,

 

Stel dat ik een MAC aantref met maar 1 harde schijf er in.

Dat is dan altijd de systeemschijf.

 

Stel dat ik in Filemaker het pad naar het buroblad vraag, dan zal dat altijd een tekststring terug geven met de systeemschijf er in benoemd.

Toch?

 

Deze is te vergelijken met de map waarin Filemaker draait (ook via Get op te vragen), zodra deze overeenkomst weet ik dat Filemaker op de lokale schijf is geinstalleerd.

 

Tenminste, is mijn gedachte, maar dat moet nog even getest worden.

 

Ik zie echter een paar valluiken.

a. Er zijn MAC systemen met twee lokale harde schijven, de tweede lokale schijf is niet te herkennen.

b. Ik heb geen flauw idee of het buroblad op een netwerkschijf te parkeren valt. In Windows kan dat, maar gebeurt vrijwel nooit.

 

Ik ga morgen maar eens puzzelen.

 

Dank voor de reacties, heren!!

Link naar reactie
  • 0

Wim je kan met

df -bh

opvragen wat er allemaal partitities is gekoppeld aan de mac (ook weer icm het voorbeeld in mijn vorige post)

Je krijgt dan een antwoord dat lijkt op:

Filesystem                          Size   Used  Avail Capacity  Mounted on
/dev/disk0s2                       465Gi  356Gi  109Gi    77%    /
devfs                              185Ki  185Ki    0Bi   100%    /dev
map -hosts                           0Bi    0Bi    0Bi   100%    /net
map auto_home                        0Bi    0Bi    0Bi   100%    /home
localhost:/a1jNyXWaRWzGYLKlashfO9  465Gi  465Gi    0Bi   100%    /Volumes/MobileBackups
//user@sambaserver/films           252Gi   73Gi  179Gi    29%    /Volumes/films
//user@sambaserver/data            252Gi  191Gi   61Gi    76%    /Volumes/data
//user@sambaserver/muziek          252Gi  215Gi   37Gi    86%    /Volumes/muziek
/dev/disk1s1                       238Gi  177Gi   61Gi    75%    /Volumes/SSD

daar kan je gewoon uitfilteren wat een lokale schijf is door te kijken wat er op achter

/dev/...

hangt. De enige caveat die daar overblijft is dat je niet kan zien wat een interne en wat een externe schijf is. In het voorbeeldlijstje is

/dev/disk0s2

de interne SSD en

/dev/disk1s1

is een externe SSD

 

Het tweede probleem dat je noemt zal op MacOS niet vaak voorkomen, eigenlijk kan je wel zeggen bijna nooit. Je moet eerst NFS opzetten en dan kan je op het netwerk voor de users $home mappen opzetten. Ik verwacht dat dit héél soms met open-directory wordt gedaan, maar MacOS maakt het je niet gemakkelijk om dit op te zetten (van de client zijde dan, want je moet eerst met OD op je netwerk inloggen om dit te kunnen gebruiken). Verder denk ik dat je dit dan met df -bh moet kunnen zien want map auto_home zal dan niet meer aan /home hangen maar een pad hebben in de trend van /Volumes/ODServerFolder/home hebben .... gemakkelijk te herkennen dus.

Link naar reactie
  • 0

Voorlopig heb ik het opgelost.

 

De beste optie lijkt me om het buroblad pad "get ( desktoppath )" uit te kleden, zodat de naam van de schijf in beeld komt.

Vervolgens wordt deze op aanwezigheid getest in de lokatie van de FMP12 file "get ( filepath )".

Zo ja, dan weet ik zeker dat het programma lokaal geinstalleerd staat.

Zo nee, dan kan het nog op een tweede schijf staan, of op een netwerk schijf.

 

Voorlopig doe ik het daar maar even mee.

Eerst maar eens zien hoe de markt er op reageert.

Het programma is snel en eenvoudig in gebruik, men zal er niet al te zwaar aan tillen dat het op een SSD schijf geplaatst moet worden, mochten we Macjes aantreffen met twee schijven.

 

 

@PJ007: Jouw script is precies wat ik zou willen hebben.

Maar het moet ook functioneren in Pro en vooral ook in de Runtimer. Als ik jou zo begrijp dan werkt Apple Script niet onder een Pro of Runtimer... (is dat zo?).

 

@Menno:

Dit lijkt op wat PJ007 in zijn script heeft toegepast.

 

Dank voor de inspanningen, heren!

Link naar reactie
  • 0

Het scriptje van PJ007 werkt puur met applescript en mijn voorbeeld gebruikt de terminal, maar het resultaat kan hetzelfde zijn. Het scriptje van PJ007 is wél veel eenvoudige in te bouwen.

Ik heb net ook even gekeken om het universeel werkend te krijgen:

De eerste stap in het script is een "native" applescript uitvoeren. Als je die aanpast naar een "calculated applescript" en daar de volgende inhoud in zet:

Let ( [ 
apppath = Get ( FileMakerPath ) ; 
appname = Case ( 
			PatternCount ( apppath ; "FileMaker" ) = 0 ; "MyRuntimeName" ; 
			PatternCount ( apppath ; "Advanced" ) = 0 ; "FileMaker Pro" ; 
			"FileMaker Pro Advanced" )
] ;   
"tell application \"Finder\"¶
	set ListVolumes to get name of every disk whose local volume is false¶
end tell¶
¶
set oldDelim to AppleScript's text item delimiters¶
set AppleScript's text item delimiters to \":\"¶
set ListFMVolumes to ListVolumes as text¶
set AppleScript's text item delimiters to oldDelim¶
¶
tell application \"" & appname & "\"¶
	tell database \"FilePath\"¶
		tell table \"FilePath\"¶
			set cell \"g_LijstVolumes\" to ListFMVolumes¶
		end tell¶
	end tell¶
end tell"
)

en je vervangt daarin "MyRuntimeName" voor de naam van jouw runtime, dan werkt het altijd (mits de gebruikers de apps niet zelf hernoemen)

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...