Over the years the list of topics to cover when it comes to developing on the SMIP has grown to that it could fill a full semester course. This post is a sequence of topics that is carefully compiled to guide the reader from taking first steps to mastering complex analyticical and vizualisation challenges.
Among the many challenges in digital transformation are islands of knowledge and subject matter expertise. Folks with deep manufacturing knowledge might find certain key concepts of data capture and processing too technical. Specialists equiped with machine learning experience are likely to be opinionated about anything that doesn't come in very particular flavors such as Python or R.
Working with the SMIP for many years, we understand that to fully leverage the raw power of the platform it takes a bit of all these: manufacturing curiosity, analytical skills, web development chops, basic understanding of PLC's, industry protocols and networking. It is expected to learn new tricks and master new techniques on a daily basis. Tools and skills to put this all together likely include most the following to a certain extend: PHP, Python, SQL, js, .NET, GraphQL, Vue.js, jwt, and others.
Click around. Explore the API using GraphiQL. Build a Hello World page. Build a Unit Conversion Page. Tiny but useful PHP helpers: context, script loaders, URL parameters.
Take a closer look at types, inheritance, instances and how to avoid "death from dumb clicking". Display scripts for types and instances. Graph models and relationship crawling.
Time series data. Charting. Time Zones & Geo Location. SMIP components.
Material Types. Accounts. Transactions. Laws of material movement and attribute propagation. Detection of material movement.
Result object. Continuous computing. Batch vs. stream. Uptime, yield, mtbf, ...
Reuse of code. Calling other scripts. API-like data access for browser scripts.
Using the objectValue field to configure smart attribute. Resolving FQN's and FQN-references. Moving window averaging. TS algos: removal of duplications, pulse counting, counter attributes, bucketing.
Bare bone joomla component. Import/Export of libraries. Spawning and clean-up of content.
JWT tokens. Roles. Keeping secrets out of repos. Desktop centric tasks.
Stuff on timer, but from the outside. Protect/confuscate IP.
Manage and store authenticators from multiple SMIPs. Self-serve concepts and workflows. Multi-tenancy B2B vs. B2C. Authentication vs. Authorization
Architecting a pipeline for ML tasks on the platform and off the platform.