Hi,
Just a couple of updates in our Import component. As you know, it's a great tool for setting up automated processes of importing data from a variety of external sources: emails, databases, Excel files, text files and web services. You can use it to create Help Desk solutions, approve your items by simply responding to an email, syncing data from external applications and much more. And with our advanced mapping and conversion capabilities, you are not limited to simply dumping your external data into SharePoint lists; you can filter, execute calculations, update existing items and parse emails, giving you the full control you need to create sophisticated, connected applications that run in the background and require no human intervention.
With our new version (already released in O365 and coming soon on premises), we now support the following features:
- Exporting and importing import profiles - you can now export your existing import profiles and then import them anywhere. You can import into the same list to create a copy that you can then modify or you can import into a different list, even on a different tenant, to transfer your settings without having to recreate the whole profile by hand.
- Smart data type recognition in CSV/TSV files - until now, when you set up an import of a comma-separated or tab-separated files, we used the first row from the file to determine what data type each column contains. Our product ensures that all column mappings are done in accordance to the data type, so for example you won't be able to map a text column to a date field in SharePoint, as it would result in errors when trying to import. The issue with only analyzing the first row was that it was not always a good indicator for the rest of the file. For instance, the first row might contain a numeric value in a column, but some other rows might contain text for the same column. If we designate this column as a number based solely on the first row, it will cause errors when we reach a row that contains text. Now we will scan the entire file and ensure that the data type of each column remains consistent and always defaults to text if more than one type of data is found. That ensure smooth and trouble-free operation and less administrative overhead.
I would like to take this opportunity to give a short explanation in regards to Start Time and Last Update date parameters of the import profile. Our component has a built-in ability to import data incrementally, skipping over items already imported in the past. This way we ensure that the import process runs faster and creates no duplicates. We do it by allowing you to designate one of the columns in the data source as an Update Date column, basically Last Modfied date of an item (you don't need to do that when working with emails, as we will just use the date the email was delivered). On the profile itself we store the latest item's date under Start Time property. When we run the import, we make sure the items being imported are newer than Start Time and then update Start Time accordingly. This property is required on some data providers (such as emails, where it's configured implicitly or database, where you are required to provide it); on others, such as CSV/TSV files, it's optional. If the Last Updated property is not set, we will always import the whole file. Start Time can be specified when you first create an import profile and cannot be changed afterwards, as later it's used for internal logic. By default, when you create a profile, Start Time will be set to the current time, but you can change it if for example you want to import a backlog of items.