Upload Service Plugin v3.1.10 changelog

2017-07-28 02:17:06 -0500... update qt-faststart to 1.1.0greg
2017-07-28 02:05:33 -0500update api plugin dependencygreg
2017-07-28 01:42:20 -0500downgrade site plugingreg
2017-07-28 00:16:13 -0500update other maven pluginsgreg
2017-07-28 00:15:41 -0500no longer using unit_setup.py so remove thisgreg
2017-07-28 00:15:10 -0500update to later version of apt repo plugingreg
2017-07-28 00:02:09 -0500forgot about the restart buttongreg
2017-07-27 23:56:41 -0500relnotes 4.8.0-beta1greg
2017-07-27 23:15:44 -0500correct versiongreg
2017-07-27 23:12:11 -0500cut platform 4.8.0-beta1greg
2017-07-27 18:23:14 -0500configuration module 3.5.1greg
2017-07-27 18:20:35 -0500configuration-module-javascript-plugin-helpers 2.0.0greg
2017-07-27 18:16:45 -0500use new cranium plugingreg
2017-07-27 18:14:22 -0500cranium plugin 1.1.0greg
2017-07-27 17:52:47 -0500prepare for 4.8.0 beta 1greg
2017-07-27 15:40:13 -0500UI plugin 3.4.2greg
2017-07-27 15:33:27 -0500API plugin 3.2.5greg
2017-07-27 15:31:49 -0500cut Mpa module 3.4.1greg
2017-07-27 15:30:39 -0500base platform parent 1.1.1greg
2017-07-27 15:29:46 -0500cattura-utils 1.3.0. backport some time vo related stuff from the opencast toc branchgreg
2017-07-27 15:21:16 -0500cut plugin loader 1.2.0greg
2017-07-27 15:20:00 -0500cut UI extensions library 2.0.0greg
2017-07-27 15:18:54 -0500Schedule form plugin 1.0.0greg
2017-07-27 15:17:11 -0500scene change rate limit plugin 1.0.0greg
2017-07-27 15:15:07 -0500scene change plugin 1.1.0greg
2017-07-27 15:11:57 -0500qt-faststart plugin 1.1.0greg
2017-07-27 15:11:02 -0500Shotdetect plugin 1.0.0greg
2017-07-27 15:07:20 -0500Ocr plugin 1.1.0greg
2017-07-27 15:03:47 -0500packet library 1.0.0greg
2017-07-27 15:02:14 -0500cut utils-json 1.2.0greg
2017-07-27 14:59:15 -0500cut opencast plugin 1.4.1 with ability to retrieve workflow definitionsgreg
2017-07-27 13:11:28 -0500add form validationgreg
2017-07-27 13:11:10 -0500add title variable for redirect urlgreg
2017-07-27 13:08:35 -0500split out our jquery forms extensions into a separate library so it can be used by the scheduler formgreg
2017-07-27 12:53:44 -0500add a knockout binding for our validation functiongreg
2017-07-27 12:19:48 -0500allow /schedule as urlgreg
2017-07-26 15:04:27 -0500add training mode question mark thingygreg
2017-07-26 15:00:34 -0500use RequestResponseHelper to get the URL since this trims off the query stringgreg
2017-07-26 14:50:52 -0500if we can't find a ui extension then go to next handlergreg
2017-07-26 14:48:05 -0500for assets we want to preserve the full file namegreg
2017-07-26 14:42:26 -0500Add markdown doc for SFPgreg
2017-07-26 13:04:05 -0500if we are using meridian, default it to AMgreg
2017-07-26 12:23:02 -0500use defaultValue = false to turn off default value for the timepickergreg
2017-07-25 15:42:40 -0500use disabled, not readonly for the template select.greg
2017-07-25 15:39:36 -0500if fields are readonly, don't activate timepicker/datepicker widgets on them.greg
2017-07-25 15:03:23 -0500add disabled page templategreg
2017-07-25 14:54:07 -0500respect "enabled" settinggreg
2017-07-25 14:36:46 -0500result returns the singular event that was createdgreg
2017-07-25 14:34:59 -0500build default redirect url, strip query parameters that we don't want to keep (such as error).greg
2017-07-25 14:24:50 -0500split strip query string into its own functiongreg
2017-07-25 14:07:15 -0500better error handlinggreg
2017-07-25 13:42:28 -0500simplify and fix input date parsinggreg
2017-07-25 13:05:37 -0500fixes for submitting formgreg
2017-07-25 12:29:39 -0500implement time parsing in the backend. Do it in its own module so it can be tested easier (when we have that ability)greg
2017-07-24 18:43:05 -0500implement default start date/start timegreg
2017-07-24 17:54:44 -0500use the css/js from the UI plugin not the jquery plugin (which should probably be removed at some point)greg
2017-07-24 17:53:56 -0500also stuff these css files into our global css filegreg
2017-07-24 17:42:31 -0500since we're combining the bootstrap js into one file, we should also combine the css files too. Most of the other bootstrap extensions were being combined into the css file but the datepicker/timepicker weren't for some reason.greg
2017-07-24 17:16:50 -0500include libs and apply KO bindingsgreg
2017-07-24 17:07:23 -0500put our knockout extensions into a shared library which is linked to our library js instead of our ui js. This allows the schedule form plugin and any other plugin which needs it to reference it.greg
2017-07-24 16:54:17 -0500add enabled and redirectUrl optionsgreg
2017-07-24 16:33:29 -0500implement those icons everyone likes. Also makes no sense to have default value for start date so just make it default to current date.greg
2017-07-24 16:02:21 -0500fix default time for time pickergreg
2017-07-24 15:59:58 -0500disable meridian on duration fieldgreg
2017-07-24 15:55:55 -0500correct field namegreg
2017-07-24 15:40:20 -0500need to make start time and start date separategreg
2017-07-24 13:22:49 -0500build out schedule functionality using sendRequest APIgreg
2017-07-24 13:20:11 -0500add basic "then" for request objectgreg
2017-07-24 13:16:17 -0500add some convenience methods for sending requests through facadegreg
2017-07-21 19:14:52 -0500use helper function to build out schedule form configgreg
2017-07-21 19:13:15 -0500create a helper function for adding a settings panel, this will probably be very widely usedgreg
2017-07-21 18:53:38 -0500this will (probably) be a commonly used function so put it heregreg
2017-07-21 18:52:33 -0500Use knockout mapping plugingreg
2017-07-21 18:50:17 -0500Add knockout mapping plugingreg
2017-07-21 16:40:29 -0500split out the object-to-observable mapping into its own function, it will probably be reusedgreg
2017-07-21 16:31:50 -0500add template selectiongreg
2017-07-21 16:05:03 -0500flesh out admin panelgreg
2017-07-21 15:18:48 -0500fix issue where plugin extensions were not being appliedgreg
2017-07-21 15:02:45 -0500a table probably makes more sense for this particular panelgreg
2017-07-21 14:49:46 -0500add the ability to "extend" plugin objects with plugin-specific methods and data (similar to what is done with publisher objects).greg
2017-07-21 13:41:28 -0500begin UI extension for schedule formgreg
2017-07-20 19:24:19 -0500implement readonlygreg
2017-07-20 18:27:49 -0500settings.set is called once for each value, so it should update and not replacegreg
2017-07-20 18:09:06 -0500fixes for save configgreg
2017-07-20 17:59:09 -0500persist form config in store. Ideally we could have multiple form configs, but for now we just support the one.greg
2017-07-20 14:29:59 -0500fix variablegreg
2017-07-20 14:27:54 -0500pass query string parameters throughgreg
2017-07-20 13:53:08 -0500rename fieldgreg
2017-07-20 13:44:09 -0500start handling post from the formgreg
2017-07-20 13:10:25 -0500begin fleshing out the schedule formgreg
2017-07-19 18:09:05 -0500fix equality checksgreg
2017-07-19 17:59:57 -0500fix namegreg
2017-07-19 17:54:59 -0500add schedule form plugin, based on graph visualizer plugingreg
2017-07-19 17:21:35 -0500replace the Panopto FolderFetcher with the general Fetchergreg
2017-07-19 16:26:14 -0500port UI changes from opencast branchgreg
2017-07-18 18:24:37 -0500actually send two events, one for reader plugins and one for everything else. Get options on reader plugins usually means device detection, whereas other plugins return instantly.greg
2017-07-18 18:12:35 -0500attempt to handle cases in enrichment config where the UI loads before/during get options. We depend on those options to render a UI for those plugins. Suggestion: make the Form a separate class which uses the observableEnricher to update itselfgreg
2017-07-18 16:46:34 -0500don't check specifically for scene change plugin, but instead for all available enrichment typesgreg
2017-07-18 16:27:15 -0500don't hide the infoboxes for plugins/algorithmsgreg
2017-07-18 16:20:35 -0500recommend ShotDetectgreg
2017-07-18 16:16:48 -0500Add info about shotdetectgreg
2017-07-18 15:52:49 -0500lambdas, remove dead codegreg
2017-07-18 15:43:10 -0500Move get options into on find plugins handler. When we do get options, send another event so the UI can finish loading (since publishers isn't considered a separate component anymore).greg
2017-07-18 14:01:07 -0500Removed unused eventgreg
2017-07-18 13:31:00 -0500only render sliders if the config is presentgreg
2017-07-18 13:00:21 -0500cut ldap 1.0.1greg
2017-07-18 11:56:33 -0500Bring timer back. Runner is unsuitable for long waits since the shutdown happens in the runner thread and the runner thread cannot be interrupted (without saving a reference to the thread and interrupting it there, which is messy).greg
2017-07-18 11:51:41 -0500Attempt to reconnect before we refresh users. If we have refreshed successfully then set status to indicate we have (we cannot have run a query unless we are connected and authed).greg
2017-07-18 11:50:44 -0500Refresh users on status updategreg
2017-07-18 10:32:10 -0500rename event, handle in UIgreg
2017-07-17 22:49:12 -0500make runner final and never null. Whenever we disconnect just stop the runner.greg
2017-07-17 22:07:44 -0500replace timer with runner. Connect/disconnect are now done in the runner (i.e. in the same thread as polling), and the update settings command just signals the poll thread to start/stop. When the status of the ldap connection changes, an event is emitted.greg
2017-07-17 21:44:02 -0500update parent pomgreg
2017-07-17 21:42:37 -0500remove McTempFile functiongreg
2017-07-17 21:33:13 -0500Dry up pre/post checks for qt-faststart implementations (since most of these will be required for all of them).greg
2017-07-17 21:23:29 -05001.1.0-SNAPSHOT of qt-faststart plugin: prefer native implementationgreg
2017-07-17 21:15:42 -0500Synchronize around tesseract to prevent segfaults from trying to use it after it is closed.greg
2017-07-17 20:50:34 -0500Update client distro to 4.7.0greg
2017-07-14 12:50:37 -0500establish a sort order for known plugin ids (such as shotdetect and scene change) so that the UI "prefers" certain ones by default. This is consistent with how we handle publishers where there is a set order for known publishers.greg
2017-07-14 11:55:14 -0500expose all of the fields on the form to template code (as it is in knockout bindings)greg
2017-07-14 11:33:38 -0500implement slider for shotdetect thresholdgreg
2017-07-14 01:39:17 -0500default the value for scd to 20. There should be a nicer way to do thisgreg
2017-07-14 01:23:04 -0500slider knockout bindingsgreg
2017-07-14 00:31:28 -0500limit scope of automatic slider creation to output tab. Sliders in the enrichment tab will be managed with knockoutgreg
2017-07-14 00:03:58 -0500best solution (as clumsy as it might look) is to have the `css` binding be on an element nested in between the `with` and `html` elements. Stacking the `css` binding with either the `with` or `html` bindings forces the form to be rerendered if the condition changes, which can break the slider (and is obviously not desirable).greg
2017-07-13 23:51:28 -0500fix htmlWithBindings to trigger when the value is changed, as is expected in knockout.greg
2017-07-13 14:24:38 -0500move the hiding check into the inner div (where the form html is rendered). having it in the outer div forces it to be rerendered entirely when the value of plugin() changes, which somehow breaks the slider widget. Will probably need a proper knockout slider widget at some point.greg
2017-07-13 11:10:51 -0500Implement proper UI for legacy scene change detector.greg
2017-07-12 21:37:06 -0500guard against trying to call close() multiple timesgreg
2017-07-12 21:00:54 -0500Switch from old command line parser to embedded Tesseract parsergreg
2017-07-12 20:50:31 -0500actually don't check for validity, apparently certain other processor datatypes work with invalid json SMT's and this check breaks themgreg
2017-07-12 20:41:57 -0500update to latest cattura-utils-jsongreg
2017-07-12 20:41:12 -0500SettableFuture -> immediateFuturegreg
2017-07-12 20:38:09 -0500determineType() is faulty since YAML is a superset of JSON, so all JSON is valid YAML. The better approach would be to test for YAML explicitly, but since we never actually use YAML anywhere there's no reason right now.greg
2017-07-12 20:34:09 -0500isValid() now checks if the string content is actually valid for the given typegreg
2017-07-12 20:28:40 -0500return a static factory method for constructing JSON SMT's (most common use case)greg
2017-07-12 20:25:40 -0500this is also deprecatedgreg
2017-07-12 20:24:36 -0500deprecate SMT builder/parsergreg
2017-07-12 20:22:30 -05001.2.0-SNAPSHOT of cattura-utils-json: update jackson to 2.8.9greg
2017-07-12 19:28:24 -0500fromPairs()greg
2017-07-12 19:27:27 -0500implement backend for new enrichment framework.greg
2017-07-12 16:45:50 -0500update sqlite dependencygreg
2017-07-12 16:42:19 -0500add json commentgreg
2017-07-12 15:42:57 -0500use knockout to set enabled = true when accordion is clickedgreg
2017-07-12 13:39:25 -0500this on click handler interferes with the knockout enabled bindings (in the enrichment tab), so just scope it to the publishing tab for nowgreg
2017-07-12 13:26:32 -0500enrichment computed filters down to selected video sources so we don't need to manage that from this observablegreg
2017-07-12 13:24:59 -0500flesh out mapping of viewmodel to template parameters, filter enrichment down to selected video sourcesgreg
2017-07-12 12:33:21 -0500remove even more commented out codegreg
2017-07-12 11:59:00 -0500migrate underscore to lodash, remove old binding codegreg
2017-07-12 10:56:34 -0500remove commented out codegreg
2017-07-12 02:40:15 -0500we actually need to have multiple form objects, one per plugin per device idgreg
2017-07-12 02:01:54 -0500create a ProcessorUI object that encapsulates the form field data + knockout bindings. Use a convention such that config() returns the json-able config, whereas config.foo returns the observable for the field foo. This seamlessly translates between individual ko observables and an aggregated computed observable. Add the initial bindings to generic.html.greg
2017-07-11 22:53:43 -0500correctly copy filter config from enrichment to formgreg
2017-07-11 22:37:15 -0500clear filter configs when clearing typegreg
2017-07-11 22:35:53 -0500fix filter configuration formgreg
2017-07-11 16:59:58 -0500gitignoregreg
2017-07-11 14:17:05 -0500fix url to test videogreg
2017-07-11 14:15:09 -0500add rate limiter plugingreg
2017-07-11 14:09:09 -0500Create iss1706 testing project.greg
2017-07-11 11:11:50 -0500update to new version of scene change librarygreg
2017-07-10 16:25:40 -0500port over to new packet librarygreg
2017-07-10 13:13:23 -0500scene change library 2.0.0, remove dependence on legacy packet class. We can either make this depend on the new packet class or just use ivideopictures directly, but the packet class brings in refcouting (which we don't need) and we don't need the benefit of a packet class which can contain multiple types of data, if we only ever need one type of that data. Also, the Tesseract library was refactored to no longer require the packet so this can be too. We can possibly also drop the requirement for a duration (and hence the VO) and just return a screenshot file instead.greg
2017-07-05 16:30:14 -0500comment out the test build code again, clean breaks itgreg
2017-07-05 15:33:56 -0500fix base versiongreg
2017-07-05 15:32:54 -0500update magewell driver to 1.2.0.3460greg
2017-06-23 19:18:38 -0500Add restart API endpointgreg
2017-06-23 19:17:23 -0500make launch script understand the restart codegreg
2017-06-23 18:59:08 -0500add restart button to UIgreg
2017-06-23 18:56:52 -0500(finally) add a command for restarting the entire capturecast service. This will rely on the launch script understanding a special exit code and relaunching the process.greg
2017-06-23 18:55:35 -0500use parent 1.0.3 (cherry picked from commit 360a10e20edede0c348366720b9450402008210d)greg
2017-06-23 18:55:27 -0500downgrade jodd due to bug (cherry picked from commit 2002833ab1ad7f661d2512350865291f59877e38)greg
2017-06-23 18:55:08 -0500plugin parent pom, 1.0.2 (cherry picked from commit 589cdf00d6deea0704cb4e871851ab1d1642e456)greg
2017-06-23 18:54:57 -0500parent pom 1.0.3 (cherry picked from commit f3c9559c61b87e3fc94c82e536fd0e207483c92d)greg
2017-06-23 17:52:15 -0500if we cannot discover user's password, then authenticate by binding to LDAPgreg
2017-06-23 17:16:31 -0500log attribute names at fine levelgreg
2017-06-23 16:57:12 -0500enhanced logginggreg
2017-06-23 16:36:56 -05001.0.1 of ldap plugin. Update to 1.0.0 of apache directory librarygreg
2017-06-23 13:55:51 -0500render filter forms, hide if there are no filters/addons, etcgreg
2017-06-22 18:27:29 -0500better separation of filters vs enrichersgreg
2017-06-22 11:02:14 -0500cut Youtube plugin 1.2.2greg
2017-06-21 15:13:42 -0500linked -> isLinkedgreg
2017-06-21 14:51:13 -0500youtube plugin 1.2.2-SNAPSHOT - parse out linked status from channel info and consider it when validating configgreg
2017-06-21 13:50:43 -0500fix plugin idgreg
2017-06-21 13:03:06 -0500rework Tesseract plugin to now use the new packet structure. Tesseract plugin can either accept a TOC/SC + Image, just an Image, or just a TOC/SC (in which case the OCR is run on the screenshot). In all cases a Packets is transmitted upstream containing the generated TOC entry, which may also contain the image.greg
2017-06-20 16:59:39 -0500cut COS 1.0.5greg
2017-06-20 14:15:14 -0500cattura-os-setup 1.0.5-SNAPSHOT: new grub config!greg
2017-06-19 22:50:56 -0500go ahead and cut 3.2.4, it seems to be goodgreg
2017-06-19 21:21:00 -0500Live device preview plugin 3.2.4-SNAPSHOT: On session stop, close (i.e. stop and pull from the graph) preview streams. Keeping these around after stop might lead to an inconsistent state where, as one MPA module dies and another takes its place, the bridge sees a version of the graph with and without these nodes, which can cause issues (e.g. with the publish task repeatedly checking a media package is complete)greg
2017-06-19 17:53:36 -0500band-aid for helper.isComplete() throwing an exception and shutting the queue downgreg
2017-06-19 16:11:24 -0500default duration is 30greg
2017-06-19 16:06:37 -0500increase progress update to every 1s, updating the excuse every 10greg
2017-06-19 15:54:52 -0500more excusesgreg
2017-06-19 15:52:00 -0500that's depressinggreg
2017-06-19 15:51:16 -0500update fake publisher to latest publisher librarygreg
2017-06-19 11:39:13 -0500include id in removed loggreg
2017-06-19 11:38:42 -0500.value()greg
2017-06-19 11:38:21 -0500promote log messages to info (these don't come up often enough to be fine-level)greg
2017-06-19 11:08:41 -0500make asUser() a function, it being a property means it gets run through json and breaks the serializer (as it can't deal with this object)greg
2017-06-19 10:17:54 -0500exit maintenance window after maintenance mode exits. For our current use case this does not matter as we are rebooting immediately afterwards but if we make reboots conditional we don't want to continually re-enter maintenance mode.greg
2017-06-16 17:55:41 -0500cut cattura-os-setup 1.0.4greg
2017-06-16 17:43:32 -0500better logginggreg
2017-06-16 17:20:53 -0500only want security updatesgreg
2017-06-16 17:20:42 -0500fix syntax errorgreg
2017-06-16 15:46:53 -0500update to library 1.1.0greg
2017-06-16 15:45:44 -0500cut task queue library 1.1.0greg
2017-06-16 15:44:55 -0500whitespace changesgreg
2017-06-16 15:21:47 -0500cut sudo-rules 1.0.5greg
2017-06-16 15:16:13 -0500make postpone duration a constant and comment itgreg
2017-06-16 14:14:55 -0500simplify if statementgreg
2017-06-16 14:13:49 -0500remove logging. This check now runs every 500 millisgreg
2017-06-16 13:54:35 -0500Hide (for now) the OSMaintenanceTask in the task listing. In 4.6.0 this will be returned and the UI will only show the processing/publishing tasks (with maybe a panel in Settings for the maintenance tasks), but in 4.3.7 no UI updates are being done and we don't want the user experience to change.greg
2017-06-16 13:51:53 -0500add ability to submit maintenance tasksgreg
2017-06-16 13:50:28 -0500comment on maintenance modegreg
2017-06-16 13:44:44 -0500special case OSMaintenanceTask to always run lastgreg
2017-06-16 13:40:43 -0500refactor "is today maintenance day" check into own methodgreg
2017-06-16 13:15:16 -0500refactor time range checks out of system state checks, because they are cheaper we can do them more frequently.greg
2017-06-16 12:51:18 -0500add logginggreg
2017-06-16 12:43:34 -0500replace check for "is tomorrow yet" with a check for "has entered maintenance window" (which, for lack of a better name, just means that, if we start up during the maintenance time range, that we exit out of it before entering it and trying again. This allows the maintenance time range to not be dependent on it falling on the other side of midnight. TODO, probably think of better way to express this and better way to implement itgreg
2017-06-16 11:00:35 -0500fix blocking maintenance mode if there are queue items (should only apply to the other two queues)greg
2017-06-16 10:33:21 -0500add an hour sleep if we are not in maintenance modegreg
2017-06-15 19:47:31 -0500log output of command to capturecast loggreg
2017-06-15 19:34:36 -0500add initial maintenance tasksgreg
2017-06-15 19:31:00 -0500create an OSMaintenanceTask that will call out to the shell script to do the actual maintenance (updates, reboots)greg
2017-06-15 18:17:27 -0500introduce our own config for unattended-upgrades. We don't want this to run automatically but we're ok with it just downloading things. Capturecast will have a maintenance process wherein it invokes unattended-upgrades.greg
2017-06-15 14:41:14 -0500only get the proxy when we actually need it, if we get it to early PureMVC throws an exceptiongreg
2017-06-15 14:36:03 -0500Create a maintenance task queue which has the logic for polling and determining when to run maintenance tasks. The actual os-level "maintenance" will be done in a script which will (potentially) invoke the reboot.greg
2017-06-15 12:33:27 -05001.1.0-SNAPSHOT of queue library. Make isWithinTimeRange() a protected method which can be used by subclasses, so we can implement this check in the maintenance queuegreg
2017-06-15 11:43:44 -0500advertise support for the capturecast API, so cranium knows it can auth against it.greg
2017-06-14 18:44:40 -0500fix even more lodash/underscore stuffgreg
2017-06-14 18:42:32 -0500fix restart MPA module endpointgreg
2017-06-14 18:40:29 -0500fix importgreg
2017-06-14 18:36:36 -0500there we gogreg
2017-06-14 18:35:20 -0500properly return api methodgreg
2017-06-14 18:33:33 -0500hopefully clean up the js api helpergreg
2017-06-14 17:58:45 -0500remove unused importsgreg
2017-06-14 17:42:34 -0500go ahead and release 4.0.0 of the deprecated "hardware configuration api", which will be removed from the standard distributiongreg
2017-06-14 17:36:43 -0500lodash template fixesgreg
2017-06-14 17:33:58 -0500Add a json helper object in conveniencegreg
2017-06-14 17:29:58 -05003.1.12 of twitter plugin, yet more style changesgreg
2017-06-14 17:28:57 -0500email plugin 1.0.2, more style changesgreg
2017-06-14 17:18:40 -0500ppm plugin 3.1.15, style changesgreg
2017-06-14 17:15:42 -0500graph builder api plugin 3.1.11, style changesgreg
2017-06-14 16:54:59 -0500graph visualizer plugin 3.1.13greg
2017-06-14 16:54:32 -0500Hardware Agent -> CaptureCastgreg
2017-06-14 16:43:31 -0500fix migrating from underscore to lodash templatesgreg
2017-06-14 16:27:30 -05003.4.2-SNAPSHOT of web ui plugin, using updated extension librarygreg
2017-06-14 16:25:03 -05002.0.0-SNAPSHOT of ui extension library. This is 2.0.0 because it breaks backwards compatibility by removing the lodash helper.greg
2017-06-14 16:20:21 -0500Merge Lodash helper utility into the javascript helpers project. The UI extension library has duplicate code for loading lodash which is already provided by this project.greg
2017-06-14 13:33:56 -0500add a script to use checkrestart to restart servicesgreg
2017-06-14 12:38:58 -0500add debian-goodies as a dependency for os-setup. We can take a stab at using checkreboot to reboot any processes before remounting /greg
2017-06-14 12:32:16 -0500split our os patches into separate scripts. We may need to have a script that is run outside of the install, e.g. when apt-get runs.greg
2017-06-13 17:31:33 -0500some more logginggreg
2017-06-13 17:26:53 -0500fix logginggreg
2017-06-13 17:17:45 -0500only log when we actually do change somethinggreg
2017-06-13 17:14:53 -0500cattura-os-setup 1.0.4-SNAPSHOT: if we detect a separate /var partition, mark / as read-onlygreg
2017-06-13 13:32:23 -0500gitignoregreg
2017-06-13 13:31:54 -0500commit updated pomsgreg
2017-06-13 13:21:00 -0500Cut qtfs 1.0.4greg
2017-06-13 13:15:07 -0500Do not need SettableFuturegreg
2017-06-13 13:14:28 -0500lambdasgreg
2017-06-13 13:10:21 -0500settings expects enum values to be uppercasegreg
2017-06-13 13:03:48 -0500better logging, fix native implementationgreg
2017-06-13 12:53:42 -0500allow qt-faststart plugin to use the Native implementation. Still default to the external process for now because with bugfix releases don't want to change too much.greg
2017-06-13 12:42:28 -05001.1.0 of the qt-faststart library. qt-faststart is now embedded in the library to be used directly. For now we default to the external process but we can test with the library to see if it improves performance.greg
2017-06-13 12:33:57 -0500go ahead and cut 1.10.2-4 snapshotgreg
2017-06-13 11:11:53 -0500nginx 1.10.2-4-SNAPSHOT. Config to make it easier to work with read only root filesystemgreg
2017-06-12 14:00:14 -0500do not need wrapper function thingygreg
2017-06-12 13:53:03 -0500construct one message and transmit it to all clients, instead of constructing a message per clientgreg
2017-06-12 13:44:48 -0500spellinggreg
2017-06-12 13:43:26 -0500value() not values()greg
2017-06-12 13:20:47 -0500spellinggreg
2017-06-12 13:08:42 -0500derp, we were using underscore here toogreg
2017-06-12 13:05:05 -0500migrate from our old thenable library to rsvpgreg
2017-06-12 12:58:47 -0500de-underscorify the cranium plugingreg
2017-06-12 12:47:38 -0500even more import fixesgreg
2017-06-12 12:39:00 -0500fix underscore -> lodashgreg
2017-06-12 12:35:34 -0500fix is builder checkgreg
2017-06-12 12:32:07 -0500make api helper accept an api builder as well as plugin, so we don't need a plugin objectgreg
2017-06-12 12:19:44 -0500fix import of api helper from api plugingreg
2017-06-12 12:12:05 -0500graph builder api plugin 3.1.11-SNAPSHOT, de-underscoreifygreg
2017-06-12 12:09:19 -0500graph visualizer 3.1.13-SNAPSHOT, de-underscoreifygreg
2017-06-12 12:08:19 -0500email plugin 1.0.2-SNAPSHOT, de-underscoreifygreg
2017-06-12 12:06:49 -0500twitter plugin 3.1.12-SNAPSHOT, de-underscoreifygreg
2017-06-12 12:04:50 -0500ppm plugin 3.1.15-SNAPSHOT, de-underscoreifygreg
2017-06-12 11:56:42 -05001.0.4-SNAPSHOT of qt-faststart plugin. Quiet the qt-faststart instance we spin up to test if it can run.greg
2017-06-12 11:31:23 -0500javascript helpers, not plugin proxygreg
2017-06-12 11:28:41 -0500javascript helpers library is now loading thesegreg
2017-06-12 11:27:52 -0500make the javascript helpers library itself responsible for loading in the helper modulesgreg
2017-06-09 19:59:17 -0500actually load the js code in the plugingreg
2017-06-09 19:52:29 -0500expose js plugin helper modulesgreg
2017-06-09 18:23:40 -0500major changes to the CMJSPH library. Remove api helper because that now goes in the api plugin. Remove hand-grown thenable library in favor of rsvp. Remove underscore in favor of lodash. Remove http library in favor of request.greg
2017-06-09 17:25:51 -0500add support for some java 8 function typesgreg
2017-06-09 17:19:29 -0500Move the require function used by plugin loader into Modules helper object. This is so require can be used outside of the plugin loadergreg
2017-06-09 17:11:07 -05001.2.0 of plugin loadergreg
2017-06-09 16:58:13 -0500Move both the api helper javascript and the "configuration api" code into the main API plugin. Not sure what other plugin was even using that, actually. It might not need to be exposed.greg
2017-06-09 16:55:11 -05004.0.0-SNAPSHOT of the Hardware Configuration Plugin. This stuff really should be in the main API plugin so stub this plugin out and move the meat into that plugin.greg
2017-06-09 14:09:23 -0500add JSON description format. This can be used by external clients e.g. cranium to develop an API clientgreg
2017-06-09 12:42:12 -0500fix urlgreg
2017-06-09 12:41:47 -0500add an api authenticator for Cranium. Cranium can now access the API with full permissions using its access token.greg
2017-06-09 11:58:25 -0500javascript api client v3: add ability to specify custom information such as headers, this will be used by cranium to make authenticated api requestsgreg
2017-06-08 18:45:05 -05003.2.5-SNAPSHOT of api plugin + 3.3.0-SNAPSHOT of api library. Refactor request authorizer implementations and expose a way to add new ones. Goal here is to eventually add an API token based authorizer as well as allowing plugins to add their own (e.g. cranium). Cranium's token really should be some sort of an API token already.greg
2017-06-08 17:11:24 -0500more camelCasegreg
2017-06-08 14:53:15 -0500prefer camelCasegreg
2017-06-08 13:49:41 -0500cut log downloader plugin 3.1.24. This includes an improvement to the catturaCB-get-logs script that allows it to be used while capturecast is offline to get system logs.greg
2017-06-08 11:18:09 -0500broadcast exceptions coming out of publishing MPA modulegreg
2017-06-08 10:26:03 -0500propagate log level to publishing MPA modulegreg
2017-06-07 15:15:10 -0500detect if rtmp and http are available and translate that into whether audio and video are available. If the rtmp preview is disabled (which it is by default) then we want to hide the preview button for audio devices.greg
2017-06-07 14:45:20 -0500go ahead and cut these pluginsgreg
2017-06-07 14:36:55 -0500need to exclude oauth client from being inherited from the library dependency, probably due to a bug with the cattura helper plugin (which we should move away from at some point)greg
2017-06-07 14:24:18 -05001.2.1-SNAPSHOT of google, vimeo, youtube plugins. update oauth library to latest versiongreg
2017-06-07 14:10:00 -0500fix discovery processgreg
2017-06-07 12:13:02 -0500actually implement discovery of cranium urlgreg
2017-06-06 13:43:20 -0500When using sshpass pass in -A to have parallel-ssh ask for password. When not (because it's not available) don't use -A for parallel-sshgreg
2017-06-05 11:56:30 -0500implement shellcheck suggestionsgreg
2017-06-05 11:51:28 -0500updating reboot cannon based on Stephen's changesgreg
2017-06-02 16:41:38 -0500fixes suggested by shellcheckgreg
2017-06-02 16:35:49 -0500Add "reboot cannon" which uses parallel ssh to reboot a bunch of units a bunch of times.greg
2017-05-31 18:11:01 -0500relnotes 4.3.4greg
2017-05-31 17:05:58 -05003.2.3 of the live preview plugin: Disable RTMP live preview by default.greg
2017-05-31 15:01:37 -0500add monthly option to terminate timergreg
2017-05-31 14:36:20 -0500cut log downloader 3.1.23greg
2017-05-31 12:53:40 -05003.1.23-SNAPSHOT of log downloader plugin: run dmidecode as rootgreg
2017-05-31 12:53:12 -0500sudo rules: enable access to dmidecode as rootgreg
2017-05-26 23:53:02 -0500warning, not warn (cherry picked from commit 04d2d2997bf9ea81b0d424993c56c4c4ccaa7842)greg
2017-05-26 23:18:09 -0500Log downloader plugin 3.1.22greg
2017-05-26 23:16:19 -0500gitignoregreg
2017-05-26 21:56:23 -0500actually do not need that last redirect theregreg
2017-05-26 21:42:25 -0500authflow fixes, code refactorsgreg
2017-05-26 18:35:40 -0500disable api_version for nowgreg
2017-05-26 18:24:03 -0500pass in loggergreg
2017-05-26 13:35:03 -0500add logging here toogreg
2017-05-26 11:35:23 -0500stub out discoverCraniumUrl. This will probe cranium for the "actual" url to use for communication, which may be different than the one supplied by the user. Mount flowv2 before flow, because we want to prefer it.greg
2017-05-25 17:39:08 -0500stub out discoverCraniumUrl. This will probe cranium for the "actual" url to use for communication, which may be different than the one supplied by the user.greg
2017-05-25 17:33:18 -0500for now since flow id is generated on our end and not cranium's, use :flowId to represent flow id in the callback url.greg
2017-05-25 17:10:05 -0500let Cranium supply the token callback url instead of hardcoding it heregreg
2017-05-25 12:39:19 -0500express supported features in the /cranium response, since cranium already knows how to talk to it. We can detect "authv2" and know that the unit supports that flow.greg
2017-05-25 11:59:37 -0500GET to /hello should return success. Cranium needs to sniff out the valid auth flow for capturecastgreg
2017-05-24 14:57:54 -0500doc note on unit creationgreg
2017-05-24 14:53:46 -0500Add v2 of auth flow, which will be supported by cranium 1.4.x. Keep auth flow v1 around for backwards compatibility. Bump cranium plugin to 1.1.0-SNAPSHOT as the v2 flow is a major addition (with no backwards compatibility breakage).greg
2017-05-23 19:46:51 -05004.5.0-beta3-SNAPSHOT: attempt to order catturaCB service after postgresqlgreg
2017-05-23 19:24:04 -0500When using nginx with web server plugin, have the web server plugin bind to 127.0.0.1, so that it can only be accessed through nginx.greg
2017-05-23 19:18:54 -0500nightly -> dailygreg
2017-05-23 19:16:28 -0500change TerminateTask to run weekly by default. On a given day (Sunday) it will try to reboot, and if it cannot will try every day after that.greg
2017-05-23 18:30:06 -0500merging platform updates from iss1706 branch to mastergreg
2017-05-23 17:43:40 -0500read process output line-by-line instead of all at once (re-using the logic from addProcessOutputToZip) to prevent memory usage errorsgreg
2017-05-23 17:07:49 -0500Split off (legacy) auth flow into modulegreg
2017-05-19 19:33:20 -05001.10.2-3 of cattura-nginx package: Add X-Forwarded-For header so we can get the true IP address of the request.greg
2017-05-19 18:49:57 -0500use getIPAddressgreg
2017-05-19 18:49:32 -05001.0.10-SNAPSHOT of cranium plugin. Include IP address of requesting cranium in response. Cranium can use this to build a redirect url for capturecast.greg
2017-05-19 17:24:12 -0500add options to create and remove usergreg
2017-05-18 16:51:55 -0500remove unused importgreg
2017-05-18 16:35:32 -0500If user does not exist, install cattura-customer-user with --reinstall so we install the package even if it's already installed. So if the package is installed but the user is removed, the user will be recreated. Remove the manual user creation since we won't ever want to do that (it won't have all the neat stuff our canned user does)greg
2017-05-18 16:03:24 -0500Add recordfail timeout patchgreg
2017-05-18 11:53:58 -0500cattura-os-setup 1.0.2greg
2017-05-18 11:53:24 -0500open file for writinggreg
2017-05-18 11:00:45 -05001.0.1 of cattura os setupgreg
2017-05-18 11:00:12 -0500specify at least CNC 0.0.2greg
2017-05-18 10:59:25 -0500Disable apportgreg
2017-05-18 10:51:14 -0500begin 1.0.1-SNAPSHOT of os setupgreg
2017-05-17 17:11:00 -0500even better logginggreg
2017-05-17 17:06:47 -0500better logginggreg
2017-05-17 16:59:34 -0500Restart certain services if we fix the ethernetgreg
2017-05-17 16:49:53 -0500technically what we are looking for is an ethernet -interface- (which will show up even if there is nothing actually connected to it)greg
2017-05-17 16:48:27 -0500systemctl enable will exit on error even though it completed successfully (because of missing tags in our sysv script) but since it actually does work just exit 0greg
2017-05-17 12:55:01 -0500fix pathgreg
2017-05-17 12:51:01 -0500Add systemd service file which is configured to start up on boot, after network manager.greg
2017-05-17 12:13:10 -0500make loglevel configurablegreg
2017-05-17 12:04:47 -0500use default log formatgreg
2017-05-17 12:02:58 -0500increment versiongreg
2017-05-17 11:49:13 -0500remove unused cratesgreg
2017-05-17 11:45:48 -0500improved logging using log4rs crategreg
2017-05-16 18:49:31 -0500increase reload tries to 20, sleep duration to 1.5s add delay/check 10 timesgreg
2017-05-15 17:12:00 -0500return early if we call reboot, to avoid clearing the reboots filegreg
2017-05-15 15:51:47 -0500add -r argument to init scriptgreg
2017-05-15 15:48:18 -0500better logging; make reboot optional and opt-in, the init script will use it but it might not be desirable if invoked manuallygreg
2017-05-15 14:45:10 -0500sleep time = 1 secgreg
2017-05-15 14:28:38 -0500simplify get_num_reboots()greg
2017-05-15 13:55:28 -0500consider the actual process return value for success, not just whether it executed. Only consider the return value for modprobe since rmmod can exit with failure if the module is not loaded. We don't care if the module was loaded beforehand, only that it is loaded after the function exits.greg
2017-05-15 12:47:01 -0500implement reboot attempts, use a file to keep track attemptsgreg
2017-05-12 21:28:05 -0500set dependencies to blank. The auto-generated dependencies from my computer (debian testing) are too new for ubuntu 16.04, but the built binary runs fine on it.greg
2017-05-12 21:27:46 -0500don't necessarily want to run this in the backgroundgreg
2017-05-12 21:08:49 -0500add postinst and init scriptgreg
2017-05-12 20:57:09 -0500add deb packaging stuffgreg
2017-05-12 18:07:30 -0500logginggreg
2017-05-12 18:05:31 -0500make ALX_DRIVER name constantgreg
2017-05-12 18:02:53 -0500Initial commit of "cattura-network-checker"greg
2017-05-12 11:38:09 -0500changes for gitignoregreg
2017-05-11 16:48:27 -0500Drop packet dependency. Remove need for timestamp. Remove OCRMetaDataVO. The timestamp was previously needed in order to relate OCR results (from video pictures) to scene change metadata, which were sent in separate channels and needed to be related. Now that we are bundling the SC with the video packet this is no longer necessary and we can just return a string.greg
2017-05-11 16:29:40 -0500extend Closeablegreg
2017-05-11 16:25:27 -0500Use an incrementing integer to name temp images.greg
2017-05-11 16:13:21 -0500Trim results of new implementationgreg
2017-05-11 16:11:57 -0500Test current ocr implementation against old onegreg
2017-05-11 16:07:54 -0500instead of feeding the byte data into tesseract, load it into leptonica first. First approach is a naive approach that saves to disk and then re-loads. Not very optimal, but not any worse than what we were already doing (by using the tesseract command line).greg
2017-05-11 16:02:09 -0500Split logic for dumping temporary images to disk into a helper class, since it is reused.greg
2017-05-11 14:10:29 -0500Pass in tesseract data directory for testgreg
2017-05-11 14:02:33 -0500need to specify path to data, probably in plugingreg
2017-05-11 13:48:32 -0500Implement and test Tesseract OCR library.greg
2017-05-11 13:30:36 -0500Remove legacy-legacy tesseract script wrapper parser. Mark the current-legacy parser (tesseract external process) as deprecated, to make way for the new parser (tesseract library).greg
2017-05-11 13:27:08 -05002.0.0-SNAPSHOT of tesseract (OCR) library. Use new packet structure and javacpp-preset for directly interacting with tesseract.greg
2017-05-11 12:06:16 -05001.1.0-SNAPSHOT of OCR plugin. Title changed from "Screen Reader" plugin to "Tesseract OCR" plugin to better reflect the implementation.greg
2017-05-11 12:02:06 -0500update test with new test video to better test scene change limitergreg
2017-05-10 19:05:07 -0500update dependencies to make test rungreg
2017-05-10 19:04:14 -0500Add test for scene change limiter plugingreg
2017-05-10 18:53:31 -0500Scene change rate limiter plugin, using new packets structure.greg
2017-05-10 18:24:32 -0500Link -> Processorgreg
2017-05-10 18:20:10 -0500log contents of Packetgreg
2017-05-10 17:52:01 -0500port ShotDetect plugin to new packets structuregreg
2017-05-10 17:31:43 -0500add method for converting legacy Packets to new Packetsgreg
2017-05-10 17:29:47 -0500return Optional<Packet<T>> instead of Optional<Packet>greg
2017-05-10 16:38:29 -0500add convert utility methods for going from legacy packet to new packetgreg
2017-05-10 16:16:34 -0500add of(Iterable) methodgreg
2017-05-10 14:43:34 -0500implement IDeletable, check for this on content and deletegreg
2017-05-10 14:35:31 -0500add method to get all packetsgreg
2017-05-10 14:34:13 -0500these should be staticgreg
2017-05-10 14:26:44 -0500Add ability to make deep copies.greg
2017-05-10 14:20:19 -0500New packet library, which will be used for SCD/OCR stuff. This implementation allows multiple packets of arbitrary type to be bundled into a "Packets" which can then be unpacked by the receiving processor. The current/old "Packets" has support for a limited number of hardcoded specially known datatypes, which can be problematic if/when we finally move off of Xuggler. This new library has optional Xuggler support but it can be used without it.greg
2017-05-05 18:35:35 -0500prefer mojo to antrungreg
2017-05-05 18:35:08 -0500Add a mojo which moves built native object into jar.greg
2017-05-05 18:16:49 -0500Remove setup-native-dependencies script, use mojogreg
2017-05-05 17:57:19 -0500Add a Mojo which can extract so files from a jar so they can be linked againstgreg
2017-05-05 12:05:37 -05003.1.22-SNAPSHOT of log downloader plugin: fix hour-to-millis conversiongreg
2017-05-04 14:42:17 -0500add avconfig.hgreg
2017-05-04 10:47:07 -0500oops, apparently this newline is not optional (cherry picked from commit 5ee7b98f2b084d6d5689bfdbd9b74491870084de)greg
2017-05-04 10:46:35 -0500oops, apparently this newline is not optionalgreg
2017-05-04 09:45:32 -0500this is now 3.4.2greg
2017-05-04 09:42:29 -0500fix up header projectsgreg
2017-05-03 16:16:02 -0500prepare 4.5.0-beta2greg
2017-05-03 16:14:52 -0500relnotes 4.5.0-beta2greg
2017-05-03 15:10:50 -0500oops, not snapshotgreg
2017-05-03 15:10:30 -0500cut 4.5.0-beta2greg
2017-05-03 15:09:41 -0500cut installer 1.0.3greg
2017-05-03 15:09:24 -0500fix call to remove user, remove user directory as well (not doing so defeats the purpose of refreshing the user)greg
2017-05-03 14:41:00 -0500fix issue where version numbers such as 4.4.0-beta1 don't get parsed correctlygreg
2017-05-03 14:31:08 -0500add command to refresh (i.e. remove and recreate) usergreg
2017-05-03 14:07:58 -0500install drivers before installing features, so that devices get detected on first loadgreg
2017-05-03 13:59:00 -0500revert commit, instead we'll install drivers then install capturecastgreg
2017-05-03 13:58:20 -0500Begin installer 1.0.3-SNAPSHOT. Restart capturecast after installing driversgreg
2017-05-03 13:20:54 -0500Frame stitcher plugin 1.1.3greg
2017-05-03 13:20:34 -0500... just use the parent pom directlygreg
2017-05-03 13:16:35 -0500release native stitcher library 1.1.0greg
2017-05-03 13:14:01 -0500update to parent pom 1.0.2 to use latest dependenciesgreg
2017-05-03 13:11:41 -0500Change ffmpeg headers package to match version from headers (currently xuggler captive ffmpeg)greg
2017-05-03 13:10:51 -0500Remove xuggler headers from ffmpeg headers packagegreg
2017-05-03 13:08:23 -0500Change project version to match xuggler version the headers were picked from (5.3)greg
2017-05-03 13:05:19 -0500Remove xuggler/ffmpeg headers from frame stitcher library. Use packages instead (cherry picked from commit 353f38f388a4de677bdf9cdb76d0ea722bd8edea)greg
2017-05-03 13:04:20 -0500Add ffmpeg/xuggler headers packagesgreg
2017-05-03 13:01:25 -0500sudo rules 1.0.3greg
2017-05-03 13:00:28 -0500cut log downloader plugin 3.1.21greg
2017-05-03 12:59:18 -0500Add a script to download logs from log downloader plugin (initially using a web service)greg
2017-05-03 11:51:01 -0500release UI plugin 3.4.1greg
2017-05-03 00:28:48 -0500use htmlWithBindingsgreg
2017-05-03 00:13:42 -0500add binding for html injection that also processes inner bindingsgreg
2017-05-03 00:02:09 -0500don't use an accordion for this, there's only one element here (for now) so it's a bit excessivegreg
2017-05-02 23:18:49 -0500some minor refactors to enrichment "types," populate viewmodel from template when opening modalgreg
2017-05-02 21:37:14 -0500styling and labelsgreg
2017-05-02 14:44:47 -0500remove scopegreg
2017-05-02 14:08:21 -0500move "types" stuff to enrichment.jsgreg
2017-05-02 00:29:46 -0500build out addons UI. This will eventually probably be all moved to enrichment.jsgreg
2017-04-28 16:52:59 -0500build out the "enricher form" system based somewhat on publisher formsgreg
2017-04-27 11:03:59 -0500implement clear -properly-greg
2017-04-26 16:35:37 -0500Clear enrichment configurationgreg
2017-04-26 14:23:22 -0500Replace the simple enrichment viewmodel (in template editor) with an enhanced one, to support the expanded enrichment UIgreg
2017-04-25 17:25:17 -0500reorganize enrichers by data type -> pluginsgreg
2017-04-24 15:56:46 -0500Remove xuggler/ffmpeg headers from frame stitcher library. Use packages insteadgreg
2017-04-24 15:16:01 -0500Remove xuggler/ffmpeg headers from shotdetect library. Use packages insteadgreg
2017-04-24 15:14:51 -0500Add ffmpeg/xuggler headers packagesgreg
2017-04-24 14:55:49 -0500supportedInputTypes -> inputInterests, fixes a regression for multi-formgreg
2017-04-24 14:34:37 -0500begin new enrichment UIgreg
2017-04-24 13:02:01 -0500more descriptive exceptiongreg
2017-04-24 12:52:28 -0500configuration module 3.5.1-SNAPSHOT: better handling for no-arg event handlers, and verify correct number/type of arguments on addgreg
2017-04-21 14:24:46 -0500stamp downloaded log files with unit hostname and datetimegreg
2017-04-21 13:49:42 -0500collapse duplicate loopsgreg
2017-04-21 13:48:43 -0500216.58.218.110 is a google ipgreg
2017-04-21 13:44:43 -0500wordsgreg
2017-04-21 13:19:26 -0500remove blank newlinegreg
2017-04-21 13:17:38 -05001.0.3-SNAPSHOT of sudo rules. Add network debug scriptgreg
2017-04-21 13:13:21 -05003.1.21-SNAPSHOT of log downloader plugin. Add network debug script.greg
2017-04-21 12:34:34 -0500for friendly name, strip out "plugin" suffixgreg
2017-04-21 11:47:00 -0500flesh out Enrichers UI codegreg
2017-04-20 19:22:27 -0500fix symlinksgreg
2017-04-20 19:08:58 -0500add a mojo for generating package.jsongreg
2017-04-19 18:41:48 -0500Begin UI plugin 3.4.1. Introduce concept of "enrichers" which are added to the capture session to produce metadata such as TOC. Example enrichers are the shotdetect plugin, legacy scene change plugin, ocr plugin, manual scene change plugin, etc. The user configures "enrichers" in the template UI, similar to how "publishers" are configured now. This replaces the current hardcoded understanding of "OCR" and "segmenter"greg
2017-04-19 18:33:52 -0500synchronize with resampler for thread safetygreg
2017-04-19 17:41:26 -0500try to minimize amount of allocations and copies we do. We still need to resample YUV420p -> RGB24, then copy that to previousFrame, but we can avoid allocating a new picture each timegreg
2017-04-19 15:36:58 -0500Add the shotdetect library and plugin to aggregatorgreg
2017-04-19 15:29:33 -0500instead of assuming png for content-type (it's actually jpeg), probe itgreg
2017-04-19 14:53:31 -0500slight correction to loggreg
2017-04-19 14:22:25 -0500ignore plugin testgreg
2017-04-19 14:09:01 -0500pass first frame to shotdetectgreg
2017-04-19 13:59:56 -0500expose createMainDirectory()greg
2017-04-19 13:45:51 -0500Expose saveFirstShot in JNIgreg
2017-04-19 13:26:34 -0500RGB not BGRgreg
2017-04-19 13:14:22 -0500fix shotdetect output directorygreg
2017-04-19 13:00:10 -0500use updated parent pomgreg
2017-04-19 12:32:17 -0500figured out the issue with the SafeResamplerCache so switch back to itgreg
2017-04-19 11:59:08 -0500Directly use IVideoResamplergreg
2017-04-19 11:08:26 -0500Convert to RGB24 to use with ShotDetectgreg
2017-04-19 10:58:26 -0500Don't process packets if they don't have video picturesgreg
2017-04-18 18:56:53 -0500fix dependenciesgreg
2017-04-18 17:19:24 -0500Add a test for shotdetect plugingreg
2017-04-18 15:50:36 -0500Create shotdetect directorygreg
2017-04-18 15:00:16 -0500Flesh out shotdetect plugingreg
2017-04-18 13:15:29 -0500update shotdetect modulegreg
2017-04-18 11:35:20 -0500Add beginning of shotdetect plugingreg
2017-04-18 10:46:08 -0500remove commented out codegreg
2017-04-18 10:36:28 -0500update JNI bindingsgreg
2017-04-18 09:43:49 -0500use API plugin 3.2.4greg
2017-04-18 09:34:42 -0500pass through to native CompareFramegreg
2017-04-17 17:08:02 -0500point Shotdetect submodule to our forkgreg
2017-04-17 15:04:24 -0500fix dependenciesgreg
2017-04-17 14:43:49 -0500log settingsgreg
2017-04-17 14:42:28 -0500create a scd-ocr-runner based on the iss1635 test. This just takes an input file and output directory and runs our ocr on itgreg
2017-04-17 13:41:20 -0500better logging and error responsegreg
2017-04-17 13:28:38 -0500minimize jar breaks xugglergreg
2017-04-17 13:26:21 -0500make shot-detect jar executable so it can be tested on the actual unit. For some reason it locks up my machine when I run the testsgreg
2017-04-17 10:55:42 -0500use latest cattura-parentgreg
2017-04-17 10:54:42 -0500gitmodulesgreg
2017-04-14 18:50:19 -0500oops, meant to use this version of magewell pc driversgreg
2017-04-14 18:37:30 -0500begin packaging 4.5.0-beta1. Try a different approach to generating the repo, where we specify the version numbers in the pom and either update manually or run versions plugin to increment to latest.greg
2017-04-14 18:29:31 -0500is a plugin so should have -plugin in the idgreg
2017-04-14 18:26:31 -05001.0.5 of javasound plugingreg
2017-04-14 18:26:02 -05001.0.3 of javasound librarygreg
2017-04-14 18:21:17 -05004.5.0-beta1 of platformgreg
2017-04-14 18:20:30 -0500Configuration module 3.5.0greg
2017-04-14 18:20:06 -0500API Plugin 3.2.4greg
2017-04-14 18:19:44 -0500Web UI plugin 3.4.0greg
2017-04-14 18:19:29 -0500Configuration api plugin 3.1.14greg
2017-04-14 18:16:42 -0500since the html id can no longer be used to map to a publisher (plugin), add the actual publisher id to a data attributegreg
2017-04-14 17:54:08 -0500remove mappings to/from legacy configuration. These are not used anymore since the UI now directly works with plugins and processor datatypes.greg
2017-04-14 17:33:16 -0500Introduce sanitizedId which is just the html-safe version of the id, and use that in context where we need an html-safe id. This id should never be used outside the UIgreg
2017-04-14 16:59:22 -05003.2.4-SNAPSHOT of api plugin. Remove references to PublishPlatformVOgreg
2017-04-14 16:51:28 -0500remove UI support for PublishPlatformVOgreg
2017-04-14 16:29:54 -0500Completely remove the PublishPlatformVO object, as well as any associated events and functions. The publish platform will be represented directly by a MediaProcessingModule.Plugin. This simplifies the codebase (since most of what we did with these VOs was map them back to plugins) and removes redundant code that doesn't actually do anything. We can just map plugins to publishers on the UI side.greg
2017-04-14 16:07:55 -0500Include input and output interests in returned plugin infogreg
2017-04-14 15:34:00 -0500cut 3.2.2 of live device preview plugingreg
2017-04-14 15:32:48 -0500up dependenciesgreg
2017-04-14 15:32:13 -05001.1.3 of oauth library. Build with latest lombok + guavagreg
2017-04-14 15:30:01 -05001.0.1 of task queue library. No other change except building with latest lombokgreg
2017-04-14 15:22:35 -0500up to parent 1.0.2greg
2017-04-14 15:21:33 -0500cut cattura-parent 1.0.2, all this does is raise the lombok versiongreg
2017-04-14 15:09:26 -05003.2.2-SNAPSHOT of live device preview plugin. When loading live preview stream, log the type and tech name of the stream that failed or succeeded to loadgreg
2017-04-14 14:55:42 -0500cut web console plugin 3.2.0greg
2017-04-14 14:52:28 -0500cut API plugin 3.2.3greg
2017-04-14 14:45:23 -0500cut upload service 3.1.10greg
2017-04-14 14:25:40 -0500cut ldap plugin 1.0.0greg
2017-04-14 14:23:36 -0500Add ldap plugin to parentgreg
2017-04-14 14:17:27 -0500Panopto plugin 1.2.0greg
2017-04-14 14:16:03 -0500Opencast plugin 1.4.0greg
2017-04-14 14:15:46 -0500Opencast library 2.0.1greg
2017-04-14 14:15:24 -0500storage plugin 1.2.0greg
2017-04-14 14:14:51 -0500cut kaltura-plugin 1.4.0greg
2017-04-14 14:14:37 -0500cut the publisher-processor 3.1.0greg
2017-04-14 14:13:43 -0500cut kaltura client 3.2.3greg
2017-04-14 14:03:47 -0500Mpa module 3.4.0greg
2017-04-14 14:03:25 -0500base platform parent 1.1.0greg
2017-04-14 14:01:24 -0500add base platform parent to parent pomgreg
2017-04-14 13:59:27 -05003.4.0 of mpa module bridgegreg
2017-04-14 13:58:37 -0500cut 3.3.0 of cattura-agent-commonsgreg
2017-04-14 13:55:20 -0500cut processor-engine 1.3.0greg
2017-04-14 13:54:00 -0500cut processor 1.3.0greg
2017-04-14 13:53:26 -0500cut cattura-commons 1.2.0greg
2017-04-14 13:52:33 -0500begin 1.0.1-SNAPSHOT of cattura-utils-settingsgreg
2017-04-14 13:44:35 -0500cut cattura-utils-json 1.1.0greg
2017-04-14 13:43:44 -0500cut cattura-utils 1.2.0greg
2017-04-14 13:43:00 -0500remove unused importgreg
2017-04-14 13:41:36 -0500extend Functiongreg
2017-04-14 13:40:00 -0500extend Consumergreg
2017-04-14 13:39:46 -0500use lambdagreg
2017-04-14 13:34:35 -0500remove dupe constructorgreg
2017-04-14 12:13:06 -0500expand test to work with multiple threshold valuesgreg
2017-04-14 11:39:40 -0500implement converting IVideoPicture -> AVFrame, begin implementing compareFramegreg
2017-04-14 11:04:56 -0500Only run shotdetect test if file is availablegreg
2017-04-13 17:10:38 -0500move ffmpeg headers to the appropriate directorygreg
2017-04-13 17:08:52 -0500pull in the correct ffmpeg headers (for matching with xuggle's version).greg
2017-04-13 15:15:53 -0500add methods for configuring shotdetectgreg
2017-04-13 14:47:40 -0500add method for setting output pathgreg
2017-04-13 14:32:04 -0500add gd dependencygreg
2017-04-13 14:19:19 -0500add method to set input path (for calling process()). This is meant as a test to see if we can run shotdetect from our library, it (hopefully) won't be the actual implementation in the plugingreg
2017-04-13 14:10:45 -0500Add other shotdetect sources we need, plus lxml2 dependency for linkergreg
2017-04-13 14:06:45 -0500Cache the fieldid for the native shotdetect object.greg
2017-04-13 13:48:50 -0500Create native shotdetect objectgreg
2017-04-13 12:42:50 -0500include shotdetect source and make it build. I think we only need the "film" classgreg
2017-04-13 11:59:39 -0500begin java project for shotdetectgreg
2017-04-13 11:29:09 -0500Begin shotdetect project with git submodulegreg
2017-04-12 17:26:31 -0500new upload service plugin, for json compatibilitygreg
2017-04-12 17:12:33 -0500going to make this particular plugin 3.4.0, so we can backport as we need to 3.3.xgreg
2017-04-12 16:29:13 -0500need to negate these conditionsgreg
2017-04-12 15:48:42 -0500handle case where device is not found, so we don't try to get its audio levelgreg
2017-04-12 15:43:54 -0500remove random </span>greg
2017-04-12 15:12:28 -0500for consistency, use red for delete actionsgreg
2017-04-12 14:52:13 -0500if config value parses into something that isn't an element, return Optional.absent() (since we can only return elements from this method)greg
2017-04-12 14:14:33 -0500remove last vestiges of card typegreg
2017-04-12 14:05:53 -0500consistently use red (danger) for delete actionsgreg
2017-04-12 13:52:06 -0500probably makes more sense to put InternalUsers in AuthenticationProxy since they aren't managed by the UserProxygreg
2017-04-12 13:49:06 -0500Add the cattura-tech user as an internal (backdoor) user. This user isn't managed by the UserProxy and isn't visible to the UI.greg
2017-04-12 13:37:40 -0500bring back the "guest" user. Eventually even this will be removed and the user will be prompted to create a new user. "cattura-tech" user will be provided by another authentication provider (probably internal to the CM for now)greg
2017-04-12 13:34:37 -0500add base plugin path (/var/cattura/plugins) to search path for both modules, idea is that you can eventually put a single plugin in this directory and it will count as both types of plugins (imagine a plugin providing a capability in the media processing module, and extending the UI in the configuration module to expose that to the user)greg
2017-04-12 12:54:19 -0500fix delete individual querygreg
2017-04-12 12:05:39 -0500treat -1 as empty because it represents default valuegreg
2017-04-12 11:54:33 -0500oops, wrong ordergreg
2017-04-12 11:50:52 -0500use -1 to represent default poll periodgreg
2017-04-12 11:47:39 -0500this is giving headaches so back to empty string/-1 to represent default value. Will just do some clever UI stuff to hide itgreg
2017-04-12 11:30:28 -0500updateConnection() should not disconnect if we have a valid config and are already connectedgreg
2017-04-12 11:22:11 -0500denote absence of setting by not actually including it, since Settings.toMap() doesn't like null valuesgreg
2017-04-12 11:00:40 -0500add delete button to modalgreg
2017-04-12 11:00:25 -0500use null to represent unconfigured (default) valuesgreg
2017-04-12 10:52:23 -0500Validate required fields (host, admin, admin password) if trying to submit ldap config. Anything that has a reasonable default (port, username/password field, poll period) does not need to be validatedgreg
2017-04-12 10:39:25 -0500remove log statementgreg
2017-04-11 18:53:51 -0500use lodash, load everything on INIT (when we are guaranteed our user has loaded)greg
2017-04-11 18:41:10 -0500expose lodash and moment librariesgreg
2017-04-11 18:28:19 -0500load js extensions within our module scope, so the extensions can require() librariesgreg
2017-04-11 17:10:23 -0500correctly filter down through query/global/default settingsgreg
2017-04-11 16:54:27 -0500settings are observablesgreg
2017-04-11 16:33:29 -0500Show default values as placeholders in both settings and query modal.greg
2017-04-11 16:32:37 -0500Don't return the default values in the config. If the config values are empty then we will default to those. Also respect (in order) query's settings, then global settings, then default settings.greg
2017-04-11 16:23:44 -0500Update for new dependencies. Transformer was moved into a librarygreg
2017-04-11 16:19:00 -0500Remove log statementgreg
2017-04-11 16:18:45 -0500When value changes, update the button on the combobox to select (if it's empty) or clear (if it's not)greg
2017-04-11 15:49:00 -0500Add a basic ldap server which is used to test the ldap plugingreg
2017-04-11 15:25:36 -0500use new librarygreg
2017-04-11 15:24:56 -0500jdom2 uses genericsgreg
2017-04-11 12:43:56 -0500update for jdom2 compatibility and remove duplicate classesgreg
2017-04-11 12:01:39 -0500fix redetectgreg
2017-04-11 11:56:12 -0500updated plugin to use latest version of librarygreg
2017-04-11 11:42:12 -0500fix make/verifygreg
2017-04-11 11:27:53 -0500move off JSONUtilitiesgreg
2017-04-11 11:08:59 -0500fix verifygreg
2017-04-11 11:07:37 -0500update opencast plugin for new dependenciesgreg
2017-04-11 10:35:59 -0500add proxy_request_buffering off; to prevent request from timeoutgreg
2017-04-10 21:29:10 -0500update panopto plugin for new dependenciesgreg
2017-04-10 20:44:14 -0500use latest publisher librarygreg
2017-04-10 20:40:08 -05001.4.0-SNAPSHOT kaltura plugin, using updated dependenciesgreg
2017-04-10 20:34:22 -05003.1.0-SNAPSHOT of publisher processor librarygreg
2017-04-10 20:31:05 -05001.4.0-SNAPSHOT of kaltura plugin with new dependenciesgreg
2017-04-10 14:40:27 -05001.2.0-SNAPSHOT of local storage plugin, for compatibility with new json libraries. Use media package copier from publisher library.greg
2017-04-10 14:26:33 -0500treat LinkageError as an exception for the getoptions casegreg
2017-04-10 14:17:33 -0500If exception happens while trying to getOptions, propagate to the options future.greg
2017-04-10 14:11:49 -0500If exception happens while trying to getOptions then set the audio/video devices from that plugin to empty, handle exception, and still count it towards completion. We don't want one failure to hold up completion of all detections.greg
2017-04-10 13:42:39 -0500remove locks, there should be no need for themgreg
2017-04-10 13:40:53 -0500use a cache to optimize getVideoDevices/getAudioDevices, since the set of audio/video devices will not change once all options are discovered.greg
2017-04-10 13:16:56 -0500update dependenciesgreg
2017-04-10 13:08:56 -0500new UI plugin with updated jacksongreg
2017-04-10 13:02:21 -0500use updated bridge dependencygreg
2017-04-10 12:56:48 -0500Remove catturavideo.com/jsonip.php endpoint for checking ip. It went down forever ago and probably isn't coming back up any time soongreg
2017-04-10 12:54:04 -0500Processor engine with updated Jacksongreg
2017-04-10 12:30:18 -0500MPA Module Bridge with updated jacksongreg
2017-04-10 12:25:23 -0500update jacksongreg
2017-04-10 12:20:59 -0500update cattura-commons dependency to make tests rungreg
2017-04-10 12:18:45 -0500cac 3.3.0-SNAPSHOT with updated jacksongreg
2017-04-10 12:17:23 -05001.3.0-SNAPSHOT of processor library with updated jacksongreg
2017-04-10 12:02:09 -0500update MPA module for new dependenciesgreg
2017-04-10 11:59:50 -0500update configuration module for new dependenciesgreg
2017-04-10 11:34:33 -0500bring in Transformer from the ldap plugin. We do a lot of converting from one type to another so having a dedicated class to do this is a good ideagreg
2017-04-10 11:28:09 -0500cattura-utils-json 1.1.0-SNAPSHOT: update jdom and jackson to latest versions, some API additions. This is a breaking change for anyone who is using jackson directly (which should only be a handful of projects)greg
2017-04-10 11:03:25 -0500add asOptional and ifPresentgreg
2017-04-10 11:00:13 -0500cattura-utils 1.2.0-SNAPSHOT. Pull in changes to cache classgreg
2017-04-10 10:41:40 -0500cattura-commons 1.2.0-SNAPSHOT. Throw in InputChunker and ProgressTrackingOutputStreamgreg
2017-04-07 17:49:15 -0500relnotes 4.3.3 (cherry picked from commit 74a14038d91fe8da13ba503b49f6c230d0e189fc)greg
2017-04-07 16:04:43 -0500createSafeId for the source idgreg
2017-04-07 16:01:45 -0500bump to 3.3.3-SNAPSHOTgreg
2017-04-07 16:01:28 -0500Add support for __PRIMARY keyword (cherry picked from commit 52878b128aa2f7a150fe449b9cf9ed8539715a8b)greg
2017-04-07 16:01:21 -0500if extensions failed to load, don't crash the knockout binding (cherry picked from commit da225f4d64ccfd98b511a5c7a87074543c702728)greg
2017-04-07 15:04:03 -0500cut kaltura plugin 1.3.2greg
2017-04-07 14:12:47 -05001.3.1 of opencast plugin. This allows the special keyword __PRIMARY to be used to specify that the primary copy is the presenter or presentationgreg
2017-04-07 14:07:01 -0500add the catturaCB-update command back, it's now an alias for the installergreg
2017-04-07 14:04:28 -0500begin 4.4.0 of platformgreg
2017-04-07 14:02:40 -0500go ahead and cut installer 1.0.2greg
2017-04-07 13:58:57 -0500cache the result of getUsers() too. This will only change when the primary cache is updated, and does not need to be regenerated on each call to getUsers().greg
2017-04-07 13:28:29 -0500if the same user is returned by multiple queries, collapse them into a single usergreg
2017-04-07 12:50:59 -0500simplify login procedure to just search for a user with matching username and password. If search fails because of broken connection, retry and attempt connection.greg
2017-04-06 23:14:26 -0500Default filter to (objectClass=*)greg
2017-04-06 22:57:01 -0500defer constructing and binding modal, to get around knockout ordering issuesgreg
2017-04-06 22:46:02 -0500correctly render user rolesgreg
2017-04-06 18:29:07 -0500Make password a password fieldgreg
2017-04-06 18:28:41 -0500Split the authentication and connection statuses, so e.g. it can say successfully connected but failed to authenticate. We can't do anything until we do both, but it's helpful to know the connection is successful even if it can't log in.greg
2017-04-06 17:36:51 -0500tidy up no queries/no users messagesgreg
2017-04-06 17:10:14 -0500Display feedback if we fail to save querygreg
2017-04-06 17:09:24 -0500Add validation for trying to add/update queries.greg
2017-04-06 17:03:11 -0500Add function and UI for testing queriesgreg
2017-04-06 17:02:39 -0500Parse and propagate error from plugins API to caller.greg
2017-04-06 16:03:04 -0500Create a Modal constructor that takes care of creating the modal and the knockout bindings. This will be reused later for other modalsgreg
2017-04-06 15:51:26 -0500Clear cache of users after disconnectinggreg
2017-04-06 15:20:24 -0500Begin 3.2.3-SNAPSHOT of api plugin. If no one is connected to EventObservationService then don't transmit events.greg
2017-04-06 14:58:38 -0500When saving configuration, update status and users.greg
2017-04-06 13:14:47 -0500Use correct arch for chrome repo (process throws errors if it's not there). If chrome repo and extra repo are already set up, don't add them again. Only update in register_extra if repos were modified.greg
2017-04-06 13:04:07 -0500Associate queryIds to fetched users, so that when a particular query is modified or deleted we don't need to run all the other queries, we can just refresh that particular query. Also, when a query is added, we can just run that query and not need to run all the others. On the UI side, since the set of users changes when queries are changed, refresh users after editing queries.greg
2017-04-06 11:55:39 -0500Move logic for running a single query into a method, so it can be used to test queries. Whenever queries are modified, refresh users.greg
2017-04-06 10:19:43 -0500Add combobox for filter, and user refresh.greg
2017-04-06 10:16:07 -0500add "after" for combobox binding so it should run after options binding. Not sure if this will do anything in knockout 2.3.0 but if/when we update it could helpgreg
2017-04-05 19:30:14 -0500even more combobox fixes: if the value observable itself changes in update() (perhaps because we have { value: foo().bar } and foo is updated, so bar is now a new observable), update it internallygreg
2017-04-05 18:16:06 -0500fix for fix for initialization for comboboxgreg
2017-04-05 17:36:16 -0500fix for initialization of comboboxgreg
2017-04-05 14:12:37 -0500store Dn as a string, we don't need the Dn object and it can't be serialized for some reasongreg
2017-04-05 13:47:04 -0500Duration is in millis not seconds...greg
2017-04-05 11:27:18 -0500timer can't be used after it's canceled, so create a new one each time we start pollinggreg
2017-04-04 18:44:04 -0500UI for connection statusgreg
2017-04-04 18:35:10 -0500don't throw exception if there are no queriesgreg
2017-04-04 18:30:21 -0500Add a status VO that gives the status of the connection.greg
2017-04-04 18:25:06 -0500Allow to be connected even if queries is empty, because we are going to require a valid connection to add queries in the first place.greg
2017-04-04 18:22:10 -0500settings isn't injected in the plugin either (should really fix this)greg
2017-04-04 18:15:44 -0500call settings.set directly instead of going through settings abstraction. The settings interface sets one value per time which is inefficient with the ldap plugin.greg
2017-04-04 18:13:54 -0500some logging, determine default port if no port is setgreg
2017-04-04 18:04:57 -0500fix settings parameter namegreg
2017-04-04 17:47:10 -0500Remove the other setConfig service, we just need the settings.set and settings.get servicesgreg
2017-04-04 17:44:34 -0500do need to make these observable so they are bound correctly to the UIgreg
2017-04-04 16:35:27 -0500Specify default values in plugin config.greg
2017-04-04 16:23:54 -0500remove unused baseDNgreg
2017-04-04 16:20:11 -0500to make everything simpler, just directly access the plugin settingsgreg
2017-04-04 12:10:36 -0500add "enabled" checkbox. Load settings before loading queries.greg
2017-04-04 12:02:40 -0500fix delete callgreg
2017-04-04 11:42:49 -0500we can then simplify this UI codegreg
2017-04-04 11:40:54 -0500dry up Transformergreg
2017-04-04 11:40:33 -0500Since query object already has id, we don't need to pass it ingreg
2017-04-04 11:24:11 -0500because of wacky classloader stuff, we can't load a Query object from the configuration module. So convert it into a map and store that instead... this data conversion stuff will probably be put into some other library to be shared.greg
2017-04-03 18:22:50 -0500if we fail to delete query then obviously we can't update itgreg
2017-04-03 18:19:30 -0500less than onegreg
2017-04-03 18:18:22 -0500Correct name for role selectgreg
2017-04-03 18:17:37 -0500ensure data store is properly loadedgreg
2017-04-03 18:02:24 -0500use size + 1 for idgreg
2017-04-03 18:02:07 -0500fix check for lengthgreg
2017-04-03 17:44:26 -0500need to define a NoArgsConstructor for querygreg
2017-04-03 17:42:28 -0500no reason to have this services object, we can just use the plugingreg
2017-04-03 17:17:48 -0500implement save/delete queriesgreg
2017-04-03 16:16:31 -0500dry up edit query modal logic, workaround for weird bootstrap/knockout interactiongreg
2017-04-03 13:07:00 -0500UI adjustments, add queries modalgreg
2017-04-03 12:06:42 -0500nomenclature, formattinggreg
2017-04-03 12:00:57 -0500Implement plugin settings interfacegreg
2017-04-03 11:26:33 -0500no getter for passwordgreg
2017-04-03 11:06:36 -0500queries aren't being stored in settingsgreg
2017-03-31 18:01:52 -0500fix up UI extension to load properlygreg
2017-03-31 17:52:05 -0500add UI extension for ldap plugingreg
2017-03-31 17:31:49 -0500add initial UI extension points for external auth panelgreg
2017-03-31 17:25:46 -0500pull out all ldap-specific stuff into the ldap plugin. Create the concept of an external auth provider that will be ldap plus stuff like CAS or shibboleth. LDAP plugin will just be one such provider.greg
2017-03-31 17:13:58 -0500refactor and reorganize ldap plugin code. Queries now have an id that is used in the UI and data store to keep track of them. Also, connect and disconnect when the config is updated.greg
2017-03-31 15:59:51 -0500Use externalAuth bindings to associate externalAuth.js binding w/ HTML Knockout.Josh Helpert
2017-03-31 15:25:09 -0500disable test, since it depends on a server runninggreg
2017-03-31 15:24:33 -0500update to newer parent pom, use version ranges for CM dependencygreg
2017-03-31 15:19:41 -0500Mimiced Example Auth Plugin pom.xml to properly deploy.Josh Helpert
2017-03-31 15:16:11 -0500Convert from Knockout to JavaScript object for config.Josh Helpert
2017-03-31 15:12:55 -0500Begin implementing the license/registration panel.greg
2017-03-31 13:56:19 -0500Added spacing to list of properties.Josh Helpert
2017-03-31 13:55:06 -0500Added HTML & JS module to support external authentication.Josh Helpert
2017-03-31 13:53:46 -0500Rename argument.Josh Helpert
2017-03-31 13:40:10 -0500use delegated click handler, so that links added afterwards can still be usedgreg
2017-03-31 13:03:51 -0500slight refactor of listener code. Fix issue where events would not be propagated up to UI extensions.greg
2017-03-31 12:25:19 -0500Since check updates can take a while, instead have it return immediately and fire an event when updates are discovered.greg
2017-03-31 12:09:03 -0500make the key in the return value match the action name passed ingreg
2017-03-31 11:57:48 -0500check-updates not check_updatesgreg
2017-03-31 11:53:53 -0500Add installer to known projects for deploy mojogreg
2017-03-31 11:35:20 -0500check-updates not check_updates, for consistencygreg
2017-03-31 11:32:03 -0500Remove role argument and renamed Service parameter to oldQuery/newQuery.Josh Helpert
2017-03-31 10:09:31 -0500Use the Query class to test.Josh Helpert
2017-03-31 10:09:04 -0500Add Settings for poll period, default username/password, etc. Pack all values w/n the Query class.Josh Helpert
2017-03-30 20:08:11 -0500remove unused variablegreg
2017-03-30 19:42:43 -0500Fixed for handling units with no activation, and units with invalid activationgreg
2017-03-30 19:10:37 -0500lemonade stand now returns "valid" for activationgreg
2017-03-30 17:24:15 -0500Ignore lines that start with an # (those are comments)greg
2017-03-30 17:23:51 -0500Handle case where there is no registration details (e.g. if they are using the unauthenticated repo)greg
2017-03-30 17:17:54 -0500fix find featuregreg
2017-03-30 17:17:29 -0500add email, format datetimesgreg
2017-03-30 17:03:13 -0500expiration_date not expirationgreg
2017-03-30 17:02:47 -0500can't use private functions heregreg
2017-03-30 17:00:21 -0500need to return entire tuple, not just authenticationgreg
2017-03-30 16:54:09 -0500Add task for getting license info, which will be used by the installer-integration-plugin. This will parse the repo list (which contains the license key) and get the info from lemonade stand.greg
2017-03-30 13:59:18 -0500begin installer 1.0.2-SNAPSHOTgreg
2017-03-30 13:38:20 -0500Frame stitcher plugin 1.1.3-SNAPSHOT. Detect if we can use the native stitcher and, if not, fall back to legacy stitchergreg
2017-03-30 13:37:02 -0500add v4l plugin to client distrogreg
2017-03-30 13:24:21 -05001.1.0-SNAPSHOT of native compositor library. Add a method to force loading the native object (+ xuggler)greg
2017-03-30 12:03:43 -05003.3.2-SNAPSHOT of web ui plugin. If networkType is null then default to some other value.greg
2017-03-30 11:55:10 -0500Move any java code for checking network status to the parent class, and make it not choke if we can't call ifconfig. We don't need ifconfig for basic info.greg
2017-03-29 18:37:12 -0500superuser-mode for client distrogreg
2017-03-29 18:36:36 -0500rm print stringsgreg
2017-03-29 18:36:13 -0500Web UI launcher, for launching the web UI when capturecast is started.greg
2017-03-29 17:43:43 -0500add even more pluginsgreg
2017-03-29 17:11:59 -0500remove unused plugins, add some used onesgreg
2017-03-29 16:58:53 -05004.4.0-SNAPSHOT of client distrogreg
2017-03-29 15:01:21 -0500nginx fix for body sizegreg
2017-03-29 14:08:32 -0500various fixes/improvementsgreg
2017-03-29 12:17:10 -0500initial version of install opencast scriptgreg
2017-03-27 18:07:33 -0500Customer user is no longer in the capturecast repogreg
2017-03-27 18:06:54 -0500relnotes 4.3.2greg
2017-03-27 18:06:34 -0500platform 4.3.2greg
2017-03-27 17:57:16 -0500and plugin 1.3.0greg
2017-03-27 17:56:59 -0500cut opencast library 2.0.0greg
2017-03-27 17:55:44 -0500cut LSV plugin 3.2.1greg
2017-03-27 17:46:41 -0500Move the ping service into a new handler which sits atop the stack. This is so an attempt to ping a stream that has been closed will not inadvertently create one (as the recording/device live preview spawners are below it, and are in turn above the player itself).greg
2017-03-27 17:42:31 -0500refactorgreg
2017-03-27 17:36:08 -05003.2.1-SNAPSHOT of live device preview plugin. Don't use Cattura API + plugin service to ping stream, because that requires a logged in user (which we won't always have, e.g. Cranium)greg
2017-03-27 16:43:08 -0500Web ui plugin 3.3.1greg
2017-03-27 16:30:11 -0500download doesn't work on ios, so if we're ios then display an alternate UI for downloadinggreg
2017-03-27 14:50:52 -0500Update jquery-browser plugingreg
2017-03-27 14:13:59 -0500Sleep for 500 millis between checking for tasks, because having it run without a sleep is intensive on the CPUgreg
2017-03-27 14:12:29 -0500if the download is a single file, set the href to the download url. This is so save as can still work.greg
2017-03-27 11:08:14 -0500cut configuration module 3.4.2greg
2017-03-24 17:56:49 -0500Use latest versions for everythinggreg
2017-03-24 17:18:13 -0500update client distribution to latest version, so it can be testedgreg
2017-03-24 16:29:02 -0500Clean up and simplify the UpdaterProxy. Cache the version info because it never changes once the CM starts up. Updating is never done here (it's in the installer-integration-plugin) so remove dead code and stub out all public methods.greg
2017-03-24 15:20:24 -05003.4.2-SNAPSHOT of configuration module. Let's see if there are any improvements that can be made here for the next betagreg
2017-03-24 15:04:43 -0500Add External Auth JavaScript.Josh Helpert
2017-03-24 14:47:42 -0500configuration module 3.5.0-SNAPSHOT: Do not create any users on install. The "cattura-tech" user will be provided by a plugin, and the initial admin user will be created in the UI probably by another plugin.greg
2017-03-24 14:32:03 -0500Add External Auth page and tab setting.Josh Helpert
2017-03-24 11:03:57 -0500Add method and service layer to LDAP plugin to communicate w/ JavaScript.Josh Helpert
2017-03-23 19:44:23 -0500go ahead and cut 1.0.2...greg
2017-03-23 19:44:10 -0500exit 0 so the script returns success even if creating user failsgreg
2017-03-23 19:43:07 -0500actually don't userdel on remove for nowgreg
2017-03-23 19:31:22 -0500Add flash player to default chrome config. This should prevent the user needing to download and enable flash and then restart the browser.greg
2017-03-23 19:29:56 -05001.0.2-SNAPSHOT of customer user. When removing package, remove customer user. This can be used to "refresh" the customer user with updated defaults.greg
2017-03-23 17:58:32 -0500fix help descriptiongreg
2017-03-23 17:55:29 -0500cut installer 1.0.1greg
2017-03-23 16:52:46 -0500Fix restore-backup taskgreg
2017-03-23 14:30:49 -0500Updated config for customer user. Move key for activatng dash to the alt key (since teamviewer doesn't seem to transmit the super/windows/command key properly). Disable lock screen (since we don't want the user to have to enter password)greg
2017-03-23 14:30:10 -0500Add extra-tools and os-setup packagesgreg
2017-03-23 13:39:14 -0500cut Customer User 1.0.1greg
2017-03-23 13:38:39 -0500Add option to install cranium with the installergreg
2017-03-23 12:45:49 -0500Add an option to restore backup from a given tar file.greg
2017-03-23 12:26:00 -0500Create an "extra" repository that contains packages not related to capturecast proper, such as grub setup and extra tools.greg
2017-03-22 18:35:15 -0500actually just check for "Resource temporarily unavailable" this should catch everythinggreg
2017-03-22 18:19:04 -0500add shell parametergreg
2017-03-22 18:00:04 -0500retry debconf commands too; log attemptgreg
2017-03-22 17:34:24 -0500Add logic for retrying apt commands that fail because there is already a process running. Look for the string "is another process using it" to determine if another process is using it.greg
2017-03-22 12:08:26 -0500replace keyring with one with a blank password (so we don't get unlock dialog on startup)greg
2017-03-22 11:26:02 -05001.0.1-SNAPSHOT of customer user package. Update backgroundgreg
2017-03-21 16:34:29 -0500Add unit serial (which is just the hostname) to the footergreg
2017-03-21 16:11:50 -0500since whichever is the default section now changes depending on the installed plugins (video section if blackmagic plugin is installed, users section if not) then defer the initial section selection to when plugins are foundgreg
2017-03-21 14:49:03 -0500The html5-playback setting doesn't seem to be used anywhere (might have been a relic from the old mediaelement player)greg
2017-03-21 14:08:19 -0500use buildFooter extension point to add button to footergreg
2017-03-21 14:04:17 -0500Include PPM in template editorgreg
2017-03-21 13:38:21 -0500Implement UI extension points and initial set of extension points.greg
2017-03-21 13:24:43 -0500remove itunes/mediacore from the master list of publishing formsgreg
2017-03-21 13:07:34 -0500Remove mediacore publishing too. They were shut down in 2015 and the plugin removed from the standard distribution so there's no reason to keep this in the UIgreg
2017-03-21 13:04:41 -0500Remove itunes rss thingy since it was never implementedgreg
2017-03-21 12:58:35 -0500Card VO is gone for good so remove support in the UIgreg
2017-03-21 12:51:38 -0500If both presenter and presentation are assigned to a source, use the default primary/source flavor.greg
2017-03-21 12:02:14 -0500When attachFile operation is interrupted, abort requestgreg
2017-03-21 11:22:32 -0500Add presenter optiongreg
2017-03-21 11:19:11 -05003.3.1-SNAPSHOT, add presenter field to opencastgreg
2017-03-20 19:10:22 -0500try to figure out all the different rules for assigning default flavors to primary and source copiesgreg
2017-03-20 18:57:58 -0500Add glances for getting a view of the system. This replaces the individual df/meminfo/etc panes.greg
2017-03-20 18:13:48 -05003.2.0-SNAPSHOT of console plugin. Fix packaging issue that was prevented ghtml scripts from being included.greg
2017-03-20 16:38:40 -0500Update to publisher 3.0.0greg
2017-03-20 16:07:55 -05001.3.0-SNAPSHOT of opencast plugin, with new client + support for presentersgreg
2017-03-20 16:00:23 -0500createMediaPackage() commentgreg
2017-03-20 15:58:52 -0500Simplify client even further by allowing to pass in episode metadata to createMediaPackage()greg
2017-03-20 15:49:43 -0500Simplify ingester by removing special-case logic for "dublincore/episode" and also allowing this to be passed in as a parameter so it doesn't get lost on each request.greg
2017-03-20 15:29:03 -0500Dump the jodd http library and move to the apache one.greg
2017-03-20 13:52:55 -0500Opencast library 2.0.0: Make media package a straight VO and use a different class for actually attaching elements.greg
2017-03-16 21:14:24 -0500Build sitegreg
2017-03-16 21:14:12 -0500automatically generate a list of packages in the site. Remove setup script since it's no longer being used.greg
2017-03-16 21:13:36 -0500relnotes 4.3.1greg
2017-03-16 20:46:58 -0500release the new magewell drivers packagegreg
2017-03-16 19:01:57 -0500cut platform 4.3.1greg
2017-03-16 19:01:04 -0500only remove sql dump if it existsgreg
2017-03-16 18:23:19 -0500refuse to run backup/restore if capturecast is runninggreg
2017-03-16 18:06:40 -0500use check_call to restore the database. drop/create database can fail if there are other processes using itgreg
2017-03-16 17:41:31 -0500cut opencast plugin 1.2.1greg
2017-03-16 17:37:30 -0500using new configuration modulegreg
2017-03-16 17:12:58 -05004.3.1 changeloggreg
2017-03-16 14:49:02 -0500better handling for sqlite databases and cases where database-connection is absent from configgreg
2017-03-16 14:12:34 -0500Only (try to) create CATTURA_BACKUPS if we are actually going to use itgreg
2017-03-16 14:09:26 -0500cut 3.4.1 of configuration modulegreg
2017-03-16 14:08:24 -0500cut cranium plugin 1.0.9greg
2017-03-16 14:07:56 -0500cut web server plugin 3.1.14 with changeloggreg
2017-03-16 13:59:25 -0500If an error occurs while handling an error, don't attempt to handle it too, because that might cause infinite error loops.greg
2017-03-16 12:44:42 -0500begin 3.1.14-SNAPSHOT of web server plugingreg
2017-03-16 11:51:27 -0500Add a retry for connecting to the database, deploy pending #1713greg
2017-03-15 20:13:58 -0500changelog for cranium plugingreg
2017-03-15 20:12:26 -0500changelog notesgreg
2017-03-15 20:08:37 -05001.2.1-SNAPSHOT of opencast plugin, with ability to specify a workflow definition id. Also, single-track media packages now use "presentation" flavor and not "presenter"greg
2017-03-15 10:51:05 -05003.4.1-SNAPSHOT of configuration module. Fix regression in UserVO that broke removing roles, which broke modifying users.greg
2017-03-14 20:15:43 -0500Include latest magewell firmware. We don't actually update the firmware, just provide it so it can be updated.greg
2017-03-14 19:22:31 -0500commented out (for now) code that removes old dkms versions, which might not be necessarygreg
2017-03-14 19:12:47 -0500add symlink to ProCapture source, which ProCapture.conf points to by defaultgreg
2017-03-14 14:00:18 -05001.2.0.3269-1-SNAPSHOT of magewell pro capture driver. Expose the mwcap-upgrade from the sdk in /usr/bin.greg
2017-03-14 13:42:03 -05004.3.1-SNAPSHOT of platform: When unpacking backup, chown storage to capturecast user (i.e. whoever owned ./storage before restore). See #1712greg
2017-03-14 13:09:07 -05001.0.9-SNAPSHOT of cranium plugin: improve the task timeout handler to use handleError which keeps track of all the incidents we send (so we don't push them to cranium), instead of sending its own incident which isn't kept track of. This resolves a potential issue where the timeout incident is pushed to cranium which can trigger another timeout event and so on. Pass a label to all tasks so when something happens we know what task caused it.greg
2017-03-13 19:09:56 -0500add PUT /workflow/definition methodgreg
2017-03-13 18:55:01 -0500Opencast library 1.2.0-SNAPSHOT. Support fetching a list of workflow definitions and publishing with a specified workflow.greg
2017-03-13 10:21:43 -0500there already is an opencast-docker image, so just use thatgreg
2017-03-10 13:56:10 -0600Updated opencast dockerfile to use 2.3.1.greg
2017-03-09 18:10:16 -0600begin parent 1.0.2-SNAPSHOTgreg
2017-03-09 13:16:10 -0600use parent 1.0.1greg
2017-03-09 11:19:51 -0600relnotes 4.3greg
2017-03-08 17:59:10 -0600the rtmp preview (not sure if this is an nginx thing, nginx-rtmp, red5 thing, or rtmp in general) has an even shorter character limit than cws does, so lower this to 75 (we add some things on top of it though)greg
2017-03-08 17:17:16 -0600Add box plugin as a standard publishergreg
2017-03-08 17:15:18 -0600ppm notegreg
2017-03-08 17:09:02 -0600cut platform 4.3.0, with changeloggreg
2017-03-08 17:04:07 -0600cut storage plugin 1.1.1greg
2017-03-08 17:02:34 -0600add changelog for datapath driver packagegreg
2017-03-08 17:01:58 -0600might as well cut this toogreg
2017-03-08 17:00:36 -0600add changeloggreg
2017-03-08 17:00:26 -0600update dependencies: this version requires >= 4.3.0greg
2017-03-08 16:55:40 -0600cut UI plugin 3.3.0greg
2017-03-08 16:43:30 -0600cut UI extensions library 1.0.0greg
2017-03-08 16:42:26 -0600cut Matterhorn plugin 1.2.0greg
2017-03-08 16:39:14 -0600cut Box plugin 1.0.0greg
2017-03-08 16:35:46 -0600changelog entrygreg
2017-03-08 16:34:36 -0600cut FTP Plugin 1.3.1greg
2017-03-08 16:34:16 -0600cut FTP FS library 1.0.0greg
2017-03-08 16:31:43 -0600cut 3.0.0 of publisher-processorgreg
2017-03-08 16:29:23 -0600begin platform package 4.3.0-SNAPSHOTgreg
2017-03-08 16:27:49 -06003.1.23 of console plugingreg
2017-03-08 16:25:01 -0600cut mpa module 3.3.0greg
2017-03-08 16:24:23 -0600cut configuration module 3.4.0greg
2017-03-08 16:16:04 -0600cut 1.0.0 of the base platform parent pomgreg
2017-03-08 16:14:47 -0600cut 3.2.0 of live device preview plugingreg
2017-03-08 16:13:44 -0600cut 3.1.12 of graph visualizer plugingreg
2017-03-08 16:13:14 -0600cut 3.3.0 of MPA Module Bridgegreg
2017-03-08 16:12:04 -0600cut processor-engine 1.2.0greg
2017-03-08 16:06:52 -0600cut processor 1.2.0greg
2017-03-08 16:05:37 -0600Cut Plugin loader 1.1.0greg
2017-03-08 16:04:28 -0600if plugin directory is not directory, return empty listgreg
2017-03-08 15:59:34 -0600cut cattura-commons 1.1.0greg
2017-03-08 15:59:22 -0600deprecate a bunch of stuffgreg
2017-03-08 15:51:38 -0600cut cattura-utils 1.1.1greg
2017-03-08 15:51:15 -0600deprecate a bunch of stuff in cattura-utils (which should be removed or reworked in 2.0.0). In particular, discourage using BaseObject too much because it requires reflection; better to use Lombok instead to generate all of that at compile timegreg
2017-03-08 14:50:14 -0600should synchronize on thisgreg
2017-03-08 14:41:38 -0600no reason for condenseName to return an arraygreg
2017-03-08 14:36:50 -0600GraphBuilderGraphWrapper and serializer don't get along, so when we do try to serialize this graph, just unwrap it and use the builder's toStringgreg
2017-03-08 14:04:00 -06003.1.12-SNAPSHOT of graph visualizer plugin. Don't assume a particular format for node namegreg
2017-03-08 13:49:58 -0600Remove leftover sublime stuffgreg
2017-03-08 13:35:28 -0600make username optional, default to "opencast_system_account"greg
2017-03-08 13:33:34 -0600Add opencast series support to UIgreg
2017-03-08 13:06:37 -06001.2.0-SNAPSHOT of opencast plugin. This adds series supportgreg
2017-03-08 12:51:24 -0600add a DCCatalogBuilder that simplifies building dc metadata. The series id can be attached here and passed onto the media package.greg
2017-03-08 12:50:21 -0600use updated jodd-http 3.6.6-cattura-2greg
2017-03-08 12:35:37 -0600update jodd-http copy to 3.6.6-cattura-2 to link to updated jodd dependencygreg
2017-03-08 11:40:42 -06001.1.0-SNAPSHOT of matterhorn publisher library. Add ability to get series.greg
2017-03-08 11:18:46 -06003.1.23-SNAPSHOT of console plugin. setStrictFormat() on template parser to make template parser behave correctlygreg
2017-03-08 10:42:58 -0600(re)load set of streams when the iframe is finished loading, because now previews for recordings are created on request and not on startupgreg
2017-03-07 19:23:22 -0600if set of processors is empty (for whatever reason) no reason to construct an event and/or dispatchergreg
2017-03-07 19:20:47 -0600Do not consider invalid nodes in state calculation.greg
2017-03-07 19:19:21 -0600Return option type if we are an invalid nodegreg
2017-03-07 19:02:17 -0600add specialized config form for box (which is more or less the generic one plus an infobox)greg
2017-03-07 18:50:11 -0600add plugin-level configuration for boxgreg
2017-03-07 18:45:49 -0600update bridge dependencygreg
2017-03-07 18:45:26 -0600pull the Option VO out of PublishPlatformVO, since it was a UI concern and it is now properly handled theregreg
2017-03-07 18:37:05 -0600make path default to / and thus not a required field. username/password are null and thus requiredgreg
2017-03-07 18:36:12 -0600allow for null default, which means it is a required fieldgreg
2017-03-07 18:34:06 -0600add notion of required to ElementContainergreg
2017-03-07 18:29:36 -0600Support default values and required/optional flag.greg
2017-03-07 18:14:24 -0600now that configuration module has been updated to parent pom 1.0.1, we should update our groovy dependency to matchgreg
2017-03-07 18:13:47 -0600actually move the processorUI import directly onto the abstract form because that's where it's used. The publisher itself probably doesn't need to know about these options since the form can delegate to the plugin to get them.greg
2017-03-07 17:57:51 -0600port parsing of the plugin "options" structure into something usable for constructing forms to the UI, as it's a UI concern. The backend equivalent will be removed or deprecatedgreg
2017-03-07 15:58:53 -0600for both devices and recordings, abstract both the _previewStreams.invalidate() and streamGroups.remove() into a single remove() method, and use that to remove the preview stream after closing/destroying it.greg
2017-03-07 15:24:52 -0600fixes to facilitate preview reaper: generate a unique stream id (as the device live preview does); avoid attaching streams to null audio/video; stop and remove streamers that are being reapedgreg
2017-03-07 13:41:00 -0600should be $type as wellgreg
2017-03-07 13:40:34 -0600use "type" for consistencygreg
2017-03-07 13:37:40 -0600@ToString on default eventgreg
2017-03-07 13:15:54 -0600this needs to actually send a response (as all graph builder commands do)greg
2017-03-07 13:08:14 -0600add TRANSMIT_EVENT support to bridgegreg
2017-03-07 13:00:31 -0600make preview reaper a configurable optiongreg
2017-03-07 12:41:44 -0600begin implementing reaper for inactive preview streams. For recordings it doesn't work 100% yet because we need to stop the streamers as well.greg
2017-03-07 12:31:31 -0600make processor 1.2.0 an explicit dependencygreg
2017-03-07 11:51:41 -0600should be finest level logginggreg
2017-03-07 11:46:27 -0600add unlink support for sessionsgreg
2017-03-07 11:39:20 -0600Add ability to disconnect processors from a running sessiongreg
2017-03-06 18:48:59 -0600Mock faststart takes 10 seconds so bump wait time to 20greg
2017-03-06 18:48:25 -0600Refactor logic for building connections between processors (using dispatcher) into separate method. Replace setupUnconfiguredProcessors() with a method called setupAndStartup() which takes a list of processors, sets up any that are unconfigured, builds connections, and then transmits setup event (which wasn't being done previously)greg
2017-03-06 17:40:44 -0600reorder these statements so that we attach faststart -> publisher and then publisher -> writer. This triggers a bug in the current implementationgreg
2017-03-06 16:01:48 -0600add test for attaching to running sessiongreg
2017-03-06 12:51:29 -0600add encoded audio/video to element types (input/output interests)greg
2017-03-06 12:50:38 -0600use latest cattura library dependenciesgreg
2017-03-02 16:27:29 -0600actually, make our own copy of the install script with our changes and use it. That way when we pull updates from datapath we don't overwrite our script.greg
2017-03-02 13:34:53 -0600Update datapath driver package to 7.14.0.236-SNAPSHOTgreg
2017-03-01 10:32:42 -0600sync'ing markDirty() should be good enough. We just want to guarantee that the graph string is invalid when markDirty() returns so that the next time the graph string is updated it will be a valid representation of the graphgreg
2017-03-01 10:09:34 -0600synchronize everything that mutates the graph, don't want the internal string representation to refresh while we're in the middle of mutating the graph, which can cause future calls to fail because our internal state is different from the actual graph stategreg
2017-02-28 20:59:20 -0600initial implementation of new live preview plugin, which attaches the live preview to a running capture on demandgreg
2017-02-28 16:38:42 -0600invalidate cached graphbuilder node object when node is removed, so that the node does not show up in nodes()greg
2017-02-28 16:12:19 -0600want to connect children, not parentsgreg
2017-02-28 15:48:32 -0600begin implementing session support for graph builder api. The idea is to have a currently running Session connect and startup processors on the fly, so that processors can be attached to a running graph.greg
2017-02-28 15:11:00 -0600implement an adapter between JGraphT and our graph structure, expose that from the graph builder so that the JGraphT dependency is kept local to the graph builder. This allows us to effectively remove some duplicate/legacy code that worked with JGraphT. Also this means we can directly pass the graph builder graph into the session instead of making a copy, meaning we can mutate the graph via the graph builder even while the capture is running.greg
2017-02-27 18:37:12 -0600remove useless VO and commentsgreg
2017-02-27 14:16:11 -0600begin version 3.2.0-SNAPSHOT of live device preview plugingreg
2017-02-27 14:00:22 -0600remove log writer from individual plugins, these logs are not ever used and they just constitute wastegreg
2017-02-27 13:52:09 -0600when "Linking" nodes, if there is a session already running then "link" through the session (which will cause setup to be run on those processors).greg
2017-02-27 11:48:26 -0600remove useless comments and dead codegreg
2017-02-27 11:46:26 -0600comments, remove IS_DEBUG flag and just use finest level logginggreg
2017-02-24 19:03:52 -0600spellinggreg
2017-02-24 19:01:09 -0600Add transmit event servicegreg
2017-02-24 18:46:12 -0600Add ability to get a session at a target path. Note that this is Session (the processor-engine class) and not CaptureSession (the mpa module class) as that is legacy and should be removed eventually.greg
2017-02-24 18:25:00 -0600remove MapWrapper, we have Map.getOrDefault nowgreg
2017-02-24 14:11:09 -0600remove graph copy in constructor, to simplify the implementation and to allow the graph to be mutated by the GraphBuilder while it is runninggreg
2017-02-24 13:57:19 -0600expose publishEventToProcessors to allow sending events to specific processors, there will be API functionality in the MPA module to take advantage of thisgreg
2017-02-24 13:35:11 -0600storage plugin 1.1.1-SNAPSHOT, using latest guava etcgreg
2017-02-24 12:53:02 -0600use cattura-utils 1.1.1-SNAPSHOTgreg
2017-02-24 12:30:32 -0600cattura-utils 1.1.1-SNAPSHOT. Reintroduce TimestampCheckpoint($int) constructor for backwards compatibility.greg
2017-02-24 12:24:22 -0600remove cattura-utils dependency (specified in parent) and comment out xerces (not sure exactly what it's needed for)greg
2017-02-24 12:09:55 -0600add a parent pom that centralizes common dependencies and config for both mpa and configuration modulesgreg
2017-02-24 11:35:57 -0600fix plugin loader versiongreg
2017-02-24 11:35:18 -0600plugin loader 1.1.0-SNAPSHOTgreg
2017-02-24 11:24:39 -0600pull utils/commons dependencies into the mpa module pom until all dependent libraries are updatedgreg
2017-02-24 11:20:28 -0600change dependency plugin's configuration to match configuration module's, for snapshots etcgreg
2017-02-24 11:12:38 -0600use latest processor-enginegreg
2017-02-24 11:12:07 -0600fix compilation, use latest cattura-commonsgreg
2017-02-24 11:08:46 -06001.1.0-SNAPSHOT of cattura-commonsgreg
2017-02-23 17:00:18 -0600c-a-c 3.3.0-SNAPSHOTgreg
2017-02-23 16:49:49 -0600processor engine 1.2.0-SNAPSHOTgreg
2017-02-23 16:49:20 -0600update processor 1.2.0-SNAPSHOT to use updated parent pomgreg
2017-02-23 16:43:25 -0600Mpa module 3.3.0-SNAPSHOT. This also is using updated guava/jodd so some things may change.greg
2017-02-23 16:34:03 -0600fix ZipUtil callgreg
2017-02-23 16:30:44 -0600begin next major iteration of platform, configuration module 3.4.0-SNAPSHOT. This bumps up the versions of guava and jodd libraries and some things are changed or removed now.greg
2017-02-23 13:46:03 -0600this should fix propagating enableDated.../mode to publisher, if it's set in the parsed config use that, else default to the plugin's settinggreg
2017-02-23 13:37:31 -0600correct name. Comment out enableDatedDirectoryStructure and mode fields in the config because UI doesn't properly support them yet.greg
2017-02-23 13:26:53 -0600date-time in title hack for box ftp modegreg
2017-02-23 12:26:06 -0600remove dependency-reduced-pomgreg
2017-02-23 12:25:46 -0600refactor the ftp-specific logic into a subclass and keep the abstract media package publishing logic in an abstract superclass. This will probably eventually be moved into the publisher-processor class and adopted for the sftp plugin and perhaps the google drive plugin.greg
2017-02-23 12:19:28 -0600use the ftp-fs library instead of directly depending on the ftp plugingreg
2017-02-23 11:53:55 -0600Split off the FTP FS code into its own library, which will be "owned" by the ftp plugin but can be reused by other projects such as the box plugin.greg
2017-02-23 11:37:25 -0600add getClient() to get the ftp client backing filesystemgreg
2017-02-23 11:33:59 -0600logout on closegreg
2017-02-23 10:48:26 -0600cut v4l library 2.0.0, v4l plugin 1.2.0greg
2017-02-22 16:50:05 -0600Remove box hack, this will now be done in box plugingreg
2017-02-22 16:22:40 -0600fix getOptions()greg
2017-02-22 14:51:59 -0600should be if -not- usb devicegreg
2017-02-22 14:43:06 -0600port v4l plugin over to javagreg
2017-02-22 13:36:41 -0600port v4l library over to java. Especially with java 8 around there's no real reason to keep the dependency on scala just for this library.greg
2017-02-21 18:22:37 -0600oops, ignore testgreg
2017-02-21 18:21:49 -06001.2.0-SNAPSHOT of v4l plugin using new library.greg
2017-02-21 16:45:50 -0600Initial commit of Box plugin. Initially only supports FTP but will support direct API access in the future.greg
2017-02-20 16:40:04 -0600Finer level logging for ftp commandsgreg
2017-02-20 11:32:15 -0600Log out after creating test clientgreg
2017-02-17 17:56:35 -0600add protocol-level logging (will be switched into debug level on release)greg
2017-02-17 17:45:37 -0600Update to apache-commons-net 3.6greg
2017-02-17 17:30:23 -0600better logging for incoming input elementsgreg
2017-02-17 16:00:23 -0600clean up and simplify OutputIdentifiers among all the various helper classesgreg
2017-02-17 15:55:25 -0600make all of these maps Concurrent just to be suregreg
2017-02-17 15:53:33 -0600POMPA is a helper, not a VOgreg
2017-02-17 15:49:06 -0600Reorganize helpers package since it's getting a little big. Add in InputChunker from the Kaltura plugin since it can almost certainly be used elsewhere.greg
2017-02-17 15:46:55 -0600Split off the parent state tracking into yet another class.greg
2017-02-17 15:41:21 -0600remove the publishedEntryId. This isn't used anywhere and right now we're returning the full set of uploaded entries as elements.greg
2017-02-17 15:22:43 -0600remove print statementgreg
2017-02-17 15:17:02 -0600split off the code for attaching incoming elements to media package into a new class. This makes the Publisher superclass solely responsible for catching events from upstream and actually doing the publish.greg
2017-02-17 15:04:01 -0600fix incorrect conditionalgreg
2017-02-17 14:12:59 -0600update ftp plugin to use new publisher library + box cache bustgreg
2017-02-17 14:11:36 -0600fix duplicate key exceptiongreg
2017-02-17 13:35:40 -0600Move upload progress tracking into its own classgreg
2017-02-17 13:20:10 -0600wait to receive file/metadata, as the old publisher implementation didgreg
2017-02-17 12:58:17 -06003.0.0-SNAPSHOT of abstract publisher library. Phase out legacy VOs and support for legacy data structures, since the notation for source/primary copy and speaker files has stabilized a bit. Remove legacy state being tracked in Publisher; keep all state in MediaPackage and use a new helper object to extract it.greg
2017-02-16 13:18:57 -0600use ExtensionHelper and reorganize extension directory based on convention.greg
2017-02-16 12:57:07 -0600make the UIExtensionEvent a holder object which just contains the data, move the stuff that reads files and directories and lodash templates into a helper class.greg
2017-02-15 19:04:42 -0600fix display of changesgreg
2017-02-15 19:03:55 -0600add more package namesgreg
2017-02-15 17:57:33 -0600add primary buttongreg
2017-02-15 17:57:08 -0600change modal to account for new modelgreg
2017-02-15 17:55:13 -0600null check for changesetsgreg
2017-02-15 17:43:24 -0600reorganize extension directory, put the index.js as index.jsgreg
2017-02-15 17:38:24 -0600call loader function with extension as "this" also allow it to return a valuegreg
2017-02-15 17:27:42 -0600make "index.js" the root file for an extension, so that other js files next to it are attached to itgreg
2017-02-15 17:19:23 -0600Change VOs to match values from installergreg
2017-02-15 12:54:31 -0600fix display of updatesgreg
2017-02-15 12:42:24 -0600quiet apt-get changeloggreg
2017-02-15 12:42:06 -0600Change format of return value for check_updates: return the "update" object which consists of package, current_version, new_version, and (optionally) changesets. Break loop operations into separate functionsgreg
2017-02-15 10:20:19 -06001.0.1-SNAPSHOT of installergreg
2017-02-14 22:38:47 -0600begin fleshing out updater modalgreg
2017-02-14 22:22:58 -0600fix template callgreg
2017-02-14 22:17:58 -0600ensure subextensions always load in the correct order no matter what order they are preloaded ingreg
2017-02-14 21:16:18 -0600specify engine as rhino-nonjdkgreg
2017-02-14 21:08:47 -0600Move the progress modal into a templategreg
2017-02-14 20:43:46 -0600add method for wrapping the template as a ui extensiongreg
2017-02-14 20:39:27 -0600add base modalgreg
2017-02-14 20:26:57 -0600actually return a template objectgreg
2017-02-14 20:14:26 -0600add a utility for using Lodash to compile a template into a javascript function. This can be used by UI extensions to provide templates to extension code.greg
2017-02-14 19:11:56 -0600strip audiolevel class from divs, that is applied automatically by the widgetgreg
2017-02-14 19:08:24 -0600raise guide to match how it looked in the old ppmgreg
2017-02-14 19:04:26 -0600simplify guide html, move the | dividers to CSSgreg
2017-02-14 18:16:29 -0600remove margin-left because it looks weird with 0greg
2017-02-14 17:49:43 -0600bring in audio-level-meter.less from cranium and scrap the old ppm less code. Eventually this will be ported back to cranium with the scale fixes and possibly no signal stuff.greg
2017-02-14 15:30:25 -0600if current audio level is null/undefined then keep it null/undefined. This means that the ppm has not been rendered yet (since there is no ppm data at all for the device).greg
2017-02-14 15:27:19 -0600Turn off no signal thingy for nowgreg
2017-02-14 15:15:31 -0600add comment. noSignalCheck should no-op if there is no timeout value setgreg
2017-02-14 15:09:40 -0600have the no signal check run every second, regardless of timeout (default 5 sec). If we do get audio, immediately run the no signal check so the no signal status is cleared.greg
2017-02-14 15:08:08 -0600make no signal color a bit darker graygreg
2017-02-14 14:54:56 -0600initial no signal timeout implementation see #1699greg
2017-02-14 14:33:00 -0600when destroying widget, also remove guidegreg
2017-02-14 14:31:14 -0600-50 not 50greg
2017-02-14 14:26:56 -0600Decouple the min/max from bars[0]/bars[-1], since bars[0] in the iec scale is actually 1 whereas min is 0. instead of determining medium/high by counting how many elements there are left in the array, actually specify thresholds for medium/high in the appropriate scalegreg
2017-02-14 14:09:27 -0600add missing -42 in classic scalegreg
2017-02-14 14:04:49 -0600When eventsource is disconnected then silence all device meters. The dashboard meter will be reset automatically when it is no longer capturing.greg
2017-02-14 14:03:40 -0600set value of first bar to 1, it should only highlight if there is audiogreg
2017-02-14 14:02:36 -0600add debug optiongreg
2017-02-14 13:42:34 -0600reorganize audiolevel event source code, rename variable to be more explicitgreg
2017-02-14 13:03:11 -0600fix audiolevelmeter styling in modalgreg
2017-02-14 12:53:05 -0600Implement audiolevelmeter widget in preview modal.greg
2017-02-14 12:24:40 -0600Split preview modal into its own file. Technically since it's used on the dashboard as well as the devices panel, it's a "global" modalgreg
2017-02-14 12:22:24 -0600Implement audiolevelmeter widget on dashboardgreg
2017-02-14 11:43:20 -0600make value appear on hovergreg
2017-02-14 11:22:51 -0600fix medium/high bar coloringgreg
2017-02-14 11:14:23 -0600implement IEC scale in audio level widgetgreg
2017-02-13 21:13:13 -0600import audio level meter from cranium and replace old implementation with it, store the audiolevel on the model and bind with knockout (as cranium does)greg
2017-02-13 20:29:23 -0600revert audio level plugin to 1.0.1. Meter scale is a UI concern and should be handled theregreg
2017-02-13 18:51:07 -0600this needs to be a new version. might as well make it 1.1.0 since it's more than just bugfixes and breaks compatibility with the UI as it exists nowgreg
2017-02-13 18:40:27 -0600cut ftp plugin 1.3.0 (using apache library)greg
2017-02-13 18:13:33 -0600cut kaltura plugin 1.3.1greg
2017-02-13 18:13:16 -0600ignore testgreg
2017-02-13 18:05:30 -0600remove unused empty methodgreg
2017-02-13 15:19:21 -0600set chunk upload attempts to some high amount so we can more easily test exponential backoffgreg
2017-02-13 12:20:01 -0600more effectively demarcate retryer used for adding/uploading entries and retryer used for individual chunk uploads. Actually set this preference on the uploader (it wasn't being honored before)greg
2017-02-10 17:39:47 -0600Remove unused tag joinergreg
2017-02-10 17:39:30 -0600Remove jcores dependencygreg
2017-02-10 17:37:38 -0600Callback -> Consumergreg
2017-02-10 17:36:48 -0600split up the call to create the entry and the call to actually upload content to the entry. This means that if the upload is retried then it won't create a new entry each time. Return the entry object from the upload call as this has the most up to date info.greg
2017-02-10 16:56:02 -0600better logging: add logging to retryersgreg
2017-02-10 16:45:34 -0600fix test to use updated interfacegreg
2017-02-10 16:32:13 -0600Remove callback interfacegreg
2017-02-10 12:52:55 -0600handle more exceptionsgreg
2017-02-10 12:48:30 -0600dry up retry logic using retryer librarygreg
2017-02-10 12:04:59 -0600remove chunked upload settinggreg
2017-02-10 12:04:43 -0600update copyrightgreg
2017-02-10 12:04:30 -0600chunked upload is no longer a configurable optiongreg
2017-02-10 11:45:45 -0600Removed unused methodsgreg
2017-02-10 11:27:34 -0600Remove non-chunked upload option. Chunked upload has been the default (in the plugin) for a while now and mostly works.greg
2017-02-10 11:18:25 -0600correct importgreg
2017-02-10 11:17:56 -0600remove KalturaC class that just serves to create a kaltura client. We can do that in the plugingreg
2017-02-09 17:18:09 -0600Renamed drawPPM method b/c it's more exact. Altered the values of the PPM meter so that it can render the values appropriately w/ the IEC scale.Josh Helpert
2017-02-09 16:20:39 -0600Replace the dB computation w/ the deflection based on the IEC standard.Josh Helpert
2017-02-09 15:50:02 -0600category for kaltura testgreg
2017-02-09 14:00:09 -0600using kaltura library 3.2.3-SNAPSHOTgreg
2017-02-09 13:59:45 -0600Test for uploadergreg
2017-02-09 13:58:21 -0600tostring annotationgreg
2017-02-09 13:54:22 -0600blank user credentials by defaultgreg
2017-02-09 13:36:17 -0600fix imports. Processor.Factory.Option.INVALID.make() uses Objects.firstNonNull() which no longer exists in guava 21 (which is what we're currently targeting)greg
2017-02-09 13:28:59 -0600add category testgreg
2017-02-09 13:23:01 -0600move all cattura code into plugin, so that the kaltura library is just kaltura codegreg
2017-02-08 20:01:49 -0600new kaltura library. Split all the file chunking logic into "InputChecker" which iterates over the chunks of a file. Massively dry up the kaltura chunk uploader.greg
2017-02-08 16:56:40 -0600cut down on unnecessary cwd/pwd commandsgreg
2017-02-08 16:41:33 -0600even more testsgreg
2017-02-08 12:52:49 -0600add tests for listing/mkdir with multiple ftp sessionsgreg
2017-02-08 12:51:31 -0600when we're done with FTP connection, quit and disconnect (not sure if this is really required but might as well)greg
2017-02-08 12:20:09 -0600remove ftp4j dependency and client codegreg
2017-02-08 11:34:20 -0600We always want to use binary transfer mode.greg
2017-02-08 10:48:14 -0600550 from chdir probably implies directory doesn't existgreg
2017-02-08 02:17:58 -0600even more error checkinggreg
2017-02-08 01:17:14 -0600we want to try regular ftp firstgreg
2017-02-08 01:15:22 -0600Ignore both testsgreg
2017-02-07 23:58:45 -0600switch to Apache ftp client for plugingreg
2017-02-07 23:31:04 -0600Implement file system using Apache FTP clientgreg
2017-02-07 19:58:56 -0600use resolve-ranges (as repo-builder does)greg
2017-02-07 19:54:46 -0600chmod deploygreg
2017-02-07 19:47:10 -0600fix build-release scriptgreg
2017-02-07 19:17:24 -0600Make Installer a dependency of minimal distributiongreg
2017-02-07 19:13:30 -0600Include Installer in repogreg
2017-02-07 19:11:17 -0600installer 1.0.0greg
2017-02-07 19:09:57 -0600console plugin 3.1.22greg
2017-02-07 19:09:09 -0600platform package 4.1.2greg
2017-02-07 19:08:30 -0600correct version of parent pomgreg
2017-02-07 19:07:39 -0600Sftp plugin 1.2.4greg
2017-02-07 18:52:08 -0600Sftp plugin 1.2.4-SNAPSHOT. Port path/url fixes from the ftp plugingreg
2017-02-07 18:45:44 -06001.2.3 of ftp plugingreg
2017-02-07 18:44:55 -0600add ftps support to changeloggreg
2017-02-07 18:44:17 -06001.0.2 of publisher parentgreg
2017-02-07 18:43:48 -0600make the executable jar optional via profilegreg
2017-02-07 18:41:03 -0600pub-proc 2.1.3greg
2017-02-07 17:53:12 -0600if path is empty then do not append slashgreg
2017-02-07 17:49:47 -0600fixes for copyPathOnFileSystem to better handle root pathsgreg
2017-02-07 17:04:35 -0600begin work on new ftp plugin using the Apache Commons Net librarygreg
2017-02-07 10:42:54 -0600log newDirectoryStreamgreg
2017-02-03 17:44:00 -0600want to target processor 1.1.0 (which is what capturecast is using anyway). This includes the updated media package serializer that shouldn't break.greg
2017-02-03 17:34:47 -0600use functional foreachgreg
2017-02-03 17:33:42 -0600Log what gets publishedgreg
2017-02-03 17:32:13 -0600use registerOutput() instead of _processorOutput.register()greg
2017-02-03 17:29:18 -0600make publish() return a Map<String, Element> so we know what was published. Provide a default implementation for ProcessorOutput so we don't rely on the processor engine as much.greg
2017-02-03 17:04:51 -0600need to set id on assetgreg
2017-02-03 17:03:05 -0600log status/state messagesgreg
2017-02-03 16:56:41 -0600exception handler can be nullgreg
2017-02-03 16:27:45 -0600better logginggreg
2017-02-03 16:07:00 -0600use 2.1.3-SNAPSHOT of abstract publishergreg
2017-02-03 16:06:39 -06002.1.3-SNAPSHOT of abstract publisher. Add a main class which can be invoked to publish from the command line.greg
2017-02-03 16:05:51 -06001.0.2-SNAPSHOT of the publisher parent pom. Add manifest and additional shade execution that generates an executable that can be used to publish a media package from the command line (useful for testing etc)greg
2017-02-03 12:40:59 -0600add the test we used for boxgreg
2017-02-03 12:39:45 -0600if we try to createDirectory "/" "" or "." then just throw FileAlreadyExistsException... also add finest logging for all ftp methodsgreg
2017-02-02 18:19:09 -0600if we try to readAttributes of / then just return a pre-cooked objectgreg
2017-02-02 17:33:21 -0600if path is root directory (/) assume it existsgreg
2017-02-02 16:43:48 -0600don't need username/password heregreg
2017-02-02 16:36:47 -0600Add initial security support. If a secure protocol (e.g. ftps, ftpes) is specified, then use that. If not, attempt to connect with all three modes until an acceptable connection is created.greg
2017-02-02 16:04:56 -0600begin ftp plugin changeloggreg
2017-02-02 15:54:39 -0600Update magewell drivers to 1.2.0.3269greg
2017-02-02 15:41:59 -0600Ftp plugin 1.2.3-SNAPSHOT. More intelligent url parsing: assume ftp:// if scheme does not exist.greg
2017-02-02 15:24:49 -06004.1.2-SNAPSHOT of cattura-capturecast-platform. Set PULSE_SERVER to 0.0.0.0 to block the alsa pulseaudio plugin from loading. Because pulseaudio may decide to open devices when we use alsa (either directly or through javasound) then we may see a conflict, and since we don't even need to use pulseaudio (since we access audio devices directly) then we don't need it.greg
2017-02-01 13:36:59 -06001.0.3-SNAPSHOT of the javasound library. Do not crash if the getAudioDeviceInfo is missing or invalid.greg
2017-01-31 20:31:44 -0600styling for modalgreg
2017-01-31 20:13:20 -0600need to wrap modal in modal-bodygreg
2017-01-31 20:08:49 -0600null check _foundUpdatesgreg
2017-01-31 20:07:23 -0600Use a progress bar modal instead of the Dialogs.wait() modalgreg
2017-01-31 19:46:15 -0600Initial UI support for install updatesgreg
2017-01-31 19:41:07 -0600Add install updates service and code. Install and check updates can't really be performed at the same time so we need to synchronize all of that. Also, attempt to parse out progress events from the apt-get output and push out to UI.greg
2017-01-31 18:50:33 -0600sudo rules 1.0.2greg
2017-01-31 18:43:46 -0600Add changelog note about UI extensionsgreg
2017-01-31 18:34:36 -0600If no updates are available, then show a message saying no updates are available.greg
2017-01-31 12:19:13 -0600Remove stale javasound library and plugin from old directoriesgreg
2017-01-30 17:19:39 -0600Flesh out update confirm modal.greg
2017-01-30 17:03:18 -0600Fix up the call to check_update.greg
2017-01-30 16:48:15 -06001.0.2-SNAPSHOT of sudo rules. Add sudo rule for installer integrationgreg
2017-01-30 16:45:41 -0600Add service for update check.greg
2017-01-30 15:58:50 -0600actually begin working on the update button thingygreg
2017-01-30 15:39:47 -0600Make it possible for css/js extensions to not be cached, for easier development.greg
2017-01-30 15:10:45 -0600Fixes for event handlinggreg
2017-01-30 14:59:04 -0600don't want to overwrite that variablegreg
2017-01-30 14:57:09 -0600fix css templategreg
2017-01-30 14:54:06 -0600Ensure namespace always has a slash suffix. Don't allow just adding a directory without a namespace.greg
2017-01-30 14:49:39 -0600make it possible to override the extension in the loadergreg
2017-01-30 14:44:01 -0600fix up assembling the tree and loadinggreg
2017-01-30 14:22:45 -0600close commentgreg
2017-01-30 14:20:56 -0600$key not keygreg
2017-01-30 14:15:02 -0600redo extension loader to handle nested extensionsgreg
2017-01-30 13:45:05 -0600"name" is the event name, not "key"greg
2017-01-30 13:31:37 -0600append slash to prefix. The js service should convert these to dots.greg
2017-01-30 13:27:34 -0600if base file name is empty then select all extensionsgreg
2017-01-30 12:50:32 -0600add library, correct importgreg
2017-01-30 12:49:21 -0600due to wacky classloader stuff this does need to be a separate library so the other plugins can depend on itgreg
2017-01-30 12:33:40 -0600need to exclude groovy dependency from configuration module for nowgreg
2017-01-30 12:23:53 -0600Initial version of installer integration plugin using UI extensiongreg
2017-01-30 12:06:41 -0600fix groovy syntax error...greg
2017-01-30 10:47:20 -0600actually add the UI extensions handlergreg
2017-01-27 18:42:18 -0600transmit UI events to extensionsgreg
2017-01-27 18:16:23 -0600include css/js extensionsgreg
2017-01-27 18:13:27 -0600initial implementation of UI extensions. The css extensions are just concatenated together. The js extensions are namespaced and run in their own scopes, and can register event handlers.greg
2017-01-27 15:38:58 -0600increment version to 3.3.0-SNAPSHOT. We are going to start supporting UI plugins (that is, plugins -for- the UI)greg
2017-01-26 18:31:51 -0600Only return changes since current version.greg
2017-01-26 18:14:46 -0600add ability to fetch and parse changelogsgreg
2017-01-26 16:57:13 -0600use 1.0.1 of parent pomgreg
2017-01-26 16:51:28 -06001.2.3 of sftp plugingreg
2017-01-26 16:50:31 -06001.2.2 of ftp plugingreg
2017-01-26 16:49:57 -06002.1.2 of abstract publisher librarygreg
2017-01-26 16:48:53 -06001.0.1 of our publishing parentgreg
2017-01-26 16:47:31 -0600Correct jenkins urlgreg
2017-01-26 16:46:44 -06001.0.1 of both parent pom'sgreg
2017-01-26 16:45:21 -0600jodd update broke StringTemplateParser, use parser.setStrictFormat() to get the old behavior backgreg
2017-01-26 15:57:46 -0600correct asset pathgreg
2017-01-26 15:26:08 -0600generate cattura-plugin.zip after antrungreg
2017-01-26 15:20:23 -0600only want to upload files that existgreg
2017-01-26 15:17:25 -0600copy tests from ftp plugingreg
2017-01-26 15:17:03 -06001.2.3-SNAPSHOT of sftp plugingreg
2017-01-26 14:57:02 -0600Sftp plugin fixes for using empty path/current directory: Use "." in place of ""greg
2017-01-26 14:31:47 -0600add testsgreg
2017-01-26 14:25:45 -0600use latest parent pom in plugin parent pomgreg
2017-01-26 14:25:13 -06001.0.1-SNAPSHOT of parent pom. Update all dependencies and plugins to latest.greg
2017-01-26 11:58:04 -0600add changeloggreg
2017-01-26 11:57:50 -0600use 1.0.1-SNAPSHOT of cattura-plugin parent so that we have support for changelogs etcgreg
2017-01-26 11:35:43 -0600if path is empty (current directory) then can't chdir to it, it throws an exception if we try to chdir to empty directorygreg
2017-01-26 11:28:35 -0600fixes for readAttributes on empty path (current directory).greg
2017-01-26 11:16:36 -0600getParent() fixes and testsgreg
2017-01-26 10:49:20 -0600if path is the empty path then return true for exists(), since FTP client can't chdir to a non-existent directorygreg
2017-01-26 10:40:44 -0600special case empty pathgreg
2017-01-26 10:34:29 -0600if there are zero path elements, return null for getFileName()greg
2017-01-26 10:21:37 -06002.1.2-SNAPSHOT of abstract publisher-processor...greg
2017-01-25 12:28:19 -0600Add deb changelog for Web UI plugingreg
2017-01-25 12:24:15 -0600New plugin parent pom with support for debian changelogs.greg
2017-01-25 11:06:47 -0600add changelog for packagegreg
2017-01-24 16:27:23 -0600need apt-transport-https to work with our https repogreg
2017-01-24 14:25:52 -0600make the installer executablegreg
2017-01-24 14:04:48 -0600this is entry point for the installer so put a shebang heregreg
2017-01-24 13:46:46 -0600add symlink to installer on pathgreg
2017-01-24 13:43:24 -0600implement ObjectEncoder to make objects json-serializablegreg
2017-01-24 13:38:32 -0600derp, package.package not just packagegreg
2017-01-24 13:06:56 -0600only want to return modules we care about (e.g. procapture)greg
2017-01-24 12:58:59 -0600make afterinstall_checks able to return a valuegreg
2017-01-24 12:40:48 -0600return correct valuegreg
2017-01-24 12:37:40 -0600account for port heregreg
2017-01-24 12:16:06 -0600add a command for checking for updates. This can be used by capturecast and the UIgreg
2017-01-23 13:47:28 -0600some magic to make working with structs easiergreg
2017-01-23 13:42:16 -0600pass in "extra data" (unit id) to activation requestgreg
2017-01-23 12:53:51 -0600fix repo name -> repo url conditionalgreg
2017-01-20 18:10:17 -0600check for error from PDetsFromByteArraygreg
2017-01-20 18:02:01 -0600correct assignment of functions to classgreg
2017-01-20 16:19:05 -0600pass in USER flaggreg
2017-01-20 15:57:00 -0600strerror(): handle error code 1greg
2017-01-20 15:52:59 -0600need to load the pdets data before we initialize the turboactivategreg
2017-01-20 15:50:54 -0600better error code to string conversiongreg
2017-01-20 15:46:05 -0600Add basic code for supporting LDAP SSO.Josh Helpert
2017-01-20 15:36:22 -0600Add turboactivate error codes. For the object oriented wrapper, if a call returns an error, then throw exception.greg
2017-01-20 13:17:18 -0600Add TurboActivate.dat, and TurboActivate/LimeLM activation flowgreg
2017-01-20 12:24:47 -0600memoize __is_zip because the result won't change between executiongreg
2017-01-20 11:21:49 -0600abstract away the zipapp stuff into its own module, because we're going to be using it in the installer toogreg
2017-01-20 10:29:02 -0600avoid null/undefined reference for id... no idea null/undefined was being passed here (cherry picked from commit 67574618b39c84e431a348822add9913f28e4da3)greg
2017-01-18 10:51:22 -0600ui plugin 3.2.9-SNAPSHOTgreg
2017-01-18 10:51:00 -0600id/name comparisons are case insensitive in backend so they should be here too (cherry picked from commit 2c46d02f9741a77a0ae52c261fb688ce51301f53)greg
2017-01-16 19:33:52 -0600begin implementing turboactivate in the installergreg
2017-01-16 19:33:28 -0600can't set things with vars()greg
2017-01-16 19:17:00 -0600make an object oriented wrapper around TurboActivategreg
2017-01-16 18:59:07 -0600if installer is a zip (which it will be most of the time) extract the TurboActivate.so to temp file and load from theregreg
2017-01-16 18:42:04 -0600add test for loading the turboactivate so filegreg
2017-01-16 18:36:23 -0600correct path to so filegreg
2017-01-16 18:35:44 -0600reorganize package structure, make turbo_activate its own package and place libTurboActivate.so under that, so that the python interface wraps it.greg
2017-01-16 17:49:01 -0600add resources to zip filegreg
2017-01-16 17:10:44 -0600make this list synchronizedgreg
2017-01-16 17:02:28 -06003.1.26-SNAPSHOT of scheduler plugin. Make the TaskSource and EventSource lazy loaded, and do the initial timer refresh in a background thread. See #1691greg
2017-01-16 16:00:57 -06003.1.22-SNAPSHOT of console plugin. Make loading exception logs asynchronous, see #1691greg
2017-01-16 13:57:12 -0600Add TurboActivate so filegreg
2017-01-16 13:41:03 -0600revise notes for sftp plugin 1.2.2greg
2017-01-16 13:38:45 -0600SFTP plugin 1.2.2. Do not require password.greg
2017-01-16 13:11:18 -06004.1.1 of platform. Forgot I have to do this to increment the version...greg
2017-01-16 12:14:50 -0600relnotes 4.1.1greg
2017-01-16 11:53:15 -0600add Mock Devices to repogreg
2017-01-16 11:52:50 -06001.0.0 of mock devicesgreg
2017-01-16 11:50:42 -0600UI plugin 3.2.8greg
2017-01-16 11:40:08 -0600v4l plugin 1.1.8. Make package depend on cattura-capturecast-platformgreg
2017-01-16 11:33:14 -0600Graph Builder api plugin 3.1.10greg
2017-01-16 11:14:36 -0600release publisher-processor 2.1.1, ftp and sftp plugins 1.2.1greg
2017-01-13 16:39:43 -0600call out.write directly instead of going through super.write. This is because FilterOutputStream's default write(byte[]) methods delegate to write(byte) which can be horribly inefficient and seems to actually cause deadlocks in the SFTP filesystem.greg
2017-01-13 14:07:16 -0600Graph builder api 3.1.10-SNAPSHOT. Make the friendly graph.js a proper api method, so that it's returned by the api handler. Due to how the api internals were redone, if the api handler is registered before this handler is, since it technically uses the same url structure as the api, the api handler will intercept the request and handle it as an api request, which is not what we want. If we add it as an api method, it will not conflict with proper api methods.greg
2017-01-12 13:32:11 -0600make timeout configurable as settinggreg
2017-01-12 13:28:59 -0600default timeout of 30 seconds for SFTP plugingreg
2017-01-12 12:25:52 -0600Add mock devices to parent modulegreg
2017-01-12 11:43:50 -0600fix "using mode..." logginggreg
2017-01-12 10:30:10 -0600SFTP plugin 1.2.1-SNAPSHOT... use new publisher library & method of generating media package idgreg
2017-01-11 22:05:58 -0600Fix createSubFolder() and relativize calls in copyAssetgreg
2017-01-11 21:56:37 -0600Root component should be treated as separate from name components. This should make getParent() etc work properlygreg
2017-01-11 18:43:28 -0600throw NoSuchFileException if there is no such filegreg
2017-01-11 18:29:16 -0600include extension in media asset filename. Handle case where we can't ls the directory (e.g. it does not exist, is not a directory)greg
2017-01-11 17:36:43 -0600ftp plugin 1.2.1-SNAPSHOT. Use new version of publisher library, and better strategy for creating media package id. Note that the copier will handle conflicts between media package ids.greg
2017-01-11 17:33:18 -0600implement new strategy for creating unique file/folder names. Clean up some of the code for copying files and assets to use Path interface.greg
2017-01-11 15:26:38 -0600use CallOnce to ensure publish is called only oncegreg
2017-01-11 15:22:08 -0600abstract pub-proc 2.1.1-SNAPSHOTgreg
2017-01-10 13:21:43 -0600gitignore..greg
2017-01-10 13:21:40 -0600debconf opensmtpd ahead of time, before it's installedgreg
2017-01-10 12:27:28 -0600Add "5 minute sync test"greg
2017-01-10 12:26:42 -0600Add dancing robotgreg
2017-01-10 12:26:25 -0600Add kuhn.mp4greg
2017-01-10 12:26:14 -0600Add "Learning Engine in 90 seconds"greg
2017-01-10 12:25:58 -0600Add BBC sync testgreg
2017-01-10 12:25:28 -0600Add powerpoint.mp4greg
2017-01-10 12:25:02 -0600unignore .mp4greg
2017-01-10 12:23:56 -0600Add "mock devices" package projectgreg
2017-01-10 11:38:25 -06003.2.8-SNAPSHOT of UI plugin. Fix for issue where live preview of video capture shows as audio only if exact template ID is not usedgreg
2017-01-06 11:36:21 -0600split debconf into its own taskgreg
2017-01-05 17:02:16 -0600fix install callgreg
2017-01-05 16:53:41 -0600fix get_modinfogreg
2017-01-05 16:12:55 -0600add afterinstall checks to run after installation is complete, to verify that things have installed correctly and that devices are detectedgreg
2017-01-05 15:26:39 -0600Use cattura-customer-user package to set up the user, if it is availablegreg
2017-01-05 15:23:11 -0600add cattura-customer-user to deb repogreg
2017-01-05 15:21:55 -0600go ahead and cut first version of customer usergreg
2017-01-05 14:25:27 -0600Add admin, sudo groupsgreg
2017-01-05 13:59:32 -0600SeatDefaults -> Seat:*greg
2017-01-05 13:10:54 -0600Add lightdm config for autologingreg
2017-01-04 20:59:26 -0600Update chrome config, project namegreg
2017-01-04 20:13:13 -0600add chrome stuff to configgreg
2017-01-04 20:10:24 -0600Add initial version of customer user configgreg
2017-01-04 18:43:21 -0600one extra notegreg
2017-01-04 17:00:32 -0600definitely a mistake on my part. cattura-standard-distribution should depend on cattura-minimal-distributiongreg
2017-01-04 16:36:03 -0600a deploy script. This is mainly for deploying builds to the existing repo server. Super Cranium (new repo server) won't require this as it will be doing builds on its own.greg
2017-01-04 16:35:00 -0600relnotes 4.1greg
2017-01-04 14:51:36 -0600CaptureCast Platform 4.1!greg
2017-01-04 14:50:27 -0600Update magewell pro capture package to install on all kernels.greg
2017-01-03 21:47:53 -0600ubuntu 14.04 has timedatectl too, but it says "Timezone" instead of "Time Zone" so we need to adjust the parsinggreg
2017-01-03 13:28:53 -0600add --version as synonym for --repogreg
2017-01-03 13:28:25 -0600add --reinstall as synonym for --downgradegreg
2017-01-03 12:36:34 -0600make stdin a PIPEgreg
2017-01-03 12:35:34 -0600Add downgrade command (which is just uninstall + install)greg
2017-01-03 12:32:04 -0600support systemd restartgreg
2017-01-03 10:49:58 -0600Rename cattura and cattura-nginx sudo files, these conflict with older versions of some packages and break the upgrade.greg
2016-12-29 15:19:32 -0600Cranium plugin 1.0.8 seems good to gogreg
2016-12-29 15:09:13 -0600make http-alt a bit more extensible, provide hooks for overriding the default functionality (which uses jodd-http)greg
2016-12-29 14:53:34 -0600Need to return self from these setter methodsgreg
2016-12-29 14:40:40 -0600correct constructor call. Should probably make this so it should be usable with or without "new"greg
2016-12-29 13:35:21 -06001.0.8-SNAPSHOT of cranium plugin. Experiment with an alternate http client which should alleviate too-many-connections issues.greg
2016-12-29 12:06:30 -0600cut UI plugin 3.2.7greg
2016-12-29 11:53:56 -0600remove leftover card stuffgreg
2016-12-28 21:21:54 -0600detect timedatectl and, if present, prefer it. deploy pending #1687greg
2016-12-28 20:33:59 -0600remove some jank from the launch script, add some notes about stuff we might not needgreg
2016-12-28 19:00:05 -0600Release sudo rules 1.0.0.greg
2016-12-28 18:59:45 -0600Release updated console and log downloader pluginsgreg
2016-12-28 18:57:34 -0600Fix up jdeb to correctly apply execute bit to scripts.greg
2016-12-28 18:21:35 -06003.1.20-SNAPSHOT of log downloader plugin. Should be $input not inputgreg
2016-12-28 17:07:59 -0600my bad, it was 1.10.2-2 which didn't have the sudoers stuffgreg
2016-12-28 16:30:34 -0600Add a maven mojo which attempts to run the deploy plugin, swallowing any failures. This will be used on jenkins, where we don't want builds to fail if they don't deploy.greg
2016-12-28 15:18:36 -0600use nginx 1.10.2-1 which does not include the sudo rulesgreg
2016-12-28 14:08:42 -0600add sudo-rules to minimal distributiongreg
2016-12-28 14:01:43 -0600Release Console and log downloader pluginsgreg
2016-12-28 14:00:57 -0600use CM 3.3.3greg
2016-12-28 14:00:20 -0600cut configuration module 3.3.3greg
2016-12-28 13:07:05 -0600only want to set media title to source title if we're a source copygreg
2016-12-28 13:00:11 -0600fixes for when plugin directory is non-existent or not a directory greg
2016-12-28 11:53:09 -0600try-restart isn't supported in systemd, so use an alternate approach if that's what we're usinggreg
2016-12-28 11:39:43 -0600catturaCB-update no longer a thing, that's being done in the installer nowgreg
2016-12-28 10:23:57 -0600add cattura-ffmpeg to librariesgreg
2016-12-28 01:16:18 -0600Fix path to system-config modulegreg
2016-12-28 00:55:44 -0600use /usr/bin/catturaCB for the execution pathgreg
2016-12-28 00:48:52 -0600If we're using systemd then install the systemd service file.greg
2016-12-27 22:42:27 -0600Add systemd service file.greg
2016-12-27 22:27:19 -0600fix init script to properly create run directory & chown to capturecast usergreg
2016-12-27 21:09:31 -0600cut sftp plugin 1.2.0, ftp plugin 1.2.0greg
2016-12-27 20:06:19 -0600add message to progress updategreg
2016-12-27 20:03:14 -0600Live stream viewer plugin 3.1.16. Track "playing" event as well as "loadstart" event. If it's playing we can be sure it loaded. This seems to accurately handle failure to load on the flash side, as well.greg
2016-12-27 19:51:35 -0600add large file copy testsgreg
2016-12-27 17:39:18 -0600Copy the mode setting to SFTP plugin as it's being implemented there as wellgreg
2016-12-27 17:26:02 -0600Throttled the PTOS to fire callback at most every second using RateLimiter. It was firing on literally every single byte being written, which is probably not desirable.greg
2016-12-27 16:45:19 -0600In most cases, it seems like the primary and source copies will have a timestamp suffixed to them. In the case where they don't, and there is an overlap, generate a new title using the current date and media package title.greg
2016-12-27 16:25:14 -0600implement FileAlreadyExistsException which is necessary for Files.createDirectories to work properlygreg
2016-12-27 16:14:50 -0600port over progress stuff to SFTP plugingreg
2016-12-27 15:12:00 -0600this is actually bound with knockoutgreg
2016-12-27 12:34:47 -0600no need to duplicate code heregreg
2016-12-27 12:31:41 -0600fix callbacksgreg
2016-12-27 12:28:45 -0600Implement progress trackinggreg
2016-12-27 12:22:13 -0600Add a generic outputstream wrapper which tracks write progress, which will be used with the media package copier. This is a fairly common pattern so I see it being moved out of this library into one of the common libraries.greg
2016-12-27 11:34:27 -0600port over the FTP plugin changes to SFTP plugingreg
2016-12-27 11:19:07 -0600Implement sftp filesystem. That was much simpler than the ftp filesystem IMO.greg
2016-12-27 10:36:52 -0600begin 1.1.1-SNAPSHOT of the sftp plugingreg
2016-12-27 10:34:55 -0600this is better, still no crashes and no unnecessary increments. Add explanation about how the callback works (just figured it out now)greg
2016-12-27 10:18:48 -0600release the stitcher (again). Not so happy with how we're doing refcounting in the library but at least it doesn't crash anymoregreg
2016-12-27 10:07:21 -0600more appropriate exception typegreg
2016-12-22 18:17:07 -0600add note re. second increment (it crashes without it...)greg
2016-12-22 17:47:06 -06002.0.2-SNAPSHOT of frame stitcher library. RefCounted should be -incremented- when being put into the stitcher, and -decremented- when it is replaced. Decrementing it on pack will cause crashes if the refcounted is used elsewhere (e.g. in another processor... or in the stitcher, when packing another frame) because it is already decremented by the processor engine. Also, we should consider moving the refcount logic into the plugin, since refcount is a processor/processor-engine thing.greg
2016-12-22 13:52:43 -0600... not a checkboxgreg
2016-12-22 13:48:30 -0600add upload mode selector in UIgreg
2016-12-22 12:55:59 -0600only want to set options if those options are actually present in the map. No idea why it was being done the other waygreg
2016-12-22 12:47:54 -0600oops, double mediaPackageFolderNamegreg
2016-12-22 12:35:20 -0600createDirectories() on root path, to ensure it existsgreg
2016-12-22 12:30:07 -0600fix config parsinggreg
2016-12-22 12:29:38 -0600if FTP client upload/download fails, close out the pipe. If possible check that we're able to upload/download before attempting to do sogreg
2016-12-22 11:20:57 -0600make both `mode` (full/media only/media only at root) and `enableDatedDirectoryStructure` options available on the processor level. Fix up stored output paths to be correct and appropriate to the mode used to upload the media.greg
2016-12-21 20:49:14 -0600extension does not include dotgreg
2016-12-21 20:47:00 -0600use null to represent no subdirectory (current directory) and not "." because i'm too lazy to implement proper support for that into the ftp filesystemgreg
2016-12-21 20:25:08 -0600i derped here, can't parse a media package title into a UUID, just make a random onegreg
2016-12-21 18:07:24 -0600properly implement delete so it works on both files and directories. Test createDirectories which is used by the media package copier.greg
2016-12-21 18:05:26 -0600implement AbstractPath.relativize() using the default path implementation, which is OS-specific and may act differently outside unix.greg
2016-12-21 15:29:26 -0600implement readAttributes()greg
2016-12-21 14:38:38 -0600make _names protected and final (path is immutable)greg
2016-12-21 14:00:03 -0600make data transfer thread not a demon threadgreg
2016-12-21 13:23:15 -0600need to connect in/out streams before we returngreg
2016-12-21 12:32:50 -0600even more ftp filesystem stuff. Should implement basic creation and upload stuff which is all we really want to do.greg
2016-12-21 10:57:57 -0600replace ftp4j utility + ftp media package uploader with new media package copiergreg
2016-12-20 23:33:16 -0600begin the implementation of the FTP file systemgreg
2016-12-20 23:32:46 -0600this is now deprecatedgreg
2016-12-20 23:13:09 -0600flesh out abstract path, with tests. This should be good enough for what we want to dogreg
2016-12-20 22:17:40 -0600separator can be divined from the filesystemgreg
2016-12-20 22:02:06 -0600put all the -abstract- fs stuff in this project, so it can be reused in the s/ftp pluginsgreg
2016-12-20 17:43:29 -0600begin implementation of new MediaPackageCopier classes. MediaPackageCopier.Full is the current one, MediaPackageCopier.MediaOnly is media only in a directory, MediaPackageCopier.MediaOnlyToRoot is media only directly to the root.greg
2016-12-20 16:52:52 -06002.1.0-SNAPSHOT of abstract publisher processor. The media package copier will be moved into here and extended, and the S/FTP plugins will be redone to use it.greg
2016-12-20 16:35:15 -0600removing database setup from cattura-capturecast-platform package; it is being done in installer. Remove update script as that is also now being done in installer.greg
2016-12-20 16:20:01 -0600no need to have duplicate code for adding a file to a zip, especially with the logreader script in placegreg
2016-12-20 16:02:35 -0600Add log downloader plugin sudo configgreg
2016-12-20 16:01:22 -0600Log downloader plugin 3.1.19. Port the read_log from the console plugin to be used here.greg
2016-12-20 15:47:17 -0600attempt to fix permissions on the read_log scriptgreg
2016-12-20 15:38:22 -0600Remove sudo configuration from nginx, as it will be done in the sudo rules packagegreg
2016-12-20 15:36:43 -0600Remove sudoers file from base platform package, it will be provided by cattura-sudo-rules packagegreg
2016-12-20 15:35:44 -0600Centralize sudo config into one package, which will be installed along with the standard-distribution (or maybe minimal-distribution)greg
2016-12-20 15:25:49 -0600If we fail to read the file using sudo, throw an exception.greg
2016-12-20 15:02:25 -0600On startup, handle case where database does not exist, as well as case where database exists but is empty. Older builds (pre-October) expect either no database or a populated database, and if there is no database then it will be created and populated - but cannot handle an existing database that is empty. October/November beta builds expect an existing user and empty database (created on install) and will populate the database on startup - but cannot handle a non-existent database. 3.12 and forward will be able to handle either a non-existent or an empty database, as long as the user is valid (it is created by the installer when the database is set up, or by the cattura-capturecast-platform package). Note that the installer's wipe command will drop the database but not recreate it, so as to keep compatibility with pre-October builds.greg
2016-12-20 13:45:18 -0600Prefer our database config over capturecast's when installing databasegreg
2016-12-20 13:43:45 -0600remove connectivity check for now. This fails if the database does not exist, which it might not when this runs.greg
2016-12-20 13:41:35 -0600self.context not self.configgreg
2016-12-20 13:31:20 -0600move database handling code into a module so it can be dried up in the tasksgreg
2016-12-20 12:42:51 -0600have get_settings() return None if there are no settings. We can handle that by defaulting to an empty dict.greg
2016-12-20 12:39:44 -0600fix up remove_legacy_platform. Note version data can either be a json object or a plain string.greg
2016-12-20 12:15:09 -0600gitignoregreg
2016-12-20 12:14:51 -0600whitespace in outputgreg
2016-12-20 11:26:08 -0600implement urlopen() to support username:password@hostgreg
2016-12-20 01:22:37 -0600If database user already exists, try to connect using those credentials.greg
2016-12-20 00:40:00 -0600need importgreg
2016-12-20 00:39:10 -0600Should still create the user at least.greg
2016-12-19 20:52:33 -0600Kill capturecast before uninstalling itgreg
2016-12-19 20:51:35 -0600There seems to be some amount of delay between the time the exited flag is set and the time the reader threads see it, so there may be excess newlines being read after the process stops. To prevent this, when an empty newline is read, simply buffer it until a non-empty newline is read, then transmit all the buffered newlines.greg
2016-12-19 18:44:21 -0600Older builds can't handle an empty database. They expect there to be either no database (in which case the database is created) or a database with tables. The 3.12 build will have some logic to handle both cases, so for now we don't create a database.greg
2016-12-19 16:49:11 -0600separate argumentsgreg
2016-12-19 16:48:28 -0600read_privileged() should be implemented with check_outputgreg
2016-12-19 15:05:36 -0600self.config not configgreg
2016-12-19 14:48:34 -0600use os.path.joingreg
2016-12-19 14:47:31 -0600it makes more sense to install the database -before- installing the platform, since the platform runs on top of the databasegreg
2016-12-19 14:36:15 -0600pg_hba.conf needs privileged access to read, so add a read_privileged method here as well.greg
2016-12-19 14:23:16 -0600should be call_privileged()greg
2016-12-19 14:02:44 -0600lower() not tolower()greg
2016-12-19 12:51:33 -0600begin work on install_os task. This task calls into the ubuntu installer (ubiquity) using a generated preseed file.greg
2016-12-19 11:56:12 -0600Fix up update command. Prompt for restart.greg
2016-12-19 11:42:36 -0600While removing data, stop capturecast process if it's running. Provide a --yes switch which can do this automatically.greg
2016-12-19 11:14:50 -0600status will throw error code if process is not runninggreg
2016-12-19 10:31:03 -0600"description" field seems to be optionalgreg
2016-12-15 18:22:41 -0600add commands to start/stop/restart capturecast.greg
2016-12-15 18:18:59 -0600Actually run database setup (that is, create database user and database) in installer. Still not sure if it should be done here or in the cattura-capturecast-platform package. Maybe it can be done in both places.greg
2016-12-15 18:05:13 -0600Do a drop/create using our database user, which is the same thing the restore feature does before restoring data. This command is meant to return capturecast to a factory default state.greg
2016-12-15 16:47:06 -0600move postgresql auth fix to installergreg
2016-12-14 19:57:31 -0600extend remove_data to call into the database and drop the databasegreg
2016-12-14 19:45:16 -0600split off code for interacting with the CaptureCast installation itself into a new modulegreg
2016-12-14 19:08:07 -0600should be postgresql not postgresgreg
2016-12-14 19:06:50 -0600... except where necessarygreg
2016-12-14 19:03:50 -0600use double quotes for consistencygreg
2016-12-14 18:53:39 -0600Install each driver one at a time; if any fails, uninstall it.greg
2016-12-14 18:16:02 -0600make nuke command more fault-tolerant, since it's not required that all of these tasks succeed (since if they fail then it probably means said component was not on the system to begin with)greg
2016-12-14 18:10:52 -0600default to None like usual, so we can know when the user didn't select anythinggreg
2016-12-14 18:08:06 -0600Fix drivers optiongreg
2016-12-14 18:06:05 -0600Remove deploy scripts. This function is being taken over by supercraniumgreg
2016-12-14 18:05:24 -0600Add dpkg-scanpackages script, for quickly updating repo metadatagreg
2016-12-14 17:57:53 -0600popen.wait()/poll() isn't thread-safe, so we need a third thread which wait()s and notifies the reader threads the process is donegreg
2016-12-14 16:45:07 -0600allow for null logger and default configgreg
2016-12-14 16:29:24 -0600rename setup_repo/remove_repo to register/unregister, because that is what they dogreg
2016-12-14 16:27:35 -0600nuke should uninstall ALL cattura packages before wiping cattura dirgreg
2016-12-14 13:43:29 -0600should be subprocess.PIPEgreg
2016-12-14 13:40:42 -0600pass in PIPE to stdin. This seems to resolve issues with apt messing with terminal output when it's connected to a tty.greg
2016-12-14 12:49:58 -0600remove carriage returns from log linesgreg
2016-12-14 10:50:23 -0600only start readers if stdout/stderr pipes are availablegreg
2016-12-13 16:23:13 -0600Raise exception if command fails.greg
2016-12-13 16:19:40 -0600Add fledgling graphical mode. For now it just means prompts will display graphical input dialogs, and `pkexec` will be used to escalate privileges instead of `sudo`.greg
2016-12-13 16:07:35 -0600If logger is configured again, remove the previous logfile beforehandgreg
2016-12-13 15:55:54 -0600Split up install/remove into several actions based on what's being installed (e.g. install, install-drivers, uninstall, unregister, etc)greg
2016-12-13 14:48:57 -0600redo how config flags are mapped to actions. This is more flexible than the if/elseif structure and also allows multiple actions to be called.greg
2016-12-13 13:50:26 -0600Add ability to output results as JSON. This could be used for example in capturecast to run updates or check for updates.greg
2016-12-13 13:14:31 -0600only want to strip newlines from each linegreg
2016-12-13 13:12:45 -0600Replace tee class with logger. The default logfile is stamped with datetime.greg
2016-12-13 12:35:10 -0600Dry up calls to write_file.greg
2016-12-13 12:29:17 -0600Dry up calls to apt-get updategreg
2016-12-13 11:41:14 -0600replace requires_root flag with a separate method, since requires_root isn't a valid argument to Popen() anyway (we had to kinda fudge it there) and it probably makes more sense to decouple the privilege granting (sudo) with the actual callgreg
2016-12-13 11:32:45 -0600Move updater code from cattura-capturecast-platform into installer. The installer will be installed alongside the platform and will provide this command.greg
2016-12-13 10:07:31 -0600correct conditional in TaskQueueProxy.onImminentRestartEventgreg
2016-12-12 20:38:50 -0600need to apt-get update after adding chrome repogreg
2016-12-12 19:47:23 -0600Pipe subprocess output and error into logger.greg
2016-12-12 19:10:59 -0600dry up context object by supplying it a logger. This does mean we need to construct a new context per task, which does complicate each task a bit. But since the main only need to know about the config, maybe it makes sense to push off constructing the context to each task. Maybe there's a cleaner way this can be donegreg
2016-12-12 18:54:02 -0600unit id should not have a newlinegreg
2016-12-12 18:48:28 -0600put slashes in the correct placegreg
2016-12-12 18:47:48 -0600handle case where unit object already exists; try to re-use itgreg
2016-12-12 18:41:48 -0600force add-apt-repositorygreg
2016-12-12 18:28:45 -0600apt-get update call requires rootgreg
2016-12-12 18:26:00 -0600Since cranium requires a url for the unit object, use the ip that cranium's clientInfo endpoint gives us. Alternatively we could not require a url in the first place.greg
2016-12-12 18:20:59 -0600add support for /clientInfo endpoint in cranium.greg
2016-12-12 18:04:09 -0600raw_input in python 2.x. Since it makes more sense to call this input, just try to alias raw_input to inputgreg
2016-12-12 18:03:33 -0600empty dictionary counts as false so we need to explicitly check for Nonegreg
2016-12-12 17:49:24 -0600skip cranium client tests for nowgreg
2016-12-12 17:48:54 -0600fix call to discover_craniumgreg
2016-12-12 17:23:44 -0600update platform package 3.12.greg
2016-12-12 17:22:18 -0600API plugin 3.2.2!greg
2016-12-12 17:21:03 -0600go ahead and release CM 3.3.2, this is a minor fix that just includes the update to cattura-utils-io 1.1.1greg
2016-12-12 17:19:43 -0600use 1.1.1greg
2016-12-12 17:19:27 -0600utils-io 1.1.1greg
2016-12-12 17:12:37 -0600since we waited for the process to die (using process.waitFor()), we can be sure the process is dead by the time we get down here, even if the input callbacks throw an exceptiongreg
2016-12-12 17:06:08 -0600If input stream closes we don't want to raise an exception.greg
2016-12-12 16:29:08 -0600remove processor 1.2.0 dependency and MediaPackageHelper test. Not sure what new bugs the new serializers can sneak into the codebase, so want to test a bit more before pushing them.greg
2016-12-12 15:56:53 -0600Add test for media package helper, using the new media package serializer.greg
2016-12-12 15:49:43 -0600use 3.2.1-SNAPSHOT of the api plugin classesgreg
2016-12-12 15:47:05 -06003.2.1-SNAPSHOT of api plugin classes. Because we are doing version checks in the getGroupsOfVersion/getMethodsOfVersion, a separate version checker is not necessary. Also, it's possible for target version to be null which just means we want the latest version.greg
2016-12-12 15:33:49 -06003.2.2-SNAPSHOT of api plugin. Parse the uri parameters using the correct API method. This -used to- work, but now no longer does...greg
2016-12-12 15:21:03 -0600Use processor 1.2.0 so we can use the media package serializer.greg
2016-12-12 15:05:24 -0600stringify the object, not the target classgreg
2016-12-12 14:22:05 -0600Should not be depending on snapshot versions of these released librariesgreg
2016-12-12 14:20:46 -06001.2.0-SNAPSHOT of Processor library: Backport the new ConfigSerializer/GraphSerializer/MediaPackageSerializer interfaces from processor:2.0.0. The MediaPackageSerializer can create a new media package from json but the GraphSerializer can't yet, because the default graph implementation is in processor-engine. Keep the legacy ElementSerializer interface in for backwards compatibility.greg
2016-12-12 12:29:41 -06001.10.2-1 of nginx package: remove Required-Start/Required-Stop fields. This apparently breaks insserv boot sequencing http://unix.stackexchange.com/a/297566greg
2016-12-09 18:27:37 -0600prompt for, and attempt to validate, the user's key if it is requiredgreg
2016-12-09 18:20:03 -0600actually implement rebuild repo urlgreg
2016-12-09 18:16:25 -0600initial implementation of cranium registration in installergreg
2016-12-09 17:37:30 -0600javasound plugin 1.0.4, library 1.0.2greg
2016-12-09 17:32:05 -0600If we can't parse friendly title from description, just use description. If ALSA detect script doesn't exist, don't try to call it.greg
2016-12-09 17:28:10 -0600Need to detect devices before using plugingreg
2016-12-09 17:25:37 -0600Run watcher correctlygreg
2016-12-09 17:21:16 -0600Set state to stopping when trying to stop.greg
2016-12-09 17:14:01 -0600remove unused importgreg
2016-12-09 17:02:25 -0600Add writer.greg
2016-12-09 16:44:42 -0600Start up _chunkDispatcher before attempting to open line. We can get generated silent data even if the line does not open.greg
2016-12-09 16:13:07 -0600returns a boolean, not a sessiongreg
2016-12-09 16:06:24 -0600pass in the name to the framebuffers on creation, not startupgreg
2016-12-09 15:59:45 -0600Use latest processor-engine and current snapshot of javasound plugingreg
2016-12-09 15:34:40 -0600move javasound to its own directory as it now has an accompanying test directory as wellgreg
2016-12-09 15:33:56 -0600add #1521 test casegreg
2016-12-09 14:41:19 -0600Add "unit registration" tests.greg
2016-12-09 13:24:33 -0600Add "add unit" tests.greg
2016-12-09 13:24:04 -0600Add methods to manipulate units/tokens on craniumgreg
2016-12-09 12:37:11 -0600Don't specify backend plugins in the installer, instead have a package called "minimal distribution" which includes all of that.greg
2016-12-09 12:36:32 -0600Begin implementing the Cranium client librarygreg
2016-12-06 20:04:06 -0600Release magewell pro capture drivers.greg
2016-12-06 19:57:55 -0600bump nginx to 1.10.2greg
2016-12-06 19:21:48 -0600magewell drivers upper bound to 2.0.0greg
2016-12-06 18:54:21 -0600Make an new aggregate for notifier plugins. Split "features" and "publishers" (as they are in the installer) and offer "standard-features" alongside "editing-station-features." Also add "minimal-distribution" which is capturecast platform + some "required" plugins (such as fps throttle, metadata plugin, save frame plugin). These are backend plugins which don't have any user-facing features but are implicitly required to really do anything. This will be the basic package installed by the new installer.greg
2016-12-06 18:45:05 -0600add register action. This registers the unit with the repo (super cranium).greg
2016-12-06 15:07:21 -0600add (back) defaultsgreg
2016-12-06 13:55:23 -0600Presets are no longer a thing. We'll just use virtual packages.greg
2016-12-06 13:22:36 -0600Move aggregate-packages into a submodule of apt-repo, so that super cranium will build those too.greg
2016-12-06 12:19:51 -0600CM JS plugin helpers 1.0.3greg
2016-12-06 12:08:22 -0600platform 3.12.0greg
2016-12-06 12:07:29 -0600CM 3.3.1greg
2016-12-06 12:05:31 -0600c-u and c-u-io 1.1.0greg
2016-12-06 12:04:40 -0600readjust line breakgreg
2016-12-06 12:00:20 -06003.1.20-SNAPSHOT of console plugin. Implement a script that can read logs as root for us.greg
2016-12-06 11:39:35 -0600trim newline from version info filegreg
2016-12-05 17:45:31 -0600increment jdeb versiongreg
2016-12-05 17:44:16 -0600fix (again) the sudoers stuffgreg
2016-12-05 17:39:33 -0600... and build number is going awaygreg
2016-12-05 17:39:18 -0600version number is coming back (and build number is going away)greg
2016-12-05 17:33:36 -0600fix sudoers pathgreg
2016-12-05 17:32:57 -0600make note that libssl1.0-dev may be requiredgreg
2016-12-05 17:15:34 -0600Include documentation, configuration (udev/modprobe), and tools with driver package.greg
2016-12-05 16:54:32 -0600Use version 1.2.0.3218-SNAPSHOT to match the version given to us by magewell. This version number is actually lower than the one from the previous version, so could be construed as a downgrade by apt/maven. We might need to figure something out to get around this. Alternatively we could just make up an arbitrary number like 3.0 and use that instead, but that is inconsistent with the version actually reported.greg
2016-12-05 16:51:56 -0600fix up path to built module. Replace the default clean command with a simple one liner to remove built objects, as the default will remove the *.a files (which are required to actually build the module)greg
2016-12-05 15:58:58 -0600comment out the test-build code (it seems not to run under kernel 4.8). Instead of rewriting their makefile reorganize package to try to use it by default. Because of how dkms works and how module builds in general having dkms run the makefile directly breaks: you need to actually run make in the kernel source directory using a special target for kernel modules, and then the module's makefile receives KERNELRELEASE and uses that to know it's in a kernel module build. We changed the makefile to detect KERNELRELEASE and adjust accordingly but it's better practice to modify as little of their stuff as possible. I don't think we'll need anything outside src so we can just put src into the dkms source tree and stick dkms.conf there and dkms should do the right thing.greg
2016-12-05 11:32:23 -0600actually just turn off these subprojects for now. We -probably- don't need these dependencies for the actual drivergreg
2016-12-05 10:32:20 -0600Update magewell driver and SDK to latest versiongreg
2016-12-05 10:23:26 -0600fix xercesImpl versiongreg
2016-12-02 23:28:12 -0600move launcher code into a script which is called through sudo. This is because the old behavior breaks under ubuntu 16.04 where systemd requires all calls to it to be privileged, whereas with init under ubuntu 14.04 we could just whitelist the cattura launch script under sudo and that would work fine.greg
2016-12-02 18:16:45 -0600Update nginx to 1.10.2greg
2016-12-02 18:05:01 -0600add poweroff/reboot commandsgreg
2016-12-02 17:27:57 -0600pass the full path to the script as a string, so it is executed as a command instead of having ProcessHelper parse out the interpreter and execute it that way. That's because our sudo configuration whitelists the specific script and not the interpreter, which we shouldn't do.greg
2016-12-02 17:03:32 -0600can get commandLine from processhelpergreg
2016-12-02 17:02:23 -0600add c-u-io 1.1.0-SNAPSHOT dependency, use snapshot dependency for librarygreg
2016-12-02 17:01:18 -0600use lambda methodgreg
2016-12-02 16:58:23 -0600use an executor to read from the process, so that if any errors come from callback then they are handled properlygreg
2016-12-02 16:01:27 -0600want to inherit not pipegreg
2016-12-02 15:39:12 -0600since we are now targeting jdk8 we can use redirectOutput()/redirectError()greg
2016-12-02 14:27:11 -0600depend on 1.1.0-SNAPSHOT of c-ugreg
2016-12-02 14:26:46 -06001.1.0-SNAPSHOT of cattura-utils-io. API enhancements and null pointer bug fixes for ProcessHelper.greg
2016-12-02 13:28:25 -0600run sudo in passwordless mode, null check for interpreter (can be null if it's not a script)greg
2016-12-02 13:22:49 -0600useBaseVersion=false in dependency plugin, so snapshots are handled properlygreg
2016-12-02 13:18:38 -0600pin to specific versions of libraries.greg
2016-12-02 13:00:09 -0600Run poweroff/restart as privileged.greg
2016-12-02 12:57:33 -0600Run setTZ script as privileged command. Do not use FileWrapper.greg
2016-12-02 12:50:49 -0600add utility for running process in sudogreg
2016-12-02 12:34:24 -0600sudo policy for capturecast to be able to run selected commands as root. This might be separated into its own package later.greg
2016-12-02 12:16:16 -0600Prefer VERSION file outside jar (which comes from platform package or other package) to one inside jar (which does not exist anymore).greg
2016-12-02 12:11:22 -0600include version number in platform package. Might want to revisit this strategy later (e.g. include it in its own package?) but for now this should do.greg
2016-12-02 11:34:51 -0600Remove internal version number (3.1.7). Version number will be stored in some other package, for now probably the platform.greg
2016-12-02 11:24:59 -06003.3.1-SNAPSHOT of configuration module. Don't split off local storage plugin into publish request.greg
2016-12-02 10:49:37 -06003.1.14-SNAPSHOT of configuration api plugingreg
2016-12-02 10:47:51 -0600Add wrapper for Consumer functionsgreg
2016-12-01 10:49:09 -06001.0.3-SNAPSHOT of javascript helpers. Provide ability to pass in the http client to the request function.greg
2016-11-30 13:25:32 -0600Centralize all the code for getting video config (width, height, etc) from a node and reuse that in the getEncodingSettingsForWriterNode().greg
2016-11-29 18:33:34 -0600devices is an object, so use _(...).isEmpty()greg
2016-11-29 17:28:17 -0600Refuse to save stitcher data which has zero devices. This will be replaced with default stitcher config in the backend.greg
2016-11-29 17:18:13 -0600copy resolution detection stuff over from encoding_resolution branch, eventually streamer/writer will not have resolution on themgreg
2016-11-29 16:43:51 -0600Recognize facebook as a known providergreg
2016-11-29 13:49:54 -0600don't fail if we fail to generate the bundled installer, this is obsolete and will be removed in 4.0 (and actually fails the build under super cranium, since the project is copied to a directory outside the repo and executed there)greg
2016-11-29 13:48:57 -0600add facebook streaming form, deploy pending #1683greg
2016-11-29 13:16:05 -0600update placeholder url for kaltura streaming, deploy pending #1684greg
2016-11-29 13:11:57 -0600UI plugin 3.2.7-SNAPSHOT, fix support URL (cherry picked from commit 03924167cb8063a4456e8189978fe30e3629391b)greg
2016-11-29 13:10:28 -0600UI plugin 3.2.7-SNAPSHOT.greg
2016-11-28 12:40:52 -0600remove the bundled-installer task. The unit_setup.py is obsolete in the new system, and the bundled installer is as well. Perhaps we can have a way to create a bundled installer in the installer project.greg
2016-11-16 18:06:11 -0600Introduce a "standard" feature which includes all the other "standard-*" features, so when a new standard feature is added that will be available.greg
2016-11-16 17:39:30 -0600Use check_call instead. If a call fails we want to be able to fail fast by default. Anything that can be allowed to fail we should check in an exception handler.greg
2016-11-16 17:38:03 -0600Extend remove command to be able to remove other things (e.g. data, repo)greg
2016-11-16 17:27:42 -0600add support for "presets" which are preconfigured settings (e.g. editing station)greg
2016-11-16 15:52:13 -0600require_root not requires_rootgreg
2016-11-16 15:41:46 -0600move logging config to main() and out of context module. This also removes duplicate configuration due to `installer` and `installer.tasks.blah` both being configured; it's simpler to just use basicConfig to set up the root logger.greg
2016-11-16 15:25:52 -0600remove require_root from kwargs even if we are rootgreg
2016-11-16 13:26:23 -0600useradd requires rootgreg
2016-11-16 13:25:26 -0600remove print statementgreg
2016-11-16 13:13:05 -0600escape single quotes in input stringgreg
2016-11-16 12:23:54 -0600usbcore.autosuspend patchgreg
2016-11-16 12:18:58 -0600dry up the shell command for writing files. This might need to be extended to handle newlines or special characters or any number of corner cases.greg
2016-11-16 12:14:33 -0600Add a setup_os task that will perform OS/system level setup such as bootloader config.greg
2016-11-16 11:34:56 -0600properly install extrasgreg
2016-11-16 11:33:41 -0600properly handle dpkg_options=Nonegreg
2016-11-15 19:39:08 -0600if shell=True, wrap the command in a shell command (sh -c ...) and properly prepend the prefix ("sudo" etc) to thatgreg
2016-11-15 19:35:52 -0600if "require_root" is in kwargs then remove it, subprocess.call doesn't want to see thisgreg
2016-11-15 19:31:15 -0600add option for license keygreg
2016-11-15 19:22:21 -0600fix executable zip by making installer a package within the zip and importing from it, since python won't let me relative import itgreg
2016-11-15 19:21:19 -0600actually set executable flag on zipgreg
2016-11-15 18:53:14 -0600if we run tests from /target then we can remove the sys.path.append since installer will already be on the pathgreg
2016-11-15 18:50:34 -0600don't need __main__ since we're using test discoverygreg
2016-11-15 18:49:46 -0600Use python unittest's test discovery.greg
2016-11-15 18:47:41 -0600add test for --helpgreg
2016-11-15 18:43:34 -0600Chrome is an "extra" and thus the chrome repo should be set up in install_extras.greg
2016-11-15 18:27:45 -0600use logger to log calls in context.py. Discover the calling task and use that as the logger name as it's more meaningfulgreg
2016-11-15 15:29:09 -0600bring back the installer.log filegreg
2016-11-15 14:39:05 -0600remove unnecessary newlinegreg
2016-11-15 14:30:08 -0600Use logger for maingreg
2016-11-15 14:26:53 -0600add INSTALL_ONLY_CAPTURECAST flag. The installer performs some extra functions such as installing a browser and setting up a user account. As we move from ubuntu to cattura OS more of that will be baked into the OS and not installed by this installer.greg
2016-11-15 13:42:33 -0600use logger instead of print statementgreg
2016-11-15 12:47:31 -0600scan installed kernels and install the headers for each. If headers fail to install, print warning message.greg
2016-11-15 12:37:25 -0600Redo install_drivers task to install user-selected drivers.greg
2016-11-15 12:34:51 -0600dry up packages.py module by having it just return a command list, which can then be called in context.py, which handles the sudo stuff. Also means that we can dry up context.py a little as well by removing unnecessary checks for self.config.drygreg
2016-11-15 11:48:11 -0600use a method to determine what "sudo" to use, for example if we're running in a graphical environment we can use gksugreg
2016-11-15 11:29:20 -0600use shell commands to perform actions which require root, that way we can append sudo to the command where appropriategreg
2016-11-15 10:49:09 -0600remove call to install ffmpeg, we will eventually start depending on cattura-ffmpeg instead probably, plus blackmagic daemon is no longer installed so should no longer be an issuegreg
2016-11-14 20:59:54 -0600ask for sudo if we need itgreg
2016-11-14 20:53:53 -0600If user specifies features on the command line, always install them, even if the platform is already installed. The backend packages are technically not part of the base platform but should be treated as such.greg
2016-11-14 19:54:36 -0600fix parsing of configgreg
2016-11-14 19:51:18 -0600expand install_platform task to selectively install user-specified componentsgreg
2016-11-14 18:22:22 -0600clean up argparser, add test for remove and publishers argumentgreg
2016-11-14 17:53:35 -0600add remove command and taskgreg
2016-11-14 17:21:06 -0600clean up log_call representationsgreg
2016-11-14 17:04:54 -0600route all calls to open() through context, so if we're doing a dry run we can detect that and return a fake filegreg
2016-11-14 16:31:42 -0600add informational message for running taskgreg
2016-11-14 16:30:21 -0600run (context) -> __call__ (context), implement abstraction for callable task modulesgreg
2016-11-14 16:08:27 -0600dry run the installergreg
2016-11-14 16:07:28 -0600if dry run is enabled print messagegreg
2016-11-14 16:01:46 -0600remove unused importgreg
2016-11-14 16:00:48 -0600remove stipulation that installer must be run as root, this allows us to dry-run the script as regular user and we can sudo if necessarygreg
2016-11-14 14:54:56 -0600database config is a dict, not objectgreg
2016-11-14 13:45:04 -0600add __init__.pygreg
2016-11-14 13:39:41 -0600import and attempt to run installer from testgreg
2016-11-14 13:38:54 -0600put the actual main function in __init__ and just call it from __main__greg
2016-11-14 13:35:11 -0600add __init__.py so the installer can be imported as a packagegreg
2016-11-14 12:44:42 -0600rename "target/src" to "target/installer" and "target/test_src" to "target/installer_test"greg
2016-11-14 12:22:08 -0600Add python testgreg
2016-11-14 12:08:25 -0600remove unused variablegreg
2016-11-14 11:52:39 -0600make it possible to pass arbitrary args to main, or perhaps an already created config objectgreg
2016-11-14 11:26:27 -0600Add dry run optiongreg
2016-11-14 11:01:51 -0600fix assignment errorgreg
2016-11-14 10:38:15 -0600add a "context" that takes all calls to install/call/etc. We can thus modify the behavior of these calls based on config, e.g. do a dry rungreg
2016-11-10 19:35:43 -0600add required imports, fix syntax issuesgreg
2016-11-10 18:52:28 -0600add pyflakesgreg
2016-11-10 18:20:00 -0600begin work on new installer, decouple individual tasks into modules and add configgreg
2016-11-09 16:25:12 -0600Add maven project for new installer.greg
2016-11-09 11:58:04 -0600UI plugin 3.2.7-SNAPSHOT, fix support URLgreg
2016-11-08 15:13:29 -0600comment out non-existent sso-ldap plugingreg
2016-11-08 14:59:21 -0600release live preview plugingreg
2016-11-08 14:59:03 -0600add descriptions to methods, better types to parametersgreg
2016-11-08 14:54:42 -0600Release configuration module and platform 3.3.0greg
2016-11-08 14:53:58 -0600release a bunch of plugins/librariesgreg
2016-11-08 14:51:18 -0600scheduler plugin 3.1.25greg
2016-11-08 14:48:29 -0600requireAuth() already implies not nullgreg
2016-11-08 14:47:13 -0600user can be null nowgreg
2016-11-08 14:43:26 -0600new API plugingreg
2016-11-08 14:43:07 -0600going to go ahead and cut this, the API key stuff can come latergreg
2016-11-08 14:41:37 -0600add API key VO and proxy. Will probably return to look at this later.greg
2016-11-08 13:58:28 -0600cut Platform 3.2.7greg
2016-11-08 13:58:02 -0600cut CM 3.2.3greg
2016-11-08 13:51:09 -0600cut new version of stitcher plugin etcgreg
2016-11-08 13:27:06 -0600fix issue where ivpToData() was being called before _bytes was initialized, causing a NPEgreg
2016-11-08 12:35:16 -0600new frame stitcher plugin is using latest versions of librariesgreg
2016-11-08 12:33:44 -06001.0.1-SNAPSHOT of native compositor librarygreg
2016-11-08 12:32:59 -0600actually, just use the constructor in cattura-utils 1.0.0 for backwards compatibility reasons. Maybe later we can move forwardgreg
2016-11-08 12:31:19 -0600backport changes to cattura-utils from platform-additions branchgreg
2016-11-08 12:26:58 -0600since cattura-utils library was changed it needs to be a new versiongreg
2016-11-08 12:23:31 -06001.1.1-SNAPSHOT of plugingreg
2016-11-08 12:21:49 -0600new version of base stitcher librarygreg
2016-11-08 11:34:53 -0600Increment and decrement packing operation correctly.Josh Helpert
2016-11-08 11:33:41 -0600Minor syntax cleanup.Josh Helpert
2016-11-08 11:29:07 -0600Added log message to print the pointer addresses to see if they're ever NULL.Josh Helpert
2016-11-08 11:00:40 -0600Added a new test to try to compose the same frame multiple times.Josh Helpert
2016-11-07 12:39:15 -0600Added double type to constructor signature.Josh Helpert
2016-11-04 20:21:35 -0500use CM 3.2.3-SNAPSHOTgreg
2016-11-04 20:13:52 -0500CM 3.2.3-SNAPSHOT. Redo some of the logic for creating initial tables.greg
2016-11-04 19:56:04 -0500fix var exportgreg
2016-11-04 18:56:51 -0500make run directory if it does not existgreg
2016-11-04 18:50:18 -0500add pg_hba.conf fixgreg
2016-11-04 18:35:12 -05003.2.7-SNAPSHOT of platform package. Add postgresql database setup script.greg
2016-11-04 18:19:53 -0500fix null value in map errorgreg
2016-11-04 18:12:17 -0500false not true, derpgreg
2016-11-04 17:42:10 -0500authorizer -> authenticatorgreg
2016-11-04 17:39:34 -0500notNull(); "any valid user" will just be a not-null usergreg
2016-11-04 17:38:58 -0500Simplify authentication/authorization. The "authenticator" (formerly called authorizer) now just returns a user corresponding to the request. Authorization in an API method is the process of taking the user (returned from the authenticator) and determining if that user is allowed to call that API method. The default authenticator just always returns true.greg
2016-11-04 17:05:05 -0500Simplify API error handling. API clients don't need to see stack traces or "java.com.blah.blah" stuff.greg
2016-11-04 17:01:54 -0500redo how authorization/authentication is handled in the API http handler. If authz/authn fails, throw an exception which can be handled by the normal exception handling procedure. The output will be an exception rather than the word "Forbidden" which might choke a json parser. Also remove the 401 header as this is user-unfriendly (it will cause an intrusive auth popup to appear in the browser, and does nothing in an API client) and the basic auth will be deprecated in favor of tokens regardless.greg
2016-11-04 16:39:45 -0500add error message. Eventually the API will be outputting better well-formatted error messages.greg
2016-11-04 15:37:53 -0500add default constructorgreg
2016-11-04 15:18:01 -0500if exception is a NotFoundException then set status to 404greg
2016-11-04 15:13:07 -0500finally blockgreg
2016-11-04 12:39:57 -0500don't need/want json parser heregreg
2016-11-04 12:39:37 -0500Add alternative reflection-based parameter that works with HTTP objects.greg
2016-11-04 12:11:48 -0500fix stringify of version, use method's version instead of group'sgreg
2016-11-04 12:10:22 -0500add player URLgreg
2016-11-04 12:02:14 -0500make some API-specific stream/stream group VOs to decouple API representation from internal, and to present API clients with an easier to use view of streamsgreg
2016-11-03 17:12:22 -0500pare down list of desktop packagesgreg
2016-11-03 16:51:55 -0500update configuration for launcher (hide by default)greg
2016-11-03 15:51:08 -0500Add autostart entry for chrome.greg
2016-11-03 14:46:47 -0500fix desktop environment install command. Eventually might want to make a metapackage that installs all of this stuff.greg
2016-11-03 14:03:41 -0500remove some more stuff to make spacegreg
2016-11-03 14:02:37 -0500remove clutter from user skeletongreg
2016-11-03 10:16:13 -0500bring back 3.19, with certain boot parameters we can boot into itgreg
2016-11-03 10:15:34 -0500Add option to pass arguments to docker to be used during build e.g. to make it interactivegreg
2016-11-02 23:22:57 -0500Better URLs. Add support for creating a preview.greg
2016-11-02 23:22:19 -0500Card VO was never properly implemented so just remove support for it.greg
2016-11-02 23:09:01 -0500if target version is null don't want to try to use it to do version checksgreg
2016-11-02 23:03:02 -0500Add initial live preview APIgreg
2016-11-02 23:01:32 -0500flesh out addMethodsFromgreg
2016-11-02 21:12:58 -0500add WIP addMethodsFrom using annotations and reflections. Probably not much that can be done with this right now.greg
2016-11-02 21:01:14 -0500Split the reflectiony API handler thing into its own class so it may be reused.greg
2016-11-02 20:48:46 -0500Add delete media package functiongreg
2016-11-02 20:24:27 -0500fix documentation to work with new schemegreg
2016-11-02 20:02:47 -0500pass the version into the methodgreg
2016-11-02 20:01:07 -0500use getMethodsOfVersion()greg
2016-11-02 19:59:15 -0500use getMethodsOfVersion() to make sure we get the version we requestedgreg
2016-11-02 19:57:10 -0500add tests for getMethodsOfVersiongreg
2016-11-02 19:37:30 -0500Allow methods to have their own version (instead of just using the group's version). By default, method.version == group.version. If more than one method have the same name, only show the one with the highest version.greg
2016-11-02 19:29:54 -0500add isolinux directory with overrides for isolinux files (boot logo, etc).greg
2016-11-02 19:01:30 -0500fix grub defaults filegreg
2016-11-02 18:43:22 -0500ok, revert the getGroupsOfVersion() changes, I have a better ideagreg
2016-11-02 18:39:39 -0500move all the logic for selecting a method for an HttpRequest into its own method, so the actual http handler can just use this method. Expose the http handler so it can perhaps be reused (e.g. for testing, or if an internal component wants to send api requests for whatever reason)greg
2016-11-02 18:23:55 -0500backport scheduler api methods from v2 to v1.1greg
2016-11-02 17:52:55 -0500should not be using webbit-rest directly to get at parameters, since we are no longer using it to route API requests it won't exactly work.greg
2016-11-02 17:49:56 -0500remove unneeded objects and imports in dummied-out speakers APIgreg
2016-11-02 17:41:50 -0500Python 3 compatibility in API clientgreg
2016-11-02 17:22:00 -0500abstract away the python client into a groovy template and clean some of it upgreg
2016-11-02 17:20:44 -0500fix for infinite recursion between JavascriptFormat/JavascriptLegacyFormatgreg
2016-11-02 16:06:57 -0500use lambdas, use streams instead of guava functional opsgreg
2016-11-02 12:39:03 -0500Declutter javascript format by splitting the legacy (version 1) into its own class. Will do the same for python.greg
2016-11-02 12:17:57 -0500API method URI no longer includes prefix + version, so we need to add that in the client.greg
2016-11-02 11:45:42 -0500toString() of versiongreg
2016-11-02 10:04:38 -0500Add /etc/default/grub filegreg
2016-11-01 21:52:01 -0500fix parsing of URI parameters from new URIsgreg
2016-11-01 21:28:43 -0500updated webbit-rest callsgreg
2016-11-01 21:28:13 -0500Scheduler plugin 3.1.25-SNAPSHOT. Don't assume UserVO.greg
2016-11-01 21:14:16 -0500removed unused dependency on webbit-rest.greg
2016-11-01 21:11:06 -0500webbit-rest fixesgreg
2016-11-01 21:09:38 -0500remove webbit-rest dependency, that's being propagated by the api-classesgreg
2016-11-01 21:07:38 -0500Check for appropriate verbgreg
2016-11-01 21:05:43 -0500Begin implementing new version scheme for API. Version is now an object rather than a number, with major.minor components. Version is parsed either from URI or from a header value. Based on the parsed version, the API will select the most appropriate method.greg
2016-11-01 20:34:20 -0500Added initial API version class & testsgreg
2016-11-01 15:56:29 -0500Split command into a script since it was getting unwieldy. Will want to add an option to pause for user input so the user can manually examine the filesystem of the to-be-built image.greg
2016-11-01 14:59:01 -05003.1.19-SNAPSHOT of console plugin. Use AuthenticationProxy to authenticate.greg
2016-11-01 14:49:31 -0500give jeff some extra permissions, so he can actually do stuff.greg
2016-11-01 14:31:56 -0500Move the Roles to static members of Role (e.g. Role.ADMINISTRATOR) for easier access. Define them in Role instead of UserProxy.greg
2016-11-01 12:51:51 -0500Roles are now objects and not strings so map accordinglygreg
2016-10-31 17:51:32 -0500oops, forgot to release log downloader 3.1.18greg
2016-10-31 17:10:04 -0500Platform package 3.2.6. If old pidfile exists move it to new directory.greg
2016-10-31 17:06:40 -0500cut UI plugin 3.2.5greg
2016-10-31 16:51:33 -0500ignore testsgreg
2016-10-31 16:50:20 -05003.2.5-SNAPSHOT of UIgreg
2016-10-31 16:50:00 -0500max 60 fps on stitchergreg
2016-10-31 16:46:49 -0500Restrict CM dependency to below 3.3.0-SNAPSHOT as that's the one with the auth changes.greg
2016-10-31 16:32:18 -0500Increase max of FPS slider to 60.greg
2016-10-31 16:22:46 -0500yet another breaking change: User instead of UserVO in Request.greg
2016-10-31 16:19:06 -0500new version of API plugin and classes. Use User interface where possible, don't want to assume it's a UserVO anymore. Also use AuthenticationProxy to authenticate.greg
2016-10-31 15:12:24 -0500new version of web-server-plugin and classes. Do not assume user is a UserVO anymore.greg
2016-10-31 15:01:49 -0500UI changes to deal with the fact that Roles are now an object and not a string. This does make permission checks slightly easier since we don't need to wait for roles to be loaded before checking.greg
2016-10-31 14:50:15 -0500add example Auth Plugingreg
2016-10-31 14:43:48 -0500Slight backwards incompatible changes: Emphasize the Role class a bit more instead of the string role names.greg
2016-10-31 14:37:22 -0500make these default methods of the interface, to make things easiergreg
2016-10-31 14:07:57 -0500First implementation of authentication plugin mechanism.greg
2016-10-31 14:07:31 -0500UI Plugin 3.2.5-SNAPSHOTgreg
2016-10-31 12:35:34 -0500update postgres dependencygreg
2016-10-31 12:34:54 -0500cm 3.3.0-SNAPSHOTgreg
2016-10-31 12:21:23 -0500go ahead and release the native stitchergreg
2016-10-31 12:15:24 -0500Don't need synchronized block.Josh Helpert
2016-10-31 11:50:36 -0500remove unused importgreg
2016-10-31 11:34:29 -0500remove unused variablegreg
2016-10-31 11:33:26 -0500Remove unused PackResult class, unused imports...greg
2016-10-31 11:17:19 -0500Split the actual compositor logic into its own object, which doesn't depend on xuggler/JNI. Eventually we would like to dry as much of this code as possible so it can be reused in all projects, so the fewer the dependencies the better.greg
2016-10-31 10:59:10 -0500hide debug messagesgreg
2016-10-31 10:23:10 -0500version 3.1.18-SNAPSHOT of log downloader plugin. Catch errors and continue building log archive, see #1676greg
2016-10-30 16:37:36 -0500Don't track jpg in root directory of frame-compositor.Josh Helpert
2016-10-30 16:01:54 -0500Minor syntax cleanup.Josh Helpert
2016-10-30 16:01:14 -0500Make some of the variables volatile to assure they're not cached by the CPU.Josh Helpert
2016-10-28 19:27:09 -0500relnotes #4248greg
2016-10-28 18:45:08 -0500hopefully the last timegreg
2016-10-28 18:44:49 -0500Thought this was committed alreadygreg
2016-10-28 18:21:47 -0500that one was a dud, 3.2.4greg
2016-10-28 18:04:56 -0500UI plugin 3.2.4greg
2016-10-28 18:04:35 -0500Remove version number and have the build number link to version.ghtml.greg
2016-10-28 17:59:40 -0500cut platform 3.2.3, CM 3.2.2greg
2016-10-28 17:59:04 -0500make a directory under /var/run to put our pidfile ingreg
2016-10-28 17:48:10 -0500Configuration module 3.2.3-SNAPSHOT. Remove most postgres setup stuff from the configuration module.greg
2016-10-28 17:46:36 -0500Set up capturecast user in postinst and always run service as capturecast.greg
2016-10-28 17:42:04 -05003.2.3-SNAPSHOT of platform. Do not require root in launch script.greg
2016-10-28 17:31:22 -0500make scheduler modal respect 24-hour setting, deploy pending #1584greg
2016-10-28 16:35:43 -0500update user skeleton with new theme settingsgreg
2016-10-28 16:24:52 -0500gotta scrub event handlers off the timepickergreg
2016-10-28 16:18:31 -0500remove superfluous logginggreg
2016-10-28 15:12:48 -0500scrub timepicker off element when we update settings, so we can newly initialize it (so the 12/24 hour thing actually updates)greg
2016-10-28 15:05:52 -0500initialize queue timepicker with 24 hour setting if enabledgreg
2016-10-28 14:56:12 -0500UI plugin 3.2.4-SNAPSHOT. Refactor the "is 24 hour" logic into its own observable, since it will be reused.greg
2016-10-28 13:49:32 -0500make & make installgreg
2016-10-28 13:49:10 -0500Remove git metadata from customizer after cloning it. I accidentally added it as a submodulegreg
2016-10-28 13:48:36 -0500remove customizer repogreg
2016-10-28 12:49:58 -0500add correct ubuntu isosgreg
2016-10-28 12:25:30 -0500correct dockerfile namesgreg
2016-10-28 12:19:26 -0500.image -> .image-1[4|6].04greg
2016-10-28 12:18:32 -0500expand in readme, add initial ubuntu 16.04 supportgreg
2016-10-28 11:53:49 -0500add some theme/desktop stuffgreg
2016-10-28 11:53:19 -0500copy etc and usr to chrootgreg
2016-10-28 11:52:43 -0500add user skeletongreg
2016-10-28 11:25:11 -0500more restyling, this will do for nowgreg
2016-10-28 10:33:44 -0500metacity theme colorsgreg
2016-10-28 10:32:41 -0500Add initial Cattura themeinggreg
2016-10-27 19:18:30 -0500Minor syntax cleanup.Josh Helpert
2016-10-27 19:17:16 -0500Added method to do compositing on segments w/n a front frame.Josh Helpert
2016-10-27 19:16:58 -0500Release the output lock after the frame has been copied.Josh Helpert
2016-10-27 19:16:31 -0500Invalidate each layer as it's being composited. Added a release method to unlock the output.Josh Helpert
2016-10-27 18:55:41 -0500Make a pre-hook and post-hook script, so we can do things from outside the chroot before the hook and before we build the iso.greg
2016-10-27 17:34:10 -0500Add test for incrementally packing frames.greg
2016-10-27 15:23:45 -0500Remove xuggler cpp, swig, etc. source code. All we need is the headers (and even then ideally these would be pulled out of a dependency somewhere)greg
2016-10-27 15:17:10 -0500Pull the libxuggle.so out of the xuggler jar file so we can link against it. Since the libxuggle.so isn't being embedded into the jar or otherwise used for anything else, and still manages to load fine in the capturecast platform (where xuggle is already present) I'm guessing we don't actually need the so file here.greg
2016-10-27 14:40:08 -0500default to using native stitchergreg
2016-10-27 14:29:48 -0500oops, switch those aroundgreg
2016-10-27 14:23:43 -0500add plugin setting for enabling native compositorgreg
2016-10-27 13:39:13 -0500null check, return falsegreg
2016-10-27 13:10:05 -0500use NativeLoader to load librarygreg
2016-10-27 13:06:58 -0500use 2.0.0-SNAPSHOT of stitcher librarygreg
2016-10-27 13:06:42 -0500remove unused USE_NATIVE_COMPOSITOR flag, the plugin will have a setting which controls whether to use native or legacy stitcher, the processor itself doesn't/shouldn't care what kind of stitcher it hasgreg
2016-10-27 13:05:58 -0500add constructor which takes Stitcher, so that alternative stitcher can be usedgreg
2016-10-27 13:04:41 -0500Implement stitcher interface.greg
2016-10-27 12:41:09 -0500add PackResult return value type which tells caller if it is cached and/or if it was composed.greg
2016-10-27 12:15:31 -0500actually is a breaking change so needs to be 2.0.0greg
2016-10-27 12:12:59 -05001.1.0-SNAPSHOT of (original) frame stitcher library. Goal: abstract away the frame stitcher interface and make the native stitcher implement it, making it easier to switch between them.greg
2016-10-27 12:06:52 -0500Add test images for compositor.greg
2016-10-27 11:52:30 -0500add namegreg
2016-10-27 11:51:51 -0500move test to correct packagegreg
2016-10-27 11:49:45 -0500uncomment out testgreg
2016-10-27 11:47:39 -0500add the old stitcher library as a dependency as well since we have the option to go back to using itgreg
2016-10-27 11:46:28 -0500do the same for the plugin (1.1.0-SNAPSHOT since it's a major change)greg
2016-10-27 11:45:57 -0500properly version native-compositor library (it's not yet released so it's a snapshot)greg
2016-10-27 11:42:36 -0500Just go with 3.16 kernel for now and we'll come back to the kernel issue latergreg
2016-10-27 11:22:29 -0500Use diamon syntax.Josh Helpert
2016-10-27 11:21:56 -0500Ignore target directories.Josh Helpert
2016-10-27 11:21:20 -0500Cleaning up.Josh Helpert
2016-10-26 19:06:17 -05004328 -> 4329greg
2016-10-26 18:29:41 -0500relnotes #4239greg
2016-10-26 17:39:14 -0500panopto plugin 1.1.1greg
2016-10-26 17:38:36 -0500panopto client 1.1.0greg
2016-10-26 17:23:10 -0500Updated to use the native compositor and take care of Reference Counting for any packets which may be cached.Josh Helpert
2016-10-26 17:22:43 -0500Added all the native libraries and basic source code to implement the native compositor.Josh Helpert
2016-10-26 17:19:50 -0500install 3.19 kernel againgreg
2016-10-26 16:46:36 -0500Removed unnecessary comments.Josh Helpert
2016-10-26 16:38:41 -0500Configure chunk size with settinggreg
2016-10-26 16:38:01 -0500actually need a setter for chunk sizegreg
2016-10-26 16:31:14 -0500Added optimization to copy Y,U,V planes when widths are equal.Josh Helpert
2016-10-26 16:20:48 -0500Dynamically calculate chunk size based on size of file, to ensure we have at most 1000 chunks. Allow chunk size to be passed in to uploader.greg
2016-10-26 15:59:21 -0500comment out new kernel (again)greg
2016-10-26 15:59:00 -0500snapshot of new magewell pro capture package. Allow the device name to be passed in as a parameter to audio_input_set. Eventually we'll update to a newer SDK + driver and do this the proper way.greg
2016-10-26 12:23:46 -0500set socket timeout to 600 secgreg
2016-10-26 12:18:17 -0500try to install new kernelgreg
2016-10-25 19:48:45 -0500fixes for handling symlinks/permissionsgreg
2016-10-25 18:15:00 -0500this is probably the correct way to do thisgreg
2016-10-25 17:27:46 -0500install ubuntu-sessiongreg
2016-10-25 17:27:14 -0500add ffmpeg submodulegreg
2016-10-25 16:13:09 -0500gotta go ldconfiggreg
2016-10-25 16:01:28 -0500package provides ffmpeggreg
2016-10-25 15:56:25 -0500need to chmod +x version.shgreg
2016-10-25 15:11:45 -0500Add ffmpeg deb project with updated ffmpeg (3.1.5)greg
2016-10-25 14:43:04 -0500Update nginx to 1.10.2greg
2016-10-25 14:15:35 -0500fix log parameter indicesgreg
2016-10-25 14:14:33 -0500too verbosegreg
2016-10-25 14:11:46 -0500enable verbose logginggreg
2016-10-25 14:03:22 -05001.1.8-SNAPSHOT of v4l plugin. Set our frame as a keyframe (this is apparently done by default so we probably don't need it, better to be safe than sorry though) see #1666greg
2016-10-25 12:45:05 -0500UI plugin 3.2.3greg
2016-10-25 12:21:28 -0500better logging, block until upload finishesgreg
2016-10-25 10:27:37 -0500test app for #1640greg
2016-10-25 10:07:23 -0500IGNORE_SSL_ERRORS = falsegreg
2016-10-24 18:29:06 -0500add flag to ignore ssl errorsgreg
2016-10-24 12:00:09 -05003.2.2 of platformgreg
2016-10-24 11:59:21 -0500cut Mpa module 3.2.1greg
2016-10-24 11:58:50 -0500cut p-e 1.1.1greg
2016-10-24 10:54:21 -0500if for some reason src is invalid/undefined then return early; some weird errors on beta unit are occurring where src is undefinedgreg
2016-10-21 19:08:19 -0500because of conflicts between the initial knockout binding setup and the applying of setting values from the REFRESH_SETTINGS_RESPONSE handler, defer creation of the timepicker widgets to REFRESH_SETTINGS_RESPONSE.greg
2016-10-21 17:24:47 -0500Add explanation text to task queue namesgreg
2016-10-21 16:46:49 -0500Split the task queue settings into its own section.greg
2016-10-21 13:48:11 -0500more detailed logging for upload processgreg
2016-10-21 12:19:22 -0500S3 tester plugin.greg
2016-10-21 11:46:06 -0500Panopto plugin 1.1.1-SNAPSHOTgreg
2016-10-21 11:34:41 -0500Panopto client 1.1.0-SNAPSHOT. Split out the S3 uploader implementation so it can be tested independently.greg
2016-10-21 10:44:25 -0500Do not dismiss edit modal when a button is clicked, only if the config is saved/deleted successfully. (cherry picked from commit 9f93cc9787b646bb44e89f64a1e4a4e67e700cb1)greg
2016-10-21 10:44:16 -0500Use errorMessageForPublisherConfig function to generate the error message for an invalid publisher config. (cherry picked from commit 021a54319811e44a26757c92db3932fc2dcd9078)greg
2016-10-21 10:44:08 -0500more namespacing, CatturaBox.publishers -> CatturaBox.publishing.publishers. (cherry picked from commit b10c4c0cc4d54dbae7ff9e1141015cf920973122)greg
2016-10-21 10:44:01 -0500UI plugin 3.2.3-SNAPSHOT. Begin the decoupling of all the CatturaBox modules from the "CatturaBox" object and have them be treated as normal JS modules. For now do the CatturaBox.publishing module. Also should resolve a regression #1672 (cherry picked from commit a626dea755e6b656e3c55cf1686574dce4b9748b)greg
2016-10-21 10:43:27 -0500For now just return after installing desktop environmentgreg
2016-10-21 10:36:12 -0500Do not dismiss edit modal when a button is clicked, only if the config is saved/deleted successfully.greg
2016-10-21 09:58:01 -0500Use errorMessageForPublisherConfig function to generate the error message for an invalid publisher config.greg
2016-10-21 09:51:53 -0500more namespacing, CatturaBox.publishers -> CatturaBox.publishing.publishers.greg
2016-10-20 18:00:55 -0500UI plugin 3.2.3-SNAPSHOT. Begin the decoupling of all the CatturaBox modules from the "CatturaBox" object and have them be treated as normal JS modules. For now do the CatturaBox.publishing module. Also should resolve a regression #1672greg
2016-10-20 12:50:27 -0500can just say makegreg
2016-10-20 12:48:18 -0500Move cattura-os target to top so it's default targetgreg
2016-10-20 12:39:06 -0500add readmegreg
2016-10-20 12:08:20 -0500--force-yes on installing oracle-java8-installergreg
2016-10-20 11:01:40 -0500Accept oracle licensegreg
2016-10-20 10:16:36 -0500Add customizer hook for adding our packages and customizations to the systemgreg
2016-10-19 23:11:25 -0500Remove stale container if it existsgreg
2016-10-19 17:22:59 -0500add Makefilegreg
2016-10-19 14:03:49 -0500Move customizer-hook.sh to project directory (since it seems we'll have to do everything in this one script, so there's no need for multiple scripts)greg
2016-10-19 12:54:49 -0500Add customizer.confgreg
2016-10-19 12:19:13 -0500initial Dockerfile for customizer environmentgreg
2016-10-18 13:24:40 -0500zip puts an extension even if we don't want it, blargle blarglegreg
2016-10-18 13:20:34 -0500Add script for making the generated zip file executable directly. Rename cattura_setup.py.zip -> cattura_setup since we don't need the extension.greg
2016-10-18 13:02:04 -0500Modularize classes/functions in setup script and turn into makefile for building an executable python zip.greg
2016-10-18 11:51:04 -0500mpa module 3.2.1-SNAPSHOTgreg
2016-10-18 10:44:01 -0500p-e 1.1.1-SNAPSHOT. Hopefully a more improved way of managing those dispatchers that are created for publishEventToProcessors() by caching the dispatchers and closing them on session termination, instead of creating a new dispatcher each time and closing it immediately afterwards. This should mean less work is done during setup/startup for overall the same benefits (not leaking threads)greg
2016-10-17 14:24:33 -0500relnotes #4200, hopefully this sticksgreg
2016-10-17 14:21:11 -0500UI plugin 3.2.2greg
2016-10-17 14:21:01 -0500Re-enable audio controls by default. The ALSA plugin will screen devices that are known or believed to be uncontrollable.greg
2016-10-17 14:18:13 -0500oops, forgot about the default time for these selectorsgreg
2016-10-17 14:06:57 -0500relnotes #4198greg
2016-10-17 13:00:05 -0500cut CM & platform 3.2.1greg
2016-10-17 12:59:40 -0500cut UI plugin 3.2.1greg
2016-10-17 12:58:46 -0500If test request times out, return an AuthenticationResult with the failure, instead of actually failing the request.greg
2016-10-17 12:24:46 -05003.2.1-SNAPSHOT of configuration module. Fix regression in PublishingCommands.Test where complex configurations weren't being parsed into legacy format correctly. Eventually this whole thing will be dropped and the configuration will be stored as-is, with the UI knowing how to translate it back and forth.greg
2016-10-17 11:31:02 -05003.2.1-SNAPSHOT of UI plugin. Fix a bug where if the streaming configuration is invalid, a javascript error is raised.greg
2016-10-14 17:27:25 -0500exclude v4l integration test for nowgreg
2016-10-14 16:50:40 -0500Add task-queue-library to reactorgreg
2016-10-14 16:48:58 -0500ALSA plugin 1.0.8greg
2016-10-14 16:46:09 -0500Include device-thumbnail-refresh-plugin in repogreg
2016-10-14 16:46:00 -05003.2.0 of standard distribution. Include device-thumbnail-refresh-plugingreg
2016-10-14 16:45:37 -0500set package namegreg
2016-10-14 16:43:00 -05003.2.0 of all deb repos/aggregate debs.greg
2016-10-14 16:32:31 -0500release 3.1.9greg
2016-10-14 16:31:56 -0500lower refresh interval to 5 minutesgreg
2016-10-14 16:31:21 -0500release all publishing pluginsgreg
2016-10-14 16:19:13 -0500Learning engine plugin 3.1.9greg
2016-10-14 16:18:16 -0500Clipper Plugin 1.0.4greg
2016-10-14 16:17:33 -0500Asset supplier 1.0.3greg
2016-10-14 16:16:50 -0500platform package 3.2.0greg
2016-10-14 16:15:36 -0500media package importer & editor plugins 3.2.0greg
2016-10-14 16:14:18 -0500UI plugin 3.2.0greg
2016-10-14 16:14:02 -0500API plugin 3.2.0greg
2016-10-14 16:12:27 -0500Configuration and MPA modules 3.2.0greg
2016-10-14 16:10:56 -0500Task Queue Library 1.0.0greg
2016-10-14 16:10:04 -0500MPA Bridge 3.2.0greg
2016-10-14 16:08:52 -0500cattura-agent-commons 3.2.0greg
2016-10-14 16:06:01 -0500processor and processor-engine 1.1.0greg
2016-10-14 15:46:53 -0500opencast plugin 1.1.0-SNAPSHOTgreg
2016-10-14 15:39:48 -0500For S/FTP plugins, attach the media package itself as a published asset so it can be discoveredgreg
2016-10-14 15:07:20 -0500Remove SerializerImpl from FTP/SFTP/Local plugins and just use the default one, now that the changes have been merged back into that.greg
2016-10-14 15:04:00 -0500Import changes from offline LE publishing plugin to mediapackage serialization: If the file is not an absolute path, don't absolute it and then try to relativize to the media package. This allows us to serialize a media package which might not live on the filesystem (e.g. a remotely uploaded one) and avoid the serializer trying to absolute the asset path relative to the local filesystem and not the remote one. For normal use this change should not affect anything. Also made all private methods protected on the serializer so they can be used/overridden in subclasses.greg
2016-10-14 15:00:54 -0500Default -> FromGraphgreg
2016-10-14 14:43:02 -0500actually, we can just try to call the LE and return false if the call fails. Also, don't need to know about the Portal URL anymore since aren't using/can't use the Portal for this anymore.greg
2016-10-14 14:19:54 -0500Learning engine plugin 3.1.9-SNAPSHOT. The /api/le_enabled endpoint is no longer available on the new portal (and there doesn't seem to be an equivalent call on the new portal), so for now just return true if there is a token.greg
2016-10-14 13:17:49 -0500we are now using a service on the processor itself, the service directly on the plugin has been removedgreg
2016-10-14 12:59:58 -0500Fix call to verify publish configuration now that it returns an AuthenticationResult VO.greg
2016-10-14 12:58:59 -0500Dry up the test publisher configuration code by centralizing it all in one placegreg
2016-10-14 11:47:29 -0500injectSensitiveData on configgreg
2016-10-14 11:46:01 -0500Add copy constructor for PublishPlatformConfigurationgreg
2016-10-14 11:16:11 -0500if progress message is null then display "Task has not started yet"greg
2016-10-14 10:49:19 -0500get the last 20 tasks insteadgreg
2016-10-13 20:00:59 -0500Transmit PublishCompleteEvent after publishing is completegreg
2016-10-13 16:00:06 -0500rename MediaPackage.Default -> MediaPackage.WithGraphgreg
2016-10-13 14:08:15 -0500Change to how metadata for a media package is parsed. Because the metadata output object (which is what we normally use) might not be saved to disk yet, in case where the capture is just starting, allow the metadata to be parsed directly from the graph until the metadata output is finalized. This should prevent a placeholder title from ever being shown in the UI.greg
2016-10-13 09:52:46 -0500Wait until frame buffer is actually running before calling shutdown. This is to prevent a situation where we call shutdown before the frame buffer actually starts, causing the shutdown call to "miss" and the (unused) frame buffer to start up afterwards and never shutdown.greg
2016-10-12 18:55:21 -0500Disable the queue delay timepickers when the associated flag is toggled off.greg
2016-10-12 18:11:35 -0500Disable the "purge on low disk space" option if purging is disabled.greg
2016-10-12 16:50:04 -0500Split out "tabInit" into child modules for settings panel.greg
2016-10-12 15:49:26 -0500Only consider media files for task progress.greg
2016-10-11 18:26:04 -0500default time entry to 10:00 PM to 04:00 AMgreg
2016-10-11 18:19:43 -0500fix logginggreg
2016-10-11 18:14:11 -0500Log whenever the queues time range is setgreg
2016-10-11 18:12:02 -0500Add boolean flags for enabling the processing/networking delays.greg
2016-10-11 18:07:27 -0500Redo queue settings UI using checkboxesgreg
2016-10-11 15:34:12 -0500Styling for queue settingsgreg
2016-10-11 14:27:43 -0500update to 3.1.42-SNAPSHOTgreg
2016-10-11 14:27:00 -0500Remove centering on images (cherry picked from commit ff98728ba5c15cf4991ec394860a91acf0b21441)greg
2016-10-11 14:26:48 -0500Manual updates (cherry picked from commit 883a26c324ed4c8680aeff7f19ed237f01723dc3)greg
2016-10-11 14:24:19 -0500update all publisher plugins to use new publisher librarygreg
2016-10-11 14:21:23 -0500cut publisher-processor 1.0.2greg
2016-10-11 14:21:04 -05001.0.2-SNAPSHOT of abstract publisher processor. Set status before state. (cherry picked from commit 4a93ec0868dbe8927a5b05cdbdf3f54f982b2635)greg
2016-10-11 14:16:07 -0500cut platform 3.1.31greg
2016-10-11 14:15:48 -0500cut web UI plugin 3.1.41greg
2016-10-11 14:15:33 -0500Remove centering on imagesgreg
2016-10-11 14:15:12 -0500Manual updatesgreg
2016-10-11 13:42:53 -0500Use retryer to attempt to build the graph if the mpa module is killed while the task is executing.greg
2016-10-11 13:06:49 -0500Use a Supplier in the MediaPackageEditorSessionBuilder, so we can always retrieve the latest available MPA Module when the clipper session starts.greg
2016-10-11 12:37:25 -0500postpone ImminentRestartEvent if there are queued or running tasksgreg
2016-10-11 12:35:32 -0500Don't updateQueueTimeRanges() onRegister() as it will be done when settings are updated.greg
2016-10-11 12:16:39 -0500Send a settings updated event when the settings are first loaded.greg
2016-10-10 20:40:53 -0500Move the task queue proxy below the event handling proxy, because it has event handlers.greg
2016-10-10 20:16:03 -0500Fix parsing of times being returned by the UI. Allow for parsing either 12 hour or 24 hour times.greg
2016-10-10 19:37:22 -0500Add basic UI for controlling when task queues run.greg
2016-10-10 19:33:55 -0500Add timepicker binding. Pass in argument for binding to constructor.greg
2016-10-10 19:32:30 -0500allow defaultTime === false to be passed in via options for timepickergreg
2016-10-10 16:52:09 -0500Add support for range set.greg
2016-10-10 16:27:28 -0500replace single range with range set, so we can support ranges such as "11:00 PM to 3:00 AM" which in guava would need to be represented as multiple rangesgreg
2016-10-10 11:38:43 -0500Fix issue where a folder doesn't show up in the folder tree, if its parent is a folder the user does not have access to.greg
2016-10-10 10:39:47 -0500Check user permissions on verifyCredentials() and return failure if we don't have write access to foldergreg
2016-10-07 16:23:36 -0500Add some logging in the plugingreg
2016-10-07 15:40:02 -0500Add even more logging around when the S3 upload is startedgreg
2016-10-07 15:33:55 -0500Set logger on panopto uploadergreg
2016-10-06 19:43:22 -0500Do initial queue setup onRegister()greg
2016-10-06 18:55:04 -0500When setting MPA Module plugin settings, set them on all the (capture + publishing) plugins. This resolves a bug where, since the set settings call only went to the active capture module, the publishing module was not being updated.greg
2016-10-06 16:36:48 -0500remove author annotationgreg
2016-10-06 16:36:03 -0500Add support for restricting the execution of queued tasks to a time frame (e.g. between 9 PM and 9 AM) for both processing and publishing tasksgreg
2016-10-06 13:15:45 -0500since LocalTime is itself comparable, we could just use a range of LocalTime instead of hoursgreg
2016-10-06 12:42:04 -0500Add a queue implementation that can be restricted based on time frame. TODO: try to come up with a better namegreg
2016-10-05 18:15:25 -0500Add a canRun($task) which can be overridden, so we can add extra logic to checking whether a task can run.greg
2016-10-05 17:44:06 -05003.1.14-SNAPSHOT of media package import plugin, using the tasks infrastructure.greg
2016-10-05 16:44:01 -0500fix canRun() conditiongreg
2016-10-05 15:53:22 -0500Postpone edit task until recorder is idle or publishing. This makes us able to queue up multiple editing tasks while a capture is going on.greg
2016-10-05 14:07:22 -0500need a .value() heregreg
2016-10-05 13:56:40 -0500Clean up and hopefully improve the onProcessorPluginsFound handler, by using Futures.transform (to transform plugin options into publisher options) -> Futures.allAsList (to transmit event when all publishers are finished detecting options)greg
2016-10-05 13:07:47 -0500log in with hostname onlygreg
2016-10-05 12:30:53 -0500FTP plugin 1.1.0-SNAPSHOT. Backport all the stuff from the SFTP plugin. It would be really nice to eventually dry all of this up.greg
2016-10-05 11:01:22 -0500Exit watcher thread when session is terminated.greg
2016-10-04 16:43:29 -05004153 -> 4155greg
2016-10-04 16:26:08 -0500relnotes 4153greg
2016-10-04 16:21:08 -0500cut platform 3.1.30greg
2016-10-04 16:20:46 -0500cut UI plugin 3.1.40greg
2016-10-04 16:18:38 -0500Add image for Settings -> Maintenancegreg
2016-10-04 16:15:10 -0500Update Enrichment UI and manual image.greg
2016-10-04 16:02:34 -0500Update image for LTI/accounts integrationgreg
2016-10-04 15:52:21 -0500Wording changes: Cattura Portal Integration -> Cattura LTI Integration, API Token -> LTI Keygreg
2016-10-04 15:13:56 -0500Add link to Settings -> Scheduler manual pagegreg
2016-10-04 15:08:30 -0500Remove unused imagesgreg
2016-10-04 14:51:06 -0500Adding updated manual pages.greg
2016-10-04 14:48:06 -0500This is now UI Plugin 3.1.40-SNAPSHOTgreg
2016-10-04 14:09:42 -05001.2.0-SNAPSHOT of Vimeo Plugingreg
2016-10-04 14:07:32 -05001.2.0-SNAPSHOT of Google Drive Plugingreg
2016-10-04 13:49:03 -0500path does not include host or scheme anymoregreg
2016-10-04 13:42:14 -0500Pass in root path to SFTPMediaPackageUploader, for consistency with the LocalStoragePlugin's MediaPackageCopier. Eventually the SFTPUtility will be replaced with something which implements Java 7's file system API allowing the MediaPackageCopier to be reused across the LocalStorage/SFTP/FTP Plugins (and perhaps eventually a SMB plugin).greg
2016-10-04 13:30:50 -0500remove ability of SFTPUtility to take host and path, it's too confusing and leads to too much being done in constructor. The plugin will continue to accept host/path as normal and will parse them out as needed.greg
2016-10-04 13:19:46 -0500Attach all uploaded files (in the media package output) as RemoteAssetsgreg
2016-10-04 12:40:08 -0500begin SFTP plugin 1.1.0-SNAPSHOT. Backport all the stuff from offline learning engine plugin so that the SFTP plugin uploads a complete media package.greg
2016-10-04 11:40:02 -0500YouTube plugin 1.2.0-SNAPSHOTgreg
2016-10-04 11:37:23 -0500add a constructor for AuthenticationResultgreg
2016-10-04 10:29:15 -0500If status update thread is not running, don't attempt to push events onto it. If multiple sessions share a path, a dead session might be trying to push events for a live one, which can throw an exception if the dead thread's status update thread is not accepting tasks. Also, a session generally should not be receiving events for a different session even if it shares a path with that session.greg
2016-10-03 19:51:36 -0500Return value is now guaranteed to be the new AuthenticationResult structure. We can better report -why- the configuration was invalid, so if there's an error message we should display that.greg
2016-10-03 19:11:57 -0500Using AuthenticationResult, dry up the publisher test code. The AuthenticationResult can contain a pass/fail flag along with a message and an exception.greg
2016-10-03 18:43:20 -0500Use the file name of the primary media file as media package id.greg
2016-10-03 18:28:02 -0500createDirectories not createDirectory, this will create all necessary parent directoriesgreg
2016-10-03 18:27:38 -0500avoid duplicate key when there is already an output named "internal"greg
2016-10-03 18:16:58 -0500copy destinations as wellgreg
2016-10-03 17:30:02 -0500add copy constructor for SimpleMediaPackagegreg
2016-10-03 17:18:07 -0500Local storage plugin 1.1.0-SNAPSHOT. Loosely based on the offline LE plugin, which copies a media package into a directory. The new MediaPackageCopier is abstracted away from filesystem implementaton so we could potentially use this in the S/FTP plugins.greg
2016-10-03 15:35:59 -05001.3.0-SNAPSHOT of kaltura plugin, with new AuthenticationResultgreg
2016-10-03 15:33:39 -0500result -> type. Add static factory constructorsgreg
2016-10-03 15:09:41 -0500Add an "AuthenticationResult" VO which can carry "type" (was successful, could not connect, etc), error message, and possibly an exception. The error message comes from the plugin and can be displayed to the user for a more informative error message rather than a simple "it failed"greg
2016-10-03 14:31:28 -05002.0.0-SNAPSHOT of abstract publisher processor. Remove progress callbacks; they're unnecessary now that STATE tracks progress.greg
2016-10-03 14:26:26 -05001.0.2-SNAPSHOT of abstract publisher processor. Set status before state.greg
2016-10-03 14:24:16 -0500Use latest version of MPA Module Bridgegreg
2016-10-03 13:47:57 -0500remove unused response variablegreg
2016-10-03 13:06:53 -0500Deprecate status callbacks for graphs. We want to be using the Session callbacks whenever possiblegreg
2016-10-03 12:57:32 -0500When session is reported as terminated, shut down its status updater thread.greg
2016-10-03 12:54:22 -0500use lambdas/member references where possiblegreg
2016-10-03 12:44:10 -05003.1.15-SNAPSHOT of MPA module bridge. Intends to clean up some lingering issues with the bridge librarygreg
2016-09-30 18:34:02 -0500CM 3.1.36-SNAPSHOTgreg
2016-09-30 18:33:23 -0500relnotes #4150greg
2016-09-30 18:29:43 -0500Configuration module 3.1.35, platform package 3.1.29greg
2016-09-30 18:26:03 -0500Raise incident if we fail to load a templategreg
2016-09-30 18:19:29 -0500Mark incidents internalgreg
2016-09-30 17:34:22 -0500When an error occurs while trying to load media package, raise an exception and return invalid media package.greg
2016-09-30 14:38:12 -0500Can now submit a republish for a capture/edit in progress. The publish task will wait for the media package to be finalized before starting the publish.greg
2016-09-30 14:28:30 -0500When submitting clipper session, unset the button back to enabled after modal is dismissedgreg
2016-09-30 13:39:10 -0500Don't disable clipper while recorder is capturing/processing, because the queue system will allow us to queue up clipping sessions.greg
2016-09-30 13:36:28 -0500Set title on media package edit task.greg
2016-09-30 13:03:50 -0500don't set state to terminated in cancel(), this will be done when the tasks are canceled. Do this to make sure we send failed/succeeded before terminated, as the new processor engine will close the dispatcher once processor is terminatedgreg
2016-09-30 12:18:50 -05001.0.4-SNAPSHOT of media clipper plugin. Set status (succeeded/failed) before state (terminated)greg
2016-09-30 11:57:24 -0500Handle cancellation of media package taskgreg
2016-09-30 11:48:56 -0500use session.onStatusUpdate insteadgreg
2016-09-30 11:06:26 -0500bridge clipper plugin progress to task progressgreg
2016-09-29 19:38:25 -0500handle null media packagegreg
2016-09-29 19:15:27 -05003.1.14-SNAPSHOT of media package editor plugin. Use the task queue to do media package edits. Since edits are queued, we don't need to do any work to prevent an edit session from spawning when there is already one running.greg
2016-09-29 17:49:51 -0500Reload tasks whenever we get STATE_MESSAGE. This is probably a bit excessive.greg
2016-09-29 15:03:54 -0500Reload tasks when we switch tabs or window becomes visible.greg
2016-09-28 18:14:33 -0500Because we're not doing anything fancy on the backend to trick the UI into associating manual publish sessions with media packages, we need to leverage the publish complete/publish failed event to know when to refresh the media package from the UI perspective. Introduce a reloadPackage method that only refreshes a single media package. Eventually we would probably want to use this as much as possible and avoid refreshing the entire page whenever something happens.greg
2016-09-28 16:16:06 -0500Include published outputs in success event.greg
2016-09-28 15:53:22 -0500Make task return all published outputs. Since the publish result includes success/failure we can use that to determine if publish was successful.greg
2016-09-28 15:42:30 -0500Transmit a PublishSuccessfulEvent on successful publishgreg
2016-09-28 14:58:46 -0500exclude progressCallbacks from equals/hashCodegreg
2016-09-28 11:18:44 -0500Because tasks are mutable, and their hash code can change, use the task id to map tasks to results.greg
2016-09-27 13:22:32 -0500Attach publisher nodes to media package when entire session is terminated. Use some logic to determine if a JSON file (e.g. state.json) is fully written before copying it over, since the MPA Module may be finalizing the state.greg
2016-09-26 18:28:34 -0500Use lambdasgreg
2016-09-26 18:27:40 -0500remove comment + unused importgreg
2016-09-26 18:27:24 -0500new version of asset supplier plugin. Transmit asset file -before- setting to terminated, as new processor-engine implementation closes the dispatcher after that is done.greg
2016-09-26 18:12:53 -0500Create the dummy capture request when publishing starts, so we have the proper name of the media package (in case this request is submitted when the capture starts and we don't have the media package's title fully parseable yet)greg
2016-09-26 17:21:46 -0500fix mapping of publish configuration to publisher VOgreg
2016-09-26 16:46:15 -0500Backport Device element here. Eventually we should move away from all our other ways of representing devices and just use this.greg
2016-09-26 16:25:43 -0500Null check for event buffer, now that we are closing and removing them.greg
2016-09-26 15:56:21 -0500Log setup messages in the appropriate processor's logger. When checking for terminated status ignore Processor.Options as those are not valid processors.greg
2016-09-26 14:39:59 -0500When session is terminated, close both root dispatchers and all other dispatchers.greg
2016-09-26 12:38:33 -0500use lambdagreg
2016-09-26 12:37:26 -0500Close temporary dispatcher after using itgreg
2016-09-26 12:13:04 -0500go back to ReflectionUtilities for the injecting, ReflectWrapper chokes when a superclass has a field with the same name as a subclassgreg
2016-09-26 11:12:29 -0500transmit data -before- closing test processor (cherry picked from commit 2cac6775887c43a8ed9fdba8d3ae94c8867877c2)greg
2016-09-26 11:12:23 -0500handle null in describeObjectForThreadName (cherry picked from commit 6271f98f990decf1bb646bc2b976fba6d7dd49ba)greg
2016-09-26 11:12:16 -0500Once session has terminated, shut down watcher FrameBuffer. (cherry picked from commit f4aaa450ceeb97b3dbcc0fec8a2bb673ef5d6956)greg
2016-09-26 11:12:08 -0500Close dispatcher once session has terminated. (cherry picked from commit afa27017577d3eceb8c189111ea355066cbf3c0f)greg
2016-09-26 11:12:01 -0500properly inject logger into dispatcher (cherry picked from commit d702da942c833510bc99cb269ce1c42ff4a59351)greg
2016-09-26 11:11:53 -0500If processor already has a dispatcher, allow that to override our generated dispatcher. (cherry picked from commit c713524ef5b434dd2bf71ba1d175f444762685de)greg
2016-09-26 11:11:46 -0500use ReflectWrapper instead of ReflectionUtilities (cherry picked from commit 70fc87e15c0c0743a84102584f8a18cb462b5757)greg
2016-09-26 11:11:38 -0500Remove the old single threaded dispatcher implementation, was private and unused so this is not a breaking change (cherry picked from commit 5b6c0dda34a56b0562e1128d231d59a38504fb53)greg
2016-09-26 11:11:30 -0500Make the frame buffer's thread name descriptive (of the frame buffer's owner and target) (cherry picked from commit 1562c4f961e6ae387afd1a5923123562a832b43f)greg
2016-09-26 11:11:23 -0500Add close method to dispatcher. Implement close by unsubscribing all the subscribers, which will close out the underlying frame buffers. (cherry picked from commit 54e72f3e59a8a77af49bb0237f8cec3ee708e948)greg
2016-09-26 11:11:14 -0500beginning processor and processor engine 1.1.0-SNAPSHOT. (cherry picked from commit 47af8a12c74a44689b1b679142506de27448b2cd)greg
2016-09-23 17:46:56 -0500retitle to #4124greg
2016-09-23 17:31:23 -0500relnotes #4122greg
2016-09-23 17:15:21 -0500platform package 3.1.28. Provide a way (through environment variables) to control whether the cattura process is restarted when installing a new plugin. This is probably the intended behavior when a plugin is being installed through the command line but can be problematic while doing updates from -inside- cattura as the process is restarted before the update is finished.greg
2016-09-23 14:54:15 -05001.1.7 V4L plugingreg
2016-09-23 13:36:58 -0500If stop call times out, exit gracefully and set status to failed.greg
2016-09-23 11:21:22 -0500Increase setup timeout to 90 secondsgreg
2016-09-23 11:19:38 -0500decouple the test duration from setup timeoutgreg
2016-09-22 13:47:24 -0500update to development version of librarygreg
2016-09-22 13:04:26 -0500take and return JDK collections instead of scala collections wherever possible. Eventually might want to move off scala back to java for this library in specific.greg
2016-09-22 10:52:02 -0500start the "could not set up" timeout before we block on reader start, so the overall timeout for setting up is still five seconds (rather than however long it takes to setup + five seconds)greg
2016-09-21 15:13:01 -0500begin version 1.1.7 of V4L plugin. Handle case when setup call timeouts. If the setup handler throws an exception then setup is never completed and the session never properly starts. Ideally processor engine should be able to handle this eventually so we don't have to explicitly do this.greg
2016-09-21 13:20:55 -0500Clear publish session and return when session is terminated, not when publish is completegreg
2016-09-20 15:11:14 -0500Rework how the title of the task is generated by doing it on the fly, instead of once when the task is generated. This is because if the media package is just being created the title might not be parseable from the media package yet.greg
2016-09-20 15:10:02 -0500description -> title for tasksgreg
2016-09-20 11:54:39 -0500Add task queue UI to dashboard.greg
2016-09-20 11:10:36 -0500correct getTasksForMediaPackagegreg
2016-09-20 10:32:19 -0500Add separate function to get all -currently running- tasks for media package, which is what we want to show on the dashboard.greg
2016-09-19 18:53:31 -0500Need to pass in the CaptureState so we know to delay execution of the task until the media package is finished capturing.greg
2016-09-19 18:22:29 -0500Include the media package id in publish request.greg
2016-09-19 15:46:36 -0500Cut scheduler plugin 3.1.24greg
2016-09-19 15:35:15 -0500Set owner on multiple captures.greg
2016-09-19 15:32:04 -0500Remove copyTask() and just use the CaptureTask's copy constructor. In copy constructor, directly copy the media package id from the source task instead of the capture task since the capture task will return a default media package id which is generated from creation date + "untitled" (since task does not know about event title) and this can cause conflicts if multiple tasks have the same media package id. Deploy pending #1658greg
2016-09-19 13:05:58 -0500Split off the publishing nodes into a publish request and queue it up. Delay executing the publish task until the media package is ready to be published.greg
2016-09-19 11:01:00 -0500UI plugin 3.1.40-SNAPSHOTgreg
2016-09-16 17:10:46 -0500relnotes #4094greg
2016-09-16 17:02:01 -0500cut UI plugin 3.1.39greg
2016-09-16 17:01:15 -0500add optional specifier to description field, deploy pending #1650greg
2016-09-16 16:22:51 -0500Sort users roles by power level. Style roles nicely with the role description underneath role name. Deploy pending #1610greg
2016-09-16 15:11:47 -0500Round storage space to nearest tenth, or one hundredth for TB. Deploy pending #1657greg
2016-09-16 14:32:55 -0500save graph after mutating itgreg
2016-09-16 14:10:32 -0500Refresh media package when task completes.greg
2016-09-16 14:07:42 -0500When publish is complete, attach to media package.greg
2016-09-15 17:24:06 -0500use "publishes" structure for completed/failed publishes, and use tasks for the in-progress ones. Idea is that once a publish is complete it will be attached to the media package and shown here.greg
2016-09-15 15:53:28 -0500handle null newValue for progressgreg
2016-09-15 15:36:41 -0500handle non-parseable structuregreg
2016-09-15 15:35:00 -0500Implement stop() on PublishSession to cancel publishing nodes.greg
2016-09-15 15:18:20 -0500Implement description of publishing taskgreg
2016-09-15 14:34:30 -0500Implement UI progress bar and cancel button for tasks.greg
2016-09-14 19:56:58 -0500emit task queued event after task has actually been queuedgreg
2016-09-14 19:14:38 -0500use publisherID not idgreg
2016-09-14 19:07:54 -0500Add publisher id to publish task (for UI mainly)greg
2016-09-14 18:07:15 -0500include type of task in return valuegreg
2016-09-14 17:28:00 -0500group pagination stuff under "queue" as that is what is being paginatedgreg
2016-09-14 16:19:12 -0500Handle task events in UIgreg
2016-09-14 15:00:39 -0500Add events to be fired whenever the state of a task changes: it's initially queued, started, finished, or canceled.greg
2016-09-14 14:43:32 -0500Add callbacks to queue for when a task is started or finished.greg
2016-09-14 13:31:52 -0500Split API return value into queued and running tasks, because we might need to distinguish between those.greg
2016-09-14 13:10:24 -0500remove unnecessary importgreg
2016-09-14 13:09:48 -0500so we can differentiate between running tasks and queued tasks, rename getTasks() to getQueuedTasks() and don't have it return the running task. getRunningTask() will return the running task. For Queues since it contains one to many queues it instead has getRunningTasks() which will return currently running tasks in order.greg
2016-09-14 13:01:16 -0500add UI viewmodel for tasksgreg
2016-09-14 11:43:51 -0500Add TaskProgressEvent which relays task progress to other plugins (e.g. UI) and to outside event listeners.greg
2016-09-14 11:37:35 -0500Clean up returned json structure by using an epoch milliseconds timestamp in place of the ZonedDateTime, and a media package id in place of the full MediaPackage.greg
2016-09-14 09:55:57 -0500include currently executing task in getTaskById()greg
2016-09-13 15:08:07 -0500Include currently executing task in returned task listgreg
2016-09-13 13:35:55 -0500attach datepickers and timepickers directly to schedule modal, not body. This might prevent #1653, #1174greg
2016-09-13 13:32:59 -0500add ability to attach timepicker to specified container elementgreg
2016-09-12 20:36:08 -0500redo how downloads are being done, attach them to an invisible container element in the body instead of to the menu element, and do not remove them. This is so the element is not removed before the actual download starts, which could be a cause of #1649greg
2016-09-12 11:13:21 -0500relnotes #4062greg
2016-09-09 18:17:26 -0500Add system-monitor-plugin to repo.greg
2016-09-09 18:15:20 -0500cut platform package 3.1.27greg
2016-09-09 18:04:32 -0500cut UI plugin 3.1.38greg
2016-09-09 17:30:53 -0500Instead of subscribing to users.roles, which can fail to update when the user is logging in, instead subscribe to user().can("view") which will update when the user logs ingreg
2016-09-09 15:44:19 -0500Add notice for panopto that a panopto login is required. Deploy pending #1646greg
2016-09-09 15:23:24 -0500cut 3.1.23 of scheduler plugingreg
2016-09-09 15:19:27 -0500Fix issue, where on updating event group, scheduler plugin tries to generate a new event that conflicts with the existing events in that group.greg
2016-09-09 13:43:53 -05003.1.23-SNAPSHOT of scheduler plugingreg
2016-09-09 13:02:28 -0500don't use until() on the recurrence because it behaves unexpectedly, instead do the bounds checking ourselvesgreg
2016-09-08 19:34:39 -0500didn't work, another test for failed use casegreg
2016-09-08 19:23:47 -0500attempt to resolve issue by running the iterator until the start of next dategreg
2016-09-08 18:07:21 -0500begin scheduler library 3.1.21-SNAPSHOT, test for #1654greg
2016-09-08 17:33:55 -0500.platform not .id, deploy pending #1652greg
2016-09-08 17:20:39 -0500UI plugin 3.1.38-SNAPSHOTgreg
2016-09-08 17:17:24 -0500cut system monitor plugin 1.0.1 (cherry picked from commit 3845481de6c286fb203971a110c37337f747f139)greg
2016-09-08 17:17:08 -0500no reason not to include exceptions in the log dump (cherry picked from commit 77d02030565ee58f2dbd5ad4f62dfdb0ae1a7294)greg
2016-09-08 17:17:01 -0500keep dumps for 3 days (cherry picked from commit fc9514aa4ac19e66d687dbbc8a72be5c54acefe2)greg
2016-09-08 17:16:53 -0500use java.time.Duration (cherry picked from commit 2a3c5ab5c043ecde54a196296cf773cb83446a70)greg
2016-09-08 17:16:44 -0500cut log downloader plugin 3.1.17 (cherry picked from commit 73dc4d3f07c89c1c4401263073f8e5f41f45195f)greg
2016-09-08 17:16:33 -0500Fix the default from time (one hour until "to") (cherry picked from commit daabf94b7c30ed21c77a3511f7bb80357aeb5ca0)greg
2016-09-08 17:16:25 -0500instead of using ProcessHelper.call() which collects the process output into a string, and then writing the string to the zip file, use ProcessHelper.run() with a callback to write each line to the zip file as it is read from the process. This is because there is a bug in ProcessHelper where if the process returns a lot of data, call() can raise an OutOfMemoryError and not return. Plus this is more efficient anyway (cherry picked from commit 5b416e044419c00a4b89f2e32eae27a699cbbaac)greg
2016-09-08 17:16:17 -0500rework system-monitor-plugin to use log-downloader-plugin for saving logs, and save in storage directory (cherry picked from commit 8acc0f3cfa55a02b1b2be3887cc71e3ffd3f179b)greg
2016-09-08 17:16:11 -0500add vmstat (cherry picked from commit 414602eb7929e8ab99ac45d02f295227a4795ead)greg
2016-09-08 17:16:04 -0500LDP 3.1.17-SNAPSHOT. Add netstat, iostat, mpstat, pidstat (cherry picked from commit bbd0f45bfbc9391609b2936ad75ada7f9acdbf94)greg
2016-09-08 14:06:09 -0500cut system monitor plugin 1.0.1greg
2016-09-08 14:05:39 -0500no reason not to include exceptions in the log dumpgreg
2016-09-08 13:58:38 -0500keep dumps for 3 daysgreg
2016-09-08 11:57:08 -0500use java.time.Durationgreg
2016-09-08 11:12:02 -0500cut log downloader plugin 3.1.17greg
2016-09-08 11:01:20 -0500Fix the default from time (one hour until "to")greg
2016-09-08 10:39:35 -0500instead of using ProcessHelper.call() which collects the process output into a string, and then writing the string to the zip file, use ProcessHelper.run() with a callback to write each line to the zip file as it is read from the process. This is because there is a bug in ProcessHelper where if the process returns a lot of data, call() can raise an OutOfMemoryError and not return. Plus this is more efficient anywaygreg
2016-09-07 18:48:23 -0500rework system-monitor-plugin to use log-downloader-plugin for saving logs, and save in storage directorygreg
2016-09-07 18:27:35 -0500add vmstatgreg
2016-09-07 18:20:55 -0500LDP 3.1.17-SNAPSHOT. Add netstat, iostat, mpstat, pidstatgreg
2016-09-07 13:12:00 -0500Remove cards API. Card data structure is not used and will be removed in big 2.0.0 refactor.greg
2016-09-07 13:10:57 -0500Add Tasks API to APIv2. The Tasks API contains methods for listing and cancelling tasks.greg
2016-09-07 13:04:37 -0500add getTaskByIdgreg
2016-09-07 12:52:22 -0500implementaton question for paginatorgreg
2016-09-07 12:32:35 -0500Split the pagination logic from MediaPackageAPI into its own object with testsgreg
2016-09-07 11:51:43 -0500createTemplate doesn't expect a user, so execute the command as system user.greg
2016-09-06 13:03:36 -0500Remove any special handling for publisher nodes in start capture command, as all publishing will be done in the publish task.greg
2016-09-06 12:34:09 -0500Remove the cancel publish command. We will be using the Tasks interface for cancellation now, which will provide a uniform interface for all cancellable things (publishing, editing, importing)greg
2016-09-06 11:25:00 -0500add the concept of an ID to task, and methods to retrieve task by ID.greg
2016-09-06 11:07:21 -0500Make a superclass for tasks which relate to a media package, so we could (in the API perhaps) query for tasks specific to a media package.greg
2016-09-02 18:02:07 -0500Split the overall request into one request per configuration, so that e.g. a request with three publishers results in three separate queued tasks, implement bridging the publish session to CaptureStategreg
2016-09-02 16:27:14 -0500Bridge the progress reports from the publisher node onto the Task interfacegreg
2016-09-02 13:29:47 -0500new version of API plugin. Add in the deprecated convertConfiguration from PublishingProxy here as it's used in the API to translate legacy configurations back to proper ones. Eventually we should just be able to remove most if not all of this stuff and just have the UI do the translating.greg
2016-09-01 18:32:05 -0500Implement progress tracking for Taskgreg
2016-09-01 17:37:37 -0500Begin implementation of PublishMediaPackageTask and PublishSessionBuilder which is where all the actual publishing logic will be. Migrate all the legacy manual publish/republish stuff over to it. Actual capture sessions will later use this as well.greg
2016-09-01 15:50:59 -0500remove deprecated convertConfiguration method which is no longer usedgreg
2016-08-31 15:56:37 -0500Add queue library and TaskQueueProxy to configuration modulegreg
2016-08-31 15:38:09 -0500Add tests for canceling running and pending tasks.greg
2016-08-31 13:04:45 -0500Add ability to cancel a queued or running task.greg
2016-08-31 11:56:04 -0500Implement support for canRun() in task queue. Task queue should take the next task that canRun() e.g. if it's a publishing task that is waiting for a media package to finish recording.greg
2016-08-31 11:23:14 -0500add test for starting up queuesgreg
2016-08-31 11:03:37 -0500remove print statementgreg
2016-08-30 18:13:32 -0500Use a NanoClock to provide timestamps with nanosecond resolution, so that the tasks are correctly sorted in creation date order.greg
2016-08-30 15:14:18 -0500initial version of task queues librarygreg
2016-08-29 20:19:45 -0500fix pyflakes checkgreg
2016-08-29 20:11:44 -0500relnotes #4042greg
2016-08-29 20:07:35 -0500platform package 3.1.26, configuration module 3.1.34greg
2016-08-29 17:23:12 -0500add print statements greg
2016-08-29 17:18:35 -0500Drop and recreate database prior to restoring from dump, to ensure the new database is an exact copy of the backup.greg
2016-08-29 14:51:34 -0500Add a reset script that wipes storage, database, and configurationgreg
2016-08-29 13:12:57 -0500add user configuration (public_settings.json) to backupgreg
2016-08-26 18:09:05 -0500add restore scriptgreg
2016-08-26 18:08:41 -0500add catturaCB-backup and catturaCB-restore commandsgreg
2016-08-26 18:06:49 -0500Timestamp backup file. Remove sql dump after backup is finished.greg
2016-08-26 17:37:25 -0500relnotes 4034greg
2016-08-26 17:29:50 -0500UI plugin 3.1.37greg
2016-08-26 17:28:40 -0500New configuration module + platformgreg
2016-08-26 17:27:39 -0500Add backup scriptgreg
2016-08-26 14:48:22 -05001.0.8-SNAPSHOT of the alsa plugin. Use a blacklist to exclude certain cards from being controlled. Default blacklist is just the juli@ cardgreg
2016-08-25 17:27:46 -0500Allow audio gain controls to be enabled via a plugin setting.greg
2016-08-25 16:53:39 -0500When binding to volume setting, always call getAudioDevices to ensure we have the preferred audio device VO for that device name, so that we are using the correct plugin to make the setVolume call and also that we are mutating the same VO which is used in the UI.greg
2016-08-25 16:00:07 -0500Remove the stuff for Card data type as that is being removedgreg
2016-08-25 15:58:25 -0500If we try to start a capture and disk space is low, then run purger to try to free up space.greg
2016-08-25 15:24:40 -0500remove stray commagreg
2016-08-25 14:50:41 -0500Automatically trigger purge task if settings are updated, and if disk space reaches low disk space threshold.greg
2016-08-25 14:13:36 -0500sort in correct ordergreg
2016-08-25 13:56:32 -0500can't add months to a Duration since it's an estimated value, so instead start at now and minus the days/weeks/months.greg
2016-08-25 13:35:19 -0500add logging to purge taskgreg
2016-08-25 13:25:25 -0500correct name of settinggreg
2016-08-25 13:04:30 -0500make MaintenanceTaskProxy.get able to account for sub/super class, add tests to make sure it behaves as expected.greg
2016-08-24 20:13:57 -0500Add backend support for purging based on disk space percentage.greg
2016-08-24 15:59:54 -0500Move purging logic from MediaPackageProxy into purge task.greg
2016-08-24 15:44:37 -0500Create a "MaintenanceTaskProxy" that stores info about all the background tasks (e.g. media package purge timer, disk space watcher, etc).greg
2016-08-24 10:37:41 -0500Fail if title is not providedgreg
2016-08-24 10:25:25 -0500treat empty string id as null and automatically generate id from name; if id cannot be generated return with an errorgreg
2016-08-22 13:08:51 -0500If metadata node already exists, overwrite it with our new metadata.greg
2016-08-22 13:00:24 -0500Actually make directory for temporary graph.greg
2016-08-22 12:33:34 -0500new configuration module, fix issue in TemplateCommands.Save where "title" parameter wasn't being handled correctlygreg
2016-08-22 11:26:38 -0500new method for generating IDs for notifiers, to decrease conflictsgreg
2016-08-19 16:56:41 -0500relnotes #4015greg
2016-08-19 16:40:33 -0500add email plugin and webhook plugin to apt repogreg
2016-08-19 16:37:37 -0500add email plugin and webhook plugin to standard distrogreg
2016-08-19 16:35:49 -0500Email plugin 1.0.0greg
2016-08-19 16:35:32 -0500Twitter plugin 3.1.10greg
2016-08-19 16:35:19 -0500Webhook plugin 1.0.0greg
2016-08-19 16:35:02 -0500Log downloader plugin 3.1.16greg
2016-08-19 16:34:45 -0500UI plugin 3.1.36greg
2016-08-19 16:34:17 -0500New configuration module and platform packagegreg
2016-08-19 16:09:48 -0500Removed upcoming capture event from list of possible events we can track, as this event is currently not fired anywhere.greg
2016-08-19 15:32:27 -0500remove duplicate success notifygreg
2016-08-19 15:32:00 -0500Fix for notifier arrays blanking whenever plugins are refreshedgreg
2016-08-19 15:19:23 -0500If url does not have http:// or https://, prefix http:// onto it before addinggreg
2016-08-19 15:06:42 -0500Add basic validation for notifier fields. Email should contain a @. URL should just not be empty (we can add http:// on the backend)greg
2016-08-19 14:21:16 -0500Fix notifiers() so it's a computed which aggregates individual arrays known by each notifier "type."greg
2016-08-19 12:49:16 -0500Use an executor for sending email notificationsgreg
2016-08-19 11:55:46 -0500Rhino thread safety issue is no longer an issue, see #1559greg
2016-08-18 20:28:28 -0500include stack trace in warning log if we failgreg
2016-08-18 20:28:07 -05003.1.16-SNAPSHOT of log downloader plugin. If we fail to read data from the external process, log it and continue anyway. For commands which return a large amount of data this can cause OutOfMemoryError, especially if multiple log archive generations are going on.greg
2016-08-18 20:14:12 -0500Don't send emails for legacy ExceptionEventgreg
2016-08-18 20:10:34 -0500Use log downloader plugin to generate a zip of logs and attach to incident report.greg
2016-08-18 19:25:26 -0500Refresh internally cached media package on start event, and on stop event from session, before the event is broadcast to rest of system, so that the media package's proper title is shown.greg
2016-08-18 18:54:53 -0500Add incidents (exceptions/errors) as a possible notification typegreg
2016-08-18 18:52:59 -05003.1.32-SNAPSHOT. Reclassify incident events as non-internal so they can be handled by notifiers.greg
2016-08-18 18:46:49 -0500include event description in web hook payloadgreg
2016-08-18 18:35:56 -0500url -> emailgreg
2016-08-18 18:30:42 -0500import requestgreg
2016-08-18 18:12:55 -0500fix namegreg
2016-08-18 18:12:19 -0500Add webhook plugin.greg
2016-08-18 18:06:37 -0500Add info box on blackout dates modal explaining options.greg
2016-08-18 18:00:15 -0500if end date is not valid, default to start date. Deploy pending #1641greg
2016-08-18 14:45:53 -0500Begin adding UI support for webhooks plugin. Restrict the options for notifiers to plugins which are actually available.greg
2016-08-18 13:36:10 -0500Move the event descriptions into the javascript because they need to be reused in the notifiers table. Remove the "missing devices" event since that is not actually ever fired (and not useful in a V4L/ALSA world anyway since the devices will always be present even if nothing is plugged in).greg
2016-08-18 12:32:37 -0500There isn't a label functionality yet so just remove the label column. Titleize the type to make it look more user friendlygreg
2016-08-17 17:09:06 -0500make smtp server info configurable, add commentgreg
2016-08-17 17:00:11 -0500Add OpenSMTPd as a dependency in our "standard distribution."greg
2016-08-17 16:00:58 -0500fix up email code. Note nginx will need to be configured to send out emails as well.greg
2016-08-17 15:53:07 -0500Add simplejavamail dependency and stub code for emailgreg
2016-08-17 14:43:08 -0500Fix UI to select the proper notifier type when editing notifier.greg
2016-08-17 13:35:34 -0500Start UI support for the email notifications.greg
2016-08-17 13:32:09 -0500remove all the twittery stuff, placeholder log messagegreg
2016-08-17 13:18:30 -0500Begin email notifier plugin, based off twitter plugingreg
2016-08-17 11:57:35 -0500Refresh notifier list on delete.greg
2016-08-17 11:26:10 -0500add ability to save and remove twitter notifiersgreg
2016-08-17 11:25:54 -0500introduce unique ids for twitter notifiers, and remove servicegreg
2016-08-17 11:03:54 -0500more knockout bindings for notifiers UIgreg
2016-08-17 10:16:06 -0500begin implementing Twitter notifiers UIgreg
2016-08-16 18:54:14 -0500begin UI for notificationsgreg
2016-08-16 16:41:57 -0500flesh out addNotifier, migrate existing twitter token config to new system, encapsulate the notify logic into the Notifier object.greg
2016-08-16 16:16:47 -0500Starting twitter plugin 3.1.10. This is a refactor of the twitter plugin to support "notifiers" which are a pairing of a twitter token with event types to trigger on, so that events are specified per twitter account and not global. This model will be duplicated for two other plugins which allow notifications, a webhook plugin and email plugin.greg
2016-08-16 15:20:57 -0500Storage file server 3.1.9. This isn't used in the current CCCP distribution (since nginx serves from storage), but is a fallback or alternative option for other (possible) distributions of CaptureCast.greg
2016-08-16 14:19:40 -0500Relativize storage and capture session paths separately since they may be set separately from each other.greg
2016-08-16 14:17:44 -0500UI plugin 3.1.36-SNAPSHOTgreg
2016-08-16 13:26:58 -0500Client Distro can either extract itself and run from a temp directory, or detect the distro already assembled in target/ and run that.greg
2016-08-16 12:45:17 -0500Make the client distro a standard maven java project which can be executed from the IDEgreg
2016-08-16 12:30:35 -0500Add (back) the CaptureCast Pro client distribution, for testing/development purposesgreg
2016-08-16 10:42:37 -0500actually 3992greg
2016-08-16 10:19:46 -0500relnotes #3993greg
2016-08-16 10:18:16 -0500CM 3.1.31, fixes some DataStorage stuffgreg
2016-08-15 20:26:07 -0500relnotes #3989greg
2016-08-15 19:31:22 -0500Cranium plugin 1.0.7.greg
2016-08-15 17:26:41 -0500OCR plugin 1.0.4. Pipe tesseract's stderr into logger.greg
2016-08-15 17:20:09 -0500web ui plugin 3.1.35, CM 3.1.30, platform 3.1.22greg
2016-08-15 17:18:04 -0500add UI support for audio dumper and packet analysis pluginsgreg
2016-08-15 17:06:10 -0500add backend support for audio dumper and packet analysis pluginsgreg
2016-08-15 16:35:42 -0500Update default portal url to new urlgreg
2016-08-15 16:23:51 -0500No signal is no longer used so remove settingsgreg
2016-08-15 11:49:31 -0500use absolute path for npm executablegreg
2016-08-15 11:39:26 -0500set up symlinks necessary for the "npm" command to be able to be rungreg
2016-08-14 00:13:28 -0500Scheduler plugin 3.1.22. Fix a bug introduced by the CaptureTask refactor where, upon loading the schedule on start, all scheduled capture requests would have the same creation date, because the request is generated the moment the event is scheduled. Since the default media package id is the creation date + title, if multiple of these share a title, there can be duplicate media package id's. Fix this by setting the creation time to the event start, when the event is triggered.greg
2016-08-12 18:10:24 -0500Cut alsa plugin 1.0.7. If we fail to open the device on startup, keep trying to open it.greg
2016-08-12 17:34:15 -0500alsa plugin 1.0.7-SNAPSHOT. For the getAudioDeviceInfo script, use subprocess module instead of os.popen to talk to amixer. Don't use it in shell mode as unpredicable characters can break it.greg
2016-08-12 17:10:05 -0500new platform packagegreg
2016-08-12 17:09:09 -0500cut UI plugin 3.1.34greg
2016-08-12 17:06:17 -0500Strip away all the JavaException blah blah stuff when presenting the error message.greg
2016-08-12 16:55:52 -0500Add support for the "partially succeeded" status. This indicates that it succeeded but had non-fatal errors. The color indicator is yellow.greg
2016-08-12 16:49:42 -0500new version of Offline LE plugingreg
2016-08-12 16:23:44 -0500release all CM plugins except for UI plugingreg
2016-08-12 16:20:01 -0500cut new configuration modulegreg
2016-08-12 16:18:53 -0500cut new versions of all publishing plugins, with the updated publisher library.greg
2016-08-12 16:07:02 -0500kaltura plugin 1.2.10greg
2016-08-12 16:05:43 -0500cut 1.0.1 publisher-processorgreg
2016-08-12 16:01:59 -0500Time.VO.Duration -> java.time.Durationgreg
2016-08-12 15:23:51 -0500Read the video size from MediaAsset.greg
2016-08-12 15:17:44 -0500avoid possible null pointer if $element.getID() is nullgreg
2016-08-12 15:16:26 -0500Improve handling of ingested elements: - Aggregate all asset and metadata objects into a MediaPackage which can be retrieved by the implementing subclass. This allows the subclass to have more fine-grained access to the inputs it is receiving. - Since the writer plugin is guaranteed to output a MediaAsset, we can safely assume that only a MediaAsset can be the primary or source video/audio file. - Since we can safely guarantee the primary file is a MediaAsset, we can expose the video metadata through it without requiring a specialized metadata structure for width/height which is parsed and stored separately. Just get the MediaAsset. - We can accept various other asset files (such as thumbnails) and handle them specially in the subclass, without tripping up the logic that looks for the main asset file.greg
2016-08-12 14:43:58 -0500Attach the thumbnail to publishing nodes. See #1600. The publisher plugins currently don't know how to handle it, but this is being implemented on that side as wellgreg
2016-08-12 14:20:01 -0500split the retry/partial-success stuff into a method that wraps around the actual uploadCuePoint method. That way if the retry also fails due to the same error (which shouldn't happen, but you never know...) it does not trigger a stack overflow.greg
2016-08-12 12:59:13 -0500Update the other publishing plugins to use the new parent and new library.greg
2016-08-12 12:47:07 -0500Update kaltura plugin to the newest abstract publisher processor library. Move all of the stuff related to shading the a-p-p and generating package into parent pom, because it's duplicated everywhere.greg
2016-08-12 11:45:07 -0500remove import of removed UserCommandgreg
2016-08-12 11:21:51 -0500The configuration module itself does not do any session management anymore, so we can get rid of these.greg
2016-08-12 11:07:08 -0500migrate some more commands off of UserCommandgreg
2016-08-12 10:33:13 -0500Increase test timeout.greg
2016-08-12 10:27:11 -0500update ormlite dependencygreg
2016-08-12 10:18:17 -0500Stub out the unit monitor plugin, as it's replaced by Craniumgreg
2016-08-11 19:36:56 -0500gitignore!greg
2016-08-11 18:58:10 -0500Make this a dual Configuration Module + MPA Module plugin.greg
2016-08-11 18:19:02 -0500Basic plugin which can set JVM system properties such as http.httpProxy at runtime.greg
2016-08-11 18:03:41 -0500Use the new and updated publisher library. Pass the publisher processor's retryer into the panopto client.greg
2016-08-11 17:42:28 -0500Change retryer to 20 attempts, with a 50 millisecond start delay up to 5 minutes, and log when an attempt fails. Only set status = SUCCEEDED if status has not been set to FAILED/SUCCEEDED/PARTIALLY_SUCCEEDED before.greg
2016-08-11 14:43:03 -0500Clean up publisher-processor: Remove Speaker since it's no longer being used. Remove TableOfContents as that's now in processor.greg
2016-08-11 14:37:56 -0500Include abstract publisher library (publisher-processor) in multi-module buildgreg
2016-08-11 12:39:49 -0500Begin the abstract publisher library 1.0.1.greg
2016-08-11 11:57:36 -0500Fix LogDownloaderHttpHandler not knowing about _storageDirgreg
2016-08-11 11:42:25 -0500Add method to set the retryer on the clientgreg
2016-08-10 19:31:14 -0500actually it was the other way aroundgreg
2016-08-10 19:28:49 -0500includes -> containsgreg
2016-08-10 19:28:33 -0500Allow alternative names for script parameters: `from` = `start`; `to`, `end` = `finish`greg
2016-08-10 18:23:41 -0500New version of panopto client + plugin. Use retryer to try to avoid flaky service calls (e.g. 500 errors)greg
2016-08-10 17:08:24 -0500Cut ALSA Plugin 1.0.6.greg
2016-08-10 17:07:22 -0500Cut OCR plugin 1.0.3.greg
2016-08-10 16:00:17 -0500Cut scene change plugin 1.0.5.greg
2016-08-10 15:55:13 -0500update gitignoregreg
2016-08-10 15:54:25 -0500Cut kaltura plugin 1.2.9. Still can't reproduce this issue but hopefully the mitigation strategy works.greg
2016-08-10 15:52:14 -0500If "Potential unsafe tags" error is raised from Kaltura API, clean up the text and try again. See #1636greg
2016-08-10 13:08:15 -0500Add #1636 test.greg
2016-08-10 11:41:55 -0500Remove speaker info/XSD stuffgreg
2016-08-10 11:08:25 -0500remove old test projectgreg
2016-08-10 11:08:17 -0500gitignoregreg
2016-08-10 10:58:11 -0500Revert to the old settings (real-time scene change, 5 second timeout) because the results seem to be worse with the new defaults.greg
2016-08-10 10:03:56 -0500replace set of test screenshots with hopefully a better onegreg
2016-08-10 09:49:02 -0500the scene change detector does not start outputting results until it gets 16 frames, so have a warmup period where the first 16 frames are always passed into the SCDgreg
2016-08-09 19:07:03 -0500make OutputCounter a bit more loudgreg
2016-08-09 18:48:54 -0500Add test using the old default behavior for SC plugin: 5 second save timeout, no detect timeoutgreg
2016-08-09 17:28:58 -0500Make SCD plugin configurable via plugin configuration.greg
2016-08-09 15:07:20 -0500cut file reader plugin 1.0.1greg
2016-08-09 15:06:42 -0500cut ADP 1.0.1greg
2016-08-09 12:26:43 -0500Terminate OCR link when upstreams are terminated.greg
2016-08-09 12:26:15 -0500Throw OCR into the mixgreg
2016-08-09 12:00:49 -0500log resultgreg
2016-08-09 11:59:06 -0500Moving the 1635 test into the tests directory. We don't need a separate test for the OCR plugin when we can just use this one.greg
2016-08-09 11:57:56 -0500make logging more verbosegreg
2016-08-09 11:39:20 -0500Add a test for SCD.greg
2016-08-09 11:16:44 -0500Add a test for OCR Parser.greg
2016-08-09 10:53:52 -0500Add a new implementation of the OCRParser which calls the Tesseract command line directly without going through the ocr executable script. This is less code to worry about and also allows OCRParser to run in environments where that script is not readily available.greg
2016-08-09 10:42:08 -0500Make the default save frame link instance detect on a 60 frame interval, with no timeouts.greg
2016-08-09 10:34:45 -0500Attach an instance of the scene change link which represents the default config coming from the plugin, so we can test the default alongside our configured test scene change detector.greg
2016-08-08 18:46:58 -0500test running detector every 30 framesgreg
2016-08-08 18:08:34 -0500test with detector that runs every 10 framesgreg
2016-08-08 18:07:56 -0500Add plugin-level support for EveryXFrames detectorgreg
2016-08-08 17:51:08 -0500Add a Detector that runs every X frames.greg
2016-08-08 17:26:31 -0500getName()greg
2016-08-08 17:16:50 -0500Add "output counter" which collects outputs and logs a summary.greg
2016-08-08 17:09:09 -0500don't completely trust the new dispatcher -yet- so use the old one for now, which should still workgreg
2016-08-08 16:47:57 -0500Note explaining why we can't use freewheel mode for the testgreg
2016-08-08 16:46:12 -0500Can eliminate the subscription counter by using Futures.allAsListgreg
2016-08-08 16:37:21 -0500refactor the logic for creating subscriptionsgreg
2016-08-08 16:10:14 -0500new experimental dispatcher which does not depend on Mycila and does not use a frame buffer (which can drop data). Eventually this might be the new default implementation for dispatcher.greg
2016-08-08 14:30:24 -0500Make timeout settings configurable in the test so they can be tweaked without rebuilding the plugin. Add a mock SC link to run alongside the real SC link so we can have all the frames that are tested vs all the ones that are successfully detected.greg
2016-08-08 14:26:05 -0500add some setters for configuration options, and to allow the saver/detector to be overridden for advanced usage (e.g. in tests)greg
2016-08-08 13:49:01 -0500switch out rate-limited Saver for rate-limited Detector.greg
2016-08-08 11:12:42 -0500add mock Scene Change detector which returns a fixed value every timegreg
2016-08-05 21:04:23 -0500fix exists/newer checkgreg
2016-08-05 21:00:11 -0500If asset file already exists, only pull from cache if the cached version is newer.greg
2016-08-05 20:59:13 -0500Transmit progress updates as file is being read.greg
2016-08-05 20:49:38 -0500actually retrieve cached datagreg
2016-08-05 20:40:21 -0500Supply cache for asset downloadergreg
2016-08-05 20:39:21 -0500make cache directory if it does not existgreg
2016-08-05 20:33:00 -0500Use a plugin (asset downloader or asset provider) to provide input to file reader.greg
2016-08-05 20:14:31 -05001.0.1-SNAPSHOT of asset downloader plugin. This has the option to use cache for the downloaded assets. This is intended to to be used in conjunction with tests on large video files.greg
2016-08-05 19:15:35 -0500set to starting when starting, running when it actually is runninggreg
2016-08-05 19:14:53 -0500Set status to running when reader starts.greg
2016-08-05 18:53:13 -0500use snapshot version of file readergreg
2016-08-05 18:21:07 -0500correct file reader metadatagreg
2016-08-05 18:19:56 -0500Begin freshening up file reader plugin. Move the set up of File Reader to start because we need the Clock which is not injected until the session is set up. Allow the File Reader to accept either an asset as configuration or accept it from an upstream processor, so we can do things like link a downloader plugin to it.greg
2016-08-05 16:52:29 -0500Create #1635 scd test case.greg
2016-08-05 15:37:18 -0500Add rate-limited Detector.greg
2016-08-05 15:35:35 -0500remove no longer needed filesgreg
2016-08-05 15:34:25 -0500fixing up git state after mergegreg
2016-08-04 19:40:45 -0500flesh out test "app" a bitgreg
2016-08-04 18:03:02 -0500add attempt to test for #1369greg
2016-08-04 17:41:27 -0500alsa plugin 1.0.6-SNAPSHOT. Handle exception coming out of close()greg
2016-08-04 17:38:40 -0500just have close throw IOException to conform to Closeable interface, and probably because failing to close is pretty severe (arguably, failing to open is just as bad, but not sure how to handle that appropriately)greg
2016-08-04 15:45:22 -0500Use the rate limited SC saver for now, it probably does what we need to do (limit SC outputs to once every certain number of seconds, default 5) without an unnecessary delay and a new thread.greg
2016-08-04 15:30:11 -0500Bring back the rate limited saver, just so we can experiment with it. It should do what we need without needing to spawn a new thread.greg
2016-08-04 15:10:47 -0500Picture will never be nullgreg
2016-08-04 15:08:08 -0500Read BufferedImage from saved scene change and transmit it, since the IVideoPicture may be reaped by the time the timeout is called.greg
2016-08-04 14:28:39 -0500Implement the scene change save timeout "correctly."greg
2016-08-04 13:31:07 -0500Add some comments. Access the ocr text future asynchronously.greg
2016-08-04 13:00:10 -0500We are using seconds for ocr/segmenter data, so index the scanned ocr by seconds.greg
2016-08-04 12:57:09 -0500Transmit the scene change element with a second timestamp. UI doesn't seem to be able to handle non-second timestamps, possibly other components of the system expect seconds as well.greg
2016-08-04 12:43:53 -0500Use a Duration as the timestamp field, since it encapsulates a unit.greg
2016-08-04 12:03:22 -0500The SceneChangeRunner already chains the detector to the saver so we do not need to do it here in the link.greg
2016-08-04 11:53:29 -0500Log when a scene change is successfully detectedgreg
2016-08-04 11:43:47 -0500logging improvementsgreg
2016-08-04 11:39:46 -0500Cannot run SCD in its own thread because of concurrency concerns with IVideoPictures.greg
2016-08-04 11:33:01 -0500removed unused enumgreg
2016-08-04 11:21:45 -0500SC/OCR plugins are no longer used for resending saved TOC data in republish/manual publish (that now falls to the External Asset plugin as the TOC is managed as an external file now), so this double logic can be removedgreg
2016-08-04 11:18:14 -0500Rate limiter plan isn't so solid, go back to the timeout method for saving thumbnails, using a runner/listener instead.greg
2016-08-03 19:52:35 -0500Revert "new version of OCR plugin + library"greg
2016-08-03 19:52:34 -0500Revert "Reduce VO boilerplate"greg
2016-08-03 19:52:32 -0500Revert "Long -> long"greg
2016-08-03 19:52:30 -0500Revert "Decouple the ocr processing into its own interface, so it can be tested and swapped out when necessary. OCRRunner now manages the executor and OCR state and runs OCR processing jobs as appropriate, using the OCRParser."greg
2016-08-03 19:52:28 -0500Revert "OCR parsing does not require timestamp so don't pass in timestamp, and return a simple string instead of a metadata VO. The OCRRunner can then wrap that string into the VO as appropriate."greg
2016-08-03 19:52:27 -0500Revert "Moved around some constants and removed some others"greg
2016-08-03 19:52:26 -0500Revert "removed unused flag"greg
2016-08-03 19:52:24 -0500Revert "Allow configuring logging on OCRParser/OCRRunner"greg
2016-08-03 19:52:23 -0500Revert "Capture ocr executable's stderr in our logger"greg
2016-08-03 19:52:22 -0500Revert "remove cleanUp from OCRRunner, we can call it directly on the parser"greg
2016-08-03 19:52:18 -0500Revert "Propagate logger to OCRRunner/OCRParser"greg
2016-08-03 19:52:11 -0500Revert "Big refactor of scene change library and plugin."greg
2016-08-03 19:41:38 -0500Big refactor of scene change library and plugin.greg
2016-08-03 14:37:22 -0500Propagate logger to OCRRunner/OCRParsergreg
2016-08-03 14:36:30 -0500remove cleanUp from OCRRunner, we can call it directly on the parsergreg
2016-08-03 14:34:02 -0500Capture ocr executable's stderr in our loggergreg
2016-08-03 14:32:18 -0500Allow configuring logging on OCRParser/OCRRunnergreg
2016-08-03 14:08:20 -0500removed unused flaggreg
2016-08-03 14:06:05 -0500Moved around some constants and removed some othersgreg
2016-08-03 13:59:38 -0500OCR parsing does not require timestamp so don't pass in timestamp, and return a simple string instead of a metadata VO. The OCRRunner can then wrap that string into the VO as appropriate.greg
2016-08-03 13:55:48 -0500Decouple the ocr processing into its own interface, so it can be tested and swapped out when necessary. OCRRunner now manages the executor and OCR state and runs OCR processing jobs as appropriate, using the OCRParser.greg
2016-08-03 12:34:55 -0500Long -> longgreg
2016-08-03 12:34:21 -0500Reduce VO boilerplategreg
2016-08-03 12:29:56 -0500new version of OCR plugin + librarygreg
2016-08-03 10:35:51 -0500New version of kaltura plugin. If error occurs while trying to publish table of contents, set status to "partially succeeded" See #1638greg
2016-08-02 17:50:23 -0500preset/tune selects are being populated with knockout so don't need this copy here, deploy pending #1634greg
2016-08-02 17:35:27 -0500Change how the UI plugin manages node dependencies. Move the node_modules out of target so we don't need to re-download dependencies each time on build. Factor out the actual logic for interacting with node/npm into its own class while keeping the dependency/package configuration in the pom file.greg
2016-08-02 16:09:52 -0500knockout 2.3.0 throws an error when you try to applyBindings to the same element more than once. This was happening in publisher forms in some circumstances, and is generally bad practice anyway. To avoid this problem, create a fresh container div that wraps around the rendered form and bind to that.greg
2016-08-02 13:41:11 -0500new version of twitter plugingreg
2016-08-02 13:31:23 -0500new version of scheduler and media package pull pluginsgreg
2016-08-02 13:24:07 -0500clean up the DataStorageProxy, separate interface from implementation and have adapters to/from Mapgreg
2016-08-02 11:54:19 -0500Actually send the VERIFY_PUBLISHER_CONFIG request offgreg
2016-08-02 10:44:04 -0500fix some groovy scripts, clean up othersgreg
2016-08-02 10:39:33 -0500Include file, request, response in template variablesgreg
2016-08-02 10:32:09 -0500since support for server-side js files is removed, migrate all of them to groovy template pagesgreg
2016-08-02 09:53:43 -0500wrap environment in a writable mapgreg
2016-08-02 00:46:25 -0500Make blackout date number lightergreg
2016-08-02 00:29:28 -0500Remove ability to execute .js files as templates, since that's a bit confusing with .js being used client side as well. Clean up TemplateEngine etc stuff. Eventually want to decouple all of this template executing functionality perhaps into the WebServerPlugin librarygreg
2016-08-02 00:23:36 -0500even more TemplateEngine stuffgreg
2016-08-02 00:19:46 -0500more TemplateEngine stuffgreg
2016-08-02 00:12:53 -05003.1.15-SNAPSHOT of log downloader plugin. Move all the stuff dealing with the web handler to its own class file so we can wait until the web server plugin is loaded to try to access those classes.greg
2016-08-02 00:03:13 -05003.1.11-SNAPSHOT of media info plugin. Move all the stuff dealing with the web handler to its own class file so we can wait until the web server plugin is loaded to try to access those classes.greg
2016-08-01 23:31:40 -0500new TemplateEngine interfacegreg
2016-08-01 23:29:20 -05003.1.12-SNAPSHOT of web server plugin.greg
2016-08-01 23:28:49 -0500new version of web server plugin classes. Clean up TemplateEngine as it's still being used in some placesgreg
2016-08-01 23:07:06 -0500avoid null valuegreg
2016-08-01 23:04:24 -0500use lambdagreg
2016-08-01 23:00:07 -0500avoid null valuegreg
2016-08-01 22:36:27 -0500bindings need to be writablegreg
2016-08-01 22:32:31 -05003.1.14-SNAPSHOT of PPM plugingreg
2016-08-01 20:11:17 -0500cranium plugin 1.0.7-SNAPSHOTgreg
2016-08-01 19:22:15 -0500use a dummy interface to bridge between function and Consumer, due to rhino not recognizing jdk8 default methodsgreg
2016-08-01 19:09:36 -0500nashorn doesn't play nice with -something- in our platform (module loader?) so back to rhino for nowgreg
2016-08-01 18:09:09 -0500since we're on java 8 and using java 8 features now, move to nashorn for javascript pluginsgreg
2016-08-01 17:36:30 -05003.1.14-SNAPSHOT of live device preview plugin.greg
2016-08-01 17:13:11 -0500new version of console plugingreg
2016-08-01 17:03:25 -0500Remove imports of removed classesgreg
2016-08-01 16:24:21 -0500Remove KeyValueStructure VO as it's made redundant by Guava's ImmutableMap buildergreg
2016-08-01 16:18:43 -0500new version of http api plugin, which does not use removed classesgreg
2016-08-01 16:17:55 -0500Use lambda expressions wherever possible, so we do directly import Callback interface.greg
2016-08-01 15:44:05 -0500Finally remove ScriptEngineProxy. About time.greg
2016-08-01 15:36:42 -0500Where possible, move away from our own interfaces and classes in favor of JDK ones. A lot of our libraries depend on Callback interface so we can't drop it entirely, but for stuff controlled by the configuration module we can. We will likely have to update a bunch of CM plugins as well to account for this change.greg
2016-08-01 13:36:22 -05003.1.29-SNAPSHOT of configuration module. Do some dependency cleanup in prep for the eventual 2.0.0 libraries by removing imports that will be phased out.greg
2016-08-01 13:33:21 -05001.0.2 of scheduler library, 3.1.20 of scheduler plugingreg
2016-08-01 13:29:36 -0500use date format for all toString()greg
2016-08-01 13:14:14 -0500Split the timey stuff into its own module. Eventually this won't be under CatturaBox root object but under CatturaBox.time or something like that.greg
2016-08-01 13:03:47 -0500instead of wrapping the moment in a new Date() to use the date-format library, translate the format string into a moment.js format stringgreg
2016-08-01 12:47:42 -0500Translate our datetime format into a date format and use that, to avoid the unnecessary 00:00:00 junkgreg
2016-08-01 11:02:10 -0500have a placeholder for no label, having it be empty is kinda uglygreg
2016-08-01 10:57:16 -0500actually sort properlygreg
2016-08-01 10:44:29 -0500Sort blackout datesgreg
2016-07-29 18:34:31 -0500specify a format for both parsing and formattinggreg
2016-07-29 18:30:10 -0500Basic validation for end time not being before start time.greg
2016-07-29 18:11:28 -0500set up the global test environment in CatturaBox.js since all test scripts will be including that and we don't want to repeat code too much. We also do need a fake jQuery to satisfy client code which requires jQuery.greg
2016-07-29 12:33:24 -0500If updating event via drag/drop is unsuccessful, reset the calendar state.greg
2016-07-29 11:51:36 -0500Error out if the user tries to schedule an event on a blackout date.greg
2016-07-28 17:40:41 -0500If event is null, do not start capture.greg
2016-07-28 17:19:07 -0500Remove test.jsgreg
2016-07-28 16:42:29 -0500Add test for random capture scriptgreg
2016-07-28 16:41:27 -0500Rename test.js to test-exclusions.js and create a test for the scripts.greg
2016-07-28 16:40:55 -0500Use Sinon.js to track when mock methods are called in testsgreg
2016-07-28 15:43:38 -0500If no templates are available, then throw an error that makes sense, instead of having it throw an error like "keys[i] is undefined" which doesn't really make sense.greg
2016-07-28 12:30:17 -0500add test to confirm behavior of moment-recur when starting before recurrence startgreg
2016-07-28 11:19:30 -0500make CatturaBox.Scripts a proper module, so it can be imported and testedgreg
2016-07-28 11:17:51 -0500if specified date is before exclusion start time, return false as it cannot match the recurring exclusiongreg
2016-07-27 22:05:42 -0500Split the exclusion check into its own function for reusegreg
2016-07-27 21:49:08 -0500Fix date generation for .fc-other-monthgreg
2016-07-27 18:46:58 -0500Add tests for recurring ranged exclusionsgreg
2016-07-27 18:45:10 -0500remove console.loggreg
2016-07-27 18:44:46 -0500moment-recur generates UTC moments so make sure all our moments are UTC to make things easier. Properly generate the date range for recurrence.greg
2016-07-27 15:08:53 -0500Add support for recurring exclusion.greg
2016-07-27 14:38:23 -0500Add tests for Exclusiongreg
2016-07-27 14:37:57 -0500Expose Exclusion so it can be testedgreg
2016-07-27 13:59:41 -0500Mock CatturaBox object to be used in UI tests.greg
2016-07-27 13:25:54 -0500Throw exception if any of the processes failgreg
2016-07-27 12:21:01 -0500groovy script cleanupgreg
2016-07-27 11:58:11 -0500Add mocha to allow for UI script tests.greg
2016-07-26 17:39:23 -0500New approach to testing ranged recurring exclusions. When given a date to advanceTo, advance the end date iterator to that date, calculate the size of the range, and then advance the start date iterator to that much before the date. This is so we get a valid date range to test against.greg
2016-07-26 16:49:38 -0500add test for recurring range exclusiongreg
2016-07-26 14:47:37 -0500add note to fullcalendar.js that it has been modified from the original versiongreg
2016-07-26 14:27:59 -0500Move knockout to npm. Pin to version 2 for now because our code does not work with version 3. Since the glue code depends on knockout put it in libs.js (as a global variable) instead of ui.js (as a module).greg
2016-07-26 14:06:22 -0500completely remove moment-timezone etc. from source tree and use require to load the time.js library which uses moment for timezone stuffgreg
2016-07-26 13:53:52 -0500fix makefilegreg
2016-07-26 13:30:24 -0500move moment and moment-timezone to npmgreg
2016-07-26 13:09:55 -0500Subscribe to exclusions observable so we can update the calendar whenever it changes.greg
2016-07-26 12:38:13 -0500Can't ignore .fc-other-month dates, due to how fullcalendar updates after changing month we need to iterate -all- of the calendar cells and re-style them each time month is changed.greg
2016-07-26 12:28:53 -0500basic styling for blackout datesgreg
2016-07-25 19:30:01 -0500since scripts are now using lodash, call value() after filter()greg
2016-07-25 18:40:22 -0500Expand blackout dates UI to support start/end date and labelgreg
2016-07-25 15:49:22 -0500Add moment-recur dependencygreg
2016-07-25 14:49:30 -0500Add labels and end dates to the scheduler plugin servicesgreg
2016-07-25 14:26:46 -0500Support labels and start/end dates on exclusionsgreg
2016-07-25 11:53:51 -0500Display repeats in the tablegreg
2016-07-25 11:33:36 -0500Default to todaygreg
2016-07-25 11:17:29 -0500use "" for empty recurrencegreg
2016-07-25 10:54:47 -0500correct syntax for recurringgreg
2016-07-25 10:48:12 -0500begin support for recurring exclusionsgreg
2016-07-22 19:51:58 -0500Connect UI to updated exclusion date servicesgreg
2016-07-22 15:38:17 -0500removeExclusionWithId -> removeExclusion, for consistencygreg
2016-07-22 14:54:42 -0500add services for updating exclusion by id, and deleting by id instead of timestampgreg
2016-07-22 14:27:10 -0500Add an id to the exclusion object so it can have a unique identifier which is used for updates/deletions, instead of using the timestamp as the identifier.greg
2016-07-21 17:35:17 -0500Generally we always want to have a recurrence on the event group, if possible. When setting "days" property, generate a recurrence based on that. If recurrence is null and "days" is not, then generate a recurrence on the fly based on "days" and use that for generating events. We will eventually persist the recurrence in the database and ignore "days" completely.greg
2016-07-21 16:55:31 -0500Add tests for new EventGroup functionalitygreg
2016-07-21 16:22:29 -0500rewrite exclusion/exclusion date services to work with new modelgreg
2016-07-21 16:01:37 -0500biweekly is being used in the scheduler-classes package so remove the dependency heregreg
2016-07-21 15:50:38 -0500rewrite EventGroup to use a recurrence, with fallback/backwards-compatible support for the legacy days string. Eventually a recurrence will be directly used, which will make the recurring event feature more powerful.greg
2016-07-21 15:17:05 -0500When a start date that does not match the recurrence is passed in (e.g. recurrence is M/W/F and start date is a tuesday) then the start date shall be changed to the first date of the recurrence. This is what Google Calendar does and it is probably more intuitive than the other behavior of leaving the start date unchanged and matching on it (effectively making the hypothetical exclusion "M/W/F plus this one Tuesday"greg
2016-07-21 15:15:19 -0500Test different types of recurrences (yearly, weekly, every other day, M/W/F).greg
2016-07-21 14:33:15 -0500Add a limit on the recurrence and test going past that limit.greg
2016-07-21 14:14:08 -0500Fix for recurring exclusion check. Advance date iterator to the day before the event, such that calling next() will return the correct date.greg
2016-07-21 14:13:24 -0500remove old RecurrenceUtilsgreg
2016-07-21 13:42:42 -0500don't need to null check, we won't allow null recurrences heregreg
2016-07-21 13:18:58 -0500Since exclusion logic is now in LocalDateExclusion instead of the exclusion event source itself, add tests for simple and recurring exclusion.greg
2016-07-21 13:18:26 -0500RecurrenceUtils -> ICalendarRecurrenceUtilsgreg
2016-07-21 13:13:32 -0500Since behavior for exclusion with/without recurrence is different, make the recurring exclusion a subclass of the simple one.greg
2016-07-21 12:19:21 -0500Rework how ExclusionaryEventSource performs exclusions. Now it just uses Predicates which are simpler to work with. Actual logic for matching against dates is encapsulated in a VO class which now also supports ical-style recurrences. Eventually these recurrences will be used for recurring events as well.greg
2016-07-20 13:34:55 -0500When rejecting call due to permissions, add an error explaining why.greg
2016-07-20 11:01:02 -0500because of some quirks with ServiceInspector, these should take Number (which is a superclass of Long, Double, Int etc. wrapper classes) as a parametergreg
2016-07-19 17:47:54 -0500Add ability to append datepicker to something other than body.greg
2016-07-19 12:13:50 -0500Move edit login dialog into the logins modulegreg
2016-07-19 10:34:22 -0500Move modals for each section into the file for that section. todo: maybe split these into separate files as wellgreg
2016-07-19 10:30:05 -0500Remove edit presenter modalgreg
2016-07-19 10:20:50 -0500underscore -> lodashgreg
2016-07-18 16:43:49 -0500begin modularizing the settings.js filegreg
2016-07-18 16:33:23 -0500begin scheduler settings UIgreg
2016-07-18 12:47:01 -0500ui plugin 3.1.34-SNAPSHOT. Split up the settings panels into discrete filesgreg
2016-07-18 11:36:00 -0500fix call to get the data storegreg
2016-07-15 17:19:57 -0500When adding a blackout date, remove all events scheduled on that date.greg
2016-07-15 16:11:57 -0500add plugin services for interacting with the excludergreg
2016-07-15 13:49:47 -0500add getExclusions methodgreg
2016-07-15 13:48:33 -0500Add LocalExclusionaryEventSource which is backed by data store. Add it to the CaptureScheduler etc.greg
2016-07-15 12:56:31 -0500joda-time -> java 8 timegreg
2016-07-15 12:48:05 -0500Add tests for ExclusionaryEventSourcegreg
2016-07-15 11:05:59 -0500joda-time -> java 8 time, clean up some thingsgreg
2016-07-15 10:55:52 -0500New version of scheduler library 1.0.2-snapshot. Migrate away from joda-time and use java 8 time API.greg
2016-07-15 10:24:19 -0500Add ExclusionaryEventSource which wraps around the LocalEventSource to provide the blackout dates functionality.greg
2016-07-14 18:10:16 -0500EventSource provides doSchedule/doUnschedule that we can hook into, so we can dry up the code for saving lists of events.greg
2016-07-14 16:38:04 -0500New version of scheduler classes library.greg
2016-07-13 14:13:52 -0500same for getGroup -> getEventGroupgreg
2016-07-13 14:13:17 -0500for consistency with createEventGroup/updateEventGroup this should be deleteEventGroup not deleteGroupgreg
2016-07-12 11:31:11 -05003910 -> 3912greg
2016-07-12 11:08:01 -0500release notes #3910greg
2016-07-11 21:39:42 -0500Web UI plugin 3.1.33.greg
2016-07-11 21:38:45 -0500Attempt to standardize on calling captures/lectures/recordings/media packages "recordings" since that is what most people seem to call them, and because we are a recorder.greg
2016-07-11 19:57:09 -0500Nomenclature: unit -> recordergreg
2016-07-11 19:46:21 -0500cut new streaming plugin and Live Preview plugingreg
2016-07-11 19:05:46 -0500Embiggen the "saved configs" modalgreg
2016-07-11 16:38:33 -0500Expand republish, edit, and saved configs modals to new modal widthgreg
2016-07-11 14:45:52 -0500Add the accordion checkbox behavior to republish modalgreg
2016-07-11 14:36:05 -0500Split off addNewForm into a private method which is used by reset()/populate() so we don't cause scrolling when using these methods. t.addNew which is used by the add new button will cause a scroll.greg
2016-07-11 14:25:04 -0500When clicking the checkbox for an accordion, if the checkbox is selected then expand the accordion. See #1630greg
2016-07-11 13:27:01 -0500oopsgreg
2016-07-11 13:23:47 -0500consolidate the accordion-heading checkbox styling using less nested selectorsgreg
2016-07-11 13:19:58 -0500Need to re-declare .span8/.span10 since the .modalWidth() mixin is overriding themgreg
2016-07-11 11:44:18 -0500Make description field tallergreg
2016-07-11 11:33:10 -0500Scroll down to newly added subformgreg
2016-07-11 11:06:30 -0500Add placeholder hints for streaming fields.greg
2016-07-09 00:54:49 -0500Fix styling for category-tree widget.greg
2016-07-08 16:51:10 -0500use "x" close button instead of pink "remove" button, this looks nicergreg
2016-07-08 16:01:39 -0500Scale child inputs with the width of the modal, #1630greg
2016-07-08 12:19:11 -0500Increase width of template editor, see #1630greg
2016-07-07 22:51:11 -0500Restrict the multiform to streamer plugins for now. Make the template editor able to work both with multiform and single form.greg
2016-07-07 22:01:17 -0500Style up the add/remove buttonsgreg
2016-07-07 17:58:55 -0500To prevent multiple "Live Streaming" bubbles in the manage section, condense duplicate published entries.greg
2016-07-07 13:55:52 -0500Split off "Capture" model into its own module, too. This one is really long since it has so much state to keep track ofgreg
2016-07-07 13:42:34 -0500Collapse duplicate publisher instances for the table listing, so we don't see "Publishes to: Streaming, Streaming, Streaming" for multi-stream templatesgreg
2016-07-07 11:42:10 -0500Don't call them "lecture" templates, just templatesgreg
2016-07-07 11:41:16 -0500Split "template" model into its own module which can be included. Since we are using browserify now we can begin to decouple components of the UI for easier management and so they can be reused where appropriate.greg
2016-07-06 21:17:09 -0500There we gogreg
2016-07-06 20:49:43 -0500Google Drive is now ingesting videogreg
2016-07-06 20:41:26 -0500{ingests, config, publisherId} is now returned by the form so we don't need to create it heregreg
2016-07-06 19:57:21 -0500Return default resolution if we can't determine one. We need a resolution in order to create the processor, for the purpose of testing the config.greg
2016-07-06 19:56:22 -0500even more data -> data.configgreg
2016-07-06 19:28:32 -0500fix up "edit configuration" to use new populate() conventiongreg
2016-07-06 19:21:40 -0500fix up "saved configurations" to use new populate() conventiongreg
2016-07-06 17:39:09 -0500do not need IIFEgreg
2016-07-06 14:59:14 -0500add videojs-dash. Currently unused but it may be implemented eventuallygreg
2016-07-06 14:58:51 -0500New version of live preview plugin. Fix issue where duplicate previews could be created (say, in case of a live stream + writer feeding from the same source) which is wasteful.greg
2016-07-06 12:48:33 -0500We are using "primary" without a media package id after it to identify primary stream for multi live streaming, so take that into account when parsing PPM data.greg
2016-07-05 13:13:55 -0500Fix for issue where the audio source selector shows a source copy audio source instead of the primary audio source.greg
2016-07-01 15:43:05 -0500Expand the sourceEncodes() to look for streaming configurations as well as writer configurations. General cleanup and move to knockout for all of this since the test to determine if something is a streamer node depends on the plugins observable (since it has information on the plugin input interests).greg
2016-07-01 13:10:56 -0500Use the id from the config to determine ingest source.greg
2016-07-01 12:35:58 -0500Use the ingests value as "id" for the streaming config, so we can parse it back into source copies when we load.greg
2016-07-01 12:17:27 -0500new version of streaming plugin. Make ID a possible configuration option; this is used to relate primary/secondary copies just like it is used on writer nodes.greg
2016-07-01 11:29:20 -0500remove inaccurate comment; the graph works fine without writer nodes nowgreg
2016-07-01 10:52:05 -0500sourceEncodes is not a ko.computedgreg
2016-06-30 20:39:27 -0500roll everything back to underscore for now. The migration was taking longer than I wantedgreg
2016-06-30 20:17:22 -0500mix in underscore.stringgreg
2016-06-30 20:12:25 -0500object -> fromPairsgreg
2016-06-30 19:20:50 -0500add underscore.string as dependencygreg
2016-06-30 17:20:31 -0500This was used to ensure we applied knockout bindings only once everything was loaded. Since the UI is now compiled into a html and a javascript file which are loaded in a predicable order, this is no longer needed.greg
2016-06-30 17:14:45 -0500log with appropriate levelgreg
2016-06-30 17:01:49 -0500even if not handling UI errors specifically, at least log the errorgreg
2016-06-30 16:07:19 -0500even more underscore -> lodash stuffgreg
2016-06-30 15:20:13 -0500contains -> includesgreg
2016-06-30 15:10:56 -0500jshint complains about redefining status property, I totally forgot that was even a thinggreg
2016-06-30 14:35:53 -0500need to add .value() where appropriategreg
2016-06-30 14:22:15 -0500underscore -> lodashgreg
2016-06-30 13:48:43 -0500Use inputSource to determine where to find the input resolution.greg
2016-06-30 12:34:22 -0500Use a ko observable to track inputSource. We will need it as well to determine the input resolution for the streamer (it currently assumes the primary source)greg
2016-06-29 16:20:18 -0500videoSource is an observablegreg
2016-06-29 15:49:29 -0500still more value()greg
2016-06-29 15:48:24 -0500do not need to global require anymoregreg
2016-06-29 15:48:00 -0500lodash so return value()greg
2016-06-29 15:41:51 -0500Add a selector for the streaming config to select the input source (primary, or one of the source copies)greg
2016-06-29 15:25:27 -0500Since the default behavior of populate/values requires the name attribute on the fields (it maps name to the key in the config) only iterate on fields with a name attribute.greg
2016-06-29 14:47:24 -0500do not want to ingest "all" for streaming config, since a streamer can only accept one video and one audio input.greg
2016-06-29 14:36:23 -0500data now contains the entire {platform, ingests, config} structure so use data.config for validationgreg
2016-06-29 13:49:11 -0500since streamer form is override configToValues/valuesToConfig, revert back to returning the bare configgreg
2016-06-29 13:42:06 -0500TODO: Kaltura/Panopto forms should probably be hooking into configToValues/valuesToConfig instead of data/populategreg
2016-06-29 13:38:04 -0500Push the {config, ingests, id} structure up from valuesToConfig/configToValues to data/populate which are the top-level methods called by the template editor. valuesToConfig/configToValues will again handle the "config" which is the actual publisher configuration. Most publisher forms do not care about "ingests" which is not part of the direct publisher config but rather controls how the publisher is connected to the rest of the template.greg
2016-06-29 13:16:36 -0500rename some variables to try to make less confusing (we have `publisher` and `platform` whizzing around, not to mention `platform.platform` and `publisher.id`)greg
2016-06-29 11:55:54 -0500rename publishPlatforms fields to match what is given to the backendgreg
2016-06-29 11:48:05 -0500Push the responsibility for the ingests: [..] value into the publisher form, so it can be controlled by the individual form. This allows the multi-streaming functionality as well as removing the ingests: [...] logic specific to the streaming plugin away from the template editor.greg
2016-06-28 17:39:47 -0500Add remove buttons to sub forms.greg
2016-06-28 14:05:48 -0500Handle multiple publisher configs in template editor.greg
2016-06-28 13:13:08 -0500we do not need /* globals require */ if node: true in .jshintrcgreg
2016-06-28 12:46:58 -0500assume node-ish environment for jshintgreg
2016-06-28 12:46:36 -0500do not need an IIFE since we are using browserifygreg
2016-06-28 12:16:39 -0500Handle an array being returned from data()greg
2016-06-28 11:41:25 -0500remove log statementsgreg
2016-06-28 11:03:43 -0500more underscore -> lodash fixesgreg
2016-06-28 10:40:06 -0500call .value() when requiredgreg
2016-06-28 10:35:52 -0500underscore -> lodash for all publisher stuffgreg
2016-06-28 10:32:38 -0500Implement data() for multi-form. This simply returns an array from all the child forms.greg
2016-06-27 19:59:56 -0500Implement populate() for multi form. For backwards compatibility accept either array or single argument.greg
2016-06-27 19:52:42 -0500fix cases where PublisherForms.Abstract is used with multi formgreg
2016-06-27 19:43:47 -0500methods for adding and removing subforms, use knockout heregreg
2016-06-27 19:12:59 -0500clarify commentgreg
2016-06-27 19:12:13 -0500to prevent conflict with global _ (underscore), require lodash and noConflict itgreg
2016-06-27 18:42:39 -0500Introduce lodash as a dependency and jstify for precompiling lodash/underscore templates so they can be required in JS without needing to include them in the generated html. Eventually underscore will be phased out and replaced with this versioned copy of lodash.greg
2016-06-27 17:42:18 -0500Stub out "multi-publisher-form" which is a wrapper for the standard publisher form which contains one or more forms.greg
2016-06-27 11:56:26 -05003.1.33-SNAPSHOT of ui plugingreg
2016-06-24 16:05:08 -0500base platform package 3.1.20greg
2016-06-24 16:04:28 -05003.1.20 of platform package; 1.10.1-1 of nginxgreg
2016-06-21 17:20:12 -0500new nginx using try-restart instead of status/stop/restartgreg
2016-06-21 17:18:01 -0500that was a mistake, 3.1.20greg
2016-06-21 17:12:48 -0500go ahead and cut 3.1.19 of platform debgreg
2016-06-21 17:00:00 -0500Removed unnecessary environment variables, since Xuggler is now bundled into a jar and loaded dynamically.greg
2016-06-21 16:56:54 -0500print message in case try-restart does nothinggreg
2016-06-21 16:50:11 -0500begin 3.1.19 of platform package. Provide a try-restart command for init script.greg
2016-06-21 11:53:48 -0500Release notes are a thing againgreg
2016-06-21 10:36:24 -0500removing jodd imports, jodd is already imported by the pomgreg
2016-06-21 10:28:27 -0500build fails for whatever reason if we use "clean install post-site" in one command, so use two commandsgreg
2016-06-21 10:00:04 -0500deploy to correct pathgreg
2016-06-20 19:53:01 -0500strip whitespace from pathgreg
2016-06-20 19:51:56 -0500oops, build-release is here. Not sure if we want to be using this one or the one in apt-repogreg
2016-06-20 18:40:43 -0500Adapt build-release to build the site, and deploy to deploy it along with the repo.greg
2016-06-20 17:24:31 -0500bring nginx back into the configuration-module-plugins reactorgreg
2016-06-20 15:02:08 -0500Add Offline LE plugin to repo.greg
2016-06-20 14:54:56 -0500Add offline-learning-engine to reactor buildgreg
2016-06-20 14:54:15 -05001.0.0 version of Offline LE plugin, with watch directory: /media/uploaded/cattura/watch_dirgreg
2016-06-20 13:33:15 -0500oops. use non-snapshot version of kaltura librarygreg
2016-06-20 13:09:14 -0500cut UI plugin 3.1.32greg
2016-06-20 13:07:41 -0500cut scheduler plugin 3.1.19greg
2016-06-20 13:04:53 -0500cut api plugin 3.1.13greg
2016-06-20 12:49:39 -0500cut alsa plugin 1.0.5greg
2016-06-20 12:19:30 -0500Add alsa capture to audio capture root pom (no idea why it wasn't there before?)greg
2016-06-20 12:12:27 -0500cut new base platformgreg
2016-06-20 12:10:05 -0500use nginx 1.10.1greg
2016-06-17 19:43:30 -0500Extract build number from platform deb and store it as a property on the build.greg
2016-06-17 19:30:09 -0500split the deb stuff into a separate filegreg
2016-06-17 18:25:53 -0500unit_setup.py is already copied into target, so just use thatgreg
2016-06-17 18:20:36 -0500Removing presenters pagegreg
2016-06-17 18:20:19 -0500Removing unnecessary and invalid menusgreg
2016-06-17 18:19:20 -0500fix cleanup of extracted manual pagesgreg
2016-06-17 18:18:26 -0500fix extraction of imagesgreg
2016-06-17 17:13:54 -0500treat the parsed manual pages as xhtml, not markdowngreg
2016-06-17 16:40:13 -0500Fix fetching unit setup script to work either from local or remote source.greg
2016-06-17 15:50:36 -0500since we are using deb's instead of cattura-plugin.zip now, rewrite the code for pulling the UI manual into the capturecast site to work with the deb package instead of a zip.greg
2016-06-17 14:01:55 -0500Adding the capturecast pro site to the apt-repo build. Intention is for the site to be included with the build and to be updated when a new build is cut.greg
2016-06-17 13:41:46 -0500clean up the device-thumbnail-refresh-plugin. Do not wait indefinitely for the thumbnail file to appear, instead time out if it does not.greg
2016-06-17 11:37:22 -0500new version of device-thumbnail-refresh-plugin, with metadatagreg
2016-06-16 19:45:05 -05003.1.13 of ppm plugin. Deploy pending #1599greg
2016-06-16 19:09:33 -0500cut new versions of log downloader and mediainfo plugins to use the new web server plugin librarygreg
2016-06-16 19:00:55 -0500Cut web server plugin 3.1.11greg
2016-06-16 18:30:57 -0500Use a CopyOnWriteArrayList for the handlers. This will impose a penalty on adding (which is generally only done on startup) but make iterating (which is done much more often) safer and quicker.greg
2016-06-16 18:10:38 -0500Null check for handler. This should not ever happen but if it does try to handle it gracefully.greg
2016-06-16 17:57:20 -0500Add web server logging handler with FINEST log levelgreg
2016-06-16 17:21:56 -0500Simplify the WebServerEvent by doing web server initialization in the plugin and just having the event be a container for the web server. Not sure why it was being done this way in the first place. Some sort of concurrency concern?greg
2016-06-16 16:56:12 -0500Add some logging in the web server for when handlers are registered and when the web server starts up.greg
2016-06-16 16:55:46 -0500Simplify the WebServerEvent by doing web server initialization in the plugin and just having the event be a container for the web server. Not sure why it was being done this way in the first place. Some sort of concurrency concern?greg
2016-06-16 16:53:20 -0500New version of web server plugingreg
2016-06-16 11:53:16 -0500Sort kaltura/panopto categories/folders by name. Deploy pending #1622greg
2016-06-16 11:21:40 -0500Update the javascript api client version 1, so that it can be used under SSLgreg
2016-06-16 10:49:27 -0500supply protocol for API. if we don't then the API client assumes httpgreg
2016-06-15 17:26:05 -0500cut nginx 1.10.1greg
2016-06-15 17:03:54 -0500Fixes for SSL cert generationgreg
2016-06-15 16:53:49 -0500Add in support for SSL. Generate a self-signed cert upon install if one does not exist.greg
2016-06-15 16:21:29 -0500Remove dependency on perl and use a native module for the launch button. Since this dependency is one that changes between ubuntu versions, this can help make it independent of a specific version of ubuntu.greg
2016-06-15 13:43:33 -0500update nginx to 1.10.1 stablegreg
2016-06-14 16:21:46 -0500cut plugin 1.2.8 and library 3.2.2greg
2016-06-14 16:11:08 -0500new version of kaltura client and kaltura plugin. Enhance getCategories() to return all categories. Deploy pending #1621greg
2016-06-13 21:24:48 -0500correct parameter for group idgreg
2016-06-10 12:12:23 -0500remove "Plugin" from title, for now, for publishing plugins the name of the plugin is the name of the publishing servicegreg
2016-06-10 11:55:20 -0500Add logginggreg
2016-06-10 11:42:10 -0500change watch directory, make a setting so it can be configured in the plugingreg
2016-06-09 18:09:00 -0500Comment out audio gain control, see #1601greg
2016-06-09 18:00:09 -0500Re-enable the magewell audio devices in ALSA plugin by default, see #1602greg
2016-06-09 16:57:17 -0500Scrub references to SpeakerVO from scheduler, see #1608greg
2016-06-09 16:47:39 -0500Supply a null "speaker" into the macro resolver for backwards compatibility with old templates (see #1290), but remove the need to do so for new templates (see #1608).greg
2016-06-09 16:37:50 -0500even more scrubbinggreg
2016-06-09 16:14:30 -0500more thorough scrubgreg
2016-06-09 16:12:28 -0500Remove speaker-related notifications.greg
2016-06-09 16:09:04 -0500Scrub references to speaker from UI. See #1608greg
2016-06-09 15:57:12 -0500Remove SpeakerVO and all support for it, see #1608greg
2016-06-09 15:44:57 -0500play/pause for the start/stop video buttongreg
2016-06-09 15:21:43 -0500Since the video may not be playing when loop is called, call play() when the loop button is pushed. Also, as the stop button says stop the user might expect it to stop playback, so stop playback when stop is called.greg
2016-06-09 14:50:31 -0500clip beginning/end is not stored on the DOM widget anymore, only internally in the editor state. So don't try to grab the beginning/end from the DOM. See #1606greg
2016-06-09 11:15:46 -0500cut Live Preview plugin 3.1.12greg
2016-06-08 20:38:08 -0500new version of Live Preview plugin with null pointer fix, deploy pending #1620greg
2016-06-08 20:17:22 -0500remove No Signal support from UI, see #1609greg
2016-06-08 20:12:50 -0500remove No Signal support from backend, see #1609greg
2016-06-08 20:04:01 -0500use the gray button for the multi capture day selector, and CSS it to look like the pink button when selected. Deploy pending #1619greg
2016-06-08 19:51:55 -0500add role descriptions, see #1610greg
2016-06-08 19:37:39 -0500don't handle show event if it comes from slider handle, see #1613greg
2016-06-08 17:25:04 -0500Correctly set slider value so that it reflects the actual SCD value, see #1613greg
2016-06-08 15:47:33 -0500Use publisher id for keying the publisher templates, not publisher title.greg
2016-06-08 15:10:27 -0500cut 1.0.2 of opencast plugin, deploy pending #1612greg
2016-06-08 15:09:32 -0500adjust form template IDgreg
2016-06-08 13:43:42 -0500begin version 1.0.2 of opencast plugin, with title change Matterhorn -> Opencastgreg
2016-06-08 13:42:33 -0500"Matterhorn" -> "Opencast"greg
2016-06-08 13:39:45 -0500begin version 3.1.32greg
2016-06-06 17:26:59 -0500Set media package id on returned CaptureRequest, so that it gets persisted when we make a copy of the task (since that uses the constructor that takes a CaptureRequest). Idea is that the CaptureTask is more or less identical to a CaptureRequestgreg
2016-06-06 16:05:20 -0500Since Actions are generated upon retrieving or saving the Task, and not on demand whenever getActions() is called, we can now make protective copies of Task objects which share the generated Action objects. Only the CaptureTaskBuilder and the Actions have direct write access to the Task.greg
2016-06-06 12:54:41 -0500Since the logic for generating Actions has been moved into a builder, the CaptureTaskSource can be decoupled from framework logic and made into a VO factory like the LocalEventSource.greg
2016-06-06 12:09:58 -0500oops. wrong fieldgreg
2016-06-02 11:06:43 -0500Remove NotificationRequestHandler and just use the one provided in the API library.greg
2016-06-02 11:04:48 -0500Update the NotificationRequestHandler (API request -> Notification bridge) with new version from SchedulerPlugin.greg
2016-06-01 14:49:54 -0500Extend Scheduler API v2 with methods for dealing with event groups and calendar import/export.greg
2016-05-31 16:40:21 -0500stackTrace -> stackgreg
2016-05-31 16:38:33 -0500error -> parseErrorgreg
2016-05-31 16:36:53 -0500Attempt to actually parse errors returned from the API, since all API request -should- be returning errors in a standard way.greg
2016-05-31 16:29:46 -0500Add proper error handling to javascript API client v3. Add a header explaining that it is automatically generated + datetime of generation.greg
2016-05-31 16:04:21 -0500new version of API plugingreg
2016-05-31 15:25:45 -0500Begin scheduler api v2. This will be a more consistent improvement upon scheduler api v1 and will also include missing features such as delete, updateEventGroup, deleteEventGroup, parseCalendar. See #1617greg
2016-05-31 14:16:25 -0500Force start time to be accompanied by stop time or duration. See #1616greg
2016-05-31 13:48:43 -0500rename commands_internal back to commandsgreg
2016-05-31 13:14:07 -0500Remove direct reference to the event from the task object. Since the only object that needs to know about the event object is the start action, and that has direct access to the Scheduler (since it's provided by the action builder), look up the event using the Scheduler. This ensures that the task has a fresh event object instead of a stale one (since the event object is now a VO which is copied on every get). TODO: perhaps figure out a more elegant way to do this (such as providing the EventWithTask as a parameter to the action?)greg
2016-05-31 12:24:14 -0500setStarted(true)greg
2016-05-31 12:02:33 -0500fix some null pointer errorsgreg
2016-05-31 11:41:39 -0500Create a builder class for constructing Actions (start/stop) for CaptureTasks, which encapsulates the actual logic for start/stop related to a Task. The builder is called every time the Task is saved in the CaptureTask Source. This is so directly mutating the Task does not affect the logic for start/stop, and also decouples the CaptureTask class from the configuration module/PureMVC infrastructure.greg
2016-05-26 20:22:25 -0500Provide copy constructor for LocalEvent. Return copies of events from getEvents() so that anyone mutating the return value does not affect the held state.greg
2016-05-26 16:02:36 -0500remove raw SELECT_ALL query that isn't being usedgreg
2016-05-25 18:22:22 -0500Use the _scheduler object since that is where the validation is performed.greg
2016-05-25 17:32:19 -0500Begin new version of scheduler plugin.greg
2016-05-25 17:31:11 -0500New versions of Configuration and MPA Modules. Limit versions of dependencies to [1.0.0,1.9.9) to exclude 2.0.0 libraries as they have breaking changes. Any development using 2.0.0 libraries is taking place in platform_cleanup.greg
2016-05-18 13:57:48 -0500should be a -SNAPSHOT plugin, oopsgreg
2016-05-18 13:44:27 -0500remove code that isn't being used for this plugingreg
2016-05-18 13:38:23 -0500correct watch directory path, add default username/passwordgreg
2016-04-29 22:31:44 -0500Create a new serializer implementation to get around issues with the current one forcing absolute paths, since we want all paths to be relative in the media package.greg
2016-04-29 22:01:16 -0500Add a method to directly attach an output object.greg
2016-04-29 21:38:36 -0500simplify the SFTPUtility by making it sync, as the SFTPMediaPackageUploader is already a Callable so it could be run in an Executor if need begreg
2016-04-29 21:20:19 -0500pass in dot to signify current directorygreg
2016-04-29 21:18:46 -0500fix passing in path to mkdir with slashesgreg
2016-04-29 20:54:17 -0500build the input media package correctlygreg
2016-04-29 20:50:12 -0500use lambdagreg
2016-04-29 20:49:43 -0500better to just use the hostgreg
2016-04-29 20:39:57 -0500Conceptualize the publisher as one which takes an input media package and uploads it to a remote server, transforming it into a media package which is consumable by that server. To that end, collect the "ProcessorOutput" entries into a media package and feed it into a SFTPMediaPackageUploader. Goal is that the uploader logic doesn't need to know about the plugin specific details, and can be used as a generic method for uploading media packages to SFTP, even more complicated ones like e.g. ones managed by CaptureCast Pro.greg
2016-04-29 20:31:45 -0500try to make the SFTPUtility more intuitivegreg
2016-04-29 17:08:40 -0500clean up and add commentsgreg
2016-04-29 16:50:36 -0500Add a SimpleMediaPackage that's just a basic media package backed by a map. This will be serialized into a file which is uploaded onto the SFTP server.greg
2016-04-29 14:43:49 -0500rename publisher classgreg
2016-04-29 11:25:00 -0500fix some problems with parsing the configgreg
2016-04-28 16:54:25 -0500config takes a bare hostname, as we supply the directory on the plugin sidegreg
2016-04-28 16:53:39 -0500split SFTP logic into its own classgreg
2016-04-28 11:46:51 -0500add offline LE publishing plugingreg
2016-04-28 10:38:49 -0500release platformgreg
2016-04-28 10:38:11 -0500release console plugingreg
2016-04-28 10:37:48 -0500release UI plugingreg
2016-04-28 10:37:16 -0500release a bunch of CM pluginsgreg
2016-04-28 10:36:13 -0500cm 3.1.27greg
2016-04-27 18:33:38 -0500prevent any edit or import if disk space is lowgreg
2016-04-27 18:31:39 -0500stop edits or imports if low on disk spacegreg
2016-04-27 18:27:52 -0500stop running captures if low on disk spacegreg
2016-04-27 17:39:00 -0500add version/build info to startup messagegreg
2016-04-27 17:30:32 -0500logging should be configured as soon as possiblegreg
2016-04-27 17:08:03 -0500add download log button to startup error modal (it's probably the only thing that makes sense to do in this state)greg
2016-04-27 17:00:43 -0500fix styling on startup error modalgreg
2016-04-27 16:51:41 -0500remove close button; it's a fatal error, we can't do anythinggreg
2016-04-27 16:36:55 -0500fixes for startup error modalgreg
2016-04-27 16:21:20 -0500Pass startup errors into glue script. If we detect any, pop up a modal.greg
2016-04-27 15:44:29 -0500Split off commonly used modals into partialsgreg
2016-04-27 15:30:50 -0500add a proxy object which can aggregate status information. We can use this to present startup errors in the UI when it loads.greg
2016-04-27 15:20:33 -0500if we fail to connect to the database when retrieving local logins, don't breakgreg
2016-04-27 15:07:24 -0500handle if scheduler is nullgreg
2016-04-27 15:05:37 -0500even more fixes for null ormgreg
2016-04-27 14:43:39 -0500handle null index, see #1563greg
2016-04-27 14:38:04 -0500move away from using futures for database stuff, since the database is initialized on startup we shouldn't need them anyway and if the database fails to set up then we block everywhere, see #1563greg
2016-04-27 14:24:15 -0500if error occurs when connecting to database, proceed as normal. See #1563greg
2016-04-27 13:50:47 -0500versions.ghtml should not fail if MPA module is absentgreg
2016-04-27 13:46:07 -0500log downloader plugin 3.1.13-SNAPSHOT etcgreg
2016-04-27 13:44:06 -0500don't block on getPlugins()greg
2016-04-27 13:41:44 -0500console plugin 3.1.17-SNAPSHOT, handle null mpa modulegreg
2016-04-27 13:35:47 -0500hide restart MPA module button if MPA module is unavailablegreg
2016-04-27 13:29:28 -0500configuration API 3.1.13-SNAPSHOT. Handle null mpa modulegreg
2016-04-27 13:25:13 -0500if MPA module is null we still want to know about the CM pluginsgreg
2016-04-27 13:19:38 -0500if MPA module is not available, use an alternative approach to loading graphs directly from the filesystemgreg
2016-04-27 13:19:20 -0500if MPA module is not available we can't capture anyway so don't load templatesgreg
2016-04-27 12:26:30 -0500if MPA module can't be loaded, graph builder can't be either, so return null for delegate. Components using the graph builder to read graphs will need to find to find another approachgreg
2016-04-27 12:21:59 -0500web ui plugin 3.10.31-SNAPSHOT. Handle null mpa modulegreg
2016-04-27 12:12:37 -0500configuration module 3.1.27-SNAPSHOT. If media processing module can't be found, continue as normal with limited functionality.greg
2016-04-27 12:00:09 -0500handle label == null correctly, instead of stringifying it as "null"greg
2016-04-27 11:13:49 -0500web ui plugin 3.1.30greg
2016-04-27 10:51:47 -0500only show visualizer option if visualizer is enabledgreg
2016-04-27 10:03:43 -0500use if: to control display of the export button, since the button group will look weird if this button is rendered but hiddengreg
2016-04-26 21:06:38 -0500scheduler plugin 3.1.18greg
2016-04-26 20:59:59 -0500Add UI for calendar exportgreg
2016-04-26 20:22:31 -0500Use the unit's selected timezone.greg
2016-04-26 20:10:47 -0500add support for our custom ical properties to importgreg
2016-04-26 20:00:49 -0500add function and services for exporting calendar datagreg
2016-04-26 19:22:09 -0500use lambdagreg
2016-04-26 19:21:25 -0500remove dead codegreg
2016-04-26 19:02:53 -0500don't need the google-rfc-2445 dependency because biweekly embeds the library alreadygreg
2016-04-26 18:53:42 -0500update biweekly dependency to latest version, this should resolve any lingering timezone problems. see #1595greg
2016-04-26 18:51:29 -0500simplify calendar testsgreg
2016-04-26 16:52:17 -0500add #1595 test calendargreg
2016-04-26 15:39:16 -0500add media-package-puller plugingreg
2016-04-26 15:38:17 -0500c-s-d 3.1.10greg
2016-04-26 15:37:56 -0500Add cranium-integration-plugin to standard installgreg
2016-04-26 15:35:34 -0500s-p-p 3.1.11greg
2016-04-26 15:35:08 -0500Add panopto plugin to standard-publishing-plugins. Remove mediacore plugin from the pom.xml dependencies, which will remove it from the repo entirely.greg
2016-04-26 12:15:03 -0500Add panopto project to publishing multimodule pomgreg
2016-04-26 11:58:38 -0500use a global FolderFetcher object to minimize the number of redundant caches keptgreg
2016-04-26 11:53:40 -0500allow setting options on CategoryTree after construction, so we can set it to read only when renderinggreg
2016-04-26 11:12:35 -05001.0.0 of panopto library and plugingreg
2016-04-26 10:49:29 -0500tests for listUsers, but admin is required to use thatgreg
2016-04-25 18:08:24 -0500Allow setting logger on the clientgreg
2016-04-25 17:33:54 -0500fix issue where fixURL was defaulting to http:// instead of https:// for hosted instancesgreg
2016-04-25 15:20:04 -0500Attempt to correct if we have no URL scheme or if we are trying to use HTTP for a hosted url (we require HTTPS)greg
2016-04-25 13:20:49 -0500If we get error from retrieving folders, reject promisegreg
2016-04-25 11:55:49 -0500Use the categorytree module in kaltura formgreg
2016-04-25 11:21:37 -0500When re-rendering category tree, preserve selected options.greg
2016-04-25 11:16:48 -0500Split off the category tree into its own module so it can be reused in the Kaltura formgreg
2016-04-25 09:46:53 -0500URL is required and can't be a placeholder, since we don't have a default URL to fall back to.greg
2016-04-22 21:36:18 -0500Split out the code for fetching folders into a self contained function.greg
2016-04-22 21:17:03 -0500Split the code for rendering the category tree widget into its own function, so that it can eventually be reused for the Kaltura config. Fix it so that it uses radios instead of checkboxes (Panopto only allows one folder, which is required)greg
2016-04-22 20:41:52 -0500fix up styling for panopto folder selectgreg
2016-04-22 18:32:17 -0500begin work on dedicated config form for panopto plugingreg
2016-04-22 17:57:50 -0500comment for "publisher extensions"greg
2016-04-22 17:38:51 -0500Use browserify to split off all the publisher form logic into individual files.greg
2016-04-22 17:09:14 -0500move to browserify for first-party JS codegreg
2016-04-22 17:03:08 -0500roll back less, latest update broke some thingsgreg
2016-04-22 16:43:42 -0500update to latest versions of less and uglify, add browserify and clean-cssgreg
2016-04-22 16:28:12 -0500remove .netbeans.xmlgreg
2016-04-22 16:24:04 -0500Move the package.json contents into the pomgreg
2016-04-22 16:12:21 -0500for generic publisher form, if we think the field is a password/secret field, use "password" as the input typegreg
2016-04-22 16:06:22 -0500Split out all the publisher forms into their own files which are included at build time.greg
2016-04-22 16:05:58 -05003.1.30-SNAPSHOT. Enhance the html preprocessor so it can include files relative to the current file being processed.greg
2016-04-22 15:05:29 -0500PPTX doesn't seem to be supportedgreg
2016-04-22 13:52:22 -0500upload PowerPoint speaker filesgreg
2016-04-22 13:50:05 -0500tone down logginggreg
2016-04-22 12:47:27 -0500Set the viewUrl on the remote asset so it can be linked from the UIgreg
2016-04-21 17:48:58 -0500Get entryId from the upload id and use that as the entry id.greg
2016-04-21 16:35:18 -0500make StreamUpload a public type and return it from the uploader classgreg
2016-04-21 15:57:25 -0500Disable all tests for nowgreg
2016-04-21 15:55:39 -0500Add test resources directory for projectgreg
2016-04-21 15:51:05 -0500Fix minimum chunk size (5 MB)greg
2016-04-21 15:12:59 -0500to work around dependency conflicts with an older version of apache httpclient/httpcore used in the platform, which isn't compatible with the AWS libraries, shade the panopto client as well as the required AWS and apache libraries into plugin jar.greg
2016-04-21 10:56:52 -0500do not need to know about presenter/presentation source ids, was my mistakegreg
2016-04-21 10:55:32 -0500"SecondaryPresentation" is actually a PowerPoint file. Use "SecondaryVideo" for all source copiesgreg
2016-04-21 10:46:00 -0500Fix secondary video uploadgreg
2016-04-21 10:29:21 -0500Finish upload with a PUT call to "upload/{id}" to trigger processing on the servergreg
2016-04-20 23:59:59 -0500Chunk must be at least 5 MB or else it will throw errors at usgreg
2016-04-20 20:30:13 -0500attempt to fix the multipart uploadergreg
2016-04-20 18:43:03 -0500add @data to Progressgreg
2016-04-20 18:24:12 -0500add a RequestHandler to strip UTF-8 BOM from response, since this seems to choke the S3 SDKgreg
2016-04-20 15:52:17 -0500update apache http dependenciesgreg
2016-04-20 15:38:16 -0500Supply credentials for AWS SDKgreg
2016-04-20 13:04:15 -0500fix cookie headergreg
2016-04-20 12:26:09 -0500Fixes for request without stream type. Add test for single-video session upload.greg
2016-04-20 12:08:22 -0500Add support for null stream typegreg
2016-04-20 11:58:14 -0500Add test videos to test-resources. Remove xmlbeans stuffgreg
2016-04-20 11:53:57 -0500Add loggers to client and upload classes. Attempt to improve setting up an upload.greg
2016-04-20 11:46:13 -0500Add test for uploader using test-videosgreg
2016-04-20 11:45:49 -0500Add debug logging to test casesgreg
2016-04-20 09:53:10 -0500Add videos for testing publishing clientsgreg
2016-04-19 12:17:05 -0500fix double slashes in urlgreg
2016-04-19 11:57:25 -0500Return HttpCookie object with name/value instead of just value, so it can be used in the uploadergreg
2016-04-19 11:44:20 -0500Get all pages of foldersgreg
2016-04-19 10:28:29 -0500Add methods for getting user/group access information for a usergreg
2016-04-18 20:08:47 -0500flesh out enumsgreg
2016-04-18 20:07:22 -0500Add a way to get user info for the logged in user.greg
2016-04-18 19:40:43 -0500It seems like folder is required, so throw an error if it's not present.greg
2016-04-18 19:14:56 -0500fix set folder on sessiongreg
2016-04-18 18:59:40 -0500Make the PanoptoClient more intelligent and accept urls which don't end in / or /Panopto/ (I think we can assume that all panopto instances will end in /Panopto/)greg
2016-04-18 18:18:09 -0500Support folder in configgreg
2016-04-18 17:55:59 -0500Add method to get folders assorted into a tree.greg
2016-04-18 16:13:43 -0500correct auth checkgreg
2016-04-18 16:10:09 -0500Start fleshing out panopto plugin.greg
2016-04-18 15:34:49 -0500@ignore AddSessiongreg
2016-04-18 15:06:56 -0500Add progress callbackgreg
2016-04-18 15:02:36 -0500Add in amazon S3 dependency and logic for uploading, based on C# example https://github.com/Panopto/SessionUploadExamplegreg
2016-04-15 20:22:02 -0500Begin work on uploader classgreg
2016-04-15 16:07:33 -0500use PanoptoFailureException for errors from the APIgreg
2016-04-15 15:53:54 -0500Add a test for addSessiongreg
2016-04-15 14:34:20 -0500Add method to add a session (presentation)greg
2016-04-15 12:26:01 -0500Begin work on the higher-level Panopto client, with testsgreg
2016-04-14 22:38:39 -0500Test for auth cookie. We will need that to do uploads.greg
2016-04-14 20:04:59 -0500Some more testsgreg
2016-04-14 19:32:59 -0500Add test for getSessionsListgreg
2016-04-14 17:22:15 -0500groovy's own xml parser throws away namespace info we need, so use JDOM instead.greg
2016-04-14 15:45:28 -0500Create a groovy script to download the wsdl's so they are cached.greg
2016-04-14 15:00:52 -0500more tests!greg
2016-04-14 12:45:47 -0500add false/null assertionsgreg
2016-04-14 11:59:01 -0500First proof of concept test for Panopto API clientgreg
2016-04-14 11:58:42 -0500Switch to adb binding which is easier to work with and generates fewer class files.greg
2016-04-13 18:46:26 -0500update to latest axis2 plugin version, dry up config, add xmlbeans classpath workaroundgreg
2016-04-13 13:04:58 -0500cut version 3.1.11greg
2016-04-13 13:04:46 -0500To handle the case where MPA Module finishes loading plugins before we load, attempt to get a reference to the RTMP/CWS plugins when we load in addition to when we catch the plugins found event.greg
2016-04-12 19:21:47 -05003.1.10 of live stream viewer plugingreg
2016-04-12 19:20:14 -0500Remove MediaCore plugin from standard publishing plugins.greg
2016-04-12 19:18:12 -0500new build of platform packagegreg
2016-04-12 19:15:40 -0500CM 3.1.26greg
2016-04-12 19:15:03 -0500cut UI plugin 3.1.29greg
2016-04-12 19:14:46 -0500use audio icon for audio device preview buttongreg
2016-04-12 19:04:51 -0500push RequestResponseHelper import into WebServerEvent handlergreg
2016-04-12 18:59:19 -0500Move clipper out of beta featuresgreg
2016-04-12 18:51:10 -0500Enable audio only capture/recording preview if flash is available.greg
2016-04-12 17:45:12 -0500some client side logging for initgreg
2016-04-12 16:44:18 -0500Use a list of possible RTMP hosts, [location.host, localHost] and try each of them in order. If none of them can be loaded, THEN fall back to webm/cws. This ensures we try as hard as we possibly can to get an RTMP stream.greg
2016-04-12 16:03:07 -0500Pass down local IP address to stream player, so we can attempt to use it when connecting to RTMP.greg
2016-04-12 15:03:46 -0500Filter docker interface from ifconfig (This is very unlikely to affect client units)greg
2016-04-12 14:49:21 -0500If a preview stream (for a capture/recording) does not have video, do not make a CWS stream. If it does not have audio, do not make an RTMP stream. The only streams that should have both RTMP and CWS are audio/video streams. For audio device preview, simply skip the CWS stream instead of feeding in a static preview image, for more efficient encoding and playback.greg
2016-04-12 13:07:49 -0500expand PluginInfo.Delegate so that we can get at the getVersion() of the internal PluginInfo, so we can get the version of javascript pluginsgreg
2016-04-12 10:31:29 -0500CM 3.1.26-SNAPSHOTgreg
2016-04-12 10:03:41 -0500cut MPA module 3.1.14greg
2016-04-12 10:02:38 -0500release plugin-loader 1.0.1. This is an improvement for the usual use-case (where we are not using the temp directory) but not so much for cases where a temp directory is used, since a separate directory is created for each process to ensure no conflict.greg
2016-04-12 09:57:26 -0500Use the running process id to generate a unique directory per process. This unfortunately leads to a new directory being created each time. We will try to clean up the temp directory when the process exits. (cherry picked from commit c4814892a819e81f21d76126d608fda2676a5d72)greg
2016-04-12 09:57:16 -0500Don't deleteOnExit the temp directory. Log when the temp directory is going to be created. (cherry picked from commit f1306b7491a3f23acfc0db69c8edbe5965fb413b)greg
2016-04-11 20:14:28 -0500Use the running process id to generate a unique directory per process. This unfortunately leads to a new directory being created each time. We will try to clean up the temp directory when the process exits.greg
2016-04-11 19:53:29 -0500Don't deleteOnExit the temp directory. Log when the temp directory is going to be created.greg
2016-04-11 19:33:29 -0500Start work for panopto library and plugin.greg
2016-04-08 17:08:28 -0500Only create a temp directory if it is needed. For the most common use case the temp directory is never needed, so we don't need to create it.greg
2016-04-08 16:04:09 -0500cut version 1.0.1 of java-sound capture library, 1.0.3 of java-sound capture plugingreg
2016-04-08 13:49:50 -0500was trying out rtmpdump + flash playergreg
2016-04-08 13:37:28 -0500add top margin to the audio live preview buttonsgreg
2016-04-08 12:37:41 -0500make the live preview buttons block buttonsgreg
2016-04-08 12:13:43 -0500Update list of HDA Intel driver names in filter.greg
2016-04-08 12:07:18 -0500Move the preview button to the bottom. Only show if flash is detected.greg
2016-04-08 10:48:26 -0500Add jqplugin for detection of browser plugins (i.e. flash)greg
2016-04-07 14:08:41 -0500Properly order attaching RTMP/HLS/CWS and setting up video.js. We can experiment with using HLS for the audio only previews but even there it seems to be lacking.greg
2016-04-06 21:03:30 -0500Add UI styling for preview with no video (there actually is video, it's just a still image and it's not very interesting)greg
2016-04-06 20:52:18 -0500Add rudimentary UI support for audio device preview.greg
2016-04-06 20:29:38 -0500Increase ping interval to 10 seconds and make ping call asynchronous.greg
2016-04-06 20:03:34 -0500Implement inactive device preview reaper, but keep it commented out for now. Not really confident it will work correctly.greg
2016-04-06 19:42:30 -0500Overload closeAllPreviewSessions() with a version that checks against a timestamp, for closing only streams which have not been accessed in a certain time.greg
2016-04-06 19:37:06 -0500Add a convenience getLastAccess method for stream.greg
2016-04-06 19:34:49 -0500Fix logic bug in pingClient service.greg
2016-04-06 19:34:11 -0500If we try to setDefaultStream with a stream that actually isn't in the group, add it to the group.greg
2016-04-06 19:23:47 -0500Since we need the stream group id to be present for the client, move it onto the stream group VOgreg
2016-04-06 19:14:22 -0500Inject plugin id into template so we can use it in the client side to ping using the services API.greg
2016-04-06 18:51:15 -0500Move the logic for not using RTMP for device preview directly into createPreviewSessionForDevice. This is because we still want to create RTMP streams if we have audio, so we only skip RTMP on video devices.greg
2016-04-06 18:09:36 -0500In order to make CWS happy, throw in a static image for the audio preview stream. Eventually we would like to be able to generate a dynamic PPM image to feed into it.greg
2016-04-06 18:00:00 -0500add rudimentary support for audio device preview.greg
2016-04-06 17:24:11 -0500Do not use RTMP for the device preview right now, because it's not necessary (all our supported browsers support webm, and there's no audio in these streams anyway)greg
2016-04-06 16:33:25 -0500Check if the stream VO specifies rtmp or webm before attaching the requisite source.greg
2016-04-06 16:16:53 -0500in order to prevent issue when re-publishing RTMP stream where RTMP plugin "failed to re-attempt publishing since it hasn't been closed or is being pushed by someone else" use a uniquely generated stream name each time. TODO later: investigate whether this is an issue in the RTMP plugin, red5 library, or the nginx module.greg
2016-04-06 15:58:52 -0500Implement the idea of "formats" so that each preview stream can tell the client which formats it supports (RTMP, WEBM). So, for example, we can create a webm-only preview for device preview (which are video only and don't need the extra encoder running) and the client will know to skip the flash player entirely. In the DeviceWebStreamProxy create a VO which wraps both the actual session and the Stream VO and couple the creation of these together. For now, though (since this is done in a LoadingCache which only takes the key as parameter) we lose the ability to specify a size for the preview, which wasn't being used anyway.greg
2016-04-05 16:28:04 -0500Move the responsibility of creating and managing the Stream VO's into the DeviceWebStreamProxy, so that the DeviceLivePreviewService only calls "switchStream" to cause the stream to be created. This is so we keep a persistent Stream VO for the device for the purpose of managing clients who are viewing it.greg
2016-04-05 16:15:50 -0500Add backend service to "ping" client associated with stream.greg
2016-04-05 16:02:21 -0500Create a client object for this unique client and pass it into the client-side code.greg
2016-04-05 15:37:07 -0500initStream -> initPlayergreg
2016-04-05 15:35:55 -0500Since we have access to a Stream VO for all preview streams (not just for captures), pass the Stream VO directly into the template and hence into the client side code. Abstract away the logic for rendering the player into its own module, which the client side template calls into using the Stream VO.greg
2016-04-05 12:42:58 -0500Removed ?streams bit because a plugin service is handling that now.greg
2016-04-05 12:42:25 -0500Rename LiveStreamService -> LivePreviewPlayerService to make purpose more cleargreg
2016-04-05 12:26:43 -0500Extend Stream VO to have the concept of "clients." This represents clients which are connected to the preview stream. The player is expected to "ping" the backend regularly to refresh the clients, and the backend will remove inactive streams (haven't been accessed since a certain time) when possible.greg
2016-04-05 12:21:54 -0500Split out the service for creating a new preview stream (for devices) on demand, and the service for playing those preview streams. This is so we can use the Stream vo for both device live preview and capture live preview.greg
2016-04-05 11:42:03 -0500If CWS and/or RTMP are not supported or enabled, pass that onto the player so we can know from the client side if these technologies are able to be loaded.greg
2016-04-04 18:15:36 -0500If flash is supported but we can't load the stream, force the WebM fallback by destroying and recreating videojs.greg
2016-04-04 17:50:41 -0500if loadstart event doesn't fire within 2 seconds, consider load failuregreg
2016-04-04 14:13:43 -0500make streamID into a javascript variable for cleanlinessgreg
2016-04-04 13:15:17 -0500reorganize player JS/CSS/SWF code into /live-player/ so that the stream url and the player code are cleanly separatedgreg
2016-04-01 12:26:19 -0500since we're using jquery now, we can use promises instead of callbacksgreg
2016-04-01 11:24:39 -0500even more terminology changesgreg
2016-03-31 19:17:59 -0500more terminology changes, provide backwards compatibility for services used in the UIgreg
2016-03-31 18:53:14 -0500Use the term "HTTP" to refer to HTTP (CWS) streaming, instead of the specific implementation thereof.greg
2016-03-31 18:50:31 -0500Specify "RTMP" and "CWS" by name and allow each one to be turned on/off, instead of referring to one as the "streamer" and the other as "fallback." Possibly we may be replacing one or the other completely.greg
2016-03-31 16:59:51 -0500Enhance the template to attach CWS stream instead of HLS for now.greg
2016-03-31 16:44:58 -0500No reason to have the randomly generated filename (a CWS thing) here when it can be in the template.greg
2016-03-31 15:06:17 -0500Null check on both audio and video source.greg
2016-03-31 13:30:46 -0500StreamRedirectService -> CWSStreamRedirectService. Pass in the CWSHelper instead of the plugin itself so the CWSStreamRedirectService doesn't need to care whether the CWS is the "fallback" or the "primary" stream (it may go back to being the primary stream at some point).greg
2016-03-31 13:06:45 -0500Re-implement logic for creating CWS streams. Split the CWS/RTMP related logic into their own classes.greg
2016-03-31 09:53:54 -0500Add CWS back as a dependency. This will be the branch for the hybrid RTMP/CWS approach.greg
2016-03-31 09:52:28 -0500Poll hls url to ensure it's available before setting up hls. This is because we could be loading this page before hls is even available, because the hls playlist will be created by the nginx rtmp module whenever it can be.greg
2016-03-28 11:40:49 -0500Add videojs-contrib-hls and attach HLS source to videojs element.greg
2016-03-28 11:28:11 -0500remove unused template (probably left over from oauth stuff) greg
2016-03-25 18:08:50 -0500Set maximum stream name length for RTMP streams to 90 characters.greg
2016-03-25 17:18:20 -0500Add concept of a "truncated stream id" and "full stream id" so we keep both a "full" stream id (that we use internally to address streams) and a "truncated" id which is used for the actual streaming service (CWS/RTMP) when it has a cap on stream name length.greg
2016-03-25 15:12:13 -0500rename attachStream -> attachRtmpStream in case we need to also add a CWS stream for compatibility with non-Flash clientsgreg
2016-03-25 13:26:15 -0500Include fork of video-js swf due to issue regarding width/height. See https://github.com/videojs/video-js-swf/issues/55greg
2016-03-25 13:18:33 -0500Use helper.serve to serve the file.greg
2016-03-25 13:11:47 -0500Use locally stored videojs swf.greg
2016-03-25 11:43:26 -0500Dry up some of the code for embedding RTMP stream. Use groovy template engine.greg
2016-03-24 16:47:44 -0500add VideoJS flash player for RTMP streamgreg
2016-03-21 13:56:38 -0500switch to xuggler based proxy, cleanupgreg
2016-03-17 13:42:55 -0500Add a test for rtmp -> http proxy server.greg
2016-03-09 16:55:41 -0600Update to newer version of dash.js.greg
2016-03-09 11:23:24 -0600Re-enable support for publishing videos to Google Drive with the Learning Enginegreg
2016-03-07 19:51:11 -0600Add profiles for including nginx and third party librariesgreg
2016-03-07 14:39:01 -0600Null check for session and graph.greg
2016-03-07 14:33:15 -0600null check for task in APIgreg
2016-03-07 13:11:46 -0600cranium plugin 1.0.6greg
2016-03-07 12:30:08 -0600If we get a connection error or status code >= 500, mark the cranium as unavailable (i.e. we can't connect to it, so don't keep trying). When cranium comes back up it will ping the unit and mark as available. Also, if we make a successful request mark as available since the request was successful.greg
2016-03-07 11:53:40 -06003.1.16greg
2016-03-07 11:53:13 -06003.1.16-SNAPSHOTgreg
2016-03-07 11:10:42 -0600Throttle requests from the console plugin to the log downloader plugin. If a lot of exceptions are coming in and we dump logs for all of them we can run out of resources pretty quickly.greg
2016-03-04 21:15:14 -0600cut version 3.1.28greg
2016-03-04 21:11:17 -0600UpdatedEvent toogreg
2016-03-04 21:07:59 -0600Rebuild dashboard schedule info on ScheduledEventsCreatedEvent/ScheduledEventsDeletedEvent.greg
2016-03-04 20:59:33 -0600Use knockout for template selector in schedule modal. Deploy pending #1592greg
2016-03-04 15:14:25 -0600New version of platform, with configuration module .25greg
2016-03-04 14:50:54 -0600Small update: If able, generate the cookie name based on the machine name. This ensures a unique cookie name if multiple units are being accessed through a shared host name (e.g. Cranium)greg
2016-03-04 14:43:57 -0600can't make this dependency "provided" because the plugin loader can't handle this correctlygreg
2016-03-04 14:15:27 -0600Release a bunch of plugins/libraries/modules in preparation for next buildgreg
2016-03-04 13:14:57 -0600Only run the process once.greg
2016-03-04 13:11:26 -0600Just in case something breaks here...greg
2016-03-04 13:10:18 -0600Add proper parsing of kernel module infogreg
2016-03-04 12:28:40 -0600Add assorted system info to log downloader plugingreg
2016-03-04 11:53:43 -0600Add plugin info to log-downloader-plugin.greg
2016-03-02 21:06:22 -0600Fix issue where getEvents(Date, Date) was missing some events, causing conflict validation to break. Use JodaTime to get all events which overlap with the date range, instead of own-rolling the filter function. Write more tests for conflict validation and some for getEvents(Date, Date).greg
2016-03-02 20:15:27 -0600hook into MediaPackageEvents (e.g. CaptureStartEvent, CaptureDoneEvent, CaptureFailureEvent) and update status accordinglygreg
2016-03-02 17:58:08 -0600remove @authorgreg
2016-03-02 17:40:45 -0600Publishing MPA Module is already restarted when it dies, so explicitly starting it after killing it will actually spawn the publishing MPA Module twice, which is not what we need.greg
2016-03-02 16:18:34 -0600Make intentionally killing the MPA Module count for CaptureCrashEvent. The capture crashes either way so whether killing the MPA Module was intentional on the user's part is irrelevant.greg
2016-03-02 15:37:05 -0600Reorder the url/stream name fields to match what youtube shows the user.greg
2016-03-02 15:25:31 -0600Extend streaming UI to support multiple host names per "known provider." Also add a form for youtube streaming.greg
2016-03-02 14:40:05 -0600Increase watcher timeout to 30 seconds, since the PPM setup could potentially take longer than usual if many things are going on.greg
2016-03-02 12:34:57 -0600Collect all the futures returned from removeDevice and wait on them collectively, so each removeDevice is performed asynchronously (as they do not need to be run sequentially) but we still ensure the PPMs are terminated before proceeding with capture session.greg
2016-03-02 11:08:51 -0600Log when we are about to start/stop PPM, in addition to when it is actually started/stoppedgreg
2016-03-02 10:52:14 -0600If PPM for a device doesn't exist, return an already resolved future with value false, to keep API consistency with the case where the device does exist. For consistency both addDevice and removeDevice are asynchronous, but we need removeDevice to be synchronous for the addCaptureSession use case so we just block on it there.greg
2016-03-01 18:15:37 -0600Add recent lodash buildgreg
2016-03-01 18:13:18 -0600Remove some boilerplate by using convenience methodsgreg
2016-03-01 18:11:49 -0600Add convenience method to wrap a function as a Runner.Listenergreg
2016-03-01 18:00:15 -0600Add convenience method to wrap a function as a Callbackgreg
2016-03-01 17:49:03 -0600Add some helper objects to wrap a function as a callable or runnable.greg
2016-03-01 17:42:02 -0600When adding or removing a device from PPM takes longer than 10 seconds, send an incident report.greg
2016-03-01 17:06:16 -0600Make adding a device to list of PPMs asynchronous.greg
2016-03-01 14:27:49 -0600In GraphBuilder.startCapture, if the MPA Module dies before the future is fulfilled (i.e. the capture starts), then cancel the future to prevent any threads blocking on that future from hanging. See #1590greg
2016-03-01 13:55:43 -0600new version of module bridge + configuration module.greg
2016-03-01 12:48:00 -0600Add a setup delay.greg
2016-03-01 12:16:45 -0600Add startup delay, for testing with other parts of the systemgreg
2016-03-01 11:20:22 -0600Only sleep in audio handler if we don't have any video. We want to sleep in video handler if there is any video. Remove debug and commented out code.greg
2016-03-01 10:43:03 -0600Bring FileReader implementation into the plugin so it can be improved before putting it back into the shared library. Split out the packet delaying code into its own class so it can be reused.greg
2016-02-29 23:16:00 -0600eh, go back to using elapsedNs for the audio for now. The bytesToNs keeps the audio smooth but makes sync with the video worse.greg
2016-02-29 19:46:38 -0600(Try to) improve audio reading by using the MediaData utils to calculate timestamps.greg
2016-02-29 18:05:41 -0600Use RebaseToFst instead of FstToZerogreg
2016-02-29 17:27:15 -0600Use _fstToZeroTsCorrector to ensure video timestamps are always zero-based regardless of what comes from the reader.greg
2016-02-29 16:55:56 -0600Invalidate clock on start up.greg
2016-02-29 16:32:46 -0600Use plugin name as "vendor"greg
2016-02-29 12:34:59 -0600Do not do any audio/video work if there are no listeners for audio/video. Flip the endianness of the audio data so it's handled correctly.greg
2016-02-29 12:10:30 -0600Forgot that _runner.requestStartup() may spawn multiple threads, so use _running to atomically guard against itgreg
2016-02-29 11:44:32 -0600Use same strategy for timestamps as the old reader plugingreg
2016-02-29 11:11:37 -0600Add unified mock audio/video device plugin which will eventually replace the separate audio/video plugins.greg
2016-02-26 17:12:20 -0600oops, increment versiongreg
2016-02-26 17:11:30 -0600If task is null return failure for status.greg
2016-02-26 17:03:48 -0600this is actually injected into the page, not with an iframe. So scope the css appropriatelygreg
2016-02-26 16:49:02 -0600pre-wrap instead of pregreg
2016-02-26 14:03:24 -0600Tooltip for version infogreg
2016-02-26 14:01:57 -0600Use getDoc binding on version info link so clicking it summons a modal.greg
2016-02-26 14:01:16 -0600Allow specifying the documentaton source as a href so this binding can be used on links.greg
2016-02-25 18:34:30 -0600Link to version page from the UIgreg
2016-02-25 18:29:03 -0600Implement a more detailed version pagegreg
2016-02-25 16:25:32 -0600Remove references to deprecated ScriptEngineProxy.greg
2016-02-25 16:22:28 -0600Enable execution of groovy html template files from htdocs.greg
2016-02-25 14:12:17 -0600More null safety in checkNetwork; seen some NPE's from getSubnet()greg
2016-02-25 13:15:11 -0600add cranium plugin to capturecast pro repogreg
2016-02-12 12:11:25 -0600Pass in the file name to the upload call, so that Kaltura receives the file name of the source media. This is so the source media can be recognized as an mp4 file in the KMC and by the player (apparently it looks at the filename to figure out the format...)greg
2016-02-10 19:23:41 -0600CM 3.1.24greg
2016-02-10 19:22:58 -0600scheduler plugin 3.1.15, UI plugin 3.1.26greg
2016-02-10 18:49:38 -0600Use the same algorithm for determining failed capture as the MediaPackageHelper, by considering sources as well as outputs.greg
2016-02-10 18:07:18 -0600Use the MediaPackageHelper to determine if/why a capture failed. If the task has an error message attached to it, assume it failed.greg
2016-02-10 17:59:15 -0600Add helper method to determine failure reason for a media package.greg
2016-02-10 17:02:46 -0600work's not done on the configuration module yet, 3.1.24-SNAPSHOT...greg
2016-02-10 13:29:59 -0600EventStatus.forEvent -> proxy.getScheduler().getStatusForEvent(event)greg
2016-02-10 13:29:09 -0600Move EventStatus.forEvent to CaptureScheduler.getStatusForEvent, because we will need access to the media package and the capture session associated with the Event.greg
2016-02-10 13:10:54 -0600cut platform version 3.1.13greg
2016-02-10 13:10:03 -0600cut configuration module 3.1.23greg
2016-02-10 13:07:29 -0600leading zero in hours placegreg
2016-02-10 12:14:28 -0600Use getFullHoursOfDuration to ensure capture durations > 24 hours are displayed properly.greg
2016-02-10 11:47:25 -0600set maxHours to 9999 (this version of the widget doesn't support maxHours though so... just in case we can update it)greg
2016-02-10 11:46:45 -0600general functions should be put in functions.jsgreg
2016-02-09 15:16:27 -0600fixes for null/not found eventsgreg
2016-02-09 15:07:44 -0600Split off the API into its own classes.greg
2016-02-09 14:55:07 -0600Make return values from get/post methods consistentgreg
2016-02-09 13:41:00 -0600fix for passing in duration to update callgreg
2016-02-09 13:27:37 -0600Do not fail in case of missing parameters, just ignore themgreg
2016-02-09 11:21:56 -0600UserNotification deprecatedgreg
2016-02-08 20:46:53 -0600make dependency on scheduler library "provided" meaning we don't bundle it into the debgreg
2016-02-08 20:43:04 -0600speaker == null means no speaker, speaker == invalid means do not set the speakergreg
2016-02-08 20:36:51 -0600Fix handling of speaker == -1greg
2016-02-08 20:20:23 -0600fix handling tagsgreg
2016-02-08 20:13:48 -0600Check for startTime > currentTimegreg
2016-02-08 20:04:26 -0600To keep backwards compatibility, execute API commands as system user (which has all permissions).greg
2016-02-08 20:03:14 -0600Add ability to perform API operations as a different user.greg
2016-02-08 20:00:10 -0600Fix some error handling by handling the request in the API handler, instead of in the control thread. Not sure if this is the best approach though, but at least it makes errors return correctly. Might have to investigate for a better approach.greg
2016-02-08 19:45:59 -0600Move the commands into a different package so they don't conflict with older copies of the scheduler library under different plugins (e.g. UI plugin). Move the translation between speaker name/id and template name/id into the command, which simplifies the API.greg
2016-02-08 19:35:54 -0600add notegreg
2016-02-08 19:35:15 -0600Not necessary since the api builder will correctly jsonify the exception.greg
2016-02-08 19:08:35 -0600Move commands out of the shared scheduler library and into the scheduler plugin. Internal logic shouldn't be exposed in the library.greg
2016-02-08 19:04:09 -0600Update the scheduler plugin API to use the new convention for requests, since the commands were updated not too long ago (in order to work with the Cranium plugin)greg
2016-02-08 18:08:44 -0600new version of scheduler plugingreg
2016-02-08 10:38:09 -0600cut version 1.0.5 of rtmp plugingreg
2016-02-04 17:30:57 -0600Use the getFullHoursOfDuration from Cranium to build hh:mm string, instead of turning it into a date (?) and formatting it, which only works if the capture is shorter than 24 hours.greg
2016-02-04 15:51:14 -0600Cancellation will trigger the listener anyway, so (attempt to) perform cleanup in the listener and handle cancellation in the listener, instead of doing cleanup before cancelling.greg
2016-02-04 11:09:03 -0600Only set status to failure if we tried to connect and it failed, not if we are closing the connection after a successgreg
2016-02-02 13:02:25 -0600Pin platform package to latest version of configuration module and MPA modulegreg
2016-02-02 11:06:17 -0600"Cattura" not "Catture"greg
2016-02-02 08:51:33 -0600fix path to unit setupgreg
2016-02-01 19:47:04 -0600Remove versionsBackup pomsgreg
2016-02-01 19:44:01 -0600Add build-release script here, not in apt-repogreg
2016-02-01 18:38:15 -0600fix path to setup scriptgreg
2016-02-01 17:27:20 -0600use our parent pomgreg
2016-02-01 17:24:11 -0600Add "distribution" directory which contains the aggregate deb packages and the repo project.greg
2016-02-01 16:50:23 -0600Add apt repo maven plugingreg
2016-02-01 14:57:16 -0600collect dependencies of scope "compile" and "runtime"greg
2016-02-01 14:15:34 -0600Disable some projects that don't build correctly yetgreg
2016-02-01 13:28:32 -0600add get-build-number scriptgreg
2016-02-01 12:01:10 -0600Add parent pom to apt-repo pomgreg
2016-02-01 11:04:29 -0600Add junixsocket to 3rd party librariesgreg
2016-01-29 19:34:42 -0600platform package should have parent pomgreg
2016-01-29 19:31:08 -0600update RunnerProcessor.java to make it build under jenkinsgreg
2016-01-29 18:11:50 -0600Add the parent pom to all poms, including multimodule pomsgreg
2016-01-29 18:04:01 -0600Rename "modules" to "base-platform" directory and move the package for base platform there.greg
2016-01-29 13:54:17 -0600correct variable for $@greg
2016-01-29 13:44:15 -0600Add script for building a release version of the repo (with no snapshots). Move deploy script to top level since it doesn't make sense to have it as a maven resourcegreg
2016-01-28 18:51:52 -0600update learning engine plugin with version rangegreg
2016-01-28 18:51:09 -0600What even does this plugin do?greg
2016-01-28 18:30:51 -0600more versiony fixesgreg
2016-01-28 18:12:11 -0600Update all configuration module plugins to use a version range when building against configuration module and other plugin libraries.greg
2016-01-27 20:12:34 -0600actually move the jenkins stuff back into the jenkins repogreg
2016-01-27 20:04:50 -0600Update plugins.txt to latest versionsgreg
2016-01-27 17:56:15 -0600Add additional packages & ffmpeg to jenkins master image, so the master can be used to build certain projects which require ffmpeg and other such deps.greg
2016-01-27 17:07:58 -0600Add images for virtual jenkins instancegreg
2016-01-26 19:04:57 -06003.1.22 of configuration module, 3.1.13 of schedule plugin, 3.1.24 of UI plugingreg
2016-01-26 18:45:26 -0600"Media Processing Service" -> "Media Capture/Publishing/Processing Service"greg
2016-01-26 18:36:58 -0600Centralize the setting of the knockout observable in publishers.js and have the other tabs subscribe to it, instead of handling the PublishersDetectedEvent directly.greg
2016-01-26 18:26:00 -0600Updates to correctly handle PublishersDetectedEvent from the backend.greg
2016-01-26 17:45:37 -0600Remove various unused constantsgreg
2016-01-26 17:41:47 -0600Remove the REFRESH_TEMPLATE_OPTIONS_REQUEST/REFRESH_TEMPLATE_OPTIONS_RESPONSE and replace with PublishersDetectedEvent (This is already used in the UI, but not in the backend)greg
2016-01-26 16:37:01 -0600cut version 1.0.4 of rtmp plugingreg
2016-01-26 16:31:27 -0600Use RtmpClientConnection.testConnect to test connectiongreg
2016-01-26 13:52:41 -0600Pass in logger to clientgreg
2016-01-26 13:52:06 -0600Allow passing in logger to clientgreg
2016-01-25 18:14:56 -0600More robust authentication function. Deploy pending #1586greg
2016-01-25 17:51:23 -0600Disable test for now, it takes a whilegreg
2016-01-25 17:51:12 -06001.0.3-SNAPSHOT of rtmp librarygreg
2016-01-25 12:20:56 -0600add build profile for jdk7greg
2016-01-25 12:15:58 -060030 second timeout on test connection. Always close test connection before exiting.greg
2016-01-25 12:13:18 -0600Implement verifyCredentials for RTMP plugin.greg
2016-01-25 12:03:28 -0600If there is an error connecting, handle the error by failing the processor.greg
2016-01-22 21:14:24 -0600Begin rtmp plugin 1.0.4greg
2016-01-22 19:22:44 -06003.1.10 of log downloader plugingreg
2016-01-22 19:14:17 -06003.1.21 of configuration modulegreg
2016-01-22 19:13:21 -0600Add graph to logs zip, with special care to censor sensitive info (e.g. secrets, passwords)greg
2016-01-22 18:47:39 -0600note which ticket this patch corresponds togreg
2016-01-22 18:45:23 -0600patch launch script to use java 7 onlygreg
2016-01-22 18:27:06 -0600Add patch #3016.2 which includes patches for #1532 and #1567greg
2016-01-22 16:59:13 -0600Packager library makes too many assumptions we don't need, so cut it down into something much simpler.greg
2016-01-22 15:25:22 -0600Add a mojo which builds a self-extracting tar file using the packager library from the distribution builder plugin.greg
2016-01-21 17:44:29 -0600If extraLogs directory exists then include that in the capture session zip.greg
2016-01-21 15:53:44 -0600Catch CaptureFailureEvent and generate log dump in /extraLogs. This replaces the /failureLogs feature in earlier builds.greg
2016-01-20 18:52:41 -0600Remove code that deals with collecting logs on capture crash and replace with a CaptureCrashEvent which subclasses CaptureFailureEvent. This event can be caught by the log downloader plugin so it can add the logs to the capture session directory. This means that as the set of logs generated by the LDP is increased, this feature will benefit. It also means that a crashed capture generates a CaptureFailureEvent which will be seen by Cranium et algreg
2016-01-20 17:57:45 -06003.1.23 of web UI plugingreg
2016-01-20 17:55:18 -06003.1.11 of api plugingreg
2016-01-18 10:25:26 -0600implement javascript format v3 api clientgreg
2016-01-14 13:10:38 -0600Add some necessary header files that aren't in the linux-headers package, plus some that needed to be changed to make it compile.greg
2016-01-12 12:47:43 -0600Add 3016.1 patchgreg
2016-01-06 15:05:33 -0600begin version 3.1.10 of log downloader plugin. Include lsmod, lspci, and lsusb output.greg
2016-01-05 20:11:32 -0600Allow for floating point duration value, or for passing in a stop time instead of a duration (since the event object is modeled as a start time + stop time anyway)greg
2015-12-28 18:19:45 -0600Set level of file handler to Level.ALLgreg
2015-12-28 17:49:20 -0600use different variable for other errorgreg
2015-12-28 17:31:10 -0600if error occurs while parsing api response, catch error and reject promisegreg
2015-12-28 12:32:35 -0600If there are no "detectable" plugins, then immediately set progress to 100% and return.greg
2015-12-28 11:28:19 -0600Updates to provision.py to make it able to pull the setup script from repositories.catturavideo.comgreg
2015-12-21 19:16:30 -0600When event source closes for some reason, re-open it.greg
2015-12-17 19:41:16 -0600jshint fixesgreg
2015-12-17 17:56:03 -0600Add a version 3 of javascript API client which supports the node.js environment, for use with Cranium (and perhaps third-party projects)greg
2015-12-16 20:04:42 -0600use _plugin.getResource() to access the resource in the plugin directorygreg
2015-12-16 19:58:40 -0600Move the API descriptors (javascript, python, plain, etc) into the plugin proper. Other plugins using the API library don't need to know about these, so it should stay in the plugin not in the library.greg
2015-12-16 19:54:01 -0600new version of API plugin + librarygreg
2015-12-14 11:27:34 -0600Adding work for rtmp/dash live previewgreg
2015-12-11 19:33:38 -0600fixes for provision.py where additionalData directory does not existgreg
2015-12-11 18:51:54 -0600fix path to setup script & repogreg
2015-12-11 18:50:25 -0600Fix path to unit setup scriptgreg
2015-12-11 18:47:12 -0600Add mavenized Fridmon to native libraries projectgreg
2015-12-11 18:23:59 -0600update to guava 19greg
2015-12-11 18:02:58 -0600add notes for building and deployinggreg
2015-12-11 17:54:29 -0600Remove temporary pom filesgreg
2015-12-11 17:17:30 -0600cannot run findPlugins in the onLaunch callback thread right nowgreg
2015-12-11 17:07:37 -0600add todo note to run the onLaunch callback in a separate thread to avoid blocking the ProcessHelpergreg
2015-12-11 16:33:32 -0600Add processor-test-runner and plugingreg
2015-12-11 16:17:24 -0600add gitignoregreg
2015-12-11 16:16:58 -0600add a name to the pom filegreg
2015-12-11 15:55:08 -0600Add reactor poms for all subdirectories, so that the entire repo can be built from the root.greg
2015-12-11 15:33:34 -0600Remove dvd creator plugingreg
2015-12-11 15:12:44 -0600Add parent pom for library projectsgreg
2015-12-11 14:51:38 -0600Add parent pom.xml at root, as is common practice for maven projectsgreg
2015-12-11 14:43:01 -0600Add save frame plugingreg
2015-12-11 14:26:32 -0600Add native library submodulesgreg
2015-12-11 14:23:21 -0600Add cattura common native librariesgreg
2015-12-11 14:19:59 -0600Add audio level plugingreg
2015-12-11 14:09:38 -0600Add rtmp streaming projectgreg
2015-12-11 14:08:00 -0600Adding audio capture projectsgreg
2015-12-11 13:45:29 -0600Add clipper and writer projectsgreg
2015-12-11 13:41:20 -0600Add tatvik encoding librariesgreg
2015-12-11 13:39:21 -0600Add qt-faststartgreg
2015-12-11 13:36:00 -0600add desktop capture projectgreg
2015-12-11 13:34:48 -0600Add frame stitcher, no signal, and resampler pluginsgreg
2015-12-11 13:32:30 -0600Add SC/OCR pluginsgreg
2015-12-11 13:21:54 -0600Remove unfinished alternate blackmagic librarygreg
2015-12-11 12:53:19 -0600Adding Cattura Web Streamer projectgreg
2015-12-11 12:52:53 -0600Adding the abstract "Publisher" processor projectgreg
2015-12-11 12:49:20 -0600Add learning engine client, move LE plugin into separate "integration" categorygreg
2015-12-11 12:40:08 -0600Add device reader plugins to centralized repogreg
2015-12-11 12:30:43 -0600Moving some libraries, plugins, etc. into the centralized repogreg
2015-12-11 12:03:32 -0600Add submodule for nginx-rtmp-modulegreg
2015-12-11 11:57:53 -0600First commit of unified capturecast pro repo, merging the contents of the mpa module and configuration module repos togethergreg