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