Vorrei eseguire un file bash su osx con filemaker server 19 tramite Filemaker webdirect

Vorrei eseguire un file bash su osx con filemaker server 19 tramite Filemaker webdirect

Categoria:
0
0

Come da oggetto chiedevo se era possibile, eseguire un file esterno a filemaker con estensione .sh. Inoltre volevo sapere dove devo collocare questo file in quanto non riesco a trovare una posizione in cui funzioni. Ovviamente in locale su server funziona tutto con filemaker pro

Grazie

Davide

Segnalato come spam
Pubblicata da (Domande: 16, Risposte: 26)
Domanda inviata 28 Febbraio 2023 09:32
125 vis.
0
Domanda privata

Hai fatto un po un mischione. Nel file eseguito su server non mettere mostra finestra, perché non è compatibile. lo script che esegui DA CLIENT dovrebbe essere un qualcosa tipo:
imposta variabile [$r; "tuasintassi comando"]
esegui script su server[tuoscript; parametro: $r]
imposta variabile[$res; get(risultatoscript)]
… e qui ci metti cosa fare in base a quello che ti viene da $res.

lo script che esegui lato server dovrebbe essere qualcosa tipo:
Imposta variabile[$r; get(parametroscript)]
Imposta variabile[$r; BE_ExecuteSystemCommand ($r; -1;"")]
Esci dallo script[$r]

La sintassi è un qualcosa del genere: "usr/local/bin/pdftk /Library/FileMaker\ Server/Data/Documents/PROVAnew.pdf /Library/FileMaker\ Server/Data/Documents/PROVAnew2.pdf cat output /Library/FileMaker\ Server/Data/Documents/file.pdf"

.g.

 

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 6 Marzo 2023 10:09
0
Domanda privata

Ora ho trovato che la sintassi di imposta variabile al nr. 4 ha dei problemi.

Inserendo la sintassi così: BE_ExecuteSystemCommand ( "/bin/bash -c /usr/local/bin/pdftk /Library/FileMaker\ Server/Data/Documents/to/pdf/PROVAnew.pdf /Library/FileMaker\ Server/Data/Documents/to/new/PROVAnew.pdf cat output /Library/FileMaker\ Server/Data/Documents/to/output/file.pdf") mi da questi errori:

Error: Unable to find file.

Error: Failed to open PDF file:

   /Library/FileMaker

Error: Unable to find file.

Error: Failed to open PDF file:

   Server/Data/Documents/to/pdf/PROVAnew.pdf

Done.  Input errors, so no output created.

 

Penso che il problema sia la directory dove si trova il server (Filemaker Server) che nel nome ha uno spazio. Ho provato con gli apici, ho provato come da esempio ed ho provato con le virgolette ma mi da sempre errore, come devo fare? Grazie a tutti

Davide

Segnalata come spam
Pubblicata da (Domande: 16, Risposte: 26)
Risposta inviata 6 Marzo 2023 08:51
0
Domanda privata
  1. Plugin installato su filemaker server
  2. PDF Installato sulla macchina in cui c'è Filemaker Server
  3.  Ho creato Script così:
  4. Imposta variabile [ $r ; Valore: BE_ExecuteSystemCommand ( "/usr/local/bin/pdftk /Library//FileMaker\ Server/Data/Documents/to/pdf/PROVAnew.pdf /Library//FileMaker\ Server/Data/Documents/to/new/PROVAnew.pdf cat output /Library//FileMaker\ Server/Data/Documents/to/output/file.pdf"; -1; "" ) ]
    Imposta variabile [ $er ; Valore: BE_GetLastError ]
    If [ $er ≠ 0 and not EVuoto ( $er ) ]
    Mostra finestra personalizz. [ $er ]
    Imposta variabile [ $$risult ; Valore: Get ( RisultatoScript ) ]
    Mostra finestra personalizz. [ "Risultato script" ; $$risult ]
    Esci dallo script [ Risultato testo: "Codice Errore " & $er ]
    End If
    Imposta variabile [ $$risult ; Valore: Get ( RisultatoScript ) ]
    Mostra finestra personalizz. [ "Risultato script" ; $$risult ]
  5. Lo script lo eseguo tramite webdirect con questo comando:
  6. Esegui script su server [ Specificata: Da elenco ; “Script creato prima” ; Parametro: ; Attendi il completamento: Attivata]
  7. Ma non fa nulla e non mi esce neanche la finestra personalizzata con il get (risultatoscript)
  8. In locale funziona senza eseguire il file da esegui script su server.

Grazie

Davide

Segnalata come spam
Pubblicata da (Domande: 16, Risposte: 26)
Risposta inviata 5 Marzo 2023 09:00
0
Domanda privata

con MBS hai direttamente le funzioni pdfkit, quindi ti serve poco la riga di comando.

Che errore ti da esattamente? e come lo lanci "da internet"?

giusto per risparmiare tempo, ti faccio una breve check-list:

  • il plugin deve essere installato su FileMaker Server, e/o lo script deve avere una procedura di installazione
  • pdftk deve essere installato sulla macchina che ospita FileMaker Server
  • Lo script deve essere eseguito su server
  • il risultato dello script te lo becchi da client con get(risultatoscript)

Se è tutto come deve essere, qual'è l'errore che ti restituisce lo script?

comunque a occhio la sintassi _è_ sbagliata: dovrebbe essere /FileMaker\ Server/ e non /'FileMaker Server'/

 

 

.g.

 

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 3 Marzo 2023 18:14
0
Domanda privata

Lo script deve prendere un pdf da un campo contenitore, devo aggiungere una pagina PDF che mi creo e deposito su un'altro campo contenitore e creare un file con tutte le pagine insieme.

In locale funziona, ma su internet no.

Adesso ho provato a farmi inviare la trial di MBS. Ma anche con quella non funziona, come ti ho scritto sopra forse sbaglio il luogo dove metto questo file.

Grazie mille

Davide

Segnalata come spam
Pubblicata da (Domande: 16, Risposte: 26)
Risposta inviata 3 Marzo 2023 16:27
0
Domanda privata

Purtroppo non funziona.

A questo punto penso che forse sbaglio posizione dei file per filemaker server accesso tramite webdirect.

Il comando che passo a BE_ExecuteSystemCommand  è:

/usr/local/bin/pdftk /Library/'FileMaker Server'/Data/Documents/to/pdf/PROVAnew.pdf /Library/'FileMaker Server'/Data/Documents/to/new/PROVAnew.pdf cat output /Library/'FileMaker Server'/Data/Documents/to/output/file.pdf

Oppure c'è qualcosa di sbagliato nella sintassi, anche se questa funziona in locale.

Se potete indicarmi l'errore.

Grazie mille di tutto.

Davide

Segnalata come spam
Pubblicata da (Domande: 16, Risposte: 26)
Risposta inviata 3 Marzo 2023 15:58
0
Domanda privata

poi se ci dici esattamente cosa deve fare questo script magari possiamo essere più precisi.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 3 Marzo 2023 15:34
0
Domanda privata

infatti ti basta uno script con una variabile: tutti i plugin vengono gestiti mediante il motore di calcolo, quindi via script tramite variabile if, etc: imposti la funzione nella variabile con i parametri e campi felice.

Magari poi ti conviene inserire subito dopo la funzione BE per ricavare eventuali errori per gestire la procedura. qualcosa tipo:

Imposta variabile [ $r; Valore:BE_ExecuteSystemCommand ( "ls /usr/local/bin"; -1; "" ) ]
Imposta variabile [ $er; Valore:BE_GetLastError ]
If [$r ≠0 and not EVuoto ($r) ]
Esci dallo script [ Risultato: "fai qualcosa con l'errore" ]
End If

Questo script elenca i file presenti nella directory usr/local/bin. il timeout "-1" indica che la funzione aspetta la risposta dell'OS.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 3 Marzo 2023 09:50
0
Domanda privata

Grazie,

io non riesco a creare uno script con questa funzione di Baseelements, in quanto riesco solo a inserirla in una variabile, ma poi non so come attivarla.

Nello schermata di creazione script non posso inserirla.

Mi potete aiutare, è uno scoglio per me, magari un piccolo esempio.

Grazie.

Davide

Segnalata come spam
Pubblicata da (Domande: 16, Risposte: 26)
Risposta inviata 2 Marzo 2023 14:56
0
Domanda privata

baseelements va bene, con la funzione BE_ExecuteSystemCommand.
Oppure se vuoi usare pdfkit hai la possibilità di invocarlo direttamente via MBS plugin (quello è commerciale, ti serve una licenza server).

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 2 Marzo 2023 14:39
0
Domanda privata

Grazie della risposta.

Ho un file .sh che mi fa alcune operazioni su pdf tramite istruzioni del pdftk server. Se lo lancio in locale, funziona.

Quale plugin (se fosse possibile gratuito) posso usare per eseguire il file come hai detto tu? Io ho baseelements già installato ma non trovo l'istruzione giusta.

Se riesci ad aiutarmi, ti ringrazio tantissimo.

Ho filemaker server 19 su OSX

Davide

Segnalata come spam
Pubblicata da (Domande: 16, Risposte: 26)
Risposta inviata 2 Marzo 2023 13:52
0
Domanda privata

do per scontato che il server sia MacOSX, dato che i file sh non sono compatibili con windows. Se lo vuoi eseguire in maniera temporizzata il file sh deve essere all'interno della cartella di FileMaker Server, specificatamente nel percorso Data/Scripts e puoi pianificarlo dall'admin consolle oppure lanciarlo al momento mediante le API dell'admin consolle.

Se invece vuoi lanciarlo a richiesta, ti conviene usare un plugin e a quel punto puoi inserirlo anche in una variabile.

Esattamente che tipo di operazione è?

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 2 Marzo 2023 12:07