I'm trying to understand how most people deal with this likely common issue, I've been looking around for answers, apologies if this is a subjective question, but I imagine there is a 'correct way' of doing this and I'm just missing something.
From my understanding Craft is supposed to make implementation and management of content modules very simple, primarily through the use of Matrix fields.
If I want to build a truly modular content management back end, where the user can add any predefined modules of content, and then reorder them with drag and drop, as far as I can see this will have to be done with a matrix field.
So a seemingly clumsy way of achieving this would be define a single matrix field which has all types of content module in as Block types. ie. 'Hero module', 'text columns', 'Latest clients', then in the admin the user adds this global matrix field and adds the required modules.
The problem is the matrix field doesn't seem to be designed to be used like that. If I define a matrix field for the whole page, then a Block within is a module, and within each Block a field is say a title or an image; but if I want to add a position field that image, you can't go down another level - the position would be added to the module, or Block.
Furthermore, I don't understand why it simply isn't possible to create several separate Matrix fields and then drag and drop order them in the page admin. Or any field for that matter.
Thanks, if you need further clarification I can mock up a diagram or something! And I'm on the Craft Slack if anyone would be rather reply on there :)