자료실

스케줄 모듈

2021.02.23 06:01
22,833
4
자료 유형 모듈
간단한 소개 일정을 효율적으로 관리할 수 있는 기능을 제공해주는 모듈입니다.
설치 경로 ./modules/schedule
코어 지원 범위 Rhymix 2.0
PHP 지원 범위 기타
자료 구분 공개 자료
라이선스 GPL v2
저장소 URL https://github.com/bjrambo/xe-module-schedule
파일명버전날짜용량다운로드 수
schedule.2.3.zip 2.3 2021.03.03 439.8KB 398
schedule.2.2.zip 2.2 2021.02.23 241.2KB 156

람보님의 스케줄 모듈을 개조해서 만들었습니다.

- 이제 나름 안정화 버전이라 판단되어 공식 배포합니다.
- 관련 히스토리는 https://xetown.com/tips/1529234 를 참조해주세요.

관심이 있으신 분들은 아래 사항 숙지하시고 사용해주시면 감사하겠습니다.

 

미리보기 : https://dev.aporia.blog/schedule

 

 

0. 업데이트

 

2.3 : 2021-03-03

- 관리자 페이지

: 대시보드에서 모듈 카테고리 미출력 버그 수정

: 모듈 추가 완료시 리다이렉트 페이지 수정

: 모듈 삭제 시 연관 스케줄 일괄 삭제 (트리거 추가, 관련 함수 삽입, 쿼리 xml 추가)

- php

: 반복일정 item 버그 수정

-> 어느 경우에 발생하는지 모르지만 간헐적으로 lang 함수가 안 먹었음. 그래서 $lang = Context::get('lang') 선언으로 대체

: 입력화면에서 기존스케줄 또는 신규스케줄의 반복 옵션이 없을 때 반복 설명문의 span 태그 미출력 문제 수정

: 메일링 때 스케줄 번호 미출력 문제 수정

- 스킨

: 카테고리 목록 없을 때 헤더 부분 여백 문제 수정

: 삭제 화면에서도 본문 화면과 동일하게 선택일 표기
: common 폴더 부를 때 상대경로 지정으로 수정

: 리스트에서 sorting 링크 복원

: vue-datetime을 활용한 모바일 친화적 date-time picker 적용

-> https://mariomka.github.io/vue-datetime/

: 모바일에서 셀렉트 버튼 접근성 개선(달력 년월 이동, 분류 선택 등)

: 반복 설정에서 반복 중단일 reset 버튼 추가

: 시작일 따라 종료일 및 중단일의 minDateTime 연동

 

 

1. 설치

 

1) 기존에 2.0 미만의 스케줄 모듈이 있다면

완전히 삭제한 뒤에 설치하셔야 합니다. 기존과 테이블 구조가 많이 달라졌기 때문입니다. 절대로 기존 모듈(2.0 미만)에 덮어쓰기 하거나 업데이트하지 마세요.
- 기존의 데이터도 호환되지 않을 겁니다. 만약 데이터 승계가 필요하다면 따로 백업하신 후에 DB 테이블과 컬럼에 맞게 수동으로 옮겨주셔야 합니다.

2) 기존에 2.0~2.1 버전 사용자라면

- 관리자 페이지 첫 화면에서 데이터베이스 업데이트를 반드시 해주셔야 합니다.
- 썸네일 출력 관계로 uploaded_count 컬럼이 추가되었기 때문입니다.

3) 기타

PHP 7.0, 라이믹스 2.0.7, 크롬에서 테스트되었습니다. PHP 8.*에서는 호환성에 문제가 있을 수 있습니다.

- 라이믹스 하위 버전에서 테스트는 해보지 않았지만, 2.0 미만에서는 작동하지 않는 게 확실하니 2.0 이상 환경에서 설치 시도를 해주세요.
- 설치 경로는 루트 > modules > schedule 입니다.

 


2. 주요 기능

 

1) 개요

-람보님에 의하면 "게시판모듈에 소속된 모듈을 밖으로 끄집어냄으로써 더이상 Document 모듈의 복잡한 DB구조와 확장변수의 복잡함을 더 이상 사용하지 않아도 편리하게 스케줄을 이용할 수 있도록 하는 것이 목적"
- 인데, 기능 개선 과정에서 Document와 Board 모듈을 벤치마킹하면서 좀 복잡해지긴 했습니다. 하지만 그만큼 기능이 좋아졌습ㄴ...

 

2) 공신력 있는 날짜 정보 활용

- 공공데이터 API를 통해 음양력, 공휴일, 24절기, 기타 잡절 출력
- API를 사용하지 않으면 별도의 라이브러리를 사용합니다.

 

3) 알기 쉬운 스케줄 반복 설정

- 스케줄 반복 설정시 접근이 쉬운 인터페이스 제공(기본 스킨)
- 반복 설정 내용에 대한 깔끔한 코드 처리 ... 암튼 어렵지 않아요

 

4) SEO 강화

- 라이믹스 2.0 이후에 도입된 짧은 주소 기능으로 검색 엔진 최적화의 수준을 더 높였습니다.
- 또한 본문 내 첨부이미지 외에도 외부이미지로도 메타 태그의 대표 이미지로 설정 가능합니다.

 

5) 스케줄의 원활한 대기/공개 관리

- 스케줄 본문에서 직접 변환 가능
- 관리자 페이지에서도 일괄적으로 관리 가능

 

6) 회원 전용 비밀스케줄 기능 지원

- 상담게시판 기능과 유사하다 보시면 됩니다

 

7) 다양한 스킨 활용 가능

- 스케줄 전용 모듈인 만큼 원하시는대로 스킨을 제작해서 사용하실 수 있습니다.

 


3. 설정

 

1) 특일 정보 설정

- 음력, 공휴일, 24절기, 기타 잡절 등 특일 정보 출력을 위해 공공데이터 포털에서 API키를 받아서 입력합니다. 두 군데에서 '활용신청' 수락을 받아야 하는데, API키는 처음 받은 키를 그대로 유지하면 됩니다.

- 기존의 특일 정보 관련 함수들에 비해 정확하고 공신력 있는 정보라 생각하시면 될 것 같습니다.

- 만약 API키가 없더라도 모듈 자체적으로 특일 정보를 구현할 수는 있습니다. 다만 이 경우에는 API키를 활용하는 것보다 스케줄 표/목록 출력이 살짝 느릴 수는 있습니다.

- API키 취득 및 활용신청은 아래의 링크에서 하세요.

- 특일(공휴일,24절기,잡절) : https://www.data.go.kr/data/15012690/openapi.do

- 음양력 변환 : https://www.data.go.kr/data/15012679/openapi.do

 

2) 모듈 추가/정보 : 설정

- 모듈 이름(mid), 브라우저 제목, 모듈 분류, 관리자 메일 등을 입력합니다. 게시판 모듈의 방식과 동일하니 어렵지 않을 겁니다.
- 특일선택은 공공데이터 포털에서 취득한 API키를 활용해서 스케줄 테이블에 뿌려줄 항목들입니다. 음력, 공휴일, 24절기, 기타 잡절 등을 가져올 수 있습니다.

[주의] API키를 통해 월별 특일 정보가 담긴 xml 파일을 캐시파일로 저장하게 됩니다. 따라서 달력 각 페이지 첫 로드시에는 속도가 다소 느릴 수 있습니다. 그렇지만 캐시파일 생성 이후에는 빠른 속도로 로드가 이뤄집니다.

- 또한 관리자가 공공데이터에서 제공하는 특일 외의 여타 특일을 직접 입력할 수도 있습니다. 행별로 제목, mmdd 형식으로 입력해서 활용할 수 있습니다.

 

3) 모듈 추가/정보 : 레이아웃 | 스킨

- 레이아웃, 스킨, 상단내용, 하단내용 등을 입력할 수 있습니다. 게시판 방식과 동일합니다.

- 단, 모바일 레이아웃과 스킨은 설정 > 시스템 설정 > 고급 설정에서 '모바일 뷰 사용'을 '아니오'로 했다면 해당 폼을 로드하지 않습니다.

 

4) 모듈 추가/정보 : 고급 설정

- 스팸 방지 기능은 스팸필터 모듈의 캡챠 설정과 연동됩니다.
- 상태 지정은 스케줄 입력 화면에서 작성자가 선택할 수 있는 스케줄 콘텐츠 상태 선택 사항을 의미합니다.
- 대기 상태의 스케줄을 어떻게 표시할 것인지 설정할 수 있습니다. 그냥 보이게 하거나, 가리거나, 감출 수 있습니다.
- 비밀 스케줄러를 사용하면 작성자는 본인이 입력한 스케줄만 확인할 수 있습니다. 상담게시판 기능과 유사합니다.

- 목록 보기 체크를 통해 캘린더뿐 아니라 일반적인 목록 형태로도 스케줄을 열람할 수 있습니다.

 

5) 기타 항목

- 분류 관리, 권한 관리, 추가 설정, 스킨 설정 등은 기존 게시판 설정과 유사하므로 따로 설명이 필요 없을 겁니다.
- 다만 추가설정에 댓글 설정이 있는데 이 부분은 향후 기능 개선을 위해 남겨둔 것으로 현재 2.2 버전에서는 모듈에 영향을 주지 않습니다.

 

 

람보 Lv. 17

댓글 90

  • 2021.04.29 08:40 #1563306
    정확히말하자면 한글로써서 안됬엇네요 ㅠㅠ
  • 2021.04.29 14:02 #1563493
    깔끔하네요. 어여 라이믹스로 옮겨야 사용할텐데....
  • 2021.06.10 05:59 #1580225
    감사합니다 잘쓰겠습니다!!
  • 2021.06.17 11:24 #1582653
    php7.4 에서 음력으로 설정된 반복된 1년 단위의 일정은 , 6~7년을 건너뛰고 날짜 변환도 제대로 이루어 지지 않네요!
  • 2021.06.29 17:54 #1587700
    잘 사용하겠습니다. 항상 감사합니다 :)
  • 2021.09.13 04:52 #1612791
    잘 사용하겠습니다 !!
  • 2021.10.16 10:00 #1622061
    감사합니다. 잘사용하겠습니다.
  • 2021.10.24 16:31 #1624437
    구글캘린더 연동이랑 혹시 위젯으로도 가능할까요?
  • 2022.01.29 07:07 #1648796
    아마 꾸역꾸역 하면 될 것도 같은데, 제 능력 밖의 일이긴 하네요;;;
  • 2022.02.14 01:04 #1654122
    자료 감사합니다. 메인페이지에서 불러오는 위젯은 없을까요? ㅠㅠ
  • 2022.02.14 01:10 #1654127
    네 현재로서는 없습니다. 따로 제작을 하셔야 해요 :)
  • 2022.02.19 13:11 #1656343
    감사합니다 찾던 기능인데 잘쓰겠습니다!
  • 2022.02.22 12:51 #1657480
    와 ~ 멋집니다.
    깔끔하고 좋네요.
    그런데 혹시 하루 종일(시간 선택 없이)인 경우에는 날짜를 변경할 수 없군요. 다시 시간 선택 가능하게 바꾸고 날짜 바꾼 다음 다시 하루 종일로 변경해야 하는 약간(? ^^;;)의 번거로움이 있습니다. 하루 종일에서도 날짜 변경 가능했으면 어떨까 합니다.
    잘 사용하겠습니다. 너무 좋네요 ~~~~ ^^
    (내가 왜 이 모듈을 못봤을까요.. 이제서야 ㅎㅎ)
  • 2022.04.13 05:21 #1676634
    윤삼님 2.3버전 깃허브 넘어온것도 있고 그러니 이거 게시글주인 저로 체인지 가능할가요? 저장소자체가 제꺼라 업데이트 해야할거 많아서요;; (심각한 버그도 있고 작동안되는 부분 싹다 수정해야합니다.. 예예;;)
  • 2022.04.13 05:37 #1676636
    넵넵, 대환영입니다.
    바꿔주세요!!
  • 2022.04.13 07:47 #1676672
    아까 전에 디스코드 들어가서 코딩하시는 실황중계 살짝 봤는데 기대만발입니다~!
  • XETOWN
    2022.04.13 07:07 #1676665
    제작자가 @윤삼님에서 @람보님으로 변경되었습니다.
  • 2022.05.02 23:56 #1682849
    기존 모듈을 db 까지 모두 지우고 2.3 설치 했는데요, 스케쥴 작성 권한이 분명 모든 사용자로 되어 있는데 '스케줄을 작성하거나 수정할 권한이 없습니다' 라고 메세지가 출력이 됩니다. 이게 저만 그런가요?
  • 2022.05.03 02:07 #1682875
    1. 지난번에 지우는 과정에서 스케줄 모듈의mid를 지우지 않았더라면 기존의 설정이 잇을 수 있습니다. 설정을 확인할 때 해당 설정페이지에 잠깐 들어가서만 봤는지 아니면 재 설정(해당값들을 수정하며 다시 등록)하는 과정을 거쳤는지에 따라 권한처리가 될 수 있겠습니다. 따라서 권한을 재 설정을 하시길 권장드립니다.

    2. 1번에서 재설정을 해도 안된다면 스케줄 등록하는 것은 InsertDocument 를 사용하는 것만큼 게시글을 작성하는 효과도 있습니다.

    관련 권한을 관장하는 애드온 또는 모듈이 있을경우 거기에서 막힐 수 있습니다.

    원인은 너무 다양할 수 있기 때문에 단순히 스케줄 모듈의 문제로 보기엔 어렵겠지만.. 실제로 테스트하는 과정에서도 문제가 없었던 상황이라 다시한번 더 권한을 알아보시고 관련 애드온이나 문제점이 있는지 찾아보시기 바랍니다 :)
  • 2022.05.03 03:09 #1682898
    답변 감사합니다.
    비밀 스케줄러 사용 옵션을 체크하니 비회원으로 글쓰기가 안됐던 거였네요.

    저는 이 옵션에 대해 이해하기를 이 옵션을 켜면 다른 사람들이 제 스케줄을 볼 수 없게 하고 저 또한 다른 사람의 스케줄을 볼 수 없으며 제 스케줄만 볼 수 있게 하는 것으로만 이해를 했습니다. 물론 관리자는 모두 볼 수 있구요.

    비밀 스케줄러 사용 옵션을 켜면 '스케줄을 작성하거나 수정할 권한이 없습니다' 라고 메시지가 출력되면서 비회원, 즉 로그인 하지 않은 사용자는 스케줄을 작성하지 못하는 것이 정상작동이 맞는지요?
  • 2022.08.05 13:07 #1702205

    감사합니다. 덕분에 스케줄러 활용 할 수 있을 것 같습니다.
    그런데 제가 API발급받고 API 키를 등록하고, 공휴일 체크박스 설정을 해주었는데 공휴일 항목이 나오질 않네요..ㅠ;

    키는 둘 다 입력 해보고 등록해봤는데.. 반응이 없네요..

    제가 뭘 잘 못 한 걸까요? (인증키 발급도 둘 다 했습니다.)

    123123.JPG

    다시 한 번 스케줄러 감사드립니다~~!

  • 2022.08.31 05:36 #1706563

    감사합니다. 동호회 모임 일정에 사용해 봐야겠네요

  • 2022.12.26 07:56 #1732987
    안녕하세요 람보님
    비밀 스케줄러 기능를 사용해도
    관리자가 아닌 일반 회원끼리 PC 에서는 보이지 않지만
    모바일에서는 보이는 문제점을 발견해서 문의드립니다. 열람도 가능합니다.

    수정 할 수 있는 방법이 있을까요!
  • 2022.12.26 09:31 #1732999
    새로운 이슈!

    모바일 뷰를 체크 하면 일반 회원이 작성한 스케쥴이 보이게 됩니다.
    모바일 뷰 해제시 스케쥴이 안보이네요!
  • 2022.12.27 23:58 #1733304
    모바일 스킨을 재대로 적용이 안된듯 하네요. 저희쪽에서 체크해볼게요. (새롭게 추가된게 윤삼님버전인데 그게 보통은 반응형으로 사용하지 모바일뷰를 거의 안쓰거든요;;)
  • 2022.12.28 05:44 #1733415
    감사합니다 체크 해주신다니 감사합니다!!
  • 2023.02.01 09:13 #1742223

    람보님 안녕하세요. 스케줄 모듈은 댓글 기능은 지원하지 않을까요?
    동호회 일정에서 사용하는데 참석 유무를 댓글로 확인하려고 하는데 설정 권한에는 댓글이 있지만 실제로 댓글 작성하는 창이나오지 않네요.

    --------------------------------------------

    - 다만 추가설정에 댓글 설정이 있는데 이 부분은 향후 기능 개선을 위해 남겨둔 것으로 현재 2.2 버전에서는 모듈에 영향을 주지 않습니다.

     

    위 내용을 확인했습니다.

  • 2023.08.26 16:25 #1782789
    람보님 감사합니다. 스케줄 모듈 너무 잘사용하고 있습니다!
    사용중 문의사항이 있는데 혹시 시작요일을 월요일로 변경 가능 할까요?!
  • 2023.09.12 06:09 #1784903
    공공api 입력시 특일이 사라지는데 확인 가능할까요?
    추가로 기독탄신일과 같이 지정된 기념일의 문구를 변경하려면 어떻게 해야하나요?
  • 2024.02.13 09:42 #1809059

    스크린샷 2024-02-13 183731.png

     

    먼저 이렇게 깔끔한 스케쥴러를 공개해 주심에 감사드립니다.

    제가 2.3버전을 설치했는데 저는 명절이나 기념일이 표시 안되는군요.

    라이믹스는 2.1.13 버전이고 php는 7.4입니다.

    공공데이터 api키도 발급받아 입력했습니다.

    api키는 일반인증키 중에 Encoding과 Decoding 중에 Decoding을 사용하였습니다.

    모듈정보에서는 특일선택에서 모두 선택으로 해주었구요.

    딱히 더 이상 설정할 부분이 없어보이기는 한데 혹시라도 빼먹은 부분이 있을까요?

     

    그리고 다크모드일 때 상단 월 표기가 배경색에 뭍히는 현상이 있는데 이 부분은 어딜 수정하면 될까요?

     

    스크린샷 2024-02-13 184735.png

  • 2024.02.13 09:46 #1809067

    에이피아이 설정에서 설정하신거랑 별개로 데이터 출력방식이 바뀌거나 다른 영향이 잇을 수 잇어서 다시한번 확인은 따로 해보겠습니다.

  • 2024.05.09 15:07 #1823025

    해당 모듈 설치 후
    스케줄 모듈 관리 페이지에서 모듈 추가시
    classes/module/ModuleHandler.class.php 에러가 나옵니다.

     

    PHP 7.4  Rhymix 2.1.15 입니다.

  • 2024.05.09 15:49 #1823043
    제보 감사합니다 수정해보도록 하겠습니다.
  • 2024.05.09 16:02 #1823045
    혹시 깃허브가 따로 있던데 공개 자료실에 올라온 버전하고 용량이랑 내부 소스가 다르더라고요,
    어떤걸 보면 될까요?
  • 2024.05.09 19:41 #1823059
    오잉 실제 코드가 틀리나요? 아마 제가 릴리즈 하지 않고 패치 하고 잇어서 그럴 수 있어요..!
  • 2024.05.10 01:28 #1823112
    https://github.com/bjrambo/xe-module-schedule

    이거랑 xetown에 올라와있는 자료하고 다르더라고요
  • 2024.05.10 04:18 #1823144
    네 패치릴리즈를 타운에 안하면 다를수 잇어요
  • 2024.05.10 08:49 #1823176
    그렇군요, 두 파일 다 테스트해봤는데 동일한 문제네요 ㅠ
  • 2024.09.17 14:46 #1837994
    이건 이제 최신버전에서는 작동이 안되나봐요?ㅠ
  • 2025.01.25 09:29 #1856456
    ( help ) php 8.3 라이믹스 2.1.17까지 작동시키게 했습니다.. 다만 다국적언어를 지원하게하려면 어떻게 해야하나요? 한국어 외에 다른언어로 지정하면 언어를 가져오지못하고있습니다 ㅜㅜㅜ
    사이트언어:한국어 , ko.lang.php가 있을때만 잘 작동합니다.
    예를들어
    사이트언어:일본어 , ja.lang.php는 언어를 가져오지못하고있습니다.ㅜㅜ
    부디 고견부탁드립니다...