bzinchenko / bpmnview

Viewing and printing business process diagrams in a popular BPMN format
MIT License
92 stars 31 forks source link

.netcore support #16

Open interfacemirror opened 5 years ago

interfacemirror commented 5 years ago

I want to use this project in a .NET core project. Is there other builds for this project to support .netcore?

borseno commented 4 years ago

Hi, same stuff.

borseno commented 4 years ago

I tried decompiling it and porting to .NET Standard. The issue is that the author used a tool to mess the code so that you can't read it after decompiling.

borseno commented 4 years ago

So the only working option would be to ask the author to port it to .NET Standard. I will try to contact them via all social networks that exist.

bzinchenko commented 4 years ago

Hello. We will consider porting to .NET Standard. But it looks not trivial because it heavily relies on graphics of classical .NET framework. We cannot tell if and how fast we will do it.

borseno commented 4 years ago

Well I basically mean porting the core logic. I need to use AddEvent() AddProcess() etc methods. Then export it to xml. Isnt it trivial to port this core logic to netstandart?

On Mon, Aug 31, 2020, 18:42 Boris Zinchenko notifications@github.com wrote:

Hello. We will consider porting to .NET Standard. But it looks not trivial because it heavily relies on graphics of classical .NET framework. We cannot tell if and how fast we will do it.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/bzinchenko/bpmnview/issues/16#issuecomment-683859860, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH6TZ5Z3QNUEPVMW6WBS7PTSDPAIDANCNFSM4JIPBY3Q .

bzinchenko commented 4 years ago

This library has two parts: (1) rendering BPMN diagram as image, (2) writing BPMN diagram as XML. If you need simple writing, trivial recompilation of code might suffice. We may try to do it over next week. Device independent canvas rendering can be more challenging. If you need specific use case, you may commit e.g. test project where you would like to use the library.

borseno commented 4 years ago

@bzinchenko Can I just do like this:

Editor editor = new Editor();
editor.Create("BPMN Model", "User");

string id1 = editor.AddEvent(null, null, "Start Event", EventType.Start, EventTrigger.None, EventRole.None);
string id2 = editor.AddActivity(null, "Task 1", ActivityType.Task, ActivityMarker.None, TaskType.User, null);
string id3 = editor.AddActivity(null, "Task 2", ActivityType.Task, ActivityMarker.None, TaskType.Manual, null);
string id4 = editor.AddActivity(null, "Task 3", ActivityType.Task, ActivityMarker.None, TaskType.Service, null);
string id5 = editor.AddEvent(null, null, "End Event", EventType.End, EventTrigger.None, EventRole.None);
string id7 = editor.AddFlow(null, null, id1, id2, null, FlowType.Sequence, null, false, FlowDirection.None);
string id8 = editor.AddFlow(null, null, id2, id3, null, FlowType.Sequence, null, false, FlowDirection.None);
string id9 = editor.AddFlow(null, null, id3, id4, null, FlowType.Sequence, null, false, FlowDirection.None);
string id10 = editor.AddFlow(null, null, id4, id5, null, FlowType.Sequence, null, false, FlowDirection.None);

And call something like GenerateXML() with the info above and it would produce me some xsd schema?

borseno commented 4 years ago

If you need simple writing, trivial recompilation of code might suffice.

I think so. But not on my side since I can't decompile the code because it was IL protected somehow. So this needs to be done on your side.

JanVargovsky commented 3 years ago

@bzinchenko Any update? Didn't .NET 5 bring missing API for easier port?

Actually, as I'm searching, it's the BPMN.Sharp I'm looking for. I've found closed issue from 4 years ago and you've said it's not open source.