데이터 및 스키마 모듈 드루팔 호스팅

이 모듈은 특정 열기 데이터 스키마를 다음 API를 통해 드루팔의 컨텐츠를 노출 할 수있는 유연한 방법을 제공합니다. 현재 CKAN. 프로젝트를 열고 데이터 및 DCAT-AP 스키마가 제공되지만, 새로운 스키마는 쉽게 자신의 모듈을 통해 추가 할 수 있습니다. 사용자 인터페이스는 토큰을 사용하여 드루팔 콘텐츠에 선택한 스키마에서 엔드 포인트와지도 필드를 만들 수있는 곳입니다.

이 모듈은 DKAN 프로젝트의 일환으로 개발 된, 그러나 드루팔 (7) 사이트에서 작동합니다. 별도의 모듈은 DKAN 고유의 구현을 위해 존재한다.

에 의해 필터링 경우 데이터 및 스키마 모듈 드루팔, 예를 들어 호스팅

당신이 ODSM 파일 캐시 섹션의 권장 사항을 준수하지 않을 경우 심각한 성능 문제가 발생할 수 있습니다.

기본 concepts¶

스키마는 일반적으로 기계 판독 데이터를 표시하기위한 지역 사회의 사양을 나타내는 필드 정의의 목록입니다. 핵심 개방형 데이터 스키마지도 모듈은 스키마를 포함하지 않는다; 그들은 추가 모듈에 의해 제공됩니다. 스키마 모듈이 포함됩니다 :

  • 표준 드루팔 .module 파일 - hook_open_data_schema ()의 구현은 UI 형태 또는 출력 된 데이터 자체에 필요한 모든 수정 용 코어 개방형 데이터 스키마지도 모듈 스키마 플러스 _alter 기능을 노출시킨다.
  • 스키마 자체는 .json 파일로 표현됩니다. 예를 들어, 이러한 스키마가 JSON에 정의하는 방법을 볼 수있는 프로젝트를 열고 데이터 스키마 파일을 참조하십시오

이 모듈의 API는 (API의 엔드 포인트라고도 함) 특정 URL에 기계 판독 데이터의 특정 집합을 노출 구성 집합이다. 이 모듈은 당신이 데이터베이스 레코드 및 / 또는 수출 사용하는 기능으로 저장 다수의 API를 만들 수 있습니다. API를 레코드가 포함됩니다 :

  • 엔드 포인트 URL
  • 스키마 (부가 모듈들에 의해 제공 가능한 스키마로부터 선택 상술 한 바와 같이)
  • 드루팔 토큰 (노드에서 일반적으로 참조 필드)에 해당 스키마에 정의 된 필드 매핑
  • 선택적으로, URL을 통해 전달 된 하나 개 이상의 인수가 결과 세트를 필터링하려면

설치¶

평소와 같이 주요 개방형 데이터 스키마지도 모듈을 사용하고, 또한 당신이 당신의 API를 작성해야합니다 스키마 모듈을 가능하게한다.

만들기 APIs¶

관리 / 설정 / 서비스 / odsm로 이동하고 "API를 추가합니다."

의 API에 제목, 기계 이름을 지정 (DKAN에.이 일반적으로 데이터 집합입니다) 어떤 개체 유형 (보통 노드)과 번들을 선택합니다.

당신은 인수 및 매핑을 추가하기 전에 API 레코드를 생성해야합니다.

Arguments¶

API 호출의 결과는 URL의 인자를 통해 특정 필드를 기준으로 필터링 할 수 있습니다. 사용자 정의 필드 API 필드에 의해 필터링되는 경우 인수를 추가하려면 먼저 다음 스키마 필드를 선택 (즉, 그 기계 이름이 "field_"로 시작하는 필드), 실제 인수 값을 포함 할 데이터베이스 열을 식별합니다. 필드 이름 접두사를 남겨; 당신이 "TID"를 입력 할 수 있도록 예를 들면, DKAN 태그 (용어 참조 필드)에 의해 필터링 경우, 올바른 열은 field_tags_tid입니다. 사용할 드루팔 필드는 해당 스키마 필드에 매핑 토큰에서 추정됩니다.

데이터 및 스키마 모듈 드루팔은 스키마에 호스팅

필드 Mapping¶

이 API 형태는 스키마의 각 필드에 대한 필드를 제공합니다. 드루팔의 토큰 시스템을 사용하여 필드를 매핑합니다. 참고 : 하나의 필드에 하나 이상의 토큰을 사용하면 예기치 않은 결과가 발생할 수 있습니다 권장되지 않습니다.

드루팔 다치 개체 참조 필드에 대해 스키마는 각각의 값을 반복 복수 스키마 필드와 참조 데이터를 매핑하기 위해 API를 지시하는 배열을 이용할 수있다. 예를 들어, CKAN 스키마에, 태그 schema_ckan.json에서 다음과 같이 설명되어 있습니다 :

당신은 스키마 토큰 매핑에 대한 컨텍스트로 사용 참조 "태그"개체의 모든 (이 예에서는 분류 용어) 노출, 선택한 번들에서 사용 가능한 다중 값 필드의 어떤은 "태그"배열에 매핑하도록 선택할 수 있습니다 그 어레이 내의 필드. 첫째, 단순히 개별 필드 매핑을 비워두고, 다중 값 필드를 선택하고 양식을 저장합니다.

당신이 저장 한 후 양식의 태그 섹션으로 돌아 가면, 당신은 지금 (토큰의 표준 델타 값 대신에 "N 번째"를 사용)이 반복적 인 접근 방식으로 작동 토큰을 찾는 데 사용할 수있는 특수 토큰 네비게이터를 볼 수 있습니다 :

Customizing¶

새로운 schemas¶ 추가

당신은이 모듈에 포함 된 스키마에 의해 제한되지 않는다; 열려있는 모든 데이터 스키마는 사용자 정의 모듈에 정의 할 수있다. 모델이 시작하기로 open_data_schema_ckan 모듈을 사용합니다.

날짜 형식¶

날짜 형식은 ALTER 후크 중 하나를 사용하여 "관리 / 설정 / 지역 / 날짜 - 시간"또는 코드에서 "중간"날짜 시간 형식을 변경하여 수동으로 chanaged 할 수 있습니다 :

XML Output¶에 대한 참고

개방형 데이터 스키마지도는 XML 출력 형식을 제공합니다. 이 역사적인 이유로 모듈 / 폴더에 별도의 서브 모듈을 통해 제공되지만, 향후 릴리스의 주요 ODSM 모듈에 리팩토링해야한다.

XML 엔드 포인트는 여전히 JSON에 정의 된 스키마를 필요로한다. 자신의 XML 끝점을 정의 beind 시간에 대한 직관적보다 작을 수 있지만 모델의 DCAT 스키마 모듈을 살펴 수 있습니다.

ODSM 파일 Cache¶

엔티티의 큰 숫자를 나열 개방형 데이터 스키마지도 엔드 포인트 - 프로젝트 오픈 데이터 (data.json)는 CKAN 패키지 목록 (/ API / 3 / 액션 / package_list)와 DCAT-AP 카탈로그 (catalog.xml) - 전체를 수행 토큰 교체를 수행하기 위해 나열된 각 레코드에 대한 개체로드. 이것은 주요 성능이 이러한 URL 중 하나가 수십 데이터 세트를 초과하는 사이트에 명중 할 때마다 충돌이 발생할 수 있으며, 수천 개의 사이트에서 응답 시간 2 분 이상이 될 수 있습니다.

개방형 데이터 스키마지도 데이터베이스에 거의 안타, 신속하게 제공하는 정적 파일로 엔드 포인트의 스냅 샷을 저장하는 파일 캐싱 기능을 포함하고 있습니다.

현재 파일 캐시에만 Drush 명령에 의해 생성 될 수있다. 생산 웹 사이트에서 권장 사용은 cron 작업을 설정하거나 귀하의 사이트가 트래픽의 최소 금액을 경험 어떤 시간에, 매일 성능 집약적 인 엔드 포인트에 대한 파일 캐시를 다시 생성 젠킨스 같은 작업 러너를 사용하는 것입니다. 물론 트레이드 오프가 재생 될 때까지 귀하의 사이트에 대한 추가 또는 변경이 엔드 포인트에 반영되지 않을 것입니다.

수동으로 파일 캐시를 다시 생성 할 수있는 관리 UI는 다음 릴리스에 포함될 수있다.

개방형 데이터 스키마지도에서 제공하는 Drush 명령은 (단순히 별명 odsmfc로도 가능) odsm-filecache입니다. 이 명령은 ODSM 엔드 포인트에 대한 인수로서 기계 이름을 사용합니다. 예를 들면 :

이에 저장, 파일 시스템에 대한합니다 (data.json 구현 DKAN와 함께 제공가) 전체 data_json_1_1 엔드 포인트를 렌더링 :

이제 /data.json에 히트는 대부분의 경우 실제로 / 사이트 / 기본 / 파일 / odsm_cache_data_json_1_1에서 살 것이다,이 파일로 연결됩니다.

스키마 Validation¶

두 검증 도구를 사용하여 프로젝트를 열고 데이터 및 DCAT-AP 스키마 배 당신은 드루팔 관리 메뉴에서 액세스 할 수 있습니다. 곧이 기능에 대한 자세한 설명서를 참조하십시오.

커뮤니티¶

우리는 단지 DKAN 문제 큐에 개방형 데이터 스키마 맵에 대한 문제를 받고 있습니다. 그래서 우리는 문제와 빠른 기능 요청을 식별 할 수 제출 한 후 "ODSM 구성 요소"와 같은 문제에 레이블을하시기 바랍니다.

이 프로젝트에 끌어 오기 요청을 제출하는 경우, DKAN 문제 스레드에서 해당 문제에 PR을 연결하는 시도하십시오.

이 비디오를 시청!

관련 기사

호스팅 모듈 드루팔을 설치 Drush이 문서에서는 일반적인 드루팔 관리 작업을 수행 할 Drush 명령 줄 도구를 사용하는 방법에 대해 설명합니다. 목차 Drush는 관리 공통 수행 할 수 드루팔위한 도구입니다 ...
보고서 모듈 드루팔 호스팅호스팅 환경 크기를 조정할 때이 모듈은 통계 및 기타 데이터가 도움이 제공한다. 다음과 같은 정보가 수집됩니다 환경 정보 : 기본 PHP, MySQL의 정보를 ...
타이머 모듈 드루팔 호스팅에피소드 173에서 당신은 jQuery를 카운트 다운 타이머 모듈을 사용하여 간단한 카운트 다운 타이머를 만드는 방법에 대해 알아보세요. jQuery를 사용하는이 모듈은, 당신은 종료 날짜를 지정할 수 있습니다 ...
설치 모듈 드루팔 호스팅당신은 타사 확장 또는 드루팔의 동작을 변경하는 모듈 기여를 추가 할 수 있습니다. 기본 지침은 드루팔 설치 파일을 아카이브로 모듈 (들)를 얻어 추출 ...
최신 뉴스 모듈 드루팔 호스팅* 자문 ID : 드루팔-SA-있는 contrib-2017-045 * 프로젝트 : 웹 양식 여러 파일 업로드 (타사 모듈) * 버전 : 7.x의의 * 날짜 : 2017 - 5 월 10 * 보안 위험 : 10/25 (중간 임계 ) * ...