Skip to content

Commit 7041fb3

Browse files
committed
Update docs
1 parent 117eee6 commit 7041fb3

File tree

9 files changed

+254
-161
lines changed

9 files changed

+254
-161
lines changed

doc/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ There are several existing full-featured data integration server products on the
2121
These products do not work in a way software developers are comfortable with.
2222
They provide a drag-and-drop GUI application for implementing a data integration.
2323
This sounds appealing on the surface, but such GUIs are often clunky and slow.
24-
Also, by their nature data integrations are fragile.
25-
Existing products do not provide a testable way to build integrations and detect when they stop functioning.
24+
Additionally, existing products do not provide a testable way to build integrations and detect when they stop functioning.
25+
This is a major issue as data integrations are fragile by nature.
2626

2727
In contrast, a developer would prefer fine-grained, programmatic access to the data they are querying, transforming, and persisting.
28-
A developer would also like to be able to test their integrations to ensure their continued function.
28+
A developer would also like to be able to test their integrations to ensure their continued operation.
2929
__InEngine.NET__ provides this.
3030

3131
### How does it work?
@@ -34,10 +34,10 @@ __InEngine.NET__ provides this.
3434
project that instantiates and initializes an instance of _IntegrationEngine.EngineHost_.
3535
1. Integration jobs that implement _IntegrationEngine.Model.IIntegrationJob_ (located in an assembly passed to _EngineHost_) are loaded.
3636
1. Integration jobs are scheduled by posting a request to the [InEngine.NET Web API](web-api.html).
37-
1. When a job is triggered a message is added to the RabbitMQ message queue defined in [IntegrationEngine.json](configuration.html) that indicates which job to run.
38-
1. When a message is detected, a the __InEngine.NET__ job runner plucks the message from the queue and runs the job encoded within it.
37+
1. When a job is triggered a message is added to the message queue, defined in [IntegrationEngine.json](configuration.html), that indicates which job to run.
38+
1. When a message is detected, the __InEngine.NET__ job runner plucks the message from the queue and runs the job encoded within it.
3939

40-
![IntegrationEngine Job Processing Diagram](https://docs.google.com/drawings/d/1dEmGlhfDWhljOjWIn7ttuNQxfY1N_dXOaHxNOLpgV9U/pub?w=960&h=720 "IntegrationEngine Job Processing Diagram")
40+
<img src="https://docs.google.com/drawings/d/1dEmGlhfDWhljOjWIn7ttuNQxfY1N_dXOaHxNOLpgV9U/pub?w=960&amp;h=720" alt="IntegrationEngine Job Processing Diagram" />
4141

4242
### How is this software licensed?
4343
[MIT](https://github.com/ethanhann/InEngine.NET/blob/master/LICENSE)

doc/change-log.md

Lines changed: 58 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,71 +5,84 @@ currentMenu: change-log
55

66
# Change Log
77

8+
## 2.0.0-beta1
9+
10+
__Features__
11+
* Add ability to Pause/Resume triggers.
12+
* Switch to TimeZoneId in CronTrigger (rather than full TimeZoneInfo).
13+
* Add read-only human readable description of CronTrigger's CronExpressionString.
14+
815
## 2.0.0-alpha5
916

10-
* Features
11-
* Create Read-Only web app client called [InEngine.NET Dashboard](https://github.com/ethanhann/InEngine.NET-Dashboard).
12-
* Enable Cors, add "Origins" Option to Web API configuration.
13-
* Use Common.Logging with NLog instead of log4net.
14-
* Make Common.Logging NLog adapter configurable via IntegrationEngine.json.
15-
* Validate JobType classes as integration jobs before scheduling them.
17+
__Features__
18+
* Create Read-Only web app client called [InEngine.NET Dashboard](https://github.com/ethanhann/InEngine.NET-Dashboard).
19+
* Enable Cors, add "Origins" Option to Web API configuration.
20+
* Use Common.Logging with NLog instead of log4net.
21+
* Make Common.Logging NLog adapter configurable via IntegrationEngine.json.
22+
* Validate JobType classes as integration jobs before scheduling them.
1623

1724
## 2.0.0-alpha4
1825

19-
* Bug
20-
* Use correct MySql.Data.Entity dependency in Core package.
26+
__Fixes__
27+
* Use correct MySql.Data.Entity dependency in Core package.
2128

2229
## 2.0.0-alpha3
2330

24-
* Chores
25-
* Use shared assembly to streamline package creation
26-
* Remove stale NuGet dependencies
31+
Chores__
32+
* Use shared assembly to streamline package creation.
33+
* Remove stale NuGet dependencies.
2734

2835
## 2.0.0-alpha2
2936

30-
* Features
31-
* Return list of job keys at /api/Job.
32-
* Schedule a Job with a Trigger, when the Trigger is created via the Web API.
33-
* Reschedule a Job with a Trigger, when the Trigger is updated via the Web API.
34-
* Validate cron expression when creating/updating a CronTrigger.
35-
* Chores
36-
* Use Unity IoC instead of Funq.
37+
__Features__
38+
* Return list of job keys at /api/Job.
39+
* Schedule a Job with a Trigger, when the Trigger is created via the Web API.
40+
* Reschedule a Job with a Trigger, when the Trigger is updated via the Web API.
41+
* Validate cron expression when creating/updating a CronTrigger.
42+
43+
__Chores__
44+
* Use Unity IoC instead of Funq.
3745

3846
## 2.0.0-alpha1
3947

40-
* Features
41-
* Add SimpleTrigger to Model and Web API.
42-
* Add CronTrigger to Model and Web API.
43-
* Remove IntegrationJob from Model and Web API (replaced by SimpleTrigger and CronTrigger).
44-
* Chores
45-
* Setup CI with AppVeyor.
46-
* Bugs
47-
* Config loader no longer mistakenly looks for config.json instead of IntegrationEngine.json.
48+
__Features__
49+
* Add SimpleTrigger to Model and Web API.
50+
* Add CronTrigger to Model and Web API.
51+
* Remove IntegrationJob from Model and Web API (replaced by SimpleTrigger and CronTrigger).
52+
53+
__Chores__
54+
* Setup CI with AppVeyor.
55+
56+
__Fixes__
57+
* Config loader no longer mistakenly looks for config.json instead of IntegrationEngine.json.
4858

4959
## 1.4.1
5060

51-
* Chores
52-
* Add link to change log in NuGet package release notes.
61+
__Chores__
62+
* Add link to change log in NuGet package release notes.
5363

5464
## 1.4.0
5565

56-
* Features
57-
* Make Elasticsearch configurable in IntegrationEngine.json
58-
* Chores
59-
* Rename IElasticSearchJob.cs file to IElasticsearchJob.cs
60-
* Rename project to InEngine.NET
61-
* Documentation
62-
* Getting started
63-
* Web API
64-
* Integration jobs
65-
* IntegrationEngine.json configuration file
66+
__Features__
67+
* Make Elasticsearch configurable in IntegrationEngine.json.
68+
69+
__Chores__
70+
* Rename IElasticSearchJob.cs file to IElasticsearchJob.cs.
71+
* Rename project to InEngine.NET.
72+
73+
__Documentation__
74+
* Getting started.
75+
* Web API.
76+
* Integration jobs.
77+
* IntegrationEngine.json configuration file
6678

6779
## 1.3.2
6880

69-
* Features
70-
* Schedule jobs from an external assembly that implement IIntegrationJob.
71-
* Develop EngineHost, start engine and load jobs from an external assembly.
72-
* Add repository layer for persisting jobs to a data store.
73-
* Create REST API for creating standard jobs.
74-
* Chores
75-
* Publish packages on NuGet.
81+
__Features__
82+
* Schedule jobs from an external assembly that implement IIntegrationJob.
83+
* Develop EngineHost, start engine and load jobs from an external assembly.
84+
* Add repository layer for persisting jobs to a data store.
85+
* Create REST API for creating standard jobs.
86+
87+
__Chores__
88+
* Publish packages on NuGet.

doc/couscous.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,20 @@ menu:
2727
web-api:
2828
text: Web API
2929
iconClass: 'fa fa-fw fa-cloud'
30-
relativeUrl: web-api.html
30+
relativeUrl: web-api/cron-trigger.html
3131
change-log:
3232
text: Change Log
3333
iconClass: 'fa fa-fw fa-refresh'
3434
relativeUrl: change-log.html
35+
36+
webApiMenu:
37+
items:
38+
cron-trigger:
39+
text: CronTrigger
40+
relativeUrl: web-api/cron-trigger.html
41+
simple-trigger:
42+
text: SimpleTrigger
43+
relativeUrl: web-api/simple-trigger.html
44+
time-zone:
45+
text: TimeZone
46+
relativeUrl: web-api/time-zone.html

doc/web-api.md

Lines changed: 0 additions & 108 deletions
This file was deleted.

doc/web-api/cron-trigger.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
layout: web-api
3+
currentMenu: web-api
4+
currentSubMenu: cron-trigger
5+
---
6+
7+
## CronTrigger Endpoint
8+
9+
The CronTrigger endpoint allows for an integration job to be scheduled by creating and manipulating a Quartz.NET CronTrigger.
10+
11+
### Parameters
12+
13+
<table class="table table-bordered">
14+
<thead><tr><th>Param</th><th>Type</th><th>Details</th></tr></thead>
15+
<tbody>
16+
<tr><td>Id</td><td><span class="label label-info">string</span></td>
17+
<td>A unique, auto-generated identifier for the trigger.</td>
18+
</tr>
19+
<tr><td>JobType</td><td><span class="label label-info">string</span></td>
20+
<td>The <a href="http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx">FullName</a> of an <a href="integration-jobs.html">Integration Job</a> type.</td>
21+
</tr>
22+
<tr><td>StateId</td><td><span class="label label-danger">int</span></td>
23+
<td>An integer identifier that sets the state of the trigger. Valid values are 0 (active) and 1 (paused).</td>
24+
</tr>
25+
<tr><td>CronExpressionString</td><td><span class="label label-info">string</span></td>
26+
<td>A valid <a href="http://en.wikipedia.org/wiki/Cron#CRON_expression">cron expression</a>.</td>
27+
</tr>
28+
<tr><td>TimeZoneId</td><td><span class="label label-info">string</span></td>
29+
<td>A time zone string id, as defined by the TimeZone endpoint.</td>
30+
</tr>
31+
</tbody>
32+
</table>
33+
34+
### Get a List of CronTriggers
35+
GET api/CronTrigger
36+
```sh
37+
curl http://localhost:9001/api/CronTrigger
38+
```
39+
40+
### Get a Specific CronTrigger by ID
41+
GET api/CronTrigger/ID
42+
```sh
43+
curl http://localhost:9001/api/CronTrigger/ID
44+
```
45+
46+
### Create a New CronTrigger
47+
POST api/CronTrigger
48+
```sh
49+
curl --data "JobType=IntegrationEngine.ConsoleHost.Car.CarMailMessageJob&CronExpressionString=0 3 4 ? * MON-FRI *&TimeZoneId=America/New_York" http://localhost:9001/api/CronTrigger
50+
```
51+
52+
### Update a Specific CronTrigger by ID
53+
PUT api/CronTrigger/ID
54+
```sh
55+
curl -XPUT "CronExpressionString=0 4 1 ? * MON-FRI *" http://localhost:9001/api/CronTrigger/ID
56+
```
57+
58+
### Delete a CronTrigger by ID
59+
DELETE api/CronTrigger/ID
60+
```sh
61+
curl -XDELETE http://localhost:9001/api/CronTrigger/ID
62+
```

0 commit comments

Comments
 (0)