Configurations are JSON documents that let you specify parameters, variables, tasks, modules, and settings to be used during the execution of your scripts.
Video: SIF Fundamentals Part 1 – Introduction to Configurations
These define a specific step in the installation process, implemented as a PowerShell function. You can run them multiple times and skip them if necessary!
Video: SIF Fundamentals Part 2 – Tasks
Parameters are used to define the strongly-typed inputs for configuration which can later be used as constant values when referenced in a configuration. If you do not provide a default value or a reference to another parameter to use as a default value, then the user will need to provide a value at the command line.
Video: SIF Fundamentals Part 3 – Parameters
These functions are used to calculate a value. Whereas a task would execute something, a config function would evaluate something. This is helpful for doing things like building up connection strings, or evaluating paths, so that the underlying value manipulations can be hidden away in a reusable function.
Video: SIF Fundamentals Part 4 – Config Functions
Variables in SIF are different from parameters. They cannot be passed in and are usually calculated based on config functions, variables, or parameters. They are calculated at the point of execution.
Video: SIF Fundamentals Part 5 – Variables
These are not altered very much right now, but will be a great point of extension in the future. These allow you to control the installation itself. Currently these are limited to actions for errors, warnings, and information scenarios.
Video: SIF Fundamentals Part 6 – Settings
Discovering Task and Config Functions
With all of the tasks and config functions that are in the system by default, as well as any customizations you might have added, you need a way to find the right ones. By using Get-SitecoreInstallExtension you can see everything that is available, but you can also start restricting this function using parameters to do more fine-grained searching.
Video: SIF Fundamentals Part 7 – Discovering Task and Config Functions
One of the most powerful pieces of SIF is the fact that you can customize it with your own extensions for your particular DevOps needs. Think of SIF as a collection of default extensions, but you can then replace the defaults or add on new ones.
Video: SIF Fundamentals Part 8 – Custom Extensions