US 11,990,056 B2
Data system content development, maintenance, migration, integration, and archiving
Jordan Philip Scheid, Chesapeake, VA (US); Peter Leroy Diltz, Falls City, NE (US); and Vincent Anthony Smeraldo, Oak Lawn, IL (US)
Assigned to K16 Solutions Inc., Scottsdale, AZ (US)
Filed by K16 Solutions Inc., Scottsdale, AZ (US)
Filed on Nov. 1, 2021, as Appl. No. 17/516,559.
Prior Publication US 2023/0137397 A1, May 4, 2023
Int. Cl. G09B 5/02 (2006.01); G06F 9/54 (2006.01); G06F 16/11 (2019.01); G09B 5/06 (2006.01); G09B 7/00 (2006.01)
CPC G09B 5/02 (2013.01) [G06F 9/541 (2013.01); G06F 16/113 (2019.01); G09B 5/06 (2013.01); G09B 7/00 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one data processor; and
at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising:
extracting, from a source system with aid of a data controller, a first portion of a course data at the source system via a public application programming interface (API) associated with the source system;
upon extracting the first portion of the course data, performing a first completeness check by a listener of the data controller to determine if any course components are missing from the first portion of the course data;
in response to the first completeness check being unsuccessful, using a private application programming interface (API) that is exposed to users with permissions to extract, with the aid of the data controller, a second portion of the course data that is not exposed via the public application programming interface (API);
upon extracting the second portion of the course data, performing a second completeness check by the listener of the data controller to determine if any course components are missing from the second portion of the course data;
in response to the second completeness check being unsuccessful, with the aid of the data controller performing a screen scraping to extract, from the source system, a third portion of the course data that is inaccessible via the private application programming interface due to a lack of the permissions associated with the private application programming interface (API), the screen scraping includes performing image recognition or text recognition on the third portion of the course data displayed in a webpage facilitated by a design engine of the data controller or a graphic user interface associated with the source system;
archiving, by the design engine, a subset of the first portion, the second portion, and/or the third portion of the course data to generate a cloud-based archive, wherein the subset is user-specific;
transforming, by the data controller, a remainder of the first portion, the second portion or the third portion of the course data extracted from the source system, the transforming of the course data includes (i) mapping a course component from the source systems to a same course component from a target system that is associated with one or more different keys, (ii) adding, removing or modifying at least one field associated with the course component, and (iii) integrating the cloud-based archive to the course data, wherein the cloud-based archive is configured to provide access to the archived subset of data; and
transferring, to the target system by a migration engine of the data controller, at least a portion of the transformed course data,
wherein the extracting of the first portion, the second portion or the third portion of the course data is at least partially performed by the listener,
wherein the listener is further configured to detect a change in one or more user specified data elements at the source system by at least performing a delta check between a data elements pulled from the source system and a previous version of the data element, and
wherein the one or more user specified data elements are specified by a first user, and are transferred to the target system in response to the listener detecting a change between the data element pulled from the source system and the previous version of the data element.