29-09-2008

Autotagging i Woopra

Nu hvor jeg har fået lavet brugerstyring på bittert.net og gjort det muligt at registrere sig som bruger, har jeg samtidig rodet lidt med at få det afspejlet i Woopra.

Faktisk har det vist sig at være ganske ligetil at lave, når man først ved, hvad der er af muligheder. Det man skal gøre er at definere et array og så fylde noget data ind i det.

Tidligere har man kunnet bruge et array ved navn woopra_array, men ud fra hvad jeg kan læse kan man ikke det længere. I stedet skal det hedde enten woopra_visitor eller var woopra_event, til henholdvis data vedrørende den besøgende eller handlinger.

  1. <script type="text/javascript">
    
  2.     var woopra_id = 'xxxxxxxxx';
    
  3.     
    
  4.     var woopra_visitor = new Array();
    
  5.     woopra_visitor['name'] = "Brugernavn";
    
  6.     woopra_visitor['avatar'] = "billeder/avartar.png";
    
  7.     woopra_visitor['email'] = "brugernavn@mail.com";
    
  8.     
    
  9.     var woopra_event = new Array();
    
  10.     woopra_event['Visning'] = "ID 28: Autotagging i Woopra";
    
  11. </script>

Når man sætter woopra_visitor['name'] svarer det til at tagge en besøgende i Woopra, og ved at sætte woopra_visitor['avatar'] tilføjes en avartar til den besøgende osv.

Man kan også angive flere data f.eks. woopra_visitor['alder'], men det vil kun være synligt live. Det samme gælder for events - disse er også kun synlige i live-vinduet, men kan f.eks. bruges til at vise indholdet af QueryString eller hvis brugeren skriver en kommentar

Så er der kun tilbage at fylde de rigtige data ind. Det kan man jo gøre på mange måder, så her er et eksempel:

  1. Type cstype = this.GetType();
    
  2. ClientScriptManager cs = Page.ClientScript;
    
  3. String csname = "WoopraScript";
    
  4. if (!cs.IsClientScriptBlockRegistered(cstype, csname))
    
  5. {
    
  6.     StringBuilder cstext = new StringBuilder();
    
  7.     cstext.Append("<script type=\"text/javascript\">");
    
  8.     cstext.Append("var woopra_id = 'xxxxxxxxx';");
    
  9.     if (Page.User.Identity.IsAuthenticated)
    
  10.     {
    
  11.         cstext.Append("var woopra_visitor = new Array();");
    
  12.         cstext.Append("woopra_visitor['name'] = '" + Profile.UserName + "';");
    
  13.         cstext.Append("woopra_visitor['email'] = '" + Membership.GetUser().Email + "';");
    
  14.         cstext.Append("woopra_visitor['avatar'] = '" + GetGravatarUrl(Membership.GetUser().Email).Replace("&", "&amp;") + "';");
    
  15.     }
    
  16.     if (Request.QueryString["id"] != null && Request.QueryString["id"] != "")
    
  17.     {
    
  18.         cstext.Append("var woopra_event = new Array();");
    
  19.         if (Request.QueryString["overskrift"] != null)
    
  20.             cstext.Append("woopra_event['Visning'] = 'id: " + Request.QueryString["id"] + " - overskrift: " + Request.QueryString["overskrift"] + "';");
    
  21.         else if (Request.QueryString["emne"] != null)
    
  22.             cstext.Append("woopra_event['Visning'] = 'id: " + Request.QueryString["id"] + " - emne: " + Request.QueryString["emne"] + "';");
    
  23.         else
    
  24.             cstext.Append("woopra_event['Visning'] = '" + Request.QueryString["id"] + "';");
    
  25.     }
    
  26.     cstext.Append("</script>");
    
  27.     cstext.Append("<script type=\"text/javascript\" src=\"http://static.woopra.com/js/woopra.js\"></script>");
    
  28.     cs.RegisterClientScriptBlock(cstype, csname, cstext.ToString(), false);
    
  29. }

I forbindelse med udarbejdelsen af dette indlæg fandt jeg også lige den officielle guide.

23:17
Etiketter: Webudvikling

!

Endnu ingen kommantarer

Der er endnu ikke skrevet nogen kommentarer til dette indlæg. Du kan skrive din kommentar herunder.

Skriv en kommentar

E-mailen offentliggøres ikke på siden - Anvendes til at vise Gravatars.
Gengiv koden i billedet