У нас есть клиент, который в настоящее время использует Lotus Notes / Domino в качестве своей системы управления контентом и веб-сервера. По многим причинам мы рекомендуем прекратить реализацию Notes / Domino и перейти на более современную платформу, такую как Drupal.
У клиента есть несколько веб-приложений, которые естественным образом подходят для Drupal. Однако я не уверен в том, как лучше всего реализовать одно из веб-приложений в Drupal. Я сталкиваюсь с барьером в знаниях и спрашиваю себя, может ли кто-нибудь из вас заполнить пробелы.
Положение
У клиента есть приложение Lotus Domino, которое служит внешним интерфейсом для запроса большого хранилища данных DB2 и возврата набора результатов (обычно в виде таблицы) пользователю через Интернет. Веб-приложение предоставляет доступ примерно к 100 предварительно определенным запросам, 50 из которых являются общедоступными, а 50 - защищенными. Большинство запросов принимают некоторый набор выбранных пользователем параметров в качестве входных данных. Вывод запросов обычно возвращается пользователям в виде списка (таблицы). Ограниченное количество наборов результатов позволяет детализировать таблицу HTML до подробных записей.
Параметры запроса часто включают сами запросы к базе данных. Например, один запрос может вывести список подразделений компании в раскрывающийся список. После выбора подразделения заполняется второй выпадающий список с отделами этого отдела, но, возможно, только с отделами, которые соответствуют некоторым особым критериям - например, те, которые понесли убытки в течение определенного периода времени. Большинство запросов имеют 2-4 параметра, среднее значение которых, вероятно, составляет 3.
Приложение не требует ввода данных. Веб-приложение никогда не изменяет никакие внутренние данные. Весь доступ основан исключительно на запросе данных и просмотре результатов.
Запросы меняются относительно редко, и действующая система действует уже около 10 лет. В данном году может быть 10-20 дополнений, модификаций или других изменений в запросах. Клиент просто хочет изменить платформу представления, но абсолютно не хочет повторно выполнять 100 запросов к базе данных.
Как только проект будет реализован, клиент хочет, чтобы его персонал взял на себя управление и управлял будущими изменениями. Персонал клиента не имеет опыта работы с Drupal или PHP, но в некоторой степени готов учиться по мере необходимости.
Как бы вы перевели это в Drupal? Мои основные пробелы в знаниях касаются того, как мы будем управлять параметрами запроса и получать доступ к самим запросам. Вот несколько конкретных вопросов, но не стесняйтесь задавать любые вопросы, связанные с этой реализацией.
- Должны ли мы создавать 100 форм вручную - каждая форма содержит параметры для данного запроса? Если так, как бы мы это сделали?
- Примерно сколько времени потребуется, чтобы построить / настроить каждую из этих форм?
- Есть ли лучший способ, чем вручную создавать 100 форм? (Я понимаю, как использовать CCK для ввода данных в пользовательские типы контента, но поскольку мы не добавляем никаких узлов, я немного застрял в том, как это может работать.)
- Может ли внутренний персонал научиться создавать эти формы параметров запроса - даже если они не знакомы с Drupal сегодня? Будут ли они заниматься программированием на PHP?
- Как бы мы взяли параметры запроса из формы и выполнили запрос к DB2? Требуется ли для этого специальный модуль? Если да, то потребуется ли всего один модуль или один модуль на запрос? (Примечание: очевидно, для Drupal доступен драйвер DB2. См. http://groups.drupal.org/node/5511.)
Примечание: я не ищу рекомендаций CMS, кроме Drupal, так как Drupal хорошо соответствует всем другим требованиям клиента, и я надеюсь помочь им стандартизироваться на одной платформе.
Любая помощь, которую вы можете оказать, будет полезна. Заранее благодарю за помощь!