eFront was designed to offer customization options in order to cater to how different organizations and businesses operate. To keep these customizations simple, we based it on a few key organizational entities, such as Branches and Groups.
While Branches and Groups might look similar, they serve different purposes and roles within eFront. Groups organize users into logical entities, allowing them to treat all of them as a single entity. You can communicate to the members of a group directly, assign them courses, assign them curricula, and see aggregate reports on all of them. Groups also come with mass actions to synchronize their users with their courses.
You create groups based on any criteria you like, e.g. 'Medical Students', 'Class of 2015', etc. and you can assign Users and courses to them. Each group can also have a unique group key that you can share with users so they can enrol themselves into the group. You can optionally limit how many times a key can be used.
Branches, on the other hand, allow you to divide your e-learning offering into different logical units (or "departments"), each with its own courses, users, instructors and branding. Beyond the sub-domain, theme and logo, each branch can have its own site name and motto, favicon and default language, as well as its own authentication settings, including LDAP and SAML single sign-on with SCIM 2.0 user provisioning. Branches can be a flat list or form a nested hierarchy.
Branches also support usage limits. You can set a maximum number of registered users per branch, as well as a maximum number of users that can be logged in at the same time. Both limits are optional and can be left blank for unlimited usage.
Branches are a much larger logical entity than groups (a group can belong to a branch, but not vice versa), and might be overkill for smaller deployments, but are a good way to separate and customize your e-learning offering for different company departments, units, geographical sections, etc.