Data import in XML/CSV format
How to work with the XML/CSV importer
Correct CSV file format - general
CSV – Projects import specifics
CSV – Contacts import specifics
Introduction
The Easy Project data importer is an ultimate tool when you are about to transfer any data from your existing system or from the database, so it comes in handy when you need to migrate/synchronize data from an existing system, or you are switching a company/project management system and need to transfer all the data. Are you using MS Project, Basecamp, Asana, Clarizen, or some other application? Our importer can handle data from every application that can be exported into XML or CSV format. Forget about switching between apps when you need to open or edit data stored in various locations. From now on, you may have all the data in one app only. This solution is great for companies using systems, which do not support REST API but allow XML/CSV export, so there is another way how to get integrated. Easy Project provides an XML/CSV importer that enables you to migrate data in batches and map them to existing attributes.
This solution is a part of our professional implementation services. Importing data via XML/CSV without an Easy Consultant may lead to corruption of database => unfunctional application! If are interested in importing data, please request the service on this page. This article serves to provide information about the principles of functioning of this tool for your evaluation of its relevance to your use case.
Key features:
- Move all existing entities (no limit)
- Moved data is manually mapped to existing attributes in Easy Project
- Appropriate for moving complex data for exacting clients
- At one moment, you can import one entity with a limitless number of attributes
How to work with the XML/CSV importer
Data can be imported in XML and CSV formats with Easy Project importer (part of Easy Project). You can find it in Administration » Custom imports.
Upon clicking on it, you can see the list of already existing easy imports. To show, edit, or delete any existing import, simply hover your mouse cursor over it and those options will appear automatically. In the right sidebar menu, you can find various options to create a new XML/CSV import of a specific entity. If the sidebar is missing the entity that you would like to import, your Consultant will take care of it.
For example, this is what a new CSV task import form may look like. Just enter the name and click "Submit". When importing an undefined entity, the form will also ask you to select the required entity to be imported.
In the next step, you need to upload the CSV file (with proper data structure) to be imported. Click Save and Preview, which will enable to map columns from CSV (or attributes from XML) to attributes in Easy Project. Our application also allows you to update existing entries (mapping is via Lookup by setting). Imported entries with an ID that already exists in the system are not created again but they get updated. Imports and updates can be performed automatically in data batches. If the imported document is accessible on a public URL, Easy Project automated operations (cron) can regularly import the XML/CSV provided on that public URL. When the mapping is done, simply click Import, which can be used for smaller imports (practice shows up to 500 entries), or Import in background, which is strongly recommended for imports of 500+ entries.
Correct CSV file format - general
In order to maintain compatibility with the importer, the CSV file format needs to meet the following rules:
- File must be CSV format only (Comma Separated Value)
- Fields must be separated by a comma (not a semicolon)
- CSV file must be in UTF-8 encoding
- CSV must contain the external ID of the imported record (a unique number that is in the "easy_external_id" field)
- This “easy_external_id” field must be unique in the whole application (not only in a particular project or particular import)
- When the “easy_external_id” field is not unique in the whole application, the newly imported record will overwrite already existing with the same “easy_external_id”
- The date must be in format yyyy-mm-dd (Date and time yyyy-mm-dd hh-mm)
- References to other entities (e.g users as task assignee or task author) or enumerated attributes, (e.g. task types, task statuses, etc.) should be in the form if ID from the current Easy Project database
- Required fields must be always filled
- Required fields for tasks are: Project, subject, tas type, status, priority, author
- To import a country into the custom field format "Select country", you must use by ISO 3166-1 alpha-2 code (this goes especially for contact import in B2B CRM)
CSV – Users import specifics
Required fields/attributes: name, surname, login, e-mail
Supported fields/attributes: name, surname, login, e-mail, calendar
Unsupported fields/attributes: user type, template, administrator, groups, projects, languages, password, confirmation, time zone
CSV – Projects import specifics
Required fields/attributes: name, author
Supported fields/attributes: name, subproject of, description, priority, start date, due date, author
Unsupported fields/attributes: project members + roles, project overview
CSV – Tasks import specifics
Required fields/attributes: project, subject, author, task type, status, priority
Supported fields/attributes: project, subject, description, author, assignee, task type, status, start date, due date, estimated time, priority, %done
Supported fields/attributes for subtasks: parent task
CSV – Contacts import specifics
Required fields/attributes: contact type, name, surname (depending on contact type)
Supported fields/attributes: contact type, name, surname, parent contact, assignee, is global contact, private contact, comments
CSV – CRM import specifics
Required fields/attributes: name, CRM status, project
Supported fields/attributes: name, CRM status, project
Custom fields specifics
Some types of custom fields are straightforward, others a bit more complicated.
- Boolean - 0 or 1
- Date - yyyy-mm-dd
- Date and time - yyyy-mm-dd hh-mm - the time part has known issues
- Float - in case of an empty value, the default value is not set
- Integer - in case of an empty value, the default value is not set
- Key/value list - multiple values are not imported
- List - multiple values do not work - may cause duplicities
Partial admin for imports
In user settings (Administration >> Users >> User - Partial administrator) You will find an option Advanced Import
When enabled, the selected user can perform global imports the same way an admin would.
There is, however, no button to access imports for this type of user - the user has to save the following link: /easy_entity_imports in order to access it.