インターンスポットライト:タイラー・ニッカーソン

19年2015月XNUMX日 | 執筆者

タイラー・ニッカーソンです。マサチューセッツ州ウースターにあるウースター工科大学の3年生です。この3ヶ月間、edXのインターンとしてEコマースチームで働いてきました。Eコマースチームでは、認定資格など、収益化されているコースの管理と維持をより適切に行うためのツールを開発しています。

インターンシップ期間中、これまで知らなかった数多くのフレームワークやライブラリ(特にDjangoとBackboneJS)に精通するようになりました。これまで多くの素晴らしい新機能の開発に携わってきましたが、今回はEコマースチームが最近開発した革新的な製品、コース管理ツールについてお話ししたいと思います。また、このツールに盛り込まれたテーマ設定とスタイル設定についても触れたいと思います。edXが様々なプラットフォームでUXパターンとコンポーネントを活用するという画期的な取り組みです。

コース管理ツール

インターンシップの最後の数週間、私は後にコース管理ツールとなるものの初期ページの構築に携わりました。これは、プロジェクトマネージャー(PM)が、検証済みの証明書、専門教育、単位取得枠などの有料コース製品を作成・編集するためのポータルです。このツールが登場する以前は、これらの変更はDjangoの管理パネルを使って行われていました。これは直感的ではなく、開発者向けのツールであり、ユーザーフレンドリーとは程遠いものでした。コース管理ツールは、直感的で合理化されたインターフェースを提供し、コース製品の追加プロセスを自動化するのに役立ちます。

私は、このツールを開発する最初の開発者となる栄誉に浴しました。 初期リストビュー 閲覧・編集可能なコースを一覧表示するツールです。初期段階では、リストビューはデータテーブル、フィルターボックス、そして機能しない「新しいコースを追加」ボタンのみで構成されていました。リストされているコースの詳細を表示する機能すらありませんでした。

本文に説明されている初期リストビュー。

リストビューでは、 DataTables jQueryプラグイン 表のデータを動的かつ堅牢にソートおよびフィルタリングする方法を提供するためです。しかし、このページであまり目立たないのは、スタイルシートの構築に多大な労力が費やされたことです。コース管理ツールは、edXサービスで初めて、この機能をフルに備えたツールです。 UXパターンライブラリedXのUXチームがデザインしたパターンとUIコンポーネントのセットです。パターンライブラリはまだ開発中であり、ナビゲーションバーやメニューなど、多くの重要なコンポーネントが欠けています。コース管理ツールの初期バージョンでは、 TwitterのBootstrapフレームワーク これらのギャップを「埋める」ために、パターンライブラリが使用されました。パターンライブラリに欠けているもう一つの特徴は、モジュール性、つまりライブラリを他のプラットフォームに大幅な変更を加えることなく「プラグアンドプレイ」で導入できる機能です。そのため、コース管理ツールにパターンライブラリを含めることは非常に困難でした。

パターンライブラリのモジュール化

コース管理ツールの作業が最初に開始されたとき、Web サイトでパターン ライブラリを使用するには、次の手順に従う必要がありました。

  1. 'ux-pattern-library' Gitリポジトリをローカルマシンにクローンします。
  2. ライブラリのBower依存関係をインストールする
  3. リポジトリをウェブサイトのディレクトリにコピーします
  4. main-ltr.scss をインクルードするか、コンパイルして main-ltr.css をメイン HTML ファイルにインクルードします。

理想的には、これがフロントエンド依存関係の従来のアプローチに従う場合、これらの手順は次のように要約される必要があります。

  1. ターミナルを使用してパターンライブラリをBower依存関係としてインストールします。
  2. main-ltr.scss または main-ltr.css を HTML ファイルに含めます。

これらのステップを凝縮するのは、かなり長くて野心的なプロセスです。このツールを開発する時間が短かったため、私は自ら追加することにしました。 最小限のプラグアンドプレイサポート パターン ライブラリの場合、次の 3 つの手順のみが必要になりました。

  1. ターミナルを使用してパターンライブラリをBower依存関係としてインストールします。
  2. main-ltr.scssを別の場所にコピーし、その依存パスを変更します。
  3. main-ltr.scssをHTMLファイルに含め、実行時にコンパイルする

理想的とは言えないものの、このアプローチはコース管理ツールの目的には合致し、パターンライブラリはBootstrapとうまく連携することができました。インターンシップの終わり頃には、UXチームとパターンライブラリのモジュール化について話し合う機会があり、 いくつかの提案 パターン ライブラリを Bower とより適切に統合する方法について説明します。

最終製品です!

現在、コース管理ツールは、コースの作成、編集、詳細表示といった機能を備えた、より成熟した製品へと進化しました。データテーブルはページ区切りをサポートし、1ページあたりに表示するコース数も指定できるようになりました。

本文で説明されているコース管理ツールの最終製品のスクリーンショット

振り返ってみると、このツールの開発に携わった最初の開発者になれたことを光栄に思います。edXでの仕事に誇りを持っています。edXインターンとしての経験を通して、スキルセットだけでなく、チームでのコラボレーションや計画性など、多くのことを学ぶことができました。昨年の夏、私はガレージを拠点とする別のスタートアップ企業でインターンシップを経験しました。同僚はCEOとプログラミングリーダーの2人だけでした。edXでは、私の提案やフィードバックにオープンで、真摯に向き合ってくれる、献身的で本格的なチームと共に働くことができました。そのおかげで、グループのダイナミクスに貢献する方法や、大規模チームの開発プロセスを理解する方法を学ぶことができました。この素晴らしい夏を共に過ごしてくれたClinton Blackburn、Zach Rockwell、Amanda Nanni、そしてインターン仲間の皆さんに感謝します。近い将来、Open edXプラットフォームに再び貢献できることを願っています。

ローディング

もっと時間が必要ですか? 以下の記事をご覧ください。

共に問題を解決する:コミュニティ主導のプラットフォーム開発
Open edXカンファレンスで未来を切り拓くスキルとスケールアップ
Open edXカンファレンス開発者向けワークショップ
デジタルの未来を取り戻す:私がオープン・ルネッサンス・グループに参加した理由
Open edX カンファレンス 2026 に参加しましょう!

2026 Open edX カンファレンスでは、世界最高峰のオープンソース オンライン学習管理システムの XNUMX つである Open edX プラットフォームの革新的な使用事例を紹介し、教育設計、コース構成、生成 AI などの画期的なテクノロジーを含む Open edX プラットフォームの運用と拡張の方法における最新の進歩を紹介します。