Until now whenever I've needed to enable site visitors to enter or update data in Civi on Drupal sites I've used webforms and the excellent Webform CiviCRM integration module. By and large it does the trick. However on a couple of sites I'm currently working on I need to enable suitably authorised users to create some content - I'll call it a project profile - that will contain a mixture of Civi data (org name, related individual contact name/s, website, etc.) and what would sensibly be Drupal field data (a couple of URLs, some images, a logo, maybe a link to a Youtube video, some descriptive text, etc.). I've read all the stuff I can find about the CiviCRM Entity module and it sounds like the right fit for my needs.
If the content creator would only ever create one project profile then a webform based approach seems optimal, but I can see that users may want to create multiple project profiles, and have the ability to edit them, which for me seems to indicate that CiviCRM Entity is the way to go.
So I've started to play with it, and now I'm less certain. I've created a new Drupal content type (project profile), and want to include an organisation name that will be stored in CiviCRM. Using this post as a guide to how to go about it I've got the field to work pretty much as I need it, but this seems like a lot of work to get just one field in my content type to do what I want. Repeating this for each field that I want to be included that contains data from Civi entities will take some time, and I'm unclear as to how the disparate bits of data will be linked together - if the author enters an organisation name in one field and an email address in another does the module understand that the email address belongs to the organisation record?
Which all makes me wonder that maybe I'm going about it the wrong way.
Should I instead be adding Drupal fields to the CiviCRM Contact entity and using the CiviCRM Entity Reference module to bring in data from other CiviCRM entities (phone number, email address, etc.)? Or is that approach essentially the same?
I'm concerned about investing a huge amount of time going down the CiviCRM Entity route only to find that it's not the best approach for my use case, but I'm not even clear about what the key questions are that might help me make a good decision.
This looks like a really powerful approach, but it also feels like I'm highly likely to not get the result that I want, and spend a lot of time getting there.
Any advice, links to good guides, videos etc., most welcome.