Organization is the key to scalable flight automation. Dronelink introduces multiple levels of organization to simplify team management, access control, and complex mission planning.
Account level organization is focused on team management. Accounts can represent individuals (single member) or teams (multiple members), and a single user profile can be associated with one or more accounts. This allows you to maintain a clear separation between your personal projects, side-gigs, and work you may be performing for your employer(s) or clients. Using a single user profile enables single-sign-on access to all your accounts.
Users can also star accounts as a way to find plans and components from any of the public repositories in a given account.
Repository level organization is focused on access control. Each account can divide mission plans and components across multiple repositories, and the repositories can be public or private. Public repositories are discoverable by other Dronelink users, which increases the chance of connecting with other like-minded users who want to collaborate and share ideas. Private repositories require you to grant access to specific plans and components on a case-by-case basis, which can be useful when working with organizations or clients with specific privacy requirements.
Like accounts, users can star repositories that contain interesting components. These components can then be included in your own mission plans. Creating multiple repositories can be an effective way to group components by location, function, and other categories, and it gives users more granularity when choosing which repositories to star.
Component level organization is focused on reducing the complexity of large mission plans and managing large collections of mission plans with similar functionality.
Dronelink introduces the powerful list component type, which promotes the use of component trees. Component trees allow you to convert flat, sequential lists of instructions into well-structured hierarchies that create multiple levels of abstraction. Abstraction reduces clutter in the user interface, and more importantly, it allows you to reason about entire sections of the mission plan in relation to each other without getting lost in the details. Lists are essential to creating large, bug-free mission plans.
Dronelink also introduces the ability to include components directly from repositories. When a source component is modified, Dronelink will automatically notify the mission planner that updates are available, and the changes can be accepted or rejected with one button. Included components are essential for any team managing a large collections of mission plans.