Skip to content

Conversation

@twsouthwick
Copy link
Member

This allows for decoupling the strongly-typed infrastructure more easily so that the underlying types don't need to know about the strongly typed information.

@twsouthwick twsouthwick marked this pull request as draft August 16, 2022 22:36
@twsouthwick twsouthwick marked this pull request as ready for review August 31, 2022 01:34
@twsouthwick
Copy link
Member Author

@AlfredHellstern I'd like to get this into the next release. Do we have a milestone we're using to track that?

@twsouthwick
Copy link
Member Author

@ThomasBarnekow I'd like your thoughts on this. I'm hoping by next release to be able to have the framework portion separated from the strongly typed stuff. This would enable things such as a "lightweight" deployment of just using OpenXmlElements and XLinq (or similar stuff when the full types aren't needed)

@AlfredHellstern
Copy link
Contributor

@twsouthwick Next release should be towards the beginning of December, following the Nov 15 interop doc release.

@twsouthwick
Copy link
Member Author

@AlfredHellstern I thought there was a release next week?

@AlfredHellstern
Copy link
Contributor

yes, next week, to ship the content of the M365 aug22 PR#1196. I thought by "next" release you meant the one after the Aug release. Is your stuff ready to go into the Aug release?

@twsouthwick
Copy link
Member Author

Yup. I'd like to get this in to verify a few things before splitting assemblies (hopefully the following release)

@ThomasBarnekow
Copy link
Collaborator

@ThomasBarnekow I'd like your thoughts on this. I'm hoping by next release to be able to have the framework portion separated from the strongly typed stuff. This would enable things such as a "lightweight" deployment of just using OpenXmlElements and XLinq (or similar stuff when the full types aren't needed)

@twsouthwick, I'll have a look. I can already say that I do like the idea!

@ThomasBarnekow
Copy link
Collaborator

@twsouthwick, I've had a look and this generally looks good to me. However, would you have some more information or examples of what this means for developers? How would we be using the SDK in the following cases:

  1. Strongly Typed: Packages (e.g., WordprocessingDocument and strongly-typed classes only.
  2. LINQ to XML (XLINQ): Packages and DocumentFormat.OpenXml.Linq only.
  3. Combination: Packages and a combination of strongly-typed classes and DocumentFormat.OpenXml.Linq.

@twsouthwick
Copy link
Member Author

This PR itself doesn't address that, but lays some foundation to enable that. This change gets things ready to be decoupled, while #1164 is what will enable the lightweight deployment. I want to verify that this structure doesn't break anything first by getting it into the release this week. Once that release is done, I'll probably merge #1164 into main and you can try things out.

@twsouthwick
Copy link
Member Author

twsouthwick commented Sep 6, 2022

To answer the question in light of #1164:

Strongly Typed: Packages (e.g., WordprocessingDocument and strongly-typed classes only.

Nothing changes. The framework will be in a new package DocumentFormat.OpenXml.Framework that will be brought in transitively by referencing DocumentFormat.OpenXml

LINQ to XML (XLINQ): Packages and DocumentFormat.OpenXml.Linq only

Only need to reference DocumentFormat.OpenXml.Linq. Then, DocumentFormat.OpenXml.Framework will be brought in transitively.

Combination: Packages and a combination of strongly-typed classes and DocumentFormat.OpenXml.Linq.

Both DocumentFormat.OpenXml and DocumentFormat.OpenXml.Linq will be referenced and all three packages will be brought in.

@twsouthwick twsouthwick merged commit ee2bbfc into dotnet:main Sep 6, 2022
@twsouthwick twsouthwick deleted the typed-layer branch September 6, 2022 20:44
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

Successfully merging this pull request may close these issues.

3 participants