Audio Level & Analysis Plugin v1.0.1 changelog

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: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