NOTE: This bug report is for Confluence Cloud. Using Confluence Server? See the corresponding bug report.

      When you try to edit a office document with Internet Explorer 11. You get an error:
      Firefox or Internet Explorer is required to use this feature.

        1. ie11.PNG
          ie11.PNG
          21 kB
        2. IE11_Issue.png
          IE11_Issue.png
          18 kB

            [CONFCLOUD-30739] IE11: Edit in Office does not work

            For V3 setting the page mode to IE8 enables the Edit in Office button. The page mode can be set in header.vm. A parm passed in the URL can be used to determine which mode to display the page in. This also fixes the RTE in IE11.

            Code to add to the top of /confluence/confluence/decorators/includes/header.vm

            #if ( $req.getHeader("User-Agent").matches('.*Trident.6.*')  )     ## If IE10 then set IE=8 mode - no other changes required
                  <meta http-equiv="X-UA-Compatible" content="IE=8" />
            #else                                                              ## If IE11
            
                  #if ( $req.getQueryString().matches(".*(?i)mode=IE8.*") )    ## If IE11 and override = RTE then set IE user agent to IE=8
                      <meta http-equiv="X-UA-Compatible" content="IE=8" />
                  #end
                  #if ( $req.getQueryString().matches(".*(?i)mode=IE11.*") )   ## If IE11 and override = WME then set IE user agent to IE=Edge
                      <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
                  #end
                  #if ( $req.getQueryString().matches(".*(?i)mode=Edge.*") )   ## If IE11 and override = WME then set IE user agent to IE=Edge
                      <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
                  #end
            
                  #if ( ($req.getRequestURI().matches(".*editpage.action.*" ))      ||
                        ($req.getRequestURI().matches(".*createpage.action.*"))     ||
                        ($req.getRequestURI().matches(".*plugins.tinymce.*"))       ||
                        ($req.getRequestURI().matches(".*createblogpost.action.*")) ||
                        ($req.getRequestURI().matches(".*editblogpost.action.*")) ||
                        ($req.getRequestURI().matches(".*doaddcomment.action.*"))   ||
                        ($req.getQueryString().matches(".*(?i)showComments=true&showCommentArea=true.*"))  ||
                        ($req.getQueryString().matches(".*editComment=true.*"))     ||
                        ($req.getQueryString().matches(".*replyToComment=.*"))
                      )   ## When editing or creating pages, blog posts or comments
            
                      <meta http-equiv="X-UA-Compatible" content="IE=8" />    ## Default IE11 editing mode is currently IE=8
            
                  #end
            
               <meta http-equiv="X-UA-Compatible" content="IE=Edge" />         ## For all IE11 pages, and by default if no mode already set use Edge mode
            
            #end
            
            

            After added this code to header.vm any of the coded page actions - editpage, createpage, etc - is IE=8. For any other page it is rendered in IE11 (edge) mode.

            In IE=8 mode the Browse and User drop down menus will not work.

            A button can be added to every wiki page to allow switching between IE=8 and IE=11 mode. This can be helpful to allow users to use the Edit in Office button in V3.

            <style>
            
            .buttona  {
              font: bold 11px Arial;
              text-decoration: none;
              background-color: #EEEEEE;
              color: #333333;
              padding: 2px 6px 2px 6px;
              border-top: 1px solid #CCCCCC;
              border-right: 1px solid #333333;
              border-bottom: 1px solid #333333;
              border-left: 1px solid #CCCCCC;
            }
            
            .buttonb { 
              padding: 0.1em 0.6em;
              border: 1px solid #ccc; 
              font-size: 11px; 
              font-family: Arial,Helvetica,sans-serif; 
              background-color: #f7f7f7; 
              color: #333;  
              -moz-box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; 
              -webkit-box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; 
              box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; 
              -moz-border-radius: 3px; 
              -webkit-border-radius: 3px;
              border-radius: 3px; 
              display: inline-block; 
              margin: 0 0.1em; 
              text-shadow: 0 1px 0 #fff; 
              line-height: 1.4; 
              white-space: nowrap; }
            
            </style>
            
            <script>
            
            var docMode = document.documentMode;            // Detect document mode for IE. Allows for toggling mode. Only show toggle button in IE
            var URL     = window.location.href.toString();  // Get current page URL
            var docURL  = URL.replace(/(\?|\&)+mode=IE(8|11)/ig, '');    // Remove all existing docMode overrides in the URL
            
            document.write("<!-- span>This is the document mode: " + docMode + "<\span -->");	// Display the current mode
            
            var delim = "?";     // Checking for a parm delim in the URL
            var URLAnchor = "";  // If an anchor exists it will be stored here
            if ( docURL.match(/\?/g) ) { delim = "&"; } // If URL has a ? use & instead to append mode parm - for pages with comment in the URL
            
            var theAnchor = "";						// If there is an anchor in the URL then it is cut out and stored here
            if ( URL.match(/\#/g) ) {				// Anchor found - cut it out so the mode override parm can be added
                splitURL  = docURL.split("#",2);	// Split the URL into two strings left and right of the anchor symbol
                docURL    = splitURL[0];			// Left of the # is the URL
                theAnchor = "#" + splitURL[1];		// Right of the # is the anchor
            } 
            
            var newMode = 0;                         
            if   ( docMode == 11 ) { newMode = "IE8"; }   
            else                   { newMode = "IE11"; }  // Toggle the mode
            
            var goHere = docURL + delim + "mode=" + newMode + theAnchor; 	// Construct the target URL to execute the mode toggle
            document.write( "<span><a id=\"modetoggle\" class=\"buttonb\" href = \"" + goHere + "\">Toggle mode to " + newMode + "</a></span>"); 
            
            </script>
            

            Then teach users to click the 'Toggle mode to IE8' button before clicking the 'Edit Document' button.

            OutOfTheBox added a comment - For V3 setting the page mode to IE8 enables the Edit in Office button. The page mode can be set in header.vm. A parm passed in the URL can be used to determine which mode to display the page in. This also fixes the RTE in IE11. Code to add to the top of /confluence/confluence/decorators/includes/header.vm # if ( $req.getHeader( "User-Agent" ).matches( '.*Trident.6.*' ) ) ## If IE10 then set IE=8 mode - no other changes required <meta http-equiv= "X-UA-Compatible" content= "IE=8" /> # else ## If IE11 # if ( $req.getQueryString().matches( ".*(?i)mode=IE8.*" ) ) ## If IE11 and override = RTE then set IE user agent to IE=8 <meta http-equiv= "X-UA-Compatible" content= "IE=8" /> #end # if ( $req.getQueryString().matches( ".*(?i)mode=IE11.*" ) ) ## If IE11 and override = WME then set IE user agent to IE=Edge <meta http-equiv= "X-UA-Compatible" content= "IE=Edge" /> #end # if ( $req.getQueryString().matches( ".*(?i)mode=Edge.*" ) ) ## If IE11 and override = WME then set IE user agent to IE=Edge <meta http-equiv= "X-UA-Compatible" content= "IE=Edge" /> #end # if ( ($req.getRequestURI().matches( ".*editpage.action.*" )) || ($req.getRequestURI().matches( ".*createpage.action.*" )) || ($req.getRequestURI().matches( ".*plugins.tinymce.*" )) || ($req.getRequestURI().matches( ".*createblogpost.action.*" )) || ($req.getRequestURI().matches( ".*editblogpost.action.*" )) || ($req.getRequestURI().matches( ".*doaddcomment.action.*" )) || ($req.getQueryString().matches( ".*(?i)showComments= true &showCommentArea= true .*" )) || ($req.getQueryString().matches( ".*editComment= true .*" )) || ($req.getQueryString().matches( ".*replyToComment=.*" )) ) ## When editing or creating pages, blog posts or comments <meta http-equiv= "X-UA-Compatible" content= "IE=8" /> ## Default IE11 editing mode is currently IE=8 #end <meta http-equiv= "X-UA-Compatible" content= "IE=Edge" /> ## For all IE11 pages, and by default if no mode already set use Edge mode #end After added this code to header.vm any of the coded page actions - editpage, createpage, etc - is IE=8. For any other page it is rendered in IE11 (edge) mode. In IE=8 mode the Browse and User drop down menus will not work. A button can be added to every wiki page to allow switching between IE=8 and IE=11 mode. This can be helpful to allow users to use the Edit in Office button in V3. <style> .buttona { font: bold 11px Arial; text-decoration: none; background-color: #EEEEEE; color: #333333; padding: 2px 6px 2px 6px; border-top: 1px solid #CCCCCC; border-right: 1px solid #333333; border-bottom: 1px solid #333333; border-left: 1px solid #CCCCCC; } .buttonb { padding: 0.1em 0.6em; border: 1px solid #ccc; font-size: 11px; font-family: Arial,Helvetica,sans-serif; background-color: #f7f7f7; color: #333; -moz-box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; -webkit-box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; display: inline-block; margin: 0 0.1em; text-shadow: 0 1px 0 #fff; line-height: 1.4; white-space: nowrap; } </style> <script> var docMode = document.documentMode; // Detect document mode for IE. Allows for toggling mode. Only show toggle button in IE var URL = window.location.href.toString(); // Get current page URL var docURL = URL.replace(/(\?|\&)+mode=IE(8|11)/ig, ''); // Remove all existing docMode overrides in the URL document.write( "<!-- span>This is the document mode: " + docMode + "<\span -->" ); // Display the current mode var delim = "?" ; // Checking for a parm delim in the URL var URLAnchor = ""; // If an anchor exists it will be stored here if ( docURL.match(/\?/g) ) { delim = "&" ; } // If URL has a ? use & instead to append mode parm - for pages with comment in the URL var theAnchor = ""; // If there is an anchor in the URL then it is cut out and stored here if ( URL.match(/\#/g) ) { // Anchor found - cut it out so the mode override parm can be added splitURL = docURL.split( "#" ,2); // Split the URL into two strings left and right of the anchor symbol docURL = splitURL[0]; // Left of the # is the URL theAnchor = "#" + splitURL[1]; // Right of the # is the anchor } var newMode = 0; if ( docMode == 11 ) { newMode = "IE8" ; } else { newMode = "IE11" ; } // Toggle the mode var goHere = docURL + delim + "mode=" + newMode + theAnchor; // Construct the target URL to execute the mode toggle document.write( "<span><a id=\" modetoggle\ " class=\" buttonb\ " href = \" " + goHere + " \ ">Toggle mode to " + newMode + "</a></span>" ); </script> Then teach users to click the 'Toggle mode to IE8' button before clicking the 'Edit Document' button.

            Kyle added a comment -

            Thanks ring.matthew. I'll let the dev team know about this.

            Kyle added a comment - Thanks ring.matthew . I'll let the dev team know about this.

            Matt Ring added a comment -

            @Kyle - In November, Microsoft dropped their requirement that VS 2013 require IE10 / IE11 be installed on the computer, so that should be one less issue for you.

            Matt Ring added a comment - @Kyle - In November, Microsoft dropped their requirement that VS 2013 require IE10 / IE11 be installed on the computer, so that should be one less issue for you.

            Kyle added a comment -

            Hi jmasson@atlassian.com, we are facing this issue on the last version of Confluence supporting MSSQL 2005, v5.2.5.

            All our developers are forced to upgrade to Internet Explorer 11 due to Visual Studio 2013's requirement, therefore this bug is magnified to everyone's attention that uses Confluence. Our technical team ( software devs ) uses Confluence alot and our company policy recommends us to use Internet Explorer 11.

            Now we are stuck because IT is very slow in completing the new production MSSQL 2012 server, so i cannot upgrade to the later version of Confluence which include this fix. Can you please consider including this fix in v5.2.5?

            And MS is hitting us very hard on the management side to switch to SharePoint. We all ( technical team ) want to stick to Confluence, but if the management is convinced with the support of disappointed technical users, we're screwed.

            Thanks,
            Lee

            Kyle added a comment - Hi jmasson@atlassian.com , we are facing this issue on the last version of Confluence supporting MSSQL 2005, v5.2.5. All our developers are forced to upgrade to Internet Explorer 11 due to Visual Studio 2013's requirement, therefore this bug is magnified to everyone's attention that uses Confluence. Our technical team ( software devs ) uses Confluence alot and our company policy recommends us to use Internet Explorer 11. Now we are stuck because IT is very slow in completing the new production MSSQL 2012 server, so i cannot upgrade to the later version of Confluence which include this fix. Can you please consider including this fix in v5.2.5? And MS is hitting us very hard on the management side to switch to SharePoint. We all ( technical team ) want to stick to Confluence, but if the management is convinced with the support of disappointed technical users, we're screwed. Thanks, Lee

            tim.hughes I'd recommend doing your own checks, but you can see most of what we fixed with this query, as you'll see there were issues fixed across 5.4.1 and 5.4.2 but not everything.

            John Masson added a comment - tim.hughes I'd recommend doing your own checks, but you can see most of what we fixed with this query , as you'll see there were issues fixed across 5.4.1 and 5.4.2 but not everything.

            John Masson, based on your comment above regarding serious IE11 issues. We currently use IE8 throughout our organisation and are in preparation to upgrade to IE11. Based on your experience with Confluence issues and IE11, do you recommend we proceed with upgrading to IE11 or are we best to go with IE10 until more issues are ironed out with IE11? We'll be on Confluence 5.4.2 as of tonight.
            thank you in advance.
            Tim

            Tim Hughes added a comment - John Masson, based on your comment above regarding serious IE11 issues. We currently use IE8 throughout our organisation and are in preparation to upgrade to IE11. Based on your experience with Confluence issues and IE11, do you recommend we proceed with upgrading to IE11 or are we best to go with IE10 until more issues are ironed out with IE11? We'll be on Confluence 5.4.2 as of tonight. thank you in advance. Tim

            Hi efoulkes, we talked about whether to release older versions, but decided against it. There are a number of fairly serious IE11 bugs that we've fixed in 5.4.x builds, so if you're heavy IE11 users there you'll need to give serious consideration to upgrading.

            I wouldn't recommend it, but you might want to try testing this updated version of the Office Connector with your version of Confluence, it may work, but it's certainly not something we've tested.

            John Masson added a comment - Hi efoulkes , we talked about whether to release older versions, but decided against it. There are a number of fairly serious IE11 bugs that we've fixed in 5.4.x builds, so if you're heavy IE11 users there you'll need to give serious consideration to upgrading. I wouldn't recommend it, but you might want to try testing this updated version of the Office Connector with your version of Confluence, it may work, but it's certainly not something we've tested.

            Will the fix eventually be available for older versions? We are on 5.1.4 and may not upgrade for some time...

            Ethan Foulkes added a comment - Will the fix eventually be available for older versions? We are on 5.1.4 and may not upgrade for some time...

            Tim Hughes added a comment -

            Thanks Don.
            I can confirm this fix has worked correctly within our environment using 5.4.2 and IE11.
            Unfortunately, if you're using Office 2013 you can only perform an Edit in Office once within the same IE tab session. If you edit an attachment, save it, close it and then attempt to 'Edit in Office' again on the same attachment or any other attachment on the same page then it just doesn't do anything... it's a dead click.
            The only work around is to open a new IE session in a new tab and then perform another Edit in Office.
            My assessment of this problem is that it relates to Office 2013 and any version of IE8 through to IE11. I don't think this is problem for Office 2010.
            Are you aware of this issue? is this in fact a limitation of the Office Sync app?
            thanks
            Tim

            Tim Hughes added a comment - Thanks Don. I can confirm this fix has worked correctly within our environment using 5.4.2 and IE11. Unfortunately, if you're using Office 2013 you can only perform an Edit in Office once within the same IE tab session. If you edit an attachment, save it, close it and then attempt to 'Edit in Office' again on the same attachment or any other attachment on the same page then it just doesn't do anything... it's a dead click. The only work around is to open a new IE session in a new tab and then perform another Edit in Office. My assessment of this problem is that it relates to Office 2013 and any version of IE8 through to IE11. I don't think this is problem for Office 2010. Are you aware of this issue? is this in fact a limitation of the Office Sync app? thanks Tim

            The fix for this is now available via plugin upgrade if you are running Confluence 5.4+. See https://marketplace.atlassian.com/plugins/com.atlassian.confluence.extra.officeconnector.
            This does not include OnDemand customers for whom the upgrade should come automatically in the next 2 weeks.

            Don Willis added a comment - The fix for this is now available via plugin upgrade if you are running Confluence 5.4+. See https://marketplace.atlassian.com/plugins/com.atlassian.confluence.extra.officeconnector . This does not include OnDemand customers for whom the upgrade should come automatically in the next 2 weeks.

              don.willis@atlassian.com Don Willis
              3e9e9bc97c0e ICT Beheer NSD
              Affected customers:
              16 This affects my team
              Watchers:
              29 Start watching this issue

                Created:
                Updated:
                Resolved: