origam.com

Create a Nuget Package for Service Adapters

Today if one wants to develop a workflow service adapter, it is necessary to include a copy of multiple ORIGAM libraries to the project.

In order to make the development easier, we should expose AbstractServiceAgent class and all its dependencies as a NuGet package.

There are lots of dependencies (rule engine, workflow engine, data service). It would be great if these could be referenced only as interfaces but I think it is out of scope and we should first create the NuGet package and later optimize the class model.

On the other hand I see a problem with building/versioning of such a NuGet package. If we would create a separate repository, e.g. “origam-interfaces”, which would just contain e.g. service, workflow, rule interfaces (no app logic) + AbstractServiceAgent class, this would have one version unless we would change some of the interfaces. Both ORIGAM and adapters would then share the same version of these interfaces. What do you think?

I agree that including NuGet package is easier than searching for relevant ORIGAM libraries. On the other hand creating and maintaining origam-interfaces seems to be a hassle and it is going to constrict ourselves. Which might a good thing until it isn’t.

I don’t think the benefit overweights the costs. I’d suggest to improve our documentation on the topic. The current one seems to be obsolete: Custom Service Adapters - ORIGAM Documentation - ORIGAM Documentation.

After a discussion with @washi I don’t see the same benefits the packages would give us in the case of javascript.

I don’t like adding DLLs to repositories. I consider packages a better solution from the developer’s perspective. Also reading a documentation instead of just including a package doesn’t look good, in my opinion.

So my point of view is really not us but the extension developers.

Closing this topic as a duplicate of ORIGAM extensibility libraries as NuGet Packages