The file should have a header row which defines the properties that are going to be imported, and then one row for each object of the Biskit Type. Use the Search page or the Bakery to find the names for the properties. All the fields need to be comma separated.

 

To modify the value of a property that is from a component biskit,  values to all the properties on that component must be provided. Any properties not mentioned will be attempted to be set to null. If this fails then an error will occur.

Eg, When importing users and setting a new value for userIdentity.authenticationMethod, then a value for userIdentity.loginName must also be set.

If a new value for userIdentity.authenticationMethod is set and  a new value for userIdentity.loginName is not set, then the userIdentity.loginName will be set to null.

 

A property that is used to identify the biskit to be updated can itself be updated. For example, when importing users, users could be identified by their email property (if it's unique) and the import could also modify that email property. To do this, two email columns in the CSV file are required.

 

i.e.

email,email

tim@conaptic.com,timb@conaptic.com

 

The first column would then be the key property to identify the user to be changed and the second column would be the new value of the email property.

 

Use the following options Key: and Ignore: (typed before the property name) to pre select the properties that will be key fields or fields to be ignored.

Example File For Importing A User

 

exp_importUserFile

 

The User record that will be created from this file:

 

Click to expand

Name

Value

Comments

userIdentity.loginName

Timb

String

userIdentity.authenticationMethod

Local

Needs to match available authentication method exactly.

roles

4

Set by bits

1 = Root

2 = Admin

4 = User

8 = Guest

See User Roles for more information.

givenName

Tim

String

familyName

Bilderbeck

String

email

blah@conaptic.com

String

userType.name

Physics

Needs to match name exactly

password

timbil

Depends on system configuration

status

Normal

Requested, Normal, Blocked

 

Notice the order of the properties does not matter. Depending on how the system is configured password may be a compulsory property and may have a minimum number of characters and/or a combination of alphanumerics.

Example File For Importing A Resource

 

exp_importResourceFile

 

The Resource record that will be created from this file:

 

Click to expand

Name

Value

Comments

name

Ion Pool

String

location.name

Harvard

Needs to match name exactly

type.name

Room

Needs to match name exactly

projectRequired

PROJECT_REQUIRED

PROJECT_REQUIRED or PROJECT_NOT_REQUIRED or PROJECT_WITH_RESOURCE_ENTRY

collectUsage

true

true or false

bookingBiskitDef.representedBiskitType

Booking

The Biskit Type to be used for bookings of this resource

Example File For Importing A Project

 

Click to expand

 

The Project record that will be created from this file:

 

Click to expand

Name

Value

Comments

projectCode

SunSpots

String

type.name

Physics Project

Needs to match name exactly

status

Approved

Approved, Requested, Denied, Terminated

owner.userIdentity.loginName

curie

Login name

name

Sun Spots

String

start

25 May 2013

Date

finish

25 Dec 2014

Date

 

Projects have other information attached to them but they are stored in different Biskit Types. These are used to store the Project Resource Settings, Users and Project Groups properties. In order to import this information, first import the project information and then import each of the other three Biskit Types one after another.

 

For example importing the Project Resource Settings for the above project:

 

Click to expand

 

exp_importProjectResource

Name

Value

Comments

project.name

SunSpots

Needs to match name exactly

resource.name

Physics Project

Needs to match name exactly

numberOfSessions

10

Integer

minutesPerSession

60

Integer

costPerHour

400

Double

Example File For Importing A Time Template

 

exp_importTemplateFile

 

The Template record that will be created from this file:

 

Click to expand

Name

Value

Comments

date Range.start

15 May 2013 10:30

Date and Time

dateRange.finish

15 May 2013 15:00

Date and Time

templateGroup

Free for All

string

Enabled

true

true or false

Abdicated

false

true or false

 

To import repeat Time Templates see below for additional information about importing repeat bookings.

Example File For Importing Two Bookings

 

Click to expand.

 

The Booking record that will be created from the first import line in this file is:

 

Click to expand

Name

Value

Comments

booker.userIdentity.loginName

admin

Needs to match login name exactly

owner.userIdentity.loginName

admin

Needs to match login name exactly

status

Approved

Approved, Requested, Cancelled, Denied

dateRange.start

18 May 2013 08:00

Date and Time

dateRange.finish

18 May 2013 08:30

Date and Time

resource.name

dry lab

Needs to match name exactly

project.ProjectCode

inventions

Needs to match project code exactly

 

 

When importing repeat bookings the repeat sub Biskit Type for the repeat booking needs to be defined as well as all the properties defined for that Biskit Type and all the properties of the parent Biskit Type Repeat. Any property not defined will have its value set to null.

 

Biskit Type

Property

Type

Example Value

Repeat

repeat.biskitType

(must always be present)

Biskit

AnnualRepeat

DailyRepeat

MonthlyRepeatByDate

MonthlyRepeatByDay

WeeklyRepeat

repeat.start

Date

12 January 2015 13:00

repeat.finish

Date

12 January 2999 14:00

2999 for never ending repeats

repeat.repeatEvery

int

1

repeat.repeatType

(must match repeat.biskitType)

JavaEnum

Annually

Daily

Monthly by date

Monthly by day

Weekly

Annual Repeat

repeat.dayOfMonth

Int

1-31

repeat.monthOfYear

int

0-11 with 0 = January

Daily Repeat

None



Monthly Repeat By Date

repeat.dayOfMonth

int

1-31

Monthly Repeat By Day

repeat.dayOfWeek

int

1-7 with 1 = Sunday

repeat.weekOfMonth

int

1-5

Weekly Repeat

repeat.sunday

Boolean

True or False

repeat.monday

Boolean

True or False

repeat.tuesday

Boolean

True or False

repeat.wednesday

Boolean

True or False

repeat.thursday

Boolean

True or False

repeat.friday

Boolean

True or False

repeat.saturday

Boolean

True or False