특정 Role(유저 그룹)에서 몇몇 노드의 편집이 안되는 경우... (Edit Tab이 안보이는 경우)

드루팔6으로 만들어 준 한 강의 예약 사이트에서 연락이 왔다.
운영자 권한으로도 "선생님 정보가 수정이 안되요"라는 것이다.

운영자라면 CCK Permission에도 거의 Full로 체크돼 있는데 이건 무슨 소리?

아니나 다를까 점검을 해 보니, 선생님 정보가 수정이 안된다.

현상 1. 정확하게 표현하자면, 노드에 들어가도 "편집"이라는 탭이 안보인다.

현상 2. 자세히 살펴보니, (같은 선생님 정보 타입이라도) 어떤 노드는 편집이 되고,
특정 노드의 정보만 "편집 탭"이 보이지 않았다.

이런 저런 것 모두 다 살펴보았다. 운영자를 최고 레벨 Role로 설정해도 해결 안됐다.
그러다가 아래 글을 보고 힌트를 얻어 해결이 되었다.

Disappearing edit tabs due to input format permissions.
http://drupal.org/node/91663

관리 > 사이트 설정 > 입력 형식(입력 필터들의 설정 모음)에 가 보면,
입력 형식의 Filted HTML이나 Full HTML 등이 있다.

이 중에 Full HTML 편집으로 들어가서 해당 사이트의 운영자 Role을
체크해 주었다. Filted HTML에는 이미 체크돼 있었다.
그러자 문제가 해결, 모든 선생님 노드에 대해서 운영자의 수정이 가능해 졌다.

원인은 사이트의 개설 초기, 일시적으로 1번 유저(admin 등)로 선생님 정보를 등록,
그 때에 기본적인 입력 형식이 Full HTML로 돼 저장됐던 것이다.

이후 모든 선생님 컨텐츠 타입에 대해 운영자의 수정 권한을 배당해도,
정작 입력 형식에 대한 권한이 운영자에게는 부족, 특정 노드들은 편집 탭을
표시하지 않았던 것이다.

이번 일로 깨닫은 것은,
1. 입력 형식(필터)에 대한 설정도 사이트 초기에 야무지게 하자는 것.
(참고로 이와 관련된 Safe HTML 필터 글이 팔팔.오알지에 있다)
2. 드루팔은 거짓말을 하지 않았다는 점이다. 초기에 설정된 대로 움직였다.

즉 사이트 초기의 설정 실수와 운영 미스가 겹쳐 이러한 권한 문제가 발생한 셈이다.

Your rating: None 평균 : 5 (1 vote)

댓글

간접 경험이지만

간접 경험이지만 좋은 걸 알았네요!
저도 지금 한창 개발을 하는 중이지만, Role이라던가 이런 것들이 중간에 변경이 되어버리니까 생각치 않은 문제점들이 생기더라고요. 그나저나 드루팔 기본 Input Format이 별로 좋지 않아서 Better Formats라는 모듈을 써보니 좋더라구요.

댓글 고맙습니다!

댓글 고맙습니다! 필터 때문에 여러 번 고생하고 있습니다. ㅎㅎ

특정 그룹에 대해 디폴트 필터 적용하는 것도 예사롭지 않았는데, 역시 Better Formats가 제일 낫더군요 :)
http://www.palpal.org/node/37