public IEnumerable <NotificationTypeInfo> GetNotificationTypes()
        {
            if (VersionCheck.IsVersionValid(_appHost.ApplicationVersion, _appHost.SystemUpdateLevel) == false)
            {
                return(new List <NotificationTypeInfo>());
            }

            var knownTypes = new List <NotificationTypeInfo>
            {
                new NotificationTypeInfo
                {
                    Type               = "UserActivityReportNotification",
                    Name               = "User Activity Report",
                    Category           = "Playback Reporting",
                    Enabled            = true,
                    IsBasedOnUserEvent = false
                },
                new NotificationTypeInfo
                {
                    Type               = "NewMediaReportNotification",
                    Name               = "New Media Report",
                    Category           = "Playback Reporting",
                    Enabled            = true,
                    IsBasedOnUserEvent = false
                }
            };

            return(knownTypes);
        }
Example #2
0
 public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer, IServerApplicationHost appHost) : base(applicationPaths, xmlSerializer)
 {
     Instance = this;
     _appHost = appHost;
     if (VersionCheck.IsVersionValid(_appHost.ApplicationVersion, _appHost.SystemUpdateLevel) == false)
     {
         plugin_name = plugin_name + "(not compatible)";
     }
 }
        public void Run()
        {
            _logger.Info("EventMonitorEntryPoint Running");

            _repository = new ActivityRepository(_logger, _config.ApplicationPaths, _fileSystem);
            _repository.Initialize();

            if (VersionCheck.IsVersionValid(_appHost.ApplicationVersion, _appHost.SystemUpdateLevel) == false)
            {
                _logger.Info("ERROR : Plugin not compatible with this server version");
                return;
            }

            _sessionManager.PlaybackStart   += _sessionManager_PlaybackStart;
            _sessionManager.PlaybackStopped += _sessionManager_PlaybackStop;

            // start playback monitor
            System.Threading.Tasks.Task.Run(() => PlaybackMonitoringTask());
        }
Example #4
0
        public IEnumerable <PluginPageInfo> GetPages()
        {
            if (VersionCheck.IsVersionValid(_appHost.ApplicationVersion, _appHost.SystemUpdateLevel) == false)
            {
                return(new PluginPageInfo[0]);
            }

            return(new[]
            {
                new PluginPageInfo
                {
                    Name = "playback_report_settings",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.playback_report_settings.html"
                },
                new PluginPageInfo
                {
                    Name = "playback_report_settings.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.playback_report_settings.js"
                },
                new PluginPageInfo
                {
                    Name = "user_playback_report",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.user_playback_report.html"
                },
                new PluginPageInfo
                {
                    Name = "user_playback_report.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.user_playback_report.js"
                },
                new PluginPageInfo
                {
                    Name = "chart.min.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.chart.min.js"
                },
                new PluginPageInfo
                {
                    Name = "hourly_usage_report",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.hourly_usage_report.html"
                },
                new PluginPageInfo
                {
                    Name = "hourly_usage_report.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.hourly_usage_report.js"
                },
                new PluginPageInfo
                {
                    Name = "breakdown_report",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.breakdown_report.html"
                },
                new PluginPageInfo
                {
                    Name = "breakdown_report.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.breakdown_report.js"
                },
                new PluginPageInfo
                {
                    Name = "user_report",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.user_report.html"
                },
                new PluginPageInfo
                {
                    Name = "user_report.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.user_report.js"
                },
                new PluginPageInfo
                {
                    Name = "custom_query",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.custom_query.html",
                },
                new PluginPageInfo
                {
                    Name = "custom_query.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.custom_query.js"
                },
                new PluginPageInfo
                {
                    Name = "user_play_report",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.user_play_report.html"
                },
                new PluginPageInfo
                {
                    Name = "user_play_report.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.user_play_report.js"
                },
                new PluginPageInfo
                {
                    Name = "activity_report",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.activity_report.html",
                    EnableInMainMenu = true
                },
                new PluginPageInfo
                {
                    Name = "activity_report.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.activity_report.js"
                },
                new PluginPageInfo
                {
                    Name = "helper_function.js",
                    EmbeddedResourcePath = GetType().Namespace + ".Pages.helper_function.js"
                }
            });
        }