5

I am done with unicorn sync using gulp task provided in Sitecore habitat sample project. I need some clarification on below points.

  1. As per my understating, if transparent Sync is enabled then auto sync (filesystem to sitecore) will happen but not auto serialization (Sitecore to filesystem). Is this possible to auto serialize too?

  2. If I create a new item in Sitecore, will transparent Sync delete that item in sync process as it wont be available in file system till I serialize because the disk is considered the master at all times?

  3. In sync process performed by gulp task in habitat sample project, it has synced the items in master and web both databases. Can I stop syncing to web automatically as I would prefer to publish in web database using Sitecore publish?

2 Answers 2

4

With transparent sync, the file system becomes the record for Sitecore. It treats the file system like the master database. For items and children that are monitored by transparent sync, if you create an item, TS will add it to the file system. If you delete an item from disk, it will be deleted from Sitecore. If you delete an item from Sitecore, it gets deleted from disk.

The file system becomes the same thing as the database.

Per Kam's link. http://kamsar.net/index.php/2015/10/Unicorn-Introducing-Transparent-Sync/

Transparent Sync enables Unicorn to sync serialized items in real time, completely automatically. It does this by using its data provider to directly read the serialized items and inject them into the Sitecore content tree. The items on disk are the items in Sitecore: it bypasses the database entirely for transparently synced items. Changes made on disk update nearly instantly in the Sitecore editing interfaces.

8
  • I was under impression that auto sync is one way like file system to sitecore, Thanks for clarification. What about point no 3 in my question?
    – S.Kazmi
    Dec 19, 2016 at 5:19
  • If you want it to be one direction, you just have to turn the data provider off. See this thread for details. sitecore.stackexchange.com/questions/2594/…
    – Chris Auer
    Dec 19, 2016 at 13:01
  • I have gone through that discussion and according to that your answer doesn't seem to be completely correct because that discussion says "Transparent sync is not about serializing items back to the drive" which
    – S.Kazmi
    Dec 19, 2016 at 13:25
  • @S.kazmi when TS is on, the drive becomes the db. Reads and writes. Remember TS is intended to be used in development. So when you pull from origin, whatever comes is immediately available in Sitecore. No need for a sync with unicorn.aspx. Same goes the other way. When you add or update an item in Sitecore, it's written to disk so you can commit it in git.
    – Chris Auer
    Dec 19, 2016 at 13:32
  • Thats fine we dont need to do manjal sync but TS is not responsible for other way sync (what I understood from the thread you refer) which means even if TS of still synchronize will happen automatically and to stop that that thread says "If you want your item not to be serialized every time something has been changed, just exclude this item from you unicorn serialization config."
    – S.Kazmi
    Dec 19, 2016 at 13:38
2

Conclusion:

  1. Unicorn data provider is responsible to read/write to file system.

  2. If transparent sync is ON then sync (file system to Sitecore) will happen automatically.

  3. In transparent sync, for items controlled by Unicorn it bypasses the Sitecore database completely. It means file system is treated like the master database.

  4. Sitecore to file system (serialization) will be automatic even if transparent sync is OFF.

  5. Difference in serialization when transparent is sync is OFF and ON is when transparent sync is OFF then we still use the Sitecore databases and unicorn additionally serialized the items to the file system and when transparent sync is ON then item will be directly written to file system as file system behaves as master db.

  6. To stop auto sync, we can remove or disable the Unicorn.DataProvider.config file. This still allows us to use the UI to de-serialize items (Sitecore to file system).

1
  • @dnstommy please correct me if I have concluded anything wrong.
    – S.Kazmi
    Dec 20, 2016 at 5:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.