Colabmacs Documentation
  • Overview
  • Upgrading
  • Reference
  • Onboarding
  • Imports
  • Commands
  • API
  • GitLab
  • Overview
  • Upgrading
  • Reference
  • Onboarding
  • Imports
  • Commands
  • API
  • GitLab
  • Upgrading

Upgrading

Existing Legacy LMACS applications (v1.8x) can be imported into a new Colabmacs application. Up to 1 year of data can be automatically imported. During the import process, only active items are imported providing an opportunity for data pruning. Before proceeding with the upgrade process it is highly recommended that data integrity be reviewed to assist in the process.

Data Import Window

Import Scope

Only Active records are imported. During the import process, records will not be imported if they belong to inactive Projects or Users.

The import process maps models according to the table below. Additional meta information about Models that does not map into the new application will be imported as settings for review.

Legacy ModelColabmacs Model
AreaProcess Area
BookingEvent
EquipmentResource
Facility UserUser
GroupTeam
InterlockInterlock
LevelRole
LocationLocation
MaterialMaterial
OptionOption
ProjectsProject
Project TypeProject Type, Rate Group
Project UserProject User
RateRate
RequestRequest
Request ItemRequest
Request TypeRequest Type
Tool UsersTraining Record
UsageResource Usage

Areas

Areas are converted to Process Areas. The Process Areas are then associated with the imported Resources.

Bookings

Warning

Only future bookings + 1 month of historical bookings from the end date of the import window will be imported. Bookings that are in the past beyond the import window will not be imported.

Any bookings associated with inactive Users, or Projects are ignored. The new Event is attributed to the User, Resource and Project related to the booking. All bookings will be titled Legacy Booking.

Equipment

Equipment marked as Inactive will not be imported. Once imported, the new Resource wll be assigned to the appropriate Process Area and Location. If there was an associated Interlock, it will be configured as well. Any Rates associated with the Equipment will be attached. Only Rates for active Project Types, and non-zero rates will be imported. See Rates for more details.

Activation & Charge Rules

The import process will attempt to generate both Activation and Charge Rules based on the legacy configuration. However, because of the significant changes to how Access Rules are implemented in Colabmacs, it is highly recommended that these rules be reviewed and possibly modified after the import process is complete.

The system will convert the default intervals from minutes to a more reasonable, human-readable format. For example, 1440 minutes will be converted to 1 hour.

Access Rules

Access Rules will be parsed and generated based on the legacy configuration. The following rules will be created:

Legacy SettingColabmacs Access RuleRule Type
Min PeriodMin DurationBooking Rule
Max PeriodMax DurationBooking Rule
Booking WindowBooking WindowBooking Rule
Max LoginMax Per DayBooking Rule
Allow CancellationMax ConcurrentCancellation Rule
Min Cancellation NoticeBeyond HorizonCancellation Rule

Charge Rules

Charge Rules will be parsed and generated based on the legacy billing configuration. The following rules will be created:

Legacy SettingColabmacs Charge RuleRule Type
Min PeriodMin QuantityCharge Rule
Max PeriodCap QuantityCharge Rule
Grace PeriodGrace PeriodCharge Rule
Max 24 Hr PeriodCap Quantity Per IntervalCharge Rule

Tool Users

During the import process, a new Training will be created for each unique combination of Equipment and Tool User Level. The name of the Training will be a combination of the Equipment name and the Level name. For example, if there is a piece of Equipment named 3D Printer with Levels User and Colleague, two Trainings will be created: 3D Printer - (User) and 3D Printer - (Colleague). The description of the Training will include any legacy notes about the Level.

The Training parameters - required renews on use and days valid will be derived from the Tool User level settings.

A new Role is also created and the new Training will be configured to assign the Role upon successful completion of the Training. The Role will be named the same as the Tool User level.

Each Tool User record will be converted to valid Training Record for the corresponding User and Training. The system will attempt to determine the Trainer and Last Validated date automatically. Only records that have been validated since within the import window will be imported.

Facility Users

User Email - SSO Authentication

If SSO authentication is enabled (ie: Google), the email address of each User must match the actual email address used in the SSO provider. If the email addresses do not match, a new User will be created instead of matching the existing User. If the email address used in the legacy system is an alias, it should be updated to match the actual email address before proceeding with the import.

Users who have not been active since the start of the import window will not be imported. During the import process, a Safety Training will be automatically created and configured for each Location. Legacy Users who have a safety training flag set will have a valid Training Record created for the new Safety Training in each of the Locations that they have access to Equipment in. The system will attempt to determine the appropriate Trainer using the oldest Tool User record in the location with a valid Trainer. If none can be found, the User will be used as the Trainer.

The User will also be assigned any roles from the legacy system, and attached to any Teams or Projects they are listed as a member of in the legacy system.

Groups

Inactive Groups will not be imported. The Group owner will be assigned if possible. If a Group owner can not be determined, this will be left blank, and the Team will be set to Inactive. Any Users listed as Managers in the legacy system will be added as Team members. A default Address wll also be created.

Interlocks

Interlock are imported and assigned the related Resource Model. Interlocks are no longer associated with Locations.

Levels

Levels are imported as Roles. Since Levels in legacy applications had ambiguous functionality, it is highly recommended that these roles be reviewed, and possibly removed. Colabmacs uses default permissions to authorize User actions.

Locations

Default Rules

Colabmacs includes a set of default Access Rules that are applied to each Location. These rules are designed to promote safe and responsible use of the facility. It is highly recommended that these rules be reviewed and possibly modified after the import process is complete to ensure they align with current policies.

During the import process, a new Location will be created for each legacy location. Business Hours will be generated based on the legacy settings. The system will also create a set of default Access Rules for each Location.

Colabmacs Access RuleRule Type
Enforce Valid TrainingBooking Rule
Within Business HoursBooking Rule
In The FutureBooking Rule
Sufficient Configuration NoticeBooking Rule
Buddy RequiredActivation Rule
Enforce Schedule PeriodActivation Rule

Materials

Material Usage is not imported. Additional data about Materials is stored in the Models setting fields. Any Rates associated with the Material will be imported. Only Rates for active Project Types, and non-zero rates will be imported. See Rates for more details.

Options

All legacy Options are imported; however, many of them can safely be removed as they will not be used by the new application. See Options to determine what is required.

Projects

Inactive Projects will not be imported, nor will projects with inactive Project Types. In the new system, a Project only belongs to a single Group. Projects will be added to the listed Primary Group from the legacy system. Active Project Users will be added.

Project Types

Inactive Project Types will not be imported. During the import process, a Rate Group will be created and attached to each Project Type.

Rates

Rate Imports

Given the importance of Rates to the billing process, it is highly recommended that all Rates be reviewed after the import process is complete to ensure they are correct.

During the import process, a new Rate Group is created for each Project Type. Only non-zero Rates for active Project are imported. These are reduced to unique combinations of Rate|After Hr Rate|Unit and Rate Group - as an example, there will only be a single Academic 100 Rate. If the legacy rate has a different after_hr_rate, it will be imported as well, and the after_hr_rate will be included in the name - ex: Academic 100|50 The Rates are then attached to Materials and Resources as required.

Project Users

Inactive Project Users will not be imported. Each Project User will be attached to corresponding newly imported Project.

Requests

Only Requests in Active states will be imported. The determination of an Active state will be made prior to the import process. Those assigned to a Request will be added as Participants. Bookings, Resources and Comments will be attached. Private Comments are not imported. Request Items are imported as Child Requests.

Request Items

Only Requests in Active states will be imported. The determination of an Active state will be made prior to the import process. Request Items are converted to standard Requests and added as a Child Request to the associated top level Request. Those assigned to a Request Item will be added as Participants. Bookings, Resources and Comments will be attached. Private Comments are not imported.

Request Types

Inactive Request Types will not be imported. Users who are listed in the Assign To field of the Legacy type will be added to the auto assignment of the imported Request Type. No Roles are automatically added to the auto-assignment configuration of the type.

Usage

NOTE

No Charges are generated during the usage import process - these must be generated manually after the import is complete.

Both Resource and Material usage will be imported. Usage belonging to inactive Projects or Users will not be imported. Usage is converted to a Resource Usage Record using the Actual quantity recorded. This may result is some very large numbers as there is no accounting for adjustments made for forgetting to log out. The large values may skew some analytics.

Last Updated: 9/25/25, 6:15 AM