Every weekday I post a small Design Bite, covering a feature, question or topic for the Folio UX/UI. I encourage you to give constructive feedback on what I present, so we can adapt the system if necessary, to make sure it will work for you in practice
Today’s menu: Data synchronization between systems
The current thought for synchronizing data (like patrons, staff users, diverse records) from external systems with Folio, is that you will be able to set up a custom mapping from one system to the other through a user friendly GUI.
##3 types of mapping
The current idea is that the system would be able to support at least 3 types of mapping:
- Basic field-to-field mapping
- Mapping with simple conditional logic
- Submapping set
##1. Field to field mapping
Field-to-field mapping concept
This type of mapping would allow you to map a field in e.g. a Student Information System to Folio — like mapping “Name” to “First name”
##2. Mapping with conditional logic
Conditional logic mapping concept
This type of mapping would allow you to change the output of the mapping depending on:
- The content of the field that is mapped from (e.g. if input equals 1, then output 0)
- The content of the field that is being mapped to (e.g. if input equals 1 and output field does not equal 1 already, then output 0)
- The content of another field in the system (e.g. if “other field” does not contain 1 and input equals 1, then output 0)
##3. Submapping set , , ,
Submapping set concept
This type of mapping would allow you to define a field in the external system and a corresponding field in Folio, and then type out value pairs in one go, saving you the hassle of having to add each potential mapping in a seperate mapping line (e.g. mapping Groups from an external system to Patron Groups in Folio, you would set up the two properties/fields from the systems, and then simply input all the matches that would be between systems, where the names of groups in one system might not correspond with names in another system.
##File formats
Formats to support mapping from to begin with would be specific file formats—e.g. CSV and JSON, and perhaps even direct integration with some of the more popular external systems in use today.
##Questions
- Which format(s) would you need to map from at your institution? XSL, CSV, JSON or something completely different?
- Where do you store the files you synchronize from?
- Do you synchronize from a new file every time, or do you compare the data in the system with the data in the file or in the external system? If you use different files, what kind of naming convention or method do you use to let the system select the latest file?
- What types of data do you synchronize with external systems and how often does it happen?
Our research so far shows that different institutions have different ways of doing this, so it would be very helpful if as many different institutions as possible could describe how they work with this—we want to make Folio a system that works well in the real world, so feel free to share your process and any useful things you have learned along the way!