clone related records

I would like to clone a parent record, and multiple child records of that parent record with one click. I would need the cloned records to have the same parent/child relationship as the original records. Example: I need to clone and opportunity with opportunity products and a child custom object. 
Is that possible?

Have you checked out this tutorial?

Use Skuid to create a custom “Clone Account” page