2012-02-29 25 views
7

Stiamo cercando di ottenere alcune metriche di utilizzo su un'applicazione VB6 che abbiamo come target per la migrazione verso nuove tecnologie. È abbastanza massiccio (così grande che la sua capacità di sfiorare i limiti sul numero di forme ecc. Di VB6) e l'adeguamento di un tipo di monitoraggio personalizzato di per sé non sarebbe un compito di piccole dimensioni.Esistono sistemi di tracciamento dell'utilizzo di applicazioni desktop che hanno come target VB6?

Speravo che strumenti come DeskMetrics (non sto individuando fuori) avrebbero un qualche tipo di controllo COM eredità che abbiamo potuto lasciare in ogni forma e con un po 'di configurazione del livello di applicazione e l'installazione di un locale (su -sito) insieme di servizi web potremmo acquisire alcune statistiche che ci consentirebbero di prendere alcune decisioni.

Tuttavia:

  1. Non vi sono direttamente librerie VB6 compatibile a disposizione per qualsiasi di questi sistemi di monitoraggio che ho potuto trovare

  2. Poiché i siti dei nostri clienti non sono necessariamente pienamente collegati a Internet, stiamo riscontrando problemi nel trovare una piattaforma che possa avere un'installazione localmente in un sito del cliente che non è connesso a Internet più ampio.

Quindi le mie domande sono, ci sono le librerie/3rd-party che fanno soddisfare questi requisiti o stiamo meglio fuori a rotazione la nostra soluzione di monitoraggio molto semplice da un database e raccolta di tali informazioni da un qualche tipo di rapporto.

risposta

2

Hai già escluso Google Analytics? Se non è questa potrebbe essere una soluzione

E 'stato un po' per VB6 per me, ma abbastanza sicuro che questo funzionerà

Creare un controllo utente e posizionare un controllo del browser web in parte di esso. Quindi fai in modo che il controllo si porti automaticamente al tuo sito Web in una pagina vuota che contiene solo il codice di analisi. Sulla stringa di query aggiungere nel modulo che è stato visualizzato. Questo ti darà informazioni sull'uso del modulo di base.

Se è necessario tenere traccia di ulteriori informazioni, aggiungere un metodo al controllo per registrare gli eventi e utilizzare ExecScript per chiamare l'API di analisi per passare le informazioni richieste per tale modulo.

Una volta che il controllo funziona, è sufficiente trascinarlo su ogni modulo.(Si vuole farlo per nascondere è di per sé in fase di esecuzione, naturalmente)

Naturalmente tutto questo si basa sui client che hanno accesso a Internet dalla loro postazione di lavoro

+0

Sai se c'è qualcosa che potrebbe fare qualcosa del genere? Ciò sembra plausibile (se controcorrente rispetto ai T & C di GA), ma richiede sia un po 'di lavoro sul lato server che un'integrazione di alto livello in VB6. –

+0

Sfortunatamente non conosco nessun sistema autonomo per VB6 Attualmente sto utilizzando google analytics autonomamente con un'app business silverlight che va bene. Il lavoro sul lato server necessario per quello che suggerisco è in realtà molto minimale può essere una normale pagina HTML che si collega al codice di analisi che google ti dà quando ti iscrivi al resto viene fatto automaticamente con i loro script. Il lavoro sarebbe davvero il lato VB. – Dreamwalker

+1

Posso confermare che funziona, e abbastanza bene in realtà. Non ho implementato gli eventi, ma il passaggio di stringhe di query semplici ha superato le mie esigenze. – RyanMac

0

Ho avuto un progetto di recente in cui avevo bisogno di fare qualcosa di simile. Ho creato una classe chiamata clsTrace

Option Explicit 
Private m_RoutineName As String 
Public Sub StartTrace(RoutineName As String) 
    m_RoutineName = RoutineName 
    TraceIndent = TraceIndent + 1 
    Call writeout("Start " & RoutineName) 
End Sub 
Private Sub EndTrace(s As String) 
    Call writeout("End " & m_RoutineName) 
    TraceIndent = TraceIndent - 1 
End Sub 
Private Sub Class_Terminate() 
    Call EndTrace(m_RoutineName) 
End Sub 
Private Sub writeout(sMessage As String) 
    'write to database, file, screen, etc 
End Sub 

Aggiunta una var globale chiamato TraceIndent

Poi ho scritto un piccolo programma per guardare il frm, bas, i file CLS e trovare la funzione e sub defs (ad esempio Public Private Sub Funzione Amico, ecc.) Insieme ai nomi dei difetti. Dopo la def, ho inserito la riga Dim cTrace as new clsTrace: cTrace.StartTrace(NameOfSourceFile.NameOfFunction).

Poiché una classe viene distrutta quando si esce da una funzione secondaria, il class_terminate verrà chiamato automaticamente all'uscita. Se fatto correttamente, questo produrrà un file di log indentato di ogni entrata e uscita delle tue funzioni \ subs.

Dovresti essere in grado di utilizzare l'output per determinare quante volte è stato fatto clic su un pulsante o quante volte è stato aperto un modulo (cercare "Start frmName.buttonName_Click" voci).

+0

non sono sicuro che tutto lo taglia, collega – nicolas

+0

devo d'accordo, ho paura - essenzialmente stai solo descrivendo la registrazione e non qualsiasi tipo di tracciamento dell'uso consolidato. –