Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .agents/skills/translate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ need.
If you are not told which task, work out which ones are needed from what has
changed in English, say so, and ask before starting.

Never translate the generated adaptor pages, the job library, the old v1 docs,
or articles and blog posts.
Never translate the generated adaptor pages, the job library, or articles and
blog posts.

## Before you start

Expand Down
5 changes: 2 additions & 3 deletions .agents/skills/translate/interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ Remove the rest before you commit:
is upgraded.
- The `copyright` entry in `footer.json`. The site works out the year when it
builds, and a translated copy would freeze it.
- Every other file: the adaptor sidebar
(`docusaurus-plugin-content-docs-adaptors/`) and the old v1 docs
(`version-legacy.json`). Those stay in English.
- The adaptor sidebar
(`docusaurus-plugin-content-docs-adaptors/`) stays in English.

Then build and open the PR as `SKILL.md` describes.
1 change: 0 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ you need.
- Anything in `adaptors/packages/` or `adaptors/library/`. These pages are built
automatically from code comments in the `OpenFn/adaptors` repo. If something
is wrong there, the fix belongs in that repo, not here.
- Anything in `versioned_docs/`. These are the old v1 docs and are frozen.

**Ask before editing**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ phase of integration design, we often discuss how each answer choice for
**picklist** values should map from the source system to the destination system.
Sometimes the mapping is simple but other times, there is an extensive list of
possible choices that can be found in the
[message](/documentation/legacy/getting-started/terminology#message) and not all
[input](/documentation/get-started/terminology#input) and not all
are relevant to the destination system. Then the question is, **how should the
job handle values which are not explicitly mapped?**

Expand Down
2 changes: 1 addition & 1 deletion articles/2022-09-19-auth-security.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ to implement such security features down the line.
As product manager at Open Function Group, I myself have recently been reviewing
and analyzing numerous resources to identify and prioritize features required to
get to fully-secure authentication and authorization for our newest product
[Lightning](/documentation#openfn-v2-lightning-)–and make sure that nothing
[Lightning](/documentation#openfn-lightning)–and make sure that nothing
falls through the cracks. I’ve also had the opportunity to gather insights from
Digital Public Good community forums (OpenMRS, DHIS2, OpenLMIS, etc) and speak
to other product managers and engineers from the Digital Public Goods community
Expand Down
7 changes: 3 additions & 4 deletions docs/build-for-developers/cli-walkthrough.md
Original file line number Diff line number Diff line change
Expand Up @@ -589,10 +589,9 @@ a structured and automated way.

For example, if you have two steps in your workflow (GET users from system A &
POST users to system B), you can set up your workflow to run all steps in
sequence from start to finish. This imitates the
[flow trigger patterns](/documentation/legacy/build/triggers#flow-triggers) on
the OpenFn platform where a second job should run after the first one succeeds,
using the data returned from the first job.
sequence from start to finish. This works like [paths](/build/paths.md) on the
OpenFn platform, where a second step runs after the first one succeeds, using
the data returned from the first step.

:::info tl;dr

Expand Down
8 changes: 0 additions & 8 deletions docs/build/steps/steps.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,6 @@ A Step is a specific task or activity in a workflow. Each Step is linked to an
[Adaptor](/adaptors/) and contains business logic to perform a specific task or
operation in that target app.

:::note

In OpenFn V1, there was no concept of `Workflow Steps`--they were referred to as
`Jobs`. In V2, `Jobs` now are defined as _the job expressions or script that
define the business logic and transformation rules of individual `Steps`_.

:::

## Create or edit a Step

Via the Workflow Canvas, click the plus `+` icon to create a _new_ Step, or
Expand Down
2 changes: 1 addition & 1 deletion docs/contribute/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ date.

OpenFn/Lightning is the fully open-source workflow automation platform at the
core of the OpenFn Digital Public Good (learn more about the product
[here](/documentation#openfn-v2-lightning-)).
[What is OpenFn?](/get-started/home.md#openfn-lightning)).

| **ID** | **Feature** | **Status** | **Timeline** | **Δ** | **Description** |
| :-----------------------------------------------------: | :----------------------------------------------------- | :--------: | :----------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Expand Down
6 changes: 3 additions & 3 deletions docs/deploy/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@ local/government-managed servers, you might:
\*Head over to the [Requirements](/deploy/requirements.md) page for more
information on recommended server specifications.

## Moving from cloud to local (v1 or v2)
## Moving from cloud to local

For users that are planning a self-hosted implementation, we recommend
developing and testing the initial solution on the OpenFn SaaS (v1 or v2,
possibly on a free tier) and then exporting for use in Lightning (v2).
developing and testing the initial solution on the OpenFn SaaS (possibly on a
free tier) and then exporting for use in a local deployment of Lightning.

This allows the implementer to focus on ironing out the business and technical
requirements of the automation before incurring deployment costs. Focus on the
Expand Down
5 changes: 2 additions & 3 deletions docs/deploy/portability-versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ This document provides a reference to older versions of the specification.

## v3

The v3 standard was created for the v2 platform and is linked to the Lightning
project.
The v3 standard was created for Lightning.

V3 uses the legacy CLI deploy commands and protocols. It is still fully
supported by the app and CLI, but is being phased out as of May 2026.
Expand All @@ -19,7 +18,7 @@ supported by the app and CLI, but is being phased out as of May 2026.

## v2

Used for export from the legacy platform.
Used for export from the original OpenFn platform, which has been retired.

```yaml
jobs:
Expand Down
3 changes: 1 addition & 2 deletions docs/design/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ title: Design Process for OpenFn Solutions

:::warning Under construction

This docs page is under construction. Check back later for the complete docs, or
check out the Docs Version "Platform (v1)".
This docs page is under construction. Check back later for the complete docs.

:::

Expand Down
42 changes: 11 additions & 31 deletions docs/get-started/home.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,19 +43,16 @@ organizations.
OpenFn has a suite of products, which are all fully interoperable. This gives
our users the freedom to switch between any and all of the OpenFn products.

All OpenFn products, other than the OpenFn v1 iPaaS, are part of the free and
open-source `OpenFn Integration Toolkit`, which is a **Digital Public Good** (a
"DPG") recognized in the
[DPG Registry](https://digitalpublicgoods.net/registry/) and Digital Square's
All OpenFn products are part of the free and open-source
`OpenFn Integration Toolkit`, which is a **Digital Public Good** (a "DPG")
recognized in the [DPG Registry](https://digitalpublicgoods.net/registry/) and
Digital Square's
[Global Goods Guidebook](https://digitalsquare.org/resourcesrepository/global-goods-guidebook).

The core OpenFn products include:

- **[OpenFn/lightning](https://github.com/OpenFn/lightning)**: our open source
data integration & workflow automation platform. This is the "v2" version
currently in use.
- OpenFn/platform: the first version of our platform. Replaced by v2 and due to
be sunsetted in 2025
data integration & workflow automation platform
- [**OpenFn/adaptors**](https://github.com/OpenFn/adaptors): source code for
adaptors
- [**OpenFn/kit**](https://github.com/OpenFn/kit): CLI, developer tools and
Expand All @@ -65,41 +62,24 @@ The core OpenFn products include:

See all products and code at [GitHub.com/OpenFn](https://github.com/OpenFn).

### OpenFn v2: Lightning ⚡
### OpenFn Lightning

When you hear "OpenFn", think
[OpenFn/lightning](https://github.com/OpenFn/lightning/). v2 is a _fully open
source_ workflow automation web application which can be deployed and run
[OpenFn/lightning](https://github.com/OpenFn/lightning/). Lightning is a _fully
open source_ workflow automation web application which can be deployed and run
anywhere. It is designed for governments and NGOs who want state-of-the-art
workflow automation and data integration/interoperability capabilities with
fully-fledged user management and auditing capabilities through a managed _or_
entirely self-hosted platform.

Version 2 leverages the same tried-and-trusted core technology as the OpenFn v1
and comes with an improved, visual interface for building integrations.
entirely self-hosted platform, with a visual interface for building
integrations.

![OpenFn Workflow Canvas](/img/case_referral_workflow.webp)

**Check out the
[OpenFn v2 Basics playlist](https://www.youtube.com/watch?v=U0MXYRXkDnI&list=PL1pD3-abjHJ0L01RjouO2xOWKtEUYi8e4&ab_channel=OpenFn.org)**
[OpenFn Basics playlist](https://www.youtube.com/watch?v=U0MXYRXkDnI&list=PL1pD3-abjHJ0L01RjouO2xOWKtEUYi8e4&ab_channel=OpenFn.org)**
on Youtube to watch videos that will help you get started quickly, or check out
the other docs pages on the site.

:::info OpenFn v2 replaces v1

OpenFn v2 is available to any new users. All organizations currently using the
legacy OpenFn v1 platform will be migrated to OpenFn v2 by the end of 2024.

:::

### OpenFn v1

OpenFn v1 is the legacy OpenFn _integration-platform-as-a-service_ or "iPaaS"
first launched in 2015. OpenFn v1 was open-core with a proprietary web app.

The v1 platform will be sunsetted by 2025 and replaced by the fully open-source
OpenFn v2 (see above).

### OpenFn developer tooling

[OpenFn/kit](https://github.com/OpenFn/kit) provides a CLI and set of developer
Expand Down
2 changes: 1 addition & 1 deletion docs/get-started/standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ possible through a Health Information Exchange (“HIE”). To learn more, check

### OpenFn and OpenHIE

The OpenFn platform v2 ([OpenFn/lightning](https://github.com/OpenFn/)) is an
The OpenFn platform ([OpenFn/lightning](https://github.com/OpenFn/)) is an
OpenHIE-compliant **_workflow engine_** used to (1) automate complex business
processes that cut across digital systems (including OpenHIE components _and_
point of care systems), and to (2) handle data mapping and transformation.
Expand Down
13 changes: 6 additions & 7 deletions docs/get-started/try-out.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: Try out the v2⚡
title: Try out OpenFn
id: try-out
sidebar_label: Try out v2⚡
sidebar_label: Try out OpenFn
---

If you're interested in trying out the OpenFn v2⚡ today, you have 3 options:
If you're interested in trying out OpenFn today, you have 3 options:

## 1. Register for a free account

Expand All @@ -18,9 +18,8 @@ OpenFn's secure hosted platform. Learn more on

:::tip Already have an account?

Visit [www.openfn.org/login](https://www.openfn.org/login) to login to your
Lightning v2 account. If you only have a v1 user, then you will need to create a
new v2 account at [www.openfn.org/register](https://www.openfn.org/register).
Visit [www.openfn.org/login](https://www.openfn.org/login) to log in to your
account.

:::

Expand All @@ -42,7 +41,7 @@ keep.

## 3. Install OpenFn/lightning locally

Install the OpenFn v2 locally to access the open source software and explore
Install OpenFn locally to access the open source software and explore
without limits. See our GitHub repo for developer docs:
[github.com/OpenFn/lightning](https://github.com/OpenFn/lightning).

Expand Down
2 changes: 1 addition & 1 deletion docs/jobs/data-transformation.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ Not all operations support a JSON path string - refer to
## Variable initialisation

<!--
I'm a bit iffy on this because actually in v2 you can just do const result = [] at the top of your job
I'm a bit iffy on this because actually you can just do const result = [] at the top of your job

Is the fn block really better practice?
-->
Expand Down
24 changes: 0 additions & 24 deletions docs/jobs/using-cursors.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,30 +126,6 @@ to the CLI:
$ openfn job.js -s state.json -a http
```

<details>
<summary>Manual cursors on v1</summary>

Platform v1 does not allow input states to be freely defined, so setting a
manual cursor is a little more difficult.

You have to hard-code the manual cursor into the run so that the state cursor is
ignored:

```js
cursor('2024-03-12');
```

This line should be commented out in production runs.

Alternatively, you can use the defaultValue option. This will work so long as
you run without any initial state:

```js
cursor(state => state.cursor, { defaultValue: '2024-03-12' });
```

</details>

### Cursor Options

The second argument to `cursor()` is an options object. You can use this to set
Expand Down
Loading
Loading