Welcome to MSDN Blogs Sign in | Join | Help
bebiki.com

Bebiki.com is the first social network for babies. Babies actually don't use the computer, but their parents love to do it for them. 

On Bebiki.com parents post current status of their babies, upload pictures, post comments, recommendations and reviews, share their parental challenges and can participate in discussion forums.

Bebiki.com is an extensible platform, it's applications system allows creations of third party boxes on baby profiles that do provide various third party services. Among such applications there are:

- Building a family tree with family member pictures

- Baby personality quiz and other types of quizes.

- Blog system for parents and baby log on baby profile. 

- etc... 

Roboshare.com - free online web sharing on Facebook

http://roboshare.com

on Facebook:

http://apps.facebook.com/roboshare

Using Roboshare your music, pictures, video, movies and documents can be accessed from iPod, iPhone using a web browser. Withing seconds you can share entire folder trees on your PC and invite your friends to browse them.

 

http://roboshare.com is ClickOnce File Sharing solution, allowing you to access and sync files over internet. Keep important files at your fingertips - anywhere. Access latest documents, photos, music and video directly from your PC.
The goal of the service is to provide easy access to your content across HTTP. Roboshare is not a cloud storage and does not cache any content, it just streams content over multiple HTTP connections.
Roboshare uses outbound port 80 and http protocol and makes file sharing available everywhere using a simple Username/Password authentication. You don't need to install anything, just open roboshare.com and click "Launch Roboshare". It is a free service to help developers across the world make their job easier. It also turned out to be a great service for non-technical people who own more than one computer, don't want the hassle of local network configuration and need to share files between their PCs, easily
 

 
AttractiveBanners.com
First impression is the key to success.
Online, companies get about 2-5 sec to make an impression on a new client.
Think about your online presence and make it professional and attractive.
 
http://www.AttractiveBanners.com - Make Flash Banner Ads Onlne
 
 
This is a business Diana is currently running and it showed signs of success from the first moments of its online presence. For advertisers, this is a great shopping experience, they just browse a gallery of predefiend banner templates, choose the design they like, and customize it with the text/images they like. The system will take text/images, invoke a SWF compiler and generate a ready to use SWF in less than a second. File sizes are very small and are convenient to use in any advertisement campain. There is also support for ClickTag, often required by advertiser networks as Google Ads.
 
On the other side this site accepts work from designers and various other owners of rich media content. This becomes a convenient place for designers to sell their work, because the system at AttractiveBanners.com is providing functionality like Keywords search and grouping, personal customizable online store at http://attractivebanners.com/<yourName> and there is no need to advertise your content, because AttractiveBanners is investing in advertising and is reacheable already by thousands of visitors per day.
 
The strategy the site is taking is to provide an online location for rich media content exchange in Flash and Silverlight(in future). Currently this is an online Flash content generator (SWF compiler) that can combine various predefined templates with images and text and produce desired results. It can also imput already compiled SWFs and load it in another movie. Everyone probably have seen banners with games similar to "shoot the duck and win a prize" Once you choose the template of the game, you can replace the image of the duck with an other image of your choice, plus you may wish to choose the background color, font name and size and your ad banner is ready. This is a convenient for many advertisers seeking for a quick and attractive banner for their campain.
 
If you are a graphic designer, a flash or silverlight rich media content owner and want to sell it online and make money, register on attractivebanners.com and start selling. It is #.1 Flash Online Banner Generator and first Instant Banner Creator online.
Silverlight workflow designer

Here is a prototype of a free form silverlight workflow designer.

http://www.netfxlive.com/silverlight/

This has been quickly converted from an AJAX sample, available here:

http://www.netfxlive.com/freeform/

Xaml is richer and more powerful and makes sense to use instead of html/css.

Here is how an update version looks like:

 http://netfxlive.com/designer/

Add a Workflow to your Blogs

1. Create or import your workflow at http://netfxlive.com and save it.

2. Add the following HTML code to your blogs or to any web page. Specify in Open method your UserName and WorkflowName:

    <div id="designerCtrl"></div>
    <script src="http://netfxlive.com/includes.ashx" type="text/javascript"/>
    <script type="text/javascript">

         var designer= new WorkflowDesigner();
        designer.Initialize(document.getElementById("designerCtrl"));
        designer.Open("ghenadie","Ajax");

    </script>  

Enjoy!!!

Service mashups with NetFxLive

Mashup 1:  Send traffic information to your phone as SMS message

- Drop a GetTraffic activity

- Drop a SendSMS activity

- Set address property of GetTraffic to "Interstate5" or "WA520"

- Set City = "Seattle" and State = "WA"

- Drag out Result property from the activity surface

- On SendSMS activity, choose your provider and set your number

- Drag out Message property from SendSMS activity surface and connect it with previously dragged out result property on GetTraffic activity. Now you should see GetTraffic.Result and SendSMS.Message connected with a pipe. Pipe can be moved anywhere by dragging and dropping its small square handle (middle connector)

- Rename your workflow to TrafficWF and press Save button.

- Select Schedule execution checkbox. choose recurrence "daily" and desired time. Click OK

Now, you will receive every day at 5 PM an SMS message with the traffic information on the address you selected.

To disable this, use MyWorkflows button, select this wf in the list, open it, then click Save and uncheck Schedule Execution checkbox.

Mashup 2: Ajax communication of NetFxLive workflow with a browser.

You can use AJAXRequest and AJAXResponse activity pair to respond to a web request from a browser. For example, if you register with user name Ghenadie and create a workflow named Workflow1, the endpoint workflow will be listening always is http://netfxlive.com/Ghenadie/Workflow1.xoml

Note that AjaxRequest will always activate the workflow if it is not currently running.

AjaxRequest/AjaxResponse will use JSON or XML message format. If invoked from a browser using GET, AjaxResponse will respond with XML, so that communication will take a form of an RSS feed.

Following workflow will accept a request with a parameter named "street" It will invkoe Yahoo traffic service, transform xml data using XmlDom in CodeActivity and respond with a string extracted from traffic xml response. Try invoking it by requesting following url: http://www.netfxlive.com/ghenadie/Workflow7.xoml?street=interstate5

 

A better choice is to use a proxy. By creating a workflow on endpoint http://netfxlive.com/<username>/<workflowname>.xoml a proxy of this workflow is automatically available at /js endpoint and can be included in any web page.

http://netfxlive.com/<username>/<workflowname>.xoml/js

Include this with a script tag in your web page and you can do the following in your JavaScript code:

<script type="text/javascript" src="http://netfxlive.com/ghenadie/Workflow7.xoml/js"></script>

<script type="text/javascript">

Workflow7.street = "Interstate5";

Workflow7.getResponse();

document.write(Workflow7.Response.ResultParam);

</script>

In this case, browser and Workflow will talk JSON messages.

Mashup 3: Use a workflow for your PayPal IPN transactions.

You can use a workflow to handle your PayPal IPN transactions. Workflow will persist, send email, send sms, or do other activities you may consider useful. Plus, you will get the flexibility to alter it according to your business changes.

1. Drop an AjaxRequest activity.

2. add parameters you are interested in by using Add link in Property Browser

3. drop an HttpInvoke activity. Add all parameters, including "cmd" parameter with value "_notify-validate".

4. Add an IfElse activity and use a rule condition to check if HttpInvoke Response == "VERIFIED"

5. If verified, drop a SendEmail or SendSMS activity in the left branch.

6. Drop an AjaxResponse activity at the end.

On PayPal website, specify your IPN url as

http://netfxlive.com/<username>/<workflowname>.xoml

where <username> is your registration login on netfxlive and <workflowname> is the name you used to save your workflow. For example, if I login with user name Ghenadie, and save a workflow Workflow7, my workflow endpoint will be http://netfxlive.com/Ghenadie/Workflow7.xoml

 

What can NetFXLive do today?

NetFxLive as a live Development Environment

 NetFxLive is a development environment that will capture attention of web developers, web site designers, workflow designers, service mashup designers and other business model developers. This is a live service that  provides live data, ability to upload custom activities, ability to generate activities that will act as service proxies.  This is the visual programming environment for service mashups.

http://www.netfxlive.com/

netfxlive page

http://www.netfxlive.com/

 

NetFx Live designer

http://www.netfxlive.com

JS based workflow designer is a new designer writen in JavaScript for pure declarative scenarios only. It is not a rehosted designer and does not need WF assemblies to be installed on the client. This should evolve into an ASP.NET ATLAS control that anyone can drop on his aspx page.

Netfxlive is an intent to make a central activity repository. The purpose is to provide a live workflow designer where anyone can build a workflow base on all activities uploaded to the repository. Activity developers will be able to upload their activities and thus share its functionality or expose the interface of a WCF service through it. (Custom activity with Silver activities) Workflow activity declarations, rules and binding capabilites are powerful enough to build complex business logic on top of a world wide share of activities. WF appears to be a nice interface for service discoverability. (UDDI like service through a WF live designer)

WebPageRequest, WebPageResponse, WebPageTransfer, WebPageRedirect activities

A set of custom activities for ASP.NET integration.
Similar to WebService Receive/Response, WebPage Receive/Response will integrate with Http Receive/Response and will help integrate Workflows in ASP server side logic. WebPage code behind class has to be derived from WorkflowWebPage. Workflow type to use is passed as parameter in webpage class constructor

Features:
- Ability to add web page parameters in designer, which will be populated out of Http context
- Ability to use acitivity bind to bind parameters and use HTML get/post parameter values in rules/condition expressions
- Ability to use in both Sequential and State Machine workflows
- Includes an ASP.NET web control sample as data bind sample
- Includes a Sequential driven and a State Machine driven website sample.

ASP.Net code behind class should derive from WorkflowPage class. WorkflowPage inherits from System.Web.UI.Page. This will populate RequestParameters collection for all WebPageRequest activities that point to this page. Page is identified by code behind class name. This property should be set on WebPageRequest activity. When http request arrives, an item will be enqueued into the queue with given page name. If this is a state machine workflow, correspondent state transition will fire up. In a sequential designer the request activity should be in execution state. In sequential designer, multiple activities can listen to different page requests by placing them in an EventHandlingScope activity.

Workflow author should manually define parameters on PageRequest activities depending on what HTML parameters he is expected in page request. A PageRequest parameter is defined using Parameters property. After adding an item to parameters property collection and save, a new dynamic property will appear in property browser. That property should be bound to a new member (field) in order to become available in Rules Editor. Dynamic properties can not be directly accessed.

A parameter collection is available on WebPageResponse activity. Every parameter added here can be bound to an issued field of request parameter or any other member. Response parameter values can be accessed from asp code using <%=...%> or using WorkflowParameter ASP.NET control.

Download:
http://wf.netfx3.com/files/folders/control_flow/entry4354.aspx

Custom activity with dynamic properties sample

Dynamic properties are defined as parameter bindings and are stored in a dependency property named ParameterBindings.

The sample below demonstrates the usage of dynamic properties in a custom activity. This custom activity has a "DynamicProperties" property, which is a collection of parameters. Each parameter has a name and a type. Type is an enum that can be extended depending on custom needs.

User is populating DynamicProperties collection using Parameter Collection Editor dialog. Upon saving, all parameters defined in the collection will appear as properties in Visual Studio Property Browser. User can assign values to them as well as bind them using activity bind dialog. Values will be stored in parameter bindings collection same way OOB activities do.

To implement this we need to write a custom activity, a designer, a PropertyDescriptor and a notification mechanism to notify designed component when the value of dynamic property changed. Activity has to implement IDynamicPropertyTypeProvider interface. Designer overrides PreFilterProperties where property descriptors are instanciated.

class DynamicPropertiesActivity: SequenceActivity, IDynamicPropertyTypeProvider

class DynamicPropertiesActivityDesigner : ActivityDesigner

class ParameterPropertyDescriptor : PropertyDescriptor

class ComponentChangeDispatcher : IDisposable

 

Attached is a project DynamicPropertiesActivityLibrary which contains described activity.

--

Page view tracker