I am working on a documentary that me and the director have two identical hard drives. We live in different cities and I am wondering which is the best way to collaborate from distance. I have crated a library of 110mb with all the media external so I can upload it in google drive. Will it work if I do all the synching work of audio-video then close Library then he opens the library from his google drive folder make his selections, and all the things he wants as a first cut then close his library and me open the library to continue working?
Yes this will work, provided your drive volume names are the same. If they are different you and he will need need to relink after receiving the library. This is usually reliable and fast, unless using external proxies.
Proxies by default are stored inside the library, so this makes it too large to upload. The solution is storing the proxies outside the library, as documented in Ripple Training's Media Management tutorial. However for the external proxy case, relink may not work reliably which could require rebuilding proxies in some cases. Ripple also covers the specific workflow of editors in two locations.
Another approach is exchanging library, event or project XML files. There is also a 3rd party utility MergeX which allows non-destructively combining of event XMLs from two different editors:
Whether exchanging lightweight libraries or XMLs, you must be very careful to coordinate this. Always save your main library by renaming it. It is very easy to have a "data fork" situation where you've each done work in a version of the library, now there is no easy way to reconcile these.
If you are dealing with projects, aka timelines, you can create a "transfer library.", copy your project to there using a unique name, then send this. The recipient can load the transfer library, inspect the project and copy it to the main library. The transfer library can use external media so it's only sending edits not media files. While conceptually simple there are some complex details so I suggest studying closely the Ripple Training media management tutorial. I have no relationship with them, but it's a good source of info.
When loading event or project XMLs, it's easy to inadvertently create duplicate clips for any changed item since the last XML load. There is also a bug in FCPX so that if all on-disk camera filenames are not globally unique, it will create spurious duplicate clips no matter what after loading an XML. So if XML interchange is planned, all your camera filenames and audio files should be absolutely unique. This can be achieved by renaming them and adding a unique serial number suffix before importing them. This is good practice anyway since it makes finding files easier. To rename these we use the too "A Better Finder Rename":
You can rename files in Finder, but I don't know of a way to do multi-step rename operations in Finder such as appending a "_", then adding an incrementing serial number.