Skip to content
This repository has been archived by the owner on Mar 7, 2023. It is now read-only.

config 모듈 개선 #28

Closed
bluemir opened this issue Jan 7, 2016 · 8 comments
Closed

config 모듈 개선 #28

bluemir opened this issue Jan 7, 2016 · 8 comments
Milestone

Comments

@bluemir
Copy link
Owner

bluemir commented Jan 7, 2016

#26 과 config page를 제공 하기 위해서는 config module의 대대적인 개편이 필요합니다.

요구되는 config module의 spec은 다음과 같습니다.

  • config의 우선 순위 지원
    1. process.argv
    2. process.ENV
    3. config/local.yaml
    4. config/defaults.yaml
  • config page 에서 변경된 내용의 config/local.yaml의 반영
  • config 모듈의 독립성
  • 타 모듈에서의 용의한 접근성#

여지껏 local.yaml의 변경을 실시간으로 반영하고 있었지만, 해당 기능은 config page 에서의 변경으로 대체 가능하고 config 중 서버를 재시작 하지 않고는 바꿀수 없는 설정(eg. port)이 존재하므로 해당 기능은 제거하는게 좋을것 같습니다.

@bluemir
Copy link
Owner Author

bluemir commented Jan 11, 2016

Arguement paser는 yargs를 채택

@bluemir
Copy link
Owner Author

bluemir commented Jan 16, 2016

서버가 시작할때 config를 바로 local.yaml에 저장할것인지 아니면 어떤 명시적인 행동이 있기 전까지는 그렇게 하지 않을것인지 정해야 함.

@bluemir
Copy link
Owner Author

bluemir commented Feb 6, 2016

config 및 App Data의 저장 폴더에 대한 대대적인 개편이 필요함

고려하고 있는 것은 wikinote의 위키를 저장하는 폴더에 사용자 정보와 더불어 설정정보도 같이 저장하게 끔 한다.
단 git repository 에는 들어가지 않도록 하는 편이 좋아 보인다.

@bluemir
Copy link
Owner Author

bluemir commented Feb 7, 2016

계획하고 있는 우선순위 순서

  • Config File (default : $WIKINOTE_HOME/.app/config.yaml)
  • Shell Env
  • Arguments
  • Live Setting

매 번 값의 변경이 있을때마다 변경된 값으로 저장할 예정

@bluemir
Copy link
Owner Author

bluemir commented Mar 28, 2016

config를 전부 yargs로 교체 가능함. 변경사항이 있을때 혹은 설정 파일이 없는 경우 저장하는 프로세스만 추가하면 됨.

@bluemir bluemir added this to the 0.7.0 milestone Mar 29, 2016
@bluemir
Copy link
Owner Author

bluemir commented Mar 29, 2016

plug in 의 설정 방법도 같이 고민 해야함.

@bluemir
Copy link
Owner Author

bluemir commented Mar 30, 2016

현재 진행 상황:

  • 인자로 받는 설정값 반영
  • 인자로 받는 설정값을 저장하는 옵션 --save
  • $load()와 $save()로 파일에 저장하고 다시 불러오는 기능 만듬.

@bluemir bluemir closed this as completed in 15d9d42 Apr 8, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant