/// <summary>
        /// Serializes all Folders including Permissions
        /// </summary>
        /// <param name="xmlTemplate">Reference to XmlDocument context</param>
        /// <param name="nodeFolders"></param>
        /// <param name="objportal">Portal to serialize</param>
        /// <param name="zipFile"></param>
        /// <remarks>
        /// The serialization uses the xml attributes defined in FolderInfo class.
        /// </remarks>
        /// <history>
        ///     [cnurse]	11/08/2004	Created
        /// </history>
        public void SerializeFolders(XmlDocument xmlTemplate, XmlNode nodeFolders, PortalInfo objportal, ref ZipOutputStream zipFile)
        {
            // Sync db and filesystem before exporting so all required files are found
            FileSystemUtils.Synchronize(objportal.PortalID, objportal.AdministratorRoleId, objportal.HomeDirectoryMapPath);

            FolderController objFolders = new FolderController();
            ArrayList        arrFolders = objFolders.GetFoldersByPortal(objportal.PortalID);

            XmlSerializer xser = new XmlSerializer(typeof(FolderInfo));

            foreach (FolderInfo objFolder in arrFolders)
            {
                StringWriter sw = new StringWriter();
                xser.Serialize(sw, objFolder);

                XmlDocument xmlFolder = new XmlDocument();
                xmlFolder.LoadXml(sw.GetStringBuilder().ToString());
                XmlNode nodeFolder = xmlFolder.SelectSingleNode("folder");
                nodeFolder.Attributes.Remove(nodeFolder.Attributes["xmlns:xsd"]);
                nodeFolder.Attributes.Remove(nodeFolder.Attributes["xmlns:xsi"]);

                //Serialize Folder Permissions
                XmlNode nodePermissions = xmlTemplate.CreateElement("folderpermissions");
                SerializeFolderPermissions(xmlTemplate, nodePermissions, objportal, objFolder.FolderPath);
                nodeFolder.AppendChild(xmlFolder.ImportNode(nodePermissions, true));

                // Serialize files
                XmlNode nodeFiles = xmlTemplate.CreateElement("files");
                SerializeFiles(xmlTemplate, nodeFiles, objportal, objFolder.FolderPath, ref zipFile);
                nodeFolder.AppendChild(xmlFolder.ImportNode(nodeFiles, true));

                nodeFolders.AppendChild(xmlTemplate.ImportNode(nodeFolder, true));
            }
        }