범주 관리
티키 3 - CSV 파일을 업로드하여 일괄적으로 범주 만드는 법.pdf티키 3 - CSV 파일을 업로드하여 일괄적으로 범주 만드는 법.doc
티키 내의 범주를 이용하여 순식간에 만들어지는 수 많은 컨텐츠를, 다른 그룹에 다른 접근 권한을 부여하며, 탐색과 색인 작업을 훨씬 쉽게하는 식으로, 관리할 수 있습니다.
범주는 그룹 과 함께 사용되어 사용자의 특정 그룹으로부터 개체/페이지를 감추도록 사용될 수 있으며, 이는 사이트의 나머지 부분에서 달리 보일 수 있는 "개인"영역을 만들게 됩니다.
범주는 귀하에게 알맞은 도구일까요? 다음을 참고 하십시오: 컨텐츠를 정리하는 방법
범주와 하위범주 만들기
메인 메뉴에서 "관리 -> 범주"를 통하여 범주의 관리를 할 수 있습니다.
그리고, 최상위 레벨에서 새 범주를 추가할 수 있습니다 (예를 들면: "Status").
"자동적으로 범주 할당: "(최고 성능을 위하여 추천됨)" 이란 부분을 주목하십시오". 확실하지 않은 경우, 지금 당장은 켜진 상태로 두십시오.
기존의 범주를 클릭한 경우, (예를 들면, 방금 막 만들어진 "Status" 범주), 그 범주에 하위범주를 만들 준비가 된 것입니다.
들어가 있는 범주로의 경로가 보일 것입니다, 지금의 경우는, "Current Category: Top :: Status", 과 같습니다:
그리고, 선택된 부모 범주 ("Status")의 자식으로 서 새 범주를 (예를 들면 ""1. To Do"") 추가할 수 있습니다.
일단 만들어지고 나면 "Status" 범주의 우측의 ">>>" 를 클릭할 경우, 아래에 자식 범주들을 볼 수 있습니다:
약간의 작업이 이루어지고 나면, 다음과 같은 결과물을 얻을 수 있습니다:
CSV 파일에서 일괄적으로 범주 만들기
1 단계: 범주를 설명하는 CSV 파일 만들기
2 단계: [[http://<server-name>/tiki/tiki-admin_categories.php]] 로 탐색
그리고 범주 CSV 파일을 선택하고 티키로 업로드하기 위하여 "일괄 업로드"를 사용합니다
[[<server-name> 을 사용 중인 서버명으로 교체합니다, 예를 들면 "localhost"]]
3 단계: 새 범주가 만들어졌나를 확인합니다
하지만 모든 컨텐츠를 사이트에 등록된 사람들만이 읽을 수 있도록 하고 싶은 경우와 "7.Validated" (확인됨) 이라고 범주화 된 컨텐츠만을 익명사용자들도 읽을 수 있게 하고 싶은 경우를 가정해 봅시다. 범주 권한 을 사용하여 그렇게 할 수 있습니다 (다음 섹션을 봐주십시오).
범주에 권한 할당하기
범주 권한이 작동하는 방법
범주 권한 시스템은 다음 규칙들을 따릅니다.
- 범주는 위키 페이지나 게시판 등등과 같은 하나의 개체로 취급됩니다.
- 범주 권한은 "와 모든 자식" 선택사항을 재정의 하기 전에는 계층적입니다. 자식 개체들은 자동적으로 부모로부터 권한을 상속합니다.
- 자식과 부모 권한 사이에 충돌이 있는 경우, 자식 개체에게 할당된 권한이 부모 개체에게 할당된 권한 보다 우선시 됩니다.
- 범주가 개체로의 사용자 접근을 허용하는 경우 (혹은 비허용을 하지 않는 경우), 사용자의 그룹 권한은 그 종류의 개체로 접근을 허용하여야만 합니다..
- 개체로 할당된 권한이 없고 조상 개체 중 그 어느 것으로도 할당된 권한이 없을 경우, 해당 사용자 그룹에 대한 전역 권한이 적용됩니다.
- 개체들은 한 개 이상의 범주 안으로 놓여질 수 있습니다.
- 여러 개의 범주 권한: 한 개의 개체가 한 개 이상의 범주 안에 놓여지는 경우, 사용자는 특정 작업을 수행하기 위한 권한을 적용되는 "모든" 범주들 안에 보유하고 있어야만 합니다. 달리 말하자면, 사용자가 어떤 작업을 수행할 수 있을지 없을지의 여부는 사용자가 최하의 권한을 보유한 범주가 우선 순위를 차지합니다.
- 이 엄격한 "모든 범주들 내부에서 권한을 반드시 보유해야만 함" 규칙은 (티키 1.10 안에서) "개체의 범주들 (그 중 하나가 아닌) 전체로의 권한이 접근에 대하여 필요합니다" 라는 것을 "관리->범주" 안에서 체크해지 함으로써 더 느슨히 적용될 수 있습니다.
범주에 권한을 할당하려면, tiki-admin_categories.php 로 가서 해당 열쇄 아이콘을 클릭합니다, 그러면 tiki-categpermissions.php 로 가게 됩니다. tiki-categpermissions 은 tiki-pagepermissions.php 와 매우 유사해 보이며 작동 방식도 유사합니다
권한의 의미에 대해서 더 정확히알고싶으시다면 다음을 참고하십시오: 범주 상세설명
1.9 와 1.10 간의 범주 권한의 변경내역
1.10 이전에는 2개의 범주 권한만이 있었습니다:
- tiki_p_admin_categories
- tiki_p_view_categories
이 2개의 범주를 사용하여, 사용자로 하여금 범주화 된 페이지를 볼 수 있지만 편집할 수 없도록 할 수 없었습니다 (달리 편집 권한을 가진 경우).
1.10 부터는 범주와 관련된 권한들이 수정되어서, 사용자가 개체를 범주에 추가할 수 있었지만 개체에 할당된 범주화를 변경하거나 삭제할 수 없도록 하는 것이 허용되었습니다.
티키 1.10.x 에서부터는 tiki_p_view_categories 에 대하여 다른 의미가 부여되었고, tiki_p_view_categorized 와 같은 몇몇 새로운 권한이 소개되었다. 범주 상세설명 에서 추가 정보를 볼 수 있습니다예제
범주 관리 의 예제를 따라가며,"Status" 범주의 좌측에 있는 초록 열쇄 아이콘을 클릭해야 합니다 ( ):
이는 다음과 유사한 장면을 보여줄 것입니다:
언급된 예제에 적혀있는 것처럼, 우리는 익명사용자 그룹으로부터 ""Status" 하위범주의 전부로투너 범주 컨텐츠를 볼 수 있는 권한을 제거하려고 합니다. 가장 손쉬운 방법은 "(이 범주와 모든 자식들에서 삭제)"을 클릭하는 것입니다:
그룹 | 권한 | 작업 |
Anonymous | tiki_p_view_categories | (이 범주와 모든 자식들에게서 삭제) (이 범주만으로부터 삭제) |
(...) |
아래와 같은 표의 결과를 얻으려면, 구성에 따라, 작업을 확인해야 합니다:
그리고, "범주 관리"로 돌아갈 수 있으며, Status 범주의 우측의 ">>>" 표시를 클릭할 수으며 7. validated 의 좌측의 초록 열쇄 (
) 를 클릭할 수 있습니다 (필요하시다면, 윗부분의 그림을 보십시오). 거기에 우리는 익명사용자 (anonymous) 그룹에 대하여 해당 컨텐츠를 읽을 수 있도록 "이 범주 전용"을 클릭할 수 있습니다 (혹은 어떤 자식 범주들이 내부에 있으며, 해당 범주와 그 자식 범주로의 권한을 추가를 원하는 경우, 다른 버튼을 사용하여 tiki_p_view_categories 권한을 추가할 수 있습니다).
다 되었습니다. 😊
범주에 권한이 할당된 것이 없을 경우, 노랑 열쇄 ( ) 아이콘이 옆에 보일 것입니다.
그리고 티키 1.10에서부터는, "tiki_p_edit_categories 권한을 통하여 범주로 할당된 컨텐츠를 사용자가 편집하는 것을 허용 (혹은 제한)하는 것을 손쉽게 하기 위하여 티키에 새로운 범주 권한이 추가되었습니다" (= "범주 안에서 항목을 편집 가능").
범주에 컨텐츠 추가하기
개체별 편집 시, 혹은 "관리 -> 범주"에서 중앙화된 절차 내에서, 개체 자체를 편집함으로써 범주에 컨텐츠를 추가할 수 있습니다 (범주 사용자 를 살펴보십시오).
예를 들면, 위의 예제에서 "1. To Do" 범주로 몇몇 컨텐츠를 추가할 수 있습니다. 목록 안의 범주명을 클릭할 수 있으며, 이 범주로 이미 할당된 개체들을 보게 됩니다 (이 예제에서는 해당 사항이 없습니다), 그리고 이 범주로 새로운 (혹은 기존의) 개체를 추가할 수 있습니다:
몇몇 개체를 추가한 후, "범주 1. To Do 안의 개체" 상자에 그들이 나열될 것을 보게 될 것입니다:
이 기능을 사용하는 방법에 대한 추가 정보는 다음 설명서 페이지에서 보실 수 있습니다: 테마 제어
tpl 에서 현재 개체 범주 사용하기
티키위키 3.0 이 후
tiki.tpl 를 예로 들어 그 내부에서 현재 관심대상의 개체 범주들을 사용하고 싶은 경우 (열의 내부 혹은 헤더의 내부에 몇몇 특별 메뉴를 표시하고 싶은 경우) 관리->범주에서 'tpl 에서 범주 사용됨' 기능을 사용할 수 있습니다
이는 스마티(smarty) 변수 objectCategoryIds 를 설정하게 됩니다
다음처럼 사용할 수 있습니다
{if isset($objectCategoryIds) and in_array(54, $objectCategoryIds)} {menu id=50} {/if}
여기서 54는 메뉴를 표시하고 싶은 범주ID (categoryId)입니다.
isset($objectCategoryIds) 부분은 이 기능을 활성화 하였는지 여부를 시험합니다
in_array(54, $objectCategoryIds) 부분은 현재 관심 대상 개체의 범주들의 목록 안에 범주ID 54 가 있는지 시험합니다.
tiki-index.php?page=foobar 와 같은 페이지에 있는 경우와 이 페이지가 범주 54를 보유한 경우, 메뉴ID (menuId=50)을 보유한 메뉴가 표시됩니다
일반 관리 설정
범주 경로 보기 | 페이지의 상단에 개체의 범주 경로 전체 보기 | |
범주 개체 보기 | 페이지의 하단에 범주별로 정렬된 개체들과 개체의 동일한 범주 안의 개체 종류들 보기 | |
tpl 안에 사용된 범주 | 템플릿에서 범주를 사용하는 것을 계획 중인 경우, 이 기능을 활성화 해야 됩니다. 이는 현재 개체에 대하여 모든 범주들을 검색하게 됨으로 프로그램이 느려지게 될 것입니다 |