Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • James Jackson-South 489 posts 1747 karma points c-trib
    Mar 01, 2016 @ 07:10
    James Jackson-South
    0

    Failed Import.

    Error: An error has occurred. - Collection was modified; enumeration operation may not execute.

    Umbraco 7.4.1

    I'm a little concerned about the accuracy of the reports also. It seems to be reporting doctype changes that I have definitely not altered.

  • Kevin Jump 2310 posts 14695 karma points MVP 7x c-trib
    Mar 01, 2016 @ 08:12
    Kevin Jump
    0

    Hi James,

    Can you have a look at the UmbracoTraceLog (in app_data/logs/) and see if there is any usync logging before this error, that will help me pinpoint whats happening.

    Also, do you have details (or a screenshot) of what uSync thinks it's changing on the doctypes you haven't changed?

    Kevin

  • James Jackson-South 489 posts 1747 karma points c-trib
    Mar 02, 2016 @ 06:16
    James Jackson-South
    0

    Hi Kevin,

    Sorry was running out of the door when I submitted this. All too brief.

    Here's a screenshot of the changes. Only the two additional properties "Modules" and "Show User Stories" have been changed. I don't know what the other updates are listing.

    usync document changes

    There have been a few occasions where I have done a full export then ran a report against that export to which uSync reports composition changes. Resaving the document type several times and running the report again will then yield no changes.

    As far as the logs go there are no indicators that uSync is failing. All imports in the log report success. Oddly I re-ran it this morning and it worked.

    Hopefully this helps.

    James

  • James Jackson-South 489 posts 1747 karma points c-trib
    Mar 02, 2016 @ 06:18
    James Jackson-South
    0

    Hmmm... Now it wants me re-create document types I have previously deleted.

    The odd thing is that both instances are pointing to the same database, with the config files copying from one location to another.

  • Kevin Jump 2310 posts 14695 karma points MVP 7x c-trib
    Mar 02, 2016 @ 07:12
    Kevin Jump
    0

    : (

    What config do you have? If usync isn't set to write stuff to disk on save (e.g manual) then it doesn't capture deletes or renames, so you can end up with the doctype files from things you've deleted on disk.

    Setting it as auto or source (so ExportOnSave = true in the config) will mean it will write any save changes out to disk and capture the deletes/renames as it goes.

    once you've done a delete, the name of the old doctype might appear in the report, because usync will look to check it's gone (these are stored in the usyncaction.config file in the root of usync/data).

    If it's not doing that, then it's a bigger problem :( if it's all setup then when you delete something you should see it get 'archived' in the logfile, and if that's failing - that would cause them to still be hanging around

  • James Jackson-South 489 posts 1747 karma points c-trib
    Mar 03, 2016 @ 00:47
    James Jackson-South
    0

    Hi Kevin,

    Here's my config files. I've only turned off automatic import as it was deleting properties.

    uSyncBackOffice.config

    <?xml version="1.0" encoding="utf-8" ?> 
    <uSyncBackOfficeSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    
      <!-- uSync 3.0. Settings file, -->
    
      <!-- uSync folder -->
      <Folder>~/uSync/data/</Folder>
    
      <!-- run import at startup -->
      <Import>false</Import> 
    
      <!-- export everything to disk at startup -->  
      <ExportAtStartup>false</ExportAtStartup>
    
      <!-- when a user saves something, write it to disk -->  
      <ExportOnSave>true</ExportOnSave> 
    
      <!-- watch the usync folder, and if something changes, import it-->  
      <WatchForFileChanges>false</WatchForFileChanges> 
    
      <!-- create an archive, when an item is a save, 
          if you're using source control, you probibly don't want this -->
      <ArchiveVersions>false</ArchiveVersions>
      <ArchiveFolder>~/uSync/Archive/</ArchiveFolder>
      <MaxArchiveVersionCount>0</MaxArchiveVersionCount>
    
      <!-- Backups, create backups before doing the import, this will
            help, when rollback is implimented -->
      <BackupFolder>~/uSync/Backup/</BackupFolder>
    
      <!-- turn individual elements on or off 
        if a handler is registerd but not listed then it is by 
        default on - you have to add it to the list, to turn it off.
      -->
      <Handlers>
        <HandlerConfig Name="uSync: DataTypeHandler" Enabled="true" />
        <HandlerConfig Name="uSync: TemplateHandler" Enabled="true" />
        <HandlerConfig Name="uSync: ContentTypeHanlder" Enabled="true" />
        <HandlerConfig Name="uSync: MediaTypeHandler" Enabled="true" />
        <HandlerConfig Name="uSync: LanguageHandler" Enabled="true" />
        <HandlerConfig Name="uSync: DictionaryHandler" Enabled="true" />
        <HandlerConfig Name="uSync: MacroHandler" Enabled="true" />
        <HandlerConfig Name="uSync: DataTypeMappingHandler" Enabled="true" />
        <HandlerConfig Name="uSync: MemberTypeHandler" Enabled="false" /> 
      </Handlers>
    </uSyncBackOfficeSettings>
    

    uSyncCore.config

    <?xml version="1.0" encoding="utf-8" ?>
    <uSyncCoreSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    
    
      <!-- where uSync will store media files (if you need it to) -->
      <MediaStorageFolder>~/uSync/MediaFiles/</MediaStorageFolder>
    
      <!-- Move the media into the uSync folder (default true) -->
      <!-- 
        MoveMedia = false then you need to move your media folder to get the media files
        MoveMedia = true then the usync folder will contain the media files, and map them
                    on import. 
    
        For new installs recommended is false, because embedded media will then also work.      
      -->
      <MoveMedia>true</MoveMedia>
    
    
      <!-- uSync Core Settings
    
        Mappings help usync do property value mappings,
        each mapping describes how a datatype may store
        internal ids inside umbraco. 
    
        uSync can map Ids between versions for:
    
          Content (and media)
          Templates
          DocumentTypes
          Tab Ids
    
      -->
      <Mappings>
        <!-- multinode tree picker, has an id in the json -->
        <uSyncValueMapperSettings>
          <DataTypeId>Umbraco.MultiNodeTreePicker</DataTypeId>
          <MappingType>content,media</MappingType>
          <ValueStorageType>json</ValueStorageType>
          <ValueAlias>startNode</ValueAlias>
          <PropertyName>id</PropertyName>
          <!-- 
          <PropertySplitter>0</PropertySplitter>
          <PropertyPosistion>0</PropertyPosistion>
          -->
        </uSyncValueMapperSettings>
    
        <!-- content picker, it stores a start id-->
        <uSyncValueMapperSettings>
          <DataTypeId>Umbraco.ContentPickerAlias</DataTypeId>
          <MappingType>content</MappingType>
          <ValueStorageType>text</ValueStorageType>
          <ValueAlias>startNodeId</ValueAlias>
        </uSyncValueMapperSettings>
    
        <!-- media picker (for mappings media is also content) -->
        <uSyncValueMapperSettings>
          <DataTypeId>Umbraco.MediaPicker</DataTypeId>
          <MappingType>media</MappingType>
          <ValueStorageType>text</ValueStorageType>
          <ValueAlias>startNodeId</ValueAlias>
        </uSyncValueMapperSettings>
    
        <!-- multiple media picker (for mappings media is also content) -->
        <uSyncValueMapperSettings>
          <DataTypeId>Umbraco.MultipleMediaPicker</DataTypeId>
          <MappingType>media</MappingType>
          <ValueStorageType>text</ValueStorageType>
          <ValueAlias>startNodeId</ValueAlias>
        </uSyncValueMapperSettings>
      </Mappings>
    
      <ContentMappings>
    
        <!-- properties that have content id's in them. -->
        <uSyncContentMapping Alias="Umbraco.ContentPickerAlias" Mapping="Content"/>
        <uSyncContentMapping Alias="Umbraco.TinyMCEv3" Mapping="Content"/>
        <uSyncContentMapping Alias="Umbraco.MultiNodeTreePicker" Mapping="Content"/>
        <uSyncContentMapping Alias="Umbraco.RelatedLinks" Mapping="Content"/>
        <uSyncContentMapping Alias="Umbraco.MultipleMediaPicker" Mapping="Content"/>
        <uSyncContentMapping Alias="Umbraco.MediaPicker" Mapping="Content"/>
    
        <!-- mappings where IDs in the content relate to values inside a datatype -->
        <uSyncContentMapping Alias="Umbraco.RadioButtonList" Mapping="DataTypeKeys" />
        <uSyncContentMapping Alias="Umbraco.DropdownlistPublishingKeys" Mapping="DataTypeKeys" />
        <uSyncContentMapping Alias="Umbraco.DropdownlistMultiplePublishKeys" Mapping="DataTypeKeys" />
        <uSyncContentMapping Alias="Umbraco.DropDownList" Mapping="DataType" />
        <uSyncContentMapping Alias="Umbraco.DropDown" Mapping="DataType" />
        <uSyncContentMapping Alias="Umbraco.DropDownMultiple" Mapping="DataType" />
        <uSyncContentMapping Alias="Umbraco.CheckBoxList" Mapping="DataType" />
    
        <!--Example of using a custom mapping type-->
        <!--
        <uSyncContentMapping Alias="Imulus.Archetype" Mapping="Custom" CustomMappingType="Jumoo.uSync.Archetype.ArchetypeContentMapper,Jumoo.uSync.Archetype" />
        -->
        <uSyncContentMapping Alias="Imulus.Archetype" Mapping="Custom" CustomMappingType="Jumoo.uSync.Archetype.ArchetypeContentMapper,Jumoo.uSync.Core" />
    
      </ContentMappings>
    
    </uSyncCoreSettings>
    
Please Sign in or register to post replies

Write your reply to:

Draft