WordPress REST API를 사용하여 Trello와 유사한 앱 프로토타이핑

게시 됨: 2017-02-03

플랫폼의 새로운 시대를 향한 움직임으로 발표 이후 WordPress의 REST API를 반복적으로 선전했습니다. 이 게시물에서는 WordPress REST API가 얼마나 강력하고 다재다능한지 보여주는 예를 사용하여 지난 몇 주 동안 배운 모든 내용을 활용할 것입니다.

다른 언어 간의 상호 운용성이 REST의 핵심이기 때문에 우리는 좋은 WordPress 분류 및 게시물을 사용하여 Trello와 유사한 응용 프로그램의 프로토타입을 디자인할 것입니다. 이러한 방식으로 WordPress를 개발 플랫폼으로 사용할 수 있는 방법을 보여주고자 합니다.

Trello는 원래 1980년대에 Toyota에 의해 대중화된 Kanban 패러다임을 사용하는 성공적인 프로젝트 관리 응용 프로그램입니다. 프로젝트는 작업에 해당하는 카드 로 채워진 열이 포함보드 로 표시됩니다. 카드는 완료 상태가 될 때까지 한 열에서 다음 열로 이동합니다 ( 예: Todo 에서 Doing 에서 Done로 ). 이 흐름을 가치 흐름이라고 합니다. Kanban의 두 가지 핵심 아이디어는 a) 작업을 시각화하고 b) 현재 진행 중인 작업을 제한하는 것입니다. Trello의 경우 그래픽 카드를 사용하여 작업을 시각화합니다. 열은 최대 용량도 가질 수 있습니다. 즉, 열에 특정 양의 작업을 배치할 수 있으며 그 이상은 할 수 없습니다. 예를 들어, 아래 Doing 열의 용량은 2입니다.

애플리케이션 디자인

우리는 개념 증명으로 Kanban 패러다임의 최소한의 베어 본 버전을 설계할 것입니다. 주요 기능은 다음과 같습니다.

  1. 사용자는 새 열을 생성/업데이트/삭제할 수 있습니다.
  2. 사용자는 특정 열 아래에 있는 새 카드를 생성/업데이트/삭제할 수 있습니다.

이 모든 것이 어떻게 구현되는지에 대한 기본 아이디어는 REST API를 사용하여 매우 간단합니다.

  • Kanban 열은 WordPress 범주 로 표시됩니다 .
  • 열 용량은 범주 설명 에 정수로 배치할 수 있습니다 .
  • 카테고리 에 할당된 게시물 로 Kanban 카드 .
  • 열에서 다른 열로 카드를 이동한다는 것은 단순히 게시물 의 해당 카테고리 를 변경하는 것을 의미합니다.

신속한 프로토타이핑이라는 "일찍 자주 반복"이라는 아이디어에 따라 아래에 제시된 Kanban API는 단지 초안일 뿐입니다. 기능은 이전에 나열된 두 가지 주요 기능과 열을 카테고리로, 카드를 게시물로 매핑하는 WordPress 자산에서 추정됩니다. 프로토타입의 실제 구현이 시작되면 새롭고 도전적인 문제가 발생할 것이라는 데 의심의 여지가 없지만 다음 초안으로 시작하기에 충분합니다!

간판 열 API

아래 목록은 매개변수 유형과 함께 Kanban 열을 조작할 함수를 문서화합니다. 컬럼은 워드프레스 카테고리로 표시되며 카테고리 설명에 용량 번호가 추가됩니다. 이 프로토타입의 경우 WordPress의 JSON 응답 개체로 충분하기 때문에 이 목록은 반환 값을 문서화하지 않습니다.

Pressidium으로 웹사이트 호스팅

60일 환불 보장

계획 보기

그러나 모든 함수는 작업이 성공적으로 완료되었거나 문제가 발생한 경우 true 또는 false를 반환합니다. 후자의 경우 실제 원인은 JSON 응답 개체 내에서 찾을 수 있지만 일반적으로 개념 증명 프로토타입에 대해 실제 오류 제어가 제공되지 않습니다.

• create_new_col(cname:string, cap:int)
용량 을 나타내는 정수 을 사용하여 cname 이라는 새 Kanban 열을 만듭니다 .

WordPress API 리소스: 새 카테고리 만들기

그러면 새 범주가 생성되고 범주 설명에 용량 정수가 추가됩니다.

change_col_name(구이름:문자열, 새이름:문자열)
Kanban 열의 이름을 oldname 에서 newname 으로 변경하십시오 .

WordPress API 리소스: 카테고리 편집

이것은 단순히 카테고리 이름을 변경합니다.

change_col_cap(newcap:int )
열 용량을 newcap으로 변경합니다.

WordPress API 리소스: 카테고리 편집

그러면 해당 범주의 설명이 변경되어 새 용량 번호가 추가됩니다.

delete_col(colname:string)
colname 이라는 열을 삭제 합니다.

WordPress API 리소스: 카테고리 삭제

이것은 단순히 열에 해당하는 범주를 삭제합니다. 이렇게 하면 해당 열 아래에 있는 카드를 효과적으로 "고아"하게 됩니다. 이 삭제를 구현하는 방법을 결정하는 것은 귀하에게 달려 있습니다. 예를 들어 a) 열 삭제는 해당 열 아래의 모든 항목을 삭제하는 것을 의미하거나 b) 나중에 삭제를 취소할 수 있도록 해당 열 아래에 있는 카드의 이름을 _del_<category>로 변경하여 "소프트" 삭제를 의미합니다.

간판 카드 API

아래 목록은 동일하지만 Kanban 카드의 경우입니다. 카드는 WordPress 게시물로 표시되며 게시물 제목을 사용하여 수행할 작업을 효과적으로 설명합니다. 게시물의 내용은 메모의 추가 컨테이너로 사용할 수 있습니다.

• create_new_card(cname:string)

cname이라는 새 카드를 만듭니다.

이렇게 하면 콘텐츠가 없는 새 게시물이 생성되지만 카테고리에 속하지 않으므로 사용자에게 표시되지 않아야 합니다.

• create_new_card(cname:string, c:string)

제목이 cname 이고 콘텐츠인 새 게시물을 만듭니다 . c.

위와 같지만 카드도 콘텐츠로 만들어집니다.

• create_new_card(cname:string, cont:string, colname:string)

colname 카테고리 아래에 제목이 cname , content cont 인 새 게시물을 만듭니다.

WordPress API 리소스: 새 게시물 만들기

• add_card_col(cname:string, colname:string)

이름이 cname인 카드를 이름이 colname인 열에 추가합니다.

WordPress API 리소스: 게시물 편집

• move_card_col(cname:string, colname:string)

이름이 cname인 카드를 colname이라는 열 아래로 이동합니다. 새 카테고리를 추가하기 전에 게시물의 이전 카테고리를 제거해야 합니다.

WordPress API 리소스: 게시물 편집

• delete_card(cname:string)
이름이 cname인 카드를 삭제합니다.

WordPress API 리소스: 게시물 삭제

이것은 WordPress 블로그에서 휴지통을 활성화했는지 여부에 따라 파괴적인 삭제를 수행합니다.

데이터 무결성

이제 기능을 WordPress API 호출 및 자산에 매핑했으므로 데이터의 일관성을 유지해야 합니다. 예를 들어, 용량이 2인 Kanban 열은 2개 이상의 카드를 포함할 수 없습니다. 카드는 동시에 두 개의 열에 있을 수 없습니다. 카드가 다른 열로 이동되면 원래 있던 위치에서 삭제해야 합니다. 그러나 WordPress는 이러한 제약 조건에 대해 전혀 알지 못하므로 애플리케이션은 모든 쓰기 작업에서 이를 확인하고 적용해야 합니다.

이것은 프로토타입이기 때문에 모든 엣지 케이스가 디자인 단계에서 분명하지 않을 것입니다. 이들은 각 기능을 구현하는 동안 필연적으로 팝업됩니다.

추가 작업

지금까지는 다양한 방식으로 WordPress 리소스를 사용하여 Kanban 애플리케이션을 구동하는 API에 대해서만 이야기했습니다. 우리의 프로토타입은 사람들이 실제로 사용할 수 있는 프론트엔드가 없는 백엔드 API 묶음으로만 구성되어 있다면 심각하게 부족할 것입니다. 여기에서 다시 한 번 REST API의 다양성을 볼 수 있습니다. 아무도 이에 대해 어떻게 해야 하는지 알려주지 않기 때문입니다. Bootstrap과 같은 것을 사용하거나 Java로 좋은 'ole GUI를 작성할 수 있습니다. 말 그대로 사용할 수 있는 것에는 제한이 없습니다.

우리의 프로토타입은 또한 WordPress 인스턴스에 연결된 하나의 프로젝트인 Kanban 보드 하나만 지원합니다. 이는 개념 증명의 경우에는 통과할 수 있지만 최종 제품에는 분명히 허용되지 않습니다. 한 가지 솔루션은 여러 Kanban 보드와 팀 협업과 같은 더 많은 기능을 지원하는 다른 효율적인 방법으로 Kanban 개념을 WordPress 분류에 매핑하는 것입니다.

WordPress 개발이 정말 흥미진진해졌습니다!