Skip to content

Commit 0d334d0

Browse files
committed
Merge remote-tracking branch 'upstream/stable-3_4_0' into stable-3_4_0
2 parents d60b857 + 9cd1808 commit 0d334d0

File tree

2,085 files changed

+231708
-150998
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,085 files changed

+231708
-150998
lines changed

.editorconfig

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@ root = true
22

33
[*]
44
charset = utf-8
5-
indent_style = tab
65
end_of_line = lf
76
insert_final_newline = true
87
trim_trailing_whitespace = true
8+
9+
[*.php]
10+
indent_style = space
11+
indent_size = 4
12+
13+
[*.{js,vue,json,less}]
14+
indent_style = tab

.github/workflows/stable-3_4_0.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
on:
2+
push:
3+
branches:
4+
- '*'
5+
pull_request:
6+
branches:
7+
['stable-3_4_0']
8+
9+
name: omp
10+
jobs:
11+
omp:
12+
runs-on: ubuntu-latest
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
include:
17+
- php-version: 8.1
18+
validate: 'validate'
19+
- php-version: 8.1
20+
database: pgsql
21+
test: 'test'
22+
- php-version: 8.1
23+
database: mariadb
24+
test: 'test'
25+
- php-version: 8.1
26+
database: mysql
27+
test: 'test'
28+
upgrade: 'upgrade'
29+
upgrade_test: '3.1.0,3.1.1-2,3.1.2,stable-3_2_0,stable-3_2_1,stable-3_3_0'
30+
- php-version: 8.2
31+
database: mysql
32+
test: 'test'
33+
- php-version: 8.2
34+
database: pgsql
35+
test: 'test'
36+
37+
38+
39+
name: omp
40+
steps:
41+
- uses: pkp/pkp-github-actions@v1
42+
with:
43+
node_version: 16
44+
dataset_branch: 'stable-3_4_0'
45+
DATASETS_ACCESS_KEY: ${{secrets.DATASETS_ACCESS_KEY}}
46+
DEBUG_IN_TMATE: false

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ temp
66
/plugins/paymethod/paypal/vendor/
77
.project
88
.project/
9+
.vscode
910
.buildpath
1011
.settings/
1112
.htaccess
@@ -17,3 +18,5 @@ styles/build.css
1718
cypress.env.json
1819
cypress/logs/
1920
cypress/screenshots/
21+
.php_cs.cache
22+
.php-cs-fixer.cache

.gitmodules

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
[submodule "lib/pkp"]
22
path = lib/pkp
33
url = https://github.com/pkp/pkp-lib
4-
[submodule "plugins/generic/usageStats"]
5-
path = plugins/generic/usageStats
6-
url = https://github.com/pkp/usageStats.git
74
[submodule "plugins/generic/customBlockManager"]
85
path = plugins/generic/customBlockManager
96
url = https://github.com/pkp/customBlockManager
@@ -28,21 +25,12 @@
2825
[submodule "lib/ui-library"]
2926
path = lib/ui-library
3027
url = https://github.com/pkp/ui-library
31-
[submodule "plugins/themes/omp-dainst-theme"]
32-
path = plugins/themes/omp-dainst-theme
33-
url = https://github.com/dainst/omp-dainst-theme
34-
[submodule "plugins/pubIds/zenon"]
35-
path = plugins/pubIds/zenon
36-
url = https://github.com/dainst/ojs-zenon-plugin.git
37-
[submodule "plugins/generic/cilantro"]
38-
path = plugins/generic/cilantro
39-
url = https://github.com/dainst/ojs-cilantro-plugin
40-
[submodule "plugins/generic/daiBookViewer"]
41-
path = plugins/generic/daiBookViewer
42-
url = https://github.com/dainst/dai-book-viewer-ojs-plugin.git
43-
[submodule "plugins/themes/publications-theme"]
44-
path = plugins/themes/publications-theme
45-
url = https://github.com/dainst/publications-theme.git
46-
[submodule "plugins/generic/piwik"]
47-
path = plugins/generic/piwik
48-
url = https://github.com/pkp/piwik.git
28+
[submodule "plugins/generic/acron"]
29+
path = plugins/generic/acron
30+
url = https://github.com/pkp/acron
31+
[submodule "plugins/generic/citationStyleLanguage"]
32+
path = plugins/generic/citationStyleLanguage
33+
url = https://github.com/pkp/citationStyleLanguage
34+
[submodule "plugins/generic/webFeed"]
35+
path = plugins/generic/webFeed
36+
url = https://github.com/pkp/webFeed.git

.php-cs-fixer.php

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
$finder = PhpCsFixer\Finder::create()
4+
->in(__DIR__)
5+
->name('*.php')
6+
// The next two rules are enabled by default, kept for clarity
7+
->ignoreDotFiles(true)
8+
->ignoreVCS(true)
9+
// The pattern is matched against each found filename, thus:
10+
// - The "/" is needed to avoid having "vendor" match "Newsvendor.php"
11+
// - The presence of "node_modules" here doesn't prevent the Finder from recursing on it, so we merge these paths below at the "exclude()"
12+
->notPath($ignoredDirectories = ['cypress/', 'js/', 'locale/', 'node_modules/', 'styles/', 'templates/', 'vendor/'])
13+
// Ignore root based directories
14+
->exclude(array_merge($ignoredDirectories, ['cache', 'dbscripts', 'docs', 'lib', 'public', 'registry', 'schemas']))
15+
// Ignores Git folders
16+
->notPath((function () {
17+
$recursiveIterator = new RecursiveIteratorIterator(
18+
new RecursiveDirectoryIterator(__DIR__ . '/plugins', FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS | FilesystemIterator::CURRENT_AS_FILEINFO),
19+
RecursiveIteratorIterator::SELF_FIRST
20+
);
21+
$recursiveIterator->setMaxDepth(1);
22+
$gitFolders = new CallbackFilterIterator(
23+
$recursiveIterator,
24+
fn (SplFileInfo $file) => $recursiveIterator->getDepth() === $recursiveIterator->getMaxDepth()
25+
&& $file->isDir()
26+
// Covers submodules (.git file) and external repositories (.git directory)
27+
&& file_exists("{$file}/.git")
28+
);
29+
$folders = [];
30+
foreach ($gitFolders as $folder) {
31+
$folders[] = str_replace(__DIR__ . '/', '', $folder);
32+
}
33+
return $folders;
34+
})());
35+
36+
$rules = include './lib/pkp/.php_cs_rules';
37+
$config = new PhpCsFixer\Config();
38+
return $config->setRules($rules)
39+
->setFinder($finder);

.scrutinizer.yml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
before_commands:
2-
- 'git submodule update --init --recursive'
31
filter:
42
excluded_paths:
5-
- 'tests/*'
3+
- 'tests/'
64
dependency_paths:
7-
- 'lib/pkp/lib/*'
5+
- 'lib/pkp/lib/'
86
tools:
97
php_sim:
108
enabled: true
@@ -24,3 +22,16 @@ tools:
2422
feature_patterns:
2523
- '\badd(?:s|ed)?\b'
2624
- '\bimplement(?:s|ed)?\b'
25+
build:
26+
dependencies:
27+
before:
28+
- 'git submodule update --init --recursive'
29+
- 'wget https://raw.githubusercontent.com/composer/getcomposer.org/76a7060ccb93902cd7576b67264ad91c8a2700e2/web/installer -O - -q | php -- --quiet'
30+
- 'php composer.phar --working-dir=lib/pkp install --no-dev'
31+
- 'php composer.phar --working-dir=plugins/paymethod/paypal install --no-dev'
32+
- 'php composer.phar --working-dir=plugins/generic/citationStyleLanguage install --no-dev'
33+
nodes:
34+
analysis:
35+
tests:
36+
override:
37+
- php-scrutinizer-run

.travis.yml

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

README.md

Lines changed: 17 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,35 @@
11
# Open Monograph Press
22

3-
> Open Monograph Press (OMP) has been developed by the Public Knowledge Project. For general information about OMP and other open research systems, visit the [PKP web site][pkp].
3+
[![Build Status](https://app.travis-ci.com/pkp/omp.svg?branch=main)](https://app.travis-ci.com/pkp/omp)
4+
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/pkp/omp/badges/quality-score.png?b=main)](https://scrutinizer-ci.com/g/pkp/omp/?branch=main)
45

5-
[![Build Status](https://travis-ci.org/pkp/omp.svg?branch=stable-3_3_0)](https://travis-ci.org/pkp/omp)
6+
Open Monograph Press (OMP) is open source software developed by the [Public Knowledge Project](https://pkp.sfu.ca/) to manage scholarly presses. [Learn More](https://pkp.sfu.ca/software/omp/)
67

7-
## Documentation
8+
## Usage
89

9-
You will find detailed guides in [docs](docs) folder.
10+
Read one of these guides to get started using OMP:
1011

11-
## Using Git development source
12+
- Read the [Admin Guide](https://docs.pkp.sfu.ca/admin-guide/) to learn how to install and configure the application from an official release package. Use this guide to deploy to production.
13+
- Read the [Getting Started](https://docs.pkp.sfu.ca/dev/documentation/en/getting-started) guide to learn how to install the application from this source repository. Use this guide for local development.
1214

13-
Checkout submodules and copy default configuration :
15+
Visit our [Documentation Hub](https://docs.pkp.sfu.ca/) for user guides, tutorials, and technical documentation.
1416

15-
git submodule update --init --recursive
16-
cp config.TEMPLATE.inc.php config.inc.php
17+
## Bugs / Feature Requests
1718

18-
Install or update dependencies via Composer (https://getcomposer.org/):
19+
> ⚠️ If you have found a security risk or vulnerability, please read our [security policy](SECURITY.md).
1920
20-
composer --working-dir=lib/pkp install
21-
composer --working-dir=plugins/paymethod/paypal install
21+
All issues should be filed at the [pkp/pkp-lib](https://github.com/pkp/pkp-lib/issues/) repository. Feature requests can be made at our [Community Forum](https://forum.pkp.sfu.ca/). Learn more about how to [report a problem](https://docs.pkp.sfu.ca/dev/contributors/#report-a-problem).
2222

23-
Install or update dependencies via [NPM](https://www.npmjs.com/):
23+
## Community Code of Conduct
2424

25-
# install [nodejs](https://nodejs.org/en/) if you don't already have it
26-
npm install
27-
npm run build
25+
This repository is a PKP community space. All activities here are governed by [PKP's Code of Conduct](https://pkp.sfu.ca/code-of-conduct/). Please review the Code and help us create a welcoming environment for all participants.
2826

29-
If your PHP version supports built-in development server :
27+
## Contributions
3028

31-
php -S localhost:8000
32-
33-
See [Development documentation](https://docs.pkp.sfu.ca/dev/) for more complete development guidance.
34-
35-
## Bugs / Issues
36-
37-
See https://github.com/pkp/pkp-lib/#issues for information on reporting issues.
38-
39-
## Running Tests
40-
41-
See [Unit Tests](https://pkp.sfu.ca/wiki/index.php?title=Unit_Tests), and also [Github Documentation for PKP Contributors](https://pkp.sfu.ca/wiki/index.php?title=Github_Documentation_for_PKP_Contributors) for Travis-based continuous integration testing.
29+
Read the [Contributor's Guide](https://docs.pkp.sfu.ca/dev/contributors/) to learn how to make a pull request. This document describes our code formatting guidelines as well as information about how we organize stable branches and submodules.
4230

4331
## License
4432

45-
This software is released under the the [GNU General Public License][gpl-licence].
46-
47-
See the file [COPYING][gpl-licence] included with this distribution for the terms
48-
of this license.
49-
50-
Third parties are welcome to modify and redistribute OJS in entirety or parts
51-
according to the terms of this license. PKP also welcomes patches for
52-
improvements or bug fixes to the software.
33+
This software is released under the the GNU General Public License. See the file `docs/COPYING` included with this distribution for the terms of this license.
5334

54-
[pkp]: http://pkp.sfu.ca/
55-
[readme]: docs/README
56-
[wiki-dev]: http://pkp.sfu.ca/wiki/index.php/HOW-TO_check_out_PKP_applications_from_git
57-
[php-unit]: http://phpunit.de/
58-
[gpl-licence]: docs/COPYING
35+
Third parties are welcome to modify and redistribute OMP in entirety or parts according to the terms of this license. PKP also welcomes patches for improvements or bug fixes to the software.

SECURITY.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
| Version | Supported | End Of Life |
6+
| ------- | ----------------------------------------------------- | ------------- |
7+
| 3.5.x | :x: Pre-release | 2026 (est) |
8+
| 3.4.x | :heavy_check_mark: Active development | 2025 (est) |
9+
| 3.3.x | :heavy_check_mark: Active maintenance | 2026 (est) |
10+
| 3.2.x | :x: Not supported | 2023 |
11+
| 3.1.x | :x: Not supported | 2022 |
12+
| 1.x | :x: Security only; upgrade recommended | 2022 |
13+
14+
## Reporting a Vulnerability
15+
16+
To report a vulnerability, please contact PKP privately using: [email protected]
17+
18+
You can expect a response via email to acknowledge your report within 2 working days.
19+
20+
PKP will then work to verify the vulnerability and assess the risk. This is typically done within the first week of a report. Once these details are known, PKP will file a Github issue entry with limited details for tracking purposes. This initial report will not include enough information to fully disclose the vulnerability but will serve as a point of reference for development and fixes once they are available.
21+
22+
When a fix is available, PKP will contact its user community privately via mailing list with details of the fix, and leave a window of typically 2 weeks for community members to patch or upgrade before public disclosure.
23+
24+
PKP then discloses the vulnerability publicly by updating the Github issue entry with complete details and adding a notice about the vulnerability to the software download page (e.g. https://pkp.sfu.ca/software/omp). At this point, a CVE and credit for the discovery may be added to the entry.
25+
26+
Depending on the severity of the issue PKP may back-port fixes to releases that are beyond the formal software end-of-life.
27+
28+
We aim to have a fix available within a week of notification.

0 commit comments

Comments
 (0)