I'm struggling with the design concept for an address book with groups and subgroups for CakePHP 2.x and hopefully some of you can give me a hint:
I only need an arbitrary number of maingroups and an arbitrary number of direct subgroups - so I could implement it with a normal has_many <-> belongs_to association over 2 tables. Of course I read the chapter about the elegance of Trees in the Docs, but I'm not sure if it is best suited for my further needs:
Protecting the data is an important issue in my project, so I would like to offer a kind of recycle bin to recover accidentally deleted groups or subgroups. Am I right in assuming, that the Tree structure does not provide mechanisms to restore deleted records? In my 2-tables I think I can just add a row with a boolean called "deleted" and set it to true instead of deleting the record to achive the undelete function.
Another important thing will be a concept to move multiple subgroups from one maingroup into another maingroup. Of course I could do that with iteration at any time on both concepts, but I think it could be achived more failsafe with multicheckbox inputs and normal save commands using transactions to ensure that either all subgroups are moved or none. Is this correct?
Many thanks in advance