Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uSync 15 issues list #249

Open
PhyxionNL opened this issue Nov 21, 2024 · 10 comments
Open

uSync 15 issues list #249

PhyxionNL opened this issue Nov 21, 2024 · 10 comments

Comments

@PhyxionNL
Copy link

Describe the bug
A clear and concise description of what the bug is.

Version (please complete the following information):

  • Umbraco Version: 15.0
  • uSync Version: 15.0.1
  • uSync.Complete Version: 15.0

Details

  • uSync Complete adds no appsettings schema file.
  • I've based this on the previous v13 settings, so perhaps it's renamed, but "AdditionalFolders" seems to be completely ignored when pushing to a destination. I've tried to mix it with some other changes as well, but it's not doing anything. I have everything checked in Developer/Content settings.
  • Pushing templates to a destination doesn't work, if you push items, you'll get "33 pending changes in 33 items". After pressing Push, you're back with the same 33 pending changes.
  • The progress thing when pushing to a destination is very trippy:
firefox_wFg3ahkptp.mp4
  • Many of the translations are mixed in lowercase and title case:
    image
    image
    image
@KevinJump
Copy link
Member

Hi, Thanks, for looking . and reporting !

  • uSync.Complete has never exported an appsettings schema. - it should and its on the list (we do have code in uSync to do this, but under the hood uSync.Complete is 7 .net project and 4 typescript client libraries, so i want to see what the best way is for us to consolidate this and not ship a load of files (it would be at least 5 settings files as it stands at the moment!)

  • the spellings / case, have been fixed, but i am going to get someone who has less word blindness to check the files before next launch !

  • templates seem to work for me, but i wasn't super confident of them when we tested with v14, one thing going wrong did seem to have a ripple effect on all subsequent imports. Can you send me your templates and the uSync files from disk? - the starter kits i am using obviously arn't cutting it.

  • Additional folders - I will take a look,

@PhyxionNL
Copy link
Author

PhyxionNL commented Nov 21, 2024

Ah, I thought the settings were present at some point. I probably misrembered.

I don't think my templates are any special (some are even close to empty), and not one of them is working correctly.
An example:

@inherits UmbracoViewPage<UmbracoBase>
@{
    Layout = null;
}

umbracobase.config in Templates folder:

<?xml version="1.0" encoding="utf-8"?>
<Template Key="8311ad98-c7cd-40a2-85bb-47c186e48fa2" Alias="UmbracoBase" Level="1">
  <Name>Umbraco Base</Name>
  <Parent />
</Template>

umbracobase.config in ContentTypes folder

<?xml version="1.0" encoding="utf-8"?>
<ContentType Key="cc009430-66f6-4164-941d-9391747aa3ac" Alias="umbracoBase" Level="2">
  <Info>
    <Name>Umbraco Base</Name>
    <Icon>icon-defrag color-black</Icon>
    <Thumbnail>folder.png</Thumbnail>
    <Description></Description>
    <AllowAtRoot>False</AllowAtRoot>
    <ListView>00000000-0000-0000-0000-000000000000</ListView>
    <Variations>Nothing</Variations>
    <IsElement>false</IsElement>
    <HistoryCleanup>
      <PreventCleanup>False</PreventCleanup>
      <KeepAllVersionsNewerThanDays></KeepAllVersionsNewerThanDays>
      <KeepLatestVersionPerDayForDays></KeepLatestVersionPerDayForDays>
    </HistoryCleanup>
    <Folder>Compositions</Folder>
    <Compositions />
    <DefaultTemplate>UmbracoBase</DefaultTemplate>
    <AllowedTemplates>
      <Template Key="8311ad98-c7cd-40a2-85bb-47c186e48fa2">UmbracoBase</Template>
    </AllowedTemplates>
  </Info>
  <Structure />
  <GenericProperties>
    <GenericProperty>
      <Key>4a0fd79a-8340-4695-8e17-551b3bf35c90</Key>
      <Name>umbracoRedirect</Name>
      <Alias>umbracoRedirect</Alias>
      <Definition>fd1e0da5-5606-4862-b679-5d0cf3a52a59</Definition>
      <Type>Umbraco.ContentPicker</Type>
      <Mandatory>false</Mandatory>
      <Validation></Validation>
      <Description><![CDATA[Create a 302 temporary redirect. This means that when a user navigates to this node, they will be redirected away from it.]]></Description>
      <SortOrder>0</SortOrder>
      <Tab Alias="umbraco">Umbraco</Tab>
      <Variations>Nothing</Variations>
      <MandatoryMessage></MandatoryMessage>
      <ValidationRegExpMessage></ValidationRegExpMessage>
      <LabelOnTop>false</LabelOnTop>
    </GenericProperty>
    <GenericProperty>
      <Key>0597ca5a-c8f8-4d57-8fbe-a1cb6f7d6110</Key>
      <Name>umbracoUrlAlias</Name>
      <Alias>umbracoUrlAlias</Alias>
      <Definition>0cc0eba1-9960-42c9-bf9b-60e150b429ae</Definition>
      <Type>Umbraco.TextBox</Type>
      <Mandatory>false</Mandatory>
      <Validation></Validation>
      <Description><![CDATA[Provide a comma separated list of alternate full URL paths for the node. The URL alias remains in the browser address bar as a 'mask' over the real URL. You can also specify paths like "flowers/roses/red".]]></Description>
      <SortOrder>1</SortOrder>
      <Tab Alias="umbraco">Umbraco</Tab>
      <Variations>Nothing</Variations>
      <MandatoryMessage></MandatoryMessage>
      <ValidationRegExpMessage></ValidationRegExpMessage>
      <LabelOnTop>false</LabelOnTop>
    </GenericProperty>
    <GenericProperty>
      <Key>6fd2176b-0c8d-4422-8193-be90ecf0904d</Key>
      <Name>umbracoUrlName</Name>
      <Alias>umbracoUrlName</Alias>
      <Definition>0cc0eba1-9960-42c9-bf9b-60e150b429ae</Definition>
      <Type>Umbraco.TextBox</Type>
      <Mandatory>false</Mandatory>
      <Validation></Validation>
      <Description><![CDATA[Provide a different URL name to what is created by default by the name of the node. If you enter a value for this property and save/publish the content node you will see that its main URL is updated with a new path suffix.]]></Description>
      <SortOrder>2</SortOrder>
      <Tab Alias="umbraco">Umbraco</Tab>
      <Variations>Nothing</Variations>
      <MandatoryMessage></MandatoryMessage>
      <ValidationRegExpMessage></ValidationRegExpMessage>
      <LabelOnTop>false</LabelOnTop>
    </GenericProperty>
  </GenericProperties>
  <Tabs>
    <Tab>
      <Key>8db4f66e-f947-4fe9-b60e-a9d14443f1ac</Key>
      <Caption>Umbraco</Caption>
      <Alias>umbraco</Alias>
      <Type>Group</Type>
      <SortOrder>10</SortOrder>
    </Tab>
  </Tabs>
</ContentType>

Regarding the additional folders (my biggest problem since it breaks my usual workflow), I'm using relative folders: ["~/wwwroot/dist", "~/data"], not sure if it matters. It worked in v13 at least 😊

@KevinJump
Copy link
Member

yeah, i am looking at the logic for additional folders and i think we accidentally lost the functionality when we 'optimized' the syncing process for known types.

UInder older versions the syncing of files was a bit 'basic' (outside of templates, they haven't actually changed much)

in that we hashed and copied the files in the folder, but under v14 everything got an entity type, so we sync partial-views, stylesheets, etc as entities, so we never say "just copy files" anymore which means we never actually do a brute force copy of additional folders anymore. the functionality is there because exporter uses it (but doesn't expose the settings!)

I think we can add this back in, it might have to be in the system level sync I need to check -

@PhyxionNL
Copy link
Author

Thanks, that'd be nice!

I've been doing some further tests with templates, they're actually synced (using Settings > Templates ... > push items), but it's immediately detecting changes again, so it seems it's not detecting the remote content properly. If you scan again it wants to recreate the content, even though it exists (and is identical) on remote:
image

@KevinJump
Copy link
Member

Hi,

Mostly fixed in a nightly:
https://dev.azure.com/jumoo/Public/_artifacts/feed/nightly/NuGet/uSync.Complete/overview/15.0.1-build.20241122.1

(we will release it next week).

  • Templates now don't false report
  • Things are not all uPPercase/LoweCASE messed up
  • You can push folders (and hence additional folders) from the server sync dashboard.

If you use the sync tab on a serve, when you select push or pull you will see the option to 'include files' on the next screen.
image

this will push all the additional folders (by default this is ~/views ~/wwwroot/css ~/wwwroot/scripts, but you could argue some of these are redunant, as the will also get pushed when you push templates/views/etc)

additonal folders can be set in the appsettings.json

 "Publisher": {
   "Settings": {
     "IncomingEnabled": true,
     "AppId": "[YOUR_APP_ID]",
     "AppKey": "[YOUR_APP_KEY]",
     "AdditionalFolders": [
       "~/Views",
       "~/wwwroot/css",
       "~/wwwroot/scripts",
       "~/cheese"
     ]
   }
 }

The jumpy progress is on our list too :) - (its not actually uSync but the internal package that does all the processing, so it wil lbe fixed in there, it does effect the functionality of the main uSync.Complete package)

@PhyxionNL
Copy link
Author

Nice, can confirm that Templates is no longer reporting false positives.

File sync seems to work for the most part, but there are some issues.

  • In "Change report" it doesn't report files with "NoChange", not sure if this is deliberate or not, but I think it's useful.
  • I almost always get the same file reported twice (I don't have this folder added in addition to the default ~/Views folder):
    image
  • In "Detected Changes", it's empty for files from the additional folders (IFile).
  • After pushing to server, I return back to "2 pending changes in 36 items.", it seems similar to the Template problem where I also returned back to pending changes. However, if I push again it doesn't detect the changes, so it's actually pushed OK.

Some casing things:

image
missing > Missing to align with the others.

--
image
sync still lowercase

--
image
report still lowercase

--
image
files still lowercase

--
Publisher > YOUR SITE HERE > Advanced, several subheaders are in title case, rest is sentence case (which I think is fine there).

--

It looks like the server is uptodate and there are no new changes to be made.

Should be up to date.

@PhyxionNL
Copy link
Author

Adding another issue:

  • "Delete missing" when pushing seems broken. If I delete content OR media (or both) locally and push to destination, it's not deleted there.

@KevinJump
Copy link
Member

thanks,

caught that one for the next release (looking at early next week - hopefully just tiding up some of the UI).

Kevin

@PhyxionNL
Copy link
Author

Another one (sorry):

  • I've exported my entire site to a ZIP file. I then pointed it to a new database (let Umbraco create all tables etc) and tried to import a ZIP file, but nothing seem to happen. In console, the following is logged:
0: "Clash \\DataTypes\\ApprovedColor.config shares an id with \\DataTypes\\ApprovedColor.config"
​​
1: "Clash \\DataTypes\\CheckboxList.config shares an id with \\DataTypes\\CheckboxList.config"
​​
2: "Clash \\DataTypes\\ContentPicker.config shares an id with \\DataTypes\\ContentPicker.config"
​​
3: "Clash \\DataTypes\\DatePicker.config shares an id with \\DataTypes\\DatePicker.config"
​​
4: "Clash \\DataTypes\\DatePickerWithTime.config shares an id with \\DataTypes\\DatePickerWithTime.config"
​​
5: "Clash \\DataTypes\\Dropdown.config shares an id with \\DataTypes\\Dropdown.config"
​​
6: "Clash \\DataTypes\\DropdownMultiple.config shares an id with \\DataTypes\\DropdownMultiple.config"
​​
7: "Clash \\DataTypes\\ImageCropper.config shares an id with \\DataTypes\\ImageCropper.config"
​​
8: "Clash \\DataTypes\\ImageMediaPicker.config shares an id with \\DataTypes\\ImageMediaPicker.config"
​​
9: "Clash \\DataTypes\\LabelBigint.config shares an id with \\DataTypes\\LabelBigint.config"
​​
10: "Clash \\DataTypes\\LabelDatetime.config shares an id with \\DataTypes\\LabelDatetime.config"
​​
11: "Clash \\DataTypes\\LabelDecimal.config shares an id with \\DataTypes\\LabelDecimal.config"
​​
12: "Clash \\DataTypes\\LabelInteger.config shares an id with \\DataTypes\\LabelInteger.config"
​​
13: "Clash \\DataTypes\\LabelString.config shares an id with \\DataTypes\\Label.config"
​​
14: "Clash \\DataTypes\\LabelTime.config shares an id with \\DataTypes\\LabelTime.config"
​​
15: "Clash \\DataTypes\\ListViewContent.config shares an id with \\DataTypes\\ListViewContent.config"
​​
16: "Clash \\DataTypes\\ListViewMedia.config shares an id with \\DataTypes\\ListViewMedia.config"
​​
17: "Clash \\DataTypes\\MediaPicker.config shares an id with \\DataTypes\\MediaPicker.config"
​​
18: "Clash \\DataTypes\\MemberPicker.config shares an id with \\DataTypes\\MemberPicker.config"
​​
19: "Clash \\DataTypes\\MultipleImageMediaPicker.config shares an id with \\DataTypes\\MultipleImageMediaPicker.config"
​​
20: "Clash \\DataTypes\\MultipleMediaPicker.config shares an id with \\DataTypes\\MultipleMediaPicker.config"
​​
21: "Clash \\DataTypes\\Numeric.config shares an id with \\DataTypes\\Integer.config"
​​
22: "Clash \\DataTypes\\Radiobox.config shares an id with \\DataTypes\\Radiobox.config"
​​
23: "Clash \\DataTypes\\RichtextEditor.config shares an id with \\DataTypes\\RichTextEditor.config"
​​
24: "Clash \\DataTypes\\Tags.config shares an id with \\DataTypes\\Tags.config"
​​
25: "Clash \\DataTypes\\Textarea.config shares an id with \\DataTypes\\Textarea.config"
​​
26: "Clash \\DataTypes\\Textstring.config shares an id with \\DataTypes\\Textbox.config"
​​
27: "Clash \\DataTypes\\Truefalse.config shares an id with \\DataTypes\\Checkbox.config"
​​
28: "Clash \\DataTypes\\UploadArticle.config shares an id with \\DataTypes\\UploadArticle.config"
​​
29: "Clash \\DataTypes\\UploadAudio.config shares an id with \\DataTypes\\UploadAudio.config"
​​
30: "Clash \\DataTypes\\UploadFile.config shares an id with \\DataTypes\\Upload.config"
​​
31: "Clash \\DataTypes\\UploadVectorGraphics.config shares an id with \\DataTypes\\UploadVectorGraphics.config"
​​
32: "Clash \\DataTypes\\UploadVideo.config shares an id with \\DataTypes\\UploadVideo.config"
​​
33: "Clash \\Languages\\en-us.config shares an id with \\Languages\\en-us.config"
​​
34: "Clash \\MediaTypes\\file.config shares an id with \\MediaTypes\\file.config"
​​
35: "Clash \\MediaTypes\\folder.config shares an id with \\MediaTypes\\folder.config"
​​
36: "Clash \\MediaTypes\\image.config shares an id with \\MediaTypes\\image.config"
​​
37: "Clash \\MediaTypes\\umbracomediaarticle.config shares an id with \\MediaTypes\\umbracomediaarticle.config"
​​
38: "Clash \\MediaTypes\\umbracomediaaudio.config shares an id with \\MediaTypes\\umbracomediaaudio.config"
​​
39: "Clash \\MediaTypes\\umbracomediavectorgraphics.config shares an id with \\MediaTypes\\umbracomediavectorgraphics.config"
​​
40: "Clash \\MediaTypes\\umbracomediavideo.config shares an id with \\MediaTypes\\umbracomediavideo.config"
​​
41: "Clash \\MemberTypes\\member.config shares an id with \\MemberTypes\\member.config"
​​
42: "Clash \\RelationTypes\\umbForm.config shares an id with \\RelationTypes\\umbForm.config"

@PhyxionNL
Copy link
Author

You might be aware, but I just wanted to let you know that uSync Publisher's integration in Umbraco 15.1 RC1 is broken. In dev console an error is logged about a missing export.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants