• Stars
    star
    1,131
  • Rank 40,923 (Top 0.9 %)
  • Language
    C#
  • License
    MIT License
  • Created about 8 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

WF runtime ported to work on .NET 6

Build Status

CoreWF

A port of the Windows Workflow Foundation (WF) runtime to .NET 6. It is licensed under the MIT License.

This is not an official Microsoft release of WF on .NET 6. CoreWF is a derivative work of Microsoft's copyrighted Windows Workflow Foundation.

WF Overview

Workflows are multi-step processes composed of activities. Activities are single-purpose elements that can be composed of other activities. Workflows have only one root activity in the same way that an XML document has only one root element.

Developers can create workflows in code:

var helloWorldActivity = new Sequence()
{
    Activities =
    {
        new WriteLine
        {
            Text = "Hello World!"
        }
    }
};

The workflow can be run with the following code:

System.Activities.WorkflowInvoker.Invoke(helloWorldActivity);

The similarity of workflow/activity concepts to XML's document/element concepts means it's possible to write workflows in XML; specifically, an extension of XML called XAML . The "Hello World!" workflow from above can be written as:

<Activity 
 x:Class="WorkflowConsoleApplication1.HelloWorld"
 xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Sequence>
    <WriteLine Text="Hello World!" />
  </Sequence>
</Activity>

The XAML workflow can be loaded in CoreWF through ActivityXamlServices:

var helloWorldActivity = ActivityXamlServices.Load(new StringReader(xamlString));
System.Activities.WorkflowInvoker.Invoke(helloWorldActivity);

WF in the .NET Framework includes a visual, drag-and-drop designer for workflows that produces XAML. The "Hello World!" workflow looks like this in the designer:

Hello World! workflow in WF designer

The designer experience is not part of CoreWF but the XAML produced by the designer can be run in CoreWF (with some limitations). The WF designer experience is available in Visual Studio 2019 by enabling the "Windows Workflow Foundation" individual component in the Visual Studio Installer.

Target Frameworks

CoreWF targets .NET 6 and .NET 6 Windows. The .NET Windows target uses the System.Xaml included in the .NET Desktop Runtime. To use CoreWF on non-Windows runtimes, use the portable .NET 6 target. This is possible because CoreWF includes a copy of the System.Xaml code.

Usage

To add this library to your project, use the NuGet package.

Debug using Source Link

Preview builds setup

MyGet (dev)

Contributing

Check out the contributing guide for information on how to help CoreWF.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

.NET Foundation

This project is supported by the .NET Foundation.

More Repositories

1

ReFrameWork

Robotic Enterprise Framework Template
342
star
2

Community.Activities

Repository of Windows Workflow Foundation Activities for UiPath Community
C#
233
star
3

orchestrator-powershell

UiPath Orchestrator PowerShell cmdlet library
C#
107
star
4

uipathcli

Command line interface to simplify, script and automate API calls for UiPath services (preview)
Go
63
star
5

Infrastructure

PowerShell
42
star
6

angular-components

Angular components for r$ch web applications
TypeScript
40
star
7

coreipc

WCF-like service model API for communication over named pipes, TCP and web sockets. .NET and node.js clients.
30
star
8

Chatbot-Samples

Welcome to the UIPath Chatbot samples repository. Here you will find example of using Microsoft BotFramework to build a chatbot that connects to UiPath RPA.
C#
27
star
9

IT-Automation-Workflow-Solutions

RPA Workflow Solutions built with UiPath's official IT Automation activities
PowerShell
16
star
10

AppsClientSample

Sample for wrapping a UiPath app in a windows client side exe
JavaScript
13
star
11

Orchestrator-CredentialStorePlugins

Credential Store Plugins as examples on how to create third party plugins to use on the Orchestrator.
C#
13
star
12

OrchestratorManager

A tool for managing Orchestrator entities in bulk.
HTML
11
star
13

assistant-plugin-creator

TypeScript
10
star
14

codedautomations-samples

Samples for UiPath Coded Automations
C#
9
star
15

orchestrator-nodejs

JavaScript
8
star
16

ai-customer-scripts

Shell
8
star
17

ProcessMining-pm-utils

Utility functions for process mining related dbt projects.
7
star
18

Document-Processing-Code-Samples

Code samples for document processing activities.
6
star
19

Workflow-Inspector

A tool for evaluating UiPath Studio projects according to the best practices of workflow development.
5
star
20

AmazonConnect

Fulfill Amazon Connect contact flows with unattended UiPath automation
JavaScript
4
star
21

Insights-Customer

PowerShell
4
star
22

aws-quickstart-automation-suite

Python
4
star
23

robot-docker

Docker images for UiPath Robot on Linux
Dockerfile
4
star
24

GenesysCloud

Launch UiPath automation from a Genesys Cloud Architect flow
3
star
25

platform-quickstart

PowerShell
2
star
26

apollo-lab-public

Public Storybook for Apollo Lab
2
star
27

du-customer-scripts

Public repo with customer facing scripts for DU related projects.
Python
1
star
28

ProcessMining-devkit-connector

Template to quick start the development of a new connector containing a simple procurement example on how to write transformations.
1
star
29

var-assets

1
star
30

automation-suite-support-tools

Repository to host commonly used troubleshooting scripts
Shell
1
star
31

mobile-automation-samples

Sample applications and workflow for UiPath's Mobile Automation activities package
Java
1
star