• Neuralab.Net – digitalna dizajn agencija za Web, Mobilne aplikacije, Socijalne mreže i Cloud hosting
  • Kontaktirajte nas
  • Check out our portfolio in English here
  • Kontaktirajte nas
  • Zapratite nas na Twitteru
  • Lajkamo FB Timeline
  • Pretplatite se na Tumblr blog
  • Search Site

  • O Neuralabu
    • Junaci Neuralab straniceUpoznajte tim i što sve volimo raditi :)
    • Nagrade & FestivaliSim pak tam
    • Mediji o nama (Press kutak)Što je Neuralab / Što je Transmeet.Tv … Najbolje da čujete od drugih :)
    • Partneri i suradniciPartneri i suradnici pri realizaciji IT / Web / Mobile projekata
  • Što radimo
    • Dizajn i korisnička sučeljaKoncepti, Wireframing, Web dizajn, Grafički dizajn, UX / UI, Interaktivni razvoj
    • Web razvoj i programiranjeWeb stranice, Mobilne aplikacije, CMS-ovi, Flash igre, B2B Web sučelja, SEO / SEM, Baze podataka
    • Multimedia, Video & Live streamingVideo produkcija, Live streaming, Animacije, Multimedia, Post-produkcija
    • Socijalne mreže & MarketingVođenje Social kampanja, Facebook Aplikacije, Twitter, Marketing, Content Strategy
    • Cloud HostingWeb Hosting, Google Apps, Integracija Cloud usluga, LAMP, Windows + IIS, Premium Support
  • Mapa radova
    • Web dizajnDizajniranje webova + User eXperience
    • Mobilne aplikacijeRazvoj / Dizajn mobilnih aplikacija
    • Grafički dizajnPrint, Street, Art, Guerrilla
    • Razvoj i programiranjeWeb / Mobilno / Software / Arhitektura
    • Socijalne mrežeFacebok aplikacije, Sadržaj, Upravljanje
    • Interaktivna multimedijaBanneri, Mikro flash Igre, Online DVD…
    • Live streamingLive prijenosi, MultiCam, Encoding
    • VideografijaVideo, Snimanje, Postprodukcija, Produkcija
    • AnimacijeAnimiranje, postprodukcija, 3D
    • Cloud hostingHosting, Cloud, Google Apps

      • Neke od osvojenih nagrada…
  • Blog
    • Dizajn & ArtDizajn, koncepti, korisnička sučelja :)
    • Programiranje & SoftwareProgramiranje, razvoj, baze podataka, aplikacije
    • Mobilne platforme i aplikacijeMobilni razvoj, dizajn i aplikacije
    • Multimedia + VideoLive streaming, video, animacije, produkcija, post.
    • Socijalne mrežeFacebook, Twitter + ostale socijalne mreže
    • Cloud & HostingGoogle apps, Cloud, CDN, Serveri, Web hosting

        • Neuralab po tiskovinama i visokim TV frekvencijama
          Pogledajte presjek medijskog tjedna iz naše radio...
        • Koncert M83 u zagrebačkoj Tvornici Kulture!
          TTv s ponosom objavljuje kako medijskom dekicom po...

      • tumblr follow button

          - Proskenirajte i naš TUMLBR unofficial blog za all-things-l33t-digital

  • Kontaktirajte nas
    • Kontakti & Socijalne mrežeKarte, Facebook, Twitter, Youtube, Emailovi, Adrese, OIB…
    • Česta Pitanja FAQ – EnglishČesto postavljanja pitanja (Samo na engleskom)
      • Česta pitanja FAQ – Email postavke
      • Česta pitanja FAQ Cloud Hosting – English
      • Česta pitanja FAQ Multimedia Video – English
      • Česta pitanja FAQ Programming MySQL MSSQL

You are here: Neuralab – digitalni dizajn i razvoj za web, mobilne aplikacije, socijalne mreže i cloud / Tag: apps

Tag Archive for: apps

Generate Harvest invoice from Google Docs spreadsheet … Cloud style

15 Apr 2012 / 0 Comments / in Cloud & Hosting, Coding & Software/by KresimirKoncic
  • Generate Harvest invoice from Google Docs spreadsheet ... Cloud style

This entry is part 7 of 7 in the series DIY - Tutoriali i riješenja

The thing about web hosting is that…you know…it’s somewhat a comodity and somewhat a geeky-techy thing –  you need to have a good pricing model but also a good  technology background to run the operations (as smoothly as possible :)). When the “Cloud hit the shelves” it didn’t make the whole thing a lot easier, at least for us back-end guys. Sure the clients wanted the new model, usage-based pricing, scalability and availability but didn’t want to know about complex pricing models behind it.

But to reverse few years in the past…we started as a web design company with limited hosting packages that looked a lot like a standard old-school hosting from the 90′s (silver,gold and unlimited packages for 9, 19, 29 $ per month :))) and I don’t need to explain what happens when 100k pageviews per day portal tries to buy “unlimited package”…talking about Overselling that is…these times are now over.

Anyways, making invoices at that time was pretty easy. We invoiced clients on a yearly basis and they deposited regular and stable amounts of money based on the package they consumed.  But why did i mentioned “Le cloud” in the first paragraph…well as the time passed by a lot more clients started asking for that cloud thing and we as a company also had a “thing” for new technologies. We started to implement Cloud solutions to our clients web sites, back-ends, business processes and so forth. We had Google Apps integration with Salesforces. We had Rackspace integrate with S3. We had S3 integrate with Encoding integrate with s3 and back….you get the picture.

For the record, our main hosting platform (PaaS) resides on Rackspace servers but our vital infrastructure is also on AWS (IaaS – CloudFront, S3, ELB, Route53 etc.). In some cases we resell Google Apps, Mailchimp, Salesforce (SaaS) and also some specialized services such as Encoding but that’s another story. The MAIN THING here is that our clients receive only ONE invoice for all that computing power…

CloudProvidersthree Generate Harvest invoice from Google Docs spreadsheet ... Cloud style

 

From starters we can handle all that items only in spreadsheet ’cause we needed the flexibility and reporting possibility of Google spreadsheets. Every client wanted to have monthly stats and we also needed usage reporting for our own business. Getting the numbers through API or some sort of importing is not a big deal when it comes to G.Apps – every cloud service has some sort of adapter or XML format for their own invoices. Parallel to evolution of our hosting platform, we started to use Harvest for our project management, hours and billing but mainly for the “agency side” business i.e. Design, UX/UI, Mobile development and other non-commodity stuff. These projects are spanning through several months and are not high in frequency so automated billing and invoicing is not a priority. As it is a good practice to consolidate all financials in one place, we took a look at Harvest API for automated invoice creation from Google spreadsheets and here is the result…

First you need to have some sort of web service that resides on your website or subdomain that will call Harvest API. We use mainly ASP.NET C# for our developement so here is the code that will generate Harvest invoice from your backend. Note that it parses data from query string so you can be flexible and put all of your data into the POST or GET parameters. Just place this code into the .ASHX generic handler or ASP.NET page…

 

 

using System;
using System.Web;
using System.Configuration;
using System.Net;
using System.IO;
using System.Text;

public class GenerateInvoice : IHttpHandler
{
  public void ProcessRequest (HttpContext context)
  {
    string notesBill = "Insert your note to the customer here";

    string ClientID = context.Request.QueryString["ClientID"].ToString();

    string itemPrice1 = context.Request.QueryString["itemPrice1"].ToString().Replace(".", ",");
    string itemUsage1 = context.Request.QueryString["itemUsage1"].ToString().Replace(".", ",");

    string itemPrice2 = context.Request.QueryString["itemPrice2"].ToString().Replace(".", ",");
    string itemUsage2 = context.Request.QueryString["itemUsage2"].ToString().Replace(".", ",");

    //...YOU CAN HAVE MULTIPLE ITEMS HERE
    //

    DateTime issue = DateTime.Now;
    DateTime due = issue.AddDays(2); //OR INSERT YOUR OWN DUE DATE

    string uri = "https://yourcompany.harvestapp.com/invoices";
    string username = "yourUserName";
    string password = "yourPassWord";

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
    request.Method = "POST";
    request.Accept = "application/xml";
    request.ContentType = "application/xml";
    request.AllowWriteStreamBuffering = true;
    request.MaximumAutomaticRedirections = 1;
    request.AllowAutoRedirect = true;
    request.UserAgent = ".Net test application";
    request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(username + ":" + password)));

    StringBuilder xml = new StringBuilder();

        xml.Append("<invoice>");
        xml.AppendLine("<due -at type='date'>"+due.Year.ToString()+"-"+due.Month.ToString()+"-"+due.Day.ToString()+"</due>");

        xml.AppendLine("<client -id type='integer'>"+ClientID+"</client>");

        xml.AppendLine("<currency>Croatia Kuna - HRK</currency>");
        xml.AppendLine("<issued -at type='date'>" + issue.Year.ToString() + "-" + issue.Month.ToString() + "-" + issue.Day.ToString() + "</issued>");

        xml.AppendLine("<subject>Client usage pricing</subject>");
        xml.AppendLine("<notes>"+notesBill+"</notes>");

        xml.AppendLine("<kind>free_form</kind>");

        xml.AppendLine("<csv -line-items>");
        xml.AppendLine("kind,description,quantity,unit_price,amount,taxed,taxed2,project_id");

        xml.AppendLine(",Item 1 usage,\"" + itemUsage1 + "\",\"" + itemPrice1 + "\",true,false,");
        xml.AppendLine(",Item 2 Usage,\"" + itemUsage2 + "\",\"" + itemPrice2 + "\",true,false,");

        xml.AppendLine("</csv>");
        xml.AppendLine("</invoice>");

    StreamWriter sw = new StreamWriter(request.GetRequestStream());
    sw.WriteLine(xml.ToString());
    sw.Close();

    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

    if (request.HaveResponse == true &amp;&amp; response != null)
    {
      context.Response.Write("Invoice generated!");
    }

    response.Close();
  }
}

This service is online so your other back-end processes can use this script to generate invoices. The second phase is to integrate Google API into this process so we can generate Harvest Invoice from within the Google Docs Spreadsheet and this is done through Google Apps scripts.

First it is a good idea to populate spreadsheet menu with buttons that will call our script….

function onOpen()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var menuEntries = [ {name: "Generate Invoice", functionName: "generateInvoice"} ];

  ss.addMenu("HARVEST", menuEntries);
}

Menuitems2 Generate Harvest invoice from Google Docs spreadsheet ... Cloud style

 

Notice that call to “generateInvoice” function? You can find it in the window bellow but first some explanations – Our spreadsheet uses one sheet (first one [0]) for listing of prices that are same for all clients AND separate sheets for each client. That client sheets hold consumption data, usage statistics and so forth. You could setup you back-end any other way. This function will just show you how to send data from spreadsheet to earlier explained Harvest API. Our process is simple… We just select the row in usage statistics and hit the button “Generate Invoice”. That row holds the Client Harvest ID (that you must input manually) and all the usage data that needs to be priced (item1, item2…) you get the idea.

 

function generateInvoice()
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  // get spreadsheet with prices
  var pricessheet = ss.getSheets()[0];  

  // get prices from the spreadsheet
  var itemPrice1 = pricessheet.getRange("A1").getValue();
  var itemPrice2 = pricessheet.getRange("A2").getValue();

  // get clients usage from active spreadsheet row
  var clientbill = ss.getActiveSheet().getActiveSelection().getValues();
  var clientID = clientbill[0][0];
  var itemUsage1 = clientbill[0][1];
  var itemUsage2 = clientbill[0][2];

  var options = { "method" : "post" }

  var posttoharvestURL = "http://harvestapi.yourcompany.com/cloudHostingGenerateBill.ashx?ClientID=" + clientID + "&amp;itemPrice1 =" + itemPrice1 + "&amp;itemPrice2=" + itemPrice2 + "&amp;itemUsage1=" + itemUsage1 + "&amp;itemUsage2=" + itemUsage2;

  var response = UrlFetchApp.fetch(posttoharvestURL, options);

  Browser.msgBox("Invoice generated");
}

 

Future work: You could probably call Harvest API directly from Google scripts as this service supports OAUTH but we like to have system modulated i.e. we could use server side script for later use in other systems. This is subjective of course and depends on business needs. Also…populating data into the spreadsheet is possible by some cloud services through their API and can be fully automated but this topic is outside this blog post.

If you have any suggestions / ideas or you would like to share some thoughts on your cloud integration…give as a comment or drop us a mention at @transmeettv

Share/Bookmark

Google Docsi verzirani na Android uređaje [VIDEO+]

22 Feb 2012 / 0 Comments / in Mobile/by KresimirKoncic

Kako se bitka za Cloud zahuktava, tako su i svi glavni igrači agilniji u izbacivanju modernijih i “aktualnijih” aplikacija za svoje mobilne uređaje. Tako je Google ovoga puta ažurirao Google Docs aplikaciju za Android telefone, a nove funkcionalnosti su redom:

  • Kreiranje, uređivanje ili brisanje dokumenata pomoću novog i preglednijeg editora
  • Uređivanje bogatog teksta sa bold, italic, underline, font-color i background-color parametrima
  • Dodavanje formatiranja putem lista, indentacije te brojača
  • Kolaboracija u stvarnom vremenu sa pozicijom kursora drugog korisnika (real-time sharing)

Prisjetimo se da pomoću aplikacije još od prije možete uređivati tablice, gledati PDF-ove ili druge dokumente, slikati dokumente ala James Bond te ih automatski pretvoriti u tekst i sl, a neke od screenshotova funkcionalnosti možete pogledati u nastavku…

 

googleDocsScreen Google Docsi verzirani na Android uređaje [VIDEO+]

Glavni ekran aplikacije

 

googleDocsScreen2 Google Docsi verzirani na Android uređaje [VIDEO+]

Prikaz na glavnom mobilnom sučelju

 

googleDocsScreen3 Google Docsi verzirani na Android uređaje [VIDEO+]

Kreiranje novog dokumenta

 

googleDocsScreen4 Google Docsi verzirani na Android uređaje [VIDEO+]

Uređivanje i selektiranje

 

googleDocsScreen6 Google Docsi verzirani na Android uređaje [VIDEO+]

Pretvaranje slike u dokumente

Share/Bookmark

Google apps: Tko je kupac, a tko je korisnik? [INFOGRAFIKA-ANALIZA]

31 Jan 2012 / 0 Comments / in Cloud & Hosting/by KresimirKoncic
This entry is part 9 of 9 in the series Infografike & Chartovi

Backupify je kreirao odličnu infografiku o načinima korištenja cloud office alata Google apps . Neki od zaključaka…

  • Neprofitne organizacije i Internet “branša” su najčešći kupci ove usluge
  • 40% od velikih korisnika (više od 1000 emailova) su edukacijske ustanove
  • 94% korisnika dolazi iz 15,4% organizacija

 

backupifygoogleappsecosystem 381x1024 Google apps: Tko je kupac, a tko je korisnik? [INFOGRAFIKA ANALIZA]

Share/Bookmark

Google Apps naslikao borbu riječima protiv Microsoftove objave 365-ice

04 Jul 2011 / 0 Comments / in Cloud & Hosting/by VanjaSebek

28.6 je bio buran datum za pružatelje oblačnih uredskih usluga…tj. za dva glavna igrača - Microsoft i Google. Naime, tada je Microsoft konačno javno objavio svoj office cloud paket “365″. O samom paketu možete saznati više na službenoj Wikipedia stranici ili na Microsoftovoj ukoliko volite vidjeti imalo boje na site-u.

Google ih je odmah okrznuo sa svojih 365 razloga prelaska na Google Apps, a također je uslijedila i korisnička “podrška” u viduword clouda kojeg prikazujemo dolje …

word cloud google apps 300x142 Google Apps naslikao borbu riječima protiv Microsoftove objave 365 ice

No sada malo ozbiljnije. Naravno da je izlazak 365-ice dobar jer će malo uzdrmati uspavanog diva pa možda iznjedri i poneki revolucionarni mikro-feature (na oba dvije fronte). Do tada ćemo se zadovoljiti sa budućim preinakama Google appsa koje Vam donosimo u interaktivnom kalendaru. Link na ovu stranicu si slobodno sačuvajte jel kalendar synca automatski sa Google-om pa će se nove buduće preinake …. vidjeti upravo ovdje…

 

 

 

Share/Bookmark
Page 1 of 3123

Pretražite Neuralab…

Pretplatite se na blog

Blogophske Epizode...

  • DIY – Tutoriali i riješenja (7)
  • Infografike & Chartovi (9)
  • Startuping u Hrvatskoj (7)

socialife sa Neuralabom

Odaberite kategoriju novosti…

  • Cloud & Hosting (29)
  • Coding & Software (23)
  • Design & Art (18)
  • Mobile (14)
  • Multimedia + Video (26)
  • Social media (25)
  • Uncategorized (1)

Arhiva…

  • May 2012 (2)
  • April 2012 (3)
  • March 2012 (6)
  • February 2012 (7)
  • January 2012 (7)
  • October 2011 (2)
  • September 2011 (5)
  • August 2011 (1)
  • July 2011 (5)
  • June 2011 (6)
  • May 2011 (9)
  • April 2011 (8)
  • March 2011 (2)
  • February 2011 (8)
  • January 2011 (2)
  • December 2010 (1)
  • November 2010 (1)
  • October 2010 (4)

Tagovi & Poveznice

amazon apps architecture aws business cloud database design development document DVD event Flash google hosting infografika interview intervju iOs iPad iPhone koncert live management marketing media microsoft mobile mreže seo server service services simple social socijalne spreadsheet storage streaming tablet transmeet tutorial video web zagreb

Kalendar novosti…

May 2012
M T W T F S S
« Apr    
 123456
78910111213
14151617181920
21222324252627
28293031  

RSS Cloud hosting status

  • Cloud Sites | SSL Cluster 11| WC1.DFW1 | ONLINE 25/05/2012
    At around 12:30PM CT, our Cloud Sites Engineering team was notified of reports of intermittent latency on one of our SSL cluster in our DFW datacenter. Our engineers are currently actively engaged in troubleshooting the issue. Customers with SSL websites... […]
  • Webmail | Email Services | Online 24/05/2012
    At approximately 5:22 AM CT, the Rackspace Mail team identified an issue that is causing intermittent connectivity for some users who connect via Webmail and through a mail client to our email environment. We are currently investigating the situation and... […]
  • Cloud Sites | Emergency Maintenance | DFW1.WC2 | Wed, May 23, 2012, 12:00AM-01:00AM CT | Complete 23/05/2012
    The Rackspace Cloud system engineers will perform an Emergency Maintenance to our Cloud Sites environment on Wednesday, May 23, 2012 at 12:00am CT. During this maintenance, the following MySQL servers will be placed in read only mode: mysql50-01-master.wc2.dfw1 mysql50-02-master.wc2.dfw1 mysql50-96-master.wc2.dfw1... […]
  • Cloud Sites | SSL WC1.DFW1 | Online 22/05/2012
    At around 6:00PM CST, our Cloud Sites Engineering team was notified of reports of intermittent latency on one of our SSL cluster in our DFW datacenter. Our engineers are currently actively engaged in troubleshooting the issue. Customers with SSL websites... […]
Creative Commons License
This work by Neuralab is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Mi smo [...]

Neuralab [digitalna agencija za web, social, mobile & multimedia dizajn]

Transmeet.Tv [ Internetska televizija fokusirana na urbanu kulturu, muziku i događaje (MusicMap) ]

Neuraplex [ Cloud hosting & infrastrukturne usluge ]

Digitalni oblak d.o.o.
OIB: 63401934653
Tax Num: 02589265

Jurkovićeva 1, 10 000 Zagreb
Tel: +385 98 1717 628
Fax: +385 1 4633 016
Email: info@neuralab.net

Temeljni kapital od 20.000,00 Kn uplaćen u cijelosti pri RBA
Bank acc: 2484008-1105295287
IBAN: HR2624840081105295287

Nabacite lajk Facebook - Neuralab & Facebook - Transmeet.Tv

Iz radionice [...]

  • Live Stream konferencije TEDx SplitMay 12, 2012, 12:52 am

    TEDx Split se pokazao kao ugodan projekt. Sunce i kava uz more, odlična organizacija i zanimljivi predavači opravdali su prijeđenih 800km u 24 sata. Tema konferencije koju smo prenosili uživo bila je edukacija i njeni izazovi. Po TED pravilima svaki predavač imao je na raspolaganju 18 minuta. Štoperica je nemilosrdna. :) TED – ideje koje [...]

  • Altus IT Cloud hosting infografikaApril 28, 2012, 6:49 pm

    Kreirali smo hibrid infografike i brošure za zagrebački Altus IT. Pošto su u procesu razvoja datacentar, kolokacijskog i cloud biznisa, potrebni podaci i istraživanje su bili i više nego komplementarni našem poslovanju :). Infografika je realizirana kroz četiri glavna sadržajna dijela… Ekologija Sigurnost Povezivost i umreženost Vrhunska oprema i podrška Prednja i stražnja strana infografike [...]

spisateljski [...]

  • Neuralab po tiskovinama i visokim TV frekvencijamaMay 23, 2012, 1:29 am
  • Koncert M83 u zagrebačkoj Tvornici Kulture!May 16, 2012, 9:07 pm
  • Objavili smo Terraneo 2011 online.DVD…stay tuned za 2012…April 28, 2012, 4:14 pm
  • Generate Harvest invoice from Google Docs spreadsheet … Cloud styleApril 15, 2012, 8:22 pm
Raznovrsnost / slikovnost / artnost / dizajnost ostavljamo za Tumblr pa nas zapratite tamo :) ...

Follow on Tumblr - Follow neuralab

Tweetup anybody?

  • Očito se u hrvatskoj ne može kupiti #Windows #server 2008 ??? [The-Dropdown-Country-List-issue]
  • Color Harmony: An Animated Explanation of How Color Vision Works circa 1938 | Brain Pickings http://t.co/igDvjSEP
  • Na korak do finala. [Ljubomoran Bilić je već glasao za svog favorita] http://t.co/T2VyjCOu
  • Sve što trebate znati o Live streamingu http://t.co/EIIn5Xkn via @zimoonline #LiveStreaming #Adobe #Wowza #Live #Streaming
Pratite nas na zajedničkom Transmeet.Tv / Neuralab twitter profilu ... all things dizajn / art / programiranje / muzika / kultura / chit-chat
Follow @transmeettv
© Copyright - Neuralab - digitalni dizajn i razvoj za web, mobilne aplikacije, socijalne mreže i cloud - Powered by Neuraplex Cloud hosting - a.neuralab.site
  • scroll to top
  • Send us Mail
  • Follow us on Twitter
  • Join our Facebook Group
  • Subscribe to our RSS Feed