А меж тем моё эпическое DWE CMS обрастает своими структурами.
До чего же хорошая вещь - PostgreSQL, доложу я Вам!
Это Вамъ не п-цъ собачий, организация древовидной структуры на стороне сервера (без перегона туда-сюда данных и промеж уточных запросов), в общем и целом:
- Имеется таблица "heap", где хранятся все объекты в единой куче.
- Имеется таблица "paths", где хранятся все связи между объектами.
- Имеется таблица "roles", где хранятся т.н. "роли" связей между объектами. То есть - какого типа эта, собственно, связь.
- Роли имеют наследование друг у друга, то есть какая-либо роль может иметь "родительскую" роль.
Например, права доступа - это наличие "пути" (вычисляется рекурсивно) между объектом, к которому проверяется доступ и объектом-носителем доступа, по роли, допустим "access.write" (разрешение доступа на запись). С учётом наследования доступа, всё такое :)
Мицгол передавал всем привет, кстати. Ну он-то своё ВГФ так и не делает, а я вот своё DWE делаю.