MediaInfo Plugin v3.1.11 changelog

2016-12-13 16:07:31 +0000correct conditional in TaskQueueProxy.onImminentRestartEventgreg
2016-12-12 23:23:44 +0000update platform package 3.12.greg
2016-12-12 23:22:18 +0000API plugin 3.2.2!greg
2016-12-12 23:21:03 +0000go 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 23:19:43 +0000use 1.1.1greg
2016-12-12 23:19:27 +0000utils-io 1.1.1greg
2016-12-12 23:12:37 +0000since 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 23:06:08 +0000If input stream closes we don't want to raise an exception.greg
2016-12-12 22:29:08 +0000remove 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 21:56:53 +0000Add test for media package helper, using the new media package serializer.greg
2016-12-12 21:49:43 +0000use 3.2.1-SNAPSHOT of the api plugin classesgreg
2016-12-12 21:47:05 +00003.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 21:33:49 +00003.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 21:21:03 +0000Use processor 1.2.0 so we can use the media package serializer.greg
2016-12-12 21:05:24 +0000stringify the object, not the target classgreg
2016-12-12 20:22:05 +0000Should not be depending on snapshot versions of these released librariesgreg
2016-12-12 20:20:46 +00001.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 18:29:41 +00001.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 23:37:30 +0000javasound plugin 1.0.4, library 1.0.2greg
2016-12-09 23:32:05 +0000If 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 23:28:10 +0000Need to detect devices before using plugingreg
2016-12-09 23:25:37 +0000Run watcher correctlygreg
2016-12-09 23:21:16 +0000Set state to stopping when trying to stop.greg
2016-12-09 23:14:01 +0000remove unused importgreg
2016-12-09 23:02:25 +0000Add writer.greg
2016-12-09 22:44:42 +0000Start up _chunkDispatcher before attempting to open line. We can get generated silent data even if the line does not open.greg
2016-12-09 22:13:07 +0000returns a boolean, not a sessiongreg
2016-12-09 22:06:24 +0000pass in the name to the framebuffers on creation, not startupgreg
2016-12-09 21:59:45 +0000Use latest processor-engine and current snapshot of javasound plugingreg
2016-12-09 21:34:40 +0000move javasound to its own directory as it now has an accompanying test directory as wellgreg
2016-12-09 21:33:56 +0000add #1521 test casegreg
2016-12-06 18:19:51 +0000CM JS plugin helpers 1.0.3greg
2016-12-06 18:08:22 +0000platform 3.12.0greg
2016-12-06 18:07:29 +0000CM 3.3.1greg
2016-12-06 18:05:31 +0000c-u and c-u-io 1.1.0greg
2016-12-06 18:04:40 +0000readjust line breakgreg
2016-12-06 18:00:20 +00003.1.20-SNAPSHOT of console plugin. Implement a script that can read logs as root for us.greg
2016-12-06 17:39:35 +0000trim newline from version info filegreg
2016-12-05 23:45:31 +0000increment jdeb versiongreg
2016-12-05 23:44:16 +0000fix (again) the sudoers stuffgreg
2016-12-05 23:39:33 +0000... and build number is going awaygreg
2016-12-05 23:39:18 +0000version number is coming back (and build number is going away)greg
2016-12-05 23:33:36 +0000fix sudoers pathgreg
2016-12-05 23:32:57 +0000make note that libssl1.0-dev may be requiredgreg
2016-12-05 23:15:34 +0000Include documentation, configuration (udev/modprobe), and tools with driver package.greg
2016-12-05 22:54:32 +0000Use 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 22:51:56 +0000fix 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 21:58:58 +0000comment 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 17:32:23 +0000actually just turn off these subprojects for now. We -probably- don't need these dependencies for the actual drivergreg
2016-12-05 16:32:20 +0000Update magewell driver and SDK to latest versiongreg
2016-12-05 16:23:26 +0000fix xercesImpl versiongreg
2016-12-03 05:28:12 +0000move 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-03 00:16:45 +0000Update nginx to 1.10.2greg
2016-12-03 00:05:01 +0000add poweroff/reboot commandsgreg
2016-12-02 23:27:57 +0000pass 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 23:03:32 +0000can get commandLine from processhelpergreg
2016-12-02 23:02:23 +0000add c-u-io 1.1.0-SNAPSHOT dependency, use snapshot dependency for librarygreg
2016-12-02 23:01:18 +0000use lambda methodgreg
2016-12-02 22:58:23 +0000use an executor to read from the process, so that if any errors come from callback then they are handled properlygreg
2016-12-02 22:01:27 +0000want to inherit not pipegreg
2016-12-02 21:39:12 +0000since we are now targeting jdk8 we can use redirectOutput()/redirectError()greg
2016-12-02 20:27:11 +0000depend on 1.1.0-SNAPSHOT of c-ugreg
2016-12-02 20:26:46 +00001.1.0-SNAPSHOT of cattura-utils-io. API enhancements and null pointer bug fixes for ProcessHelper.greg
2016-12-02 19:28:25 +0000run sudo in passwordless mode, null check for interpreter (can be null if it's not a script)greg
2016-12-02 19:22:49 +0000useBaseVersion=false in dependency plugin, so snapshots are handled properlygreg
2016-12-02 19:18:38 +0000pin to specific versions of libraries.greg
2016-12-02 19:00:09 +0000Run poweroff/restart as privileged.greg
2016-12-02 18:57:33 +0000Run setTZ script as privileged command. Do not use FileWrapper.greg
2016-12-02 18:50:49 +0000add utility for running process in sudogreg
2016-12-02 18:34:24 +0000sudo 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 18:16:16 +0000Prefer 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 18:11:22 +0000include 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 17:34:51 +0000Remove internal version number (3.1.7). Version number will be stored in some other package, for now probably the platform.greg
2016-12-02 17:24:59 +00003.3.1-SNAPSHOT of configuration module. Don't split off local storage plugin into publish request.greg
2016-12-02 16:49:37 +00003.1.14-SNAPSHOT of configuration api plugingreg
2016-12-02 16:47:51 +0000Add wrapper for Consumer functionsgreg
2016-12-01 16:49:09 +00001.0.3-SNAPSHOT of javascript helpers. Provide ability to pass in the http client to the request function.greg
2016-11-30 19:25:32 +0000Centralize all the code for getting video config (width, height, etc) from a node and reuse that in the getEncodingSettingsForWriterNode().greg
2016-11-30 00:33:34 +0000devices is an object, so use _(...).isEmpty()greg
2016-11-29 23:28:17 +0000Refuse to save stitcher data which has zero devices. This will be replaced with default stitcher config in the backend.greg
2016-11-29 23:18:13 +0000copy resolution detection stuff over from encoding_resolution branch, eventually streamer/writer will not have resolution on themgreg
2016-11-29 22:43:51 +0000Recognize facebook as a known providergreg
2016-11-29 19:49:54 +0000don'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 19:48:57 +0000add facebook streaming form, deploy pending #1683greg
2016-11-29 19:16:05 +0000update placeholder url for kaltura streaming, deploy pending #1684greg
2016-11-29 19:11:57 +0000UI plugin 3.2.7-SNAPSHOT, fix support URL (cherry picked from commit 03924167cb8063a4456e8189978fe30e3629391b)greg
2016-11-29 19:10:28 +0000UI plugin 3.2.7-SNAPSHOT.greg
2016-11-09 17:58:04 +0000UI plugin 3.2.7-SNAPSHOT, fix support URLgreg
2016-11-08 21:13:29 +0000comment out non-existent sso-ldap plugingreg
2016-11-08 20:59:21 +0000release live preview plugingreg
2016-11-08 20:59:03 +0000add descriptions to methods, better types to parametersgreg
2016-11-08 20:54:42 +0000Release configuration module and platform 3.3.0greg
2016-11-08 20:53:58 +0000release a bunch of plugins/librariesgreg
2016-11-08 20:51:18 +0000scheduler plugin 3.1.25greg
2016-11-08 20:48:29 +0000requireAuth() already implies not nullgreg
2016-11-08 20:47:13 +0000user can be null nowgreg
2016-11-08 20:43:26 +0000new API plugingreg
2016-11-08 20:43:07 +0000going to go ahead and cut this, the API key stuff can come latergreg
2016-11-08 20:41:37 +0000add API key VO and proxy. Will probably return to look at this later.greg
2016-11-08 19:58:28 +0000cut Platform 3.2.7greg
2016-11-08 19:58:02 +0000cut CM 3.2.3greg
2016-11-08 19:51:09 +0000cut new version of stitcher plugin etcgreg
2016-11-08 19:27:06 +0000fix issue where ivpToData() was being called before _bytes was initialized, causing a NPEgreg
2016-11-08 18:35:16 +0000new frame stitcher plugin is using latest versions of librariesgreg
2016-11-08 18:33:44 +00001.0.1-SNAPSHOT of native compositor librarygreg
2016-11-08 18:32:59 +0000actually, just use the constructor in cattura-utils 1.0.0 for backwards compatibility reasons. Maybe later we can move forwardgreg
2016-11-08 18:31:19 +0000backport changes to cattura-utils from platform-additions branchgreg
2016-11-08 18:26:58 +0000since cattura-utils library was changed it needs to be a new versiongreg
2016-11-08 18:23:31 +00001.1.1-SNAPSHOT of plugingreg
2016-11-08 18:21:49 +0000new version of base stitcher librarygreg
2016-11-08 17:34:53 +0000Increment and decrement packing operation correctly.Josh Helpert
2016-11-08 17:33:41 +0000Minor syntax cleanup.Josh Helpert
2016-11-08 17:29:07 +0000Added log message to print the pointer addresses to see if they're ever NULL.Josh Helpert
2016-11-08 17:00:40 +0000Added a new test to try to compose the same frame multiple times.Josh Helpert
2016-11-07 18:39:15 +0000Added double type to constructor signature.Josh Helpert
2016-11-05 01:21:35 +0000use CM 3.2.3-SNAPSHOTgreg
2016-11-05 01:13:52 +0000CM 3.2.3-SNAPSHOT. Redo some of the logic for creating initial tables.greg
2016-11-04 23:56:51 +0000make run directory if it does not existgreg
2016-11-04 23:50:18 +0000add pg_hba.conf fixgreg
2016-11-04 23:35:12 +00003.2.7-SNAPSHOT of platform package. Add postgresql database setup script.greg
2016-11-04 23:19:53 +0000fix null value in map errorgreg
2016-11-04 23:12:17 +0000false not true, derpgreg
2016-11-04 22:42:10 +0000authorizer -> authenticatorgreg
2016-11-04 22:39:34 +0000notNull(); "any valid user" will just be a not-null usergreg
2016-11-04 22:38:58 +0000Simplify 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 22:05:05 +0000Simplify API error handling. API clients don't need to see stack traces or "java.com.blah.blah" stuff.greg
2016-11-04 22:01:54 +0000redo 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 21:39:45 +0000add error message. Eventually the API will be outputting better well-formatted error messages.greg
2016-11-04 20:37:53 +0000add default constructorgreg
2016-11-04 20:18:01 +0000if exception is a NotFoundException then set status to 404greg
2016-11-04 20:13:07 +0000finally blockgreg
2016-11-04 17:39:57 +0000don't need/want json parser heregreg
2016-11-04 17:39:37 +0000Add alternative reflection-based parameter that works with HTTP objects.greg
2016-11-04 17:11:48 +0000fix stringify of version, use method's version instead of group'sgreg
2016-11-04 17:10:22 +0000add player URLgreg
2016-11-04 17:02:14 +0000make 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 04:22:57 +0000Better URLs. Add support for creating a preview.greg
2016-11-03 04:22:19 +0000Card VO was never properly implemented so just remove support for it.greg
2016-11-03 04:09:01 +0000if target version is null don't want to try to use it to do version checksgreg
2016-11-03 04:03:02 +0000Add initial live preview APIgreg
2016-11-03 04:01:32 +0000flesh out addMethodsFromgreg
2016-11-03 02:12:58 +0000add WIP addMethodsFrom using annotations and reflections. Probably not much that can be done with this right now.greg
2016-11-03 02:01:14 +0000Split the reflectiony API handler thing into its own class so it may be reused.greg
2016-11-03 01:48:46 +0000Add delete media package functiongreg
2016-11-03 01:24:27 +0000fix documentation to work with new schemegreg
2016-11-03 01:02:47 +0000pass the version into the methodgreg
2016-11-03 01:01:07 +0000use getMethodsOfVersion()greg
2016-11-03 00:59:15 +0000use getMethodsOfVersion() to make sure we get the version we requestedgreg
2016-11-03 00:57:10 +0000add tests for getMethodsOfVersiongreg
2016-11-03 00:37:30 +0000Allow 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 23:43:22 +0000ok, revert the getGroupsOfVersion() changes, I have a better ideagreg
2016-11-02 23:39:39 +0000move 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 23:23:55 +0000backport scheduler api methods from v2 to v1.1greg
2016-11-02 22:52:55 +0000should 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 22:49:56 +0000remove unneeded objects and imports in dummied-out speakers APIgreg
2016-11-02 22:41:50 +0000Python 3 compatibility in API clientgreg
2016-11-02 22:22:00 +0000abstract away the python client into a groovy template and clean some of it upgreg
2016-11-02 22:20:44 +0000fix for infinite recursion between JavascriptFormat/JavascriptLegacyFormatgreg
2016-11-02 21:06:57 +0000use lambdas, use streams instead of guava functional opsgreg
2016-11-02 17:39:03 +0000Declutter javascript format by splitting the legacy (version 1) into its own class. Will do the same for python.greg
2016-11-02 17:17:57 +0000API method URI no longer includes prefix + version, so we need to add that in the client.greg
2016-11-02 16:45:42 +0000toString() of versiongreg
2016-11-02 02:52:01 +0000fix parsing of URI parameters from new URIsgreg
2016-11-02 02:28:43 +0000updated webbit-rest callsgreg
2016-11-02 02:28:13 +0000Scheduler plugin 3.1.25-SNAPSHOT. Don't assume UserVO.greg
2016-11-02 02:14:16 +0000removed unused dependency on webbit-rest.greg
2016-11-02 02:11:06 +0000webbit-rest fixesgreg
2016-11-02 02:09:38 +0000remove webbit-rest dependency, that's being propagated by the api-classesgreg
2016-11-02 02:07:38 +0000Check for appropriate verbgreg
2016-11-02 02:05:43 +0000Begin 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-02 01:34:20 +0000Added initial API version class & testsgreg
2016-11-01 19:59:01 +00003.1.19-SNAPSHOT of console plugin. Use AuthenticationProxy to authenticate.greg
2016-11-01 19:49:31 +0000give jeff some extra permissions, so he can actually do stuff.greg
2016-11-01 19:31:56 +0000Move 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 17:51:51 +0000Roles are now objects and not strings so map accordinglygreg
2016-10-31 22:51:32 +0000oops, forgot to release log downloader 3.1.18greg
2016-10-31 22:10:04 +0000Platform package 3.2.6. If old pidfile exists move it to new directory.greg
2016-10-31 22:06:40 +0000cut UI plugin 3.2.5greg
2016-10-31 21:51:33 +0000ignore testsgreg
2016-10-31 21:50:20 +00003.2.5-SNAPSHOT of UIgreg
2016-10-31 21:50:00 +0000max 60 fps on stitchergreg
2016-10-31 21:46:49 +0000Restrict CM dependency to below 3.3.0-SNAPSHOT as that's the one with the auth changes.greg
2016-10-31 21:32:18 +0000Increase max of FPS slider to 60.greg
2016-10-31 21:22:46 +0000yet another breaking change: User instead of UserVO in Request.greg
2016-10-31 21:19:06 +0000new 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 20:12:24 +0000new version of web-server-plugin and classes. Do not assume user is a UserVO anymore.greg
2016-10-31 20:01:49 +0000UI 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 19:50:15 +0000add example Auth Plugingreg
2016-10-31 19:43:48 +0000Slight backwards incompatible changes: Emphasize the Role class a bit more instead of the string role names.greg
2016-10-31 19:37:22 +0000make these default methods of the interface, to make things easiergreg
2016-10-31 19:07:57 +0000First implementation of authentication plugin mechanism.greg
2016-10-31 19:07:31 +0000UI Plugin 3.2.5-SNAPSHOTgreg
2016-10-31 17:35:34 +0000update postgres dependencygreg
2016-10-31 17:34:54 +0000cm 3.3.0-SNAPSHOTgreg
2016-10-31 17:21:23 +0000go ahead and release the native stitchergreg
2016-10-31 17:15:24 +0000Don't need synchronized block.Josh Helpert
2016-10-31 16:50:36 +0000remove unused importgreg
2016-10-31 16:34:29 +0000remove unused variablegreg
2016-10-31 16:33:26 +0000Remove unused PackResult class, unused imports...greg
2016-10-31 16:17:19 +0000Split 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 15:59:10 +0000hide debug messagesgreg
2016-10-31 15:23:10 +0000version 3.1.18-SNAPSHOT of log downloader plugin. Catch errors and continue building log archive, see #1676greg
2016-10-30 21:37:36 +0000Don't track jpg in root directory of frame-compositor.Josh Helpert
2016-10-30 21:01:54 +0000Minor syntax cleanup.Josh Helpert
2016-10-30 21:01:14 +0000Make some of the variables volatile to assure they're not cached by the CPU.Josh Helpert
2016-10-29 00:27:09 +0000relnotes #4248greg
2016-10-28 23:45:08 +0000hopefully the last timegreg
2016-10-28 23:44:49 +0000Thought this was committed alreadygreg
2016-10-28 23:21:47 +0000that one was a dud, 3.2.4greg
2016-10-28 23:04:56 +0000UI plugin 3.2.4greg
2016-10-28 23:04:35 +0000Remove version number and have the build number link to version.ghtml.greg
2016-10-28 22:59:40 +0000cut platform 3.2.3, CM 3.2.2greg
2016-10-28 22:59:04 +0000make a directory under /var/run to put our pidfile ingreg
2016-10-28 22:48:10 +0000Configuration module 3.2.3-SNAPSHOT. Remove most postgres setup stuff from the configuration module.greg
2016-10-28 22:46:36 +0000Set up capturecast user in postinst and always run service as capturecast.greg
2016-10-28 22:42:04 +00003.2.3-SNAPSHOT of platform. Do not require root in launch script.greg
2016-10-28 22:31:22 +0000make scheduler modal respect 24-hour setting, deploy pending #1584greg
2016-10-28 21:24:52 +0000gotta scrub event handlers off the timepickergreg
2016-10-28 21:18:31 +0000remove superfluous logginggreg
2016-10-28 20:12:48 +0000scrub 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 20:05:52 +0000initialize queue timepicker with 24 hour setting if enabledgreg
2016-10-28 19:56:12 +0000UI plugin 3.2.4-SNAPSHOT. Refactor the "is 24 hour" logic into its own observable, since it will be reused.greg
2016-10-28 00:18:30 +0000Minor syntax cleanup.Josh Helpert
2016-10-28 00:17:16 +0000Added method to do compositing on segments w/n a front frame.Josh Helpert
2016-10-28 00:16:58 +0000Release the output lock after the frame has been copied.Josh Helpert
2016-10-28 00:16:31 +0000Invalidate each layer as it's being composited. Added a release method to unlock the output.Josh Helpert
2016-10-27 22:34:10 +0000Add test for incrementally packing frames.greg
2016-10-27 20:23:45 +0000Remove 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 20:17:10 +0000Pull 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 19:40:08 +0000default to using native stitchergreg
2016-10-27 19:29:48 +0000oops, switch those aroundgreg
2016-10-27 19:23:43 +0000add plugin setting for enabling native compositorgreg
2016-10-27 18:39:13 +0000null check, return falsegreg
2016-10-27 18:10:05 +0000use NativeLoader to load librarygreg
2016-10-27 18:06:58 +0000use 2.0.0-SNAPSHOT of stitcher librarygreg
2016-10-27 18:06:42 +0000remove 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 18:05:58 +0000add constructor which takes Stitcher, so that alternative stitcher can be usedgreg
2016-10-27 18:04:41 +0000Implement stitcher interface.greg
2016-10-27 17:41:09 +0000add PackResult return value type which tells caller if it is cached and/or if it was composed.greg
2016-10-27 17:15:31 +0000actually is a breaking change so needs to be 2.0.0greg
2016-10-27 17:12:59 +00001.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 17:06:52 +0000Add test images for compositor.greg
2016-10-27 16:52:30 +0000add namegreg
2016-10-27 16:51:51 +0000move test to correct packagegreg
2016-10-27 16:49:45 +0000uncomment out testgreg
2016-10-27 16:47:39 +0000add the old stitcher library as a dependency as well since we have the option to go back to using itgreg
2016-10-27 16:46:28 +0000do the same for the plugin (1.1.0-SNAPSHOT since it's a major change)greg
2016-10-27 16:45:57 +0000properly version native-compositor library (it's not yet released so it's a snapshot)greg
2016-10-27 16:22:29 +0000Use diamon syntax.Josh Helpert
2016-10-27 16:21:56 +0000Ignore target directories.Josh Helpert
2016-10-27 16:21:20 +0000Cleaning up.Josh Helpert
2016-10-27 00:06:17 +00004328 -> 4329greg
2016-10-26 23:29:41 +0000relnotes #4239greg
2016-10-26 22:39:14 +0000panopto plugin 1.1.1greg
2016-10-26 22:38:36 +0000panopto client 1.1.0greg
2016-10-26 22:23:10 +0000Updated to use the native compositor and take care of Reference Counting for any packets which may be cached.Josh Helpert
2016-10-26 22:22:43 +0000Added all the native libraries and basic source code to implement the native compositor.Josh Helpert
2016-10-26 21:46:36 +0000Removed unnecessary comments.Josh Helpert
2016-10-26 21:38:41 +0000Configure chunk size with settinggreg
2016-10-26 21:38:01 +0000actually need a setter for chunk sizegreg
2016-10-26 21:31:14 +0000Added optimization to copy Y,U,V planes when widths are equal.Josh Helpert
2016-10-26 21:20:48 +0000Dynamically 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 17:23:46 +0000set socket timeout to 600 secgreg
2016-10-25 19:15:35 +0000fix log parameter indicesgreg
2016-10-25 19:14:33 +0000too verbosegreg
2016-10-25 19:11:46 +0000enable verbose logginggreg
2016-10-25 19:03:22 +00001.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 17:45:05 +0000UI plugin 3.2.3greg
2016-10-25 17:21:28 +0000better logging, block until upload finishesgreg
2016-10-25 15:27:37 +0000test app for #1640greg
2016-10-25 15:07:23 +0000IGNORE_SSL_ERRORS = falsegreg
2016-10-24 23:29:06 +0000add flag to ignore ssl errorsgreg
2016-10-24 17:00:09 +00003.2.2 of platformgreg
2016-10-24 16:59:21 +0000cut Mpa module 3.2.1greg
2016-10-24 16:58:50 +0000cut p-e 1.1.1greg
2016-10-24 15:54:21 +0000if for some reason src is invalid/undefined then return early; some weird errors on beta unit are occurring where src is undefinedgreg
2016-10-22 00:08:19 +0000because 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 22:24:47 +0000Add explanation text to task queue namesgreg
2016-10-21 21:46:49 +0000Split the task queue settings into its own section.greg
2016-10-21 18:48:11 +0000more detailed logging for upload processgreg
2016-10-21 17:19:22 +0000S3 tester plugin.greg
2016-10-21 16:46:06 +0000Panopto plugin 1.1.1-SNAPSHOTgreg
2016-10-21 16:34:41 +0000Panopto client 1.1.0-SNAPSHOT. Split out the S3 uploader implementation so it can be tested independently.greg
2016-10-21 15:44:25 +0000Do 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 15:44:16 +0000Use errorMessageForPublisherConfig function to generate the error message for an invalid publisher config. (cherry picked from commit 021a54319811e44a26757c92db3932fc2dcd9078)greg
2016-10-21 15:44:08 +0000more namespacing, CatturaBox.publishers -> CatturaBox.publishing.publishers. (cherry picked from commit b10c4c0cc4d54dbae7ff9e1141015cf920973122)greg
2016-10-21 15:44:01 +0000UI 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-18 16:51:04 +0000mpa module 3.2.1-SNAPSHOTgreg
2016-10-18 15:44:01 +0000p-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 19:24:33 +0000relnotes #4200, hopefully this sticksgreg
2016-10-17 19:21:11 +0000UI plugin 3.2.2greg
2016-10-17 19:21:01 +0000Re-enable audio controls by default. The ALSA plugin will screen devices that are known or believed to be uncontrollable.greg
2016-10-17 19:18:13 +0000oops, forgot about the default time for these selectorsgreg
2016-10-17 19:06:57 +0000relnotes #4198greg
2016-10-17 18:00:05 +0000cut CM & platform 3.2.1greg
2016-10-17 17:59:40 +0000cut UI plugin 3.2.1greg
2016-10-17 17:58:46 +0000If test request times out, return an AuthenticationResult with the failure, instead of actually failing the request.greg
2016-10-17 17:24:46 +00003.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 16:31:02 +00003.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 22:27:25 +0000exclude v4l integration test for nowgreg
2016-10-14 21:50:40 +0000Add task-queue-library to reactorgreg
2016-10-14 21:48:58 +0000ALSA plugin 1.0.8greg
2016-10-14 21:46:09 +0000Include device-thumbnail-refresh-plugin in repogreg
2016-10-14 21:46:00 +00003.2.0 of standard distribution. Include device-thumbnail-refresh-plugingreg
2016-10-14 21:45:37 +0000set package namegreg
2016-10-14 21:43:00 +00003.2.0 of all deb repos/aggregate debs.greg
2016-10-14 21:32:31 +0000release 3.1.9greg
2016-10-14 21:31:56 +0000lower refresh interval to 5 minutesgreg
2016-10-14 21:31:21 +0000release all publishing pluginsgreg
2016-10-14 21:19:13 +0000Learning engine plugin 3.1.9greg
2016-10-14 21:18:16 +0000Clipper Plugin 1.0.4greg
2016-10-14 21:17:33 +0000Asset supplier 1.0.3greg
2016-10-14 21:16:50 +0000platform package 3.2.0greg
2016-10-14 21:15:36 +0000media package importer & editor plugins 3.2.0greg
2016-10-14 21:14:18 +0000UI plugin 3.2.0greg
2016-10-14 21:14:02 +0000API plugin 3.2.0greg
2016-10-14 21:12:27 +0000Configuration and MPA modules 3.2.0greg
2016-10-14 21:10:56 +0000Task Queue Library 1.0.0greg
2016-10-14 21:10:04 +0000MPA Bridge 3.2.0greg
2016-10-14 21:08:52 +0000cattura-agent-commons 3.2.0greg
2016-10-14 21:06:01 +0000processor and processor-engine 1.1.0greg
2016-10-14 20:46:53 +0000opencast plugin 1.1.0-SNAPSHOTgreg
2016-10-14 20:39:48 +0000For S/FTP plugins, attach the media package itself as a published asset so it can be discoveredgreg
2016-10-14 20:07:20 +0000Remove 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 20:04:00 +0000Import 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 20:00:54 +0000Default -> FromGraphgreg
2016-10-14 19:43:02 +0000actually, 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 19:19:54 +0000Learning 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 18:17:49 +0000we are now using a service on the processor itself, the service directly on the plugin has been removedgreg
2016-10-14 17:59:58 +0000Fix call to verify publish configuration now that it returns an AuthenticationResult VO.greg
2016-10-14 17:58:59 +0000Dry up the test publisher configuration code by centralizing it all in one placegreg
2016-10-14 16:47:29 +0000injectSensitiveData on configgreg
2016-10-14 16:46:01 +0000Add copy constructor for PublishPlatformConfigurationgreg
2016-10-14 16:16:11 +0000if progress message is null then display "Task has not started yet"greg
2016-10-14 15:49:19 +0000get the last 20 tasks insteadgreg
2016-10-14 01:00:59 +0000Transmit PublishCompleteEvent after publishing is completegreg
2016-10-13 21:00:06 +0000rename MediaPackage.Default -> MediaPackage.WithGraphgreg
2016-10-13 19:08:15 +0000Change 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 14:52:46 +0000Wait 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 23:55:21 +0000Disable the queue delay timepickers when the associated flag is toggled off.greg
2016-10-12 23:11:35 +0000Disable the "purge on low disk space" option if purging is disabled.greg
2016-10-12 21:50:04 +0000Split out "tabInit" into child modules for settings panel.greg
2016-10-12 20:49:26 +0000Only consider media files for task progress.greg
2016-10-11 23:26:04 +0000default time entry to 10:00 PM to 04:00 AMgreg
2016-10-11 23:19:43 +0000fix logginggreg
2016-10-11 23:14:11 +0000Log whenever the queues time range is setgreg
2016-10-11 23:12:02 +0000Add boolean flags for enabling the processing/networking delays.greg
2016-10-11 23:07:27 +0000Redo queue settings UI using checkboxesgreg
2016-10-11 20:34:12 +0000Styling for queue settingsgreg
2016-10-11 19:27:43 +0000update to 3.1.42-SNAPSHOTgreg
2016-10-11 19:27:00 +0000Remove centering on images (cherry picked from commit ff98728ba5c15cf4991ec394860a91acf0b21441)greg
2016-10-11 19:26:48 +0000Manual updates (cherry picked from commit 883a26c324ed4c8680aeff7f19ed237f01723dc3)greg
2016-10-11 19:24:19 +0000update all publisher plugins to use new publisher librarygreg
2016-10-11 19:21:23 +0000cut publisher-processor 1.0.2greg
2016-10-11 19:21:04 +00001.0.2-SNAPSHOT of abstract publisher processor. Set status before state. (cherry picked from commit 4a93ec0868dbe8927a5b05cdbdf3f54f982b2635)greg
2016-10-11 19:16:07 +0000cut platform 3.1.31greg
2016-10-11 19:15:48 +0000cut web UI plugin 3.1.41greg
2016-10-11 19:15:33 +0000Remove centering on imagesgreg
2016-10-11 19:15:12 +0000Manual updatesgreg
2016-10-11 18:42:53 +0000Use retryer to attempt to build the graph if the mpa module is killed while the task is executing.greg
2016-10-11 18:06:49 +0000Use a Supplier in the MediaPackageEditorSessionBuilder, so we can always retrieve the latest available MPA Module when the clipper session starts.greg
2016-10-11 17:37:25 +0000postpone ImminentRestartEvent if there are queued or running tasksgreg
2016-10-11 17:35:32 +0000Don't updateQueueTimeRanges() onRegister() as it will be done when settings are updated.greg
2016-10-11 17:16:39 +0000Send a settings updated event when the settings are first loaded.greg
2016-10-11 01:40:53 +0000Move the task queue proxy below the event handling proxy, because it has event handlers.greg
2016-10-11 01:16:03 +0000Fix parsing of times being returned by the UI. Allow for parsing either 12 hour or 24 hour times.greg
2016-10-11 00:37:22 +0000Add basic UI for controlling when task queues run.greg
2016-10-11 00:33:55 +0000Add timepicker binding. Pass in argument for binding to constructor.greg
2016-10-11 00:32:30 +0000allow defaultTime === false to be passed in via options for timepickergreg
2016-10-10 21:52:09 +0000Add support for range set.greg
2016-10-10 21:27:28 +0000replace 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 16:38:43 +0000Fix 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 15:39:47 +0000Check user permissions on verifyCredentials() and return failure if we don't have write access to foldergreg
2016-10-07 21:23:36 +0000Add some logging in the plugingreg
2016-10-07 20:40:02 +0000Add even more logging around when the S3 upload is startedgreg
2016-10-07 20:33:55 +0000Set logger on panopto uploadergreg
2016-10-07 00:43:22 +0000Do initial queue setup onRegister()greg
2016-10-06 23:55:04 +0000When 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 21:36:48 +0000remove author annotationgreg
2016-10-06 21:36:03 +0000Add 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 18:15:45 +0000since LocalTime is itself comparable, we could just use a range of LocalTime instead of hoursgreg
2016-10-06 17:42:04 +0000Add a queue implementation that can be restricted based on time frame. TODO: try to come up with a better namegreg
2016-10-05 23:15:25 +0000Add a canRun($task) which can be overridden, so we can add extra logic to checking whether a task can run.greg
2016-10-05 22:44:06 +00003.1.14-SNAPSHOT of media package import plugin, using the tasks infrastructure.greg
2016-10-05 21:44:01 +0000fix canRun() conditiongreg
2016-10-05 20:53:22 +0000Postpone 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 19:07:22 +0000need a .value() heregreg
2016-10-05 18:56:40 +0000Clean 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 18:07:47 +0000log in with hostname onlygreg
2016-10-05 17:30:53 +0000FTP 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 16:01:22 +0000Exit watcher thread when session is terminated.greg
2016-10-04 21:43:29 +00004153 -> 4155greg
2016-10-04 21:26:08 +0000relnotes 4153greg
2016-10-04 21:21:08 +0000cut platform 3.1.30greg
2016-10-04 21:20:46 +0000cut UI plugin 3.1.40greg
2016-10-04 21:18:38 +0000Add image for Settings -> Maintenancegreg
2016-10-04 21:15:10 +0000Update Enrichment UI and manual image.greg
2016-10-04 21:02:34 +0000Update image for LTI/accounts integrationgreg
2016-10-04 20:52:21 +0000Wording changes: Cattura Portal Integration -> Cattura LTI Integration, API Token -> LTI Keygreg
2016-10-04 20:13:56 +0000Add link to Settings -> Scheduler manual pagegreg
2016-10-04 20:08:30 +0000Remove unused imagesgreg
2016-10-04 19:51:06 +0000Adding updated manual pages.greg
2016-10-04 19:48:06 +0000This is now UI Plugin 3.1.40-SNAPSHOTgreg
2016-10-04 19:09:42 +00001.2.0-SNAPSHOT of Vimeo Plugingreg
2016-10-04 19:07:32 +00001.2.0-SNAPSHOT of Google Drive Plugingreg
2016-10-04 18:49:03 +0000path does not include host or scheme anymoregreg
2016-10-04 18:42:14 +0000Pass 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 18:30:50 +0000remove 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 18:19:46 +0000Attach all uploaded files (in the media package output) as RemoteAssetsgreg
2016-10-04 17:40:08 +0000begin 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 16:40:02 +0000YouTube plugin 1.2.0-SNAPSHOTgreg
2016-10-04 16:37:23 +0000add a constructor for AuthenticationResultgreg
2016-10-04 15:29:15 +0000If 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-04 00:51:36 +0000Return 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-04 00:11:57 +0000Using 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 23:43:20 +0000Use the file name of the primary media file as media package id.greg
2016-10-03 23:28:02 +0000createDirectories not createDirectory, this will create all necessary parent directoriesgreg
2016-10-03 23:27:38 +0000avoid duplicate key when there is already an output named "internal"greg
2016-10-03 23:16:58 +0000copy destinations as wellgreg
2016-10-03 22:30:02 +0000add copy constructor for SimpleMediaPackagegreg
2016-10-03 22:18:07 +0000Local 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 20:35:59 +00001.3.0-SNAPSHOT of kaltura plugin, with new AuthenticationResultgreg
2016-10-03 20:33:39 +0000result -> type. Add static factory constructorsgreg
2016-10-03 20:09:41 +0000Add 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 19:31:28 +00002.0.0-SNAPSHOT of abstract publisher processor. Remove progress callbacks; they're unnecessary now that STATE tracks progress.greg
2016-10-03 19:26:26 +00001.0.2-SNAPSHOT of abstract publisher processor. Set status before state.greg
2016-10-03 19:24:16 +0000Use latest version of MPA Module Bridgegreg
2016-10-03 18:47:57 +0000remove unused response variablegreg
2016-10-03 18:06:53 +0000Deprecate status callbacks for graphs. We want to be using the Session callbacks whenever possiblegreg
2016-10-03 17:57:32 +0000When session is reported as terminated, shut down its status updater thread.greg
2016-10-03 17:54:22 +0000use lambdas/member references where possiblegreg
2016-10-03 17:44:10 +00003.1.15-SNAPSHOT of MPA module bridge. Intends to clean up some lingering issues with the bridge librarygreg
2016-09-30 23:34:02 +0000CM 3.1.36-SNAPSHOTgreg
2016-09-30 23:33:23 +0000relnotes #4150greg
2016-09-30 23:29:43 +0000Configuration module 3.1.35, platform package 3.1.29greg
2016-09-30 23:26:03 +0000Raise incident if we fail to load a templategreg
2016-09-30 23:19:29 +0000Mark incidents internalgreg
2016-09-30 22:34:22 +0000When an error occurs while trying to load media package, raise an exception and return invalid media package.greg
2016-09-30 19:38:12 +0000Can 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 19:28:30 +0000When submitting clipper session, unset the button back to enabled after modal is dismissedgreg
2016-09-30 18:39:10 +0000Don't disable clipper while recorder is capturing/processing, because the queue system will allow us to queue up clipping sessions.greg
2016-09-30 18:36:28 +0000Set title on media package edit task.greg
2016-09-30 18:03:50 +0000don'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 17:18:50 +00001.0.4-SNAPSHOT of media clipper plugin. Set status (succeeded/failed) before state (terminated)greg
2016-09-30 16:57:24 +0000Handle cancellation of media package taskgreg
2016-09-30 16:48:56 +0000use session.onStatusUpdate insteadgreg
2016-09-30 16:06:26 +0000bridge clipper plugin progress to task progressgreg
2016-09-30 00:38:25 +0000handle null media packagegreg
2016-09-30 00:15:27 +00003.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 22:49:51 +0000Reload tasks whenever we get STATE_MESSAGE. This is probably a bit excessive.greg
2016-09-29 20:03:54 +0000Reload tasks when we switch tabs or window becomes visible.greg
2016-09-28 23:14:33 +0000Because 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 21:16:06 +0000Include published outputs in success event.greg
2016-09-28 20:53:22 +0000Make 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 20:42:30 +0000Transmit a PublishSuccessfulEvent on successful publishgreg
2016-09-28 19:58:46 +0000exclude progressCallbacks from equals/hashCodegreg
2016-09-28 16:18:44 +0000Because tasks are mutable, and their hash code can change, use the task id to map tasks to results.greg
2016-09-27 18:22:32 +0000Attach 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 23:28:34 +0000Use lambdasgreg
2016-09-26 23:27:40 +0000remove comment + unused importgreg
2016-09-26 23:27:24 +0000new 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 23:12:53 +0000Create 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 22:21:46 +0000fix mapping of publish configuration to publisher VOgreg
2016-09-26 21:46:15 +0000Backport Device element here. Eventually we should move away from all our other ways of representing devices and just use this.greg
2016-09-26 21:25:43 +0000Null check for event buffer, now that we are closing and removing them.greg
2016-09-26 20:56:21 +0000Log 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 19:39:59 +0000When session is terminated, close both root dispatchers and all other dispatchers.greg
2016-09-26 17:38:33 +0000use lambdagreg
2016-09-26 17:37:26 +0000Close temporary dispatcher after using itgreg
2016-09-26 17:13:04 +0000go back to ReflectionUtilities for the injecting, ReflectWrapper chokes when a superclass has a field with the same name as a subclassgreg
2016-09-26 16:12:29 +0000transmit data -before- closing test processor (cherry picked from commit 2cac6775887c43a8ed9fdba8d3ae94c8867877c2)greg
2016-09-26 16:12:23 +0000handle null in describeObjectForThreadName (cherry picked from commit 6271f98f990decf1bb646bc2b976fba6d7dd49ba)greg
2016-09-26 16:12:16 +0000Once session has terminated, shut down watcher FrameBuffer. (cherry picked from commit f4aaa450ceeb97b3dbcc0fec8a2bb673ef5d6956)greg
2016-09-26 16:12:08 +0000Close dispatcher once session has terminated. (cherry picked from commit afa27017577d3eceb8c189111ea355066cbf3c0f)greg
2016-09-26 16:12:01 +0000properly inject logger into dispatcher (cherry picked from commit d702da942c833510bc99cb269ce1c42ff4a59351)greg
2016-09-26 16:11:53 +0000If processor already has a dispatcher, allow that to override our generated dispatcher. (cherry picked from commit c713524ef5b434dd2bf71ba1d175f444762685de)greg
2016-09-26 16:11:46 +0000use ReflectWrapper instead of ReflectionUtilities (cherry picked from commit 70fc87e15c0c0743a84102584f8a18cb462b5757)greg
2016-09-26 16:11:38 +0000Remove 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 16:11:30 +0000Make the frame buffer's thread name descriptive (of the frame buffer's owner and target) (cherry picked from commit 1562c4f961e6ae387afd1a5923123562a832b43f)greg
2016-09-26 16:11:23 +0000Add 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 16:11:14 +0000beginning processor and processor engine 1.1.0-SNAPSHOT. (cherry picked from commit 47af8a12c74a44689b1b679142506de27448b2cd)greg
2016-09-23 22:46:56 +0000retitle to #4124greg
2016-09-23 22:31:23 +0000relnotes #4122greg
2016-09-23 22:15:21 +0000platform 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 19:54:15 +00001.1.7 V4L plugingreg
2016-09-23 18:36:58 +0000If stop call times out, exit gracefully and set status to failed.greg
2016-09-23 16:21:22 +0000Increase setup timeout to 90 secondsgreg
2016-09-23 16:19:38 +0000decouple the test duration from setup timeoutgreg
2016-09-22 18:47:24 +0000update to development version of librarygreg
2016-09-22 18:04:26 +0000take 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 15:52:02 +0000start 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 20:13:01 +0000begin 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 18:20:55 +0000Clear publish session and return when session is terminated, not when publish is completegreg
2016-09-20 20:11:14 +0000Rework 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 20:10:02 +0000description -> title for tasksgreg
2016-09-20 16:54:39 +0000Add task queue UI to dashboard.greg
2016-09-20 16:10:36 +0000correct getTasksForMediaPackagegreg
2016-09-20 15:32:19 +0000Add 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 23:53:31 +0000Need 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 23:22:29 +0000Include the media package id in publish request.greg
2016-09-19 20:46:36 +0000Cut scheduler plugin 3.1.24greg
2016-09-19 20:35:15 +0000Set owner on multiple captures.greg
2016-09-19 20:32:04 +0000Remove 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 18:05:58 +0000Split 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 16:01:00 +0000UI plugin 3.1.40-SNAPSHOTgreg
2016-09-16 22:10:46 +0000relnotes #4094greg
2016-09-16 22:02:01 +0000cut UI plugin 3.1.39greg
2016-09-16 22:01:15 +0000add optional specifier to description field, deploy pending #1650greg
2016-09-16 21:22:51 +0000Sort users roles by power level. Style roles nicely with the role description underneath role name. Deploy pending #1610greg
2016-09-16 20:11:47 +0000Round storage space to nearest tenth, or one hundredth for TB. Deploy pending #1657greg
2016-09-16 19:32:55 +0000save graph after mutating itgreg
2016-09-16 19:10:32 +0000Refresh media package when task completes.greg
2016-09-16 19:07:42 +0000When publish is complete, attach to media package.greg
2016-09-15 22:24:06 +0000use "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 20:53:28 +0000handle null newValue for progressgreg
2016-09-15 20:36:41 +0000handle non-parseable structuregreg
2016-09-15 20:35:00 +0000Implement stop() on PublishSession to cancel publishing nodes.greg
2016-09-15 20:18:20 +0000Implement description of publishing taskgreg
2016-09-15 19:34:30 +0000Implement UI progress bar and cancel button for tasks.greg
2016-09-15 00:56:58 +0000emit task queued event after task has actually been queuedgreg
2016-09-15 00:14:38 +0000use publisherID not idgreg
2016-09-15 00:07:54 +0000Add publisher id to publish task (for UI mainly)greg
2016-09-14 23:07:15 +0000include type of task in return valuegreg
2016-09-14 22:28:00 +0000group pagination stuff under "queue" as that is what is being paginatedgreg
2016-09-14 21:19:12 +0000Handle task events in UIgreg
2016-09-14 20:00:39 +0000Add events to be fired whenever the state of a task changes: it's initially queued, started, finished, or canceled.greg
2016-09-14 19:43:32 +0000Add callbacks to queue for when a task is started or finished.greg
2016-09-14 18:31:52 +0000Split API return value into queued and running tasks, because we might need to distinguish between those.greg
2016-09-14 18:10:24 +0000remove unnecessary importgreg
2016-09-14 18:09:48 +0000so 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 18:01:16 +0000add UI viewmodel for tasksgreg
2016-09-14 16:43:51 +0000Add TaskProgressEvent which relays task progress to other plugins (e.g. UI) and to outside event listeners.greg
2016-09-14 16:37:35 +0000Clean 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 14:55:57 +0000include currently executing task in getTaskById()greg
2016-09-13 20:08:07 +0000Include currently executing task in returned task listgreg
2016-09-13 18:35:55 +0000attach datepickers and timepickers directly to schedule modal, not body. This might prevent #1653, #1174greg
2016-09-13 18:32:59 +0000add ability to attach timepicker to specified container elementgreg
2016-09-13 01:36:08 +0000redo 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 16:13:21 +0000relnotes #4062greg
2016-09-09 23:17:26 +0000Add system-monitor-plugin to repo.greg
2016-09-09 23:15:20 +0000cut platform package 3.1.27greg
2016-09-09 23:04:32 +0000cut UI plugin 3.1.38greg
2016-09-09 22:30:53 +0000Instead 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 20:44:19 +0000Add notice for panopto that a panopto login is required. Deploy pending #1646greg
2016-09-09 20:23:24 +0000cut 3.1.23 of scheduler plugingreg
2016-09-09 20:19:27 +0000Fix 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 18:43:53 +00003.1.23-SNAPSHOT of scheduler plugingreg
2016-09-09 18:02:28 +0000don't use until() on the recurrence because it behaves unexpectedly, instead do the bounds checking ourselvesgreg
2016-09-09 00:34:39 +0000didn't work, another test for failed use casegreg
2016-09-09 00:23:47 +0000attempt to resolve issue by running the iterator until the start of next dategreg
2016-09-08 23:07:21 +0000begin scheduler library 3.1.21-SNAPSHOT, test for #1654greg
2016-09-08 22:33:55 +0000.platform not .id, deploy pending #1652greg
2016-09-08 22:20:39 +0000UI plugin 3.1.38-SNAPSHOTgreg
2016-09-08 22:17:24 +0000cut system monitor plugin 1.0.1 (cherry picked from commit 3845481de6c286fb203971a110c37337f747f139)greg
2016-09-08 22:17:08 +0000no reason not to include exceptions in the log dump (cherry picked from commit 77d02030565ee58f2dbd5ad4f62dfdb0ae1a7294)greg
2016-09-08 22:17:01 +0000keep dumps for 3 days (cherry picked from commit fc9514aa4ac19e66d687dbbc8a72be5c54acefe2)greg
2016-09-08 22:16:53 +0000use java.time.Duration (cherry picked from commit 2a3c5ab5c043ecde54a196296cf773cb83446a70)greg
2016-09-08 22:16:44 +0000cut log downloader plugin 3.1.17 (cherry picked from commit 73dc4d3f07c89c1c4401263073f8e5f41f45195f)greg
2016-09-08 22:16:33 +0000Fix the default from time (one hour until "to") (cherry picked from commit daabf94b7c30ed21c77a3511f7bb80357aeb5ca0)greg
2016-09-08 22:16:25 +0000instead 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 22:16:17 +0000rework 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 22:16:11 +0000add vmstat (cherry picked from commit 414602eb7929e8ab99ac45d02f295227a4795ead)greg
2016-09-08 22:16:04 +0000LDP 3.1.17-SNAPSHOT. Add netstat, iostat, mpstat, pidstat (cherry picked from commit bbd0f45bfbc9391609b2936ad75ada7f9acdbf94)greg
2016-09-08 19:06:09 +0000cut system monitor plugin 1.0.1greg
2016-09-08 19:05:39 +0000no reason not to include exceptions in the log dumpgreg
2016-09-08 18:58:38 +0000keep dumps for 3 daysgreg
2016-09-08 16:57:08 +0000use java.time.Durationgreg
2016-09-08 16:12:02 +0000cut log downloader plugin 3.1.17greg
2016-09-08 16:01:20 +0000Fix the default from time (one hour until "to")greg
2016-09-08 15:39:35 +0000instead 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 23:48:23 +0000rework system-monitor-plugin to use log-downloader-plugin for saving logs, and save in storage directorygreg
2016-09-07 23:27:35 +0000add vmstatgreg
2016-09-07 23:20:55 +0000LDP 3.1.17-SNAPSHOT. Add netstat, iostat, mpstat, pidstatgreg
2016-09-07 18:12:00 +0000Remove cards API. Card data structure is not used and will be removed in big 2.0.0 refactor.greg
2016-09-07 18:10:57 +0000Add Tasks API to APIv2. The Tasks API contains methods for listing and cancelling tasks.greg
2016-09-07 18:04:37 +0000add getTaskByIdgreg
2016-09-07 17:52:22 +0000implementaton question for paginatorgreg
2016-09-07 17:32:35 +0000Split the pagination logic from MediaPackageAPI into its own object with testsgreg
2016-09-07 16:51:43 +0000createTemplate doesn't expect a user, so execute the command as system user.greg
2016-09-06 18:03:36 +0000Remove any special handling for publisher nodes in start capture command, as all publishing will be done in the publish task.greg
2016-09-06 17:34:09 +0000Remove 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 16:25:00 +0000add the concept of an ID to task, and methods to retrieve task by ID.greg
2016-09-06 16:07:21 +0000Make 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 23:02:07 +0000Split 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 21:27:14 +0000Bridge the progress reports from the publisher node onto the Task interfacegreg
2016-09-02 18:29:47 +0000new 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 23:32:05 +0000Implement progress tracking for Taskgreg
2016-09-01 22:37:37 +0000Begin 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 20:50:59 +0000remove deprecated convertConfiguration method which is no longer usedgreg
2016-08-31 20:56:37 +0000Add queue library and TaskQueueProxy to configuration modulegreg
2016-08-31 20:38:09 +0000Add tests for canceling running and pending tasks.greg
2016-08-31 18:04:45 +0000Add ability to cancel a queued or running task.greg
2016-08-31 16:56:04 +0000Implement 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 16:23:14 +0000add test for starting up queuesgreg
2016-08-31 16:03:37 +0000remove print statementgreg
2016-08-30 23:13:32 +0000Use a NanoClock to provide timestamps with nanosecond resolution, so that the tasks are correctly sorted in creation date order.greg
2016-08-30 20:14:18 +0000initial version of task queues librarygreg
2016-08-30 01:19:45 +0000fix pyflakes checkgreg
2016-08-30 01:11:44 +0000relnotes #4042greg
2016-08-30 01:07:35 +0000platform package 3.1.26, configuration module 3.1.34greg
2016-08-29 22:23:12 +0000add print statements greg
2016-08-29 22:18:35 +0000Drop and recreate database prior to restoring from dump, to ensure the new database is an exact copy of the backup.greg
2016-08-29 19:51:34 +0000Add a reset script that wipes storage, database, and configurationgreg
2016-08-29 18:12:57 +0000add user configuration (public_settings.json) to backupgreg
2016-08-26 23:09:05 +0000add restore scriptgreg
2016-08-26 23:08:41 +0000add catturaCB-backup and catturaCB-restore commandsgreg
2016-08-26 23:06:49 +0000Timestamp backup file. Remove sql dump after backup is finished.greg
2016-08-26 22:37:25 +0000relnotes 4034greg
2016-08-26 22:29:50 +0000UI plugin 3.1.37greg
2016-08-26 22:28:40 +0000New configuration module + platformgreg
2016-08-26 22:27:39 +0000Add backup scriptgreg
2016-08-26 19:48:22 +00001.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 22:27:46 +0000Allow audio gain controls to be enabled via a plugin setting.greg
2016-08-25 21:53:39 +0000When 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 21:00:07 +0000Remove the stuff for Card data type as that is being removedgreg
2016-08-25 20:58:25 +0000If we try to start a capture and disk space is low, then run purger to try to free up space.greg
2016-08-25 20:24:40 +0000remove stray commagreg
2016-08-25 19:50:41 +0000Automatically trigger purge task if settings are updated, and if disk space reaches low disk space threshold.greg
2016-08-25 19:13:36 +0000sort in correct ordergreg
2016-08-25 18:56:32 +0000can'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 18:35:19 +0000add logging to purge taskgreg
2016-08-25 18:25:25 +0000correct name of settinggreg
2016-08-25 18:04:30 +0000make MaintenanceTaskProxy.get able to account for sub/super class, add tests to make sure it behaves as expected.greg
2016-08-25 01:13:57 +0000Add backend support for purging based on disk space percentage.greg
2016-08-24 20:59:54 +0000Move purging logic from MediaPackageProxy into purge task.greg
2016-08-24 20:44:37 +0000Create a "MaintenanceTaskProxy" that stores info about all the background tasks (e.g. media package purge timer, disk space watcher, etc).greg
2016-08-24 15:37:41 +0000Fail if title is not providedgreg
2016-08-24 15:25:25 +0000treat empty string id as null and automatically generate id from name; if id cannot be generated return with an errorgreg
2016-08-22 18:08:51 +0000If metadata node already exists, overwrite it with our new metadata.greg
2016-08-22 18:00:24 +0000Actually make directory for temporary graph.greg
2016-08-22 17:33:34 +0000new configuration module, fix issue in TemplateCommands.Save where "title" parameter wasn't being handled correctlygreg
2016-08-22 16:26:38 +0000new method for generating IDs for notifiers, to decrease conflictsgreg
2016-08-19 21:56:41 +0000relnotes #4015greg
2016-08-19 21:40:33 +0000add email plugin and webhook plugin to apt repogreg
2016-08-19 21:37:37 +0000add email plugin and webhook plugin to standard distrogreg
2016-08-19 21:35:49 +0000Email plugin 1.0.0greg
2016-08-19 21:35:32 +0000Twitter plugin 3.1.10greg
2016-08-19 21:35:19 +0000Webhook plugin 1.0.0greg
2016-08-19 21:35:02 +0000Log downloader plugin 3.1.16greg
2016-08-19 21:34:45 +0000UI plugin 3.1.36greg
2016-08-19 21:34:17 +0000New configuration module and platform packagegreg
2016-08-19 21:09:48 +0000Removed upcoming capture event from list of possible events we can track, as this event is currently not fired anywhere.greg
2016-08-19 20:32:27 +0000remove duplicate success notifygreg
2016-08-19 20:32:00 +0000Fix for notifier arrays blanking whenever plugins are refreshedgreg
2016-08-19 20:19:23 +0000If url does not have http:// or https://, prefix http:// onto it before addinggreg
2016-08-19 20:06:42 +0000Add 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 19:21:16 +0000Fix notifiers() so it's a computed which aggregates individual arrays known by each notifier "type."greg
2016-08-19 17:49:16 +0000Use an executor for sending email notificationsgreg
2016-08-19 16:55:46 +0000Rhino thread safety issue is no longer an issue, see #1559greg
2016-08-19 01:28:28 +0000include stack trace in warning log if we failgreg
2016-08-19 01:28:07 +00003.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-19 01:14:12 +0000Don't send emails for legacy ExceptionEventgreg
2016-08-19 01:10:34 +0000Use log downloader plugin to generate a zip of logs and attach to incident report.greg
2016-08-19 00:25:26 +0000Refresh 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 23:54:53 +0000Add incidents (exceptions/errors) as a possible notification typegreg
2016-08-18 23:52:59 +00003.1.32-SNAPSHOT. Reclassify incident events as non-internal so they can be handled by notifiers.greg
2016-08-18 23:46:49 +0000include event description in web hook payloadgreg
2016-08-18 23:35:56 +0000url -> emailgreg
2016-08-18 23:30:42 +0000import requestgreg
2016-08-18 23:12:55 +0000fix namegreg
2016-08-18 23:12:19 +0000Add webhook plugin.greg
2016-08-18 23:06:37 +0000Add info box on blackout dates modal explaining options.greg
2016-08-18 23:00:15 +0000if end date is not valid, default to start date. Deploy pending #1641greg
2016-08-18 19:45:53 +0000Begin adding UI support for webhooks plugin. Restrict the options for notifiers to plugins which are actually available.greg
2016-08-18 18:36:10 +0000Move 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 17:32:37 +0000There 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 22:09:06 +0000make smtp server info configurable, add commentgreg
2016-08-17 22:00:11 +0000Add OpenSMTPd as a dependency in our "standard distribution."greg
2016-08-17 21:00:58 +0000fix up email code. Note nginx will need to be configured to send out emails as well.greg
2016-08-17 20:53:07 +0000Add simplejavamail dependency and stub code for emailgreg
2016-08-17 19:43:08 +0000Fix UI to select the proper notifier type when editing notifier.greg
2016-08-17 18:35:34 +0000Start UI support for the email notifications.greg
2016-08-17 18:32:09 +0000remove all the twittery stuff, placeholder log messagegreg
2016-08-17 18:18:30 +0000Begin email notifier plugin, based off twitter plugingreg
2016-08-17 16:57:35 +0000Refresh notifier list on delete.greg
2016-08-17 16:26:10 +0000add ability to save and remove twitter notifiersgreg
2016-08-17 16:25:54 +0000introduce unique ids for twitter notifiers, and remove servicegreg
2016-08-17 16:03:54 +0000more knockout bindings for notifiers UIgreg
2016-08-17 15:16:06 +0000begin implementing Twitter notifiers UIgreg
2016-08-16 23:54:14 +0000begin UI for notificationsgreg
2016-08-16 21:41:57 +0000flesh out addNotifier, migrate existing twitter token config to new system, encapsulate the notify logic into the Notifier object.greg
2016-08-16 21:16:47 +0000Starting 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 20:20:57 +0000Storage 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 19:19:40 +0000Relativize storage and capture session paths separately since they may be set separately from each other.greg
2016-08-16 19:17:44 +0000UI plugin 3.1.36-SNAPSHOTgreg
2016-08-16 18:26:58 +0000Client 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 17:45:17 +0000Make the client distro a standard maven java project which can be executed from the IDEgreg
2016-08-16 17:30:35 +0000Add (back) the CaptureCast Pro client distribution, for testing/development purposesgreg
2016-08-16 15:42:37 +0000actually 3992greg
2016-08-16 15:19:46 +0000relnotes #3993greg
2016-08-16 15:18:16 +0000CM 3.1.31, fixes some DataStorage stuffgreg
2016-08-16 01:26:07 +0000relnotes #3989greg
2016-08-16 00:31:22 +0000Cranium plugin 1.0.7.greg
2016-08-15 22:26:41 +0000OCR plugin 1.0.4. Pipe tesseract's stderr into logger.greg
2016-08-15 22:20:09 +0000web ui plugin 3.1.35, CM 3.1.30, platform 3.1.22greg
2016-08-15 22:18:04 +0000add UI support for audio dumper and packet analysis pluginsgreg
2016-08-15 22:06:10 +0000add backend support for audio dumper and packet analysis pluginsgreg
2016-08-15 21:35:42 +0000Update default portal url to new urlgreg
2016-08-15 21:23:51 +0000No signal is no longer used so remove settingsgreg
2016-08-15 16:49:31 +0000use absolute path for npm executablegreg
2016-08-15 16:39:26 +0000set up symlinks necessary for the "npm" command to be able to be rungreg
2016-08-14 05:13:28 +0000Scheduler 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 23:10:24 +0000Cut alsa plugin 1.0.7. If we fail to open the device on startup, keep trying to open it.greg
2016-08-12 22:34:15 +0000alsa 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 22:10:05 +0000new platform packagegreg
2016-08-12 22:09:09 +0000cut UI plugin 3.1.34greg
2016-08-12 22:06:17 +0000Strip away all the JavaException blah blah stuff when presenting the error message.greg
2016-08-12 21:55:52 +0000Add 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 21:49:42 +0000new version of Offline LE plugingreg
2016-08-12 21:23:44 +0000release all CM plugins except for UI plugingreg
2016-08-12 21:20:01 +0000cut new configuration modulegreg
2016-08-12 21:18:53 +0000cut new versions of all publishing plugins, with the updated publisher library.greg
2016-08-12 21:07:02 +0000kaltura plugin 1.2.10greg
2016-08-12 21:05:43 +0000cut 1.0.1 publisher-processorgreg
2016-08-12 21:01:59 +0000Time.VO.Duration -> java.time.Durationgreg
2016-08-12 20:23:51 +0000Read the video size from MediaAsset.greg
2016-08-12 20:17:44 +0000avoid possible null pointer if $element.getID() is nullgreg
2016-08-12 20:16:26 +0000Improve 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 19:43:58 +0000Attach 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 19:20:01 +0000split 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 17:59:13 +0000Update the other publishing plugins to use the new parent and new library.greg
2016-08-12 17:47:07 +0000Update 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 16:45:07 +0000remove import of removed UserCommandgreg
2016-08-12 16:21:51 +0000The configuration module itself does not do any session management anymore, so we can get rid of these.greg
2016-08-12 16:07:08 +0000migrate some more commands off of UserCommandgreg
2016-08-12 15:33:13 +0000Increase test timeout.greg
2016-08-12 15:27:11 +0000update ormlite dependencygreg
2016-08-12 15:18:17 +0000Stub out the unit monitor plugin, as it's replaced by Craniumgreg
2016-08-12 00:36:56 +0000gitignore!greg
2016-08-11 23:58:10 +0000Make this a dual Configuration Module + MPA Module plugin.greg
2016-08-11 23:19:02 +0000Basic plugin which can set JVM system properties such as http.httpProxy at runtime.greg
2016-08-11 23:03:41 +0000Use the new and updated publisher library. Pass the publisher processor's retryer into the panopto client.greg
2016-08-11 22:42:28 +0000Change 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 19:43:03 +0000Clean up publisher-processor: Remove Speaker since it's no longer being used. Remove TableOfContents as that's now in processor.greg
2016-08-11 19:37:56 +0000Include abstract publisher library (publisher-processor) in multi-module buildgreg
2016-08-11 17:39:49 +0000Begin the abstract publisher library 1.0.1.greg
2016-08-11 16:57:36 +0000Fix LogDownloaderHttpHandler not knowing about _storageDirgreg
2016-08-11 16:42:25 +0000Add method to set the retryer on the clientgreg
2016-08-11 00:31:14 +0000actually it was the other way aroundgreg
2016-08-11 00:28:49 +0000includes -> containsgreg
2016-08-11 00:28:33 +0000Allow alternative names for script parameters: `from` = `start`; `to`, `end` = `finish`greg
2016-08-10 23:23:41 +0000New version of panopto client + plugin. Use retryer to try to avoid flaky service calls (e.g. 500 errors)greg
2016-08-10 22:08:24 +0000Cut ALSA Plugin 1.0.6.greg
2016-08-10 22:07:22 +0000Cut OCR plugin 1.0.3.greg
2016-08-10 21:00:17 +0000Cut scene change plugin 1.0.5.greg
2016-08-10 20:55:13 +0000update gitignoregreg
2016-08-10 20:54:25 +0000Cut kaltura plugin 1.2.9. Still can't reproduce this issue but hopefully the mitigation strategy works.greg
2016-08-10 20:52:14 +0000If "Potential unsafe tags" error is raised from Kaltura API, clean up the text and try again. See #1636greg
2016-08-10 18:08:15 +0000Add #1636 test.greg
2016-08-10 16:41:55 +0000Remove speaker info/XSD stuffgreg
2016-08-10 16:08:25 +0000remove old test projectgreg
2016-08-10 16:08:17 +0000gitignoregreg
2016-08-10 15:58:11 +0000Revert 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 15:03:56 +0000replace set of test screenshots with hopefully a better onegreg
2016-08-10 14:49:02 +0000the 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-10 00:07:03 +0000make OutputCounter a bit more loudgreg
2016-08-09 23:48:54 +0000Add test using the old default behavior for SC plugin: 5 second save timeout, no detect timeoutgreg
2016-08-09 22:28:58 +0000Make SCD plugin configurable via plugin configuration.greg
2016-08-09 20:07:20 +0000cut file reader plugin 1.0.1greg
2016-08-09 20:06:42 +0000cut ADP 1.0.1greg
2016-08-09 17:26:43 +0000Terminate OCR link when upstreams are terminated.greg
2016-08-09 17:26:15 +0000Throw OCR into the mixgreg
2016-08-09 17:00:49 +0000log resultgreg
2016-08-09 16:59:06 +0000Moving 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 16:57:56 +0000make logging more verbosegreg
2016-08-09 16:39:20 +0000Add a test for SCD.greg
2016-08-09 16:16:44 +0000Add a test for OCR Parser.greg
2016-08-09 15:53:52 +0000Add 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 15:42:08 +0000Make the default save frame link instance detect on a 60 frame interval, with no timeouts.greg
2016-08-09 15:34:45 +0000Attach 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 23:46:58 +0000test running detector every 30 framesgreg
2016-08-08 23:08:34 +0000test with detector that runs every 10 framesgreg
2016-08-08 23:07:56 +0000Add plugin-level support for EveryXFrames detectorgreg
2016-08-08 22:51:08 +0000Add a Detector that runs every X frames.greg
2016-08-08 22:26:31 +0000getName()greg
2016-08-08 22:16:50 +0000Add "output counter" which collects outputs and logs a summary.greg
2016-08-08 22:09:09 +0000don't completely trust the new dispatcher -yet- so use the old one for now, which should still workgreg
2016-08-08 21:47:57 +0000Note explaining why we can't use freewheel mode for the testgreg
2016-08-08 21:46:12 +0000Can eliminate the subscription counter by using Futures.allAsListgreg
2016-08-08 21:37:21 +0000refactor the logic for creating subscriptionsgreg
2016-08-08 21:10:14 +0000new 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 19:30:24 +0000Make 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 19:26:05 +0000add 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 18:49:01 +0000switch out rate-limited Saver for rate-limited Detector.greg
2016-08-08 16:12:42 +0000add mock Scene Change detector which returns a fixed value every timegreg
2016-08-06 02:04:23 +0000fix exists/newer checkgreg
2016-08-06 02:00:11 +0000If asset file already exists, only pull from cache if the cached version is newer.greg
2016-08-06 01:59:13 +0000Transmit progress updates as file is being read.greg
2016-08-06 01:49:38 +0000actually retrieve cached datagreg
2016-08-06 01:40:21 +0000Supply cache for asset downloadergreg
2016-08-06 01:39:21 +0000make cache directory if it does not existgreg
2016-08-06 01:33:00 +0000Use a plugin (asset downloader or asset provider) to provide input to file reader.greg
2016-08-06 01:14:31 +00001.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-06 00:15:35 +0000set to starting when starting, running when it actually is runninggreg
2016-08-06 00:14:53 +0000Set status to running when reader starts.greg
2016-08-05 23:53:13 +0000use snapshot version of file readergreg
2016-08-05 23:21:07 +0000correct file reader metadatagreg
2016-08-05 23:19:56 +0000Begin 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 21:52:29 +0000Create #1635 scd test case.greg
2016-08-05 20:37:18 +0000Add rate-limited Detector.greg
2016-08-05 20:35:35 +0000remove no longer needed filesgreg
2016-08-05 20:34:25 +0000fixing up git state after mergegreg
2016-08-05 00:40:45 +0000flesh out test "app" a bitgreg
2016-08-04 23:03:02 +0000add attempt to test for #1369greg
2016-08-04 22:41:27 +0000alsa plugin 1.0.6-SNAPSHOT. Handle exception coming out of close()greg
2016-08-04 22:38:40 +0000just 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 20:45:22 +0000Use 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 20:30:11 +0000Bring 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 20:10:47 +0000Picture will never be nullgreg
2016-08-04 20:08:08 +0000Read 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 19:28:39 +0000Implement the scene change save timeout "correctly."greg
2016-08-04 18:31:07 +0000Add some comments. Access the ocr text future asynchronously.greg
2016-08-04 18:00:10 +0000We are using seconds for ocr/segmenter data, so index the scanned ocr by seconds.greg
2016-08-04 17:57:09 +0000Transmit 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 17:43:53 +0000Use a Duration as the timestamp field, since it encapsulates a unit.greg
2016-08-04 17:03:22 +0000The SceneChangeRunner already chains the detector to the saver so we do not need to do it here in the link.greg
2016-08-04 16:53:29 +0000Log when a scene change is successfully detectedgreg
2016-08-04 16:43:47 +0000logging improvementsgreg
2016-08-04 16:39:46 +0000Cannot run SCD in its own thread because of concurrency concerns with IVideoPictures.greg
2016-08-04 16:33:01 +0000removed unused enumgreg
2016-08-04 16:21:45 +0000SC/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 16:18:14 +0000Rate limiter plan isn't so solid, go back to the timeout method for saving thumbnails, using a runner/listener instead.greg
2016-08-04 00:52:35 +0000Revert "new version of OCR plugin + library"greg
2016-08-04 00:52:34 +0000Revert "Reduce VO boilerplate"greg
2016-08-04 00:52:32 +0000Revert "Long -> long"greg
2016-08-04 00:52:30 +0000Revert "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-04 00:52:28 +0000Revert "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-04 00:52:27 +0000Revert "Moved around some constants and removed some others"greg
2016-08-04 00:52:26 +0000Revert "removed unused flag"greg
2016-08-04 00:52:24 +0000Revert "Allow configuring logging on OCRParser/OCRRunner"greg
2016-08-04 00:52:23 +0000Revert "Capture ocr executable's stderr in our logger"greg
2016-08-04 00:52:22 +0000Revert "remove cleanUp from OCRRunner, we can call it directly on the parser"greg
2016-08-04 00:52:18 +0000Revert "Propagate logger to OCRRunner/OCRParser"greg
2016-08-04 00:52:11 +0000Revert "Big refactor of scene change library and plugin."greg
2016-08-04 00:41:38 +0000Big refactor of scene change library and plugin.greg
2016-08-03 19:37:22 +0000Propagate logger to OCRRunner/OCRParsergreg
2016-08-03 19:36:30 +0000remove cleanUp from OCRRunner, we can call it directly on the parsergreg
2016-08-03 19:34:02 +0000Capture ocr executable's stderr in our loggergreg
2016-08-03 19:32:18 +0000Allow configuring logging on OCRParser/OCRRunnergreg
2016-08-03 19:08:20 +0000removed unused flaggreg
2016-08-03 19:06:05 +0000Moved around some constants and removed some othersgreg
2016-08-03 18:59:38 +0000OCR 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 18:55:48 +0000Decouple 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 17:34:55 +0000Long -> longgreg
2016-08-03 17:34:21 +0000Reduce VO boilerplategreg
2016-08-03 17:29:56 +0000new version of OCR plugin + librarygreg
2016-08-03 15:35:51 +0000New version of kaltura plugin. If error occurs while trying to publish table of contents, set status to "partially succeeded" See #1638greg
2016-08-02 22:50:23 +0000preset/tune selects are being populated with knockout so don't need this copy here, deploy pending #1634greg
2016-08-02 22:35:27 +0000Change 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 21:09:52 +0000knockout 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 18:41:11 +0000new version of twitter plugingreg
2016-08-02 18:31:23 +0000new version of scheduler and media package pull pluginsgreg
2016-08-02 18:24:07 +0000clean up the DataStorageProxy, separate interface from implementation and have adapters to/from Mapgreg
2016-08-02 16:54:19 +0000Actually send the VERIFY_PUBLISHER_CONFIG request offgreg
2016-08-02 15:44:04 +0000fix some groovy scripts, clean up othersgreg
2016-08-02 15:39:33 +0000Include file, request, response in template variablesgreg
2016-08-02 15:32:09 +0000since support for server-side js files is removed, migrate all of them to groovy template pagesgreg
2016-08-02 14:53:43 +0000wrap environment in a writable mapgreg
2016-08-02 05:46:25 +0000Make blackout date number lightergreg
2016-08-02 05:29:28 +0000Remove 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 05:23:36 +0000even more TemplateEngine stuffgreg
2016-08-02 05:19:46 +0000more TemplateEngine stuffgreg
2016-08-02 05:12:53 +00003.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 05:03:13 +00003.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-02 04:31:40 +0000new TemplateEngine interfacegreg
2016-08-02 04:29:20 +00003.1.12-SNAPSHOT of web server plugin.greg
2016-08-02 04:28:49 +0000new version of web server plugin classes. Clean up TemplateEngine as it's still being used in some placesgreg
2016-08-02 04:07:06 +0000avoid null valuegreg
2016-08-02 04:04:24 +0000use lambdagreg
2016-08-02 04:00:07 +0000avoid null valuegreg
2016-08-02 03:36:27 +0000bindings need to be writablegreg
2016-08-02 03:32:31 +00003.1.14-SNAPSHOT of PPM plugingreg
2016-08-02 01:11:17 +0000cranium plugin 1.0.7-SNAPSHOTgreg
2016-08-02 00:22:15 +0000use a dummy interface to bridge between function and Consumer, due to rhino not recognizing jdk8 default methodsgreg
2016-08-02 00:09:36 +0000nashorn doesn't play nice with -something- in our platform (module loader?) so back to rhino for nowgreg
2016-08-01 23:09:09 +0000since we're on java 8 and using java 8 features now, move to nashorn for javascript pluginsgreg
2016-08-01 22:36:30 +00003.1.14-SNAPSHOT of live device preview plugin.greg
2016-08-01 22:13:11 +0000new version of console plugingreg
2016-08-01 22:03:25 +0000Remove imports of removed classesgreg
2016-08-01 21:24:21 +0000Remove KeyValueStructure VO as it's made redundant by Guava's ImmutableMap buildergreg
2016-08-01 21:18:43 +0000new version of http api plugin, which does not use removed classesgreg
2016-08-01 21:17:55 +0000Use lambda expressions wherever possible, so we do directly import Callback interface.greg
2016-08-01 20:44:05 +0000Finally remove ScriptEngineProxy. About time.greg
2016-08-01 20:36:42 +0000Where 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 18:36:22 +00003.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 18:33:21 +00001.0.2 of scheduler library, 3.1.20 of scheduler plugingreg
2016-08-01 18:29:36 +0000use date format for all toString()greg
2016-08-01 18:14:14 +0000Split 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 18:03:47 +0000instead 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 17:47:42 +0000Translate our datetime format into a date format and use that, to avoid the unnecessary 00:00:00 junkgreg
2016-08-01 16:02:10 +0000have a placeholder for no label, having it be empty is kinda uglygreg
2016-08-01 15:57:16 +0000actually sort properlygreg
2016-08-01 15:44:29 +0000Sort blackout datesgreg
2016-07-29 23:34:31 +0000specify a format for both parsing and formattinggreg
2016-07-29 23:30:10 +0000Basic validation for end time not being before start time.greg
2016-07-29 23:11:28 +0000set 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 17:33:24 +0000If updating event via drag/drop is unsuccessful, reset the calendar state.greg
2016-07-29 16:51:36 +0000Error out if the user tries to schedule an event on a blackout date.greg
2016-07-28 22:40:41 +0000If event is null, do not start capture.greg
2016-07-28 22:19:07 +0000Remove test.jsgreg
2016-07-28 21:42:29 +0000Add test for random capture scriptgreg
2016-07-28 21:41:27 +0000Rename test.js to test-exclusions.js and create a test for the scripts.greg
2016-07-28 21:40:55 +0000Use Sinon.js to track when mock methods are called in testsgreg
2016-07-28 20:43:38 +0000If 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 17:30:17 +0000add test to confirm behavior of moment-recur when starting before recurrence startgreg
2016-07-28 16:19:30 +0000make CatturaBox.Scripts a proper module, so it can be imported and testedgreg
2016-07-28 16:17:51 +0000if specified date is before exclusion start time, return false as it cannot match the recurring exclusiongreg
2016-07-28 03:05:42 +0000Split the exclusion check into its own function for reusegreg
2016-07-28 02:49:08 +0000Fix date generation for .fc-other-monthgreg
2016-07-27 23:46:58 +0000Add tests for recurring ranged exclusionsgreg
2016-07-27 23:45:10 +0000remove console.loggreg
2016-07-27 23:44:46 +0000moment-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 20:08:53 +0000Add support for recurring exclusion.greg
2016-07-27 19:38:23 +0000Add tests for Exclusiongreg
2016-07-27 19:37:57 +0000Expose Exclusion so it can be testedgreg
2016-07-27 18:59:41 +0000Mock CatturaBox object to be used in UI tests.greg
2016-07-27 18:25:54 +0000Throw exception if any of the processes failgreg
2016-07-27 17:21:01 +0000groovy script cleanupgreg
2016-07-27 16:58:11 +0000Add mocha to allow for UI script tests.greg
2016-07-26 22:39:23 +0000New 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 21:49:38 +0000add test for recurring range exclusiongreg
2016-07-26 19:47:37 +0000add note to fullcalendar.js that it has been modified from the original versiongreg
2016-07-26 19:27:59 +0000Move 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 19:06:22 +0000completely 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 18:53:52 +0000fix makefilegreg
2016-07-26 18:30:24 +0000move moment and moment-timezone to npmgreg
2016-07-26 18:09:55 +0000Subscribe to exclusions observable so we can update the calendar whenever it changes.greg
2016-07-26 17:38:13 +0000Can'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 17:28:53 +0000basic styling for blackout datesgreg
2016-07-26 00:30:01 +0000since scripts are now using lodash, call value() after filter()greg
2016-07-25 23:40:22 +0000Expand blackout dates UI to support start/end date and labelgreg
2016-07-25 20:49:22 +0000Add moment-recur dependencygreg
2016-07-25 19:49:30 +0000Add labels and end dates to the scheduler plugin servicesgreg
2016-07-25 19:26:46 +0000Support labels and start/end dates on exclusionsgreg
2016-07-25 16:53:51 +0000Display repeats in the tablegreg
2016-07-25 16:33:36 +0000Default to todaygreg
2016-07-25 16:17:29 +0000use "" for empty recurrencegreg
2016-07-25 15:54:47 +0000correct syntax for recurringgreg
2016-07-25 15:48:12 +0000begin support for recurring exclusionsgreg
2016-07-23 00:51:58 +0000Connect UI to updated exclusion date servicesgreg
2016-07-22 20:38:17 +0000removeExclusionWithId -> removeExclusion, for consistencygreg
2016-07-22 19:54:42 +0000add services for updating exclusion by id, and deleting by id instead of timestampgreg
2016-07-22 19:27:10 +0000Add 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 22:35:17 +0000Generally 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 21:55:31 +0000Add tests for new EventGroup functionalitygreg
2016-07-21 21:22:29 +0000rewrite exclusion/exclusion date services to work with new modelgreg
2016-07-21 21:01:37 +0000biweekly is being used in the scheduler-classes package so remove the dependency heregreg
2016-07-21 20:50:38 +0000rewrite 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 20:17:05 +0000When 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 20:15:19 +0000Test different types of recurrences (yearly, weekly, every other day, M/W/F).greg
2016-07-21 19:33:15 +0000Add a limit on the recurrence and test going past that limit.greg
2016-07-21 19:14:08 +0000Fix 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 19:13:24 +0000remove old RecurrenceUtilsgreg
2016-07-21 18:42:42 +0000don't need to null check, we won't allow null recurrences heregreg
2016-07-21 18:18:58 +0000Since exclusion logic is now in LocalDateExclusion instead of the exclusion event source itself, add tests for simple and recurring exclusion.greg
2016-07-21 18:18:26 +0000RecurrenceUtils -> ICalendarRecurrenceUtilsgreg
2016-07-21 18:13:32 +0000Since behavior for exclusion with/without recurrence is different, make the recurring exclusion a subclass of the simple one.greg
2016-07-21 17:19:21 +0000Rework 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 18:34:55 +0000When rejecting call due to permissions, add an error explaining why.greg
2016-07-20 16:01:02 +0000because 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 22:47:54 +0000Add ability to append datepicker to something other than body.greg
2016-07-19 17:13:50 +0000Move edit login dialog into the logins modulegreg
2016-07-19 15:34:22 +0000Move modals for each section into the file for that section. todo: maybe split these into separate files as wellgreg
2016-07-19 15:30:05 +0000Remove edit presenter modalgreg
2016-07-19 15:20:50 +0000underscore -> lodashgreg
2016-07-18 21:43:49 +0000begin modularizing the settings.js filegreg
2016-07-18 21:33:23 +0000begin scheduler settings UIgreg
2016-07-18 17:47:01 +0000ui plugin 3.1.34-SNAPSHOT. Split up the settings panels into discrete filesgreg
2016-07-18 16:36:00 +0000fix call to get the data storegreg
2016-07-15 22:19:57 +0000When adding a blackout date, remove all events scheduled on that date.greg
2016-07-15 21:11:57 +0000add plugin services for interacting with the excludergreg
2016-07-15 18:49:47 +0000add getExclusions methodgreg
2016-07-15 18:48:33 +0000Add LocalExclusionaryEventSource which is backed by data store. Add it to the CaptureScheduler etc.greg
2016-07-15 17:56:31 +0000joda-time -> java 8 timegreg
2016-07-15 17:48:05 +0000Add tests for ExclusionaryEventSourcegreg
2016-07-15 16:05:59 +0000joda-time -> java 8 time, clean up some thingsgreg
2016-07-15 15:55:52 +0000New version of scheduler library 1.0.2-snapshot. Migrate away from joda-time and use java 8 time API.greg
2016-07-15 15:24:19 +0000Add ExclusionaryEventSource which wraps around the LocalEventSource to provide the blackout dates functionality.greg
2016-07-14 23:10:16 +0000EventSource provides doSchedule/doUnschedule that we can hook into, so we can dry up the code for saving lists of events.greg
2016-07-14 21:38:04 +0000New version of scheduler classes library.greg
2016-07-13 19:13:52 +0000same for getGroup -> getEventGroupgreg
2016-07-13 19:13:17 +0000for consistency with createEventGroup/updateEventGroup this should be deleteEventGroup not deleteGroupgreg
2016-07-12 16:31:11 +00003910 -> 3912greg
2016-07-12 16:08:01 +0000release notes #3910greg
2016-07-12 02:39:42 +0000Web UI plugin 3.1.33.greg
2016-07-12 02:38:45 +0000Attempt 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-12 00:57:09 +0000Nomenclature: unit -> recordergreg
2016-07-12 00:46:21 +0000cut new streaming plugin and Live Preview plugingreg
2016-07-12 00:05:46 +0000Embiggen the "saved configs" modalgreg
2016-07-11 21:38:33 +0000Expand republish, edit, and saved configs modals to new modal widthgreg
2016-07-11 19:45:52 +0000Add the accordion checkbox behavior to republish modalgreg
2016-07-11 19:36:05 +0000Split 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 19:25:04 +0000When clicking the checkbox for an accordion, if the checkbox is selected then expand the accordion. See #1630greg
2016-07-11 18:27:01 +0000oopsgreg
2016-07-11 18:23:47 +0000consolidate the accordion-heading checkbox styling using less nested selectorsgreg
2016-07-11 18:19:58 +0000Need to re-declare .span8/.span10 since the .modalWidth() mixin is overriding themgreg
2016-07-11 16:44:18 +0000Make description field tallergreg
2016-07-11 16:33:10 +0000Scroll down to newly added subformgreg
2016-07-11 16:06:30 +0000Add placeholder hints for streaming fields.greg
2016-07-09 05:54:49 +0000Fix styling for category-tree widget.greg
2016-07-08 21:51:10 +0000use "x" close button instead of pink "remove" button, this looks nicergreg
2016-07-08 21:01:39 +0000Scale child inputs with the width of the modal, #1630greg
2016-07-08 17:19:11 +0000Increase width of template editor, see #1630greg
2016-07-08 03:51:11 +0000Restrict the multiform to streamer plugins for now. Make the template editor able to work both with multiform and single form.greg
2016-07-08 03:01:17 +0000Style up the add/remove buttonsgreg
2016-07-07 22:58:55 +0000To prevent multiple "Live Streaming" bubbles in the manage section, condense duplicate published entries.greg
2016-07-07 18:55:52 +0000Split 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 18:42:34 +0000Collapse duplicate publisher instances for the table listing, so we don't see "Publishes to: Streaming, Streaming, Streaming" for multi-stream templatesgreg
2016-07-07 16:42:10 +0000Don't call them "lecture" templates, just templatesgreg
2016-07-07 16:41:16 +0000Split "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-07 02:17:09 +0000There we gogreg
2016-07-07 01:49:43 +0000Google Drive is now ingesting videogreg
2016-07-07 01:41:26 +0000{ingests, config, publisherId} is now returned by the form so we don't need to create it heregreg
2016-07-07 00:57:21 +0000Return 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-07 00:56:22 +0000even more data -> data.configgreg
2016-07-07 00:28:32 +0000fix up "edit configuration" to use new populate() conventiongreg
2016-07-07 00:21:40 +0000fix up "saved configurations" to use new populate() conventiongreg
2016-07-06 22:39:09 +0000do not need IIFEgreg
2016-07-06 19:59:14 +0000add videojs-dash. Currently unused but it may be implemented eventuallygreg
2016-07-06 19:58:51 +0000New 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 17:48:33 +0000We 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 18:13:55 +0000Fix for issue where the audio source selector shows a source copy audio source instead of the primary audio source.greg
2016-07-01 20:43:05 +0000Expand 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 18:10:56 +0000Use the id from the config to determine ingest source.greg
2016-07-01 17:35:58 +0000Use 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 17:17:27 +0000new 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 16:29:20 +0000remove inaccurate comment; the graph works fine without writer nodes nowgreg
2016-07-01 15:52:05 +0000sourceEncodes is not a ko.computedgreg
2016-07-01 01:39:27 +0000roll everything back to underscore for now. The migration was taking longer than I wantedgreg
2016-07-01 01:17:22 +0000mix in underscore.stringgreg
2016-07-01 01:12:25 +0000object -> fromPairsgreg
2016-07-01 00:20:50 +0000add underscore.string as dependencygreg
2016-06-30 22:20:31 +0000This 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 22:14:45 +0000log with appropriate levelgreg
2016-06-30 22:01:49 +0000even if not handling UI errors specifically, at least log the errorgreg
2016-06-30 21:07:19 +0000even more underscore -> lodash stuffgreg
2016-06-30 20:20:13 +0000contains -> includesgreg
2016-06-30 20:10:56 +0000jshint complains about redefining status property, I totally forgot that was even a thinggreg
2016-06-30 19:35:53 +0000need to add .value() where appropriategreg
2016-06-30 19:22:15 +0000underscore -> lodashgreg
2016-06-30 18:48:43 +0000Use inputSource to determine where to find the input resolution.greg
2016-06-30 17:34:22 +0000Use 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 21:20:18 +0000videoSource is an observablegreg
2016-06-29 20:49:29 +0000still more value()greg
2016-06-29 20:48:24 +0000do not need to global require anymoregreg
2016-06-29 20:48:00 +0000lodash so return value()greg
2016-06-29 20:41:51 +0000Add a selector for the streaming config to select the input source (primary, or one of the source copies)greg
2016-06-29 20:25:27 +0000Since 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 19:47:24 +0000do not want to ingest "all" for streaming config, since a streamer can only accept one video and one audio input.greg
2016-06-29 19:36:23 +0000data now contains the entire {platform, ingests, config} structure so use data.config for validationgreg
2016-06-29 18:49:11 +0000since streamer form is override configToValues/valuesToConfig, revert back to returning the bare configgreg
2016-06-29 18:42:06 +0000TODO: Kaltura/Panopto forms should probably be hooking into configToValues/valuesToConfig instead of data/populategreg
2016-06-29 18:38:04 +0000Push 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 18:16:36 +0000rename 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 16:55:54 +0000rename publishPlatforms fields to match what is given to the backendgreg
2016-06-29 16:48:05 +0000Push 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 22:39:47 +0000Add remove buttons to sub forms.greg
2016-06-28 19:05:48 +0000Handle multiple publisher configs in template editor.greg
2016-06-28 18:13:08 +0000we do not need /* globals require */ if node: true in .jshintrcgreg
2016-06-28 17:46:58 +0000assume node-ish environment for jshintgreg
2016-06-28 17:46:36 +0000do not need an IIFE since we are using browserifygreg
2016-06-28 17:16:39 +0000Handle an array being returned from data()greg
2016-06-28 16:41:25 +0000remove log statementsgreg
2016-06-28 16:03:43 +0000more underscore -> lodash fixesgreg
2016-06-28 15:40:06 +0000call .value() when requiredgreg
2016-06-28 15:35:52 +0000underscore -> lodash for all publisher stuffgreg
2016-06-28 15:32:38 +0000Implement data() for multi-form. This simply returns an array from all the child forms.greg
2016-06-28 00:59:56 +0000Implement populate() for multi form. For backwards compatibility accept either array or single argument.greg
2016-06-28 00:52:42 +0000fix cases where PublisherForms.Abstract is used with multi formgreg
2016-06-28 00:43:47 +0000methods for adding and removing subforms, use knockout heregreg
2016-06-28 00:12:59 +0000clarify commentgreg
2016-06-28 00:12:13 +0000to prevent conflict with global _ (underscore), require lodash and noConflict itgreg
2016-06-27 23:42:39 +0000Introduce 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 22:42:18 +0000Stub out "multi-publisher-form" which is a wrapper for the standard publisher form which contains one or more forms.greg
2016-06-27 16:56:26 +00003.1.33-SNAPSHOT of ui plugingreg
2016-06-24 21:05:08 +0000base platform package 3.1.20greg
2016-06-24 21:04:28 +00003.1.20 of platform package; 1.10.1-1 of nginxgreg
2016-06-21 22:20:12 +0000new nginx using try-restart instead of status/stop/restartgreg
2016-06-21 22:18:01 +0000that was a mistake, 3.1.20greg
2016-06-21 22:12:48 +0000go ahead and cut 3.1.19 of platform debgreg
2016-06-21 22:00:00 +0000Removed unnecessary environment variables, since Xuggler is now bundled into a jar and loaded dynamically.greg
2016-06-21 21:56:54 +0000print message in case try-restart does nothinggreg
2016-06-21 21:50:11 +0000begin 3.1.19 of platform package. Provide a try-restart command for init script.greg
2016-06-21 16:53:48 +0000Release notes are a thing againgreg
2016-06-21 15:36:24 +0000removing jodd imports, jodd is already imported by the pomgreg
2016-06-21 15:28:27 +0000build fails for whatever reason if we use "clean install post-site" in one command, so use two commandsgreg
2016-06-21 15:00:04 +0000deploy to correct pathgreg
2016-06-21 00:53:01 +0000strip whitespace from pathgreg
2016-06-21 00:51:56 +0000oops, build-release is here. Not sure if we want to be using this one or the one in apt-repogreg
2016-06-20 23:40:43 +0000Adapt build-release to build the site, and deploy to deploy it along with the repo.greg
2016-06-20 22:24:31 +0000bring nginx back into the configuration-module-plugins reactorgreg
2016-06-20 20:02:08 +0000Add Offline LE plugin to repo.greg
2016-06-20 19:54:56 +0000Add offline-learning-engine to reactor buildgreg
2016-06-20 19:54:15 +00001.0.0 version of Offline LE plugin, with watch directory: /media/uploaded/cattura/watch_dirgreg
2016-06-20 18:33:15 +0000oops. use non-snapshot version of kaltura librarygreg
2016-06-20 18:09:14 +0000cut UI plugin 3.1.32greg
2016-06-20 18:07:41 +0000cut scheduler plugin 3.1.19greg
2016-06-20 18:04:53 +0000cut api plugin 3.1.13greg
2016-06-20 17:49:39 +0000cut alsa plugin 1.0.5greg
2016-06-20 17:19:30 +0000Add alsa capture to audio capture root pom (no idea why it wasn't there before?)greg
2016-06-20 17:12:27 +0000cut new base platformgreg
2016-06-20 17:10:05 +0000use nginx 1.10.1greg
2016-06-18 00:43:30 +0000Extract build number from platform deb and store it as a property on the build.greg
2016-06-18 00:30:09 +0000split the deb stuff into a separate filegreg
2016-06-17 23:25:53 +0000unit_setup.py is already copied into target, so just use thatgreg
2016-06-17 23:20:36 +0000Removing presenters pagegreg
2016-06-17 23:20:19 +0000Removing unnecessary and invalid menusgreg
2016-06-17 23:19:20 +0000fix cleanup of extracted manual pagesgreg
2016-06-17 23:18:26 +0000fix extraction of imagesgreg
2016-06-17 22:13:54 +0000treat the parsed manual pages as xhtml, not markdowngreg
2016-06-17 21:40:13 +0000Fix fetching unit setup script to work either from local or remote source.greg
2016-06-17 20:50:36 +0000since 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 19:01:55 +0000Adding 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 18:41:46 +0000clean 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 16:37:22 +0000new version of device-thumbnail-refresh-plugin, with metadatagreg
2016-06-17 00:45:05 +00003.1.13 of ppm plugin. Deploy pending #1599greg
2016-06-17 00:09:33 +0000cut new versions of log downloader and mediainfo plugins to use the new web server plugin librarygreg
2016-06-17 00:00:55 +0000Cut web server plugin 3.1.11greg
2016-06-16 23:30:57 +0000Use 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 23:10:38 +0000Null check for handler. This should not ever happen but if it does try to handle it gracefully.greg
2016-06-16 22:57:20 +0000Add web server logging handler with FINEST log levelgreg
2016-06-16 22:21:56 +0000Simplify 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 21:56:12 +0000Add some logging in the web server for when handlers are registered and when the web server starts up.greg
2016-06-16 21:55:46 +0000Simplify 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 21:53:20 +0000New version of web server plugingreg
2016-06-16 16:53:16 +0000Sort kaltura/panopto categories/folders by name. Deploy pending #1622greg
2016-06-16 16:21:40 +0000Update the javascript api client version 1, so that it can be used under SSLgreg
2016-06-16 15:49:27 +0000supply protocol for API. if we don't then the API client assumes httpgreg
2016-06-15 22:26:05 +0000cut nginx 1.10.1greg
2016-06-15 22:03:54 +0000Fixes for SSL cert generationgreg
2016-06-15 21:53:49 +0000Add in support for SSL. Generate a self-signed cert upon install if one does not exist.greg
2016-06-15 21:21:29 +0000Remove 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 18:43:33 +0000update nginx to 1.10.1 stablegreg
2016-06-14 21:21:46 +0000cut plugin 1.2.8 and library 3.2.2greg
2016-06-14 21:11:08 +0000new version of kaltura client and kaltura plugin. Enhance getCategories() to return all categories. Deploy pending #1621greg
2016-06-14 02:24:48 +0000correct parameter for group idgreg
2016-06-10 17:12:23 +0000remove "Plugin" from title, for now, for publishing plugins the name of the plugin is the name of the publishing servicegreg
2016-06-10 16:55:20 +0000Add logginggreg
2016-06-10 16:42:10 +0000change watch directory, make a setting so it can be configured in the plugingreg
2016-06-09 23:09:00 +0000Comment out audio gain control, see #1601greg
2016-06-09 23:00:09 +0000Re-enable the magewell audio devices in ALSA plugin by default, see #1602greg
2016-06-09 21:57:17 +0000Scrub references to SpeakerVO from scheduler, see #1608greg
2016-06-09 21:47:39 +0000Supply 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 21:37:50 +0000even more scrubbinggreg
2016-06-09 21:14:30 +0000more thorough scrubgreg
2016-06-09 21:12:28 +0000Remove speaker-related notifications.greg
2016-06-09 21:09:04 +0000Scrub references to speaker from UI. See #1608greg
2016-06-09 20:57:12 +0000Remove SpeakerVO and all support for it, see #1608greg
2016-06-09 20:44:57 +0000play/pause for the start/stop video buttongreg
2016-06-09 20:21:43 +0000Since 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 19:50:31 +0000clip 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 16:15:46 +0000cut Live Preview plugin 3.1.12greg
2016-06-09 01:38:08 +0000new version of Live Preview plugin with null pointer fix, deploy pending #1620greg
2016-06-09 01:17:22 +0000remove No Signal support from UI, see #1609greg
2016-06-09 01:12:50 +0000remove No Signal support from backend, see #1609greg
2016-06-09 01:04:01 +0000use 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-09 00:51:55 +0000add role descriptions, see #1610greg
2016-06-09 00:37:39 +0000don't handle show event if it comes from slider handle, see #1613greg
2016-06-08 22:25:04 +0000Correctly set slider value so that it reflects the actual SCD value, see #1613greg
2016-06-08 20:47:33 +0000Use publisher id for keying the publisher templates, not publisher title.greg
2016-06-08 20:10:27 +0000cut 1.0.2 of opencast plugin, deploy pending #1612greg
2016-06-08 20:09:32 +0000adjust form template IDgreg
2016-06-08 18:43:42 +0000begin version 1.0.2 of opencast plugin, with title change Matterhorn -> Opencastgreg
2016-06-08 18:42:33 +0000"Matterhorn" -> "Opencast"greg
2016-06-08 18:39:45 +0000begin version 3.1.32greg
2016-06-06 22:26:59 +0000Set 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 21:05:20 +0000Since 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 17:54:41 +0000Since 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 17:09:58 +0000oops. wrong fieldgreg
2016-06-02 16:06:43 +0000Remove NotificationRequestHandler and just use the one provided in the API library.greg
2016-06-02 16:04:48 +0000Update the NotificationRequestHandler (API request -> Notification bridge) with new version from SchedulerPlugin.greg
2016-06-01 19:49:54 +0000Extend Scheduler API v2 with methods for dealing with event groups and calendar import/export.greg
2016-05-31 21:40:21 +0000stackTrace -> stackgreg
2016-05-31 21:38:33 +0000error -> parseErrorgreg
2016-05-31 21:36:53 +0000Attempt to actually parse errors returned from the API, since all API request -should- be returning errors in a standard way.greg
2016-05-31 21:29:46 +0000Add proper error handling to javascript API client v3. Add a header explaining that it is automatically generated + datetime of generation.greg
2016-05-31 21:04:21 +0000new version of API plugingreg
2016-05-31 20:25:45 +0000Begin 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 19:16:25 +0000Force start time to be accompanied by stop time or duration. See #1616greg
2016-05-31 18:48:43 +0000rename commands_internal back to commandsgreg
2016-05-31 18:14:07 +0000Remove 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 17:24:14 +0000setStarted(true)greg
2016-05-31 17:02:33 +0000fix some null pointer errorsgreg
2016-05-31 16:41:39 +0000Create 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-27 01:22:25 +0000Provide 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 21:02:36 +0000remove raw SELECT_ALL query that isn't being usedgreg
2016-05-25 23:22:22 +0000Use the _scheduler object since that is where the validation is performed.greg
2016-05-25 22:32:19 +0000Begin new version of scheduler plugin.greg
2016-05-25 22:31:11 +0000New 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 18:57:48 +0000should be a -SNAPSHOT plugin, oopsgreg
2016-05-18 18:44:27 +0000remove code that isn't being used for this plugingreg
2016-05-18 18:38:23 +0000correct watch directory path, add default username/passwordgreg
2016-04-30 03:31:44 +0000Create 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-30 03:01:16 +0000Add a method to directly attach an output object.greg
2016-04-30 02:38:36 +0000simplify 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-30 02:20:19 +0000pass in dot to signify current directorygreg
2016-04-30 02:18:46 +0000fix passing in path to mkdir with slashesgreg
2016-04-30 01:54:17 +0000build the input media package correctlygreg
2016-04-30 01:50:12 +0000use lambdagreg
2016-04-30 01:49:43 +0000better to just use the hostgreg
2016-04-30 01:39:57 +0000Conceptualize 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-30 01:31:45 +0000try to make the SFTPUtility more intuitivegreg
2016-04-29 22:08:40 +0000clean up and add commentsgreg
2016-04-29 21:50:36 +0000Add 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 19:43:49 +0000rename publisher classgreg
2016-04-29 16:25:00 +0000fix some problems with parsing the configgreg
2016-04-28 21:54:25 +0000config takes a bare hostname, as we supply the directory on the plugin sidegreg
2016-04-28 21:53:39 +0000split SFTP logic into its own classgreg
2016-04-28 16:46:51 +0000add offline LE publishing plugingreg
2016-04-28 15:38:49 +0000release platformgreg
2016-04-28 15:38:11 +0000release console plugingreg
2016-04-28 15:37:48 +0000release UI plugingreg
2016-04-28 15:37:16 +0000release a bunch of CM pluginsgreg
2016-04-28 15:36:13 +0000cm 3.1.27greg
2016-04-27 23:33:38 +0000prevent any edit or import if disk space is lowgreg
2016-04-27 23:31:39 +0000stop edits or imports if low on disk spacegreg
2016-04-27 23:27:52 +0000stop running captures if low on disk spacegreg
2016-04-27 22:39:00 +0000add version/build info to startup messagegreg
2016-04-27 22:30:32 +0000logging should be configured as soon as possiblegreg
2016-04-27 22:08:03 +0000add 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 22:00:43 +0000fix styling on startup error modalgreg
2016-04-27 21:51:41 +0000remove close button; it's a fatal error, we can't do anythinggreg
2016-04-27 21:36:55 +0000fixes for startup error modalgreg
2016-04-27 21:21:20 +0000Pass startup errors into glue script. If we detect any, pop up a modal.greg
2016-04-27 20:44:29 +0000Split off commonly used modals into partialsgreg
2016-04-27 20:30:50 +0000add 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 20:20:33 +0000if we fail to connect to the database when retrieving local logins, don't breakgreg
2016-04-27 20:07:24 +0000handle if scheduler is nullgreg
2016-04-27 20:05:37 +0000even more fixes for null ormgreg
2016-04-27 19:43:39 +0000handle null index, see #1563greg
2016-04-27 19:38:04 +0000move 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 19:24:15 +0000if error occurs when connecting to database, proceed as normal. See #1563greg
2016-04-27 18:50:47 +0000versions.ghtml should not fail if MPA module is absentgreg
2016-04-27 18:46:07 +0000log downloader plugin 3.1.13-SNAPSHOT etcgreg
2016-04-27 18:44:06 +0000don't block on getPlugins()greg
2016-04-27 18:41:44 +0000console plugin 3.1.17-SNAPSHOT, handle null mpa modulegreg
2016-04-27 18:35:47 +0000hide restart MPA module button if MPA module is unavailablegreg
2016-04-27 18:29:28 +0000configuration API 3.1.13-SNAPSHOT. Handle null mpa modulegreg
2016-04-27 18:25:13 +0000if MPA module is null we still want to know about the CM pluginsgreg
2016-04-27 18:19:38 +0000if MPA module is not available, use an alternative approach to loading graphs directly from the filesystemgreg
2016-04-27 18:19:20 +0000if MPA module is not available we can't capture anyway so don't load templatesgreg
2016-04-27 17:26:30 +0000if 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 17:21:59 +0000web ui plugin 3.10.31-SNAPSHOT. Handle null mpa modulegreg
2016-04-27 17:12:37 +0000configuration module 3.1.27-SNAPSHOT. If media processing module can't be found, continue as normal with limited functionality.greg
2016-04-27 17:00:09 +0000handle label == null correctly, instead of stringifying it as "null"greg
2016-04-27 16:13:49 +0000web ui plugin 3.1.30greg
2016-04-27 15:51:47 +0000only show visualizer option if visualizer is enabledgreg
2016-04-27 15:03:43 +0000use if: to control display of the export button, since the button group will look weird if this button is rendered but hiddengreg
2016-04-27 02:06:38 +0000scheduler plugin 3.1.18greg
2016-04-27 01:59:59 +0000Add UI for calendar exportgreg
2016-04-27 01:22:31 +0000Use the unit's selected timezone.greg
2016-04-27 01:10:47 +0000add support for our custom ical properties to importgreg
2016-04-27 01:00:49 +0000add function and services for exporting calendar datagreg
2016-04-27 00:22:09 +0000use lambdagreg
2016-04-27 00:21:25 +0000remove dead codegreg
2016-04-27 00:02:53 +0000don't need the google-rfc-2445 dependency because biweekly embeds the library alreadygreg
2016-04-26 23:53:42 +0000update biweekly dependency to latest version, this should resolve any lingering timezone problems. see #1595greg
2016-04-26 23:51:29 +0000simplify calendar testsgreg
2016-04-26 21:52:17 +0000add #1595 test calendargreg
2016-04-26 20:39:16 +0000add media-package-puller plugingreg
2016-04-26 20:38:17 +0000c-s-d 3.1.10greg
2016-04-26 20:37:56 +0000Add cranium-integration-plugin to standard installgreg
2016-04-26 20:35:34 +0000s-p-p 3.1.11greg
2016-04-26 20:35:08 +0000Add 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 17:15:03 +0000Add panopto project to publishing multimodule pomgreg
2016-04-26 16:58:38 +0000use a global FolderFetcher object to minimize the number of redundant caches keptgreg
2016-04-26 16:53:40 +0000allow setting options on CategoryTree after construction, so we can set it to read only when renderinggreg
2016-04-26 16:12:35 +00001.0.0 of panopto library and plugingreg
2016-04-26 15:49:29 +0000tests for listUsers, but admin is required to use thatgreg
2016-04-25 23:08:24 +0000Allow setting logger on the clientgreg
2016-04-25 22:33:54 +0000fix issue where fixURL was defaulting to http:// instead of https:// for hosted instancesgreg
2016-04-25 20:20:04 +0000Attempt 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 18:20:49 +0000If we get error from retrieving folders, reject promisegreg
2016-04-25 16:55:49 +0000Use the categorytree module in kaltura formgreg
2016-04-25 16:21:37 +0000When re-rendering category tree, preserve selected options.greg
2016-04-25 16:16:48 +0000Split off the category tree into its own module so it can be reused in the Kaltura formgreg
2016-04-25 14:46:53 +0000URL is required and can't be a placeholder, since we don't have a default URL to fall back to.greg
2016-04-23 02:36:18 +0000Split out the code for fetching folders into a self contained function.greg
2016-04-23 02:17:03 +0000Split 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-23 01:41:52 +0000fix up styling for panopto folder selectgreg
2016-04-22 23:32:17 +0000begin work on dedicated config form for panopto plugingreg
2016-04-22 22:57:50 +0000comment for "publisher extensions"greg
2016-04-22 22:38:51 +0000Use browserify to split off all the publisher form logic into individual files.greg
2016-04-22 22:09:14 +0000move to browserify for first-party JS codegreg
2016-04-22 22:03:08 +0000roll back less, latest update broke some thingsgreg
2016-04-22 21:43:42 +0000update to latest versions of less and uglify, add browserify and clean-cssgreg
2016-04-22 21:28:12 +0000remove .netbeans.xmlgreg
2016-04-22 21:24:04 +0000Move the package.json contents into the pomgreg
2016-04-22 21:12:21 +0000for generic publisher form, if we think the field is a password/secret field, use "password" as the input typegreg
2016-04-22 21:06:22 +0000Split out all the publisher forms into their own files which are included at build time.greg
2016-04-22 21:05:58 +00003.1.30-SNAPSHOT. Enhance the html preprocessor so it can include files relative to the current file being processed.greg
2016-04-22 20:05:29 +0000PPTX doesn't seem to be supportedgreg
2016-04-22 18:52:22 +0000upload PowerPoint speaker filesgreg
2016-04-22 18:50:05 +0000tone down logginggreg
2016-04-22 17:47:27 +0000Set the viewUrl on the remote asset so it can be linked from the UIgreg
2016-04-21 22:48:58 +0000Get entryId from the upload id and use that as the entry id.greg
2016-04-21 21:35:18 +0000make StreamUpload a public type and return it from the uploader classgreg
2016-04-21 20:57:25 +0000Disable all tests for nowgreg
2016-04-21 20:55:39 +0000Add test resources directory for projectgreg
2016-04-21 20:51:05 +0000Fix minimum chunk size (5 MB)greg
2016-04-21 20:12:59 +0000to 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 15:56:52 +0000do not need to know about presenter/presentation source ids, was my mistakegreg
2016-04-21 15:55:32 +0000"SecondaryPresentation" is actually a PowerPoint file. Use "SecondaryVideo" for all source copiesgreg
2016-04-21 15:46:00 +0000Fix secondary video uploadgreg
2016-04-21 15:29:21 +0000Finish upload with a PUT call to "upload/{id}" to trigger processing on the servergreg
2016-04-21 04:59:59 +0000Chunk must be at least 5 MB or else it will throw errors at usgreg
2016-04-21 01:30:13 +0000attempt to fix the multipart uploadergreg
2016-04-20 23:43:03 +0000add @data to Progressgreg
2016-04-20 23:24:12 +0000add a RequestHandler to strip UTF-8 BOM from response, since this seems to choke the S3 SDKgreg
2016-04-20 20:52:17 +0000update apache http dependenciesgreg
2016-04-20 20:38:16 +0000Supply credentials for AWS SDKgreg
2016-04-20 18:04:15 +0000fix cookie headergreg
2016-04-20 17:26:09 +0000Fixes for request without stream type. Add test for single-video session upload.greg
2016-04-20 17:08:22 +0000Add support for null stream typegreg
2016-04-20 16:58:14 +0000Add test videos to test-resources. Remove xmlbeans stuffgreg
2016-04-20 16:53:57 +0000Add loggers to client and upload classes. Attempt to improve setting up an upload.greg
2016-04-20 16:46:13 +0000Add test for uploader using test-videosgreg
2016-04-20 16:45:49 +0000Add debug logging to test casesgreg
2016-04-20 14:53:10 +0000Add videos for testing publishing clientsgreg
2016-04-19 17:17:05 +0000fix double slashes in urlgreg
2016-04-19 16:57:25 +0000Return HttpCookie object with name/value instead of just value, so it can be used in the uploadergreg
2016-04-19 16:44:20 +0000Get all pages of foldersgreg
2016-04-19 15:28:29 +0000Add methods for getting user/group access information for a usergreg
2016-04-19 01:08:47 +0000flesh out enumsgreg
2016-04-19 01:07:22 +0000Add a way to get user info for the logged in user.greg
2016-04-19 00:40:43 +0000It seems like folder is required, so throw an error if it's not present.greg
2016-04-19 00:14:56 +0000fix set folder on sessiongreg
2016-04-18 23:59:40 +0000Make 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 23:18:09 +0000Support folder in configgreg
2016-04-18 22:55:59 +0000Add method to get folders assorted into a tree.greg
2016-04-18 21:13:43 +0000correct auth checkgreg
2016-04-18 21:10:09 +0000Start fleshing out panopto plugin.greg
2016-04-18 20:34:49 +0000@ignore AddSessiongreg
2016-04-18 20:06:56 +0000Add progress callbackgreg
2016-04-18 20:02:36 +0000Add in amazon S3 dependency and logic for uploading, based on C# example https://github.com/Panopto/SessionUploadExamplegreg
2016-04-16 01:22:02 +0000Begin work on uploader classgreg
2016-04-15 21:07:33 +0000use PanoptoFailureException for errors from the APIgreg
2016-04-15 20:53:54 +0000Add a test for addSessiongreg
2016-04-15 19:34:20 +0000Add method to add a session (presentation)greg
2016-04-15 17:26:01 +0000Begin work on the higher-level Panopto client, with testsgreg
2016-04-15 03:38:39 +0000Test for auth cookie. We will need that to do uploads.greg
2016-04-15 01:04:59 +0000Some more testsgreg
2016-04-15 00:32:59 +0000Add test for getSessionsListgreg
2016-04-14 22:22:15 +0000groovy's own xml parser throws away namespace info we need, so use JDOM instead.greg
2016-04-14 20:45:28 +0000Create a groovy script to download the wsdl's so they are cached.greg
2016-04-14 20:00:52 +0000more tests!greg
2016-04-14 17:45:47 +0000add false/null assertionsgreg
2016-04-14 16:59:01 +0000First proof of concept test for Panopto API clientgreg
2016-04-14 16:58:42 +0000Switch to adb binding which is easier to work with and generates fewer class files.greg
2016-04-13 23:46:26 +0000update to latest axis2 plugin version, dry up config, add xmlbeans classpath workaroundgreg
2016-04-13 18:04:58 +0000cut version 3.1.11greg
2016-04-13 18:04:46 +0000To 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-13 00:21:47 +00003.1.10 of live stream viewer plugingreg
2016-04-13 00:20:14 +0000Remove MediaCore plugin from standard publishing plugins.greg
2016-04-13 00:18:12 +0000new build of platform packagegreg
2016-04-13 00:15:40 +0000CM 3.1.26greg
2016-04-13 00:15:03 +0000cut UI plugin 3.1.29greg
2016-04-13 00:14:46 +0000use audio icon for audio device preview buttongreg
2016-04-13 00:04:51 +0000push RequestResponseHelper import into WebServerEvent handlergreg
2016-04-12 23:59:19 +0000Move clipper out of beta featuresgreg
2016-04-12 23:51:10 +0000Enable audio only capture/recording preview if flash is available.greg
2016-04-12 22:45:12 +0000some client side logging for initgreg
2016-04-12 21:44:18 +0000Use 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 21:03:07 +0000Pass down local IP address to stream player, so we can attempt to use it when connecting to RTMP.greg
2016-04-12 20:03:46 +0000Filter docker interface from ifconfig (This is very unlikely to affect client units)greg
2016-04-12 19:49:21 +0000If 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 18:07:49 +0000expand 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 15:31:29 +0000CM 3.1.26-SNAPSHOTgreg
2016-04-12 15:03:41 +0000cut MPA module 3.1.14greg
2016-04-12 15:02:38 +0000release 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 14:57:26 +0000Use 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 14:57:16 +0000Don't deleteOnExit the temp directory. Log when the temp directory is going to be created. (cherry picked from commit f1306b7491a3f23acfc0db69c8edbe5965fb413b)greg
2016-04-12 01:14:28 +0000Use 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-12 00:53:29 +0000Don't deleteOnExit the temp directory. Log when the temp directory is going to be created.greg
2016-04-12 00:33:29 +0000Start work for panopto library and plugin.greg
2016-04-08 22:08:28 +0000Only 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 21:04:09 +0000cut version 1.0.1 of java-sound capture library, 1.0.3 of java-sound capture plugingreg
2016-04-08 18:49:50 +0000was trying out rtmpdump + flash playergreg
2016-04-08 18:37:28 +0000add top margin to the audio live preview buttonsgreg
2016-04-08 17:37:41 +0000make the live preview buttons block buttonsgreg
2016-04-08 17:13:43 +0000Update list of HDA Intel driver names in filter.greg
2016-04-08 17:07:18 +0000Move the preview button to the bottom. Only show if flash is detected.greg
2016-04-08 15:48:26 +0000Add jqplugin for detection of browser plugins (i.e. flash)greg
2016-04-07 19:08:41 +0000Properly 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-07 02:03:30 +0000Add 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-07 01:52:18 +0000Add rudimentary UI support for audio device preview.greg
2016-04-07 01:29:38 +0000Increase ping interval to 10 seconds and make ping call asynchronous.greg
2016-04-07 01:03:34 +0000Implement inactive device preview reaper, but keep it commented out for now. Not really confident it will work correctly.greg
2016-04-07 00:42:30 +0000Overload 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-07 00:37:06 +0000Add a convenience getLastAccess method for stream.greg
2016-04-07 00:34:49 +0000Fix logic bug in pingClient service.greg
2016-04-07 00:34:11 +0000If we try to setDefaultStream with a stream that actually isn't in the group, add it to the group.greg
2016-04-07 00:23:47 +0000Since we need the stream group id to be present for the client, move it onto the stream group VOgreg
2016-04-07 00:14:22 +0000Inject plugin id into template so we can use it in the client side to ping using the services API.greg
2016-04-06 23:51:15 +0000Move 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 23:09:36 +0000In 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 23:00:00 +0000add rudimentary support for audio device preview.greg
2016-04-06 22:24:11 +0000Do 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 21:33:25 +0000Check if the stream VO specifies rtmp or webm before attaching the requisite source.greg
2016-04-06 21:16:53 +0000in 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 20:58:52 +0000Implement 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 21:28:04 +0000Move 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 21:15:50 +0000Add backend service to "ping" client associated with stream.greg
2016-04-05 21:02:21 +0000Create a client object for this unique client and pass it into the client-side code.greg
2016-04-05 20:37:07 +0000initStream -> initPlayergreg
2016-04-05 20:35:55 +0000Since 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 17:42:58 +0000Removed ?streams bit because a plugin service is handling that now.greg
2016-04-05 17:42:25 +0000Rename LiveStreamService -> LivePreviewPlayerService to make purpose more cleargreg
2016-04-05 17:26:43 +0000Extend 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 17:21:54 +0000Split 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 16:42:03 +0000If 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 23:15:36 +0000If flash is supported but we can't load the stream, force the WebM fallback by destroying and recreating videojs.greg
2016-04-04 22:50:41 +0000if loadstart event doesn't fire within 2 seconds, consider load failuregreg
2016-04-04 19:13:43 +0000make streamID into a javascript variable for cleanlinessgreg
2016-04-04 18:15:17 +0000reorganize player JS/CSS/SWF code into /live-player/ so that the stream url and the player code are cleanly separatedgreg
2016-04-01 17:26:19 +0000since we're using jquery now, we can use promises instead of callbacksgreg
2016-04-01 16:24:39 +0000even more terminology changesgreg
2016-04-01 00:17:59 +0000more terminology changes, provide backwards compatibility for services used in the UIgreg
2016-03-31 23:53:14 +0000Use the term "HTTP" to refer to HTTP (CWS) streaming, instead of the specific implementation thereof.greg
2016-03-31 23:50:31 +0000Specify "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 21:59:51 +0000Enhance the template to attach CWS stream instead of HLS for now.greg
2016-03-31 21:44:58 +0000No reason to have the randomly generated filename (a CWS thing) here when it can be in the template.greg
2016-03-31 20:06:17 +0000Null check on both audio and video source.greg
2016-03-31 18:30:46 +0000StreamRedirectService -> 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 18:06:45 +0000Re-implement logic for creating CWS streams. Split the CWS/RTMP related logic into their own classes.greg
2016-03-31 14:53:54 +0000Add CWS back as a dependency. This will be the branch for the hybrid RTMP/CWS approach.greg
2016-03-31 14:52:28 +0000Poll 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 16:40:49 +0000Add videojs-contrib-hls and attach HLS source to videojs element.greg
2016-03-28 16:28:11 +0000remove unused template (probably left over from oauth stuff) greg
2016-03-25 23:08:50 +0000Set maximum stream name length for RTMP streams to 90 characters.greg
2016-03-25 22:18:20 +0000Add 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 20:12:13 +0000rename attachStream -> attachRtmpStream in case we need to also add a CWS stream for compatibility with non-Flash clientsgreg
2016-03-25 18:26:15 +0000Include fork of video-js swf due to issue regarding width/height. See https://github.com/videojs/video-js-swf/issues/55greg
2016-03-25 18:18:33 +0000Use helper.serve to serve the file.greg
2016-03-25 18:11:47 +0000Use locally stored videojs swf.greg
2016-03-25 16:43:26 +0000Dry up some of the code for embedding RTMP stream. Use groovy template engine.greg
2016-03-24 21:47:44 +0000add VideoJS flash player for RTMP streamgreg
2016-03-21 18:56:38 +0000switch to xuggler based proxy, cleanupgreg
2016-03-17 18:42:55 +0000Add a test for rtmp -> http proxy server.greg
2016-03-09 22:55:41 +0000Update to newer version of dash.js.greg
2016-03-09 17:23:24 +0000Re-enable support for publishing videos to Google Drive with the Learning Enginegreg
2016-03-08 01:51:11 +0000Add profiles for including nginx and third party librariesgreg
2016-03-07 20:39:01 +0000Null check for session and graph.greg
2016-03-07 20:33:15 +0000null check for task in APIgreg
2016-03-07 19:11:46 +0000cranium plugin 1.0.6greg
2016-03-07 18:30:08 +0000If 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 17:53:40 +00003.1.16greg
2016-03-07 17:53:13 +00003.1.16-SNAPSHOTgreg
2016-03-07 17:10:42 +0000Throttle 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-05 03:15:14 +0000cut version 3.1.28greg
2016-03-05 03:11:17 +0000UpdatedEvent toogreg
2016-03-05 03:07:59 +0000Rebuild dashboard schedule info on ScheduledEventsCreatedEvent/ScheduledEventsDeletedEvent.greg
2016-03-05 02:59:33 +0000Use knockout for template selector in schedule modal. Deploy pending #1592greg
2016-03-04 21:14:25 +0000New version of platform, with configuration module .25greg
2016-03-04 20:50:54 +0000Small 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 20:43:57 +0000can't make this dependency "provided" because the plugin loader can't handle this correctlygreg
2016-03-04 20:15:27 +0000Release a bunch of plugins/libraries/modules in preparation for next buildgreg
2016-03-04 19:14:57 +0000Only run the process once.greg
2016-03-04 19:11:26 +0000Just in case something breaks here...greg
2016-03-04 19:10:18 +0000Add proper parsing of kernel module infogreg
2016-03-04 18:28:40 +0000Add assorted system info to log downloader plugingreg
2016-03-04 17:53:43 +0000Add plugin info to log-downloader-plugin.greg
2016-03-03 03:06:22 +0000Fix 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-03 02:15:27 +0000hook into MediaPackageEvents (e.g. CaptureStartEvent, CaptureDoneEvent, CaptureFailureEvent) and update status accordinglygreg
2016-03-02 23:58:08 +0000remove @authorgreg
2016-03-02 23:40:45 +0000Publishing 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 22:18:34 +0000Make 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 21:37:05 +0000Reorder the url/stream name fields to match what youtube shows the user.greg
2016-03-02 21:25:31 +0000Extend streaming UI to support multiple host names per "known provider." Also add a form for youtube streaming.greg
2016-03-02 20:40:05 +0000Increase 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 18:34:57 +0000Collect 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 17:08:51 +0000Log when we are about to start/stop PPM, in addition to when it is actually started/stoppedgreg
2016-03-02 16:52:14 +0000If 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-02 00:15:37 +0000Add recent lodash buildgreg
2016-03-02 00:13:18 +0000Remove some boilerplate by using convenience methodsgreg
2016-03-02 00:11:49 +0000Add convenience method to wrap a function as a Runner.Listenergreg
2016-03-02 00:00:15 +0000Add convenience method to wrap a function as a Callbackgreg
2016-03-01 23:49:03 +0000Add some helper objects to wrap a function as a callable or runnable.greg
2016-03-01 23:42:02 +0000When adding or removing a device from PPM takes longer than 10 seconds, send an incident report.greg
2016-03-01 23:06:16 +0000Make adding a device to list of PPMs asynchronous.greg
2016-03-01 20:27:49 +0000In 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 19:55:43 +0000new version of module bridge + configuration module.greg
2016-03-01 18:48:00 +0000Add a setup delay.greg
2016-03-01 18:16:45 +0000Add startup delay, for testing with other parts of the systemgreg
2016-03-01 17:20:22 +0000Only 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 16:43:03 +0000Bring 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-03-01 05:16:00 +0000eh, 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-03-01 01:46:38 +0000(Try to) improve audio reading by using the MediaData utils to calculate timestamps.greg
2016-03-01 00:05:41 +0000Use RebaseToFst instead of FstToZerogreg
2016-02-29 23:27:15 +0000Use _fstToZeroTsCorrector to ensure video timestamps are always zero-based regardless of what comes from the reader.greg
2016-02-29 22:55:56 +0000Invalidate clock on start up.greg
2016-02-29 22:32:46 +0000Use plugin name as "vendor"greg
2016-02-29 18:34:59 +0000Do 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 18:10:30 +0000Forgot that _runner.requestStartup() may spawn multiple threads, so use _running to atomically guard against itgreg
2016-02-29 17:44:32 +0000Use same strategy for timestamps as the old reader plugingreg
2016-02-29 17:11:37 +0000Add unified mock audio/video device plugin which will eventually replace the separate audio/video plugins.greg
2016-02-26 23:12:20 +0000oops, increment versiongreg
2016-02-26 23:11:30 +0000If task is null return failure for status.greg
2016-02-26 23:03:48 +0000this is actually injected into the page, not with an iframe. So scope the css appropriatelygreg
2016-02-26 22:49:02 +0000pre-wrap instead of pregreg
2016-02-26 20:03:24 +0000Tooltip for version infogreg
2016-02-26 20:01:57 +0000Use getDoc binding on version info link so clicking it summons a modal.greg
2016-02-26 20:01:16 +0000Allow specifying the documentaton source as a href so this binding can be used on links.greg
2016-02-26 00:34:30 +0000Link to version page from the UIgreg
2016-02-26 00:29:03 +0000Implement a more detailed version pagegreg
2016-02-25 22:25:32 +0000Remove references to deprecated ScriptEngineProxy.greg
2016-02-25 22:22:28 +0000Enable execution of groovy html template files from htdocs.greg
2016-02-25 20:12:17 +0000More null safety in checkNetwork; seen some NPE's from getSubnet()greg
2016-02-25 19:15:11 +0000add cranium plugin to capturecast pro repogreg
2016-02-12 18:11:25 +0000Pass 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-11 01:23:41 +0000CM 3.1.24greg
2016-02-11 01:22:58 +0000scheduler plugin 3.1.15, UI plugin 3.1.26greg
2016-02-11 00:49:38 +0000Use the same algorithm for determining failed capture as the MediaPackageHelper, by considering sources as well as outputs.greg
2016-02-11 00:07:18 +0000Use 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 23:59:15 +0000Add helper method to determine failure reason for a media package.greg
2016-02-10 23:02:46 +0000work's not done on the configuration module yet, 3.1.24-SNAPSHOT...greg
2016-02-10 19:29:59 +0000EventStatus.forEvent -> proxy.getScheduler().getStatusForEvent(event)greg
2016-02-10 19:29:09 +0000Move 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 19:10:54 +0000cut platform version 3.1.13greg
2016-02-10 19:10:03 +0000cut configuration module 3.1.23greg
2016-02-10 19:07:29 +0000leading zero in hours placegreg
2016-02-10 18:14:28 +0000Use getFullHoursOfDuration to ensure capture durations > 24 hours are displayed properly.greg
2016-02-10 17:47:25 +0000set 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 17:46:45 +0000general functions should be put in functions.jsgreg
2016-02-09 21:16:27 +0000fixes for null/not found eventsgreg
2016-02-09 21:07:44 +0000Split off the API into its own classes.greg
2016-02-09 20:55:07 +0000Make return values from get/post methods consistentgreg
2016-02-09 19:41:00 +0000fix for passing in duration to update callgreg
2016-02-09 19:27:37 +0000Do not fail in case of missing parameters, just ignore themgreg
2016-02-09 17:21:56 +0000UserNotification deprecatedgreg
2016-02-09 02:46:53 +0000make dependency on scheduler library "provided" meaning we don't bundle it into the debgreg
2016-02-09 02:43:04 +0000speaker == null means no speaker, speaker == invalid means do not set the speakergreg
2016-02-09 02:36:51 +0000Fix handling of speaker == -1greg
2016-02-09 02:20:23 +0000fix handling tagsgreg
2016-02-09 02:13:48 +0000Check for startTime > currentTimegreg
2016-02-09 02:04:26 +0000To keep backwards compatibility, execute API commands as system user (which has all permissions).greg
2016-02-09 02:03:14 +0000Add ability to perform API operations as a different user.greg
2016-02-09 02:00:10 +0000Fix 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-09 01:45:59 +0000Move 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-09 01:35:54 +0000add notegreg
2016-02-09 01:35:15 +0000Not necessary since the api builder will correctly jsonify the exception.greg
2016-02-09 01:08:35 +0000Move commands out of the shared scheduler library and into the scheduler plugin. Internal logic shouldn't be exposed in the library.greg
2016-02-09 01:04:09 +0000Update 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-09 00:08:44 +0000new version of scheduler plugingreg
2016-02-08 16:38:09 +0000cut version 1.0.5 of rtmp plugingreg
2016-02-04 23:30:57 +0000Use 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 21:51:14 +0000Cancellation 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 17:09:03 +0000Only 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 19:02:25 +0000Pin platform package to latest version of configuration module and MPA modulegreg
2016-02-02 17:06:17 +0000"Cattura" not "Catture"greg
2016-02-02 14:51:33 +0000fix path to unit setupgreg
2016-02-02 01:47:04 +0000Remove versionsBackup pomsgreg
2016-02-02 01:44:01 +0000Add build-release script here, not in apt-repogreg
2016-02-02 00:38:15 +0000fix path to setup scriptgreg
2016-02-01 23:27:20 +0000use our parent pomgreg
2016-02-01 23:24:11 +0000Add "distribution" directory which contains the aggregate deb packages and the repo project.greg
2016-02-01 22:50:23 +0000Add apt repo maven plugingreg
2016-02-01 20:57:16 +0000collect dependencies of scope "compile" and "runtime"greg
2016-02-01 20:15:34 +0000Disable some projects that don't build correctly yetgreg
2016-02-01 19:28:32 +0000add get-build-number scriptgreg
2016-02-01 18:01:10 +0000Add parent pom to apt-repo pomgreg
2016-02-01 17:04:29 +0000Add junixsocket to 3rd party librariesgreg
2016-01-30 01:34:42 +0000platform package should have parent pomgreg
2016-01-30 01:31:08 +0000update RunnerProcessor.java to make it build under jenkinsgreg
2016-01-30 00:11:50 +0000Add the parent pom to all poms, including multimodule pomsgreg
2016-01-30 00:04:01 +0000Rename "modules" to "base-platform" directory and move the package for base platform there.greg
2016-01-29 19:54:17 +0000correct variable for $@greg
2016-01-29 19:44:15 +0000Add 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-29 00:51:52 +0000update learning engine plugin with version rangegreg
2016-01-29 00:51:09 +0000What even does this plugin do?greg
2016-01-29 00:30:51 +0000more versiony fixesgreg
2016-01-29 00:12:11 +0000Update all configuration module plugins to use a version range when building against configuration module and other plugin libraries.greg
2016-01-28 02:12:34 +0000actually move the jenkins stuff back into the jenkins repogreg
2016-01-28 02:04:50 +0000Update plugins.txt to latest versionsgreg
2016-01-27 23:56:15 +0000Add 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 23:07:58 +0000Add images for virtual jenkins instancegreg
2016-01-27 01:04:57 +00003.1.22 of configuration module, 3.1.13 of schedule plugin, 3.1.24 of UI plugingreg
2016-01-27 00:45:26 +0000"Media Processing Service" -> "Media Capture/Publishing/Processing Service"greg
2016-01-27 00:36:58 +0000Centralize 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-27 00:26:00 +0000Updates to correctly handle PublishersDetectedEvent from the backend.greg
2016-01-26 23:45:37 +0000Remove various unused constantsgreg
2016-01-26 23:41:47 +0000Remove 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 22:37:01 +0000cut version 1.0.4 of rtmp plugingreg
2016-01-26 22:31:27 +0000Use RtmpClientConnection.testConnect to test connectiongreg
2016-01-26 19:52:41 +0000Pass in logger to clientgreg
2016-01-26 19:52:06 +0000Allow passing in logger to clientgreg
2016-01-26 00:14:56 +0000More robust authentication function. Deploy pending #1586greg
2016-01-25 23:51:23 +0000Disable test for now, it takes a whilegreg
2016-01-25 23:51:12 +00001.0.3-SNAPSHOT of rtmp librarygreg
2016-01-25 18:20:56 +0000add build profile for jdk7greg
2016-01-25 18:15:58 +000030 second timeout on test connection. Always close test connection before exiting.greg
2016-01-25 18:13:18 +0000Implement verifyCredentials for RTMP plugin.greg
2016-01-25 18:03:28 +0000If there is an error connecting, handle the error by failing the processor.greg
2016-01-23 03:14:24 +0000Begin rtmp plugin 1.0.4greg
2016-01-23 01:22:44 +00003.1.10 of log downloader plugingreg
2016-01-23 01:14:17 +00003.1.21 of configuration modulegreg
2016-01-23 01:13:21 +0000Add graph to logs zip, with special care to censor sensitive info (e.g. secrets, passwords)greg
2016-01-23 00:47:39 +0000note which ticket this patch corresponds togreg
2016-01-23 00:45:23 +0000patch launch script to use java 7 onlygreg
2016-01-23 00:27:06 +0000Add patch #3016.2 which includes patches for #1532 and #1567greg
2016-01-22 22:59:13 +0000Packager library makes too many assumptions we don't need, so cut it down into something much simpler.greg
2016-01-22 21:25:22 +0000Add a mojo which builds a self-extracting tar file using the packager library from the distribution builder plugin.greg
2016-01-21 23:44:29 +0000If extraLogs directory exists then include that in the capture session zip.greg
2016-01-21 21:53:44 +0000Catch CaptureFailureEvent and generate log dump in /extraLogs. This replaces the /failureLogs feature in earlier builds.greg
2016-01-21 00:52:41 +0000Remove 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 23:57:45 +00003.1.23 of web UI plugingreg
2016-01-20 23:55:18 +00003.1.11 of api plugingreg
2016-01-18 16:25:26 +0000implement javascript format v3 api clientgreg
2016-01-14 19:10:38 +0000Add 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 18:47:43 +0000Add 3016.1 patchgreg
2016-01-06 21:05:33 +0000begin version 3.1.10 of log downloader plugin. Include lsmod, lspci, and lsusb output.greg
2016-01-06 02:11:32 +0000Allow 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-29 00:19:45 +0000Set level of file handler to Level.ALLgreg
2015-12-28 23:49:20 +0000use different variable for other errorgreg
2015-12-28 23:31:10 +0000if error occurs while parsing api response, catch error and reject promisegreg
2015-12-28 18:32:35 +0000If there are no "detectable" plugins, then immediately set progress to 100% and return.greg
2015-12-28 17:28:19 +0000Updates to provision.py to make it able to pull the setup script from repositories.catturavideo.comgreg
2015-12-22 01:16:30 +0000When event source closes for some reason, re-open it.greg
2015-12-18 01:41:16 +0000jshint fixesgreg
2015-12-17 23:56:03 +0000Add 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-17 02:04:42 +0000use _plugin.getResource() to access the resource in the plugin directorygreg
2015-12-17 01:58:40 +0000Move 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-17 01:54:01 +0000new version of API plugin + librarygreg
2015-12-14 17:27:34 +0000Adding work for rtmp/dash live previewgreg
2015-12-12 01:33:38 +0000fixes for provision.py where additionalData directory does not existgreg
2015-12-12 00:51:54 +0000fix path to setup script & repogreg
2015-12-12 00:50:25 +0000Fix path to unit setup scriptgreg
2015-12-12 00:47:12 +0000Add mavenized Fridmon to native libraries projectgreg
2015-12-12 00:23:59 +0000update to guava 19greg
2015-12-12 00:02:58 +0000add notes for building and deployinggreg
2015-12-11 23:54:29 +0000Remove temporary pom filesgreg
2015-12-11 23:17:30 +0000cannot run findPlugins in the onLaunch callback thread right nowgreg
2015-12-11 23:07:37 +0000add todo note to run the onLaunch callback in a separate thread to avoid blocking the ProcessHelpergreg
2015-12-11 22:33:32 +0000Add processor-test-runner and plugingreg
2015-12-11 22:17:24 +0000add gitignoregreg
2015-12-11 22:16:58 +0000add a name to the pom filegreg
2015-12-11 21:55:08 +0000Add reactor poms for all subdirectories, so that the entire repo can be built from the root.greg
2015-12-11 21:33:34 +0000Remove dvd creator plugingreg
2015-12-11 21:12:44 +0000Add parent pom for library projectsgreg
2015-12-11 20:51:38 +0000Add parent pom.xml at root, as is common practice for maven projectsgreg
2015-12-11 20:43:01 +0000Add save frame plugingreg
2015-12-11 20:26:32 +0000Add native library submodulesgreg
2015-12-11 20:23:21 +0000Add cattura common native librariesgreg
2015-12-11 20:19:59 +0000Add audio level plugingreg
2015-12-11 20:09:38 +0000Add rtmp streaming projectgreg
2015-12-11 20:08:00 +0000Adding audio capture projectsgreg
2015-12-11 19:45:29 +0000Add clipper and writer projectsgreg
2015-12-11 19:41:20 +0000Add tatvik encoding librariesgreg
2015-12-11 19:39:21 +0000Add qt-faststartgreg
2015-12-11 19:36:00 +0000add desktop capture projectgreg
2015-12-11 19:34:48 +0000Add frame stitcher, no signal, and resampler pluginsgreg
2015-12-11 19:32:30 +0000Add SC/OCR pluginsgreg
2015-12-11 19:21:54 +0000Remove unfinished alternate blackmagic librarygreg
2015-12-11 18:53:19 +0000Adding Cattura Web Streamer projectgreg
2015-12-11 18:52:53 +0000Adding the abstract "Publisher" processor projectgreg
2015-12-11 18:49:20 +0000Add learning engine client, move LE plugin into separate "integration" categorygreg
2015-12-11 18:40:08 +0000Add device reader plugins to centralized repogreg
2015-12-11 18:30:43 +0000Moving some libraries, plugins, etc. into the centralized repogreg
2015-12-11 18:03:32 +0000Add submodule for nginx-rtmp-modulegreg
2015-12-11 17:57:53 +0000First commit of unified capturecast pro repo, merging the contents of the mpa module and configuration module repos togethergreg