ECM Technology background

Simplified back-office tasks

Self-care from technical point of view are pages rendered by Google Scripts UI gadgets from background data stored in Google Spreadsheet. 
Spreadsheet contains many lines of Google Script code, which in background helps to create custom menus and additional background functionalities hiding complexity of management contacts, courses, schedules, registrations, notifications, certificates and payments. So back-office people have good overview, simple GUI and they are not overloaded by management tasks, because regular task are running automatically, like sending actual course notifications, processing payments from email notification, etc. 

Independent application logic on physical data storage

All course management program logic is not directly accessing spreadsheet data, but uses data object representation independent on physical storage based on common Data libraries, which allow to access via same API data stored in different Spreadsheet , FusionTables and ScriptDbs. 
These data storages can be configured by templates, so for example sheet can contains column headers in any language without impact to change any program logic or some columns can be automatically prefilled by formulas with definition based on logical names, e.g. IFERROR(VLOOKUP(INDIRECT(CONCATENATE("courseId";ROW()));INDIRECT("ECM.Courses!courseId:courseName");2;);"").