blog.smarx.com

Steve Marx's blog about cloud development

PHP + ASP.NET in Windows Azure

Today at MIX, I showed a new demo application I developed called “Tweval” (Twitter + eval).  Tweval lets you evaluate anything (like my session at MIX) just by tweeting a simple message.  It’s built on top of Botomatic.

tweval screenshot

Tweval takes advantage of one of the coolest things about the MIX announcements we made earlier today, which is that Windows Azure can now run PHP (or indeed anything compatible with FastCGI).  In fact, in Tweval, I’m running ASP.NET MVC code side-by-side with PHP code.

Here’s the architecture diagram from my slides today:

tweval architecture

This diagram shows PHP serving all the UI, but in actuality, both ASP.NET and PHP are rendering UI, as you can see at http://tweval.com/mix09-smarx and http://tweval.com/index.php?tag=mix09-smarx (note the bottom right corner of the page).

Using Storage from PHP

Windows Azure storage is accessible via a REST API, but in practice very few people write code directly against the REST endpoint, instead using the sample storage client library that ships with the Windows Azure SDK.  Now that we’ve added support for PHP, many people are wondering where the storage client library is for PHP.  One option that I saw recently is Maarten Balliauw’s PHP library.  Currently it only supports blob storage, but he tells me he’s working on tables and queues next.

For tweval.com, I didn’t use a client library at all.  I rolled my own function to perform the specific query I needed.  Here’s the code I used:

function fetch($pkey) {
    $date = gmdate('D, d M Y H:i:s \G\M\T');
    $stringtosign = "GET\n\n\n$date\n/tweval/TagRatingTable()";
    $signature = 'SharedKey tweval:'.base64_encode(
        hash_hmac('sha256', $stringtosign, base64_decode($key),true));
    $session = curl_init('http://tweval.table.core.windows.net/TagRatingTable()'
        .'?$filter=PartitionKey%20eq%20\'' . urlencode($pkey) . '\'');
    curl_setopt($session, CURLOPT_HTTPHEADER, array("x-ms-date:$date", "Authorization:$signature"));
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($session);
    curl_close($session);
    $result = array();
    foreach(simplexml_load_string($response)->entry as $entry) {
        $properties =
            $entry>content>children('http://schemas.microsoft.com/ado/2007/08/dataservices/metadata')
            >properties>children('http://schemas.microsoft.com/ado/2007/08/dataservices');
        $result[] = new Rating((string)($properties>Username), (int)($properties>StatusId),
            (float)($properties>Score), (string)($properties>Tweet), new DateTime($properties>CreatedAt));
    }
    usort($result, 'cmp');
    return $result;
}

The most difficult part in writing this is signing headers for authentication.  I hope the above sample helps others to get started doing this in PHP.  For another example of using the REST API, please see the Python library Sriram Krishnan and I have been working on: http://github.com/sriramk/winazurestorage.  He also has Erlang bindings.

Prettier URLs with Rewriting

One thing we’ve enabled in the new CTP that’s somewhat buried in the rest of the announcements is support for the IIS URL Rewrite module.  Using that, I got nice URLs like http://tweval.com/mix09-smarx.php to map to the uglier http://tweval.com/index.php?tag=mix09-smarx.  Here’s what the rewrite rule looks like:

    <rewrite>
      <rules>
        <rule name="php">
          <match url="^([^/]*)\.php$" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php?tag={R:1}" />
        </rule>
      </rules>
    </rewrite>

Just the Beginning of an Open Platform

The main thing I hope everyone takes away from the announcements today is that we’re committed to making Windows Azure an open platform.  This is just the beginning of the work we’ll be doing to ensure that all development tools and technologies have a place in the Windows Azure cloud.

Let me know your thoughts on what we’ve done so far and your suggestions for future work.


Comments

2009-04-09 19:23 GMT
Steve - I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?

By the way - this is all very awesome!
lin
2009-06-23 05:12 GMT
im work with curl too
2009-06-23 14:25 GMT
not bad )
2009-07-04 11:58 GMT
Smarx, do you use Python?
2009-08-25 16:10 GMT
Great stuff, keep it up.
2009-09-04 22:20 GMT
none
2009-09-08 16:47 GMT
cool stuff
2009-11-02 23:14 GMT
Wow~! Nice!
2009-11-02 23:14 GMT
Nice
2009-11-04 20:57 GMT
Mate, do you check this blog??
2009-11-05 06:14 GMT
Hi

I am getting '500 - Internal server error.' on some pages where I use fwrite to write to files in azure blob using PHP Azure.

Locally the stuff worked fine..

My development machine in x86 32 bit using PHP Non thread safe 32 bit binaries.

Any Ideas?

Thanks,
Bhavik
2009-11-08 10:57 GMT
do you check this blog??
2009-11-22 22:40 GMT
The information in the post is nicely written, I always love to read this kind of stuff. The quality of content is really appreciable. Thanks for sharing your knowledge with us.
2009-11-22 22:41 GMT
The article is nicely written, I am happy to find it. Thank for the post
2009-11-22 22:42 GMT
The information is nicely presented in post, I am happy to find many useful facts, Thanks for sharing.
2009-11-25 21:09 GMT
The info about Tweval is very interesting. The presentation is very good.Thanks for sharing this post.
2009-11-25 21:09 GMT
The info about Tweval is very interesting. The presentation is very good.Thanks for sharing this post.
2009-12-02 14:14 GMT
Thanks for sharing another great post, I am happy to find so many useful information here in the post about PHP and ASP.NET working in Windows Azure. Thank you
2009-12-03 11:32 GMT
The Ajax Toolkit "Editor" control doesn't look all that safe and doesn't seem to exclude the HTML code that could be written but for which you didn't add any button.
2009-12-03 11:32 GMT
The Ajax Toolkit "Editor" control doesn't look all that safe and doesn't seem to exclude the HTML code that could be written but for which you didn't add any button.
2009-12-03 18:29 GMT
Very interesting application for twitter. I find it very useful. Pictures given makes it easy to understand. Thanks for sharing
2009-12-03 18:31 GMT
Very interesting application for twitter. I find it very useful. Pictures given makes it easy to understand. Thanks for sharing
2009-12-04 07:50 GMT
I always love to read this kind of stuff. The quality of content is really appreciable. Thanks for sharing your knowledge with us.
2009-12-04 08:27 GMT
The info about Tweval is really interesting.The post is carrying really valuable stuff.Thanks for sharing this post.
2009-12-04 08:27 GMT
The info about Tweval is really interesting.The post is carrying really valuable stuff.Thanks for sharing this post.
2009-12-06 19:43 GMT
Thanks for sharing such a wonderful information with us, it really helps me slove my problem, keep up the good work. Cheers.
2009-12-08 06:11 GMT
I find it very useful. Pictures given makes it easy to understand. Thanks for sharing
2009-12-08 22:22 GMT
Very informative and instructive article indeed. I like the way in which writer has presented his views, thank you so much for sharing such information with us. Cheers.
2009-12-15 05:23 GMT
Thank you for the sensible critique. Me & my neighbour were preparing to do some research about that. We got a good book on that matter from our local library and most books where not as influensive as your information. I am very glad to see such information which I was searching for a long time.This made very glad Smile
2009-12-16 18:46 GMT
Post is nicely written and it contains many good things for me. I am glad to find your impressive way of writing the post. Now it become easy for me to understand and implement the concept. Thanks for sharing the post.
2009-12-20 08:59 GMT
This is really a wonderful topic to discuss! :)
2009-12-20 08:59 GMT
This is really a wonderful topic to discuss! :)
2009-12-20 09:00 GMT
This is really a wonderful topic to discuss! :)
2009-12-20 09:00 GMT
This is really a wonderful topic to discuss! :)
2009-12-20 17:59 GMT
Great article, interesting reading definetly. Thanks for sharing with us.
2009-12-21 02:25 GMT
Thank you for the sensible critique.
2009-12-21 02:27 GMT
Thanks for sharing such a wonderful information with us.
2009-12-21 02:28 GMT
This is really a wonderful topic to discuss.
2009-12-21 02:29 GMT
Very interesting application for twitter.
2009-12-21 02:30 GMT
Thank you for the sensible critique.
2009-12-21 02:30 GMT
Thanks for sharing such a wonderful information with us.
2009-12-23 00:19 GMT
thanks so myuch
2009-12-24 04:35 GMT
2009-12-24 04:35 GMT
2009-12-24 04:35 GMT
2009-12-24 13:19 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2009-12-24 13:19 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2009-12-24 13:19 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2009-12-25 16:05 GMT
Hi! vMmrtD
2009-12-25 18:16 GMT
PHP is really very good option for the webmaster to develop user friendly websites, thanks for sharing. Tom Ford Sunglasses
2009-12-25 20:29 GMT
Now that we’ve added support for PHP, many people are wondering where the storage client library is for PHP
2009-12-25 20:30 GMT
php is open source and easy to understand as compare to other web languages.
2009-12-25 20:30 GMT
2009-12-26 01:36 GMT
comment5,
2009-12-26 01:37 GMT
comment5,
2009-12-28 12:12 GMT
I want to express my admiration of your writing skill and ability to make reader to read the while thing to the end. I would like to read more of your blogs and to share my thoughts with you. I will be your frequent visitor, that’s for sure.
2009-12-28 12:12 GMT
I want to express my admiration of your writing skill and ability to make reader to read the while thing to the end. I would like to read more of your blogs and to share my thoughts with you. I will be your frequent visitor, that’s for sure.
2009-12-30 01:35 GMT
wow! nice scoop! you lend the information so clear that you provide us diagram for better understanding. I currently make use of curl, and I find it a little bit complicated so I thank you for providing us some intricate php codes.. This is really a big help for me! THANK YOU!
2009-12-30 01:35 GMT
wow! nice scoop! you lend the information so clear that you provide us diagram for better understanding. I currently make use of curl, and I find it a little bit complicated so I thank you for providing us some intricate php codes.. This is really a big help for me! THANK YOU!
2009-12-30 01:38 GMT
wow! nice scoop! you lend the information so clear that you provide us diagram for better understanding. I currently make use of curl, and I find it a little bit complicated so I thank you for providing us some intricate php codes.. This is really a big help for thesis I'm doing! THANK YOU!
thesis writing
2009-12-30 01:38 GMT
wow! nice scoop! you lend the information so clear that you provide us diagram for better understanding. I currently make use of curl, and I find it a little bit complicated so I thank you for providing us some intricate php codes.. This is really a big help for thesis I'm doing! THANK YOU!
2009-12-31 11:45 GMT

That is very good comment you shared.Thank you so much that for you shared those things with us.Im wishing you to carry on with ur achivments.All the best...
2009-12-31 19:03 GMT
This is really a wonderful topic to discuss! :)
2010-01-02 17:09 GMT
Thanks for sharing such a wonderful information with us.
2010-01-02 18:56 GMT
The article is nicely written, I am happy to find it. Thank for the post
2010-01-03 18:11 GMT
I am getting '500 - Internal server error.' on some pages where I use fwrite to write to files in azure blob using PHP Azure.
2010-01-04 07:10 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2010-01-04 08:31 GMT
What a helpful post really will be coming back to this time and time again. Thanks!

2010-01-04 08:32 GMT
What a helpful post really will be coming back to this time and time again. Thanks!

2010-01-04 08:32 GMT
What a helpful post really will be coming back to this time and time again. Thanks!

2010-01-05 23:34 GMT
The article is nicely written, I am happy to find it. Thank for the post
2010-01-06 07:29 GMT
This is really a wonderful topic to discuss! :)
2010-01-06 07:29 GMT
This is really a wonderful topic to discuss! :)
2010-01-06 07:31 GMT
This post got right to the point! thanks alot!
2010-01-06 09:23 GMT
thank you for the code sniplet
2010-01-06 09:24 GMT
thank you for the code sniplet
2010-01-06 10:52 GMT
Been looking for this kind of topic over the internet and i found yours! This is Perfect!
2010-01-07 12:47 GMT
Tweval is great for reviewing things!
2010-01-07 17:22 GMT
We provide you all Seo,Hosting and including top
web marketing concepts like that– website development,Internet
Marketing,Search Engine Optimization.
2010-01-07 17:22 GMT
We provide you all Seo,Hosting and including top
web marketing concepts like that– website development,Internet
Marketing,Search Engine Optimization.
2010-01-07 17:22 GMT
We provide you all Seo,Hosting and including top
web marketing concepts like that– website development,Internet
Marketing,Search Engine Optimization.
2010-01-08 15:07 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2010-01-09 10:42 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2010-01-10 13:58 GMT
Thank you for sharing
2010-01-11 08:22 GMT
Thanks for all the great information. I am glad I ran across your blog. I look forward to reading your next post.
2010-01-11 09:02 GMT
Informative Stuff

Thanks,
Jessica
2010-01-11 15:48 GMT
I believe open is the new strategy for companies in this hyperconnect world. This inspiration come from the Umair Haque's work on open vs close.
2010-01-11 15:48 GMT
I believe open is the new strategy for companies in this hyperconnect world. This inspiration come from the Umair Haque's work on open vs close.
111
2010-01-11 16:32 GMT
[url=http://www.keiba-tekicyu.com/]競馬予想[/url]
[url=http://www.card-genkinka.com/]クレジット現金化[/url]
[url=http://www.money-qa.net/]クレジットカード現金化[/url]
[url=http://www.cashing-next.net/]現金化[/url]
[url=http://www.job-chatnavi.com/]チャットレディ[/url]
[url=http://www.premium-goldcard.com/]ゴールドカード[/url]

2010-01-12 04:38 GMT
Its soo good to see this information in your post, I was looking the same but there was not any proper resource, thanx now I have the thing which i was looking for my work.
2010-01-12 04:38 GMT
Its soo good to see this information in your post, I was looking the same but there was not any proper resource, thanx now I have the thing which i was looking for my work.
2010-01-12 04:38 GMT
Its soo good to see this information in your post, I was looking the same but there was not any proper resource, thanx now I have the thing which i was looking for my work.
2010-01-12 04:38 GMT
Its soo good to see this information in your post, I was looking the same but there was not any proper resource, thanx now I have the thing which i was looking for my work.
2010-01-12 08:14 GMT
Thank you all for the hard work. It was much appreciated
2010-01-13 07:12 GMT
Thank you all for the hard work. It was much appreciated
2010-01-14 14:52 GMT
I want to express my admiration of your writing skill and ability to make reader to read the while thing to the end. I would like to read more of your blogs and to share my thoughts with you. I will be your frequent visitor, that’s for sure.
2010-01-14 19:25 GMT
Tweval is such a great tool to use. I have been using it for a while and it is amazing. It makes the twitting experience even better.
2010-01-17 18:01 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2010-01-18 03:52 GMT
Well, this is my first visit to your blog! We are a group of volunteers and starting a new initiative in a community in the same niche. Your blog provided us valuable information to work on. You have done a marvellous job!
2010-01-18 03:53 GMT
Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which we all need, thanks for all the enthusiasm to offer such helpful information here.
2010-01-18 06:37 GMT
thanx now I have the thing which i was looking for my work.
2010-01-18 14:39 GMT
Well, this is my first visit to your blog! We are a group of volunteers and starting a new initiative in a community in the same niche.
2010-01-18 17:02 GMT
Wow! i agree! i’ve been searching for so long for a site where i could find everything that i want, and i’ve just found it!! really, i’ve visited your blog, and it’s amazing, i will keep visiting
2010-01-18 22:36 GMT
Thanks for sharing such a wonderful information with us.
2010-01-19 04:38 GMT
Well, this is my first visit to your blog! We are a group of volunteers and starting a new initiative in a community in the same niche.
2010-01-19 04:38 GMT
thanx now I have the thing which i was looking for my work.
2010-01-19 11:17 GMT
Great. I was searching for this solution for a weeks. very informative blog. Thanks
2010-01-19 11:17 GMT
Great. I was searching for this solution for a weeks. very informative blog. Thanks
2010-01-19 13:49 GMT
Been looking for this kind of topic over the internet and i found yours! This is Perfect!
2010-01-19 20:10 GMT
Very interesting script. I am excited how it will work. Gonna test it soon. Especially this rewriting features sounds great for me.

Greetings
2010-01-19 20:11 GMT
Very interesting script. I am excited how it will work. Gonna test it soon. Especially this rewriting features sounds great for me.

Greetings
2010-01-20 15:02 GMT
Great. I was searching for this solution for a weeks. very informative blog. Thanks
ben
2010-01-21 17:50 GMT
thanks a lot... I missed that
2010-01-21 22:53 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2010-01-21 22:53 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
2010-01-21 22:53 GMT
I am working through some PHP tests with cURL. I can get everything running fine in the local dev fabric, but I can;t seem to be able to deploy to the cloud successfully. Any tips for deployment?
Anonymous
2010-01-21 22:54 GMT
2010-01-23 12:16 GMT
I’ve been bookmarking them for a while now and just decided to create a post to provide them to others…I really love to read articles that have good information and ideas to share to each reader.
2010-01-23 12:16 GMT
I’ve been bookmarking them for a while now and just decided to create a post to provide them to others…I really love to read articles that have good information and ideas to share to each reader.
2010-01-23 12:16 GMT
I’ve been bookmarking them for a while now and just decided to create a post to provide them to others…I really love to read articles that have good information and ideas to share to each reader.
2010-01-23 14:15 GMT
With these cmdlets, you can script your deploys, upgrades, and scaling operations very easily.
2010-01-24 08:55 GMT
Been looking for this kind of topic over the internet and i found yours! This is Perfect!

2010-01-24 18:08 GMT
To program a very good thing, free time I'm dealing with php and html I am trying to remove something nice, thank you, I wish you good work.
2010-01-24 18:08 GMT
To program a very good thing, free time I'm dealing with php and html I am trying to remove something nice, thank you, I wish you good work.
2010-01-24 18:08 GMT
To program a very good thing, free time I'm dealing with php and html I am trying to remove something nice, thank you, I wish you good work.
2010-01-24 18:09 GMT
To program a very good thing
2010-01-24 22:07 GMT
To program a very good thing, free time I'm dealing with php and html I am trying to remove something nice, thank you, I wish you good work.
2010-01-25 04:57 GMT
Thank you for posting this. I really learned a lot from your post.
2010-01-25 04:57 GMT
Thank you for posting this. I really learned a lot from your post.
2010-01-25 22:27 GMT
Man, everybody is hooking up with Twitter in some way. It's only a matter of time before Twitter rules the world, lol. Seriously though, nice piece.
2010-01-25 22:27 GMT
Man, everybody is hooking up with Twitter in some way. It's only a matter of time before Twitter rules the world, lol. Seriously though, nice piece.
2010-01-26 11:12 GMT
Let me know your thoughts on what we’ve done so far and your suggestions for future work.
2010-01-26 11:12 GMT
Don’t believe me? Well call (866) 961-1673 and enter my Agent Identification Number: 12345. (I know, that’s the kind of combination an idiot would have on his luggage.)
2010-01-26 11:13 GMT
I thought I’d take a few minutes to show you how I set up the botomatic.com domain for use with Windows Azure.
2010-01-26 11:13 GMT
The friendly DNS entries provide a consistent interface for users to get to your application
2010-01-26 11:13 GMT
The friendly DNS entries provide a consistent interface for users to get to your application
2010-01-26 11:13 GMT
It’s rare for the VIP of an application to change, but particularly thinking ahead to geo-location scenarios, it’s important that Windows Azure reserves the right to change the VIP.
2010-01-26 23:22 GMT
Thank you for posting this. I really learned a lot from your post.
2010-01-26 23:23 GMT
Thank you for posting this. I really learned a lot from your post.
2010-01-27 04:50 GMT
Solved a big problem for me thank you.
2010-01-27 04:50 GMT
Solved a big problem for me thank you.
2010-01-27 11:30 GMT
Solved a big problem for me thank you.
2010-01-27 11:30 GMT
Solved a big problem for me thank you. b:)):):)
2010-01-27 20:53 GMT
Thank you, your page has help me a lot of work, I wish you good work.
2010-01-28 05:11 GMT
Solved a big problem for me thank you.
2010-01-28 18:31 GMT
Following a no-cost test period, Microsoft on Feb. 1 will begin charging customers for its pay-per-use Windows Azure cloud services.
SEO
2010-01-29 05:40 GMT
Great post! Thanks for the information
2010-01-29 05:41 GMT
Cheers to the author for giving me some solid ideas
2010-01-29 08:42 GMT
Great post, you’ve helped me a lot
2010-01-31 07:48 GMT
get ex back by getting ex back and how to get your ex back learn how to get your ex boyfriend back and get your ex back by reading books on how to get your ex girlfriend back
2010-01-31 07:48 GMT
get your ex back
2010-01-31 07:49 GMT
get your ex back
2010-01-31 08:27 GMT
Thanks for the information. It's been very useful for me!
2010-01-31 08:28 GMT
Thanks for the information. It's been very useful for me!
2010-01-31 08:29 GMT
Thanks, and GREETINGS FROM GERMANY
my motto: Mountains never meet, people always
2010-02-01 06:50 GMT
This is a cool screen idea ! It is very interesting indeed.Thank you for your info.i love to read all info.This article gives the light in which we can observe the reality.
2010-02-01 06:51 GMT
This is a cool screen idea ! It is very interesting indeed.Thank you for your info.i love to read all info.This article gives the light in which we can observe the reality.
2010-02-01 07:48 GMT
Thanks for sharing.
2010-02-01 15:24 GMT
That is very good comment you shared
2010-02-01 18:22 GMT
Thanks you admin
2010-02-02 18:36 GMT
Its soo good to see this information in your post, I was looking the same but there was not any proper resource, thanx now I have the thing which i was looking for my work.
2010-02-03 04:45 GMT
Here first the writer describes the topic very keenly that continuation tokens are the way you can pick up a query where it left off. In the paging example, you’re explicitly querying for a subset of the results.When you’re ready for the next page, you query again, passing in the continuation token you received from the first query and it leads t the next page very quickly. As a result of this the next set of results and the next continuation token.and this procedure goes on again and again.
2010-02-04 11:10 GMT
Your new application Tweval looks great which helps to evaluate everything by just tweeting a simple message. It's glad to hear that Windows Azure can now run PHP and your diagram neatly explains how PHP serves all the UI. Very interesting and informative.
2010-02-04 11:11 GMT
Your new application Tweval looks great which helps to evaluate everything by just tweeting a simple message. It's glad to hear that Windows Azure can now run PHP and your diagram neatly explains how PHP serves all the UI. Very interesting and informative.
2010-02-04 11:11 GMT
Your new application Tweval looks great which helps to evaluate everything by just tweeting a simple message. It's glad to hear that Windows Azure can now run PHP and your diagram neatly explains how PHP serves all the UI. Very interesting and informative.
2010-02-04 12:54 GMT
So basically, this could actually be used to create a twitter type site with ratings? That would be pretty neat for a product review type website I think.

Tim
2010-02-04 12:54 GMT
So basically, this could actually be used to create a twitter type site with ratings? That would be pretty neat for a product review type website I think.

Tim
2010-02-05 08:15 GMT
Thanks for the information. It's been very useful for me!
2010-02-05 08:19 GMT
Thanks for the information. It's been very useful for me!
2010-02-05 08:20 GMT
That is very good comment you shared
2010-02-05 08:20 GMT
Cheers to the author for giving me some solid ideas
2010-02-05 08:21 GMT
Thanks for the information. It's been very useful for me!
2010-02-05 08:21 GMT
That is very good comment you shared
2010-02-05 08:22 GMT
Cheers to the author for giving me some solid ideas
2010-02-05 08:22 GMT
Thanks for the information. It's been very useful for me!
2010-02-05 08:23 GMT
Thanks, and GREETINGS FROM GERMANY
my motto: Mountains never meet, people always
2010-02-05 08:23 GMT
Its soo good to see this information in your post, I was looking the same but there was not any proper resource, thanx now I have the thing which i was looking for my work.
2010-02-05 08:24 GMT
That is very good comment you shared
2010-02-05 08:24 GMT
Cheers to the author for giving me some solid ideas
2010-02-05 08:24 GMT
Thanks for the information. It's been very useful for me!
2010-02-05 08:25 GMT
So basically, this could actually be used to create a twitter type site with ratings? That would be pretty neat for a product review type website I think.
2010-02-05 16:47 GMT
Thanks admin
2010-02-06 07:57 GMT
Thanks very much feel that some good material deposited together.
2010-02-06 19:58 GMT
I express my admiration for his writing ability and capacity to reader to read the thing until the end. I like to read more of your blogs and share my thoughts with you. I will be your frequent visitor, that's for sure.
2010-02-06 19:58 GMT
I express my admiration for his writing ability and capacity to reader to read the thing until the end. I like to read more of your blogs and share my thoughts with you. I will be your frequent visitor, that's for sure.
2010-02-06 19:58 GMT
I express my admiration for his writing ability and capacity to reader to read the thing until the end. I like to read more of your blogs and share my thoughts with you. I will be your frequent visitor, that's for sure.
2010-02-07 00:11 GMT
2010-02-07 00:11 GMT
Thanks for sharing such a wonderful information with us.
2010-02-07 14:34 GMT
Thanks for great tips!
2010-02-07 23:47 GMT
Thanks, good information there to help me ..
2010-02-08 00:35 GMT
thnxx for your helps for this site
2010-02-08 00:36 GMT
thnxx for your helps for this site
2010-02-08 00:36 GMT
thnxx for your helps for this site
2010-02-08 07:43 GMT
Very useful informations about these subject. Great info.I like all your post.Interesting article..
2010-02-08 07:43 GMT
Very useful informations about these subject. Great info.I like all your post.Interesting article..

Add a comment

Your name:
Your URL
(will be linked from your name):
Your comment: