Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

FidoCadJ

Regole da rispettare, modifiche, aggiunte, idee per EY

Moderatore: Foto Utenteadmin

FidoCadJ tramite Java Web Start

Funziona
14
93%
Non funziona (specificare l'errore con un messaggio)
1
7%
Non serve, non lo voglio
0
Nessun voto
 
Voti totali : 15

0
voti

[61] Re: FidoCadJ

Messaggioda Foto Utenteadmin » 5 set 2012, 16:30

Con quel comando ottengo su terminale quel che ti riporto.
Mi chiede di salvare FidocaJ.app che salvo e poi parte.
Codice: Seleziona tutto
iMac-di-Zen:~ zen$ javaws -verbose http://demojnlp.sourceforge.net/nuovofidocadj.jnlp
Java Web Start: Launching: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
-d64
-Xbootclasspath/a:/System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/javaws.jar:/System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/deploy.jar:/System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/plugin.jar
-classpath
/System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/deploy.jar
-Djava.security.policy=file:/System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/security/javaws.policy
-DtrustProxy=true
-Xverify:remote
-Djnlpx.home=/System/Library/Java/Support/Deploy.bundle/Contents/Home/bin
-Dsun.awt.warmup=true
-Djnlpx.origFilenameArg=http://demojnlp.sourceforge.net/nuovofidocadj.jnlp
-Djnlpx.remove=false
-Xdock:name=Java Web Start
-Dapple.javaws.dock.name=Java Web Start
-Xdock:icon=/System/Library/Frameworks/JavaVM.framework/Resources/WebStart.icns
-Dapple.javaws.dock.icon=/System/Library/Frameworks/JavaVM.framework/Resources/WebStart.icns
-Dapple.awt.UIElement=true
-Djnlpx.splashport=52456
-Djnlpx.jvm=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
com.sun.javaws.Main
http://demojnlp.sourceforge.net/nuovofidocadj.jnlp

iMac-di-Zen:~ zen$
Avatar utente
Foto Utenteadmin
196,7k 9 12 17
Manager
Manager
 
Messaggi: 11953
Iscritto il: 6 ago 2004, 13:14

1
voti

[62] Re: FidoCadJ

Messaggioda Foto UtenteDarwinNE » 5 set 2012, 16:48

Bingo! :ok:

Lanciando javaws da terminale funziona correttamente.
Viene creato un bundle FidoCadJ.app che parte senza più fare riferimento a Java Web Start e che l'utente può mettere dove vuole. Forse sarebbe meglio però spendere qualche parola a questo proposito: mi aspettavo di avere subito il programma davanti a me e mi sono visto una finestra di dialogo dove mi si chiedeva dove salvare il file. L'aspetto è coerente con Quaqua :ok:
Forse non hai preso esattamente la versione che io ho incluso nel bundle, ma quello sono dettagli.

Ho dato un'occhiata al file info.plist contenuto nel bundle, che è il seguente:

Codice: Seleziona tutto
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>CFBundleExecutable</key>
   <string>FidoCadJ</string>
   <key>CFBundleGetInfoString</key>
   <string>FidoCadJ</string>
   <key>CFBundleIconFile</key>
   <string>icon.icns</string>
   <key>CFBundleIdentifier</key>
   <string>com.apple.jnlp-http___demojnlp.sourceforge.net_nuovofidocadj.jnlp</string>
   <key>CFBundleName</key>
   <string>FidoCadJ</string>
   <key>CFBundlePackageType</key>
   <string>APPL</string>
   <key>CFBundleSignature</key>
   <string>????</string>
   <key>Java</key>
   <dict>
      <key>Arguments</key>
      <string>-offline</string>
      <key>JNLP</key>
      <string>http://demojnlp.sourceforge.net/nuovofidocadj.jnlp</string>
      <key>JVMVersion</key>
      <string>1.5+</string>
      <key>Properties</key>
      <dict>
         <key>jnlpx.heapsize</key>
         <string>NULL,536870912</string>
         <key>jnlpx.offline</key>
         <string>true</string>
      </dict>
      <key>VMOptions</key>
      <array>
         <string>-Xmx536870912</string>
      </array>
   </dict>
   <key>LSArchitecturePriority</key>
   <array>
      <string>i386</string>
      <string>x86_64</string>
      <string>ppc</string>
      <string>ppc64</string>
   </array>
</dict>
</plist>


Quello che invece ho approntato io in passato è il seguente:

Codice: Seleziona tutto
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>CFBundleAllowMixedLocalizations</key>
   <string>true</string>
   <key>CFBundleDevelopmentRegion</key>
   <string>it</string>
   <key>CFBundleDocumentTypes</key>
   <array>
      <dict>
         <key>CFBundleTypeExtensions</key>
         <array>
            <string>fcd</string>
         </array>
         <key>CFBundleTypeIconFile</key>
         <string>icona_file_fidocad.icns</string>
         <key>CFBundleTypeName</key>
         <string>FidoCadJ document</string>
         <key>CFBundleTypeRole</key>
         <string>Editor</string>
      </dict>
   </array>
   <key>CFBundleExecutable</key>
   <string>JavaApplicationStub</string>
   <key>CFBundleGetInfoString</key>
   <string>FidoCadJ, by Davide Bucci, simple and intuitive drawing for electronics.</string>
   <key>CFBundleIconFile</key>
   <string>icona_fidocad.icns</string>
   <key>CFBundleInfoDictionaryVersion</key>
   <string>6.0</string>
   <key>CFBundleName</key>
   <string>FidoCadJ</string>
   <key>CFBundlePackageType</key>
   <string>APPL</string>
   <key>CFBundleShortVersionString</key>
   <string>0.24</string>
   <key>CFBundleSignature</key>
   <string>????</string>
   <key>CFBundleVersion</key>
   <string>0.24</string>
   <key>Java</key>
   <dict>
      <key>ClassPath</key>
      <string>$JAVAROOT/fidocadj.jar:$JAVAROOT/quaqua.jar:$JAVAROOT/</string>
      <key>JVMVersion</key>
      <string>1.5*</string>
      <key>MainClass</key>
      <string>FidoMain</string>
      <key>Properties</key>
      <dict>
         <key>apple.laf.useScreenMenuBar</key>
         <string>true</string>
         <key>apple.awt.graphics.UseQuartz</key>
         <string>true</string>
      </dict>
   </dict>
</dict>
</plist>


Forse la differenza principale è che apple.awt.graphics.UseQuartz è attivato (avevo fatto una discussione qui su EY ed era venuto fuori che le performance grafiche erano incomparabilmente migliori) e il fatto che tento di associare un certo tipo di file all'applicazione. Qualcuno mi aveva però accennato che la cosa non funziona troppo bene e FidoCadJ si apre cliccando su un file .fcd, ma il file non viene caricato sempre. Alla versione 1.5+ della JVM ho preferito la 1.5*. Se non mi ricordo male, la differenza è sottile, ma esiste.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

3
voti

[63] Re: FidoCadJ

Messaggioda Foto Utentephylum » 5 set 2012, 16:53

su Win e su Tux si apre direttamente dopo aver messo la spunta su considera attendibile
su Mac forse il .app è dovuto al fatto che ho richiesto la creazione dei collegamenti sul desktop e nel menu
riguardo a quartz posso anche specificare le properties se serve (e volendo anche l'associazione dei file .fcd) !

le papere utilizzate sono v. 8.0 2011-10-02

in pratica ti servono:
apple.laf.useScreenMenuBar=true
apple.awt.graphics.UseQuartz=true

giusto ?

Dunque l'opera al momento si compone di:
+ manifesto JNLP
+ icona 128x128
+ splash screen 588x308
+ librerie Quaqua 8, firmate con lo stesso certificato del resto (importante)

---

Immagine ho predisposto il manifesto affinchè associ i files .fcd a FidoCadJ tuttavia bisogna tenere conto del fatto che web start passa un argomento 'in più' -open
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

3
voti

[64] Re: FidoCadJ

Messaggioda Foto UtenteDarwinNE » 5 set 2012, 19:00

Ho provato di nuovo da MacOSX 10.4.11 e... funziona! Ottimo lavoro, Foto Utentephylum :ok:

Temevo che la versione 8.0 di Quaqua non fosse compatibile con quella che è (ancora) la mia macchina principale di sviluppo, ma sembra che la cosa funzioni perfettamente.

phylum ha scritto:in pratica ti servono:
apple.laf.useScreenMenuBar=true
apple.awt.graphics.UseQuartz=true


Più o meno. In realtà, la prima non serve, la seconda serve solo per FidoCadJ 0.24, perché questa proprietà verrà controllata nel codice a partire da FidoCadJ 0.24.1, attualmente in preparazione (ho fatto uscire qualche versione preliminare un po' più di un mesetto fa).
In realtà, quello che serve è questo:
Codice: Seleziona tutto
   <array>
      <dict>
         <key>CFBundleTypeExtensions</key>
         <array>
            <string>fcd</string>
         </array>
         <key>CFBundleTypeIconFile</key>
         <string>icona_file_fidocad.icns</string>
         <key>CFBundleTypeName</key>
         <string>FidoCadJ document</string>
         <key>CFBundleTypeRole</key>
         <string>Editor</string>
      </dict>
   </array>


all'interno del file info.plist. Questo codice indica (o dovrebbe indicare) al sistema operativo che il programma è in grado di aprire i file con estensione fcd associandovi un'iconetta chiamata icona_file_fidocad.icns e contenuta all'interno del bundle:
icona_file_fidocad.icns.zip
(16.42 KiB) Scaricato 178 volte

Si potrebbe fare in modo che la directory di default dove si propone di depositare FidoCadJ.app sia /Applications?

Un altro punto è lo splash screen che è carino però che non viene mostrato da Java Web Start, perlomeno nelle versioni che ho provato. La seconda cosa è che è in italiano. Non è un problema in sé molto grave, ma stona un po' con il fatto che FidoCadJ è attualmente tradotto in 7 lingue e solo poco più di un quarto degli scaricamenti arrivano dall'Italia. Forse potrebbe essere meglio scrivere soltanto "Starting FidoCadJ...".

A questo punto, bisogna decidere cosa fare del bundle:

1. Si può ospitare tutto qui su ElectroYou. Foto Utentewebmaster tuttavia dovrebbe occuparsi ogni tanto di aggiornare il pacchetto, quando una nuova versione viene rilasciata. Il vantaggio viene dalla sicurezza, nel senso che si può aggiornare su ElectroYou solo quando una nuova versione è provata a fondo ed è stabile. Inoltre, se Sourceforge o il mio account viene piratato, non succede assolutamente nulla su EY.

2. Si possono caricare i file necessari su SourceForge, per esempio qui:
http://sourceforge.net/projects/fidocadj/files/
In questa directory sarei dell'idea di caricare un unico file chiamato per esempio fidocadj_webstart.jnlp, facendo riferimento a file diversi e vari disponibili o già nella stessa directory (come fidocadj.jar, firmato), oppure in una directory come questa, dove già è disponibile l'icona in formato png:
http://sourceforge.net/projects/fidocadj/files/misc/
Questa soluzione ha gli indubbi vantaggi di permettere di aggiornare il sistema webstart in tempo reale (e dopotutto entia non sunt multiplicanda praeter necessitatem), ma potrebbe rendere la sicurezza di EY dipendente da quella di Sourceforge, il che potrebbe essere discutibile.

3. Si possono fare le due cose, con il problema di mantenerle allineate.

Io sarei d'opinione di affiancare la tecnologia webstart messa a punto da Foto Utentephylum (grazie! :D ) ai mezzi correnti utilizzati per distribuire il programma, a partire dalla prossima versione 0.24.1. Avrei però bisogno di un po' di assistenza ogni volta che una versione nuova viene fatta uscire: assicurarsi che la firma sia corretta, preparare i pacchetti. C'è già chi si è occupato di un installer Windows e interagisco con lui tramite questa discussione:
http://sourceforge.net/projects/fidocad ... ic/4979963
Se la tecnologia Web Start venisse implementata, mi piacerebbe poter interagire con qualcuno che se ne occupi (non per forza Foto Utentephylum, se non lo desidera) tramite il forum di SourceForge e magari in un'unica discussione in inglese. Il meglio sarebbe avere due persone, una per aggiornare i pacchetti ed una per verificare che tutto sia ok.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

3
voti

[65] Re: FidoCadJ

Messaggioda Foto Utentephylum » 5 set 2012, 19:20

Icona: purtroppo non si può specificare direttamente che i files associati devono avere un'icona diversa da quella del programma; si possono prevedere icone di diverse dimensioni ma non si risolve del tutto il problema; in sostanza si fa prima a integrare la funzione nel codice del programma o in un bootstrapper (JWS mette a disposizione anche delle API); comunque appena ho un po di tempo faccio qualche esperimento; errata corrige

'Applications':
JNLP prevede due tipi di collegamenti: desktop e menu
desktop non ha bisogno di commenti, menu intende quello che in windows è il menu avvio al momento viene creato una cartella fidocadj nel menu avvio e al suo interno un collegamento con lo stesso nome, quello che si può fare è spostare questa gerarchia di un livello: l'icona direttamente nel menu o cambiare il nome del gruppo

File .fcd:
è probabile che FCJ si rifiuti di lanciarli in quanto viene avviato con un cmdline equivalente a
java -jar fidocadj.jar -open "mio_file.fcd"

Splash: in realtà ci stavo già pensando e devo ricordarmi di controllare se accetta già di suo l'attributo locale_id come altri elementi del gruppo information; comunque avevo previsto lo splash solo perché il download potrebbe prolungarsi e volevo avvisare l'utente ma volendo non è necessario anche perché viene visualizzato dopo il primo avvio...

Hosting:
qualsiasi sito va bene ma nel caso di sf.net bisogna usare il servizio Project Web

Aggiornamento:
fintanto che l'unica parte che cambia è fidocadj.jar non c'è bisogno di aggiornare nulla solo mettere il file insieme al resto e firmarlo

Web Start:
si non può sostuire del tutto le altre vie perché per esempio un utente con una versione obsoleta di java viene informato e si procede all'aggiornamento ma se non ha proprio java non può usare questo sistema.
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

0
voti

[66] Re: FidoCadJ

Messaggioda Foto UtenteTardoFreak » 5 set 2012, 23:25

Domanda: perché ora mi trovo un nuovo programma installato con relative icone nel menù dei programmi?
Foto Utentephylum, hai forse fatto un esorcismo, una fattura, un wodoo al mio PC? :shock:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[67] Re: FidoCadJ

Messaggioda Foto UtenteDarwinNE » 5 set 2012, 23:42

Foto UtenteTardoFreak, credo sia qualcosa di gentilmente offerto dalla tecnologia Web Start, nata appunto per permettere agli utenti di scaricare ed installarsi le applicazioni Java in maniera semplice e indipendente dalla piattaforma. Prima di aver visto gli ottimi risultati su MacOSX, non pensavo che la cosa funzionasse così bene!

Foto Utentephylum, una cosa simpatica sarebbe che Web Start riconoscesse la lingua del sistema operativo e proponesse l'installazione del manuale. Per la futura versione 0.24.1 c'è disponibile quello in italiano, in inglese, in francese (da aggiornare, purtroppo) ed in cinese, quest'ultimo, tra l'altro, splendido a vedersi. E' un'idea, naturalmente, non è importante che lo faccia.
Follow me on Mastodon: @davbucci@mastodon.sdf.org
Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 4420
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France

0
voti

[68] Re: FidoCadJ

Messaggioda Foto UtenteTardoFreak » 5 set 2012, 23:48

Bene! Il sapere di non avere il PC posseduto mi rende tranquillo. :mrgreen:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

3
voti

[69] Re: FidoCadJ

Messaggioda Foto Utentephylum » 6 set 2012, 8:27

Foto UtenteDarwinNE si, comunque come da tradizione java si può estendere l'installatore stesso via installer-desc
<extension href="...manual_it" locale = "it"/>
<extension href="...manual_en" locale = "en"/>
^---- in questo caso la risorsa puntata è un altro JNLP

o come related-content, questa volta è un file qualsiasi, txt,pdf,html

Ok ora l'icona dei .fcd dovrebbe essere impostata correttamente
Immagine predispone due operazioni Apri (-open) e Stampa (-print)

Foto UtenteTardoFreak si viene installato un collegamento sul desktop e nel menu, volendo posso anche rimuovere questa caratteristica, l'avevo inserita per comodità (avviare FJ senza browser e rete)
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

0
voti

[70] Re: FidoCadJ

Messaggioda Foto Utenteelettrodomus » 6 set 2012, 10:14

Foto Utentephylum e Foto UtenteDarwinNE, siete GRANDI! :ok:
Igor
Avatar utente
Foto Utenteelettrodomus
10,1k 6 11 13
G.Master EY
G.Master EY
 
Messaggi: 2607
Iscritto il: 28 gen 2011, 22:38
Località: Bassa Bresciana

PrecedenteProssimo

Torna a Chiarimenti, regole, informazioni, proposte

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti