Things hard and not so hard.... RSS 2.0
# Wednesday, November 21, 2012

You may have heard about ClickFrenzy where last night they launched a site with bargains for a few hours.

Unfortunately there were far too many Error 500 – Server Too Busy errors and hence the site lost many many potential customers.

Breeze has a great article on it - http://www.breeze.net/news/breezetalk/the-sale-that-stopped-the-nation,-enter-windows-azure.aspx

 

Who’d have thought….

Wednesday, November 21, 2012 10:48:49 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration
# Tuesday, November 20, 2012

While on SharePoint 2013 training we came across all the different ways of calling SharePoint and it’s data through JavaScript, JQuery and all the bits.

It was all looking good until we needed to update sharepoint – e.g. a list, a list item etc.

The MS Course notes say – “if you’re in SharePoint you can get the Form Digest from the main SharePoint Form….”

 

What about if you’re running outside of SharePoint (a Provider App – they now call it, or Cloud Hosted…depending on who wrote the help article)

 

The answer in the notes is… go and make an old fashion call to Sites.asmx SOAP WebService…. from client side javascript this is going to be a feat.

….

The Answer – make a REST call to get the ‘Context Info’ first, then you’ll have the form digest and you’re done.

http://msdn.microsoft.com/en-us/library/fp142386(office.15).aspx#bk_synchronize (just at the top of this page)

 

Table 1. SPContextWebInformation structure initialization properties

Property

Description

webFullUrl

Gets the server-relative URL of the nearest site.

siteFullUrl

Gets the server-relative URL of the root of the site collection that the site is contained within.

If the nearest web is the root of a site collection, then the value of the webFullUrl property is equal to the siteFullUrl property.

formDigestValue

Gets the server's request form digest.

LibraryVersion

Gets the current version of the REST library.

SupportedSchemaVersions

Gets the versions of the schema of the REST/CSOM library that are supported.

To access this information, use the /contextinfo operator. For example:

http://server/web/doclib/forms/_api/contextinfo

To increase security against cross-site scripting attempts, the /contextinfo operator accepts only POST requests.

Tuesday, November 20, 2012 3:43:32 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Dev | SharePoint | 2013 | Tips
# Tuesday, November 13, 2012

Hi folks, I’m just blown away by all the goodies in these 2 releases

1) the SP1

2) the Feature Pack SP1

Both have some pretty big improvements, especially around the SharePoint 2013 <-> SQL scenario and pivot tables, analysis, mining etc.

There’s even SQL Services that continuously copy data from Oracle to SQL – this I’ll have to try on my next BizTalk project.

Check it out - http://www.microsoft.com/en-us/download/details.aspx?id=35580

Now I’d love to have a single download for them all…. Smile

Tuesday, November 13, 2012 10:17:18 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | General | SharePoint | 2013

Folks with the unforeseen skill from Christian Longstaff,  we could be unveiling something great….. kicking around a few ideas and Christian’s talent for such things shone.

As with all amazing shiny new things it needed a place in the blog-sphere…

clip_image002

Could it be a book….a show….a movie….or something more….

Stay tuned….

Tuesday, November 13, 2012 5:19:27 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | General
# Thursday, November 01, 2012

Halloween’s just over and my place was overrun with Kids of all sizes seeking high-fructose corn syrup hits…to keep them going till the next house.

It seems Scott Gutherie has all sorts of pieces he wants to chat about on this next free conference.

The world of the Cloud moves just so quickly that these sorts of events are essential to get you up to date in your thinking.

Remember what the cloud story was 12 months ago & how many new features/capabilities have been added since.

Check out the blurb and register….

http://www.windowsazureconf.net/

Thursday, November 01, 2012 12:55:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | Breeze | Events
# Thursday, October 25, 2012

Great news – Jurgen Willis and his team have worked hard to bring Microsoft’s first V1.0 WF Workflow Hosting Manager.

It  runs both as part of Windows Server and within Azure VMs also. It also is used by the SharePoint team in 2013, so learn it once and you’ll get great mileage out of it.
(I’m yet to put it through serious paces)

Some links to help you out…

What is it?

WF Mgr 1.0 – Code Samples

 

The following main areas for WF improvements in .NET 4.5: (great MSDN magazine article)

  1. Workflow Designer enhancements
  2. C# expressions
  3. Contract-first authoring of WCF Workflow Services
  4. Workflow versioning
  5. Dynamic update
  6. Partial trust
  7. Performance enhancements

Specifically for WorkflowManager there’s integration with:

1. Windows Azure Service Bus.

So all in all a major improvement and we’ve now got somewhere serious to host our WF Services. If you’ve ever gone through the process of creating your own WF host, you’ll appreciate it’s not a trivial task especially if you want some deeper functionality such as restartability and fault tolerance.

but…. if you want to kick off a quick WF to be part of an install script, evaluate an Excel spreadsheet and set results, then hosting within the app, spreadsheet is fine.

Let’s go through installation:

Download from here

image

Workflow_Manager_BPA.msi = Best Practices Analyser.

WorfklowClient = Client APIs, install on machines that want to communicate to WF Manager.

WorkflowManager = the Server/Service Component.

WorkflowTools = VS2012 plugin tools – project types etc.

And we’ll grab the 4 or you can you the Web Platform Installer

image

 

The Workflow Client should install fine on it’s own (mine didn’t as I had to remove some of the beta bits that were previously installed).

Installing the Workflow Manager – create a farm, I went for a Custom Setting install below, just to show you the options.

image

image

As you scroll down on this page, you’ll notice a HTTP Port – check the check box to enable HTTP communications to the Workflow Manager.
This just makes it easier if we need to debug anything across the wire.

Select NEXT or the cool little Arrow->

On Prem Service Bus is rolled into this install now – accepting defaults.

image

Plugin your Service Accounts and passphrase (for Farm membership and an encryption seed).

Click Next –> to reveal….

image

As with the latest set of MS Products a cool cool feature is the ‘Get PowerShell Commands’ so you can see the script behind your UI choices (VMM manager, SCCM 2012 has all this right through). BTW – passwords don’t get exported in the script, you’ll need to add.

Script Sample:

# To be run in Workflow Manager PowerShell console that has both Workflow Manager and Service Bus installed.

# Create new SB Farm
$SBCertificateAutoGenerationKey = ConvertTo-SecureString -AsPlainText  -Force  -String '***** Replace with Service Bus Certificate Auto-generation key ******' -Verbose;


New-SBFarm -SBFarmDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False' -InternalPortRangeStart 9000 -TcpPort 9354 -MessageBrokerPort 9356 -RunAsAccount 'administrator' -AdminGroup 'BUILTIN\Administrators' -GatewayDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=SbGatewayDatabase;Integrated Security=True;Encrypt=False' -CertificateAutoGenerationKey $SBCertificateAutoGenerationKey -MessageContainerDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=SBMessageContainer01;Integrated Security=True;Encrypt=False' -Verbose;

# To be run in Workflow Manager PowerShell console that has both Workflow Manager and Service Bus installed.

# Create new WF Farm
$WFCertAutoGenerationKey = ConvertTo-SecureString -AsPlainText  -Force  -String '***** Replace with Workflow Manager Certificate Auto-generation key ******' -Verbose;


New-WFFarm -WFFarmDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=BreezeWFManagementDB;Integrated Security=True;Encrypt=False' -RunAsAccount 'administrator' -AdminGroup 'BUILTIN\Administrators' -HttpsPort 12290 -HttpPort 12291 -InstanceDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=WFInstanceManagementDB;Integrated Security=True;Encrypt=False' -ResourceDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=WFResourceManagementDB;Integrated Security=True;Encrypt=False' -CertificateAutoGenerationKey $WFCertAutoGenerationKey -Verbose;

# Add SB Host
$SBRunAsPassword = ConvertTo-SecureString -AsPlainText  -Force  -String '***** Replace with RunAs Password for Service Bus ******' -Verbose;


Add-SBHost -SBFarmDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False' -RunAsPassword $SBRunAsPassword -EnableFirewallRules $true -CertificateAutoGenerationKey $SBCertificateAutoGenerationKey -Verbose;

Try
{
    # Create new SB Namespace
    New-SBNamespace -Name 'WorkflowDefaultNamespace' -AddressingScheme 'Path' -ManageUsers 'administrator','mickb' -Verbose;

    Start-Sleep -s 90
}
Catch [system.InvalidOperationException]
{
}

# Get SB Client Configuration
$SBClientConfiguration = Get-SBClientConfiguration -Namespaces 'WorkflowDefaultNamespace' -Verbose;

# Add WF Host
$WFRunAsPassword = ConvertTo-SecureString -AsPlainText  -Force  -String '***** Replace with RunAs Password for Workflow Manager ******' -Verbose;


Add-WFHost -WFFarmDBConnectionString 'Data Source=BTS2012DEV;Initial Catalog=BreezeWFManagementDB;Integrated Security=True;Encrypt=False' -RunAsPassword $WFRunAsPassword -EnableFirewallRules $true -SBClientConfiguration $SBClientConfiguration -EnableHttpPort  -CertificateAutoGenerationKey $WFCertAutoGenerationKey -Verbose;

 

Upon completion you should see a new IIS Site…. with the ‘management ports’ of in my case HTTPS

image

 

Let’s Play Smile

Go and grab the samples and have a play – make sure you run the samples as the user you’ve nominated as ‘Admin’ during the setup – for now.

Thursday, October 25, 2012 3:06:11 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Async | Azure | Integration | ServiceBus | BizTalk | 2010 | 2010 R2 | Dev
# Thursday, October 11, 2012

Hi folks,

What a great time we're in at the moment. Cloud(s) are knocking a the door, local devices, windows 8 etc.

No complaints from me that this world is getting more and more connected.

To maintain those connections and handle new ones - Microsoft BizTalk Server serves as your on-premise middleware platform.

We're running a course shortly on Design, Build and Manage your solutions within BizTalk Server.

We have a wealth of knowledge around Integration and Cloud technologies. As you and I know, integration is all about the systems you're integrating with.

Here's the details - and hope to see you there. Mick (you're new Azure Integration MVP)

Come along to our office for a week of BizTalk 2010 Bootcamp Training!

Agenda

We will take care of you with delicious catering, friendly staff and provide our state of the art BizTalk trainer. There are a limited amount of seats, so book now!

Click here to register

Start: Monday, November 12, 2012

End: Friday, November 16 2012

 

What is BizTalk?

For your business, BizTalk provides the "glue" to giving you a very good integration foundation for both internal applications as well as the outside world and giving you consistency across those interfaces as well.

BizTalk is a platform that is durable, reliable and fault tolerant right across your services, from email, FTP services, web services, database calls and much more, you will have something that retries all of those for you.

 

Why BizTalk?

BizTalk provides a level of maturity to customer operations as well as consistency. It is harder for customers to build themselves, the capabilities that BizTalk can offer out of the box. Our experience is that customers often start out building smaller applications here and there with eventually having over 100 applications talking to each other in a very specific way, all in a very ad-hoc approach and all very speciailised. Over time to maintain those systems becomes a big challenge for the client with increased complexity along the way.

Whereas by introducing a uniform, a best practice way of doing something, "business rules" such as within BizTalk, it eases that integration with the company to make it a lot simpler and easier to manage and everyone gets visibility in to the activity of those calls within the applications.

 

What our customers are doing with BizTalk today

BizTalk being a middleware product is being used in many different scenarios, from simple file transfers right across to complex business process automation.

Customers in one instance are getting real time notifications around FTP, where certain files appear, then systems have to react or respond immediately instead of within a polling interval that may occur at any time during the day. So being able to build out that infrastructure and apply or update databases, all of that happens right across the BizTalk layer, then exposed out via web services.

In-short BizTalk forms another tool in the client toolkit, using the MS integration stack, so on top of not only BizTalk and all of its' capabilities and adapters, we have WCF (Windows Communication Foundation), messaging, MSMQ and many others in the integration stack, not to mention Azure and cloud hybrid solutions we can deploy and employ today. So with clients it's not just about providing BizTalk to solve a problem, it's about using the tools in the toolkit to meet their requirements, whatever the tools may be, to solve their immediate challenge.

Thursday, October 11, 2012 3:29:10 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | Integration | ServiceBus | 2010 | 2010 R2 | Events | Training
# Thursday, October 04, 2012

In the wee early hours of the morning I recently got an email saying I had been awarded a MVP for another year.

This time I got awarded as an Azure MVP coming from BizTalk MVP. My love has been BizTalk for the last 12 years (and even Site Server before that for those that remember back that far…no they didn’t have punch cards Smile).

As always I don’t feel this is personally my award, but more of an award to you, the community with your hunger and thirst for knowledge to make a difference in your day to day.

And of course thank you to Microsoft for your belief in the MVP program and individuals such as myself.

……

The formal bits out of the way….I’m back for 2012/13!!! Should be a great year…great tour…and huge developments. Stay tuned.

My focus will be How to Integration and how-to integrate to/from Windows Azure.

 

mvp

     image

Thursday, October 04, 2012 9:49:47 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | Integration | BizTalk | 2010 R2 | BizTalk Adapter Pack
# Tuesday, September 18, 2012

Here's something I go this morning which I think is a SharePoint error:

Tuesday, September 18, 2012 10:53:25 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
SharePoint | 2010
# Sunday, September 09, 2012

Firing up Win2012 Server for the first time you might notice that you can do a

net use * http://mywebsite/docs

Which is a classic thing we do in SharePoint or other WebDAV enabled Servers.

After spending far too long on this issue the secret is to make sure the Desktop Experience feature is installed.

On 2012 here’s the way to do it - http://www.win2012workstation.com/desktop-experience/

2 hours I’ll never get back Smile

Mick.

Sunday, September 09, 2012 5:30:15 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Tips | Win2012
# Thursday, August 30, 2012

I recently ran into an interesting one while building some InfoPath forms for SP2010/2013 forms services.

I wanted to return some Rich Text (XHTML) fields back from a WCF WebService call.

I was at the point as a developer, where I couldn’t even say ‘Works on my machine…’.

The problem was – no matter what I tried, I would always have *plain text* and no ‘richness’ of the Rich Text. Didn’t work for me.

So I have:

1) a basic WCF Web service – running on my dev environment.

2) an InfoPath Form that makes the call and displays the results.

The WCF Service:

image

This is the field that I eventually want to return as RichText to InfoPath.

Here’s the Service Method code (which basically goes into a file and returns back a list of clauses) – just focus on the CONTENT = …GetXHTMLRichText(…)

image

 

InfoPath and Returning a RichTextField
2 things need to happen for this to work.

1. When InfoPath adds the WCF Service to the form, it needs to ‘detect’ the field correctly when it build the underlying schema.

image

You need (nb – ‘Content’ is my field name):
<xs:element minOccurs="0" name="Content" nillable="true">
                <xs:complexType mixed='true'>
                    <xs:sequence>
                        <xs:any minOccurs="0" processContents="lax" maxOccurs="unbounded" namespace="http://www.w3.org/1999/xhtml"></xs:any>
                    </xs:sequence>
                </xs:complexType>

</xs:element>

Note the namespace on the ANY element above – this is the winner to tell InfoPath that this is a richtext field.

2. When returning data via this field (in my case the ‘Content’ field), it needs to be in a certain shape, as in:
<Content xmlns=http://yournamespace>
    <span xmlns="http://www.w3.org/1999/xhtml">Rich text here</div>
</Content>


Your rich text content needs to be ‘wrapped’ for InfoPath to play nicely with it.

This was the purpose of my GetXMLRichText method as

image

 

The gotcha:

When I pointed InfoPath at my webservice and added a service reference I was getting back a SimpleType for the field and not a ComplexType/Rich Text field.

The WCF Service WSDL was ‘almost there’ but not close enough:
image

The Content field described in a ComplexType which is almost there, but not quite.

It’s missing the <xs:complexType mixed=’true’>…<xs:any namespace=’http://www.w3.org/1999/xhtml’ …/>. The rest were good.

The fix:

Cutting a long story short, the simplest way forward here was to simply edit the form components that InfoPath had built and correct the schema. Then reuse the form.

The form looks like this:

image

 

From the File->Publish->Export Source Files you can get to the source and edit the correct schema (XSD) file.

image
Close the form down in InfoPath (or you may even need to close InfoPath) to edit the Schema.

image

You may need to hunt through a few of them to find the right one. My file was GetKCCTerms12.xsd

Modify, save and close that file.

Right click on manifest.xsf –> Design to launch InfoPath and then select Save As to work with it as *.XSN form (*.xsn files are just CABs with all these files inside)

image

The final result as viewed from an InfoPath form – notice the bolding sent through.

Enjoy,

Mick.

Thursday, August 30, 2012 9:25:47 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Dev | SharePoint | 2010 | Tips
Archive
<November 2012>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
Blogroll
 AppFabric CAT
AppFabric Windows Server Customer Advisory Team - New Blog.
[Feed] BizTalk 2006 - Windows SharePoint Services adapter
BizTalk 2006 Sharepoint adapter!!
 Breeze SharePoint 2010 Bootcamp
Breeze SharePoint 2010 Bootcamp
[Feed] BTS 2006 R2/EDI
[Feed] Chris Vidotto (MS BTS Legend)
Needs no intro....
 Mark Daunt
BTS/SPS/.NET GURU!!!
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2014
Breeze
Sign In
Statistics
Total Posts: 606
This Year: 10
This Month: 0
This Week: 0
Comments: 270
All Content © 2014, Breeze