Welcome to Kraft Kennedy

Kraft & Kennedy, Inc. provides technology and strategic consulting services to law firms, corporate legal departments and financial services firms. We can help you analyze, plan, implement and manage business and technology solutions to optimize your organization's functionality and processes.

Kraft Kennedy | Technology Blog

Archive for July, 2009

One of the challenges in maintaining and managing a large scale XenApp farm is automating application publishing. Servers may have dozens of applications published to them and manually managing these applications is time consuming and impractical. 

At the moment, organizations have the option of using Citrix’s Installation Manager or third party solutions such as Enteo’s Citrix Management Suite to assist in automating these tasks.  Both can introduce management overhead and can be tedious to maintain especially if the organization is invested in another software distribution platform. Management through scripting is currently possible leveraging MFCOM, but these scripts are cumbersome and not intuitive. Introduce, “XenApp Commands” (currently in Technology Preview).  XenApp Commands will give administrators the ability to manage a XenApp farm using PowerShell.

PowerShell scripting for XenApp introduces a potent method of managing and maintaining a XenApp environment.  Functions such as application publishing, policy maintenance, and load evaluator application can all be accomplished through PowerShell cmdlets.  Full list of cmdlets are available here, and a cursory look shows a fairly exhaustive list.  XenApp Commands will make automating tasks and functions significantly easier then in days past. More importantly, XenApp Commands will give organizations more flexibility in how they deploy and manage applications to their XenApp farm.

Obviously, maximizing the use of “XenApp Commands” will take working knowledge of PowerShell, but with Microsoft incorporating PowerShell in Windows Server, Exchange, SQL, and the System Center suite of products, administrators should already be exposed to this technology (or should already be familiar with this technology.).  XenApp Commands is still in “Technology Preview”, but looks to be released for XenApp 4.5 and 5.0.  Download it here (login required).

Microsoft has made a very interesting virtualization play this week by submitting source code for the Linux kernel. This will allow Linux guests to run on the maturing Windows 2008 hypervisor, Microsoft Hyper-V. This is an unexpected move from Microsoft to publicly release source code and an indicator of their appetite to compete with VMware’s dominate market share.

Microsoft stuns Linux world, submits source code for kernel

In an historic move, Microsoft Monday submitted driver source code for inclusion in the Linux kernel under a GPLv2 license. The code consists of four drivers that are part of a technology called Linux Device Driver for Virtualization.

Microsoft Linux Move Puts Pressure on VMware

Microsoft’s historic embrace of Linux technology could have wide-reaching impacts on the virtualization market and Microsoft’s rival VMware.

By allowing greater ability to run Linux on the Hyper-V virtualization platform, Microsoft is making a compelling case that it could be the virtualization vendor of choice for consolidation of Windows and Linux applications, says Gartner analyst George Weiss.

So you’ve decided to implement Matter Centricity at your firm.  Whether you are using Autonomy iManage (formerly Interwoven), Open Text eDOCS (formerly Hummingbird), or another Document Management System (DMS), the basic idea behind Matter Centricity is the same — to present virtual Redwelds for each matter, with folders to categorize and classify documents within.  Couldn’t be simplier!

But in order to design these virtual Redweld structures (iManage calls these “WorkSpaces”), input is needed from each Practice Area or department of the firm.  Since many of the users have no idea what Matter Centricity is, and some may not have any idea what a DMS is to begin with, it can be difficult to obtain the information needed to design a structure.

Here are a few tips to get the message across:

  • Give a high-level 20-minute presentation prior to your WorkSpace design discussions with a user group.  Provide some screen captures to display a sample structure.  Briefly discuss how they would interact with the structure on their desktop environment. Even with this presentation, it is hard for some people to grasp the concepts and visualize the structure
  • Take notes during the presentation and the following design discussion.  Try to identify those users who are having a more difficult time.  Notes are also very helpful when following up with certain attorneys or administrative assistants.  The user will appreciate that you remembered their comment from the discussion.
  • Create some sample structures in a lab environment, based on the initial input of the user groups.  Invite some of the people who had a hard time understanding the concept and demonstrate how to save and access documents from the structure.  Hopefully this will help them along and their ideas can be included as well.

Using these tips, the hope is not only that the users better understand the concept in general, but also have a better idea of how their input for the design will be translated into technology and their daily work process.

In future posts, I’ll discuss how to interpret all this input and combine it with iManage and Kraft Kennedy’s best practices.

WSS does not have a user profile service and does not allow any kind of native targeting of content to users in different groups. This is one of the more serious limitations of WSS, especially for corporate intranets, where pages might need to be customized for users in different offices. MOSS, on the other hand, allows for the creation of audiences and easy targeting of content. As is typically the case with WSS, it is possible to achieve this functionality by writing code.

One way to do this is by adding a reference in your code to “System.DirectoryServices,” which allows you to query Active Directory. With that class, you can compare the current user to an Active Directory group’s membership collection, and add logic based on whether or not the user is in the group. If you plan to edit an aspx page directly, you will also have to add a page parser path in web.config, so that the code in the page will run. Rather than editing the page directly, it is often preferable to create a control or web part for security and manageability reasons.

If editing an aspg page directly in SharePoint Designer, just add the following line to the top of the page, so that the correct assembly is referenced.

<%@ Assembly Name="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %>

Then add a code block into the page that gets the current user and compares it to the group membership. The following example uses VB.Net and sees if the current user is in the “NY Staff” group. If so, then the script redirects to the page “NY.aspx.” Rather than redirecting, you could also add code to write out customized content based on the membership information.

               <%

    Try
   'Get group membership for current user
        Dim DomainUser As String = Replace(User.Identity.Name, "\", "/")
        Dim ADEntry As New System.DirectoryServices.DirectoryEntry("WinNT://" & DomainUser)
        Dim MembersCollection As Object 'Underlaying is a IADsMembers interface
        MembersCollection = ADEntry.Invoke("Groups")
        Dim group As Object 'IADsGroup interface
        Dim vFound As Boolean = False
        For Each group In MembersCollection
            If LCase(group.Name) = "ny staff" Then
                vFound = True
                Exit For
            End If
        Next
        'Do something if group is found
        If vFound Then
            Response.redirect("NY.aspx")
        End If
      Catch ex As Exception
        'response.write(ex.message)
      End Try
%>

Among the benefits of a server based computing (SBC) environment, are the potential savings that exist when purchasing cheaper desktops or terminals on the client side. The logic being that because applications are being run on a server, the client just needs enough horsepower to present the server based applications to the user. Of course this might not be a driving factor of deciding to go to a SBC environment but it could result in some cost savings over a traditional desktop environment.

Organizations that start to design a SBC environment will most likely entertain Wyse terminals or other equivalent terminals that can run the ICA or RDP protocol to present a XenApp/VDI environment. These terminals have a small profile, are low power and reduce management overhead over traditional desktops. The obvious drawbacks are the lack of flexibility these terminals provide because they don’t run Microsoft Windows. In the scenario a Windows application does not run/will not run in the Terminal Server or VDI environment, there is no option to run it locally on a terminal. This variable is large enough for organizations to opt for traditional Windows desktops to serve as “thin clients” resulting in minimal or no cost savings on the client side (from a power and hardware perspective).

Recently, Dell released the Optiplex 160 series line of desktops. They are classified as “Tiny Desktops” because of their ultra small form factor. About the size and weight of a textbook, they can be configured with Windows (XP or Vista) and leverage the low power Intel Atom processor found in most netbooks. (Dell claims 87% power efficiency over traditional PCs.)

The 160 series bridges the gap between Wyse terminals and traditional Windows PCs with its low power draw and tiny form factor. However, it has a seemingly inflated price, which starts at $567. For some reason, Dell has priced it only a couple of hundred bucks less than a modestly configured traditional desktop. Price seems to be a limiting factor right now but does open up another option on the client side for an organization moving to a SBC environment.

Microsoft has done a nice job of late regarding supporting their operating systems and applications when they are run in a virtual machine. First they created the Server Virtualization Validation Program to validate their software running on hypervisors from various vendors, including their own Hyper-V.  They’ve taken the SVVP one step further by adding a new tool called the Support Policy Wizard that makes it fast and simple to verify Microsoft support.  It can be found at the following link:

http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpwizard.htm

This tool makes it easy to select a specific configuration, including operating system, hypervisor, and Microsoft application, and then verify it against the SVVP to ensure Microsoft supportability.  It also lists any specific application features that are or are not supported.  Validating your configuration against Microsoft’s Support Policy Wizard is an important step, especially when virtualizing mission critical applications like Exchange or SQL.

Try the wizard and see the results for yourself.  I tried it myself and the results are below.  I selected Exchange Server 2007 SP1 running on vSphere 4 with Windows Server 2008 x64 and received the following supportability statement back:

Summary Support Statement*
This configuration is Supported.

* Customers with Premier-level support agreements should contact their account manager for more information
* Additional information is available in the “Support policy for Microsoft software running in non-Microsoft hardware virtualization software” which can be viewed
here

Support Statement Details
Product: Exchange Server 2007 Service Pack 1 on VMware vSphere with Windows Server 2008 (x64) Guest OS

Search the Knowledge Base for information related to this configuration

For Exchange Service 2007 Pack 1 and later, see here for specific configuration information. Note: The Exchange Server guest virtual machine must be deployed on the Windows Server 2008 operating system.

Specific third-party virtualization information is available at here

To get support on the virtualization solution, the customer also needs to have a support agreement with the third party vendor.

Supported features: Anti-Virus, Back-up Software, Virtual Machine Management Software, Cluster Continuous Replication (CCR), Virtual Processors

Unsupported features: Unified Messaging, Dynamically Expanding Virtual Disks, Virtual disks that use differencing or delta mechanisms, Hyper-V Quick Migration combined with Exchange Clustering, Virtual Machine Snap Shots

Media playback within a XenApp or XenDesktop session has always been a challenge when designing a server based computing solution. The user’s experience is degraded through choppy playback and the host server is taxed processing the audio and video playback. Administrators have typically addressed this challenge by educating users to leverage their local client browser and media player whenever media functions were required. Not only does this introduce obvious training challenges in educating users, the experience is less than ideal having users switch between the “server” and “client” environments. Not to mention any new application integration issues that this generates.

Over the last few years Citrix has made incremental improvements to its HDX (formerly called SpeedScreen) technology to improve Flash and general media to solve this challenge. The improvements are significant over RDP, but playback overall is still not even close to “local” speed. Along with traditional improvements to HDX, Citrix has quietly included media redirection in XenApp and XenDesktop for certain media types. This is the mechanism in which media playback is offloaded to the client workstation for a more seamless experience. The server passes instructions to play the media to the client and the local audio and video codec is used for the actual playback. Media plays back seamless and the server processor is not taxed in the process. At the moment, XenApp and XenDesktop support DivX, XVid, MP3, among other media types. Check out this Citrix technote on all of currently supported media. From an administrator’s perspective, the requirements to enable this functionality are very straight forward. Enable SpeedScreen and ensure the client and server have codec installed and it will just work (given that the media type is supported).

As of last month, Citrix released a trial to enable Flash redirection (currently not officially supported). Flash has become the de facto standard for streaming video and multimedia on the internet, so the full release will be highly anticipated (tentative for Q3). Not that most users are doing this, but to test the technology, I was able to play back a 720p video through a XenApp server without any skipping or lag. Impressive stuff.