hackGVSU: REST API and LTI with Blackboard Learn

2018 hackGVSU hackathon에 오신 것을 환영합니다! 이 비디오는 hackathon의 REST API 카테고리를위한 프로그램을 개발하는 방법 우리는 가지고있다

두 가지 범주에 대한 설명 : 기본 HTML과 고급 REST hackGVSU에 속한 API는 hackathon 당일에 자주 질문을 받았습니다 우리는 당신이 이해할 수 있도록 도움을 줄 수있는 직접 교육을 받게 될 것입니다 이 자료와 더 깊은 그래서 우리 자신의 Blackboard Learn 우리는 아마존 웹 서비스 시장에서 그렇게 할 수 있습니다 설치 한 다음 이전 비디오에서이 데모 용으로 사용할 것입니다 간단한 HTML 앱과 위젯을 Blackboard Learn 시스템에 통합하는 방법 이것이 hackathon의 첫 번째 카테고리가 될 것입니다

우리가 내부의 딥 데이터에 액세스하기 위해 REST API를 사용하려는 고급 카테고리 Blackboard 학습 과정을 통해 학생 회사에 대한 정보를 얻으십시오 정보를 제공하고이를 통해 앱을 개발하기 위해 혁신 할 수 있습니다 데이터를 가지고 있으므로 Blackboard Learn running은 첫 번째 단계는 이제 다음 단계는 자신의 웹 서버 가이 실행하는 것입니다 사실 학생들에게 비싸지 않아도됩니다 종종 무료입니다 예 : Amazon Web Services 클라우드 9 시스템은 학생들에게 무료 계정을 만들고 매우 융통성있게 만들어 다른 웹 호스팅 시스템을 사용할 수 있습니다 한 달에 한 번 같이 우리는 한 달에 5 달러를 벌어 들일 수 있습니다

모든 웹 서버를 제어 할 수있는 자체 가상 서버 설정은 아마존 웹 서비스 탄력적 인 콩 줄기가 또 다른 위대한 것입니다 REST API 서비스를 무료로 개발할 수있는 옵션 이 시점에서 나는 서버가 실행 중이고이 로그인되어 있습니다 아파치와 PHP가 이제 시작되었습니다 API에 관한 약간의 정보를 칠판에 읽어서 약간의 자료를 제공한다 커뮤니티에 칠판 통신망 웹 사이트 및 데모 코드도 포함되어 있습니다

그래서 우리가 REST API의 데모를 찾아야한다면 우리는 PHP 외에 다른 언어의 옵션이 있음을 알 수 있습니다 이 비디오에 대한 데모를 위해 이미 응용 프로그램을 사용할 것입니다 지금 칠판에 의해 제공된 PHP 데모 코드로 개발되었습니다 내 응용 프로그램은 내 github 계정에서 다운로드 할 수 있습니다 코스 게임이라고 불리우며 시작합시다

이 응용 프로그램을 다운로드하면 Zip 파일로 나타나고 다음으로 단계는 서버에 압축을 해제하는 것입니다 그래서 내 응용 프로그램은 아파치 서버의 htdocs 디렉토리에있다 코스 게임은 폴더이므로 여기서는 indexphp가 데이터와 클래스를 얻는 것을 보았습니다 이 모든 것들은 우리가 다운로드 한 zip 파일의 github에서 왔습니다

응용 프로그램이 올바르게 다운로드되었는지 확인하고 계속 진행할 수 있습니다 당신이 볼 수있는대로 그것을 실행하십시오 나는 당신이 있다면 그냥 무료 도메인으로 내 URL을 가지고 도메인을 구입할 필요가없는 특정 IP 주소로 실행 IP 통신을 알면 네가 살 수있게 될거야, 네가 할 수있을거야 내가 도메인을 구성한 다음 SSL을 실행하고 싶다면 자유롭게 사용할 수 있습니다 암호화하여 SSL 인증서를 암호화하여 응용 프로그램이 IP를 통해 액세스하는 경우 주소와 HTTP 만 있으면됩니다

그래서 이것이 응용 프로그램입니다 추가 구성없이 구성없이 보일 것입니다 다음 단계는 코드 수정으로이 애플리케이션을 추가하는 것입니다 칠판에 우리가 어떻게이 응용 프로그램이 대화 형 응용 프로그램을 사용자와 함께 사용하므로 LTI를 사용하게 될 것입니다 제공하는 기술 해석 상호 운용성 표준을 학습해야합니다

학습에서 우리의 응용 프로그램에 반환되는 변수 세트 이 경우 관리 시스템 Blackboard Learn은 어떤 사용자가 버튼을 클릭했는지 파악한 다음 그 버튼을 클릭 할 수 있습니다 예를 들어,이 과정에서의 컨텍스트를 구성하고 이 코스의 내부에서 샘플 코스로 이동합니다 개발 된 스프레드 시트 온라인 콘텐츠를 사용하여 문제 해결 물론 우리는 이것을 호출하고 우리가 호출 할 새로운 컨텐츠 영역을 생성 할 것입니다 HACC GVSU를 제출하고 지금 제출하십시오 하단에 생성되어 있으므로 이동하십시오

위로 가기 그리고이 시점에서 이것은 사용자 생성을위한 우리의 캔버스가 될 것입니다 방금 설치 한 응용 프로그램의 인터페이스 URL을 복사 할 것입니다 다음에는 내 응용 프로그램에 콘텐츠를 작성하고 웹을 사용합니다 지금이 웹 링크는 흑판이 동적으로 생성하는 것입니다 실제로 링크를 클릭하는 것만으로 이것이 우리가 아는 링크가 아닙니다 해당 LTI 표준의 일부인 백그라운드에서 게시 양식을 작성하십시오

이 시점에서 나는이 모든 코스 게임에 갈 것이며 우리는 URL을 입력 한 다음 키는이 링크를 도구 제공 업체에게 선택하는 것입니다 도구 공급자 우물 공구 제공자는 우연히 칠판 관리자가 승인 한 외부 신청서 그러면 외부 응용 프로그램과 정보를 공유 할 수 있습니다 도구 공급자가 잘 만들어졌습니다이 도구 공급자는 해당 시스템에서 만들어졌습니다 관리자 및 Blackboard Learn의 관리자 패널입니다

빌딩 블록 링크를 찾은 다음 LTI 툴 제공 업체를 찾아야합니다 기본적으로 특정 대화 형 작업에 대한 승인을 만들 수 있습니다 대화식 정보를 외부 응용 프로그램에 전달하기위한 LTI 그래서 지금 편집을 할 수있는 응용 프로그램을 구성하고 도메인 이름이 승인되었습니다 그런 다음 라이센스 정보를 설정합니다 응용 프로그램을 검사하지는 않지만 라이센스가 부여 된 다음 우리는 이 개발 환경에서 데이터를 전송하게되어 기쁘다

좋아, 내 링크로 돌아 가자이 시점에서 제출을 눌러라 칠판 응용 프로그램이 구성되는 시간 우리가 이것을 공유한다면 다른 학교에서의 신청서는 칠판 관리자가하는 것입니다 그들은 코스에서 장소를 만들 것인가? LTI 링크를 만들면 모든 나머지 API가 아직 올라 오지 않아서 이 시점에서 나머지 API 통합의 많은 부분이이 시점에서 진행됩니다

그리고 우리의 응용 프로그램을 시작합니다 포스트 폼이 만들어졌고 이제 우리는 리모컨에 있습니다 우리는 LTI 정보를 전달했습니다 코스 게임 응용 프로그램을 나머지 응용 프로그램으로 구성하십시오 정확히 우리가 기대할 수는 있지만 의사 소통은 칠판에서 일어났습니다

우리의 응용 프로그램에 이르기까지 우리가 검토한다면 다음 단계로 넘어 갑시다 지금까지 github에있는 명령은 LTI를 사용하여 LTI 부분을 구성했습니다 이제 나머지 API를 만들려고합니다 응용 프로그램 ID와 우리는 나머지 api와 함께 일할 것입니다 실제로 칠판 통신으로 작업하기 위해 개발자에게로 이동해야합니다

나머지 API를 사용하여 개발자로 등록한 다음 키를 만들고 칠판 애플리케이션을 호스팅하는 사람들에게 우리를 알려줄 비밀 이 웹 사이트에서 허용하는 허가를 얻을 수있는 기회를 제공 할 것입니다 API를 탐색하여 우리가 가지고있는 다양한 옵션을 볼 수 있습니다 REST API 내에서 다음 단계로 넘어가겠습니다 내 앱 링크를 클릭하고 첫 번째 애플리케이션을 등록 해 보겠습니다 그 전화 해킹 GVSU 응용 프로그램과 이것은 내 첫 번째 애플 리케이션입니다 우리가 응용 프로그램 키와 비밀을 가지고 지금이 시점에서 저장하고 지금 눌러 그들이 우리에게 다시 표시되지 않기 때문에 우리는 그것을 기록 할 필요가있다

응용 프로그램 키는 비밀이 아니지만 아마도 우리가 그것을 넣어야한다면 워드 문서 또는 어딘가에 저장하는 것이 매우 중요합니다 우리는 새로운 것들을 재생성 할 수 있습니다 그렇다고 큰 문제는 아니지만, 우리에게 다시 사용할 수 없게 계속할 수 있습니다 앞서 쓰고 쓰지 말고 쓰십시오 나는 계속해서 그들을 연결합니다

그들이이 시점에 있어야 할 곳에 응용 프로그램에 가보자 github 코드를 다운로드 한 서버와 파일을 추가합니다 클래스 디렉토리에서 파일을 편집하고 파일을 편집하십시오 콘 스턴스와이 파일에 뛰어 들어가서 핵심 변수와 우리 애플리케이션 키는 코드가 찾고있는 바로 그 열쇠입니다 여기에 여기에 우리가 가서이 값으로 붙여 넣고 우리는 그 비밀은 당신이 사생활을 염두에두고 보안을 염두에 두었다면 아마 당신은 우리는이 비디오를 공개적으로 키와 비밀로 게시 할까봐 걱정했습니다

이것을 녹음하면이 앱을 삭제할 것이고 물론이 키와 비밀을 지울 것입니다 유용하지 않을 것이므로 자신의 것으로 바꿀 필요가 있습니다 이 시점에서이 파일을 저장하고 편집기를 종료하자 계속 눌러주십시오 계속해서 응용 프로그램 ID가 잠시 전에이 애플리케이션 ID가 애플리케이션 ID와 다릅니다

이 애플리케이션 ID는 기본 화면에서 공개로 표시됩니다 다양한 조직에 줄 수있는 애플리케이션 ID입니다 우리가 현재 개발자 또는 회사로 확인 된 방법은 무엇입니까? 학교 칠판 관리자로부터 우리의 통합을 포함하는 허가 이것이 칠판으로 어떻게 이루어 졌는지 보자 이제 우리는 다시 우리가 LTI 링크로 작업하는 시스템 관리자 패널은 LTI가 있다는 것을 기억합니다 빌딩 블록이 이제는 API에 남아 있기 때문에이 시점에서 애플리케이션 ID와 실제로 Blackboard에 대한 액세스 권한을 부여하는 사용자 Learn learn we go 앞으로 제출하고 제출을 눌러서이 애플리케이션을 학생에게 가서 전환 할 스위치를 클릭하면 볼 수 있습니다

학생은 내가 가서 링크를 클릭하고 학생 정보를 지금 보게 될 것입니다 강사의 이전보기에서 첨부 된 점수가 어떤 데이터가 없었어요 강사가 가지고 있지 않았기 때문에 학년이 없지만 지금은 나와 관련된 데이터를 클릭하여 애플리케이션을 테스트 할 수 있습니다 on change instructor 이것은 물론 다른 등급을 시뮬레이션하는 것입니다 아마도 나는 새로운 강사와 함께 할 것입니다 우리가 그랬던 것처럼 내 학년이 미래 학기에 어떻게 될지를 보여주는 새로운 학기 코드는 접근성을 위해 자동으로 테이블을 변경합니다

스크린 리더가 업데이트를 읽을 수있게됩니다 이것은 나머지 API 통합 사이를 빠르게 정리하는 것입니다 Blackboard 학습 및 자체 웹 서버를 사용한 다음 REST API를 사용하여 우리가 우리 자신의 응용 프로그램을 호스팅 할 필요가 있는지 검토하고 내가 여기에 내 자신의 서버를 실행하는 것을 볼 수 있습니다 그러면 우리는 이것에 대한 몇 가지 코드가 필요합니다 서버가 REST API를 사용하여 칠판에 연결 한 다음 우리는 서버에 대한 대화 형 링크가 있고 링크가있을 것이라고 테스트합니다

포스트가 링크에서 요청한 이후로 우리는 아마도 응용 프로그램 호출 및 링크를 클릭 한 사용자 그러면 우리 서버가 칠판에 다시 연결하여 데이터를 꺼내고 그 다음에 사용자에게 제시하십시오 REST API를 만드는 것은 불가능하지 않습니다 LTI없이 통합하기 때문에 일단 우리는 sis admin의 허가를 받았다 응용 프로그램이 승인되면 우리는이 서버에서 간단히 실행할 수 있습니다 문맥이 없으므로 우리는 누가 지금 기록되어 있는지 알 수 없을 것입니다

우리는 흑판에 데이터를 가져올 수 있습니다 예 : 오늘 GVSU에는 57 개의 A 급이 있으며 2 개의 F 급이 게시되었습니다 칠판 시스템 "을 만들었습니다 그래서 우리는 언제든지 당겨서 할 수있었습니다 성적을 표시 한 다음 정보를 최종 사용자에게 표시 그래서이 연습은 조금 더 배우는 데 도움이 되었기를 바랍니다

REST API에 대한 것이지만 실제로 웹 디자인과 웹 개발을 할 수 있습니다 입문 코스에서 배운 기술을 배웠습니다 엔터프라이즈 응용 프로그램 개발에 참여하고 데모 코드를 자유롭게 사용하십시오 코드가 실행 중이고 데이터가 들어온 다음 수정을 시작할 수있는 능력 새 것을 코딩 해 주셔서 감사합니다 hackGVSU에서 재미있게 지내십시오