Back to top

Autore Topic: Monitoraggio e tracking  (Letto 72101 volte)

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Monitoraggio e tracking
« il: 26 Mar 2012, 22:26:17 »
JTracking è un componente per joomla 2.5 che consente di monitorare tramite frontend lo stato di qualunque genere di operazione: spostamenti, spedizioni, riparazioni, ecc.... tutto tramite un codice identificativo.
Si potrà ad esempio controllare lo stato di riparazione di un telefono cellulare tramite il numero seriale del telefono (o il codice della pratica di riparazione, ecc...), o tracciare lo stato di una spedizione e seguire tutti i suoi vari spostamenti.

JTracking è un componente completamente gratuito e può essere migliorato e ridistribuito senza alcun costo (purchè sia osservata e riportata la paternità dell'opera).

Funzionalità:
Il componente consentirà di pubblicare in una pagina un modulo di ricerca nel quale si inserirà il codice dell'evento da monitorare. Dopo aver cliccato sull'apposito pulsante, verranno stampati tutti i risultati della ricerca nell'ordine in cui sono stati inseriti nel database con la relativa data e lo stato dell'oggetto.
Tramite l'interfaccia del pannello amministrativo è possibile man mano aggiornare lo stato associato ad ogni codice creando, modificando o eliminando gli stati.

Altre informazioni:
Qualunque suggerimento sarà ben accetto!!! :)

Ringraziamenti:
Un ringraziamento speciale è doveroso verso mau_develop e jonxduo, il cui contributo è stato indispensabile per la buona riuscita del progetto.

Link al download:
http://www.joomla.it/download-della-community/download/10-componenti/43-jtracking.html
« Ultima modifica: 12 Set 2014, 11:55:27 da ste »

Offline jeckodevelopment

  • Administrator
  • Instancabile
  • *****
  • Post: 5695
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #1 il: 26 Mar 2012, 22:49:50 »
mi sembra un ottimo progetto, attendiamo la pubblicazione per le prove "su strada" e le successive considerazioni... intanto complimenti per l'iniziativa e grazie per il contributo!

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #2 il: 27 Mar 2012, 23:01:11 »
Grazie per il commento jeckodevelopment :)
non aspettarti troppo dalla prima versione in assoluto, ma col tempo spero di riuscire (anche con il contributo della comunità o di altri sviluppatori) a creare qualcosa di più complesso che un semplice componente di tracking!

Future implementazioni ad esempio potrebbero essere il supporto multilingua, la personalizzazione dei messaggi e dei messaggi di errore.. chissà quanti e quali altri suggerimenti si potrebbero aggiungere! :)

Dimenticavo, in fase di installazione la tabella dedicata al componente è totalmente vuota, andrebbe quindi prima popolata tramite backend con del dati di esempio per poi poter provare il suo funzionamento tramite il frontend!
« Ultima modifica: 27 Mar 2012, 23:03:07 da giovi »

Offline luca7761

  • Appassionato
  • ***
  • Post: 241
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #3 il: 27 Mar 2012, 23:15:45 »
Complimenti Giovi! Una buona idea , domani lo installo....! Sono curioso di vederne il funzionamento! Sarebbe bello personalizzare oltre lo stato, l' inserimento di altri campi! Potrebbe avere moltissimi utilizzi! Complimenti di nuovo....
Joomla è fantastico!

"Se poniamo a confronto il fiume e la roccia, il fiume vince sempre non grazie alla sua forza ma alla sua perseveranza." Buddha Gautama

Offline luca7761

  • Appassionato
  • ***
  • Post: 241
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #4 il: 28 Mar 2012, 23:11:27 »
Giovi ho installato il componente, che come detto reputo veramente una buona idea...
Il componente si è installato regolarmente su joomla 2.5.3
Ho inserito un codice di prova ed il relativo stato.
ho assegnato una voce di menu alla ricerca codice.
cliccando sulla voce di menu  mi compare la relativa pagina con "Tramite questo modulo puoi ricercare lo stato della tua spedizione. Inserisci il codice a sei cifre riportato sulla tua ricevuta"
Inserisco il codice di prova , ma non mi da nessun risultato,ed il sito torna alla home.
Ti chiedevo quale potrebbe essere il problema?
Inoltre volevo chiederti se era possibile cambiare la scritta " tramite......." direttamente in backend!
Sarebbe bello, inoltre, avere almeno un altro campo  per  eventuali note, anche se il campo stato è comunque un campo libero!
Grazie di nuovo per il lavoro messo a disposizione di tutti...Ciao
Joomla è fantastico!

"Se poniamo a confronto il fiume e la roccia, il fiume vince sempre non grazie alla sua forza ma alla sua perseveranza." Buddha Gautama

mau_develop

  • Visitatore
Re:Monitoraggio e tracking
« Risposta #5 il: 29 Mar 2012, 22:34:20 »
non fare mai e poi mai e per nessun motivo mai....
una cosa così:

$searchterm =  $_GET['code'];

specialmente se dopo c'è

$query->where('code = ('.$searchterm.')');

questa è una sqlinj garantita.

http://docs.joomla.org/Secure_coding_guidelines

M.

---------------------------------
$document->addStyleDeclaration('.icon-48-generic {background-image: url(../media/com_jtracking/images/logojtracking.png);}');
$document->addStyleDeclaration('.icon-48-jtracking {background-image: url(../media/com_jtracking/images/logojtracking.png);}');
----------------------------------
questi sono css li puoi mettere direttamente li che risparmi codice

... quando ho tempo lo guardo meglio :)
« Ultima modifica: 29 Mar 2012, 22:46:00 da mau_develop »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #6 il: 29 Mar 2012, 23:39:29 »
@mau_develop grazie per avermi aperto gli occhi su questo fastidioso fenomeno, ho subito corretto il model con questo codice
Codice: [Seleziona]
$searchterm =  JRequest::getVar('code','','GET');  /* ovvero la richiesta del codice tramite api di joomla */e quanto prima ricaricherò il pacchetto di installazione aggiornato.


Grazie ancora una volta per il tuo supporto :) Se noti qualche altro problema sai che il tuo parere è indispensabile!

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #7 il: 29 Mar 2012, 23:44:50 »
@luca7761: che genere di codice hai inserito? Il componente è testato solo con caratteri alfnumerici (no simboli).
La modifica della scritta potrebbe essere proprio uno dei prossimi parametri che inserirò nel componente*, se hai già qualche idea su come fare o del codice pronto postalo pure, lo inserirò subito!

*Lascio a dopo queste modifiche per permettere di risolvere gli errori di base dell'estensione, altrimenti ce li portiamo appresso senza risolverli mai ;)

Per il campo per le note ho ritenuto che fosse sufficiente usare lo stesso dello stato - come hai osservato anche tu -, ma eventualmente si può pensare di aggiungerlo senza problemi ;) Magari puoi suggerire uno scopo più specifico, così aggiungiamo anche quello!

mau_develop

  • Visitatore
Re:Monitoraggio e tracking
« Risposta #8 il: 30 Mar 2012, 08:59:14 »
di quel codice si riesce a stabilire entro che parametri di caratteri, lunghezza, etc deve stare?

"stringi" un po' quella var... è possibile inserire un filtro? ... forse questa è più sintetica e chiara:
http://docs.joomla.org/Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar

quando è possibile usa i getString, getInt etc... è la stessa cosa che usare getVar con un filtro INT o STRING, però resta più chiaro che tipo di variabile recuperi quando guardi il codice.

@luca7761: che genere di codice hai inserito? Il componente è testato solo con caratteri alfnumerici (no simboli).
---------------------------------------------------------------------------------------------------------------------------------------------------------
Anche questo non deve essere lasciato a chi lo usa, con joomla e i form puoi usare una doppia validazione, client e server.
Quella client è diciamo "di cortesia" ... comunica nella pagina direttamente all'utente se sta sbagliando qualcosa(caso sopra) ; quella server è obbligatoria per inserire dati sicuramente corretti (quello client lo puoi bypassare facilmente).

M.

Offline luca7761

  • Appassionato
  • ***
  • Post: 241
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #9 il: 30 Mar 2012, 21:09:02 »
@Giovi: ho inserito 6 caratteri numerici...la cosa strana e che poi quando avvio la ricerca anziché darmi il risultato punta, come avevo detto, sulla home....Il fine settimana provo a smanettarci un pò per capire per quale motivo sul mio sito di prova va così.....

nel campo stato sarebbe carino sapere quanti caratteri posso inserire....

sarebbe bello avere un campo note: ad esempio per la consegna di un pacco, nello stato si può mettere spedito, nelle note con corriere(quale corriere ad esempio), data prevista arrivo, ecc.....
si può fare tutto nel campo stato ovviamente....ma  secondo me sembrerebbe essere ancora più professionale nel secondo caso...(ma ovviamente è solo una questione di gusti, due campi sono meglio di uno.... :) :) :) :) :) :) (....come il gelato ;) , fa già un caldo?!!!))

Quello che dice Mau sugli avvisi di eventuali errori di inserimento sarebbe molto utile..:anche nel mio caso ad esempio, sarebbe bello ricevere un messaggio di errore qualora ci fosse stata una lettura errata nel database o alla connessione allo stesso....

Stai facendo un bel lavoro, e complimenti di nuovo per l'idea....
« Ultima modifica: 30 Mar 2012, 21:10:42 da luca7761 »
Joomla è fantastico!

"Se poniamo a confronto il fiume e la roccia, il fiume vince sempre non grazie alla sua forza ma alla sua perseveranza." Buddha Gautama

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #10 il: 30 Mar 2012, 22:38:40 »
Penso di aver applicato la modifica a tutta la parte front-end. Quanto è veramente necessario fare lo stesso nel backend? E' necessario anche qui fare un controllo sul tipo/lunghezza della variabile pur non essendoci un form creato esplicitamente da me (come ben sai ho seguito la guida mvc di joomla.org ;) ) ?

mau_develop

  • Visitatore
Re:Monitoraggio e tracking
« Risposta #11 il: 30 Mar 2012, 22:56:11 »
Quanto è veramente necessario fare lo stesso nel backend? E' necessario anche qui fare un controllo sul tipo/lunghezza della variabile pur non essendoci un form creato esplicitamente da me
--------------------------------------------------------------------------------------
è sempre necessario, immagina di far usare alcune funzionalità ad un "permesso speciale", potrebbe facilmente scalare i privilegi.

 pur non essendoci un form creato esplicitamente da me
---------------------------------------------------
ma non è il form il problema, è che prendendo qualcosa direttamente dall'url senza guardare cos'è è un rischio...
un codice sono numeri e lettere ... ma anche uno script in base64 sono numeri e lettere... poter inserire tag poi rende possibile qualsiasi manipolazione del codice.

devi riuscire a far passare solo ciò che prevedi corretto e per questo solitamente si usano le regular expression

M.

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #12 il: 02 Apr 2012, 09:19:48 »
ho caricato una versione 1.2 in cui ho corretto i principali bug del componente per permettere un successivo ciclo di test sulle modifiche già effettuate. Grazie ancora per l'aiuto

mau_develop

  • Visitatore
Re:Monitoraggio e tracking
« Risposta #13 il: 02 Apr 2012, 13:35:00 »
dai che facciamo la 1.3 :)

ho dato un'occhiata veloce poichè oggi e domani sono un po' preso dietro il mio gestionale, ci sono ancora un po' di cose che possono essere migliorate. Sostanzialmente va bene, c'è da rivedere un po' la logica e il codice ridondante.

Se vuoi essere al massimo aderente all'mvc, tutto ciò che fai nel default dovresti in realtà farlo nella view, se non nel model.
E' abbastanza illogico non mischiare il codice fino alla fine per poi farlo nel template, ti pare? .. piuttosto usane due.
Cioè, usare un if non è correttissimo anche se lo fanno tutti (estension di J comprese) ... è sempre codice, ...potrebbe avere il suo senso solo se usato per collassare colonne se i dati nn son presenti.... ma usare japplication... è un po' troppo :)
Preciso ancora... tutto "in my opinion".

Partiamo proprio dal template, facendo il percorso dei dati inseriti.

Tu, come dicevo, hai fatto if e messagi errore, io avrei (seguendo il tuo modo) tirato fuori l'errore nella view passandolo al template (è $this, lo puoi fare) e lì avrei fatto l'if tra form e risultato: se errore empty -> c'è il risultato altrimenti -> form.
O piu corretto ancora nel controller, usando il model per fare e verificare tutto e a seconda del risultato ->switch del template.
Ho molta più libertà di "espansione" se faccio così... potrei addirittura decidere che se inserisci una parolaccia faccio un set redirect e ti mando in home (es stupido).
Il controller ha proprio il compito, avvalendosi del model e dei suoi metodi, di scegliere che view associare o se non associarne.

<!-- search view -->
   <?php if (!$_GET['code']){ ?>
------------------------------------------------------
nì... sia per il get sia perchè sei arrivato fin quì per vedere se hai nella get qs valore.... lo devi fare nel controller e assegnare la var alla view

<form name="input" action="<?php echo JRoute::_('index.php?option=com_jtracking');?>" method="get">
         Codice: <input type="text" name="code" />
         <input type="submit" value="Avvia ricerca..." />
      </form>
----------------------------------------------------------------
nì anche questo.... method get, no , meglio post
perchè non metti tutti i parametri nell'input? size e maxlenght (la seconda ti fa già un filtro)
inserirei anche un campo hidden con la task da eseguire così da usare un tuo metodo nel controller che fa quanto detto sopra.

M.

EDIT:

Notice: Undefined index: code in /var/www/sites/safetymanager/components/com_jtracking/views/jtracking/tmpl/default.php on line 17
-------------------------------------------------------------------------
è vero che è un notice, ma a livello di programmazione è un errore non dichiarare una variabile prima di usarla, poichè nel caso non ci fosse non sa più da che parte recuperare quel namespace. Esiste solo dopo il click anche se è vuota infatti se clikki vuoto non da più l'errore
E' comunque contenuta nella parte già da modificare.... ne approfitto per un po' di didattica :):)
« Ultima modifica: 02 Apr 2012, 17:03:50 da mau_develop »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #14 il: 03 Apr 2012, 21:14:43 »
ne approfitto per un po' di didattica :):)
-------------------------------------------------------------
Te ne sono grato, e mi interessa molto saperne di più! Intanto posso chiederti come hai ottenuto il notice? Da dove esce fuori? Probabilmente avrò fatto questo errore anche nella 1.3, ma appena ho un attimo ricontrollo tutto e faccio la correzione!

Seguendo le tue linee guida ho riscritto la view ed il template default.php, ho diviso un po' i compiti tra m e v (spero di averlo fatto al meglio!) anche se ammetto che con il controller non ci ho proprio preso confidenza!

Nella 1.2 ho aggiunto un server per gli aggiornamenti automatici, tramite i quali è possibile passare direttamente  alla 1.3 senza disinstallare la versione precedente.

Ulteriore novità nella 1.3 è la possibilità di modificare tramite le impostazioni del modulo il testo di introduzione, del pulsante e l'etichetta del campo di ricerca, oltre che l'utilizzo del metodo post anzichè il get! :)

edit: appena il link sarà riattivato la verione 1.3 sarà disponibile nell'area download di joomla.it sempre allo stesso link!
« Ultima modifica: 03 Apr 2012, 21:23:03 da giovi »

mau_develop

  • Visitatore
Re:Monitoraggio e tracking
« Risposta #15 il: 03 Apr 2012, 21:31:29 »
come hai ottenuto il notice?
--------------------------------------
semplice, l'ho messo sul server di sviluppo dove tutti gli errori vengono visualizzati al max livello e verbosità

quello che ti dicevo, in pratica, lo impari meglio se guardi lo sviluppo lato frontend di un componente per la 1.5.
Guarda cosa fa il controller.

istanzi model e view,
cerchi nel post se esiste il code,
se esiste lo validi con un metodo che metti nel model,
se è valido lo passi ad un altro metodo del model che fa la query e restituisce il risultato (non stare lì a valorizzare un var $this, ritorna direttamente il load, tanto o c'è o è falso o è vuoto.)

a qs punto assegni alla view il code e il risultato della query
nella view recuperi solo le due var con get(cose) e get(risultati) ... queste si che devono essere oggetti della classe e quindi diventare $this->

nel template usa loadTemplate(),

se non esiste code carica il template default form con load template (ingresso nella pag)
se esiste un errore lo fa vedere (ingressi successivi)

else ...codice display del risultato se c'è, altrimenti il code xxx non è presente nel db


M.
« Ultima modifica: 03 Apr 2012, 21:42:08 da mau_develop »

Offline Giuseppe72

  • Esploratore
  • **
  • Post: 83
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #16 il: 12 Apr 2012, 23:59:03 »
Ciao Giovi, ho appena installato il componente, ma come posso associarlo ad un modulo?
Vado su componenti/jtracking creo nuovo ed escono solo 3 opzioni tipo virtua mart , ok inserisco codice,data  e evento, salvo ...è poi? Come faccio ad inserirlo in un form? (sempre se ho capito che si possa fare)
Scusa ma sono alle prime armi. Sto cercando un modulo per la 2.5 che consenta all'utente la verifica di un codice rilasciato da me?


Praticamente devo rilasciare dei codici che una volta inseriti dall'utente in un form si apre una pagina in automatico che dice per esempio: il codice da lei inserito è corretto bla bla bla...


So che virtua mart ha un opzione simile che si chiama "codice coupon" , infatti lo uso su un altro sito , ma in questo sito non posso mettere VM .


Quindi ho pensato che il tuo componente riesce a fare tutto cio'...mi sono sbagliato?


Grazie
Giuseppe

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #17 il: 13 Apr 2012, 00:20:35 »
ciao giuseppe, il componente ti da la possibilità di interrogare il database sull'esistenza del codice e restituisce errore in caso negativo. in caso positivo ti restituisce le informazioni relative al codice (ovvero tutti i record inseriti in database associati al codice stesso).
La ricerca si fa tramite frontend creando una nuova voce di menu e collegandola al componente. hai già fatto questa prova?

Offline Giuseppe72

  • Esploratore
  • **
  • Post: 83
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #18 il: 13 Apr 2012, 00:34:04 »
Siiiiiiiii!!!!!! Funziona !!!! Non avevo capito che bisognava associarlo ad una voce menu.
Grazieeeeee, è proprio quello che cercavo!
Sei GRANDE!

Offline Giuseppe72

  • Esploratore
  • **
  • Post: 83
  • Sesso: Maschio
    • Mostra profilo
Re:Monitoraggio e tracking
« Risposta #19 il: 13 Apr 2012, 01:09:10 »
Però adesso che ho messo vari codici c'è un bel problema...
Se inserisco un codice di un cliente mi visualizza il suo e tutti quelli che ho creato, in questo caso non è corretto, perchè chi fa il tracking si ritrova il suo codice insieme ad altri clienti... :'(  Giovi, non è che puoi aggiustare questo bug? Grazie.

 



Web Design Bolzano Kreatif