Open in new window

Social Icons

Monday, October 1, 2012

Windows Home Server 2011 Review and Tips

About this article
This article is an overview and some tips on WHS 2011 based on my own personal experience using WHS 2011 as a File/Media Server with some third party software and the way I chose to configure and use WHS 2011.
I am using WHS 2011 as a file server to store documents, data, photographic images, program files, music & video media, etc. used throughout my home network as well as using the WHS 2011 box as a sometime work station. I know most user forums tell you to only use WHS 2011 as a server and not a work station but I think “so what”, the box is running 24/7 and if I need to download a large bit torrent file(s) or encode a video file and don’t want to tie up a dedicated computer and the WHS 2011 box is fast enough to handle the job then why not.
This article is divided into the following subjects:
· WHS 2011 – My Network Hardware
· WHS 2011 – Drive Extenders/Drive Pools
· WHS 2011 – Using an SSD as a System Drive
· WHS 2011 – Cloning the System Drive
· WHS 2011 – Remote Web Access
· WHS 2011 – ROKU 2 XD Streaming Media Box (wireless LAN)
· WHS 2011 – PLEX Media Server
· WHS 2011 – Anti-Virus/Firewall Software
· WHS 2011 – Backup
· WHS 2011 – Z77 Motherboard Chipsets and Intel USB 3.0 Controllers
 
WHS 2011 – My Network Hardware
Here is how my basic home network is set up:
Cable Internet: 30 Mbps download speed, 9 Mbps upload speed
Main Router – Netgear WNR3500L, Gigabit (wired LAN), 144Mbps (wireless LAN)
  • Setup as the DHCP Server
  • Serves:   a. Second Router
       b. Office desktop computer (wired LAN)
       c. Office printer (wired LAN)
       d. ROKU 2 XD Streaming media box (wireless LAN)
       e. Kindle reader (wireless LAN)
       f. Guest access (wireless LAN)
Second Router - Linksys E4200
  • Gigabit (wired LAN), wireless Dual-Band 2.4ghz @ 144Mbps & 5ghz @ 450Mbps, although I don’t have any wireless adapters with a 3x3 antenna so my N-band max connect speed is limited to 300 Mbps which yields 90-130Mbps or 9-13 MB’s per second actual throughput. (Note: any wireless media streaming box, TV or DVD is most likely only going to have 1 receiving antenna built in or 144 Mbps max capability with wireless N since from the manufactures point of view anything else is wasted capability for streaming HD.)
  • DHCP Server turned off (let the main router be the DHCP)
  • Serves:
    a. Main computer – (wired LAN), I7-3770, 120GB SSD
    b. WHS 2011 Server – (wired LAN), I3-2120, 60GB SSD system drive, 2-1TB 7200 SATA II’s (drive pool #1), 2-2TB 7200 SATA III’s (drive pool #2).
    c. Workstation – (wired LAN), Q6600 Core2 Quad, 120GB SSD
    d. Laptop – (wireless LAN), Core2 Duo, 256GB SSD
    e. ROKU Streaming Media Box - (wireless LAN)
    f. DVD (wired LAN)
 
WHS 2011 – Drive Extenders/Drive Pools
You can use Disk Management to create spanned dynamic disks, which is simply using multiple hard drives as if it were one big drive. A better way to do this is with Drive Extender/Drive Pool software. While WHS v1 had Drive Extender built in, Microsoft did not include it with WHS 2011 however there are some drive pool software products available for around $20.
Stablebit DrivePool
This add-in will let you add multiple hard drives into one combined storage pool on the Windows Home Server. You can create folder shares on this storage pool, and each folder on the pool can either be duplicated or not duplicated. Files placed in duplicated folders will be protected against single drive failure by being placed onto two separate hard drives.
Features:
  • Combine all your hard drives into one big storage pool (except the system drive with the OS).
  • Add and remove drives from the pool at any time without re-partitioning or manually moving folders.
  • Create duplicated folders on the storage drive pool that are protected against single drive failure. If a drive fails on which a duplicated file was stored, the contents of that file will remain readable even without the drive.

This is a good drive extender program, stable and easy to set up and use. DrivePool is limited to only one drive pool though. I used it for several months before all of a sudden Acronis Backup 2012 began having server logon issues. Don’t know why, Windows update I think changed something. Usually costs around $20.
Drive Bender
$20-$25 – I went to this when I began having problems with DrivePool and Acronis Backup. It’s just a little bit harder to setup but works very well and is stable. Glad I switched. Has all the features of DrivePool above as well as being able to setup multiple drive pools. I have one pool for my data and one pool for my backups.
With both Drive Bender or DrivePool if you have a drive letter assigned to a physical drive in a drive pool you can access & use the drive as a regular drive simultaneously with the drive pool since they are both based on the NTFS file system.
 
WHS 2011 – Using an SSD as a System Drive
Some people say using an SSD as a server system drive is overkill and unnecessary and it might have been before the drive prices started coming down.
A fresh install of WHS 2011 will boot up in a little over a minute but after configuring shares, drive pool software, loading network shares, media server software, etc. you’re looking at over 5 minute boot times. Media server software like Plex Media Server is very disk access intensive.
Granted WHS is extremely stable and mine never needs rebooted bar the occasional software update or me messing with the system, you can greatly speed up response times and reduce the boot up time from 5 minutes to 60 seconds by installing a 60GB SSD as the system drive.
60GB should be plenty big enough.
clip_image001
I got mine free as a promotion. OCZ Agility 3 AGT3-25SAT3-60G 2.5" 60GB SATA III, you should pick up something like this with 500 MBs read/write for $50-60.
clip_image002
While SSD’s don’t need to be defragged I use Diskeeper to reduce read/writes to the drive as well as to help with TRIM.
 
WHS 2011 – Cloning the System Drive
WHS uses Unique DiskID numbers found in the partition table of each disk to help identify them. The WHS Storage Manager stores these DiskIDs and other important information about its disks, folders and volumes in the windows registry.
When using disk imaging software to migrate an operating system from one disk to another disk, these DiskID numbers are typically not cloned during the disk imaging operation. When the destination disk is of a different size (typically larger) the volume geometry and as a result the volume identifier will also change.
A newly imaged WHS system disk with mismatched DiskID number, volume geometry and/or volume identifiers will still boot normally but the server will not be able perform its functions. The WHS console will exhibit a number of Critical Health Warnings the most easily identifiable of which is the "Backup Service is not Running" warning.
For WHS to function properly, the DiskIDs, volume geometry and volume identifiers saved in the registry must match that of the newly imaged system disk. These instructions show how to obtain and clone the DiskID when performing an imaging operation as well as update the windows registry with the system disk's description, new volume geometry and volume identifiers.  
The text above as well as the complete instructions can be found here: How to successfully clone and upgrade a WHS system drive.
This process is pretty easy to do, basically you just:
1. Use Diskpart to get your existing system drive uniqueid
2. Use a cloning program like the free download Macrium Reflect to clone the system drive to the new SSD
3. Make sure the SSD system partition is marked active
4. Use Diskpart to set the uniqueid on the SSD to the old system drives uniquid
5. If the SSD doesn’t boot you may need to boot from a Windows disk (WHS, Win 7, whatever) or USB with the Win disk on it and let it repair your boot files.
 
WHS 2011 – Remote Web Access
There are many web articles to show you how to setup your WHS 2011 Server to allow web access. Just Google “whs remote access” and pick one but here are a few tips:
  • Windows Home Server cannot auto configure your router if you have more than one router in your system, you will need to setup your router that is running DHCP manually.
  • I created a user account to log in remotely that only has read access to my network shares that I want to be able to access remotely and created a share with read/write access to allow me to upload a file to the server.
 
WHS 2011 – ROKU Streaming Media Box
I am using two ROKU 2 XD Streaming Media Box’s to wirelessly stream media to two HDTV’S.
This is a fantastic product; small, easy to setup and use. No PC is needed to access free or paid internet media services like Netflix, Hulu, HBO, Crackle, Pandora, Cnet, etc. and/or stream media to the ROKU with media server software such as the free Plex Media Server.
I don’t have any problem with the I3 on the Server pushing two 720p simultaneous media streams (AVI, MP4, MKV) to two HD TV’s with no lags or pauses (even while encoding srt subtitles, MP4 media with no subtitles use even less CPU resources). This is with each ROKU box connected to separate wireless routers although I have used two ROKU’s connected to the same router before.
I was surprised to find when I was testing and building the server that the I3-2120 CPU (hyper-threading) was faster than my Q6600 Quad (no hyper-threading).
As an example, using Handbrake to encode a 720p video with a high profile setting on the I3-2120 yields 54fps vs. 38fps for the Q6600. The I7-3770 stock encodes 720p around 112fps. My laptop Core2 Duo encodes the same movie around 10fps.
 
WHS 2011 – PLEX Media Server
I use the free open source PLEX Media Server for Windows software to manage and stream my video media.
This is a great program, easy to setup and use. The only thing I can really fault this software on is the Plex Media Manager is browser based and can be slow to use if your video library is large and managing your video metadata can be little limited however I’ve written and released the free to download and use Plex Editor for Windows (donations accepted) software that addresses these issues.
Note: Plex will not run as a system service naturally so you have to have a user profile logged on permanently to run the software.
 
WHS 2011 – Anti-Virus/Firewall Software
  • If you’re not going to use your WHS 2011 Server as a workstation accessing the internet you don’t need an antivirus program running on the server, your client computers antivirus should scan any file you access.
  • If you’re going to access the internet with your server your antivirus choices are slim. Since WHS 2011 runs on the Windows 2008 architecture most antivirus programs are going to look at WHS 2011 as a business platform and refuse to install. I know for a fact that personal editions of Norton, AVG, Microsoft Security Essentials, Avast and Avira will not install on WHS 2011.
  • I thought I had found a cheap solution with Vipre Antivirus, it installs and works BUT I use Norton on all my clients and while accessing any Microsoft Office document, Norton on the client and Vipre on the server would clash resulting in 60 second waits or longer before being able to open a file.
  • AVG Internet Security 2013 Business Edition works well as long as you turn off the AVG Firewall. Doesn’t matter how you configure the AVG Firewall, something will be screwed up. Should have a firewall on your router anyway.
 
WHS 2011 – Backup
WHS 2011 Backup works well. I use several backup solutions, programs.
  • I use WHS 2011 Backup to back up my server system drive as well as an Acronis disk image backup.
  • I have certain folders in my Drive Bender drive pool duplicated by Drive Bender in real time.
  • I use Acronis to backup certain network shares like my data & document shares.
  • I use Task Scheduler to batch robocopy binary network shares like videos, mp3’s and images. My robocopy scripts copy to backup any changed and new files leaving deleted files on the backup until I manually run a robocopy batch command to purge the deleted files from the backup. TIP – When you delete a file from a WHS 2011 network share it is GONE, don’t bother looking in the trash, it is GONE.
Sample robocopy batch file:
@echo off

START /B /WAIT ROBOCOPY "L:\Serverfolders\Pictures" "X:\Server_Backups\Pictures" /E /DCOPY:T /R:0 /W:0 /NDL /LOG:"C:\RoboCopy Scripts\PicturesBackup.log" 

START /B /WAIT ROBOCOPY "L:\Serverfolders\Music" "X:\Server_Backups\Music" /E /DCOPY:T /R:0 /W:0 /NDL /LOG:"C:\RoboCopy Scripts\MusicBackup.log" 

START /B /WAIT ROBOCOPY "L:\Serverfolders\Videos" "X:\Server_Backups\Videos" /E /DCOPY:T /R:0 /W:0 /NDL /LOG:"C:\RoboCopy Scripts\VideosBackup.log" 



Sample robocopy purge deleted batch file:



 

@echo off

START /B /WAIT ROBOCOPY "L:\Serverfolders\Pictures" "X:\Server_Backups\Pictures" /E /DCOPY:T /R:0 /W:0 /PURGE /NDL /LOG:"C:\RoboCopy Scripts\PicturesBackup.log" 

START /B /WAIT ROBOCOPY "L:\Serverfolders\Music" "X:\Server_Backups\Music" /E /DCOPY:T /R:0 /W:0 /PURGE /NDL /LOG:"C:\RoboCopy Scripts\MusicBackup.log" 

START /B /WAIT ROBOCOPY "L:\Serverfolders\Videos" "X:\Server_Backups\Videos" /E /DCOPY:T /R:0 /W:0 /PURGE /NDL /LOG:"C:\RoboCopy Scripts\VideosBackup.log" 


Timeline Backups (Backup & automatic versioning of docs, images and other files, allows you to preview & restore versions of your files from different points in time.)




  • Acronis Nonstop Backup – Doesn’t work with network shares – don’t waste your time. The best I could do was make it look like it was working but you could never access the backup
  • Oops!Backup Home PC version works well on WHS 2011. I use it to keep real time version backups of my documents a programming code files. You select which files/directories to backup as well as the time interval for backups. You can exclude certain file types. With the Home PC version you do have to login to the server to retrieve a file version backup. No big deal for a home user. I use this progra
  • Genie Timeline Server 2012 – Home & Business versions will not run on the server, the server version costs $250 – too damn much. Too bad since this program works as well as Oops!Backup with a smoother interface and explorer integration.

 
WHS 2011 – Z77 Motherboard Chipsets and Intel USB 3.0 Controllers
I am using an ASRock Z77 Pro4 motherboard in my WHS 2011 Server. This board is a great inexpensive board with plenty of features including 4 SATA III & 4 SATA II ports. When using an Intel CPU with integrated graphics there is no need for a video card should you want monitor output.
This motherboard is not supported for WHS 2011 use but all of the included drivers install on WHS 2011 with no problem with the exception of the Intel Z77 USB 3.0 drivers.
The ASRock Z77 Pro4 motherboard comes with:
· 6 rear panel USB 2.0 ports
· 2 rear panel USB 3.0 ports
· 4 internal USB 2.0 ports
· 2 internal USB 3.0 ports.
Intel in their infinite wisdom has chosen to limit the Intel Z77 USB 3.0 driver to home user/workstation operating systems only. The Intel Z77 USB 3.0 drivers will not install in WHS 2011. There is a hack on the web where you can modify the install files and manually install the Intel USB 3.0 drivers so that you don’t have error icons in your device manager but my WD Essential USB 3.0 drive will only connect at USB 2.0 speeds (30-34Mbps read/write). I have the Micro ATX version of this motherboard (ASRock Z77 Pro4-M) running Windows 7 and the same WD Essential USB 3.0 drive gets 100Mbps read/write speeds.
Looks like if you want or have to use a Z77 chipset board that only has the Intel USB 3.0 controller and you want or need USB 3.0 speeds you’ll have to install an add on USB board that works with WHS 2011 (Thanks a lot Intel).
read more

Friday, August 31, 2012

Visual Studio ASP.NET Network Share Security Exception Error

If you have your net code on a network share you probably will receive a security exception error when debugging it on your local development server.

 

When you use a virtual directory that points to a remote share to host a Microsoft ASP.NET-based application, you may receive an error message that is similar to:

Security Exception Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Security error.

http://support.microsoft.com/kb/320268

 

To resolve this you need to use the Windows caspol.exe command to assign FullTrust to the share.

 

Run the following commands from an elevated cmd prompt on any client computers you’re running Visual Studio on or just place the commands in a cmd or bat file and Run as Administrator (right-click). REPLACE “\\SERVER\Data\” with the network path to your .Net files.

 

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CasPol.exe -q -m -ag 1 -url "file:////\\SERVER\Data\*" FullTrust -exclusive on

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CasPol.exe -q -m -ag 1 -url "file:////\\SERVER\Data\*" FullTrust -exclusive on

C:\Windows\Microsoft.NET\Framework\v4.0.30319\CasPol.exe -q -m -ag 1 -url "file:////\\SERVER\Data\*" FullTrust -exclusive on

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CasPol.exe -q -m -ag 1 -url "file:////\\SERVER\Data\*" FullTrust -exclusive on

 

The first two commands set full trust for net 2.0, 3.0 & 3.5 for 32bit & 64bit machines.

The second two commands set full trust for net 4.0 4.5 for 32bit & 64bit machines.

 

If you want to reset the trust level to the defaults use the following commands:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CasPol -quiet -machine -reset

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CasPol -quiet -machine -reset

C:\Windows\Microsoft.NET\Framework\v4.0.30319\CasPol -quiet -machine -reset

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CasPol -quiet -machine –reset

 

VS Net FullTrust on a Network Share
read more

Sunday, November 13, 2011

Dynamically resize an iframe height according to its contents (same domain)

The following is from a demonstration page on my website www.eagleware.net that has several examples and code on how to dynamically resize an iframe.

 

There are many programming situations that require the use of iframes for one reason or another. Iframes require you to specify a fixed height or they default to a height of around 50px. If the content of a iframe is greater or lesser than the height you declare when calling the iframe your iframe depending on the parameters used when declaring it will either have a vertical scrollbar, truncated content or dead empty space.

 

For many programming situations this is not a problem and you can configure the iframe to display your content adequately, but when your iframe contains dynamic content that changes depending on user interaction or frequent code changes you might need a dynamically sized iframe that can automatically change it’s height as required.

 

This tutorial uses two javascript routines, BrowserDetect from http://www.quirksmode.org/js/detect.html and resizeIframe.js from many sources that I pieced together to create a simple way to resize an iframe automatically or as needed.

 

This javascript resizing routine works for me in html, aspx, aspx ajax and has been tested in IE 9, Firefox 5, Opera 11.5, Chrome 14 and Safari 5 and should work without modification although you can customize it to fit most any browser easily.

 

Additionally this routine will let you call nested dynamically resizable iframes; ie: parent-childiframe-childiframe or use it in other 3rd party controls like Devexpress’s ASPxGridview, ASPxPagecontrol (these pages), etc.

 

Note: This routine will not resize an iframe that has a PDF as a source file and also the iframe src MUST be on the same domain.

 

Dynamically resize an iframe height according to its contents (same domain)
read more

DevExpress ASPxPopupControl - Dynamically Resizing the ASPxPopupControl

I created a page on my website eagleware.net that contains examples on how to dynamically resize an ASPxPopupControl.

This samples area deals with the peculiarities of resizing the ASPxPopupControl; in particular:

  • The ASPxPopupControl Width & Height properties do not have any affect on HTML or CSS content placed within the ASPxPopupControl ContentCollection. The controls width & height properties do work when you use the ContentUrl property to load the ASPxPopupControl with content or use an Iframe in the ASPxPopupControl ContentCollection, both of which will allow you to resize the ASPxPopupControl and its content if the AllowResize="true" is specified.
  • If however you place content directly into the ASPxPopupControl you are not so lucky. In this situation the controls Width & Height are in effect ignored by the ASPxPopupControl and it uses whatever CSS formatting is specified for the content to determine the ASPxPopupControl's size. Two exceptions to this (that I know of) are: if your content is wrapped in a div element set with a style width: 100% then the ASPxPopupControl Width property will work allowing the popup to be resized horizontally but leaving white space at the bottom depending on content and size of the popup; if the ASPxPopupControl Height is set higher than your div's content then the ASPxPopupControl uses it's Height property resulting in dead space below your content.

The code to dynamically resize the ASPxPopupControl can be downloaded from my website and here is a short video briefly explaining how the code works:

 

Dynamically Resizing the ASPxPopupControl
read more

DevExpress ASPxPopupControl - Display ASPxPopupControl over a video object

I created a page on my website eagleware.net that contains a simple control you can view with various browsers and test an ASPxPopupControl over a video with various settings and with the video embedded into the page as an <iframe> or <object>..

A previous article DevExpress ASPxMenu - Display dropdown menus over a Video object has short video that relates to this topic and also uses the same web page control to demonstrate different settings of the ASPxPopupControl and their effect.

read more

DevExpress ASPxPopupControl - Display ASPxPopupControl over a PDF object

I created a page on my website eagleware.net that contains a simple control you can view with various browsers and test an ASPxPopupControl over a PDF with various settings and with the video embedded into the page as an <iframe>, <embed>, <object> or using Google Docs.

 

The following short video shows my page control on my website and how to use it. A previous article DevExpress ASPxMenu - Display dropdown menus over a PDF object uses the same code behind techniques and provides code for determining which way to load a dynamic PDF into a page based on the viewing browser.

 

 

ASPxPopupControl Display over a PDF File

Example 1 – DevExpress v11.1.7 ASPxPopupControl

Saturday, July 25, 2010 - It’s a recurring problem trying to display anything over an embedded PDF file. PDF’s by default are rendered on top of everything else on the screen and different browsers, operating systems, 3rd party programming controls, etc all interact differently with varying results in attempting to render a page element over a PDF.

 

Recently to this date, Adobe Acrobat and/or Firefox (v 3.6.6, 3.6.7, 3.6.8) have had updates that caused Firefox especially difficult problems in achieving the rendering of a page element over a PDF.

 

This Example shows how the ASPxPopupControl used 3 different ways displays over a PDF depending on which browser is viewing the page.

 

Wednesday, Oct 3, 2011 – Updated for current generation of browsers and DevExpress v11.1.7

Browser

PDF Inserted With

ASPxPopupControl

Display over PDF

Settings 1

ASPxPopupControl

Display over PDF Settings 2

ASPxPopupControl

Display over PDF

Settings 3

         

IE 8

I Frame

NO

YES

YES

Embed

NO

YES

YES

Object

NO

YES

YES

GoogleDocs

N/A

N/A

N/A

       

IE 9

I Frame

NO

YES

YES

Embed

NO

YES – NO if PDF has focus

YES – NO if PDF has focus

Object

NO

YES – NO if PDF has focus

YES – NO if PDF has focus

GoogleDocs

N/A

N/A

N/A

       

Chrome 5

I Frame

NO

NO

YES

Embed

NO

YES

YES

Object

NO

YES

YES

GoogleDocs

YES

YES

YES

       

Chrome

I Frame

YES

YES

YES

12.0, 14

Embed

YES

YES

YES

Object

YES

YES

YES

GoogleDocs

YES

YES

YES

 

Firefox 3.6.6

I Frame

NO

NO

YES

3.6.7, 3.6.8

Embed

NO

NO

YES

5, 7

Object

NO

NO

YES

GoogleDocs

YES

YES

YES

       

       

Opera 10.6

I Frame

NO

NO

NO

Embed

NO

NO

NO

Object

NO

NO

NO

GoogleDocs

YES

YES

YES

       

Opera 11.5

I Frame

YES

YES

YES

Embed

YES

YES

YES

Object

YES

YES

YES

GoogleDocs

YES

YES

YES

       

Safari 5

I Frame

NO

NO

NO

Embed

NO

NO

NO

Object

NO

NO

NO

GoogleDocs

YES

YES

YES

       

ASPxPopupControl Settings 1: Normal default settings.

ASPxPopupControl Settings 2: RenderIFrameForPopupElements="True"

ASPxPopupControl Settings 3: RenderIFrameForPopupElements="True", ShowHeader="False" & popup contents placed in asp Panel control.

 

PDF Insert Code:

  • Iframe: <iframe src="pdfFilename" width="100%" height="1210" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></iframe>
  • Embed: <embed src="pdfFilename" width="100%" height="1210" parem="name" value="opaque"></embed>
  • Object (w/menus): <object data="pdfFilename" type="application/pdf" width="100%" height="1210"></object>
  • Object (w/out menus): <object data="pdfFilename#toolbar=0&navpanes=0" type="application/pdf" width="100%" height="1210"></object>
  • GoogleDocs: <iframe id="if_google" runat="server" src= "http://docs.google.com/gview?url=pdfFilename&embedded=true" width="100%" height="1210" scrolling="no" marginheight="0" marginwidth="0" frameborder="0">

Note about using Google Docs to display your PDF: The PDF must reside on the web already. Code is erratic in IE causing script errors and timeouts. In the developer environment if the <iframe> src is set it will generate script errors if compiling with IE as your browser. Check on page load for browser type and set the <iframe> src if NOT “IE”. Using Google Docs to display PDF’s works in all other major browsers.

 

Looking at the chart you might think Google Docs is an easy way to go however it is not compatible with Internet Explorer with default settings. Since about 80% of your users are using IE and the fact that 95% of them will not know how to reset their IE browsers security settings to display a Google Document I don’t recommend it. Also a Google Docs PDF may be of a lower resolution and may not be acceptable to your requirements. I suggest checking for browser type on page load and displaying the PDF as an <iframe> for IE, Chrome & Opera (with ASPxPopupcontrol set to RenderIFrameForPopupElements="True") and using Google Docs for Safari and Firefox.

 

A previous article DevExpress ASPxMenu - Display dropdown menus over a PDF object uses the same code behind techniques and provides code for determining which way to load a dynamic PDF into a page based on the viewing browser.

read more

DevExpress ASPxMenu - Display dropdown menus over a Video object

I created a page on my website eagleware.net that contains a simple control you can view with various browsers and test an ASPxMenu's dropdown submenu over a video with various settings and with the video embedded into the page as an <iframe> or <object>.

The following short video shows my page control on my website and how to use it. The code for the page is downloadable from the web page.

 

read more