public override void Init() { Global.Init(); Func <List <string> > adminOpportunities = () => (CoreContext.Configuration.CustomMode ? CustomModeResource.ProductAdminOpportunitiesCustomMode : FilesCommonResource.ProductAdminOpportunities).Split('|').ToList(); Func <List <string> > userOpportunities = () => (CoreContext.Configuration.CustomMode ? CustomModeResource.ProductUserOpportunitiesCustomMode : FilesCommonResource.ProductUserOpportunities).Split('|').ToList(); _productContext = new ProductContext { MasterPageFile = FilesLinkUtility.FilesBaseVirtualPath + "Masters/BasicTemplate.master", DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.svg", DefaultSortOrder = 10, SubscriptionManager = new SubscriptionManager(), SpaceUsageStatManager = new FilesSpaceUsageStatManager(), AdminOpportunities = adminOpportunities, UserOpportunities = userOpportunities, CanNotBeDisabled = true, }; SearchHandlerManager.Registry(new SearchHandler()); GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "FileStorageService", routeTemplate: "products/files/services/wcfservice/service.svc/{action}", defaults: new { controller = "FileStorageService" }); GlobalConfiguration.Configuration.Formatters.JsonFormatter.UseDataContractJsonSerializer = true; }
public static void Configure() { DbRegistry.Configure(); PrepareRedisSessionProvider(); if (HttpContext.Current != null && HttpContext.Current.Request != null) { var url = HttpContext.Current.Request.GetUrlRewriter(); CommonLinkUtility.Initialize(new UriBuilder(url.Scheme, url.Host, url.Port).Uri.ToString()); } ConfigureWebApi(); if (DBResourceManager.ResourcesFromDataBase) { DBResourceManager.WhiteLableEnabled = true; DBResourceManager.PatchAssemblies(); } AjaxSecurityChecker.Instance.CheckMethodPermissions += AjaxCheckMethodPermissions; AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainOnAssemblyResolve; //try //{ // AmiPublicDnsSyncService.Synchronize(); //} //catch { } NotifyConfiguration.Configure(); WebItemManager.Instance.LoadItems(); SearchHandlerManager.Registry(new StudioSearchHandler()); StorageFactory.InitializeHttpHandlers(); BundleConfig.Configure(); WhiteLabelHelper.ApplyPartnerWhiteLableSettings(); LdapNotifyHelper.RegisterAll(); try { new S3UploadGuard().DeleteExpiredUploadsAsync(TimeSpan.FromDays(1));//todo: } catch (Exception) { } try { Core.WarmUp.Instance.Start(); } catch (Exception ex) { LogManager.GetLogger("ASC").Error("Start Warmup", ex); } }
public static void Configure(HttpApplication application) { XmlConfigurator.Configure(); DbRegistry.Configure(); ConfigureWebApi(); if (ConfigurationManager.AppSettings["resources.from-db"] == "true") { AssemblyWork.UploadResourceData(AppDomain.CurrentDomain.GetAssemblies()); AppDomain.CurrentDomain.AssemblyLoad += (sender, args) => AssemblyWork.UploadResourceData(AppDomain.CurrentDomain.GetAssemblies()); } AjaxSecurityChecker.Instance.CheckMethodPermissions += AjaxCheckMethodPermissions; try { AmiPublicDnsSyncService.Synchronize(); } catch { } NotifyConfiguration.Configure(); WebItemManager.Instance.LoadItems(); SearchHandlerManager.Registry(new StudioSearchHandler()); StorageFactory.InitializeHttpHandlers(); (new S3UploadGuard()).DeleteExpiredUploads(TimeSpan.FromDays(1)); BundleConfig.Configure(); }
public bool RegistryItem(IWebItem webitem) { lock (items) { if (webitem != null && this[webitem.ID] == null) { if (webitem is IAddon) { ((IAddon)webitem).Init(); } if (webitem is IProduct) { ((IProduct)webitem).Init(); } if (webitem is IModule) { var module = (IModule)webitem; if (module.Context != null && module.Context.SearchHandler != null) { SearchHandlerManager.Registry(module.Context.SearchHandler); } } items.Add(webitem.ID, webitem); return(true); } return(false); } }
public override void Init(ProductContext productContext) { productContext.ThemesFolderVirtualPath = String.Concat(PathProvider.BaseVirtualPath, "App_Themes"); productContext.ImageFolder = "images"; productContext.MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"); productContext.DisabledIconFileName = "product_disabled_logo.png"; productContext.IconFileName = "product_logo.png"; productContext.LargeIconFileName = "product_logolarge.png"; productContext.UserActivityPublishers = new List <IUserActivityPublisher>() { new TimeLinePublisher() }; productContext.DefaultSortOrder = 20; productContext.SubscriptionManager = new ProductSubscriptionManager(); productContext.SpaceUsageStatManager = new CRMSpaceUsageStatManager(); productContext.AdminOpportunities = GetAdminOpportunities; productContext.UserOpportunities = GetUserOpportunities; if (!FilesIntegration.IsRegisteredFileSecurityProvider("crm", "crm_common")) { FilesIntegration.RegisterFileSecurityProvider("crm", "crm_common", new FileSecurityProvider()); } _productContext = productContext; SearchHandlerManager.Registry(new SearchHandler()); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", DefaultSortOrder = 30, SubscriptionManager = new ProductSubscriptionManager(), SpaceUsageStatManager = new CRMSpaceUsageStatManager(), AdminOpportunities = () => CRMCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => CRMCommonResource.ProductUserOpportunities.Split('|').ToList(), }; if (!FilesIntegration.IsRegisteredFileSecurityProvider("crm", "crm_common")) { FilesIntegration.RegisterFileSecurityProvider("crm", "crm_common", new FileSecurityProvider()); } if (!FilesIntegration.IsRegisteredFileSecurityProvider("crm", "opportunity")) { FilesIntegration.RegisterFileSecurityProvider("crm", "opportunity", new FileSecurityProvider()); } SearchHandlerManager.Registry(new SearchHandler()); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.svg", SubscriptionManager = new ProductSubscriptionManager(), DefaultSortOrder = 20, SpaceUsageStatManager = new ProjectsSpaceUsageStatManager(), AdminOpportunities = () => ProjectsCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => ProjectsCommonResource.ProductUserOpportunities.Split('|').ToList(), HasComplexHierarchyOfAccessRights = true, }; FileEngine.RegisterFileSecurityProvider(); SearchHandlerManager.Registry(new SearchHandler()); NotifyClient.RegisterSecurityInterceptor(); ClientScriptLocalization = new ClientLocalizationResources(); DIHelper.Register(); Mapper.Initialize(cfg => { cfg.CreateMap <Task, TasksWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Message, DiscussionsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Milestone, MilestonesWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Project, ProjectsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Subtask, SubtasksWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); cfg.CreateMap <Comment, CommentsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())); }); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", DefaultSortOrder = 30, SubscriptionManager = new ProductSubscriptionManager(), SpaceUsageStatManager = new CRMSpaceUsageStatManager(), AdminOpportunities = () => CRMCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => CRMCommonResource.ProductUserOpportunities.Split('|').ToList(), }; if (!FilesIntegration.IsRegisteredFileSecurityProvider("crm", "crm_common")) { FilesIntegration.RegisterFileSecurityProvider("crm", "crm_common", new FileSecurityProvider()); } if (!FilesIntegration.IsRegisteredFileSecurityProvider("crm", "opportunity")) { FilesIntegration.RegisterFileSecurityProvider("crm", "opportunity", new FileSecurityProvider()); } SearchHandlerManager.Registry(new SearchHandler()); GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "Twilio", routeTemplate: "twilio/{action}", defaults: new { controller = "Twilio", action = "index" }); ClientScriptLocalization = new ClientLocalizationResources(); DIHelper.Register(); }
protected void Application_Start(object sender, EventArgs e) { XmlConfigurator.Configure(); DbRegistry.Configure(); InitializeDbResources(); AjaxSecurityChecker.Instance.CheckMethodPermissions += AjaxCheckMethodPermissions; NotifyConfiguration.Configure(); WebItemManager.Instance.LoadItems(); SearchHandlerManager.Registry(new StudioSearchHandler()); SearchHandlerManager.Registry(new EmployeeSearchHendler()); }
public override void Init() { _context = new ProductContext { MasterPageFile = "~/products/people/PeopleBaseTemplate.Master", DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", DefaultSortOrder = 50, }; SearchHandlerManager.Registry(new SearchHandler()); }
private void RegisterProduct(IProduct product, Assembly assembly) { try { var productContext = new ProductContext { AssemblyName = assembly.FullName }; product.Init(productContext); ProductContexts.Add(product.ID, productContext); WebItemManager.Instance.RegistryItem(product); if (productContext.GlobalHandler != null) { GlobalHandlers.Add(productContext.GlobalHandler); } foreach (var module in product.Modules) { try { if (module.Context != null && module.Context.UserActivityPublishers != null) { module.Context.UserActivityPublishers.ForEach(p => p.DoUserActivity += DoUserActivityHandler); } if (module.Context != null && module.Context.SearchHandler != null) { SearchHandlerManager.Registry(module.Context.SearchHandler); } } catch (Exception exc) { log.Error(string.Format("Couldn't load module activity publisher {0}", module.Name), exc); } } if (product.Context.UserActivityPublishers != null) { product.Context.UserActivityPublishers.ForEach(p => p.DoUserActivity += DoUserActivityHandler); } Products.Add(product); Products.Sort((p1, p2) => p1.Context.DefaultSortOrder.CompareTo(p2.Context.DefaultSortOrder)); log.DebugFormat("product {0} loaded", product.Name); } catch (Exception exc) { log.Error(string.Format("Couldn't load product {0}", product.Name), exc); } }
public override void Init() { _context = new ProductContext { MasterPageFile = "~/products/people/PeopleBaseTemplate.Master", DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", DefaultSortOrder = 50, AdminOpportunities = () => PeopleResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => PeopleResource.ProductUserOpportunities.Split('|').ToList() }; SearchHandlerManager.Registry(new SearchHandler()); }
private void Application_StartDelayed(object sender, EventArgs e) { XmlConfigurator.Configure(); DbRegistry.Configure(); InitializeDbResources(); AjaxSecurityChecker.Instance.CheckMethodPermissions += AjaxCheckMethodPermissions; try { AmiPublicDnsSyncService.Synchronize(); } catch { } NotifyConfiguration.Configure(); WebItemManager.Instance.LoadItems(); SearchHandlerManager.Registry(new StudioSearchHandler()); (new S3UploadGuard()).DeleteExpiredUploads(TimeSpan.FromDays(1)); BundleConfig.Configure(); }
public static void Configure() { XmlConfigurator.Configure(); DbRegistry.Configure(); PrepareRedisSessionProvider(); if (HttpContext.Current != null && HttpContext.Current.Request != null) { var url = HttpContext.Current.Request.GetUrlRewriter(); CommonLinkUtility.Initialize(new UriBuilder(url.Scheme, url.Host, url.Port).Uri.ToString()); } ConfigureWebApi(); if (ConfigurationManager.AppSettings["resources.from-db"] == "true") { DBResourceManager.PatchAssemblies(); } AjaxSecurityChecker.Instance.CheckMethodPermissions += AjaxCheckMethodPermissions; try { AmiPublicDnsSyncService.Synchronize(); } catch { } NotifyConfiguration.Configure(); WebItemManager.Instance.LoadItems(); SearchHandlerManager.Registry(new StudioSearchHandler()); StorageFactory.InitializeHttpHandlers(); (new S3UploadGuard()).DeleteExpiredUploads(TimeSpan.FromDays(1)); BundleConfig.Configure(); if (CoreContext.Configuration.Standalone) { WarmUp.Instance.Start(); } }
public override void Init() { _productContext = new ProductContext { MasterPageFile = CommonLinkUtility.FilesBaseVirtualPath + "masters/basictemplate.master", DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", DefaultSortOrder = 10, SubscriptionManager = new SubscriptionManager(), SpaceUsageStatManager = new FilesSpaceUsageStatManager(), AdminOpportunities = () => FilesCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => FilesCommonResource.ProductUserOpportunities.Split('|').ToList(), CanNotBeDisabled = true, }; SearchHandlerManager.Registry(new SearchHandler()); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_logo_disabled.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logo_large.svg", DefaultSortOrder = 100, SubscriptionManager = null, SpaceUsageStatManager = null, AdminOpportunities = () => SampleResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => SampleResource.ProductUserOpportunities.Split('|').ToList(), }; SearchHandlerManager.Registry(new SampleSearchHandler()); ClientScriptLocalization = new ClientLocalizationResources(); }
public override void Init(ProductContext productContext) { if (!DbRegistry.IsDatabaseRegistered(Global.DB_ID)) { DbRegistry.RegisterDatabase(Global.DB_ID, WebConfigurationManager.ConnectionStrings[Global.DB_ID]); } new SearchHandler(); ConfigurationManager.Configure(ID, PathProvider.BaseVirtualPath, String.Empty, Global.FileStorageModule); productContext.ThemesFolderVirtualPath = String.Concat(PathProvider.BaseVirtualPath, "App_Themes"); productContext.ImageFolder = "images"; productContext.MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"); productContext.DisabledIconFileName = "product_disabled_logo.png"; productContext.IconFileName = "product_logo.png"; productContext.LargeIconFileName = "product_logolarge.png"; productContext.SubscriptionManager = new ProductSubscriptionManager(); productContext.UserActivityControlLoader = new ProjectActivity(); productContext.WhatsNewHandler = new WhatsNewHandler(); productContext.UserActivityPublishers = new List <IUserActivityPublisher>() { new TimeLinePublisher() }; productContext.DefaultSortOrder = 10; productContext.SpaceUsageStatManager = new ProjectsSpaceUsageStatManager(); productContext.AdminOpportunities = GetAdminOpportunities; productContext.UserOpportunities = GetUserOpportunities; productContext.HasComplexHierarchyOfAccessRights = true; context = productContext; NotifyClient.Instance.Client.RegisterSendMethod(SendMsgMilestoneDeadline, TimeSpan.FromDays(1), DateTime.UtcNow.Date.AddHours(7)); NotifyClient.Instance.Client.RegisterSendMethod(ReportHelper.SendAutoReports, TimeSpan.FromHours(1), DateTime.UtcNow.Date.AddHours(DateTime.UtcNow.Hour)); NotifyClient.Instance.Client.RegisterSendMethod(TaskHelper.SendAutoReminderAboutTask, TimeSpan.FromHours(1), DateTime.UtcNow.Date.AddHours(DateTime.UtcNow.Hour)); NotifyClient.Instance.Client.AddInterceptor(InterceptorSecurity); UserActivityManager.AddFilter(new WhatsNewHandler()); FilesIntegration.RegisterFileSecurityProvider("projects", "project", new SecurityAdapterProvider()); SearchHandlerManager.Registry(new SearchHandler()); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", SubscriptionManager = new ProductSubscriptionManager(), DefaultSortOrder = 20, SpaceUsageStatManager = new ProjectsSpaceUsageStatManager(), AdminOpportunities = () => ProjectsCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => ProjectsCommonResource.ProductUserOpportunities.Split('|').ToList(), HasComplexHierarchyOfAccessRights = true, }; FileEngine.RegisterFileSecurityProvider(); SearchHandlerManager.Registry(new SearchHandler()); NotifyClient.RegisterSecurityInterceptor(); ClientScriptLocalization = new ClientLocalizationResources(); DIHelper.Register(); }
public override void Init() { context = new ProductContext { MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"), DisabledIconFileName = "product_disabled_logo.png", IconFileName = "product_logo.png", LargeIconFileName = "product_logolarge.png", SubscriptionManager = new ProductSubscriptionManager(), DefaultSortOrder = 20, SpaceUsageStatManager = new ProjectsSpaceUsageStatManager(), AdminOpportunities = () => ProjectsCommonResource.ProductAdminOpportunities.Split('|').ToList(), UserOpportunities = () => ProjectsCommonResource.ProductUserOpportunities.Split('|').ToList(), HasComplexHierarchyOfAccessRights = true, }; FileEngine.RegisterFileSecurityProvider(); SearchHandlerManager.Registry(new SearchHandler()); var securityInterceptor = new SendInterceptorSkeleton( "ProjectInterceptorSecurity", InterceptorPlace.DirectSend, InterceptorLifetime.Global, (r, p) => { try { var data = r.ObjectID.Split('_'); var entityType = data[0]; var entityId = Convert.ToInt32(data[1]); var projectId = 0; if (data.Length == 3) { projectId = Convert.ToInt32(r.ObjectID.Split('_')[2]); } switch (entityType) { case "Task": var task = Global.EngineFactory.TaskEngine.GetByID(entityId, false); if (task == null && projectId != 0) { var project = Global.EngineFactory.ProjectEngine.GetByID(projectId, false); return(!ProjectSecurity.CanRead(project, new Guid(r.Recipient.ID))); } return(!ProjectSecurity.CanRead(task, new Guid(r.Recipient.ID))); case "Message": var discussion = Global.EngineFactory.MessageEngine.GetByID(entityId, false); if (discussion == null && projectId != 0) { var project = Global.EngineFactory.ProjectEngine.GetByID(projectId, false); return(!ProjectSecurity.CanRead(project, new Guid(r.Recipient.ID))); } return(!ProjectSecurity.CanRead(discussion, new Guid(r.Recipient.ID))); case "Milestone": var milestone = Global.EngineFactory.MilestoneEngine.GetByID(entityId, false); if (milestone == null && projectId != 0) { var project = Global.EngineFactory.ProjectEngine.GetByID(projectId, false); return(!ProjectSecurity.CanRead(project, new Guid(r.Recipient.ID))); } return(!ProjectSecurity.CanRead(milestone, new Guid(r.Recipient.ID))); } } catch (Exception ex) { LogManager.GetLogger("ASC.Projects.Tasks").Error("Send", ex); } return(false); }); NotifyClient.Instance.Client.AddInterceptor(securityInterceptor); }