Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ New Documentation (No large files!) ✨ #911

Merged
merged 35 commits into from
Dec 14, 2023
Merged
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
2f32b7f
fresh start
AdrianaCeric Feb 15, 2023
013daff
Merge branch 'dev' into new-documentation
philip-cline Feb 16, 2023
f78b741
docs: update fares content
AdrianaCeric Mar 23, 2023
69dcf52
Merge branch 'new-documentation' of https://github.com/ibi-group/data…
AdrianaCeric Mar 23, 2023
4cc3e9a
docs: update calendar content, link to gtfs.org
AdrianaCeric Mar 29, 2023
f4bae6f
docs: editing patterns update
AdrianaCeric Apr 28, 2023
117eb11
docs: pattern geometry update
AdrianaCeric May 4, 2023
4585122
docs: combine schedule and calendar docs
AdrianaCeric May 4, 2023
fd033a6
docs: routes page update
AdrianaCeric May 4, 2023
b43ffd0
docs: update stops page and add route terminology
AdrianaCeric May 4, 2023
a888b69
docs: intro page update
AdrianaCeric May 5, 2023
f90427a
docs: update styling
AdrianaCeric Sep 15, 2023
9c749b4
docs: update data manager pages
AdrianaCeric Sep 15, 2023
31f5eb8
docs: managing users page
AdrianaCeric Sep 18, 2023
b00136b
docs: otp deployment
AdrianaCeric Sep 18, 2023
866be8b
docs: setting up aws servers
AdrianaCeric Sep 18, 2023
dcf009e
docs: deployment page
AdrianaCeric Sep 18, 2023
71ab041
Merge branch 'dev' into new-documentation
AdrianaCeric Sep 18, 2023
f68e9e9
docs: homepage update
AdrianaCeric Sep 18, 2023
92491db
Merge branch 'new-documentation' of https://github.com/ibi-group/data…
AdrianaCeric Sep 18, 2023
9149d82
docs: add externally-hosted images
AdrianaCeric Sep 18, 2023
f249965
fix: address pr feedback
AdrianaCeric Nov 29, 2023
da4178b
docs: transformation types text
AdrianaCeric Nov 30, 2023
d01f176
docs: add drop shadow to screenshots
AdrianaCeric Nov 30, 2023
75fa3f2
docs: edit settings disclaimer
AdrianaCeric Dec 8, 2023
0ddc52c
docs: add new transformations to list
AdrianaCeric Dec 8, 2023
3b0eca6
docs: appease mkdocs
AdrianaCeric Dec 8, 2023
1339dd4
docs: style auth0 image
AdrianaCeric Dec 8, 2023
f57131d
refactor(linting): try updating import manually
philip-cline Dec 8, 2023
7269998
refactor(docs): add missing files to nav
philip-cline Dec 11, 2023
8c35bd2
refactor(docs): use s3 link
philip-cline Dec 11, 2023
d01f2d4
docs: add styling to feed-transformation-summary + remove local image
AdrianaCeric Dec 11, 2023
eddec9a
docs: Change to TRANSIT-data-tools + change select to click
AdrianaCeric Dec 13, 2023
cadfe72
docs: fix grammar
AdrianaCeric Dec 13, 2023
6be9132
docs: remove all non-docs changes
AdrianaCeric Dec 14, 2023
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
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# See https://help.github.com/articles/about-codeowners/

# An IBI Group OTP/Data Tools member is required to approve PR merges
# An Arcadis OTP/TRANSIT-data-tools member is required to approve PR merges
* @ibi-group/otp-data-tools
2 changes: 1 addition & 1 deletion docs/dev/api_interaction.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# API Interaction Transcript
# API Interaction
The following is a set of instructions on API calls needed to upload and validate
a feed, wait for the tasks' completion, and then browse its contents. All of the
endpoints needed to load and process a GTFS file are REST-based. The endpoints
Expand Down
23 changes: 13 additions & 10 deletions docs/dev/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Auth0 is used for authentication in the application. If you don't need authentic
- Application level
- Allowed Callback URLs
- Allowed Origins (CORS)
- keep all other default settings
- Keep all other default settings

#### Creating your first user
Create your first Auth0 user through Auth0 web console (Users > Create User). In
Expand Down Expand Up @@ -141,32 +141,32 @@ AUTH0_DOMAIN: your-auth0-domain.auth.com
AUTH0_CLIENT_ID: your-auth0-client-id
```

Update the following properties in `datatools-server` `env.yml` to reflect the secure Auth0 application settings.
Update the following properties in `datatools-server` and `env.yml` to reflect the secure Auth0 application settings.

**Note:** for older Auth0 accounts/tenants, it is possible to use the Auth0 secret token, which uses the HS256 algorithm, but newer Auth0 tenants will need to specify the absolute path of their `.pem` file in the `AUTH0_PUBLIC_KEY` property. This public key only needs to be downloaded one time for your Auth0 tenant at `https://[your_domain].auth0.com/pem`.
**Note:** For older Auth0 accounts or tenants, it is possible to use the Auth0 secret token with the HS256 algorithm is possible. However, newer Auth0 tenants will need to specify the absolute path of their `.pem` file in the `AUTH0_PUBLIC_KEY` property. This public key only needs to be downloaded one time for your Auth0 tenant at `https://[your_domain].auth0.com/pem`.

```yaml
AUTH0_SECRET: your-auth0-client-secret # used for pre-September 2017 Auth0 accounts
AUTH0_PUBLIC_KEY: /location/of/auth0-account.pem # used for post-September 2017 Auth0 accounts
AUTH0_TOKEN: your-auth0-api-token
```

**Note**: to generate the `api_token`, go to Documentation > Management API. After adding scopes, your token will appear in the input field.
**Note**: To generate the `api_token`, go to Documentation > Management API. After adding scopes, your token will appear in the input field.

![Auth0 token generator](../img/auth0-token-generator.png)
<img src="https://datatools-builds.s3.amazonaws.com/docs/auth0/auth0-token-generator.png" style="box-shadow: 3px 3px 3px gray; border-radius: 10px;">

To allow for the creation, deletion and editing of users you must generate a token for the following scopes:

- **users**:
- read, update, create and delete
- **users_app_metadata**:
- read, update, create and delete`
- read, update, create and delete

#### Auth0 Post-Login Action Configuration: making `app_metadata` and `user_metadata` visible via token

If using OIDC-conformant clients/APIs (which appears to be mandatory for new Auth0 tenants), you must set up a custom Auth0 action to add `app_metadata` and `user_metadata` to the user's id token (Note: this is not the default for older, "legacy" Auth0 accounts).

To set up the action, go to Actions > Flows > Login, then under Add action > Custom, click Create Action. Fill in the action name and pick a recommended runtime, and click Create. Modify the function `onExecutePostLogin` as follows, then click Save Draft:
To set up the action, go to Actions > Flows > Login, then under Add action > Custom, click `Create Action`. Fill in the action name and pick a recommended runtime, and click `Create`. Modify the function `onExecutePostLogin` as follows, then click `Save Draft`:

```js
exports.onExecutePostLogin = async (event, api) => {
Expand All @@ -177,9 +177,11 @@ exports.onExecutePostLogin = async (event, api) => {
}
};
```
If you want the rule to apply only to specific clients, you can retain the conditional block that checks the `context.clientID` value. Otherwise, you can remove this conditional block if it's not needed.
This rule will ensure that `app_metadata` and `user_metadata` are included in the user's token, as required for OIDC-conformant clients/APIs in new Auth0 tenants.

You can test the action with mock token data using the Test tab. Once ready, click Deploy, then click Back to Flow.
In the diagram, drag the action between the Start and Complete steps, then click Apply.
You can test the action with mock token data using the Test tab. Once ready, click `Deploy`, then click `Back to Flow`.
In the diagram, drag the action between the Start and Complete steps, then click `Apply`.
You can test that the action is correctly executed by logging-in to datatools with an admin user
and checking that the Admin functionality is available.

Expand Down Expand Up @@ -307,6 +309,7 @@ extensions:
```

### Integration with [TransitFeeds](http://transitfeeds.com/)
**Note**: TransitFeeds is not regularly updated and is being replaced by the [MobilityData Database](https://database.mobilitydata.org/)

Ensure that the `extensions:transitfeeds:enabled` flag is set to `true` in
`config.yml`, and provide your API key:
Expand All @@ -317,4 +320,4 @@ extensions:
enabled: true
api: http://api.transitfeeds.com/v1/getFeeds
key: your-api-key
```
```
2 changes: 1 addition & 1 deletion docs/dev/development.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Development
These instructions should allow you to get Data Tools / Editor / Catalogue up and running within an integrated development environment, allowing you to work on the code and debug it. We all use IntelliJ so instructions will currently be only for that environment.
These instructions should allow you to get TRANSIT-data-tools / Editor / Catalogue up and running within an integrated development environment, allowing you to work on the code and debug it. We all use IntelliJ so instructions will currently be only for that environment.
## Components
The system is made up of two different projects:

Expand Down
2 changes: 1 addition & 1 deletion docs/dev/localization.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Adding translations for a new language
To add support for a new language, you need to perform the following steps:

1. Create a new language file in folder `i18`, e.g. by copying the `english.yml`.
1. Create a new language file in folder `i18n`, e.g. by copying the `english.yml` file.
2. In the newly created `<new language>.yml`, adapt the first two lines: `_id` should conform to the ISO 639 language code, `_name` to the localized language name.
3. In `lib/common/util/config.js`, add the import of the new language file at the mark `// Add additional language files here.` Mind to add an `// $FlowFixMe` hint before the new line to make the linter happy
4. Translate all messages in the `<new language>.yml` file. Note, that names surrounded by percent characters (`%`) denote parameters and must not be translated.
Expand Down
Binary file removed docs/img/add-fare-zone.png
Binary file not shown.
Binary file removed docs/img/auth0-token-generator.png
Binary file not shown.
Binary file removed docs/img/configure-feed-transformations.png
Binary file not shown.
Binary file removed docs/img/create-project.png
Binary file not shown.
Binary file removed docs/img/create-user.png
Binary file not shown.
Binary file removed docs/img/edit-calendars.png
Binary file not shown.
Binary file removed docs/img/edit-fare-rules.png
Binary file not shown.
Binary file removed docs/img/edit-fares.png
Binary file not shown.
Binary file removed docs/img/edit-frequencies.png
Binary file not shown.
Binary file removed docs/img/edit-patterns.png
Binary file not shown.
Binary file removed docs/img/edit-routes.png
Binary file not shown.
Binary file removed docs/img/edit-stops.png
Binary file not shown.
Binary file removed docs/img/edit-timetables.png
Binary file not shown.
Binary file removed docs/img/feed-profile.png
Binary file not shown.
Binary file removed docs/img/feed-transformation-summary.png
Binary file not shown.
Binary file removed docs/img/feed-version-navigator.png
Binary file not shown.
Binary file removed docs/img/otp-deployment-diagram.png
Binary file not shown.
Binary file removed docs/img/password-reset-logged-in.png
Binary file not shown.
Binary file removed docs/img/password-reset-logged-out.png
Binary file not shown.
Binary file removed docs/img/pattern-add-stop.png
Binary file not shown.
Binary file removed docs/img/pattern-insert-stop.png
Binary file not shown.
Binary file removed docs/img/pattern-shape-panel.png
Binary file not shown.
Binary file removed docs/img/pattern-stop-order.png
Binary file not shown.
Binary file removed docs/img/pattern-stop-toolbar.png
Binary file not shown.
Binary file removed docs/img/project-profile.png
Binary file not shown.
Binary file removed docs/img/quick-access-toolbar.png
Diff not rendered.
Binary file removed docs/img/schedule-exception.png
Diff not rendered.
Binary file removed docs/img/schedule-toolbar.png
Diff not rendered.
Binary file removed docs/img/select-trips.png
Diff not rendered.
Binary file removed docs/img/timetable-selector.png
Diff not rendered.
Binary file removed docs/img/user-admin.png
Diff not rendered.
Binary file removed docs/img/user-profile.png
Diff not rendered.
Binary file removed docs/img/view-all-stops.png
Diff not rendered.
8 changes: 4 additions & 4 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# IBI Transit Data Tools (TRANSIT-data-tools)
# Arcadis TRANSIT-data-tools

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The correct stylized spelling doesn't have hyphen between "data" and "tools"

Suggested change
# Arcadis TRANSIT-data-tools
# Arcadis TRANSIT-datatools

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm okay, I guess other folks have been using it wrong!

The IBI Transit Data Tools suite provides web-based tools for creating, managing, evaluating, and publishing transit data, specifically data stored in the General Transit Feed Specification (GTFS) format.
The Arcadis TRANSIT-data-tools suite provides web-based tools for creating, managing, evaluating, and publishing transit data, specifically data stored in the General Transit Feed Specification (GTFS) format.

![screenshot](img/feed-profile.png)
![feed-profile](https://datatools-builds.s3.amazonaws.com/docs/intro/feed-profile.png)

To get started, click a topic from the table of contents on the left pane.
To get started, select a topic from the table of contents on the left pane.
34 changes: 29 additions & 5 deletions docs/style.css
Original file line number Diff line number Diff line change
@@ -1,12 +1,36 @@
img[alt=screenshot] { width: 100%; }
body {
font-family: Arial, Helvetica, sans-serif;
}

/*Ignore first heading in page in TOC list*/
li.toctree-l3:first-child {
display: none;
h1, h2, h3 {
color: #015f97;
font-family: Arial, Helvetica, sans-serif;
}

.img-center {
width: 300px;
margin-left: auto;
margin-right: auto;
width: 300px;
}

/* Make all images responsive */
img {
display: block;
margin: auto;
}

img[alt=screenshot] {
width: 100%;
}

/* Center all iframes */
iframe {
display: block;
margin: 12px auto;
}

/* Ignore the first heading in the page in TOC list */
li.toctree-l3:first-child {
display: none;
}

14 changes: 7 additions & 7 deletions docs/user/add-deployment-server.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
# Adding an OTP Deployment Server in Data Tools
# Adding an OTP Deployment Server in TRANSIT-data-tools

Assumptions:

* [X] You are an admin for Data Tools.
* [X] You are an admin for TRANSIT-data-tools.
* [X] You have [set up OTP UI and backend servers on AWS](./setting-up-aws-servers.md).
* [X] You have a private key file (usually ends in `.pem`) to connect to that AWS environment and EC2 servers via ssh.

From `Administration > Deployment servers`, click on `+ Add Server`.
From `Administration > Deployment servers`, click `+ Add Server`.

## General Server Properties

| Property | Description |
|----------|-------------|
| Name | A descriptive display name for the server. |
| Public URL | The URL where the public can access the Data Tools UI, e.g. `https://otp-mod-ui.ibi-transit.com`. It is typically the CNAME of the CloudFront mirror of the AWS S3 bucket you created or picked for this deployment. |
| Public URL | The URL where the public can access the TRANSIT-data-tools UI, e.g. `https://otp-mod-ui.ibi-transit.com`. It is typically the CNAME of the CloudFront mirror of the AWS S3 bucket you created or picked for this deployment. |
| Internal URLs (Optional) | The URL(s) based on the UI server IP address(es). |
| S3 bucket name | The name of the AWS S3 bucket you created or picked for this deployment, where Data Tools will share files with the OTP servers. |
| S3 bucket name | The name of the AWS S3 bucket you created or picked for this deployment, where TRANSIT-data-tools will share files with the OTP servers. |
| Admin access only? | Check this option to only allow logins from Data Tool admins. |
| Project specific? (Optional) | Select a project to only allow the GTFS feeds of that project (e.g. within a region) to be deployed to this server. Leave blank to remove the project restriction. |
|AWS Role|The IAM role that the Data Tools application must assume in order to access AWS resources (e.g., writing to S3 buckets or starting EC2 machines). See [Delegate Third Party Access](../setting-up-aws-servers#delegate-third-party-account-access) for more info.|
|AWS Role|The IAM role that the TRANSIT-data-tools application must assume in order to access AWS resources (e.g., writing to S3 buckets or starting EC2 machines). See [Delegate Third Party Access](../setting-up-aws-servers#delegate-third-party-account-access) for more info.|
| Use elastic load balancer (ELB) | **We recommend using an elastic load balancer (ELB)**. Behind the scenes, a new server is initialized and added to the load balancer, and old servers are removed and destroyed without interruption to the user. <br><br>The load balancer also allows instantiating multiple OTP servers on large deployments. (You can start, add, or remove more than one OTP server to the load balancer.)

## Load Balancer Properties

(Applies to Data Tools versions prior to October 2019.)
(Applies to TRANSIT-data-tools versions prior to October 2019.)

| Property | Description |
|----------|-------------|
Expand Down
8 changes: 4 additions & 4 deletions docs/user/deploying-feeds.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Assumptions:

* [X] You have [loaded a GTFS feed into a project](./managing-projects-feeds.md).
* [X] You have a deployment server available [(example: AWS)](./add-deployment-server.md).
* [X] [An osm-lib server has been set up](https://github.com/conveyal/osm-lib) for Data Tools to fetch Open Streets Map (OSM) data.
* [X] [An osm-lib server has been set up](https://github.com/conveyal/osm-lib) for TRANSIT-data-tools to fetch Open Streets Map (OSM) data.

## Executing a deployment

Expand All @@ -13,14 +13,14 @@ To deploy or update GTFS feeds to OTP:
1. Open a project.
2. Click on the `Deployments` tab.
3. (Optional) To create a new deployment, click `+ New Deployment`, enter a name, then press or click Enter.
4. Click the name of the deployment to execute. A summary of feeds and existing deployments (if available) are shown for your review.
4. Click on the name of the deployment to execute. A summary of feeds and existing deployments (if available) are shown for your review.
5. Remove the feeds you don't need from the deployment. For the remaining feeds, select the correct feed version.
6. In the `OTP Configuration` pane:
* Select the latest OTP version (the first one in the list).
* Check `Build graph only` to only generate and output a graph file on EC2 to the S3 server (no OTP server will be running after the graph is generated).
* The R5 option is not used.
7. If you select `Custom` under `Build configuration` or `Router configuration`, enter the desired configuration settings.
8. Click the `Deploy` dropdown at the top of the main pane, then pick the server on which to perform the deployment. Existing deployments on that server will be discarded.
8. Click on the `Deploy` dropdown at the top of the main pane, then pick the server on which to perform the deployment. Existing deployments on that server will be discarded.

## Updating the Custom Places Index

Expand All @@ -32,7 +32,7 @@ The pane also has an option to upload Custom POI CSV files. These files contain

## Watching deployments take place

After click Deploy, you can watch the deployment progress from the right-hand panel:
After you click `Deploy`, you can watch the deployment progress from the right-hand panel:

1. The data bundle is uploaded to S3.
2. One EC2 server is commissioned.
Expand Down
43 changes: 0 additions & 43 deletions docs/user/editor/calendars.md

This file was deleted.

Loading
Loading