Comments (12)
Most of this is implemented now. I was curious where you might want me to commit it. It could go in a 6.1.10 branch of master if that seems reasonable.
There are only a couple of issues. The main one is a new utility function for ExtendedXMP requires an MD5 hash. The standard Cryptography classes for this aren't available in netstandard10. If you know of a nuget package that has this implemented, it could be added.
We might have to push up the minimum netstandard at some point anyway; .NET <= 4.5.1 or so have been 'dead' for over a year. netstandard20 does support the MD5 hash. I know you're shooting for maximum compatibility so food for thought mostly.
from xmp-core-dotnet.
Looking at this further - I don't think there is a Java version of the latest. The Zip file only contains the C++ implementation.
I don't know the history of this project so I might be looking at the wrong thing. That said, maybe a .NET wrapper around the C++ libraries is possible. Desirable though?
from xmp-core-dotnet.
Oops. There appears to be a 5.1.3 for Java further down the page. So - same questions.
from xmp-core-dotnet.
There are actually several 6.x versions available on Maven as well:
http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.adobe.xmp%22%20AND%20a%3A%22xmpcore%22
I reconstructed a repository with this history and added you as a collaborator:
https://github.com/drewnoakes/adobe-xmp-core
There aren't so many changes between versions, although in the 6.x branch a bunch of classes were moved into an internal
package. It seems like many of these types could be user facing. Perhaps the interfaces are non-internal, while the implementations are.
For some reason, Adobe's XMP Toolkit page doesn't link to a 6.x version. We should definitely support 5.1.3 in this repo, and perhaps look at getting started on 6.x via a branch, though we don't need to reflect each version change -- we can jump straight to 6.1.10 in one go as far as I'm concerned.
from xmp-core-dotnet.
Here is the 6.1.10 code from last year:
As is noted, we should probably make a decision on whether netstandard1.0 is appropriate or if we should move on to something more modern. I'm not exactly sure how high we would need to move for MD5 to be supported natively. Another option is to find a good third party nuget that can do it. However, if PackageForJPEG is rarely or never used by XmpCore users, then it might be moot.
Let me know what you think, and I'm happy to update that branch as needed.
from xmp-core-dotnet.
My 6.1.10 branch has all the recent changes up to 5.1.3.1
Thanks
from xmp-core-dotnet.
Fantastic. Pushed to master. Pushed a few commits afterwards, only two of which are really worth reviewing. One relates to a possible bug fix (please verify) and the other is the implementation of the digest stuff for netstandard2.0.
It might be more logical to wrap the entire PackageforJPEG method in #if NETSTANDARD2_0
rather than just that one section of code. Let me know what you think.
Do you know what FfF
means? :)
from xmp-core-dotnet.
BTW once you're happy I can put a release out.
from xmp-core-dotnet.
We might have discussed this before or maybe somebody asked on the Java side -- did you want to keep a 5.1.3 branch alive or completely replace it with this?
from xmp-core-dotnet.
... and not sure what FfF is. The context seems to suggest something like 'Feature for Future' or some other wild guess.
from xmp-core-dotnet.
did you want to keep a 5.1.3 branch alive or completely replace it with this?
Anything that ends up on NuGet is tagged with the version number. If we have to go back and patch old versions, we can create branches for that at such a time. For now I'm happy to keep things simple and just work with master. We can always make things more sophisticated later if needed.
from xmp-core-dotnet.
Thanks for getting this out. If you come across any Java XmpCore updates from Adobe in the future, I'm happy to try and incorporate them.
from xmp-core-dotnet.
Related Issues (20)
- Sign assemblies HOT 6
- Implement Language property for XmpProperty682 HOT 8
- System.Xml.XmlException: The ':' character, hexadecimal value 0x3A, cannot be included in a name. HOT 15
- Support .NET Core HOT 1
- NuGet package shouldn't depend upon JetBrains.Annotations
- VS2017 / C# 7 support HOT 1
- Nuget package version not matching assembly version HOT 6
- Package specification is missing project URL
- How to write only Xmp metadata using Xmp core HOT 3
- UTF-16 is not supported HOT 14
- Support for UTF-16 and UTF-32? HOT 12
- Support for PCL HOT 6
- I have a MissingMethodException: Method not found: 'System.Xml.XmlReaderSettings.set_MaxCharactersFromEntities' issue HOT 5
- XmpMetaFactory.ParseFromBuffer fails when there is an XML-comment in the input XML buffer HOT 3
- Improve performance of Latin1Converter
- License is not available
- Create Array of Structs HOT 3
- Add UTF-32 support (or improve error messaging?) HOT 2
- XmpMetaFactory.SerializeToString returning a string with a BOM at the start?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xmp-core-dotnet.