private void ContentService_Published(IContentService sender, Umbraco.Core.Events.ContentPublishedEventArgs e) { using (var contextReference = _umbracoContext.EnsureUmbracoContext()) { _context = contextReference.UmbracoContext; } foreach (var item in e.PublishedEntities) { if (IsAllowedDocType(item.ContentType.Alias)) { var title = item.GetValue(TitleProperty) != null?item.GetValue <string>(TitleProperty) : item.Name; var content = item.GetValue(ContentProperty) != null?item.GetValue <string>(ContentProperty) : item.Name; var url = ""; if (_context != null) { var publishedEntity = _context.Content.GetById(item.Id); url = publishedEntity.Url(mode: UrlMode.Absolute); } var segments = new string[] { "All" }; if (SendPushNotificationOnPublish) { if (PushNotification(title, content, segments, url)) { _logger.Info <PushNotificationComponent>( $"Notification sent successfully. Page Details : '{title}' ('{item.Id}')"); } else { _logger.Warn <PushNotificationComponent>( $"Notification send failed. Page Details : '{title}' ('{item.Id}')"); } } else { if (item.GetValue <bool>("sendPushNotification")) { if (PushNotification(title, content, segments, url)) { item.SetValue("sendPushNotification", false); _contentService.SaveAndPublish(item, raiseEvents: false); _logger.Info <PushNotificationComponent>( $"Notification sent successfully. Page Details : '{title}' ('{item.Id}')"); } else { _logger.Warn <PushNotificationComponent>( $"Notification send failed. Page Details : '{title}' ('{item.Id}')"); } } } } } }
private void ContentService_Published(Umbraco.Core.Services.IContentService sender, Umbraco.Core.Events.ContentPublishedEventArgs e) { try { using (var context = _umbracoContextFactory.EnsureUmbracoContext()) { var defaultUrl = new Uri("/", UriKind.Relative); var entries = e.PublishedEntities.Select(pe => { var pc = context.UmbracoContext.Content.GetById(pe.Id); var baseUrl = defaultUrl; if (pc != null) { var absUrl = pc.Url(mode: UrlMode.Absolute).ToString(); var relUrl = pc.Url(mode: UrlMode.Relative).ToString(); baseUrl = new Uri(absUrl.Substring(0, absUrl.Length - relUrl.Length)); } return(_searchIndexEntryHelper.GetIndexEntry(baseUrl, pe)); }).Where(ie => ie != null).ToList(); _searchApplianceService.UpdateSearchAppliance(entries); } } catch (Exception ex) { _logger.Error <SearchComponent>(ex, "Could not update index entries"); } }
private void ContentService_Published(Umbraco.Core.Services.IContentService sender, Umbraco.Core.Events.ContentPublishedEventArgs e) { foreach (var publishedItem in e.PublishedEntities) { if (publishedItem.ContentType.Alias == "website") { ExamineComponent.AttemptAddIndexForContent(publishedItem); } } }
private void ContentService_Published(Umbraco.Core.Services.IContentService sender, Umbraco.Core.Events.ContentPublishedEventArgs e) { //Code that will be executed whenever content is published. foreach (var PublishedItem in e.PublishedEntities) { _logger.Info <LogWhenPublishedComponent>(PublishedItem.Name + " was published."); } }
public void ContentService_Published(Umbraco.Core.Services.IContentService sender, Umbraco.Core.Events.ContentPublishedEventArgs e) { foreach (var item in e.PublishedEntities) { var properties = new PropertiesDictionary(item); var publisher = Current.Services.UserService.GetUserById(item.PublisherId.GetValueOrDefault()); if (publisher != null) { properties.Add("publisher", publisher.Name); } AsyncUtil.RunSync(() => _messagingService.SendMessageAsync("contentService", "published", properties, publisher)); } }
private void ContentService_Published(Umbraco.Core.Services.IContentService sender, Umbraco.Core.Events.ContentPublishedEventArgs e) { var autoPublishSites = _sitesRepository.GetAutoPublishSites(); var sitesToDeploy = new List <ExtendedGeneratedSite>(); foreach (var publishedItem in e.PublishedEntities) { foreach (var site in autoPublishSites) { if (sitesToDeploy.Contains(site)) { continue; } if (publishedItem.Path.Contains($",{site.RootNode},") || publishedItem.Path.EndsWith($",{site.RootNode}")) { sitesToDeploy.Add(site); } } } //var context = _umbracoContext.EnsureUmbracoContext(); var process = new RebuildProcess(_umbracoContextFactory, _exportTypeSettings); var deployProcess = new DeployProcess(_storer, _deployerFactory, _sitesRepository); foreach (var site in sitesToDeploy) { //process.RebuildSite(site.Id); Task.Run(async() => { await process.RebuildSite(site.Id); await deployProcess.DeployStaticSite(site.Id); }); } }