-        defaultFlagsNoView = wx.GetApp().GetDocumentManager().GetFlags()|wx.lib.docview.DOC_SILENT|wx.lib.docview.DOC_OPEN_ONCE|wx.lib.docview.DOC_NO_VIEW
-        self.GetAppInfo().CopyToDeployment(deployment)
-
-        for file in self.GetModel()._files:
-            if not file.type:
-                continue
-            elif file.type == basedocmgr.FILE_TYPE_SERVICE:  # set serviceRefs
-                doc = wx.GetApp().GetDocumentManager().CreateDocument(file.filePath, flags=defaultFlagsNoView)
-                if (doc == None):  # already open
-                    doc = FindOpenDoc(file.filePath)
-                if doc:
-                    serviceRef = doc.GetModel()
-                    if serviceRef:
-                        documentRef = copy.copy(serviceRef)
-                        deployment.serviceRefs.append(documentRef)
-
-                        if not productionDeployment:
-                            # filePath should point to location of wsdl file
-                            # wsdlag filePath points to relative path to wsdl file from wsdlag location
-                            # but deployment needs relative path from deployment location, so here's the conversion
-                            curDir = os.path.dirname(self.GetFilename()) + os.sep
-                            filePath = file.document.fileName
-                            if (filePath == None):
-                                raise Exception("Cannot find file \"%s\"" % file.filePath)
-                            if filePath.startswith(curDir):
-                                filePath = filePath[len(curDir):]
-                            if os.sep != '/':
-                                filePath = filePath.replace(os.sep, "/")
-                            documentRef.filePath = filePath
-                        
-                            documentRef.document = file.document
-                            
-                        if serviceRef.serviceType == deploymentlib.SERVICE_DATABASE and serviceRef.databaseService:
-                            dataSourceService = wx.GetApp().GetService(DataModelEditor.DataSourceService)
-                            ds = dataSourceService.getDataSource(serviceRef.databaseService.datasourceName)
-                            if ds:
-                                found = False
-                                for d in deployment.dataSources:
-                                    if d.name == ds.name:
-                                        found = True
-                                        break
-                                if not found:
-                                    deployment.dataSources.append(ds)
-            else:
-                curDir = os.path.dirname(self.GetFilename()) + os.sep
-                filePath = file.filePath
-                if filePath.startswith(curDir):
-                    filePath = filePath[len(curDir):]
-                if os.sep != '/':
-                    filePath = filePath.replace(os.sep, "/")
-                    
-                if file.type == basedocmgr.FILE_TYPE_XFORM:
-                    documentRef = deploymentlib.XFormRef()
-                    deployment.xformRefs.append(documentRef)
-                elif file.type == basedocmgr.FILE_TYPE_PROCESS:
-                    documentRef = deploymentlib.ProcessRef()
-                    deployment.processRefs.append(documentRef)
-                elif file.type == basedocmgr.FILE_TYPE_SCHEMA:
-                    # set schemaRefs
-                    documentRef = deploymentlib.SchemaRef()
-                    deployment.schemaRefs.append(documentRef)
-
-                    # set dataSources
-                    doc = wx.GetApp().GetDocumentManager().CreateDocument(file.filePath, flags=defaultFlagsNoView)
-                    if (doc == None):  # already open
-                        doc = FindOpenDoc(file.filePath)
-                    if doc:
-                        dataSourceService = wx.GetApp().GetService(DataModelEditor.DataSourceService)
-                        ds = dataSourceService.getDataSource(doc.GetModel().getDefaultDataSourceName())
-                        if ds:
-                            found = False
-                            for d in deployment.dataSources:
-                                if d.name == ds.name:
-                                    found = True
-                                    break
-                            if not found:
-                                deployment.dataSources.append(ds)
-                                
-                        # set keyServices
-                        keyServices = doc.GetModel().keyServices
-                        for keyService in keyServices:        
-                            # add default key service to deployment
-                            if not productionDeployment:
-                                mainModuleDir = sysutils.mainModuleDir
-                            else:
-                                mainModuleDir = sysutils.MAINMODULE_DIR_VAR
-                            wsdlFullPath = os.path.join(mainModuleDir, "..", "wsdl", DataModelEditor.DEFAULT_KEYSERVICE_WSDL_FILENAME)
-                            keyServiceRef = deploymentlib.ServiceRef(filePath=wsdlFullPath)
-                            deployment.serviceRefs.append(keyServiceRef)
-                            
-                            keyServiceRef.name = keyService
-                            keyServiceRef.serviceType = deploymentlib.SERVICE_LOCAL
-                            keyServiceRef.localService = deploymentlib.LocalService()
-                            if keyService == DataModelEditor.DEFAULT_KEYSERVICE:
-                                keyServiceRef.filePath = wsdlFullPath
-                                keyServiceRef.localServiceClassName = DataModelEditor.DEFAULT_KEYSERVICE_CLASSNAME
-