diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index 40e6ba8c..55ee6603 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -6,6 +6,12 @@ on: - main pull_request: +# only allow one run per deploy target at once +concurrency: + group: ${{ github.workflow}}-${{ github.ref }} + # cancel previous jobs as we are only interested in the newest + cancel-in-progress: true + jobs: build: name: Build and Deploy diff --git a/.vscode/spellright.dict b/.vscode/spellright.dict index 5444c4df..ebe255f3 100644 --- a/.vscode/spellright.dict +++ b/.vscode/spellright.dict @@ -10,3 +10,4 @@ seeder timelogs Resumable resumable +agrirouter diff --git a/antora-playbook.yml b/antora-playbook.yml index 1cea8bf0..153127a2 100644 --- a/antora-playbook.yml +++ b/antora-playbook.yml @@ -23,5 +23,6 @@ asciidoc: idseparator: "-" kroki-fetch-diagram: true kroki-plantuml-include: style.puml + page-pagination: true extensions: - asciidoctor-kroki diff --git a/modules/ROOT/assets/images/icons/email.svg b/modules/ROOT/assets/images/icons/email.svg new file mode 100644 index 00000000..38020a1a --- /dev/null +++ b/modules/ROOT/assets/images/icons/email.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/ROOT/assets/images/icons/slack.svg b/modules/ROOT/assets/images/icons/slack.svg new file mode 100644 index 00000000..fb55f724 --- /dev/null +++ b/modules/ROOT/assets/images/icons/slack.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/modules/ROOT/assets/images/icons/teams.svg b/modules/ROOT/assets/images/icons/teams.svg new file mode 100644 index 00000000..3409e6cf --- /dev/null +++ b/modules/ROOT/assets/images/icons/teams.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/ROOT/assets/images/partner-process/integration-steps.svg b/modules/ROOT/assets/images/partner-process/integration-steps.svg new file mode 100644 index 00000000..a7af0cbd --- /dev/null +++ b/modules/ROOT/assets/images/partner-process/integration-steps.svg @@ -0,0 +1,435 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index e7b3c474..e3515031 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -11,11 +11,12 @@ ** xref:development-resources.adoc[Development Resources] ** xref:training.adoc[Training] -* Partner Process -** xref:partner-process/provider-agreement.adoc[Provider Agreement] +* xref:partner-process/becoming-a-partner.adoc[Becoming a Partner] +** xref:partner-process/legal-agreement.adoc[Legal Agreement] +** xref:partner-process/integration.adoc[Integration Process] +** xref:partner-process/development-process.adoc[Development Process] ** xref:partner-process/marketplace.adoc[Marketplace] -** xref:partner-process/integration-qa.adoc[Integration on QA] -** xref:partner-process/integration-prod.adoc[Integration on Production] +** xref:partner-process/service-support.adoc[Service & Support] * xref:integration-steps.adoc[Integration] ** xref:integration/general-conventions.adoc[Conventions] @@ -30,7 +31,6 @@ *** xref:certification.adoc[Certification] *** xref:maintenance.adoc[Maintenance] *** xref:update.adoc[Updates] -*** xref:service-support.adoc[Service & Support] *** xref:usage-metrics.adoc[Usage Metrics] ** xref:integration/endpoint-lifecycle.adoc[Endpoint Lifecycle] *** xref:integration/authorization.adoc[Authorization] diff --git a/modules/ROOT/pages/applications.adoc b/modules/ROOT/pages/applications.adoc index bb9cd507..003493c1 100644 --- a/modules/ROOT/pages/applications.adoc +++ b/modules/ROOT/pages/applications.adoc @@ -108,7 +108,7 @@ After submitting, DKE will receive a notification and set the status to _Approve [NOTE] ==== -Please be aware of xref:../service-support.adoc#contact[support business hours]. +Please be aware of xref:../partner-process/service-support.adoc#contact[support business hours]. ==== .agrirouter warning diff --git a/modules/ROOT/pages/certification.adoc b/modules/ROOT/pages/certification.adoc index ee917ef2..d59bdf95 100644 --- a/modules/ROOT/pages/certification.adoc +++ b/modules/ROOT/pages/certification.adoc @@ -32,9 +32,10 @@ There are multiple certification companies, a list can be found link:https://my- To pass the certification tests there are multiple requirements have to be fulfilled before the certification can start. +[#prerequisites] === Prerequisites -* The xref:./partner-process/provider-agreement.adoc[DKE application provider agreement] has to be signed. +* a xref:./partner-process/legal-agreement.adoc[legal agreement] has to be signed. * The xref:./partner-process/marketplace.adoc[marketplace entry] has to be created with a "Coming soon" label. * The following information about the company is available: ** Name diff --git a/modules/ROOT/pages/introduction.adoc b/modules/ROOT/pages/introduction.adoc index 8f032c09..02848cb2 100644 --- a/modules/ROOT/pages/introduction.adoc +++ b/modules/ROOT/pages/introduction.adoc @@ -28,10 +28,9 @@ In general, there are 4 major topics to add your software or hardware to the agr .Integration process for agrirouter image::general/process_all_v2.png[Integration process for agrirouter] -* xref:partner-process/provider-agreement.adoc[Step 1 - Provider Agreement] -* xref:partner-process/marketplace.adoc[Step 2 - Marketplace] -* xref:partner-process/integration-qa.adoc[Step 3 - Interface Integration in Quality Assurance Environment] -* xref:partner-process/integration-prod.adoc[Step 4 - Interface Integration in Production Environment] +* xref:partner-process/legal-agreement.adoc[Step 1 - Legal Agreement] +* xref:partner-process/integration.adoc[Step 2 - Technical Integration] +* xref:partner-process/marketplace.adoc[Step 3 - Marketplace] == Quicklinks @@ -54,7 +53,7 @@ For advanced developers, here is a list of quick links for the most common topic * xref:urls.adoc[Relevant URLs] === Tools & Support -* xref:service-support.adoc[Service & Support] +* xref:partner-process/service-support.adoc[Service & Support] * xref:training.adoc[Training] * xref:maintenance.adoc[Maintenance of applications] diff --git a/modules/ROOT/pages/partner-process/becoming-a-partner.adoc b/modules/ROOT/pages/partner-process/becoming-a-partner.adoc new file mode 100644 index 00000000..9dd57fda --- /dev/null +++ b/modules/ROOT/pages/partner-process/becoming-a-partner.adoc @@ -0,0 +1,22 @@ += Becoming a partner +:imagesdir: _images/ + +This section is dedicated to explaining the necessary steps and background of becoming an agrirouter partner and integrate with the agrirouter platform. + +There are three streams that need to be completed to become a part of the agrirouter eco system. + +== Legal + +In general, to gain production access to the agrirouter, a legal agreement has to be made. There are multiple options interested companies can choose from. For details, see xref:./legal-agreement.adoc[]. + +== Marketing + +To promote your solution and announce integration into and compatibility with agrirouter, you should put your solution into our marketplace. It is split up between https://agrirouter.com/marketplace/agrarsoftware/[Software Solutions] and https://agrirouter.com/marketplace/telemetrieverbindungen/[Telemetry Connections]. For details, see xref:./marketplace.adoc[]. + +== Integration Development + +The integration process is described in detail in xref:./integration.adoc[]. + +Technical information about the actual development of your agrirouter integration can be found in xref:./development-process.adoc[]. + +Please also familiarize yourself with the xref:./service-support.adoc[Support Process] to learn which roles exist and how responsibilities are distributed. \ No newline at end of file diff --git a/modules/ROOT/pages/partner-process/development-process.adoc b/modules/ROOT/pages/partner-process/development-process.adoc new file mode 100644 index 00000000..09bc5355 --- /dev/null +++ b/modules/ROOT/pages/partner-process/development-process.adoc @@ -0,0 +1,53 @@ += Development Process +:imagesdir: _images/ + +== Material + +We provide some material to aid during development: + +=== SDKs + +We provide SDKs for the following languages: + +* link:https://github.com/DKE-Data/agrirouter-sdk-java[Java] +* link:https://github.com/DKE-Data/agrirouter-sdk-dotnet-standard[C#/.NET] +* link:https://github.com/DKE-Data/agrirouter-sdk-php[PHP] +* link:https://github.com/DKE-Data/agrirouter-sdk-python[Python] +* link:https://github.com/DKE-Data/agrirouter-sdk-cpp[C++] (3rd party contribution, not officially supported) + +All SDKs are open source and their source code hosted on Github. + +The SDKs are differing a bit in their range of features. If a certain feature is missing for your language, don't hesitate to contact us or maybe even provide a Pull Request on the respective Github project. + +=== agrirouter middleware + +There is a 3rd party maintained solution available called the *agrirouter middleware* that further eases some aspects of the agrirouter integration by wrapping the more complex aspects of the agrirouter interface into a simple-to-use REST interface. + +For further information, please see link:https://agrirouter-middleware.com[their project]. + + +=== Developer Tutorial + +There is a link:https://github.com/DKE-Data/agrirouter-api-developer-tutorial[developer tutorial] available that guides you step-by-step through the development process, using Java as an example. + +While the tutorial has already aged a bit, the main concepts are still the same. + +=== IO-Tool + +We provide a tool that presents an endpoint to communicate with during your integration work. Further information will soon be provided here. + +// TODO +//== Development overview +// +//First, you should always keep in mind the xref:../integration/general-conventions.adoc[General conventions]. +// + +== Support + +We are there for you during the whole development process. + +Whether you want to discuss your integration architecture approach, are stuck at some point during development, encounter unknown issues etc., just contact us via one of these channels: + +* image:icons/email.svg[,24,24] link:mailto:developer-support@my-agrirouter.com[Email/Ticket] +* image:icons/teams.svg[,24,24] link:https://teams.microsoft.com/l/chat/0/0?users=o.rahner%40dke-data.com[Microsoft Teams] +* image:icons/slack.svg[,24,24] link:https://join.slack.com/t/agrirouter/shared_invite/zt-1eubkvbhe-KuP4naHgIOdlciuiXcztGw[Slack] diff --git a/modules/ROOT/pages/partner-process/integration-prod.adoc b/modules/ROOT/pages/partner-process/integration-prod.adoc deleted file mode 100644 index 8a588afb..00000000 --- a/modules/ROOT/pages/partner-process/integration-prod.adoc +++ /dev/null @@ -1,76 +0,0 @@ -= Interface Integration in Production -:imagesdir: _images/ - -== General process of integration in Production - -Once the development in the Quality Assurance Environment is finished, you can start to prepare your application for the production environment - -image::general/process_integration_prod_v2.png[] - -== 4.1 Create developer account - -Once you're done with testing in QA, you can xref:../registration.adoc[create an account in the productive environment]. - -You can read xref:../accounts.adoc[here] more about the different types of accounts or directly find the URLs for signup xref:../urls.adoc[here]. - -== 4.2 Register & submit your solution - -For communication with agrirouter, you need to setup an xref:../applications.adoc[application] in the productive environment. - - -== 4.3 Approval from the certification company - -The certification company will perform the certification - with your support - and create a certificate to proof that your solution is compatible with agrirouter. - -[IMPORTANT] -==== -Please recognize that the certification will be done in the quality assurance environment. -==== - - -== 4.4 Approval from support team -When the certification is successfully approved, the app will be set to status _Approved_ . - -[NOTE] -==== -If your app is a CU, it will from this point on be visible to all users wanting to add a new Telemetry connection. -==== - - -== 4.5 Test Interface & Messaging - -After certification is done, you can test your application in the production environment, which means that you can xref:../invite-testers.adoc[invite real test customers to test the connection in their everyday work] or just ask users to onboard your app (the tester status is not required when your app is _Approved_ but it helps to keep an overview of your testers). - -To connect your app to the production environment, You need to update the following information in your application: - -* applicationId -* certificationVersionId -* Certificate for the authorization process (if Telemetry Platform or Farming Software) -* The URLs for: -** authorization -** onboarding -** re-onboarding -** revoking - -The URLS can be found xref:../urls.adoc[here]. - - -[IMPORTANT] -==== -Each agrirouter account has a limited number of endpoints, see xref:../limitations.adoc[here]. -==== - - - -== 4.6 Approval for your end customer -When you decide that your application is successfully up and running and tested with the production environment, you can take all the steps relevant to publish your software to your customers like - -* deploying it on the server -* advertising it -* flashing hardware with it -* etc. - -There are no additional steps required in the agrirouter UI or the agrirouter interface - -== How to proceed -Once you published your software and customers start using it, you should xref:../maintenance.adoc[maintain your solution]. diff --git a/modules/ROOT/pages/partner-process/integration-qa.adoc b/modules/ROOT/pages/partner-process/integration-qa.adoc deleted file mode 100644 index 0c2752ac..00000000 --- a/modules/ROOT/pages/partner-process/integration-qa.adoc +++ /dev/null @@ -1,120 +0,0 @@ -= 3. Interface Integration in Quality Assurance -:imagesdir: _images/ - -== Before we begin - -Before starting with the integration, it's important to understand the xref:../basic-concepts.adoc[basic concepts of agrirouter]. - -[IMPORTANT] -==== -Each agrirouter account has a limited number of endpoints, see xref:../limitations.adoc[here]. -==== - -== Development Resources - -There are several development resources which can be found in xref:../development-resources.adoc[the list of development resources] including topics like: - -* xref:../keys.adoc[The keys & Certificates] -* link:https://github.com/DKE-Data/agrirouter-postman-tools[Postman collection for onboarding and Revoking] -* xref:../tools/paho.adoc[Paho for MQTT Connection] -* xref:../tools/arts.adoc[The agrirouter protobuf toolset] -* xref:../tools/endpoint-recording.adoc[The endpoint recording] -* link:https://github.com/DKE-Data[The github Account with documentation and APIs] -* link:https://github.com/DKE-Data/agrirouter-api-developer-tutorial[A video tutorial on the integration process] - -== General process of integration in QA -image::general/process_integration_qa_v2.png[] - - - -== 3.1 Create developer account -To start the development, you will need to xref:../registration.adoc[create a developer account]. - -There is also a link:https://github.com/DKE-Data/agrirouter-api-developer-tutorial/blob/master/02-create-developer-account/index.adoc[Video Tutorial on creating an account] - -== 3.2 Register & Submit your solution - -For communication with agrirouter, you need to xref:../applications.adoc[setup an application] in the Quality assurance environment. - -There is also a link:https://github.com/DKE-Data/agrirouter-api-developer-tutorial/blob/master/03-create-application/index.adoc[Video Tutorial on registering applications] - -== 3.3 Waiting for approval by the support team - -Whenever you create a new application version, the agrirouter support team will have to approve this application. Please send an email to support@my-agrirouter.com including the application Id and the certification version ID to request confirmation. Find out where to find them xref:../ids-and-definitions.adoc[here]. - -== 3.4 Contact certification company - -Every app needs to be certified to communicate with the agrirouter. Further information can be found xref:../certification.adoc[here]. - -Once you know, which kind of application you want to create, you should get in contact with one of the link:https://my-agrirouter.com/support/certification[certification companies] to clarify, which specific requirements you will have to fulfil to pass the certification. -This will help you to adapt your implementation for the certification and add all requirements for certification. - -Make sure to have all xref:../certification.adoc#Prerequists[prerequists] available. - - -== 3.5 Integrate interface in your solution - -The following chapters describe all requirements to integrate an application with agrirouter. - -=== Before we begin -First, you should always keep in mind the xref:../integration/general-conventions.adoc[General conventions]. - -There are several environments for test and production in different areas of the world. Their different parameters like URLs and certificates can be found in the xref:../integration/environments.adoc[Environments]. - -=== General lifecycle of an endpoint -image::general/lifecycle.png[] - -=== Connecting your app instance - -==== Authorization -Farming Software and Telemetry Platforms have to perform an xref:../integration/authorization.adoc[Authorization Process] to clarify that the account user is known. - -==== Onboarding - -To communicate with the agrirouter, an application Instance needs to be xref:../integration/onboarding.adoc[onboarded]. An application instance can be xref:../integration/reonboarding.adoc[Re-onboarded]. - - -=== Communicate with agrirouter endpoints - -==== Building messages - -To send a message, it has to be built first. Read xref:../integration/build-message.adoc[here] about building messages and commands. - -List of possible message content: - -* xref:../commands/overview.adoc[Commands to interact with the agrirouter] -* xref:../tmt/overview.adoc[Technical message types to exchange data between endpoints of the agrirouter] - -==== Sending messages and commands - -Every application instance can xref:../integration/message-sending.adoc[send messages] and commands the same way. - -While xref:../tmt/overview.adoc[messages] are meant to be forwarded to other endpoints, xref:../commands/overview.adoc[commands] are used to xref:../commands/ecosystem.adoc[explore the ecosystem], xref:../commands/endpoint.adoc[configure your endpoint] and xref:../commands/feed.adoc[request messages from the feed]. - -==== Receiving messages and command answers - -Command results and messages from other endpoints will be xref:../integration/message-receiving.adoc[received through the outbox] by the receiving application instance. - -Messages from other endpoints are put into the outbox by xref:../integration/push-notification.adoc[push notifications] as well as by xref:../commands/feed.adoc[requesting the feed content]. - -==== Analysing messages - -Depending on the xref:../integration/analyse-result.adoc#ResponseType[resultType], the result can be xref:../integration/analyse-result.adoc[analysed]. - -=== End of life for an endpoint - -When an endpoint shall be deleted, it can be xref:../integration/revoke.adoc[Revoked]. - -== 3.6 Test Interface and messaging - -In status _Approved for Testing_, application developers can xref:../invite-testers.adoc[add other accounts for testing their application]. If a certification version is in status _Approved for Testing_, instances with this certification version can be onboarded in these test accounts and an external test can be started. The developers account automatically is an end-user account that is a test account. This means that a developer can onboard an endpoint in his account. - -[IMPORTANT] -==== -As the application currently only communicates with the agrirouter Quality assurance environment, it cannot be onboarded in the Production environment. See xref:../partner-process/integration-prod.adoc[Integration in Production] for those further steps. -==== - - -== How to proceed - -Once you finished the tests and see your app ready to be published, you can proceed with the xref:../partner-process/integration-prod.adoc[integration in the productive environment]. diff --git a/modules/ROOT/pages/partner-process/integration.adoc b/modules/ROOT/pages/partner-process/integration.adoc new file mode 100644 index 00000000..a9854207 --- /dev/null +++ b/modules/ROOT/pages/partner-process/integration.adoc @@ -0,0 +1,90 @@ += Interface Integration in Production +:imagesdir: _images/ + +== General process of integration in Production + +image::partner-process/integration-steps.svg[] + +== Create developer account + +include::partial$different-accounts.adoc[] + +To start the development, you will need to xref:../registration.adoc[create a developer account]. + +There is also a link:https://github.com/DKE-Data/agrirouter-api-developer-tutorial/blob/master/02-create-developer-account/index.adoc[Video Tutorial on creating an account] + +You can read xref:../accounts.adoc[here] more about the different types of accounts or directly find the URL for signup xref:../urls.adoc[here]. + +include::partial$approval-manually-support-times.adoc[] + +== Register & submit your solution + +For communication with agrirouter, you need to xref:../applications.adoc[setup an application]. + +There is also a link:https://github.com/DKE-Data/agrirouter-api-developer-tutorial/blob/master/03-create-application/index.adoc[Video Tutorial on registering applications] + +Whenever you create a new application version, the agrirouter support team will have to approve this application. Please send an email to support@my-agrirouter.com including the application id and the certification version id to request confirmation. Find out where to find them xref:../ids-and-definitions.adoc[here]. + +include::partial$approval-manually-support-times.adoc[] + +== Develop your integration + +Please see xref:./development-process.adoc[Development Process]. + +== Certify your solution + +Every app needs to be certified to communicate with the agrirouter. Further information can be found xref:../certification.adoc[here]. + +Once you know which kind of application you want to create, you should get in contact with one of the link:https://my-agrirouter.com/support/certification[certification companies] *early on* to clarify which specific requirements you will have to fulfil to pass the certification. +This will help you to adapt your implementation for the certification and add all requirements for certification. + +Make sure to have all xref:../certification.adoc#prerequisites[prerequistes] available. + +The certification company will perform the certification - with your support - and create a certificate to prove that your solution is compatible with agrirouter. + +== Approval from support team +When the certification is successfully approved, the app will be set to status _Approved_ . + +[NOTE] +==== +If your app is a CU, it will from this point on be visible to all users wanting to add a new Telemetry connection. +==== + + +== Test Interface & Messaging + +After certification is done, you can test your application in the production environment, which means that you can xref:../invite-testers.adoc[invite real test customers to test the connection in their everyday work] or just ask users to onboard your app (the tester status is not required when your app is _Approved_ but it helps to keep an overview of your testers). + +To connect your app to the production environment, You need to update the following information in your application: + +* applicationId +* certificationVersionId +* Certificate for the authorization process (if Telemetry Platform or Farming Software) +* The URLs for: +** authorization +** onboarding +** re-onboarding +** revoking + +The URLS can be found xref:../urls.adoc[here]. + + +[IMPORTANT] +==== +Each agrirouter account has a limited number of endpoints, see xref:../limitations.adoc[here]. +==== + + + +== Approval for your end customer +When you decide that your application is successfully up and running and tested with the production environment, you can take all the steps relevant to publish your software to your customers like + +* deploying it on the server +* advertising it +* flashing hardware with it +* etc. + +There are no additional steps required in the agrirouter UI or the agrirouter interface + +== How to proceed +Once you published your software and customers start using it, you should xref:../maintenance.adoc[maintain your solution]. diff --git a/modules/ROOT/pages/partner-process/legal-agreement.adoc b/modules/ROOT/pages/partner-process/legal-agreement.adoc new file mode 100644 index 00000000..fe9607f0 --- /dev/null +++ b/modules/ROOT/pages/partner-process/legal-agreement.adoc @@ -0,0 +1,293 @@ +:fn-turnover: pass:c,q[footnote:turnover[The term _turnover_ always refers to the <>]] + += Legal agreement + +== Business model of DKE-Data + +DKE-Data operates as a non-profit company. This means that all financial contributions are only as high as necessary to cover the cost of continued operation, maintenance and future development of agrirouter and its surrounding solutions. + +== Who needs a legal agreement? + +All companies that want to *provide a product with agrirouter integration to an end-customer* must enter one of the legal agreements outlined below. + +Specifically, companies that only offer their products to other companies who then bring it to the market (OEM providers), do not _need_ to be an agrirouter member, but can be if they choose to do so. + +Also, farmers and contractors, as the users of the agrirouter itself, do _not_ need to become a member, but can if they choose to do so. For this group, special membership rates for the <> are being offered. + +== Who can become a partner? + +Only companies that are "qualified agribusiness market participants" may become a member of DKE-Data GmbH & Co. KG. + +A qualified agribusiness market participant is + + * any business from farmers and suppliers of farmers + * any customer of farmers such as wholesalers of agricultural products and + * any business part of the agricultural and food production chain, such as mills, bakeries, and food manufacturers. + +Excluded from the agricultural production chain in our definition are food retailers, even in case they directly procure from farmers. + +== Participation options + +There are generally five different roles in which a company can participate in the eco system: + +[cols="3,^2,^2,^2,^2,^2", stripes=even] +|=== +h| Model +h| Association Member (1) +h| Business Partner (2A) +h| Shareholder (2B) +h| Business Partner (3A) +h| Shareholder (3B) + + +| <> limit +| < 60 Mio EUR/year +4+| _none_ + +| <> vote +| only one for the whole association +| ✅ +| ✅ +| ✅ +| ✅ + +| Shareholder Meeting vote +| ❌ +| ❌ +| ✅ +| ❌ +| ✅ + +| Financial Contribution +3+| fixed fee, based on <> +2+| cost distribution, based on <>; fixed fee for companies < 60 Mio EUR/year + +| Binding Period +| 1 year +2+| 2 years +2+| 3 years + +|=== + + +The options in more detail: + +[#association] +=== Member of DKE-Data agrirouter e.V. (option 1) + +All companies with a <> less than 60 Million Euro per year can access the agrirouter by becoming a member of the association DKE-Data agrirouter e.V. + +These members pay a fixed yearly fee that is based on their annual <>. + +https://agrirouter.com/en/company/association/[Becoming a member] of the association provides access to production use of the agrirouter, as well as to the participation of regular meetings of the association, where information about current proceedings is distributed and feedback and requests from members is collected and discussed. + +The association as a whole is then represented in the <> that decides on the agrirouter roadmap. + +To become an association member, just fill out the https://agrirouter.com/en/company/association/[respective form on our website]. + +The cost contribution for being a member of DKE-Data agrirouter e.V. is: + +[cols="^3,^2", stripes=even] +|=== +h| <> [Mio. EUR] +h| Yearly Contribution [EUR] + +| >35 - 60 +| 3.000 + +| >10 - 35 +| 2.000 + +| <10 +| 1.000 + +| Contractor +| 500 + +| Farmer +| 250 +|=== + +[NOTE] +==== +Farmers and Contractors who are simply using the agrirouter through our members' solutions do *not need* to become a member. +They may do this voluntarily if they want to become involved directly with the future of agrirouter. +==== + +=== Business Partner of DKE-Data GmbH & Co. KG (options 2A/3A) + +All companies may choose to become a Business Partner of DKE-Data GmbH & Co. KG. + +After an optional introduction period of two years, where a fixed fee based on the company's annual <> has to be paid, the financial share is defined by distributing the total remaining running cost of DKE-Data GmbH & Co. KG across all business partners and shareholders of DKE-Data GmbH & Co. KG, after all revenues (research funding, contributions of association members etc.) have been deducted. This financial share in about the same value as the fixed fee in the initial period. + +Business Partners have a vote in the <> that decides on the agrirouter roadmap. + +Cost contribution *during the trial period*: +[cols="^3,^2,^3,^2", stripes=even] +|=== +h| <> + +[Mio. EUR] +h| Yearly Contribution + +[EUR] +h| <> + +[Mio. EUR] +h| Yearly Contribution + +[EUR] + +| > 8.500 +| 180.000 +| > 273 - 453 +| 18.000 + +| > 5.249 - 8.500 +| 130.000 +| > 162 - 273 +| 13.500 + +| > 3.233 - 5.249 +| 95.000 +| > 94 - 162 +| 9.000 + +| > 1.988 - 3.233 +| 67.500 +| > 60 - 94 +| 7.500 + +| > 1.220 - 1.988 +| 50.000 +| > 35 - 60 +| 6.000 + +| > 745 - 1.220 +| 36.000 +| > 10 - 35 +| 4.000 + +| > 453 - 745 +| 25.000 +| < 10 +| 2.000 +|=== + +Cost contribution *after the trial period*: +[cols="^3,^2", stripes=even] +|=== +h| <> [Mio. EUR] +h| Yearly Contribution [EUR] + +| > 60 +| _dynamic_, see description above + +| > 35 - 60 +| 6.000 + +| > 10 - 35 +| 4.000 + +| < 10 +| 2.000 +|=== + +=== Shareholder of DKE-Data GmbH & Co. KG (options 2B/3B) + +All companies may choose to become a Shareholder of DKE-Data GmbH & Co. KG. + +After an optional introduction period of two years, where a fixed fee based on the company's annual <> has to be paid, the financial share is defined by distributing the total remaining running cost of DKE-Data GmbH & Co. KG across all business partners and shareholders of DKE-Data GmbH & Co. KG, after all revenues (research funding, contributions of association members etc.) have been deducted. This financial share in about the same value as the fixed fee in the initial period. + +Shareholders, like Business Partners, have a vote in the <> that decides on the agrirouter roadmap. +Additionally, Shareholders have a seat and vote in the Shareholder Meeting, where all topics that are required by law to be discussed and decided in the shareholder meeting are placed. + +Keep in mind that, while the financial contribution for Business Partners and Shareholders is the same, being a Shareholder comes with additional legal obligations! + +[#one-vote] +== One Vote Principle + +Every company that is a Business Partner or a Shareholder of DKE-Data GmbH & Co. KG only has **one vote**, irrespective of the financial share they cover. This ensures equal participation of all involved companies. + +This, however, does not apply to members of the DKE-Data agrirouter e.V. association, as they have actively chosen to only participate in the platform with only little influence over its future. Every company has the right to instead become a business partner or a shareholder! + +[#weighted-ag-turnover] +== Weighted Ag Turnover + +To find a fair contribution model, we are basing all contributions on the "Weighted Ag Turnover". + +This is how it is calculated: + +==== +Weighted Ag Turnover = <> of the <> * <> +==== + +.Calculation Example +==== +Your company belongs to a group of companies. + +The whole turnover is *120 Million Euros*. + +70 Million Euros are earned in the field of road construction + +=> *Ag Turnover of the company group = 50 Mio* + +Your Ag return on sales before tax is 0.5% for the relevant years + +=> *RoS factor = 0.25* + +=> *Weighted Ag Turnover =* 50,000,000 EUR * 0.25 = *12,500,000 EUR* +==== + +[#company-group] +=== Company Groups/Holdings + +If your company belongs to a larger group of companys, the *total turnover* of the whole group has to be taken into consideration. + +If the owning entity holds more than 50% of *either* the shares _or_ the voting rights of another entity, these entities belong to the same group. + +[#ag-turnover] +=== Ag Turnover + +Only turnover in the agricultural sector is taken into consideration. Should your company have other fields of business, the turnover from these fields can be deducted from the official turnover. + +[#ros-factor] +=== Ag Return on Sales factor + +Based on your company's return on sales, the Weighted Ag Turnover is calculated: + +[cols="^3,^2", stripes=even] +|=== +h| Ag Net RoS (before tax) [%] +h| Correction Factor + +| <0 - 0.75 +| 0.25 + +| >0.75 - 1.75 +| 0.50 + +| >1.75 - 3.0 +| 0.75 + +| >3.0 +| 1.00 +|=== + +[#psc] +== Product Steering Committee + +The Product Steering Committee (PSC) regularly holds meetings, currently once a month. + +Subject of the PSC are all topics related to operation and future development of the agrirouter, such as: + +* presenting current topics of agrirouter operations +* discussing existing feature requests/ideas regarding necessity and priority, feature consolidation +* discussing design ideas for features (on a rough specification level) or organize subsequent meetings with interested parties for those discussions +* prioritizing product backlog items + +Every member may send up to three representatives into the Product Steering Committee, but only with <>. +This rule also applies to the DKE-Data agrirouter e.V. association, as it itself is a shareholder. The representatives from the DKE-Data agrirouter e.V. will be elected in the association's yearly general assembly. + +== General process + +If you are interested to discuss the options or want to receive a copy of the contract, please contact Dr. Johannes Sonnen, see link:https://agrirouter.com/en/company/contact/[the contacts page]. + +[NOTE] +==== +These contacts are only relevant for the business side, for development or end user support, please refer to the xref:./service-support.adoc[Service&Support] +==== diff --git a/modules/ROOT/pages/partner-process/marketplace.adoc b/modules/ROOT/pages/partner-process/marketplace.adoc index 144aa0b6..11ce10c2 100644 --- a/modules/ROOT/pages/partner-process/marketplace.adoc +++ b/modules/ROOT/pages/partner-process/marketplace.adoc @@ -1,15 +1,15 @@ -= my-agrirouter.com Marketplace += agrirouter.com Marketplace :imagesdir: _images/ == What is the agrirouter Marketplace? -At https://www.my-agrirouter.com[www.my-agrirouter.com] it is possible for the agricultural software and telemetry connections provider to present their own solution, including a short and long description of the main functions, in which countries this solution is offered and in which language, which data formats can be exchanged via agrirouter as well as contact data to the provider itself. In this way, an interested farmer or contractor gets an initial overview of the solutions that can exchange data in combination with the agrirouter. +At https://www.agrirouter.com[agrirouter.com] it is possible for the agricultural software and telemetry connections provider to present their own solution, including a short and long description of the main functions, in which countries this solution is offered and in which language, which data formats can be exchanged via agrirouter as well as contact data to the provider itself. This way, an interested farmer or contractor gets an initial overview of the solutions that can exchange data in combination with the agrirouter. -The agricultural software and telemetry connections provider can create a partner account for my-agrirouter.com and can place their solution at my-agrirouter.com marketplace. +The agricultural software and telemetry connections provider can create a partner account for agrirouter.com and can place their solution in the agrirouter.com marketplace. [IMPORTANT] ==== -agrirouter Marketplace is for information for interested farmers or contractors only. DKE Data neither advises nor recommends the use of any of the listed solutions. +The agrirouter Marketplace is for information for interested farmers or contractors only. DKE Data neither advises on nor recommends the use of any of the listed solutions. ==== Examples of DKE partners for agricultural software are available at https://my-agrirouter.com/en/marketplace/apps/. @@ -27,10 +27,11 @@ image::ig1/marketplace_telemetry_connections.png[telemetry connections,633,307] .Create agrirouter Marketplace content process image::general/process_marketplace_v2.png[] -This process can be performed in parallel to the xref:partner-process/integration-qa.adoc[integration process in QA]. +This process can be performed in parallel to the xref:partner-process/integration.adoc[integration process]. +== Create Marketplace account -== 2.1 Create Marketplace account +include::partial$different-accounts.adoc[] To setup the entry in the marketplace, the agricultural software and telemetry connections provider can create an account at https://my-agrirouter.com/en/interner-bereich/my-agrirouter/registration/. @@ -45,7 +46,7 @@ In the *account management* section, account changes such as password, email add In the *marketplace management* section, agricultural software (apps) and telemetry connections (telemetry boxes) solutions can be created in different languages. -== 2.2 Create Solution in the Marketplace +== Create Solution in the Marketplace [IMPORTANT] ==== @@ -58,7 +59,7 @@ In general, the Marketplace is a central information platform for app and hardwa The login to the marketplace can be found link:https://my-agrirouter.com/en/interner-bereich/my-agrirouter/choose-maintance/[here]. Changes are reviewed before activation to avoid changes without certification. -== 2.2.1 Create agricultural software solution +=== Create agricultural software solution To create a new agricultural software solution, simply click the "add new app" button. After that a web form will open which must be filled in completely according to the tables below. @@ -139,7 +140,7 @@ Select box: |======================================================================================= ==== -== 2.2.2 Create telemetry connection solution +=== Create telemetry connection solution To create a new telemetry connection solution, simply click the "add new telemetric box" button. After that a web form will open which must be filled in completely according to the tables below. @@ -239,7 +240,7 @@ Select box: |=============================================================================================================== ==== -== 2.2.3 Add additional languages +=== Add additional languages It is very easy to add another language in the agrirouter marketplace. For this purpose it is only necessary to click on the respective flag with the plus sign of the given language. All entries from the first basic entry are taken over, so that only language-relevant contents has to be adapted. @@ -251,7 +252,7 @@ image::ig1/marketplace_add_new_app_lang.png[partner login view,633,307] The same procedure applies to both the agricultural software and telemetry connections. -== 2.2.4 Update, review or modify content +=== Update, review or modify content After a marketplace entry has been created, it is also possible to check the created content directly to see how it will be displayed to the end users. To do this, it is only necessary to click on the eye icon. @@ -265,7 +266,7 @@ image::ig1/marketplace_add_new_telem_box_lang.png[partner login view,633,307] Clicking on the X symbol deletes the solution. ==== -== 2.3 Select "coming soon" label +== Select "coming soon" label If your solution is not directly certified, select the "coming soon" label to mark that it is not yet available for end customers. @@ -276,7 +277,7 @@ After certification is finalized, the app provider may remove the "coming soon". After the label "coming soon" has been added, the solution should finally complete agrirouter certification within 3 months. ==== -== 2.4 Approval from support team +== Approval from support team Whenever you change your marketplace entry, the agrirouter support team will review your changes before they become visible in the public marketplace entry. diff --git a/modules/ROOT/pages/partner-process/provider-agreement.adoc b/modules/ROOT/pages/partner-process/provider-agreement.adoc deleted file mode 100644 index 020c2c97..00000000 --- a/modules/ROOT/pages/partner-process/provider-agreement.adoc +++ /dev/null @@ -1,11 +0,0 @@ -= Provider agreement - -== General process -image::general/process_firstcontact_v2.png[] -For legal reasons, it is required that every app provider signs the app provider agreement. -You can get this document by contacting Dr. Ing Jens Möller, see link:https://my-agrirouter.com/en/company/contact/[the contacts page]. - -[NOTE] -==== -These contacts are only relevant for the business side, for development or end user support, please refer to the xref:service-support.adoc[Service&Support] -==== diff --git a/modules/ROOT/pages/service-support.adoc b/modules/ROOT/pages/partner-process/service-support.adoc similarity index 99% rename from modules/ROOT/pages/service-support.adoc rename to modules/ROOT/pages/partner-process/service-support.adoc index 259ee3e6..f05be047 100644 --- a/modules/ROOT/pages/service-support.adoc +++ b/modules/ROOT/pages/partner-process/service-support.adoc @@ -23,7 +23,7 @@ You should click the subscription button to subscribe for system events and rece == Limitations -Each agrirouter account has a limited number of endpoints, see xref:./limitations.adoc[here]. +Each agrirouter account has a limited number of endpoints, see xref:../limitations.adoc[here]. == Endpoint information in the agrirouter UI @@ -145,7 +145,7 @@ image::ig1/image46.png[Relevant information for agrirouter support,586,335] ==== For commands related incidents -Please provide the commands sent from and received by the endpoint if available. The communication protocol can be provided as log file for example. On agrirouter Side, you can record commands, see xref:./tools/endpoint-recording.adoc[here]. +Please provide the commands sent from and received by the endpoint if available. The communication protocol can be provided as log file for example. On agrirouter Side, you can record commands, see xref:../tools/endpoint-recording.adoc[here]. ==== For account related incidents diff --git a/modules/ROOT/partials/approval-manually-support-times.adoc b/modules/ROOT/partials/approval-manually-support-times.adoc index ec7de71d..f4a5bcb5 100644 --- a/modules/ROOT/partials/approval-manually-support-times.adoc +++ b/modules/ROOT/partials/approval-manually-support-times.adoc @@ -1,4 +1,4 @@ [NOTE] ==== -The approval process is done manually which means there might be a slight delay if your are not submitting the request during xref:../service-support.adoc#contact[business hours of our support team]. +The approval process is done manually which means there might be a slight delay if your are not submitting the request during xref:../partner-process/service-support.adoc#contact[business hours of our support team]. ==== \ No newline at end of file diff --git a/modules/ROOT/partials/different-accounts.adoc b/modules/ROOT/partials/different-accounts.adoc new file mode 100644 index 00000000..d74eae3b --- /dev/null +++ b/modules/ROOT/partials/different-accounts.adoc @@ -0,0 +1,8 @@ +[NOTE] +==== +Currently, different accounts are required for the following systems: + + * agrirouter application (different accounts for production and QA environments, if applicable for you) + * agrirouter marketplace + * IO-Tool +==== \ No newline at end of file