public string Export(IEnumerable<string> contentTypes, IEnumerable<ContentItem> contentItems, ExportOptions exportOptions) { var exportDocument = CreateExportRoot(); var context = new ExportContext { Document = exportDocument, ContentTypes = contentTypes, ExportOptions = exportOptions }; _exportEventHandlers.Invoke(x => x.Exporting(context), Logger); if (exportOptions.ExportMetadata && (!exportOptions.ExportData || contentItems.Any())) { exportDocument.Element("Orchard").Add(ExportMetadata(contentTypes)); } if (exportOptions.ExportSiteSettings) { exportDocument.Element("Orchard").Add(ExportSiteSettings()); } if (exportOptions.ExportData && contentItems.Any()) { exportDocument.Element("Orchard").Add(ExportData(contentTypes, contentItems, exportOptions.ImportBatchSize)); } _exportEventHandlers.Invoke(x => x.Exported(context), Logger); return WriteExportFile(exportDocument.ToString()); }
public string Export(IEnumerable<string> contentTypes, ExportOptions exportOptions) { //items need to be retrieved IEnumerable<ContentItem> contentItems = null; if (exportOptions.ExportData) { contentItems = _orchardServices.ContentManager.Query(GetContentExportVersionOptions(exportOptions.VersionHistoryOptions), contentTypes.ToArray()).List(); } return Export(contentTypes, contentItems, exportOptions); }
public ActionResult ExportPOST() { if (!Services.Authorizer.Authorize(Permissions.Export, T("Not allowed to export."))) return new HttpUnauthorizedResult(); var viewModel = new ExportViewModel { ContentTypes = new List<ContentTypeEntry>() }; UpdateModel(viewModel); var contentTypesToExport = viewModel.ContentTypes.Where(c => c.IsChecked).Select(c => c.ContentTypeName); var exportOptions = new ExportOptions { ExportMetadata = viewModel.Metadata, ExportSiteSettings = viewModel.SiteSettings }; if (viewModel.Data) { exportOptions.ExportData = true; exportOptions.VersionHistoryOptions = (VersionHistoryOptions)Enum.Parse(typeof(VersionHistoryOptions), viewModel.DataImportChoice, true); } var exportFilePath = _importExportService.Export(contentTypesToExport, exportOptions); return File(exportFilePath, "text/xml", "export.xml"); }
public string Export(IEnumerable<string> contentTypes, ExportOptions exportOptions) { var exportDocument = CreateExportRoot(); if (exportOptions.ExportMetadata) { exportDocument.Element("Orchard").Add(ExportMetadata(contentTypes)); } if (exportOptions.ExportSiteSettings) { exportDocument.Element("Orchard").Add(ExportSiteSettings()); } if (exportOptions.ExportData) { exportDocument.Element("Orchard").Add(ExportData(contentTypes, exportOptions.VersionHistoryOptions)); } return WriteExportFile(exportDocument.ToString()); }
public void ExportFile() { // impersonate the Site owner var superUser = _siteService.GetSiteSettings().SuperUser; var owner = _membershipService.GetUser(superUser); _authenticationService.SetAuthenticatedUserForRequest(owner); var versionOption = VersionHistoryOptions.Published; if (!String.IsNullOrEmpty(Version) && !Enum.TryParse(Version, out versionOption)) { Context.Output.WriteLine(T("Invalid version option")); return; } var enteredTypes = (Types ?? String.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var exportTypes = _contentDefinitionManager.ListTypeDefinitions() .Where(contentType => enteredTypes.Contains(contentType.Name)) .Select(contentType => contentType.Name); var enteredSteps = (Steps ?? String.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var exportOptions = new ExportOptions { ExportMetadata = Metadata, ExportData = Data, VersionHistoryOptions = versionOption, ExportSiteSettings = SiteSettings, CustomSteps = enteredSteps }; Context.Output.WriteLine(T("Export starting...")); var exportFilePath = _importExportService.Export(exportTypes, exportOptions); Context.Output.WriteLine(T("Export completed at {0}", exportFilePath)); }