Talk: a Sitecore-based multilingual website (Arabic and English) for Virgin Mobile & Qtel – Dreamcore EU 2011

I presented at the Sitecore partner & developer conference DreamcoreEU in 2011; I spoke about implementing a Sitecore-based multilingual website (Arabic and English) for Virgin Mobile & Qtel [PDF].

DreamcoreEU 2011 logo

I gave a particular emphasis to multilingual concerns and planning for effective web operations:

DreamcoreEU-2012_Multilingual

DreamcoreEU-2012_Operations-4

DreamcoreEU-2011_SOM

(Terrible moiré effect due to stripy shirt – I now have a plain one 🙂 )

To quote from the DreamcoreEU 2011 site:

Going global is much more than just making a site multilingual. If your web properties span the globe, you need to know the best techniques for architecting your Sitecore solution to support a global presence. This session will feature an inside-look at how Virgin Mobile took their brand into to the Middle East. ). The session will cover:

  • Why Sitecore is a first-class WCMS for multi-lingual, left-to-right and right-to-left websites
  • Planning for and implementing right-to-left (RTL) languages in your Sitecore website
  • Using Sitecore’s content modeling to implement product information management (PIM) features
  • Getting your Sitecore content strategy right
  • Developing, deploying and testing multi-server Sitecore installations effectively

In particular, I spoke about how internet technology consultants Priocept had led the effort to roll out the entire system within six months and the challenges we overcame in order to do that, emphasising the need to deploy to Production as early as possible and test with real data, networks and configurations.

Talk: A Scalable Content Platform for TUI Travel – InternetWorld 2011

I presented at Internet World 2011 in London in the Content Management theatre: A Scalable Content Platform for TUI Travel.

Videos

Internet World 2011

Internet World 2011 Squid

 

Slides

Content Platform Solution

[http://www.slideshare.net/matthewskelton/priocept-a-scalable-content-platform-for-tui-travel]

My thanks to TUI Travel for permission to share details of this project at Internet World.

CLR-COM Interop

[This is a very old article I wrote back in 2002 when I worked for a company which built MRI scanners and was subsequently bought by Oxford Instruments. With COM being once again relevant with the introduction of WinRT, I thought it might be useful to revisit some core COM and .NET concepts.]

Details

CLR-to-Native Win32

The CLR subsystem responsible for managing access to the native platform is known as P/Invoke. These services are included in an application by use of the namespace System.Runtime.InteropServices, and the [DllImport(“<DLL_NAME>”)] attribute prepended to the function prototype.

When a call goes out to a piece of Unmanaged code from Managed code (CLR), a flag is set on the application’s CLR (pseudo-) stack. This causes the GC not to collect during the duration of the Unmanaged call. The Security Subsystem responds to the flag by searching up the stack for permissions to enter Unmanaged code. The security check can be suppressed by a call to System.Security.SuppressUnmanagedCodeSecurity, which prevents stack crawling by the Security Subsystem beyond the point at which the call was made.

Continue reading CLR-COM Interop

Advanced Call Processing in the CLR

[This is a very old article I wrote back in 2002 when I worked for a company which built MRI scanners and was subsequently bought by Oxford Instruments. With COM being once again relevant with the introduction of WinRT, I thought it might be useful to revisit some core COM and .NET concepts.]

Details

Method Calls

Every object in the CLR has type information associated with it, in the form of a 36-byte header:

Advanced-Call-Processing-in-the-CLR-1

Every method on the object has an entry in the method table (which acts in a similar way to a vtable in C++). Each entry is in effect a function pointer, and all method calls on the object come via the method table.

Immediately following object construction (using the .ctor or .cctor method) the objects method table appears thus:

Advanced-Call-Processing-in-the-CLR-2

Continue reading Advanced Call Processing in the CLR

CLR Contexts

[This is a very old article I wrote back in 2002 when I worked for a company which built MRI scanners and was subsequently bought by Oxford Instruments. With COM being once again relevant with the introduction of WinRT, I thought it might be useful to revisit some core COM concepts.]

Details

Definitions

A Context is a way to group together CLR objects having similar runtime (execution) requirements. Contexts are created as needed by the CLR. Cross-context calls require proxies, in a similar manner to cross-Apartment calls in COM.

Execution requirements could include:

  • Synchronisation
  • Transactional support
  • Database updates

Contexts also allow arbitrary message processing to be ‘plugged-in’ to the method-processing architecture by the use of Proxies.

Continue reading CLR Contexts