I have created a test server ( Bb Learn 9.1) for the purpose of establishing branding and general testing.
Now I am experimenting with the use of SnapShot to enroll parents with the correct system role (not available when using the batch enrollment feature in Bb)
I have tried envoking the command from a command prompt (cmd.exe) and using a batch file format. Both medhods have failed in the same way.
Interestingly, these same feed files work OK on the live Bb implementation.
Below are the relevant files:
BBSnapShotParents.txt
EXTERNAL_PERSON_KEY|USER_ID|SYSTEM_ROLE|FIRSTNAME|LASTNAME|EMAIL|INSTITUTION_ROLE|PASSWD16001|016SBarton|observer|Sandra|Barton|boiseexchange@aol.com|Parent|42216002|016JCasabonne|observer|Janet|Casabonne|jcasa57@yahoo.com|Parent|81316003|016NSalinas|observer|Nick|Salinas|salinas.nick@gmail.com|Parent|07816004|016LSalinas|observer|Leslie|Salinas|salinasl@dhw.idaho.gov|Parent|07816005|016KRivas|observer|Kenneth|Rivas|r6in_boise@q.com; krivas@stmarksboise.org|Parent|68916006|016BRivas|observer|Bobbi|Rivas|r6in_boise@q.com; brivas@stmarksboise.org|Parent|68916007|016CBrinegar|observer|Clyde|Brinegar|cbrinegar@cableone.net|Parent|81316008|016BKirby|observer|Bonnie|Kirby|kirbyfam@cableone.net|Parent|12416009|016TWarnecke|observer|Tom|Warnecke|angelspaint@aol.com|Parent|67016010|016BWarnecke|observer|Beverly|Warnecke|angelspaint@aol.com|Parent|67016011|016KHealey|observer|Kathy|Healey| |Parent|07816012|016MGalindo|observer|Martin|Galindo|mgalindo_one@hotmail.com|Parent|10316013|016GGalindo|observer|Gladys|Galindo|ggalindo_one@hotmail.com|Parent|10316014|016BLoisate|observer|Brenda|Loisate| |Parent|481
properties.txt
# PROPERTIES file for BB SnapShot## Maximum errors to process. # If you want all valid records to be processed, use -1 which indicates unlimited # If you want an all or none transaction, use 0 # Otherwise, pick some reasonable number of errors max.error.count=-1 # Snapshot process settings # delimteter used for parsing snapshot files data.delimeter= | # Used to denote datasource to use for operation. data.source.key=FALL_COURSES_05 # Determines if password field should be encrypted encrypt.password=Y # Determines if commerce card number attribute should be encrypted encrypt.card.number=Y # Denotes string used to mark the beginning of errors error.delimeter=(!) # Determines character used to escape delimeter escape.character=/ # Designates flag to handle header validation for configuration property file header.validation=Y # Determines if logged information should be sent to console. log.stdout=N # Designates flag to establish handling of enumerated values. To accept default or cause an exception. parse.allow.default=N # Designates maximum size of database transaction snapshot.batch.size=300 # Used to configure pause between persistence actions wait.length=-1 # Snapshot controlled field settings for Blackboard override of data # fields for category entities category.bb.controlled.fields= # fields for link entities categorymembership.bb.controlled.fields= # fields for course entities group.bb.controlled.fields=TEMPLATE_COURSE_KEY,TEMPLATE_ORGANIZATION_KEY,X_BB_TEMPLATEKEY # fields for Student entities person.bb.controlled.fields= # fields for enrollment entities membership.bb.controlled.fields= # fields for portal role membership entities portalrolemembership.bb.controlled.fields= # Copy configuration settings below # Designates flag to enable announcement copying for configuration property file announcements.copy=Y # Designates flag to enable assessment copying for configuration property file assessment.copy=Y # Designates flag to enable calendar copying for configuration property file calendar.copy=Y # Designates flag to enable categories copying for configuration property file categories.copy=Y # Designates flag to enable chat archive copying for configuration property file chat.archive.copy=Y # Designates flag to enable chat session copying for configuration property file chat.session.copy=Y # Designates flag to enable course content copying for configuration property file course.content.copy=Y # Designates flag to enable course settings copying for configuration property file course.settings.copy=Y # Designates flag to enable discussion board copying for configuration property file discussion.board.copy=Y # Designates flag to enable discussion board archive copying for configuration property file discussion.board.archive.copy=Y # Designates flag to enable drop boxdata copying for configuration property file drop.box.copy=Y # Designates flag to enable glossary data copying for configuration property file glossary.copy=Y # Designates flag to enable gradebook data copying for configuration property file gradebook.copy=Y # Designates flag to enable course sub group copying for configuration property file groups.copy=Y # Designates flag to enable membership data without "private" data copying for configuration property file membership.copy=Y # Designates flag to enable "private" membership data copying for configuration property file. membership.exact.copy=Y # Designates flag to enable Staff Information copying for configuration property file staff.information.copy=Y # Designates flag to enable tasks data copying for configuration property file tasks.copy=Y # used to denote data source to user for membership copy within cloning operation membership.datasource.key= # used to designate whether the course toc and tool settings are synched with the source reconcile=Y
Command Line
C:\blackboard\apps\snapshot\bin\Snapshot -f USR_MANUAL -t c:\ImportFiles\test.txt -C c:\ImportFiles\properties.txt -V bbtest
Log
2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.caliperContextHandler will not be registered due to licensing.2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.caliperCookieKiller will not be registered due to licensing.2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.courseGroupManager will not be registered due to licensing.2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.workSpaceGroupManager will not be registered due to licensing.2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.educationalExperienceGroupManager will not be registered due to licensing.2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.programGroupManager will not be registered due to licensing.2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.operatingUnitGroupManager will not be registered due to licensing.2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.caliperAttributeListManager will not be registered due to licensing.2012-07-19 14:46:35 -0600 - Extension blackboard.caliper.offlineInstrumentManager will not be registered due to licensing.2012-07-19 14:46:35 -0600 - DataStoreDescriptor: Parsing configuration file C:\blackboard\config\bb-datastores-standalone.xml2012-07-19 14:46:35 -0600 - DataStoreDescriptor: Parsing configuration stream 2012-07-19 14:46:35 -0600 - Initializing connection pool at priority: [STANDARD]2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-platform-db.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-platform-xml.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-portal-db.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-cms-admin-jdbc.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-cms-admin-xml.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-qti-db.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-qti-xml.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-assessment-db.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-collab-db.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-collab-xml.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-caliper-api-db.xml2012-07-19 14:46:35 -0600 - PersistenceManagerConfig: Loading bindings from file: C:\blackboard\config\internal\persistence-bindings\bb-caliper-api-xml.xml2012-07-19 14:46:35 -0600 - Initializing connection pool at priority: [STANDARD]2012-07-19 14:46:35 -0600 - Initializing connection pool at priority: [STANDARD]2012-07-19 14:46:35 -0600 - FileManagerConfigFileParser: Parsing configuration file C:\blackboard\config\internal\bb-filemanager.xml2012-07-19 14:46:35 -0600 - RelationshipConfigFileParser: Parsing configuration file C:\blackboard\config\internal\bb-relationships.xml2012-07-19 14:46:36 -0600 - Adding cache peer //bbtest.bbtest.local:14162012-07-19 14:46:36 -0600 - Version Info - Db version = 9.1.82223.0 - File Version = 9.1.82223.02012-07-19 14:46:36 -0600 - Snapshot application fault. - blackboard.platform.BbServiceException: Snapshot application fault. at blackboard.apps.snapshot.SnapshotApplication.checkResultCode(SnapshotApplication.java:363) at blackboard.apps.snapshot.SnapshotApplication.execute(SnapshotApplication.java:285) at blackboard.platform.ApplicationLauncher.main(ApplicationLauncher.java:175)Caused by: java.lang.NumberFormatException: For input string: "-1 " at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:458) at java.lang.Integer.parseInt(Integer.java:499) at blackboard.admin.snapshot.config.ConfigurationManager.getNumericSetting(ConfigurationManager.java:231) at blackboard.admin.snapshot.authority.AuthorityLogger.<init>(AuthorityLogger.java:45) at blackboard.admin.snapshot.authority.Authority.<init>(Authority.java:230) at blackboard.admin.snapshot.authority.Authority.<init>(Authority.java:116) at blackboard.apps.snapshot.ApplicationAuthority.<init>(ApplicationAuthority.java:36) at blackboard.apps.snapshot.SnapshotApplication.execute(SnapshotApplication.java:255) ... 1 more
Tom,
Does the "FALL_COURSES_05" data source key exist on your test server?
Mike
Michael;
No, and thanks for pointing it out. I'm not sure where to look, but i noticed that under "Data Sources", the most records are stored in SYSTEM, so I replaced the "FALL_COURSES_05" with "SYSTEM". Now the Snapshot script executes, but does not add any users.
I think it might have something to do with the INSTITUTIONAL_ROLE variable. I noticed that System Roles on the test server do not include "Parent". However, System Roles for the active Bb site includes Parent, oddly with the same Role ID (O) as does "Observer" on the test site. Further, it's not possible to change the Role Name on the test server to "Parent". Am I expected to add a System Role (Parent) to the test server? I can't give it a Role ID of "O", since it is used by "Observer".
Also, if I change the INSTITUTIONAL_ROLE variable to "Observer" in the Snapshot feed file, will I still be able to associate those users with their respective students?
Thanks for your help,
Tom Holdridge
We use a manual snapshot process to create and associate parent accounts. The system role does have to be set to observer, even though the k-12 language pack designates them as parents. As far as I know, there is no way to change that language for internal system roles (maybe it is hard-coded?). The Institution role should have no bearing on the ability to associate them to existing accounts - we use it for branding purposes only.
- Ryan
Cobb County School District
"Parent" is just the K-12 language pack label for the "Observer" role. That is, a "parent" is just what the K-12 language pack calls observers, so they have exactly the same functionality no matter which name they're called, and you can change the language pack from en_US to en_US_K12 without things working differently. You should not need to be adding your own "Parent" system or institution roles.
However, Blackboard is still (mostly) looking for its own names for these things, rather than what the language pack has. If you look under Admin Panel > Institution Roles, is the ROLE_ID shown as "Observer"? Then use that in the snapshot file for the INSTITUTION_ROLE field. (For some reason, the system role is specified as "observer" in the feed rather than "O", however...)