2009-11-10 8 views
5

우리는이 응용 프로그램에 포럼, 블로그 등을 포함하여 웹 응용 프로그램을 구축하고자합니다. 트위터와 페이스 북에 대한 통합 포인트가 필요하다. 데이터를 업로드하고 구성 및 보고서를 다운로드하기 위해 웹 응용 프로그램에 연결하는 데스크톱 응용 프로그램도 있습니다.웹 응용 프로그램과 Drupal의 통합

질문 : Drupal을 정규 모듈과 웹 애플리케이션 모두를 호스팅하도록 확장 할 수 있습니까? (데스크톱 엔티티와 그 속성 및 일일 데이터가 데스크톱 애플리케이션에서 업로드 될 것입니다.) 또는 Drupal을 외부 애플리케이션과 통합 할 수 있습니까? 예를 들어, 사용자와 역할이 동일하고 일관성이 있어야합니다. 또한 Drupal에서 웹 응용 프로그램의 데이터를 검색 할 수 있습니다.

나는 다소 모호하지만, 더는 알 수 없다. 나는 콘텐츠 관리를 처음 접했고 누군가가 이런 종류의 응용 프로그램을 구축했는지 알고 싶었습니다.

답변

17

나는 당신이 쓴 것을 다시 한번 말하며, 나는 당신의 질문에 대한 답을 얻으 려합니다. 당신은 기본적으로 웹 응용 프로그램을 만들어야합니다

  1. 드루팔
  2. 의 표준 기능 중 일부는 등 드루팔 일 (동일한 사용자, 동일한 권한 "으로 혼합"할 몇 가지 사용자 정의 기능이 구현을 .. .)
  3. 데스크톱 응용 프로그램에서 콘텐츠 (또는 데이터)를 업로드/다운로드 할 수 있어야합니다.

내가 바로 잡았다 경우 짧은 대답은 : 예, 당신은 할 수 드루팔와 그.

광범위한 모듈 : - 드루팔 (Drupal)은 문자 그대로 수천 개의 모듈을 가지고 있으므로 쉽게 사용할 수있는 모듈의 올바른 조합을 설치하기 만하면 원하는 모든 것을 얻을 수 있습니다. - 물론 모든 사용자 지정 기능을 모듈 형태로 쉽게 구현할 수 있습니다 (요즘 표준적인 일). - 데스크톱 응용 프로그램과의 상호 작용은 일반적으로 DB를 직접 쿼리하는 대신 webservices을 통해 구현됩니다. Drupal은 기본적으로 xmlrpc 서버와 클라이언트로 제공되지만 몇 가지 contrib 모듈을 통해 SOAP로 확장 할 수 있습니다.

일부 추가 생각 : 당신은 드루팔을 사용하도록 선택, 당신은 처음부터 시작하는 경우

  • 는, 당신은 당신과 당신의 팀이 어떻게 드루팔 작품을 이해하는 데 약간의 시간과 노력을 할애해야합니다 알고 있어야합니다 . - 팔란 티르와 다르게 - 드루팔 (Drupal)과 달라 붙어 있지만, 드루팔 (Drupal은에서 복잡한 복잡한 것을 바로 얻는다는 사실에 동의합니다. 매우 유연하고 매우 플러그 가능하며 견고한 플랫폼입니다 (그렇지 않으면 the whitehouse을 재 설계하는 데 사용되지 않았을뿐만 아니라 Drupal은 다음과 같은 이점을 가질 수 있습니다). 2 년 연속 "최고의 PHP CMS"상을 수상했습니다.)
  • 좋은 소식은 저기에 몇 권의 훌륭한 책이 있으며 시스템에 대한 심층적 인 설명이있는 "Pro Drupal Development"를 권할 것입니다. 이제는 5 세가 된 오래된 제품을 다루기 때문에 2 판을 꼭 읽으십시오. 그건 ...
  • 적어도 내 생각에 드루팔 (Drupal에 대한 좋은 점은 기존 기능에 대해 수행해야 할 수도있는 대부분의 조정은 사용자 정의 모듈의 원래 코드에 연결하여 구현할 수 있다는 것입니다 . 이 IMO는 드루팔 (Drupal의 가장 큰 장점입니다. 목표를 달성하기 위해 다른 개발자의 코드를 만질 필요가 없습니다. 예를 들어 핵심 모듈과 기여 모듈을 깨뜨리지 않고 최신 상태로 유지할 수 있습니다. 당신이했을 사용자 정의.
  • 드루팔 (Drupal은 무겁습니다. 다른 CMS와 비교하면 서버에서 처리 능력과 RAM을 충분히 흡수 할 수 있습니다. 아주 작은 사이트가없는 한 Apache와 달리 nginx와 함께 배포하는 것이 좋습니다.
  • 캐싱과 "스로틀 업"메커니즘의 좋은 메커니즘 덕분에 드루팔 (Drupal)이 잘 확장됩니다. 이상하게 들릴지도 모르지만 Drupal은 대규모 트래픽 웹 사이트에서 잘 확장되므로 트래픽이 크게 증가하지 않아도 리소스 사용량이 크게 증가하지는 않습니다.
  • 드루팔 (Drupal) 사이트의 사용자 경험은 매우 좋지 않습니다. 현재이 작업 (herehere (video))에 대한 대규모 작업이 진행되고 있지만 D7이 출시 될 때까지는 사용할 수 없습니다. 그러나 곧 모듈을 이식 할 때까지 기다려야합니다. 웹 사이트의 관리자가 기술 유형이 아닐 경우 관리 주제를 만들기 위해 시간을 할당하는 것이 좋습니다. 하루의 끝에서

, 내 조언은 다음과 같습니다 사이트는 복잡한 비즈니스 로직 및 기능의 많은/큰/복잡한을 갈 경우, 드루팔은 아마 좋은 후보입니다.귀하의 사이트가 표준 기능과 약간의 맞춤 비트가있는 작은 규모의 사이트 인 경우, Wordpress/Joomla는 귀하의 요구에 더 잘 맞을 수 있습니다. [더 강력하지는 않지만 드루팔 (Drupal) 강점은이 경우 사용되지 않을 것이기 때문에가 아니라 Wordpress/Joomla의 간단한 아키텍처가이 시나리오에서 이점을 나타낼 것입니다.]

다른 옵션은 확실히 CakePHP 나 Django와 같은 프레임 워크가 될 것이지만, IMO는 완전히 다른 접근 방법입니다.

+1

+1 - 좋은 점 –

0

Drupal은 오픈 소스이므로 원하는대로 할 수 있습니다. 그래도 몇 점 :

Drupal의 사용자/역할 구조 변경은 지루하고 불필요합니다. 데스크톱 애플리케이션을 Drupal의 MySQL 데이터베이스로부터 인증 받아야합니다.

드루팔 (Drupal에는 거의 모든 것에 대한 수백 가지 플러그인이 있으므로 방문자 통계 등을 포함한 모든 "웹"측면을 의심 할 여지가 없습니다. 데스크톱 애플리케이션을 올바른 MySQL 테이블에 연결하기 만하면됩니다. 원하는대로 데이터를 표시하십시오.

줌라!와 같은 다른 콘텐츠 관리 시스템을 확인하는 것을 잊지 마십시오! (그리고 많은 다른 사람들). 각각 장단점이 있습니다. www.opensourcecms.com을 사용하면 CMS를 쉽게 테스트 할 수 있으며 과거에 광범위하게 사용했습니다.

모든 구성 요소를 먼저 배치해야합니다. 앞에서 계획을 세울 때마다 나중에 여러 시간의 두통을 덜어줍니다.

3

나는 drupal을 광범위하게 사용하여 1 년 이상 일했지만, 결국 그것을 포기했습니다. Drupal 및 기타 CMS 시스템은 매우 엄격한 제한 및 규칙을 가지고 있습니다. 간단한 요구 사항이 있고 비즈니스 규칙이 거의 또는 전혀없는 프로젝트에 Drupal을 사용할 것입니다. 복잡한 작업을 원할 때 Drupal은 거의 즉시 복잡해집니다 (특히 다국어 지원이 필요한 경우 메뉴 시스템, 양식 및 번역 시스템에서주의를 기울이십시오).

당신이 언급 한 모든 것들로 당신의 시스템이 실제로 커지면 PHP 프레임 워크를 사용하여 비즈니스 로직을 구현하고 외부 제품을 적합하게 통합하십시오 (포럼, 블로그, 트위터 클라이언트 등).

하지만 조언은 다음과 같습니다. 아무도 믿지 마세요 :) 다운로드하여 일주일 간 플레이하십시오. 너는 너의 마음을 품을 수 있고 너의 선택에 관하여 자부 할 수있을 것이다!

+0

+1 이들은 약간의 조언입니다 – googletorp

7

짧은 답변 : 드루팔 (Drupal)은 드루팔 (Drupal)에 사용자 정의 모듈 모음으로 앱/로직을 통합하려는 경우 특히 유용합니다. Drupal 아키텍처가 자체적 인 프레임 워크가되는 방향으로 만들어지기 때문에 Drupal을 외부 응용 프로그램에 통합하는 다른 방법도 수행 할 수 있지만 더 많은 마찰을 줄 수 있습니다.


긴 대답 : 나는 Palantirs에 비해 꽤 많은 반대 의견/경험이 있습니다. 나는 거의 독창적으로 드루팔 (Drupal)과 1 년 동안 일 해왔다. 상당히 복잡한 두 개의 'enterprisy'프로젝트의 맥락에서였다. 나는 그것이 엄격한 규칙 (그러나 제한이 아닌)을 부과한다는 것에 동의하지만, 나는이 규칙이 명확한 지침을 제공하고 일을하는 방법에 대한 입증 된 방법을 제공하기 때문에 이점으로 간주한다. 팔란 언급 세 부분이 좋은 예입니다

  • 메뉴 시스템 - 조정할 큰 유연성을 제공하면서, 자신의 물건을 확장하기 쉬운 잘 구조화하고 효과적인 파견 메커니즘을 제공합니다/기존/기본 경로를 조작 . (드루팔 (Drupal의 '메뉴 시스템'은 일반적으로 용어와 관련된 '가시적 인'메뉴의 서브 세트가 아닌 URL 공간 관리의 전체적인 주제를 나타냅니다.)
  • Forms API - 웹 양식에 대한 선언적 접근법 잘 설계된 프로세싱 워크 플로우와 그렇지 않으면 자신을 돌봐야 할 보안 기능을 내장하고 있습니다. 또한 기존의 양식을 필요에 따라 조정/확장 할 수있는 직선 옵션과 함께 모든 필드 또는 전체 양식, 다중 단계 양식, 자바 스크립트 기반 양식 조정 등에 새로운 유효성 검사 규칙을 추가 할 수 있습니다.
  • 번역 시스템 - 단순히 국제화가 어렵게하기 때문입니다. 그러나 그것은 일반적인 방법으로 작업하기 위해 어떻게해야하는지에 대한 명확한 지침을 제공합니다. (사용하지 않는 꽤 많은 기여한 모듈에 문제가 있습니다.

나는 '규칙'에 감사하지만,이 게시물은 이미 오래지고, 나는 여전히 몇 가지 단점을 커버 할 필요가 어디 부분에 대한 더 많은 예제를 줄 수)

그래서 긍정적를 정리해 part - 당신이 게시 한 거친 스펙이있는 곳에서, '문제 없음'이라고 말하고 드루팔 (Drupal)과 함께 가고, 커스텀 파트의 견고한 토대가 될 것이라고 확신하면서 포럼과 같은 '표준' 블로그, 트위터/페이스 북 통합 및 이미 존재하는 솔루션 형태로 많은 사람들이 참여하고 있습니다 (비록 적응/조정이 필요할지라도).


단점 : 언제나, 결함이 있고, 그들 중 일부는 요구 사항/상황에 따라 충실.

  • 학습 곡선 - 드루팔 (Drupal)은 상당히 복잡하며 'grokking'개념에 시간이 필요합니다.팔란 티르 (Palantir)가 말했듯이 '일주일 간 플레이하기'는 분명히 일반적인 감정/폭 넓은 인상을 주겠지 만 장단점을 심각하게 판단 할만큼 충분하지는 않습니다. in/for 그것. 따라서 이미 설정된 웹 개발 프레임 워크에 대해 이미 잘 알고 있다면 문제가 될 수 있습니다. 어쨌든 하나를 배워야 만한다면, 이것은 덜 문제가 될 것입니다.
  • 데이터베이스 제한 - 드루팔 6 이후, 데이터베이스 지원은 드루팔 (Drupal 고유의 '추상화 레이어'(분명히 하나가 아닌)을 사용하는 MySQL 또는 PostgreSQL 전용 임)
    드루팔 (Drupal 7)은 PDO로 이동합니다. 이 의심스러운 상태를 끝내라.
  • 테스트/스테이지/프로덕션 마이그레이션 - Drupals의 기본 유연성은 관리 백엔드에서 구성 할 수있는 많은 요소로 인해 많은 중요한 구성 설정이 데이터베이스에 저장된다는 것을 의미합니다. 이것은 매우 어려운/당신이 완전한 덤프 멀리 얻을 수있는 개발의 (초기) 단계를 왼쪽으로 한 번 지루한/복원 작업이

이 (예를 들어 this question & answers 참조) 여러 인스턴스간에 데이터 및/또는 구성의 이동을한다 나를위한 주요 것들이지만, 당신은 아마 더 찾을 수 있습니다 :)

+0

당신의 상세한 답변을 주셔서 감사합니다. 확실히 도움이 될 것입니다. - Tanmay – Tanmay

관련 문제