Skip to content

Commit 2ecad58

Browse files
toastercupgitbook-bot
authored andcommitted
GitBook: [master] 34 pages and one asset modified
1 parent ec0acc5 commit 2ecad58

31 files changed

+196
-215
lines changed

Diff for: .gitbook/assets/cortex-example-screenshot.png

49.8 KB
Loading

Diff for: README.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
# [![](/assets/branding/cortex-logo--reverse--small.png)](https://github.com/cbdr/cortex)
1+
# Introduction
22

3-
Cortex [CMS](/glossary.md#cms) is a [multitenant](https://en.wikipedia.org/wiki/Multitenancy) identity, [custom content](/glossary.md#custom-content-cms) distribution/management and reporting platform built by the [Content Enablement](https://github.com/cb-talent-development) team at [CareerBuilder](https://github.com/careerbuilder). Its purpose is to provide central infrastructure for next-generation applications; exposing a single point of management while enabling quicker build-out of new software.
3+
Cortex [CMS](glossary.md#cms) is a [multitenant](https://en.wikipedia.org/wiki/Multitenancy) identity, [custom content](glossary.md#custom-content-cms) distribution/management and reporting platform built by the [Content Enablement](https://github.com/cb-talent-development) team at [CareerBuilder](https://github.com/careerbuilder). Its purpose is to provide central infrastructure for next-generation applications; exposing a single point of management while enabling quicker build-out of new software.
44

55
Cortex adheres to a headless, API-only architecture - it avoids a monolithic, all-in-one architecture associated with CMSs like WordPress or Drupal.
66

7-
[![Build Status](https://semaphoreci.com/api/v1/projects/ec90715a-da8f-4960-bb64-f371850f9c98/813409/shields_badge.svg)](https://semaphoreci.com/content-enablement/cortex) [![Code Climate](https://codeclimate.com/repos/53f62c2869568018180036c9/badges/78e3c3c865b118bbd72b/gpa.svg)](https://codeclimate.com/repos/53f62c2869568018180036c9/feed) [![Test Coverage](https://codeclimate.com/repos/53f62c2869568018180036c9/badges/78e3c3c865b118bbd72b/coverage.svg)](https://codeclimate.com/repos/53f62c2869568018180036c9/coverage) [![Documentation Status](https://www.gitbook.com/button/status/book/cortex-cms/cortex-cms)](https://docs.cortexcms.org/)
7+
![Build Status](https://semaphoreci.com/api/v1/projects/ec90715a-da8f-4960-bb64-f371850f9c98/813409/shields_badge.svg) ![Code Climate](https://codeclimate.com/repos/53f62c2869568018180036c9/badges/78e3c3c865b118bbd72b/gpa.svg) ![Test Coverage](https://codeclimate.com/repos/53f62c2869568018180036c9/badges/78e3c3c865b118bbd72b/coverage.svg)
88

9-
![](/assets/branding/cortex-example-screenshot.png)
9+
![](.gitbook/assets/cortex-example-screenshot.png)
1010

1111
Copyright \(c\) 2018 CareerBuilder, LLC.
12+

Diff for: SUMMARY.md

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
# Summary
1+
# Table of contents
22

33
* [Introduction](README.md)
4-
* [Motivation](introduction/motivation.md)
5-
* [Core Concepts](introduction/core-concepts.md)
6-
* [Prior Art](introduction/prior-art.md)
7-
* [Examples](introduction/examples.md)
4+
* [Motivation](motivation.md)
5+
* [Core Concepts](core-concepts.md)
6+
* [Prior Art](prior-art.md)
7+
* [Examples](examples.md)
88
* [Basics](basics/README.md)
99
* [Setup](basics/setup/README.md)
1010
* [Manual](basics/setup/manual.md)
1111
* [Docker Compose](basics/setup/docker-compose.md)
1212
* [Deployment](basics/deployment.md)
1313
* [Tenancy & User Management](basics/tenancy-and-user-management.md)
1414
* [Building Content Types](basics/building-content-types.md)
15-
* [Data Validation](basics/setup/data-validation.md)
15+
* [Data Validation](basics/data-validation.md)
1616
* [Designing Indexes](basics/designing-indexes.md)
1717
* [Designing Wizards](basics/designing-wizards.md)
1818
* [Consuming Content](basics/consuming-content.md)
@@ -29,3 +29,4 @@
2929
* [Troubleshooting](troubleshooting.md)
3030
* [Roadmap](roadmap.md)
3131
* [Glossary](glossary.md)
32+

Diff for: advanced/README.md

+10-12
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
# Advanced
22

3-
This guide typically goes beyond the role of a [superadministrator](/glossary.md#superadministrator) and is more engineering-focused. Whether you want to author plugins, extend search functionality, build reports, or contribute to the project, these guides will step you through the process.
4-
5-
* [Developing Plugins](/advanced/developing-plugins.md)
6-
* [Basic Architecture](/advanced/developing-plugins/basic-architecture.md)
7-
* [Service Layer](/advanced/developing-plugins/service-layer.md)
8-
* [Examples](/advanced/developing-plugins/examples.md)
9-
* [Extending Search](/advanced/developing-plugins/extending-search.md)
10-
* [WYSIWYG Widgets](/advanced/developing-plugins/wysiwyg-widgets.md)
11-
* [Contributing](/advanced/contributing.md)
12-
* [Testing](/advanced/testing.md)
13-
14-
3+
This guide typically goes beyond the role of a [superadministrator](../glossary.md#superadministrator) and is more engineering-focused. Whether you want to author plugins, extend search functionality, build reports, or contribute to the project, these guides will step you through the process.
4+
5+
* [Developing Plugins](https://github.com/cortex-cms/cortex-cms/tree/ec0acc5e822e7cd071403cac968f82e8f6df4a96/advanced/developing-plugins.md)
6+
* [Basic Architecture](developing-plugins/basic-architecture.md)
7+
* [Service Layer](developing-plugins/service-layer.md)
8+
* [Examples](developing-plugins/examples.md)
9+
* [Extending Search](developing-plugins/extending-search.md)
10+
* [WYSIWYG Widgets](developing-plugins/wysiwyg-widgets.md)
11+
* [Contributing](contributing.md)
12+
* [Testing](testing.md)
1513

Diff for: advanced/contributing.md

+28-35
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,18 @@
22

33
Anyone and everyone is encouraged to fork Cortex and submit pull requests, propose new features and create issues.
44

5-
* Ideally, we'd first like to hear your concerns or suggestions in the form of an [issue][issue]. We can all avoid
6-
unnecessary re-work if a problem and its potential solution are first discussed before code is written.
7-
5+
* Ideally, we'd first like to hear your concerns or suggestions in the form of an [issue](https://github.com/cbdr/cortex/issues). We can all avoid unnecessary re-work if a problem and its potential solution are first discussed before code is written.
86
* Fork on Github, then clone your repo:
97

10-
```sh
8+
```bash
119
git clone [email protected]:your-username/cortex.git
1210
```
1311

14-
* Follow the [setup instructions][setup]
15-
16-
* Follow the [test suite instructions][test-suite], and ensure all tests pass
17-
18-
* Make your changes. Make frequent commits, but keep commits and commit messages focused on individual, atomic
19-
feature changes or fixes. If you end up making many small commits during debug or development that belong to the same
20-
chunk of functionality, squash those commits before creating a pull request.
21-
12+
* Follow the [setup instructions](../basics/setup/)
13+
* Follow the [test suite instructions](testing.md), and ensure all tests pass
14+
* Make your changes. Make frequent commits, but keep commits and commit messages focused on individual, atomic feature changes or fixes. If you end up making many small commits during debug or development that belong to the same chunk of functionality, squash those commits before creating a pull request.
2215
* Add tests for your change. Once again, ensure all tests pass.
23-
24-
* Push to a branch on your fork and [submit a pull request][pr]. Your PR must adhere to the following conventions:
16+
* Push to a branch on your fork and [submit a pull request](https://github.com/cbdr/cortex/compare). Your PR must adhere to the following conventions:
2517
* For CareerBuilder team members, if the PR relates to a JIRA card, use the following naming convention:
2618
* `JIRA card #`: `PR Title`
2719
* Example: `COR-365: Unhandled Error on Media Upload`
@@ -30,35 +22,36 @@ chunk of functionality, squash those commits before creating a pull request.
3022
* Example: `Unhandled Error on Media Upload`
3123
* Names should use titleized capitalization. i.e.: `Login Form Redesign and Refactor`
3224
* Names should be dense, yet informative. For example, `Testing` is not an appropriate PR name, nor is
33-
`For update_url task, must use the body method to actually retrieve the stream from the S3 GetObjectOutput`.
34-
PR names are more high-level than commit messages.
35-
* PRs should be tagged appropriately (i.e. `enhancement`, `bug`, etc). Tags should be preferred over including things
36-
like 'bug' in the PR name.
25+
26+
`For update_url task, must use the body method to actually retrieve the stream from the S3 GetObjectOutput`.
27+
28+
PR names are more high-level than commit messages.
29+
30+
* PRs should be tagged appropriately \(i.e. `enhancement`, `bug`, etc\). Tags should be preferred over including things
31+
32+
like 'bug' in the PR name.
33+
3734
* PR Descriptions should be a clearly-separated, bulleted list summarizing what's contained in the commits, as well as
38-
any relevant notes or considerations for developers or ops. It should also detail any potential follow-up issues.
35+
36+
any relevant notes or considerations for developers or ops. It should also detail any potential follow-up issues.
37+
3938
* If working with a versioned library, open source users should not include version bumps or changelog updates in
40-
their PRs.
4139

42-
From here, it's up to the Cortex maintenance team (<[email protected]>) to review your pull request.
43-
We operate in 2-week sprint lifecycles, but we'll try to get to your request or contribution sooner. We may suggest
44-
further improvements or alternatives, or the community at large may have input.
40+
their PRs.
41+
42+
From here, it's up to the Cortex maintenance team \([[email protected]](mailto:[email protected])\) to review your pull request. We operate in 2-week sprint lifecycles, but we'll try to get to your request or contribution sooner. We may suggest further improvements or alternatives, or the community at large may have input.
4543

4644
Some things that will increase the chances that your pull request will be accepted:
4745

48-
* Write [good tests][tests]
49-
* Write [good][good commits], [atomic][atomic commits] & [semantic][semantic commits] commit messages. All commits should follow this general structure:
50-
> type(Affected Subject): present-tense summary
46+
* Write [good tests](http://betterspecs.org)
47+
* Write [good](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), [atomic](https://www.freshconsulting.com/atomic-commits/) & [semantic](https://seesparkbox.com/foundry/semantic_commit_messages) commit messages. All commits should follow this general structure:
48+
49+
> type\(Affected Subject\): present-tense summary
5150
5251
For example:
53-
> fix(Contact Us): remove 'Send Us a Note' form
52+
53+
> fix\(Contact Us\): remove 'Send Us a Note' form
54+
5455
* Be consistent
5556
* If applicable, suggest additional options or alternatives, follow-up issues or potential future improvements
5657

57-
[issue]: https://github.com/cbdr/cortex/issues
58-
[tests]: http://betterspecs.org
59-
[atomic commits]: https://www.freshconsulting.com/atomic-commits/
60-
[good commits]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
61-
[semantic commits]: https://seesparkbox.com/foundry/semantic_commit_messages
62-
[setup]: /basics/setup/README.md
63-
[pr]: https://github.com/cbdr/cortex/compare
64-
[test-suite]: /advanced/testing.md

Diff for: advanced/developing-plugins/README.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
This guide lays out how to build new plugins for Cortex CMS, which will allow you to extend the system with more `FieldTypes`, queries, WYSIWYG widgets, jobs, etc.
44

5-
* [Basic Architecture](/advanced/developing-plugins/basic-architecture.md)
6-
* [Service Layer](/advanced/developing-plugins/service-layer.md)
7-
* [Extending Search](/advanced/developing-plugins/extending-search.md)
8-
* [WYSIWYG Widgets](/advanced/developing-plugins/wysiwyg-widgets.md)
9-
* [Examples](/advanced/developing-plugins/examples.md)
5+
* [Basic Architecture](basic-architecture.md)
6+
* [Service Layer](service-layer.md)
7+
* [Extending Search](extending-search.md)
8+
* [WYSIWYG Widgets](wysiwyg-widgets.md)
9+
* [Examples](examples.md)
10+

Diff for: advanced/developing-plugins/basic-architecture.md

+3
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
# Basic Architecture
2+
3+
4+

Diff for: advanced/developing-plugins/examples.md

-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,3 @@ Currently, there is only one reference Plugin implementation.
44

55
* [cortex-plugins-core](https://github.com/cortex-cms/cortex-plugins-core) - This provides the basic `FieldTypes` we'd expect most applications to need, such as `TextFieldType`, `BooleanFieldType`, `UserFieldType`, etc.
66

7-
8-

Diff for: advanced/developing-plugins/extending-search.md

+3
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
# Extending Search
2+
3+
4+

Diff for: advanced/developing-plugins/service-layer.md

+3
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
# Service Layer
2+
3+
4+

Diff for: advanced/testing.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
55
Initialize the test database:
66

7-
```sh
7+
```bash
88
$ RAILS_ENV=test bundle exec rake db:schema:load db:seed cortex:core:db:reseed
99
$ RAILS_ENV=test bundle exec rake cortex:rebuild_indexes
1010
```
1111

1212
To run Ruby and JS specs, utilize:
1313

14-
```sh
14+
```bash
1515
$ RAILS_ENV=test bundle exec rake spec
1616
$ RAILS_ENV=test bundle exec rake spec:javascript
1717
```
18+

Diff for: basics/README.md

+13-15
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
# Basics
22

3-
Working with Cortex CMS as a [superadministrator](/glossary.md#superadministrator) may seem daunting at first blush, but we're here to walk you through every step and demonstrate the simplicity & power of the platform.
4-
5-
* [Setup](setup.md)
6-
* [Manual](/basics/setup/manual.md)
7-
* [Docker Compose](/basics/setup/docker-compose.md) _\(not yet supported\)_
8-
* [Deployment](/basics/deployment.md)
9-
* [Tenancy & User Management](/basics/tenancy-and-user-management.md)
10-
* [Building Content Types](/basics/building-content-types.md)
11-
* [Data Validation](/basics/setup/data-validation.md)
12-
* [Designing Indexes](/basics/designing-indexes.md)
13-
* [Designing Wizards](/basics/designing-wizards.md)
14-
* [Consuming Content](/basics/consuming-content.md)
15-
* [Scheduling Content](/basics/scheduling-content.md)
16-
* [Search](/basics/search.md)
17-
3+
Working with Cortex CMS as a [superadministrator](../glossary.md#superadministrator) may seem daunting at first blush, but we're here to walk you through every step and demonstrate the simplicity & power of the platform.
184

5+
* [Setup](https://github.com/cortex-cms/cortex-cms/tree/ec0acc5e822e7cd071403cac968f82e8f6df4a96/basics/setup.md)
6+
* [Manual](setup/manual.md)
7+
* [Docker Compose](setup/docker-compose.md) _\(not yet supported\)_
8+
* [Deployment](deployment.md)
9+
* [Tenancy & User Management](tenancy-and-user-management.md)
10+
* [Building Content Types](building-content-types.md)
11+
* [Data Validation](data-validation.md)
12+
* [Designing Indexes](designing-indexes.md)
13+
* [Designing Wizards](designing-wizards.md)
14+
* [Consuming Content](consuming-content.md)
15+
* [Scheduling Content](scheduling-content.md)
16+
* [Search](https://github.com/cortex-cms/cortex-cms/tree/ec0acc5e822e7cd071403cac968f82e8f6df4a96/basics/search.md)
1917

Diff for: basics/building-content-types.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Each FieldType has a number of validations that can potentially be run. You choo
88

99
So, in AwesomeBlogPost you would specify that the Field named "Title" is a TextFieldType which comes first, its presence is required, and it should be a maximum of 50 characters; the Field named "Body" is a TextFieldType which comes second and should have a maximum of 1000 characters; the Field named "Video" is a YoutubeFieldType which comes third; and the Field named "Image" is an ImageFileFieldType which comes last and must be a jpg under 1MB.
1010

11-
```
11+
```text
1212
ct = ContentType.new(name: "AwesomeBlogPost", description: "The kind of blog post that goes on my Awesome Site", creator_id: 1)
1313
1414
ct.fields.new(name: "Title", field_type: "text_field_type", validations: { presence: true, length: { maximum: 50 } }, metadata: { placeholder: "This is the title" })
@@ -19,5 +19,3 @@ ct.fields.new(name: "Image", field_type: "image_file_field_type", validations: c
1919
ct.save
2020
```
2121

22-
23-

Diff for: basics/consuming-content.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
# Consuming Content
2+
13
> TBD - a rudimentary RESTful API and RSS feed system already exist, but these will be replaced \(or augmented\) with a GraphQL API in 3-6 months.
24
3-
### API Client Libraries
5+
## API Client Libraries
46

57
* [cortex-client-ruby](https://github.com/cortex-cms/cortex-client-ruby)
68

7-
8-

Diff for: basics/setup/data-validation.md renamed to basics/data-validation.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
Each FieldType defines the validations that can be run on a FieldItem's data. It should have a hash where the keys are the different types of validations that can be run, and the values are method names that will be called to determine if the requested Field validation is legitimate:
66

7-
```
7+
```text
88
VALIDATION_TYPES = {
99
length: :valid_length_validation?,
1010
presence: :valid_presence_validation?
@@ -15,7 +15,7 @@ In order to define the validations that can be run, we use the [validators defin
1515

1616
The Field validations themselves are run when creating a ContentItem and its associated FieldItems. A ContentItem is only considered valid if all of its FieldItems are valid. To determine validity, the FieldItem instantiates the FieldType, passes in its data, and tells the FieldType to run the validations hash specified by the Field.
1717

18-
```
18+
```text
1919
class TextFieldType
2020
def text_length
2121
validator = LengthValidator.new(validations[:length].merge(attributes: [:text]))
@@ -24,5 +24,3 @@ class TextFieldType
2424
end
2525
```
2626

27-
28-

Diff for: basics/deployment.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22

33
> Note: Docker Compose instructions coming soon
44
5-
If you want to self-host Cortex CMS, this guide is for you. Currently, only [Manual Setup](/basics/setup/manual.md) is officially supported.
5+
If you want to self-host Cortex CMS, this guide is for you. Currently, only [Manual Setup](setup/manual.md) is officially supported.
66

7-
### Configuration
7+
## Configuration
88

99
To use an automated tool to deploy the server, set this environmental variable:
1010

11-
```shell
11+
```text
1212
CI=true
1313
```
1414

1515
This will suppress Bower's interactive request to enable insights/metrics reporting, which normally prevents the CI process from continuing.
1616

1717
Additionally, deploying the `development` environment as a non-local server will require an additional environmental variable be set:
1818

19-
```shell
19+
```text
2020
DEPLOYED=true
2121
```
2222

Diff for: basics/designing-indexes.md

-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,3 @@
22

33
> TBD - this system is currently in flux as we switch from server-side Cells to React
44
5-
6-

Diff for: basics/designing-wizards.md

-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,3 @@
22

33
> TBD - this system is currently in flux as we switch from server-side Cells to React
44
5-
6-

Diff for: basics/scheduling-content.md

-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,3 @@
22

33
> TBD - this system is built but is being refactored for greater reliability before we harden its interface
44
5-
6-

Diff for: basics/setup/README.md

+3-5
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
> Note: Docker Compose instructions coming soon
44
5-
If you're interested in local development with Cortex \(relevant to [integration engineers](/glossary.md#integration-engineer), or those who wish to contribute to the project\), these guides will walk you through the process across any POSIX OS.
6-
7-
* [Manual](/basics/setup/manual.md)
8-
* [Docker Compose](/basics/setup/docker-compose.md) _\(not yet supported\)_
9-
5+
If you're interested in local development with Cortex \(relevant to [integration engineers](../../glossary.md#integration-engineer), or those who wish to contribute to the project\), these guides will walk you through the process across any POSIX OS.
106

7+
* [Manual](manual.md)
8+
* [Docker Compose](docker-compose.md) _\(not yet supported\)_
119

Diff for: basics/setup/docker-compose.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
# Docker Compose Setup
1+
# Docker Compose
22

33
> Note: Docker Compose instructions coming soon
4+

0 commit comments

Comments
 (0)