Я нахожусь на стадии планирования веб-приложения для управления проектами / совместной работы, аналогичного Copper Project или PHP Collab, с использованием конкретной 5 в качестве моей структуры.
Есть несколько функций, которые я хочу интегрировать, но я не совсем уверен, как этого добиться, глядя на то, как таблицы БД генерируются с блоками.
Я имею в виду следующие функциональные возможности: 1) Когда новый клиент создается менеджером по работе с клиентами или менеджером проекта, они должны назначить клиенту трехсимвольный префикс. Пример: если (по какой-то дикой удаче) я добавлю Diesel в качестве клиента, я бы хотел назначить им префикс DSL.
2) Когда менеджер по работе с клиентами или менеджер проекта создают новый проект, идентификатор проекта должен иметь прямое отношение к клиенту, а не к общему количеству проектов для всех клиентов. Другими словами, идентификатор проекта для первого проекта Diesel со мной должен быть DSL001, а не DSL016, потому что до этого было пятнадцать других проектов для других клиентов (см. Copper и PHP Collab, которые следуют логике глобального идентификатора проекта, поскольку в отличие от логики идентификатора проекта для каждого клиента). Этот идентификатор проекта будет отображаться на странице внешнего интерфейса проекта, созданной AM / PM, а также использоваться в качестве ссылочного идентификатора для таких вещей, как смета расходов, счета-фактуры и т. Д.
Вот здесь я и сталкиваюсь с проблемой с точки зрения планирования рабочего процесса. Мое понимание MySQL таково, что если я хочу следовать своей логике идентификатора проекта, для каждого клиента должна быть создана новая таблица, содержащая все данные, касающиеся их проектов, чтобы БД могла правильно выводить уникальный идентификационный номер.
Однако я понимаю C5, что если, например, в процессе создания этого приложения я решу создать форму проекта как блок, который будет вставлен во внешний шаблон, файл db.xml создаст общий таблица данных проекта в БД для всех клиентов, а не по одной для каждого клиента.
Любые предложения, как я могу выполнить то, что я хочу сделать в контексте структуры C5?
Если что-то неясно, могу показать несколько макетов того, как будет выглядеть страница проекта.
Спасибо!