by community-syndication | Oct 19, 2009 | BizTalk Community Blogs via Syndication
I had a great time at the Heartland Developer’s Conference (HDC) ’09 in Omaha last week. I really liked the size of the event (not to small, not too big), the overall energy/vibe, and the social elements they provided for attendees. The speaker line-up was quite good for a regional event.
Pluralsight sponsored the show by providing every attendee with a trial subscription to Pluralsight On-Demand! and we raffled off two full-year subscriptions during lunch each day. We also gave out about 150 t-shirts along with one of the new Zune HD’s, which looks really nice btw. Check out our Flickr stream from the event, the #hdc09 Twitter stream, and the HDC community site if you want a better taste.
If you’re looking for my demos from the show, you can grab them here:

by community-syndication | Oct 19, 2009 | BizTalk Community Blogs via Syndication
As the WCF team already announced, the first chapter of the WCF Extensibility Guidance is now available on MSDN . This paper is the result of an effort I started a few months ago with my colleague and friend Pablo Cibraro . Our goal was to provide a detailed…(read more)
by community-syndication | Oct 19, 2009 | BizTalk Community Blogs via Syndication
Tiberiu “Tibi” Covaci, the
CloudCasts international correspondent was in Bulgaria last week for the
DevReach 2009 conference. During a hectic few days he managed to pin down some of the main presenters and technology influencers for his “Five Minutes With” interview series.
The interviews with Chris Sells, Richard Campbell, Christian Weyer and Carl Franklin have been published with four more to be released later this week. Tibi will also be at TechEd Berlin, OreDev in Malmoe and PDC in Los Angeles, so we can expect to see more of the same over the next few weeks.
The interviews are available on CloudCasts.
If you have any interviews of your own that you would like hosted on CloudCasts, or you would like to spend “Five Minutes with Tibi”, please contact me through this blog.
by community-syndication | Oct 18, 2009 | BizTalk Community Blogs via Syndication
Whilst on my travels last week I also ran into Oleg Lofman (MCS SharePoint Consultant)
whom amongst other things (showed me a great travel game – http://www.travelpod.com/traveler-iq?ba96=7587)
pointed me towards a tool called WIM2VHD.
Basically this tool allows you to go straight from a WIM file to VHD!! You
can even specify an Answer file also. So no need to mount the ISO, go through the
bootloader and copy all the files needed, then expand etc etc as part of the setup.
So seeing that Windows 7/Server 2008 R2 has a bunch of WIMs under the \Sources folder,
you can simply go there and take your pick as to how extensive you want the base OS
to be : Coreor something more!
Check it out:
http://code.msdn.microsoft.com/wim2vhd
As you can see below, it’s a pretty extensive and detailed tool: (you can even apply
hotfixes to the VHD during this process)
— snip from the above page —
Usage
Usage: WIM2VHD.WSF /wim:<wimPath> /sku:<sku>
[/vhd:<vhdPath>] [/size:<vhdSizeInMb>] [/disktype:<dynamic|fixed>]
[/unattend:<unattendXmlPath>] [/qfe:<qfe1,...,qfeN>]
[/ref:<ref1,...,refN] [/dbg:<args>] [/copylocal:<localFolder>]
[/passthru:<physicalDrive>] [/signdisk:<true|false>]
[/mergefolder:<folderToMerge>]
Required parameters:
/wim:<wimPath>
The path of the WIM file to use when creating the VHD. For example:
X:\sources\install.wim
Where X: is the drive letter of your DVD ROM drive.
/sku:<skuName>|<skuIndex>
The SKU within the WIM to use when creating the VHD (e.g. "ServerStandard",
"ServerDatacenterCore", "2", etc.). This value can either be passed as a
SKU name (typically the easiest method) or as a SKU index (which requires
you to have manually inspected the WIM with a tool like IMAGEX.EXE).
Optional parameters:
/vhd:<vhdPath>
The path and name of the VHD to be created. If a file with this name
already exists, it will be overwritten. If no VHD is specified, a VHD will
be created in the current folder with a name in the following format:
<Major>.<Minor>.<Build>.<Rev>.<Arch>.<Branch>.<Timestamp>.<SKU>.<Lang>.vhd
ex:
6.1.7100.0.x86fre.winmain_win7rc.090421-1700.Ultimate.en-us.vhd
NOTE: If the language cannot be determined from the WIM, no <Lang> block
will be included in the VHD name.
/size:<vhdSizeInMb>
For Fixed disks, this is the size in MB of the VHD that will be created.
For Dynamic disks, this is the maximum size in MB that the VHD can grow to
as additional space is required.
If unspecified, a default value of 40960 MB (40 GB) will be used.
/disktype:<Dynamic|Fixed>
Specifies what kind of VHD should be created: Dynamic or Fixed.
A Fixed disk allocates all of the necessary disk space for the VHD upon
creation. A Dynamic disk only allocates the space required by files in
the VHD at any given time, and will grow as more space is required.
The default value is Dynamic.
/unattend:<unattendXmlPath>
The path to an unattend.xml file that will be used to automate the OOBE
portion of Windows setup the first time the VHD is booted.
/qfe:<qfe1,...,qfeN>
A comma-separated list of QFEs to apply to the VHD after the WIM is
applied. QFEs must be in the .MSU file format, which is the default
QFE format for Windows 7. They can also be provided in a .CAB format
if you'd prefer to extract the .CABs from the .MSU files.
To extract a CAB from an .MSU, use the following command:
expand -f:win*.cab <.MSU file> <location to extract to>
/ref:<ref1,...,refN>
A comma-separated list of WIM pieces to apply to the VHD.
A "WIM piece" is the result of a Split WIM, and typically has a .SWM
file extension. The first piece of the Split WIM should be specified with
the /WIM switch. Subsequent pieces should be specified with /REF.
ex: WIM2VHD.WSF /WIM:C:\split.swm /REF:C:\split2.swm,c:\split3.swm
See IMAGEX.EXE /SPLIT /? for more information.
/dbg:<protocol>,<port/channel/target>[,<baudrate>]
Configures debugging in the OS on the VHD.
examples:
/dbg:serial,1,115200 - configures serial debugging on COM1 at 115200bps
/dbg:1394,10 - configures 1394 debugging on channel 10
/dbg:usb,debugging - configures USB debugging with the target DEBUGGING
/copylocal:<localFolder>
Copies all of the files necessary to run WIM2VHD.WSF to localFolder,
eliminating the need to install the Windows AIK or OPK. This does not
include any WIM files, just the binaries that WIM2VHD.WSF depends on.
After this operating completes, run WIM2VHD.WSF from localFolder.
If this switch is specified, no VHD will be created.
/passthru:<physicalDrive>
Applies the WIM directly to the specified drive and makes it bootable.
NOTE: The partition on the disk must be marked as ACTIVE in order to boot
successfully. This action is NOT performed by WIM2VHD.WSF.
/signdisk:<true|false>
Specifies whether or not WIM2VHD.WSF should leave a signature on the VHD
that indicates what version of WIM2VHD.WSF created the VHD, and the date
of creation. The signature will be located at <VHD>:\Windows\WIM2VHD.TXT.
The default value is "true".
/mergefolder:<folderToMerge>
Copies the contents of folderToMerge to the root directory of the VHD.
This includes all subfiles and subfolders. Any files that already exist on
the VHD will be overwritten.
This will certainly make my life easier when it comes to building VMs!!! Thanks Oleg
for the tip.
by community-syndication | Oct 18, 2009 | BizTalk Community Blogs via Syndication
Last week I met up with Leonid
(MCS SharePoint consultant) whom has a great upfront and practical view on life.
Funny guy.
He mentioned to me about a SharePoint Faceted Search – which is a series of Search
Web Parts that drill into the Search Index and return metadata tags, content types
and a bunch of other stuff to give you accurate search results grouped by Author,
Content Type, etc. (what ever you want)
Add them to the search results page of your SharePoint Search and you’re away. The
webparts examine the Query String and have a bunch of customisations that allow you
to tweak it just the way you like.
Great work Leonid!!!! (he’s
a very clever guy – SharePoint Search is one of his passionsRed Wine is the other
🙂 )
Standard View – notice the red regions, categories with the exact
number of results. Where std. search says “..about 512 results”
Adding a Couple of Categories – and looking at Content Type Search.
Here I clicked on Author – Mick Badran and a Content Type of ’Word’. You can see how
the ’advanced search’ is being visually built for me.
The best thing I like about all of this is that the RHS Web Part is totally customisable.
The results all come from an XML File (property of the webpart) that you can customise
– we can have icons, map different words/terms for things like ’Word’ as a content
type.
You can even add/remove your own.
The webpart has collapsible sections to it (you can even set how many items you want
visible when collapse in the section!) and the collapsing/expanding is driven off
Javascript calls back to the Server, so no round tripping.
Simply download, install the Solution, Activate the Feature for your Site Collection
and add the Web Parts to your page. Easy as that to get started.
Brilliant – absolutely Brilliant (I’ve already had some of our users
emailing me to say how easy it is)
Grab them here from CodePlex – http://www.codeplex.com/Wikipage?ProjectName=FacetedSearch
—- snip from the CodePlex Main Page —-
Project Description
MOSS Faceted Search is a set of web parts that provide intuitive way to refine search
results by category (facet).
The facets are implemented using SharePoint API and stored within native SharePoint
METADATA store. The solution demonstrates following key features:
-
Grouping search results by facet
-
Displaying a total number of hits per facet value
-
Refining search results by facet value
-
Update of the facet menu based on refined search criteria
-
Displaying of the search criteria in a Bread Crumbs
-
Ability to exclude the chosen facet from the search criteria
-
Flexibility of the Faceted search configuration and its consistency with MOSS administration
by community-syndication | Oct 18, 2009 | BizTalk Community Blogs via Syndication
In my previous post I wrote about the beta of the BizTalk management classes.
Every now and then you need to do some BizTalk management things in code. This is where the classes come in very handy.
Last week I wrote a small sample to show and explain the use of the classes to a co-BizTalker. […]
by community-syndication | Oct 18, 2009 | BizTalk Community Blogs via Syndication
With the SharePoint conference starting this week I’m sure there’ll be some great
messaging coming out.
When we’re given the green light I’ll talk about the many fantastic improvements on
the way to a SharePoint site near you!!!
Stay tuned.
by community-syndication | Oct 18, 2009 | BizTalk Community Blogs via Syndication
Available. Usable for demos, Hands-On labs and just getting a peak at BizTalk Server 2009 if you aren’t yet running it. Good news. Get it here.
by community-syndication | Oct 18, 2009 | BizTalk Community Blogs via Syndication
Hi all
My apologies for writing something that is only relevant for the Danish audience.
Anyway, my friend and former colleague Jesper Petersen and his wife, Helle Petersen
have started a new web site at http://www.delebarn.dk.
The web site is a tool for parents that are divorced and need a some way of communicating
about their children. There are lots of features that a free and you can buy a VIP
membership quite cheap.
The site is only in Danish.
So if you are divorced and need some way of handling information about your children,
like; How did it go at the doctor? When is football practice? And lots, lots and lots
other stuff, then take a look at http://www.delebarn.dk.
Thanks
—
eliasen
by community-syndication | Oct 17, 2009 | BizTalk Community Blogs via Syndication
Hi all
The other day I ran into a strange error when compiling my BizTalk solution. It was
a simple solution, which I was fairly sure there was nothing wrong with. I had two
projects. In the first I had a public orchestration and in the second I had a schema
and an orchestration that calls the orchestration in the first project.
So the project structure looks like this:
So not something that would normally go wrong. Anyway, the “customer.biztalk.sendmail”
project compiles just fine. But when I compile the “eliasen.customer.test” project
it fails with these three errors:
-
identifier ‘biztalk’ does not exist in ‘eliasen.customer’; are you missing an assembly
reference?
-
cannot find symbol ‘customer.biztalk.sendmail.Send_Receipt’
-
‘biztalk.sendmail.Send_Receipt’: can only call or exec a service
This was weird. Apparently the called orchestration (customer.biztalk.sendmail.Send_Receipt)
could not be found. Now since there has been a lot of issues with the copy local functionality
being broken, that was my first thought. But since my solution had never been deployed
and using Reflector on the customer.biztalk.sendmail assembly that was copied to the
bin folder of the eliasen.customer.test project had all the right classes, I skipped
that idea.
Then, just to be sure, I checked that “biztalk”, “customer” and “sendmail” aren’t
reserved words in XLANG/s here: http://msdn.microsoft.com/en-us/library/aa547020(BTS.10).aspx –
they weren’t.
Then I googled the “can only call or exec a service” error and found a couple of hits,
but none that I could directly relate to my issue.
Then, as if struck by divine intervention, I thought of changing the namespace of
the orchestration that was being called. Maybe in hindsight it makes sense, since
one of the errors is telling me that it is looking for “biztalk” in the “eliasen.customer”
namespace, which really doesn’t make sense at all.
Anyway, I opened up the properties of the called orchestration and changed the namespace:
and then it compiled after re-choosing the called orchestration in my “Call Orchestration”
shape. This, of course, is not acceptable – I want to be able to have any namespace
I want. It seems that somehow the compiler matches the “customer” in “customer.biztalk.sendmail”
to the “customer” in “eliasen.customer.test” with each other.
I have tried looking deeper into this, but I can’t seem to find the exact reason it
is failing, so I will probably just report it to Microsoft and then let them deal
with it 🙂
Hope this helps someone
—
eliasen