So What's This All About

The purpose of this site

I started off my career in IT 25 years ago as a COBOL Programmer in South Africa and have progressed (or some may say regressed) to consulting on virtualization technologies. I created this site to share my experiences with virtualization and cloud computing, as well as the latest virtualization news, tips, tricks and tools from other experts in the field.

Online Training

Free XenApp 7.6 Training

This free, one-hour online course provides an introduction to Citrix XenApp 7.6. Students will explore key components required in a XenApp 7.6 implementation, the FMA-based architecture, as well as key use cases.

Click here for the course details

Keep Tabs on Me

Social media links

RSS Feed 2.0


Utilizing the Power of Citrix Workspace Suite on vSphere 6

Remote access, local access, file sharing, mobile devices, WAN performance, it can be daunting.

Today users want to be able to access their data and applications from anywhere, with any device. The concern is how to build a secure environment that allows sharing and accessing files from a desktop, a virtual desktop, a virtual application, or even a mobile device. If users are working in a branch office, then the concern becomes WAN performance.

Citrix offers the Citrix Workspace Suite to help IT address all of these issues. The Citrix Workspace Suite consists of:

  • XenDesktop – the only hybrid cloud-ready platform that can deliver Windows applications and devices to any device.
  • XenApp – the industry leading solution for virtual application delivery.
  • XenMobile – delivers mobile device and application management and enterprise-grade productivity apps to users on any mobile device.
  • ShareFile – provides secure enterprise file sync and share services for mobility, collaboration and data security, while meeting the requirements of enterprise business. It is the only industry solution optimized for virtual desktops.
  • NetScaler – application delivery controller to optimize, secure, and control the delivery of enterprise and cloud services.
  • CloudBridge – accelerates application delivery and WAN performance from enterprise to branch office connectivity.

More about all of these can be found at

To help you get started with a new deployment of Citrix Workspace Suite, the Citrix Solutions Lab has created a starter guide called the “Citrix Workspace Suite Reference Architecture”. The following diagram gives an architectural view of the environment.


The initial design was to support 2,000 XenDesktop and XenMobile users, with 500 of those users being at a branch office using IPSec tunnels in NetScaler and application acceleration with CloudBridge. All of this was deployed in vShpere 6 and is documented in the reference architecture.

Read More


Mac Client Printer Mapping Fix for Citrix XenDesktop/XenApp 7.6

Hi all

If you have users that have a Apple Mac OSX device such as (iMac, Macbook, Macbook Pro) then this article might be interesting for you. I am helping many clients around the world and I often see more companies adapting Apple OSX devices. Specially SMB and Enterprises are adapting Apple Macbook products these days cause they are powerfull computers and have some of the best design and reliability. Many companies have no other option to adapt Apple OSX devices, so they attract the right talented employee, which are requesting this device if they want to work at the company, and you think this is funny then welcome to reality, Apple is back and more powerful than before. The good news is that Citrix can help with this and bring any app to work on these devices and secure the workspace with the Citrix Receiver where the user connect to a central and secure solution. The challenge comes when the user have local printers to their mac device and now tell IT they want to print from their Citrix session.

In latest release of Citrix XenDesktop, XenApp 7.6 if your users on Mac OSX devices, wants to use local printers and then connect to their remote Citrix VDI (Windows 8/8.1) or XenApp (Server 2012/2012R2) and then print, this is not going to work. Before this article got released users would only be able to get local printing working to a Windows 7 VDI or a XenApp server running Server 2008R2.

If you have users running pure Windows Computers, then you are not going to run into this issue with getting local printers to work with a Citrix environment running Windows 7/8/8.1, Server 2008R2/2012/2012R2.

In Citrix XenDesktop 7.6, default policies are set to map all client printers, so you dont have configure this policy.

Read More


Using Octoblu to Enable the Storefront Workflow Approval Process

If you’ve been following along with Richard Hayton’s recent posts on the release of Storefront 3.0, you’ve probably noticed that we are enabling Storefront with a lot of APIs to let you configure and use it in the way that best fit your environment.

The blog post series is great, and I recommend checking them out, as this article builds on them. You can read Richard’s posts here, but be sure to check out X1 DIY Approvals and Citrix Recipe Box: StoreFront Approvals, as they build on what we’re talking about here today.

Since this post contains multiple sub-parts, we are going to make this a series of posts, so we can break down–in detail–each of the steps. With that said, let get onto enabling Octoblu to handle your users request for application access, via the Storefront API.

Overview and setup:

This is going to be more of a general overview of the process and a high level How-To technical article so we can show you how to get up and running with the Storefront/Octoblu integration.

The scenario is that we have a set of applications, that we would like to display to all users but, only grant access when the user requests the application. A typical approval workflow that workflow engines handle.

There are a few steps we need to perform to enable Storefront to understand that an application needs to ask for approval. I’ve outlined those below.

  • Enable storefront to put applications in pending state.
  • Setup the published application to enable the approval process
  • Build a subscription database monitoring application to look for “pending” application.
  • Build a Octoblu workflow that handles the process flow for requesting, approving or denying a request for application access.
  • Build/Deploy intermediate page that allows a manager to approve the request.

Step One: Enable Storefront for workflows

There is a customization DLL that we are making available that you need to drop into your Storefront 3.0 directory. Richard’s blog (X1 DIY Approvals) gives the instructions, but I have copied them here, as well.

  1. Find the directory to the store you want to enable workflow for. For example C:\inetpub\wwwroot\Purple
  2. Edit web.config in this directory and add the following to the end of the <components> section
    <component id=”SimpleWorkflowHandler” type=”Citrix.DeveloperNetwork.StoreFront.SimpleWorkflowHandler, SimpleWorkflowHandler” service=”Citrix.DeliveryServices.DazzleResources.Workflow.IWorkflowAdaptor, Citrix.DeliveryServices.DazzleResources.Workflow” />
  3. Download the DLL from here and save it in the bin directory (e.g. C:\inetpub\wwroot\Purple\bin)

Step Two: Setup published application(s) to enable workflows

Now that we have Storefront configured, we need to modify the published application(s) so that Storefront knows that it is an workflow enabled application. This is achieved by adding “KEYWORDS:WFS” into the description of any desired published application that you wish to have the user ask for access. Below is an example of the properties screen of a published application that has the description field filled in with the appropriate keywords.


Step Three: Setup Storefront monitoring application to watch for application requests.

Now that we have our Storefront and the XenApp/XenDesktop application configured, the next step is to create an application that will monitor the storefront database and look for applications that are in a “Pending” state and then trigger the Octoblu workflow and wait for a response. The basic flow is below.

  • Monitor Storefront Subscription database for any subscriptions of the “Pending” state.
  • Register with the Octoblu service to receive messages.
  • For each “Pending” application, call the defined Octoblu workflow.
  • Process received messages from Octoblu and based on the response, either change the pending state of the application to subscribed or remove the subscription.

Since breaking this application down is an entire blog on it’s own, we are building a follow-up blog on the drill down of this application. In the mean time we have made the application open source and available on our GitHub account. You can download it here

*Once you download it you can run it on your StoreFront server to start monitoring for pending applications.

Below is a quick screen capture of the monitoring application and after you download it you will have to modify a few pieces. You can check out the code for the specifics on where to add the following items.

  1. Add the workflow endpoint into the code.
  2. Add your Device UUID/Token into the code. (Check out our Visual Studio Extension to help you enable an application as a device in Octoblu)
  3. Add the email you wish to get the approval emails. We built it this way to enable you to quickly check out the process.


Read More


How to Enable/Disable HDX Session Idle & Disconnect Timers on Linux VDA

The Linux VDA supports idle timers for controlling how long a HDX session can remain idle before being disconnected, and disconnect timers for controlling how long a session can remain disconnected before being terminated. When an idle timer expires for a session, due to no user interaction with that session, the user will receive a warning dialog informing them that they are going to be disconnected in five minutes.

These timers are not enabled by default, implying sessions can remain in the idle or disconnected state indefinitely.

Today, we’re going to talk about how to enable, configure and disable idle/disconnect timers on the Linux VDA.


Set an idle timeout

You can set an idle timeout using the following command:

sudo /usr/local/bin/ctxreg update -k \
                -v "MaxIdleTime" -d <timeout>

The timeout value, specified in minutes, indicates how long a session can remain idle before the user will receive the warning message. The session will be disconnected five minutes after this. This five minute warning interval is not configurable.

NOTE: This change will not affect any existing sessions, only those created afterwards.

Read More


Best Practices for Deploying Citrix ShareFile: Implementation Deep Dive

Did you know? The ShareFile Enterprise Services team ensures you will be supported with your services deployment, making it easy to proceed through our delivery phases: Build, Ramp and Run.

Our mission is to make your lives easier by giving you a world-class customer experience–you will be fully supported through this process–using our methodology to make the deployment faster, your users happier and ensure you are continually realizing value on your investment.

The Enterprise Services team drives strategic alignment and partnership between Citrix ShareFile and our customers with professional services, such as:

  • Leverage a resource to serves as the primary point of contact, post-sale for services, escalation and customer advocacy within Citrix
  • Hold deep dive transition sessions with your team to ensure they hit the ground running with the details of use cases, experiences to date and timelines
  • Provide project leadership from a successful pilot program to the implementation of your production environment, establishing user accounts and guiding through best practices
  • Share best practices for rollout strategies, conduct administration training and drive additional use cases to solve business needs that can help you realize additional value on your investment
  • Proactively provides account reviews and overlays your existing Citrix products so your entire account team is in sync to better serve your needs

The implementation will deliver a great Enterprise File Sync and Sharing experience across devices and platforms, while at the same time adhering to the specific technical requirements of customers’ IT organization.

The initial phase provides consultative design and deployment guidance. This process consists of setting up the infrastructure, configuration of the product and provisioning licenses. The focus then shifts to user adoption and active use of the ShareFile solution.

When taking user experience, ease of deployment and maintenance into account, the following best practices for optimizing the performance of your ShareFile implementation should be considered. It is worth noting the general recommendations outlined may not be appropriate for every environment and are for guidance purposes only.

Before You Deploy Licenses a Few General Recommendations To Consider:

  • Methodology– The Citrix Product Adoption Consulting Methodology consists of clearly defined phases – Build, Ramp, Run. Each phase consists of a series of checkpoints and deliverables that helps to ensure that no key step is missed.
  • Application Compatibility– When moving to a new operating system or application delivery technology it is important to verify application compatibility as soon as possible.
  • Separation of Components– With enterprise deployments, key infrastructure roles should be hosted on dedicated servers to enhance security, scalability, high availability and support.
  • Test Environment– An isolated test infrastructure should be implemented so that software, configuration and hardware changes can be verified prior to being implemented in production. The test environment should mirror the production environment as closely as possible.
  • Hotfixes and Service Packs Hotfixes and updates for the operating system, applications, and Citrix components should be kept up to date to ensure optimal performance, stability, and security.

Infrastructure Recommendations

The following tasks are recommended to be adhered to when deploying StorageZones Controller, StorageZones for ShareFile Data, and StorageZone Connectors.

  • Configure NetScaler for StorageZones Controller : You can use NetScaler as a DMZ proxy for StorageZones Controller. Citrix recommends protecting the StorageZone controller server on the trusted network and routing inbound traffic to StorageZone Controller server through a StorageZone proxy, such as Citrix NetScaler.
  • Create a network share for private data storage: StorageZones for ShareFile Data requires a network share for your private data, even if you store ShareFile files in a supported third-party storage system.

For further guidance and additional information, please refer to the ShareFile Knowledge Base and Citrix Product Documentation.

Read More


Ultimate Guide to Citrix Lifecycle Management

Citrix Lifecycle Management (CLM) is a cloud based Automation Framework that you can leverage to build and scale up & down your environment in any cloud. Think of it as Powershell remoting, just extremely more powerful.

If you can do it with Powershell, you can do it with Citrix Lifecycle Management

To get started you’ll need to prepare a VM template that contains VM tools, latestest Windows Updates and some firewall modifications. Check this documentation for the complete details and sample files Prepare Windows Server VM templates for deploying blueprints.

I’m using my Automation Framework to build the template and install the correct Hypervisor tools.

Ultimate Guide to Citrix Lifecycle Management 16

Before you convert the VM to a template you’ll need to Sysprep it. Make sure the unattend.xml is located locally and modified with your password.

Sysprep /generalize /oobe /shutdown /unattend:c:unattend.xml

Now with the VM template ready you’ll need to setup a server which has Citrix Lifecycle Management Agent installed. This is the server which takes care of the communication between the control plane and your cloud.

If you’re going to use Amazon or Azure you don’t need a VM template nor a server with the CLM Agent installed.

Ultimate Guide to Citrix Lifecycle Management 17

Write-Verbose "Setting Arguments" -Verbose
$startDTM = (Get-Date)

$Vendor = "Citrix"
$Product = "Lifecycle Management Agent"
$PackageName = "CitrixLifeCycleManagementAgent"
$InstallerType = "msi"
$Version = "2.5.0"
$LogPS = "${env:SystemRoot}" + "Temp$Vendor $Product $Version PS Wrapper.log"
$LogApp = "${env:SystemRoot}" + "Temp$PackageName.log"
$Destination = "${env:ChocoRepository}" + "$Vendor$Product$Version$packageName.$installerType"
$UnattendedArgs = "/i $PackageName.$InstallerType ALLUSERS=1 REBOOT=R /qn /liewa $LogApp"

Start-Transcript $LogPS

CD $Version

Write-Verbose "Starting Installation of $Vendor $Product $Version" -Verbose 
(Start-Process msiexec.exe -ArgumentList $UnattendedArgs -Wait -Passthru).ExitCode

Write-Verbose "Customization" -Verbose

Write-Verbose "Stop logging" -Verbose
$EndDTM = (Get-Date)
Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose
Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose

From CLM you’ll need to configure your Resource Location, that beeing your Hypervisor(s).

Ultimate Guide to Citrix Lifecycle Management 01

Ultimate Guide to Citrix Lifecycle Management 02

Ultimate Guide to Citrix Lifecycle Management 03

Ultimate Guide to Citrix Lifecycle Management 04

Ultimate Guide to Citrix Lifecycle Management 05

George Kuruvilla has already created an excellent step-by-step blog post on how to deploy blueprints – Citrix Lifecycle Management: A step by step walk through of an automated deployment on ANY cloud! Check it out for more in depth details.

There’s a couple of Blueprints in the CLM Blueprint Catalog, but what’s a PoC without any applications?

So let’s fix that, meet Custom Scripts. My plan was to use Chocolatey to install applications, but that didn’t work out (too high failrate), so I created own.

The script below is very powerfull and you can use it to install private software as well.

Ultimate Guide to Citrix Lifecycle Management 10

Add your script.

Ultimate Guide to Citrix Lifecycle Management 11

Write-Verbose "Setting Arguments" -Verbose
$startDTM = (Get-Date)

$Vendor = "Misc"
$Product = "Libre Office"
$PackageName = "LibreOffice_5.0.0_Win_x86"
$InstallerType = "msi"
$Version = "5.0.0"
$LogPS = "${env:SystemRoot}" + "Temp$Vendor $Product $Version PS Wrapper.log"
$LogApp = "${env:SystemRoot}" + "Temp$PackageName.log"
$Destination = "${env:ChocoRepository}" + "$Vendor$Product$Version$packageName.$installerType"
$UnattendedArgs = "/i $PackageName.$InstallerType ALLUSERS=1 /qn /liewa $LogApp"
$url = ""
$output = "$env:SystemDriveInstallers$Vendor$Product$Version$PackageName.$InstallerType"

Start-Transcript $LogPS

	if (-not (Test-Path $env:SystemDriveInstallers$Vendor$Product$Version)) {
        Write-Verbose "Starting Download of $Vendor $Product $Version" -Verbose 
		New-Item -Path $env:SystemDriveInstallers$Vendor$Product$Version -ItemType Directory | Out-Null
		$wc = New-Object System.Net.WebClient
		$wc.DownloadFile($url, $output)

CD $env:SystemDriveInstallers$Vendor$Product$Version

Write-Verbose "Starting Installation of $Vendor $Product $Version" -Verbose 
(Start-Process "$PackageName.$InstallerType" $UnattendedArgs -Wait -Passthru).ExitCode

Write-Verbose "Customization" -Verbose

Write-Verbose "Stop logging" -Verbose
$EndDTM = (Get-Date)
Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalSeconds) Seconds" -Verbose
Write-Verbose "Elapsed Time: $(($EndDTM-$StartDTM).TotalMinutes) Minutes" -Verbose

The script above will check if the file exists, and if not it will automatically download it from internet.

What’s awesome with Citrix Lifecycle Management is that you can pass parameters to your scripts.

Ultimate Guide to Citrix Lifecycle Management 12

So instead of downloading all the media from the internet, you could point to a local share instead.

Ultimate Guide to Citrix Lifecycle Management 07

You can deploy scripts as manual jobs.

Ultimate Guide to Citrix Lifecycle Management 13

Ultimate Guide to Citrix Lifecycle Management 14

Or you can deploy them as part of your custom blueprint.

Ultimate Guide to Citrix Lifecycle Management 06

Troubleshooting could be hard, but luckily my code has extensive logging.

Ultimate Guide to Citrix Lifecycle Management 15

Citrix Lifecycle Manangement is extremly powerful and fleixble. During this weekend I worked a couple of hours on my laptop with a 3G connection, deploying to blueprints to both public and private clouds.

CLM won’t replace your OSD solution anytime soon, atleast not in a hybrid public/private cloud combo. So you’ll still need a Autmation Framework. For only $97 you’ll get instant access and lifetime updates. Watch out for custom Blueprints and Scripts powered by

Automation Framework 03



Using NetScaler Gateway for Content Switching Policies with Legacy Citrix Clients

Starting with NetScaler 10.5 Build 51.1017.e+, you can now can create and bind Content Switching Policies directly to NetScaler Gateway VServers. Connections destined for the Gateway are terminated and processed as normal, but before any actions are invoked on the session, the policy engine checks to see if any Content Switching policies are bound which may apply. If the conditions defined in the policy are satisfied, connections are sent to the target Load Balancing VServers defined in the applicable Content Switching Policy action.

Although this particular enhancement was developed for ShareFile and XenMobile clients, another primary use case is to identify down-level Citrix clients such as PNAgent or embedded custom clients found in Thin Clients. The enhancement allows you to simplify your deployment design for these clients by leveraging the same DNS namespace, IP, and SSL Certificate already in place for modern Receiver and Browser clients. This was previously not possible as the down-level client authentication methods are incompatible with those required by the NetScaler Gateway VPN VServer. These connections normally have to terminate at the Web Interface services site, or legacy services URL on StoreFront. Combining this new feature with the Web Interface on NetScaler allows you to further consolidate infrastructure and provide an elegant solution that accommodates both legacy and current Citrix clients for hybrid deployments or migration strategies.

Legacy Citrix clients such as PNAgent were never enhanced to be able to authenticate to NetScaler Gateway. This meant that any deployment that had requirements for remote or secured connections from these clients involved provisioning a separate DNS entry point, IP address, and SSL certificate, not to mention additional NAT rules, firewall policies, and the associated end user support along with it. In some cases, more unsavory methods such as disabling authentication all together on the NetScaler Gateway were used to work around the deficiency. With this method, you don’t have to make these comprises anymore.






  • NetScaler Build 51.1017.e+ or 11.x
  • Existing or Configured VPN VServer
  • Web Interface or StoreFront Legacy Services
  • Existing Content Switching Target LB VServer for Web Interface, StoreFront, or Web Interface on NetScaler
  • Legacy Client Identifier – i.e. User-Agent
  • Web Interface on NetScaler installed


Web Interface on NetScaler

Prior to configuring a Web Interface on NetScaler Services Site, you need to create an LB VServer target for use in your Content Switching configuration. As the Web Interface on NetScaler wizard does not permit you to create LB VServers of this type, this step must be done manually.

add service svc_wionns_xa65lab_http_80 HTTP 8080 -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED -usip YES -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
add lb vserver lb_wionns_xa65lab_http_80 HTTP 0 -persistenceType NONE -cltTimeout 180
bind lb vserver lb_wionns_xa65lab_http_80 svc_wionns_xa65lab_http_80

VPN Vserver and Content Switching Policies

add policy patset Legacy_Citrix_Client_UA
bind policy patset Legacy_Citrix_Client_UA PNAMAIN.EXE -index 2
add lb vserver lb_wionns_xa65lab_http_80 HTTP 0 -persistenceType NONE -cltTimeout 180
add service svc_wionns_xa65lab_http_80 HTTP 8080 -gslb NONE -maxClient 0 -maxReq 0 –cip DISABLED -usip YES -useproxyport YES -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
bind lb vserver lb_wionns_xa65lab_http_80 svc_wionns_xa65lab_http_80
add cs policy pol_pnagent_ng -rule "HTTP.REQ.HEADER(\"User-
Agent\").SET_TEXT_MODE(IGNORECASE).CONTAINS_ANY(\"Legacy_Citrix_Client_UA\")" -action act_pnagent_ng
add cs action act_pnagent_ng -targetLBVserver lb_wionns_xa65lab_http_80
bind vpn vserver csv-test-ng -policy pol_pnagent_ng -priority 10

Web Interface on NetScaler Services Site

Read More


Global Server Load Balancing: Part 1

In this two-part blog post, I will talk about the Global Server Load Balancing (GSLB) feature provided by the NetScaler.

In Part 1, let’s examine DNS name resolution process, as GSLB is DNS based load balancing. In Part 2, we will take a look at implementation details on the NetScaler.

Name Resolution Process

Recursive DNS Query

Let’s assume that a MAC is connected to a network and subsequently obtains an IP address and DNS server information via DHCP, as shown below.

Open up Chrome and browse to ‘’.

The browser firstly looks up its built-in DNS cache, looking for an existing entry for hostname ‘’.

Chrome’s built-in DNS cache can be viewed by entering ‘chrome://net-internals/#dns’ at the address bar.

If an existing entry exists and is not expired.

DNS ends. Whatever happened afterwards, is DNS irrelevant.

For demonstration purposes, assuming that an entry for ‘’ didn’t exist in cache.

Chrome’s built-in DNS client (a separate DNS client to the one built into the OS), shown below, enabled by default, makes a recursive DNS query to the Upstream DNS server, resolving ‘

The following trace captures that DNS traffic.

The first packet sourced from (Mac) and destined to (Upstream DNS), is a recursive query, asking for associating IP for Address (A) Record ‘’.

The second packet in the reverse direction, is a DNS response, containing associating IP addresses.

For a recursive query, the DNS server MUST either return the associating IP(s) for the A Record, or informing that the A Record does not exist.

There MUST NOT be any other forms of responses. E.g. I don’t know, ask someone else.

The above response is a valid DNS response, however, not valid in the context of answering a recursive DNS query.

The above concludes DNS resolution process between the Mac and its Upstream DNS server.

Iterative DNS Query

What happens at the Upstream DNS server upon receiving a recursive query from the Mac?

Read More


Citrix Customization Cookbook

This blog is a ‘cookbook’ of customization queries and requests that I’ve had since the release of StoreFront 3.0, together with some worked examples. Hope it is useful!

For each question, I’ve provided some explaination together with some javascript and/or css examples. The javascript should always be added to the custom\script.js file – for example C:\inetpub\wwwroot\Citrix\PurpleWeb\custom; and the css should always be added to the style.css file in the same directory.

How do I add a static header to the login page in Receiver for Web?

Static text here means something like a welcome message, or a company name. For something that changes, such as a news message or server status, use the dynamic example below.

For simple text try the following javascript: This sets 4 lines of text, delete the lines you don’t want

$('.customAuthHeader').html("Example one - top of login screen");

$('.customAuthTop').html("Example two - above login box");

$('.customAuthBottom').html("Example three - below login box");

$('.customAuthFooter').html("Example four - bottom of login screen");


To make them more obvious, add the following styling to custom.css

 text-align: center;

Here is the rather striking result:

If you want to use html, rather than plain text that is just fine too. For example replace the four lines in script.js with theses:

$(‘.customAuthHeader’).html(“<b>Example one</b> – top of login screen”);

$(‘.customAuthTop’).html(“<div style=’background:black’>Example two – above login box</div>”);

$(‘.customAuthBottom’).html(“<i>Example three – below login box</i>”);

$(‘.customAuthFooter’).html(“<img src=’logo.png’>Example four – bottom of login screen”);

(The fourth example needs an image called logo.png in the custom directory).

How do I add a dynamic header to the login page in Receiver for Web?

By dynamic, we mean some content that is loaded and displayed every time, rather than being cached. Web browsers like to cache things when they can, but native receivers always cache the UI, and always load the previously cached UI. That means if you use the above example for something like service status you will not get what you intended.

Instead we need to do an ajax call to dynamically load the content and insert it into the page. This is easier than it sounds.

Read More


Point, Click, Deploy: Set Up a Citrix XenDesktop Proof of Concept in a Snap

You can create a Citrix XenDesktop proof of concept deployment with just a few clicks. Don’t believe it? What if we could show you how in just four straightforward steps?

You can. Welcome to Citrix Lifecycle Management.

What is Citrix Lifecycle Management?

Citrix Lifecycle Management is a comprehensive cloud-based lifecycle management solution to accelerate and simplify the design, deployment and ongoing management of Citrix workloads and enterprise applications.

Supporting many types of IT workloads across virtual and private or public cloud environments, this solution enables IT organizations to become faster, more cost-effective and more agile, and it helps maintain service quality and high availability with redundancy, automatic scaling and disaster recovery of applications. Built on blueprints incorporating validated reference architectures, configurations and best practices, Citrix Lifecycle Management provides a unified and standardized set of management tools for rapid and best practice-driven design, deployment and management of Citrix workloads and enterprise applications.

See this blog for a further explanation of Citrix Lifecycle Management.

Citrix Lifecycle Management is delivered as a cloud-based service through the newly launched Citrix Workspace Cloud.

Deploy XenDesktop in minutes? Citrix Lifecycle Management makes it possible.

Citrix Lifecycle Management uses flexible, customizable pre-defined sets of automation scripts, assembled as blueprints. It comes preconfigured with blueprints for deploying Citrix services including XenDesktop, XenMobile and NetScaler for deployment onto widely installed hypervisor platforms or popular private/public clouds.

A blueprint contains information about how to deploy and manage an application or service. Blueprints define an application deployment setup, operations, and the conditions for monitoring, scaling, failover, failback, and teardown. With them you can deploy quickly, then monitor and maintain your deployment from set up to tear down, all through a clean and powerful blueprint-designer user interface (UI).

Citrix Lifecycle Management is comprised of a core platform with a workflow automation engine, monitoring service, and multi-cloud broker capabilities, as well as a blueprint designer for creating or modifying existing blueprints.

Take Citrix Lifecycle Management Out For a Spin

The best way to learn about Citrix Lifecycle Management is to give it a try. Here’s all it takes to deploy XenDesktop quickly:

  1. Connect your virtualization or cloud environment to Lifecycle Management.
  2. Select XenDesktop Proof of Concept blueprint from Catalog and add to your library.
  3. Fill out the details in the setup wizard for each server tier.
  4. Deploy the XenDesktop blueprint to your virtualization or cloud environment.

Citrix Lifecycle Management Under the Covers

Let’s take a look at these steps in more detail.

Step 1. Connect virtualization or cloud environment to Citrix Lifecycle Management

In order to automate the deployment of an enterprise application into a virtualization or cloud environment, you first need to establish a connection to Citrix Lifecycle Management.

  • Under Resources & Settings, select “Add Resource Location.”
  • For public cloud like AWS, enter your API key and secret key within Lifecycle Management.

For private cloud or a virtualization environment behind your corporate firewall, you need to install the Lifecycle Management agent on a machine that can act as a connector between Lifecycle Management and your private environment, as well as provide the API access point and credentials with Lifecycle Management.

Read More