SiteWhere is currently limited to reading from the filesystem in loading configuration files and resources such as scripts. There are a few problems that come with this approach:
- No abstraction layer between the system and its resources
- No concept of versioning / resource history
- No ability to externalize configurations (other than existing hacks with base external URL)
Add new APIs that abstract resource location and add basic concept of version control so that providers such as Git can be plugged in. This will allow for versioning and externalizing resources while still allowing for use of the local filesystem in the simple case.