SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
Diagnosing account, enrolment and snapshot problems using the APIs Dr Malcolm MurrayDurham University Photo by Terry Bain: http://www.flickr.com/photos/axis/2897335784/
Conference Blurb… I've designed custom user and course tools to help diagnose and repair problems with user feeds and snapshotted enrolments. I'll demonstrate how you can use APIs to access fields not exposed in the UI. I'll also discuss times when directly querying the database is still the best thing to do (i.e. when there aren't comprehensive enough classes to use). I'll conclude with a discussion of managing access by portal role.
1 Modelling Users Looking at the APIs and peeking under the covers into the database
bb-platform.jar Models common objects seen in the UI blackboard.data.user.User blackboard.data.role.PortalRole blackboard.data.course.Course blackboard.data.course.CourseMembership blackboard.data.course.CourseMembership$Role etcetera
bb-platform.jar blackboard.data.user.User
bb-platform.jar blackboard.data.user.User
bb-platform.jar blackboard.data.user.User ,[object Object]
getDataSourceId() String
getIsAvailable()boolean
getUserName() String
getId() Id,[object Object]
getDataSourceId() String
getIsAvailable() boolean
getUserName() String
getId() IdTwo unique fields! UserName & BatchUid
bb-platform.jar blackboard.data.user.User ,[object Object]
getDataSourceId() String
getIsAvailable() boolean
getUserName() String
getId() Id,[object Object]
Snapshot Making sense of complicated data Users Portal Roles Courses Course Roles Quota
Snapshot Reality: multiple sources, frequently changing Courses: Timetabling Roles: LDAP Roles: Student Record System Users: Student Record System Courses: Student Record System Users: HR System Roles: HR System
Managing Snapshot Preparation, Preparation, Preparation Quota feed Course feed User feed Enrol feed Role feed
Snapshot Simplified scenarios – snapshotting Users Users are only ever blocked, not removed SNAPSHOT 2 SNAPSHOT 1
3 Data Source Keys Mean nothing to you?Stay awake through this bit then
Data Source Keys Ownership: Makes Snapshot work blackboard.data.user.User ,[object Object]
getDataSourceId() String
getIsAvailable() boolean
getUserName() String
getId() IdUsers created using the UI are given a Data Source Key of SYSTEM Snapshot runs with a different DSK and controls the ROW_STATUS field of all Users with this DSK
Data Source Keys blackboard.data.datasource.DataSource ,[object Object]
getId() Id
RowStatus not exposed
getBatchUid() String
getDescription() String,[object Object]
4 And then there were Two... Working with multiple JAR filesuntil these are finally merged in a future API release
Enter bb-cms-admin.jar Many of the classes seen in bb-platform.jar blackboard.data.user.User blackboard.data.role.PortalRole blackboard.data.course.Course blackboard.data.course.CourseMembership blackboard.data.course.CourseMembership$Role are extended by classes in bb-cms-admin.jar ,[object Object]
blackboard.admin.data.role.PortalRoleMembership
blackboard.admin.data.course.CourseSite
blackboard.admin.data.course.Membership
blackboard.admin.data.course.Enrollment
blackboard.admin.data.course.StaffAssignment,[object Object]
Loaders & Persisters blackboard.persist.user.UserDbLoader – many options But... UserDbLoader will only load User objects where the underlying USERS database table entry has  ROW_STATUS = 0
Loaders & Persisters blackboard.admin.persist.user.PersonLoader PersonLoader loads any entry
Loading Persons by Template SELECT * FROM BB_BB60.USERS WHERE AVAILABLE_IND = ‘N' AND LASTNAME = 'Smith' AND ROW_STATUS = 2;
5 Applying this knowledge Account Problems – “I can’t log in...”
ACCESS? Diagnosis requirements – User Account User Availability User.getIsAvailable() or Person.getIsAvailable() Row Status Person.getRowStatus() Data Source Key Two parts: Person.getDataSourceBatchUid()  - may be enoughUser only exposes getDataSourceId() blackboard.admin.persist.datasource.DataSourceLoader. loadByBatchUid()  no loadById() method blackboard.admin.data.datasource.DataSource.getDescription() OWNER?
Model of the Process Not Rocket Science... Entry Point: Module Username Known? NO Search Tool YES Identify User Display Information Fix Problem
Implementation

Mais conteúdo relacionado

Destaque

Creative Commons Licences-Quick Fact Sheets
Creative Commons Licences-Quick Fact SheetsCreative Commons Licences-Quick Fact Sheets
Creative Commons Licences-Quick Fact Sheets
Reba Gordon Matthews
 
FREE TOOLS for ANIMATION
FREE TOOLS for ANIMATIONFREE TOOLS for ANIMATION
FREE TOOLS for ANIMATION
Tanja Gvozdeva
 
College Success Chapter 1: You and Your College Experience
College Success Chapter 1: You and Your College ExperienceCollege Success Chapter 1: You and Your College Experience
College Success Chapter 1: You and Your College Experience
coreyd33
 
Presentation spain waste management
Presentation spain waste managementPresentation spain waste management
Presentation spain waste management
TakiTamMaciej
 

Destaque (11)

Content Recycling - B2B Marketing Summit 2012 - Scot McKee
Content Recycling - B2B Marketing Summit 2012 - Scot McKee Content Recycling - B2B Marketing Summit 2012 - Scot McKee
Content Recycling - B2B Marketing Summit 2012 - Scot McKee
 
Nice quotes animated
Nice quotes animatedNice quotes animated
Nice quotes animated
 
Creative Commons Licences-Quick Fact Sheets
Creative Commons Licences-Quick Fact SheetsCreative Commons Licences-Quick Fact Sheets
Creative Commons Licences-Quick Fact Sheets
 
FREE TOOLS for ANIMATION
FREE TOOLS for ANIMATIONFREE TOOLS for ANIMATION
FREE TOOLS for ANIMATION
 
College Success Chapter 1: You and Your College Experience
College Success Chapter 1: You and Your College ExperienceCollege Success Chapter 1: You and Your College Experience
College Success Chapter 1: You and Your College Experience
 
Animated photography
Animated photography Animated photography
Animated photography
 
Presentation spain waste management
Presentation spain waste managementPresentation spain waste management
Presentation spain waste management
 
Animated Radar Presentation Template
Animated Radar Presentation TemplateAnimated Radar Presentation Template
Animated Radar Presentation Template
 
Fastlane snapshot presentation
Fastlane snapshot presentationFastlane snapshot presentation
Fastlane snapshot presentation
 
Getting Serious About Carbon Pricing: Putting a Price on Carbon #priceoncarbon
Getting Serious About Carbon Pricing: Putting a Price on Carbon #priceoncarbonGetting Serious About Carbon Pricing: Putting a Price on Carbon #priceoncarbon
Getting Serious About Carbon Pricing: Putting a Price on Carbon #priceoncarbon
 
Presentation skills
Presentation skillsPresentation skills
Presentation skills
 

Semelhante a Diagnosing account, enrolment and snapshot problems using the APIs

01 Persistence And Orm
01 Persistence And Orm01 Persistence And Orm
01 Persistence And Orm
Ranjan Kumar
 
Java Technology
Java TechnologyJava Technology
Java Technology
ifnu bima
 
Jdbc Lecture5
Jdbc Lecture5Jdbc Lecture5
Jdbc Lecture5
phanleson
 
RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...
RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...
RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...
jpalley
 
How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30
fiyuer
 
Patni Hibernate
Patni   HibernatePatni   Hibernate
Patni Hibernate
patinijava
 

Semelhante a Diagnosing account, enrolment and snapshot problems using the APIs (20)

Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paper
 
Rails and alternative ORMs
Rails and alternative ORMsRails and alternative ORMs
Rails and alternative ORMs
 
01 Persistence And Orm
01 Persistence And Orm01 Persistence And Orm
01 Persistence And Orm
 
Java Technology
Java TechnologyJava Technology
Java Technology
 
Teradata admin track
Teradata admin trackTeradata admin track
Teradata admin track
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Data access
Data accessData access
Data access
 
Jdbc Lecture5
Jdbc Lecture5Jdbc Lecture5
Jdbc Lecture5
 
Integration Between Blackboard Learn™, Release 9.1, Vista 8, Others and Peopl...
Integration Between Blackboard Learn™, Release 9.1, Vista 8, Others and Peopl...Integration Between Blackboard Learn™, Release 9.1, Vista 8, Others and Peopl...
Integration Between Blackboard Learn™, Release 9.1, Vista 8, Others and Peopl...
 
RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...
RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...
RailsConf 2010: From 1 to 30 - How to refactor one monolithic application int...
 
How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30
 
Patni Hibernate
Patni   HibernatePatni   Hibernate
Patni Hibernate
 
Resthub framework presentation
Resthub framework presentationResthub framework presentation
Resthub framework presentation
 
Example Of Import Java
Example Of Import JavaExample Of Import Java
Example Of Import Java
 
myEquivalents, aka a new cross-reference service
myEquivalents, aka a new cross-reference servicemyEquivalents, aka a new cross-reference service
myEquivalents, aka a new cross-reference service
 
RoR 101: Session 6
RoR 101: Session 6RoR 101: Session 6
RoR 101: Session 6
 
College information management system.doc
College information management system.docCollege information management system.doc
College information management system.doc
 
Korhan bircan
Korhan bircanKorhan bircan
Korhan bircan
 
Sql interview question part 8
Sql interview question part 8Sql interview question part 8
Sql interview question part 8
 
Ebook8
Ebook8Ebook8
Ebook8
 

Mais de Malcolm Murray

Mais de Malcolm Murray (12)

Lecture capture: the big bang theory
Lecture capture: the big bang theoryLecture capture: the big bang theory
Lecture capture: the big bang theory
 
Durham University’s first institution-wide implementation of eXplorance Blue
Durham University’s first institution-wide implementation of eXplorance BlueDurham University’s first institution-wide implementation of eXplorance Blue
Durham University’s first institution-wide implementation of eXplorance Blue
 
Learning from student perspectives on digital assessment
Learning from student perspectives on digital assessmentLearning from student perspectives on digital assessment
Learning from student perspectives on digital assessment
 
Extending the breadth and depth of interaction using gamification
Extending the breadth and depth of interaction using gamificationExtending the breadth and depth of interaction using gamification
Extending the breadth and depth of interaction using gamification
 
eLearning at Durham: a UK Perspective
eLearning at Durham: a UK PerspectiveeLearning at Durham: a UK Perspective
eLearning at Durham: a UK Perspective
 
Student voice : is honesty the best policy?
Student voice : is honesty the best policy?Student voice : is honesty the best policy?
Student voice : is honesty the best policy?
 
Replacing duo
Replacing duoReplacing duo
Replacing duo
 
Replacing duo: towards a business case
Replacing duo: towards a business caseReplacing duo: towards a business case
Replacing duo: towards a business case
 
Copy is a 4 letter word
Copy  is a 4 letter wordCopy  is a 4 letter word
Copy is a 4 letter word
 
Rethinking student feedback
Rethinking student feedbackRethinking student feedback
Rethinking student feedback
 
Letting the lunatics run the asylum - students developing code for the prod...
Letting the lunatics run the asylum - students developing code for the prod...Letting the lunatics run the asylum - students developing code for the prod...
Letting the lunatics run the asylum - students developing code for the prod...
 
Of Course you Can!
Of Course you Can!Of Course you Can!
Of Course you Can!
 

Último

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 

Último (20)

Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

Diagnosing account, enrolment and snapshot problems using the APIs