Sun Mar 01 2026
...
FastComments Moodle Plugin
์๋ก์ด ๊ธฐ๋ฅ
์ฐ๋ฆฌ๋ Moodle์ ์ํ ๊ณต์ FastComments ํ๋ฌ๊ทธ์ธ์ ๋ฐํํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. Moodle์ ์ฌ์ฉํ๊ณ ์๊ณ ๊ฐ์์ ์ค์๊ฐ ์ค๋ ๋ํ ๋๊ธ์ด๋ ํ์ ์ฑํ ์ ์ถ๊ฐํ๊ณ ์ถ์๋ค๋ฉด, ์ด ํ๋ฌ๊ทธ์ธ์ด ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด์ค๋๋ค. ์ด๋ ์ด์ ์ ์๋ PHP ์ ๊ทผ ๋ฐฉ์์ ๋์ฒดํ๋ฉฐ, ๋ช ๋ถ ์์ ์ค์นํ ์ ์๋ ์ ์ ํ Moodle ํ๋ฌ๊ทธ์ธ์ผ๋ก ๋น์ ์ ๊ธฐ์กด Moodle ์ฌ์ฉ์ ๊ณ์ ๊ณผ ํตํฉ๋ฉ๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ Moodle 4.1 ์ด์์์ ์๋ํ๋ฉฐ, ์์ค ์ฝ๋๋ GitHub์์ ํ์ธํ ์ ์์ต๋๋ค.
์์ํ๊ธฐ
์ค์นํ๋ ค๋ฉด, GitHub ์ ์ฅ์์์ ZIP ํ์ผ์ ๋ค์ด๋ก๋ํ๊ณ <moodle-root>/local/fastcomments์ ์ถ์ถํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ์ดํธ ๊ด๋ฆฌ์ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๊ณ ์ฌ์ดํธ ๊ด๋ฆฌ > ์๋ฆผ์ ๋ฐฉ๋ฌธํ์ธ์. Moodle์ด ์๋ก์ด ํ๋ฌ๊ทธ์ธ์ ๊ฐ์งํ๊ณ ์ค์น๋ฅผ ์๋์ผ๋ก ์คํํฉ๋๋ค.
์ค์น๊ฐ ์๋ฃ๋๋ฉด ์ฌ์ดํธ ๊ด๋ฆฌ > ํ๋ฌ๊ทธ์ธ > ๋ก์ปฌ ํ๋ฌ๊ทธ์ธ > FastComments๋ก ์ด๋ํ์ฌ ๊ตฌ์ฑํฉ๋๋ค. ํ ๋ํธ ID(๊ทํ์ FastComments ๋์๋ณด๋์์ ํ์ธ ๊ฐ๋ฅ)์ Secure SSO๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด API ๋น๋ฐ์ด ํ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฅผ ์ถ์ฒํฉ๋๋ค.
GitHub์์์ ์๋ ๋ค์ด๋ก๋๋ ํ๋ฌ๊ทธ์ธ์ด Moodle ํ๋ฌ๊ทธ์ธ ๋๋ ํ ๋ฆฌ์์ ์น์ธ๋ ๋๊น์ง ์์๋ก ์ ๊ณต๋ฉ๋๋ค. ์น์ธ๋ ํ์๋ Moodle์ ํ๋ฌ๊ทธ์ธ ์ค์น ํ๋ก๊ทธ๋จ ๋ด์์ ์ง์ ์ค์นํ ์ ์์ต๋๋ค.
๋๊ธ ์คํ์ผ
์ด ํ๋ฌ๊ทธ์ธ์ ์ธ ๊ฐ์ง ๋๊ธ ์คํ์ผ์ ์ง์ํ๋ฏ๋ก ํ์๊ณผ ๊ฐ์ ๊ตฌ์กฐ์ ๊ฐ์ฅ ์ ํฉํ ๊ฒ์ ์ ํํ ์ ์์ต๋๋ค.
๋๊ธ ๋ชจ๋๋ ํ์ด์ง ์ฝํ ์ธ ์๋์ ์ ์ฒด ๋๊ธ ์์ ฏ์ ๋ฐฐ์นํฉ๋๋ค. ํ์๋ค์ ์ค๋ ๋ํ ๋ต๋ณ, @๋ฉ์ , ์ถ์ฒ ๋ฐ ๋น์ถ์ฒ, ๋ฆฌ์น ํ ์คํธ ํธ์ง๊ธฐ, ํ์ด์ง์์ ์๋ก์ด ๋๊ธ์ ๊ตฌ๋ ํ๊ธฐ ์ํ ์๋ฆผ ๋ฒจ์ ์ด์ฉํ ์ ์์ต๋๋ค.
ํ์ ์ฑํ ๋ชจ๋๋ ํ์ด์ง ์๋จ์ ์ฌ์ฉ์๊ฐ ํ ์คํธ๋ฅผ ์ ํํ๊ณ ๋ ผ์๋ฅผ ์์ํ๋๋ก ์ ๋ํ๋ ๋ฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๊ฐ์กฐ๋ ํ ์คํธ๋ ์ฝํ ์ธ ์ ๊ณ ์ ๋์ด ๋ํ๊ฐ ๋ ผ์๋๊ณ ์๋ ๋ด์ฉ๊ณผ ์ฐ๊ฒฐ๋ฉ๋๋ค. ๋ํ ์จ๋ผ์ธ ์ฌ์ฉ์์ ํ์ฑ ๋ ผ์ ์๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ด ๋ชจ๋๋ ํ๋จ ์์ ฏ์ ํ์ํ์ง ์์ต๋๋ค.
ํ์ ์ฑํ + ๋๊ธ์ ๋ ๊ฐ์ง ๊ธฐ๋ฅ์ ๋์์ ์ ๊ณตํฉ๋๋ค. ํ์๋ค์ ์ธ๋ผ์ธ ๋ ผ์๋ฅผ ์ํด ํ ์คํธ๋ฅผ ๊ฐ์กฐํ ์ ์๊ณ ์ฝํ ์ธ ์๋์ ์๋ ์ ์ฒด ๋๊ธ ์์ ฏ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๋น ๋ฅธ ์ธ๋ผ์ธ ํผ๋๋ฐฑ๊ณผ ๊ธด ์ค๋ ๋ํ ๋ํ ๋ชจ๋๋ฅผ ์ํ๋ ๊ฐ์์ ์ ํฉํฉ๋๋ค.
์๋ SSO
์ด ํ๋ฌ๊ทธ์ธ์ ์ธ ๊ฐ์ง SSO ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค. ๋ณด์ SSO๊ฐ ์ถ์ฒ๋๋ ์ต์ ์ ๋๋ค. ์ด๋ API ๋น๋ฐ์ ์ฌ์ฉํ์ฌ HMAC-SHA256์ผ๋ก ์๋ฒ ์ธก์์ ์ฌ์ฉ์ ์ ์์ ์๋ช ํ๋ฏ๋ก ํด๋ผ์ด์ธํธ์์ ์๊ฒฉ ์ฆ๋ช ์ด ๋ ธ์ถ๋์ง ์์ต๋๋ค. ๋ณด์ SSO๋ฅผ ์ฌ์ฉํ๋ฉด Moodle ๊ด๋ฆฌ์๊ฐ ์๋์ผ๋ก FastComments ์ค์ฌ์๋ก ๋๊ธฐํ๋๋ฏ๋ก ์ฌ์ดํธ ๊ด๋ฆฌ์๊ฐ ์ถ๊ฐ ์ค์ ์์ด ๋๊ธ์ ์กฐ์ ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ์๋ฐํ, ์ด๋ฆ ๋ฐ ์ด๋ฉ์ผ ์ฃผ์๋ ๋ชจ๋ ์์ ํ๊ฒ ์ ๋ฌ๋ฉ๋๋ค.
๊ฐ๋จํ SSO๋ ์๋ช ์์ด ํด๋ผ์ด์ธํธ ์ธก์์ ์ฌ์ฉ์ ๋ฐ์ดํฐ(์ด๋ฆ, ์ด๋ฉ์ผ, ์๋ฐํ)๋ฅผ ์ ๋ฌํฉ๋๋ค. ์ค์ ์ด ๋น ๋ฅด์ง๋ง HMAC ์ ๊ทผ ๋ฐฉ์๋ณด๋ค ๋ ์์ ํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก, ์์์ SSO๋ฅผ ์์ ํ ๋นํ์ฑํํ๋ฏ๋ก ์ฌ์ฉ์๊ฐ ์ต๋ช ์ผ๋ก ๋๊ธ์ ์์ฑํ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ์๋ฆผ ํ๊ฒฝ์ค์
ํ์๋ค์ Moodle ํ๋กํ์์ ์ง์ FastComments ์๋ฆผ ์ค์ ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. FastComments ์น์ ์์ ๋๊ธ์ ๋ํ ์๋ฆผ(๋๊ตฐ๊ฐ ์์ ์ ๋๊ธ์ ๋ต์ฅํ ๋ ์ด๋ฉ์ผ ๋ฐ๊ธฐ) ๋ฐ ๊ตฌ๋ ์๋ฆผ(๊ตฌ๋ ํ ์ค๋ ๋์ ๋ํด ์ด๋ฉ์ผ ๋ฐ๊ธฐ)์ ์ ํํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ ๊ฒ์ ํ ๊ณณ์์ ๊ด๋ฆฌํ๊ณ ํ์์ด ๋ฐ๋ ์ด๋ฉ์ผ ์์ ์กฐ์ ํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก
Moodle ํ๋ฌ๊ทธ์ธ์ด ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์ ์ฒด ์ค์ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ Moodle ํตํฉ ๊ฐ์ด๋๋ฅผ ํ์ธํ์๊ณ , ์์ค ์ฝ๋๋ GitHub์์ ํ์ธํ ์ ์์ต๋๋ค. ์๋์ ํผ๋๋ฐฑ์ด ์์ผ์๋ฉด ์๋ ค์ฃผ์ธ์!
๊ฐ์ฌํฉ๋๋ค!
