SitecoreUnicorn / Unicorn

A Sitecore utility designed to simplify deployment of Sitecore items across environments automatically
MIT License
269 stars 116 forks source link

Unicorn 3.3.2 transparent sync "ParentItemNotFoundException", does not Sync (deserialize) yml files uploaded via FTP to Azure web app #250

Closed RMahb closed 7 years ago

RMahb commented 7 years ago

Dear Unicorn team,

I have an Azure Website running Sitecore 8.2.5, with a Helix style solution of many Feature projects in VS2015. Each VS Project has its own serialization.config file with set to a dedicated targetDataStore physical root path, and enableTransparentSync="true".

Now, from my VSTS GIT repo, I have a build/deploy definition that deploys my sitecore webapp (Web Deploy), and also all serialized items (YML files) are uploaded via "FTP Upload" task to the targetDataStore physical root path of my target Azure web app (an integration testing instance)

However, even after the VSTS build succeeds and all YML files are uploaded to the Azure web app (under suitable folders like D:\home\site\Feature\MyFeature1 etc.). Unicorn does not Sync (deserialize) the YML files to the web app's Sitecore content tree.

The error I get is "ParentItemNotFoundException: Exception of type 'Sitecore.Data.Serialization.Exceptions.ParentItemNotFoundException" for all my 47 items.

True enough, parent items don't yet exist in my Web app. I want TransparentSync to create all items in Sitecore using the serialized YML files available on the web app disk.

Please can you advise, how can I get transparent sync to automatically update a fresh new Sitecore Tree when YML files are uploaded to the specified targetDataStore on the server's disk ?

Thanks and regards, Rahul

kamsar commented 7 years ago

Transparent sync is reliant on file system eventing. With the filesystem entirely abstract in azure web app it is unlikely that eventing is supported. Unfortunately you'll need to rely on explicitly syncing in azure.

On Mon, Oct 2, 2017, 2:56 AM RMahb notifications@github.com wrote:

Dear Unicorn team,

I have an Azure Website running Sitecore 8.2.5, with a Helix style solution of many Feature projects in VS2015. Each VS Project has its own serialization.config file with set to a dedicated targetDataStore physical root path, and enableTransparentSync="true".

Now, from my VSTS GIT repo, I have a build & deploy definition that deploys my sitecore webapp (Web Deploy), and also all serialized items (YML files) and uploaded via "FTP Upload" task to the targetDataStore physical root path of my targer Azure web app.

However, even after a VSTS build succeeds and all YML files are uploaded to the Azure web app (under suitable folders like D:\home\site\Feature\MyFeature1 etc.). Unicorn does not Sync (deserialize) the YML files to the web app's Sitecore content tree.

Please can you advise, how can I get transparent sync to automatically update the Sitecore Tree when any YML files are uploaded to the web app ?

Thanks and regards, Rahul

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kamsar/Unicorn/issues/250, or mute the thread https://github.com/notifications/unsubscribe-auth/AAGU_ZDd9pkgvf268CqitWmIq8ls25yZks5soLNUgaJpZM4Pqa-f .

RMahb commented 7 years ago

Hi Kam,

many thanks for your advice, I will take this up with Azure teams and switch to explicit manual Sync'ing.

However, when all my YML files are on web app disk, but the Sitecore content tree is empty (as it is new), when I manually press the Sync button in /unicorn.aspx to do a 1st time Sync from disk to Tree, I get ParentNotFoundExceptions like : "ParentItemNotFoundException: Exception of type 'Sitecore.Data.Serialization.Exceptions.ParentItemNotFoundException" for all my 47 items on disk.

Is it true that I have to manually do a 1st time Item creation in my new Sitecore Tree (say by uploading sitecore packages of unicorn managed items using installation wizard), and only then will the Sync button work from 2nd time onwards ? Apologies for my ignorance as I am new to Unicorn, and really loving it so far.

Thanks and best regards, Rahul

kamsar commented 7 years ago

The included paths' parent items must exist. However if it's set up right no initial package should be required. I bootstrap stock DBs with unicorn in my dev work.

On Mon, Oct 2, 2017, 6:18 AM RMahb notifications@github.com wrote:

Hi Kam,

many thanks for your advice, I will take this up with Azure teams and switch to explicit manual Sync'ing.

However, when all my YML files are on web app disk, but the Sitecore content tree is empty (as it is new), when I manually press the Sync button in /unicorn.aspx to do a 1st time Sync from disk to Tree, I get ParentNotFoundExceptions like : "ParentItemNotFoundException: Exception of type 'Sitecore.Data.Serialization.Exceptions.ParentItemNotFoundException" for all my 47 items on disk.

Is it true that I have to manually do a 1st time Item creation in my new Sitecore Tree (say by uploading sitecore packages of unicorn managed items using installation wizard), and only then will the Sync button work from 2nd time onwards ? Apologies for my ignorance as I am new to Unicorn, and really loving it so far.

Thanks and best regards, Rahul

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kamsar/Unicorn/issues/250#issuecomment-333548371, or mute the thread https://github.com/notifications/unsubscribe-auth/AAGU_b6Pqo7l2qSMq-z8q1WVOLNK3LgOks5soPDNgaJpZM4Pqa-f .