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

the application is erroring out requiring a clear node in the source #5

Closed
rafiksamman1982 opened this issue Mar 17, 2017 · 24 comments
Closed
Assignees
Labels

Comments

@rafiksamman1982
Copy link

rafiksamman1982 commented Mar 17, 2017

The application is erroring out requiring a clear node <clear > in the source web.config in the connectionStrings section.

@CameronWills
Copy link
Owner

I don't understand the bug. Cannot seem to replicate..

I've tried adding in the connectionStrings node on the demo page (https://fatantelopetester.apphb.com/) and it appears to generate the correct output?

Are you able to provide an example web configs (source and target)?
Obviously remove any private and sensitive information from the configs first..

Thanks,
Cameron

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 17, 2017

[File removed]

FatAntelope.exe SampleWeb.config Web.Config webxdt.config finalweb.config is the call i made.

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 17, 2017 via email

@CameronWills CameronWills self-assigned this Mar 19, 2017
@rafiksamman1982
Copy link
Author

Hi Camerone, sorry to be a pest, is there any outlook on this?

CameronWills added a commit that referenced this issue Mar 20, 2017
Insert* transforms continue to be a pain. Previously the I would try and use InsertAfter as much as possible.
But this is causing issues when inserting an element a after another element b that hasn't yet been inserted -
we write the deletions and insertions out to the patch in reverse order to help get an accurate 'Locator'.
Now the insert logic should prefer 'InsertBefore' where possible, with a fallback to 'InsertAfter'.
@CameronWills
Copy link
Owner

Hi Rafik,

I've pushed a fix in the latest version: https://github.com/CameronWills/FatAntelope/releases/tag/0.2.10

I'll close this issue now, be feel free to reopen if still experiencing problems.

@rafiksamman1982
Copy link
Author

I have a question, is everything in the target file always preserved?

@CameronWills
Copy link
Owner

CameronWills commented Mar 21, 2017

Yes. That is the intention..
Applying the 'patch' file to the 'source' file should generate the same/equivalent XML as the 'target' file. With the one exception: nodes in the transformed file can appear in a different order to the target file.

Are you seeing some nodes not being preserved?

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 21, 2017 via email

@CameronWills
Copy link
Owner

CameronWills commented Mar 21, 2017

The purpose of the tool is to generate a patch, which is then used to convert 'source' into 'target'.

In your example, if there are XML nodes that exist in SampleWeb.config but don't exist in Web.config - they will be removed when the webxdt.config is applied.

Once the webxdt.config is applied to SampleWeb.config, the <basicHttpBinding> section` is the same as it appears in the 'Web.config'. Assuming you're using the new version 0.2.10 to generate the patch

Does that make sense?

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 21, 2017 via email

@CameronWills
Copy link
Owner

Yep, the bugs in 0.2.9 were affecting the that <basicHttpBinding> node as well.

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 23, 2017 via email

@rafiksamman1982
Copy link
Author

I need to know if i need to make the code that will call the FatAntelope.exe freely available to the public or if I can just refer back to this site and the original algorithm implementation's site.

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 24, 2017

Cameron sorry once again for pestering you but do you have an answer for two comments above?

@CameronWills
Copy link
Owner

The license terms and conditions were from the original developer of the X-Diff algorithm and source code, which I ported from Java to C#. The X-Diff algorithm handles the comparison of XML documents.

From what I understand of condition 3 of their license, the source code of any binary that uses X-Diff, or it's derivatives, must be freely available and reproduce the license copyright and conditions..

So I think this would prohibit using FatAntelope being used in a closed-source or commercial product.

May I ask what you're building?

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 25, 2017 via email

@CameronWills
Copy link
Owner

Ok, from my understanding of the license, the conditions relate to redistribution of X-Diff derivatives.
So you're ok to use the FatAntelope privately within your organisation - as long as you're not redistributing software containing the X-Diff algorithm to third parties, or particularly if you're trying to commercially sell a piece of software that contains it.

From what you describe, you're using FatAntelope as part of your build / deployment process for your web apps? But the webapps themselves do not contain or use it ?

In this scenario, most people would use FatAntelope one time only, generate the patch file (web.release.config), and then include it webapp project (.csproj) underneath web.config. Then your developers would maintain this file going forward, alongside the web.config:

image

But I might be mis-understanding your use.

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 25, 2017 via email

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 27, 2017 via email

@CameronWills
Copy link
Owner

I'm not aware of a commercial license - you would need to contact the creator of X-Diff for their commercial licensing options..

Alternatively, you could offer the source code for your updater utility to your customers if they asked for it? If there is no risk to your business of loosing valuable intellectual property by sharing the source code? And then you would also just reproduce the copyright/license somewhere in the utility output?

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 27, 2017 via email

@CameronWills
Copy link
Owner

No problem. Thanks for the feedback and sorry I cant be more helpful. I'm by no means a licensing guru, so feel free to get a second opinion. I chose X-Diff because it seemed like the simple implementation for unordered XML diffing.

What feature we're you referring to? Perhaps something worth implementing for the community?

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 28, 2017 via email

@rafiksamman1982
Copy link
Author

rafiksamman1982 commented Mar 28, 2017 via email

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

No branches or pull requests

2 participants