Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/stable-3_4_0' into stable-3_4_0
Browse files Browse the repository at this point in the history
  • Loading branch information
dersmon committed Aug 16, 2024
2 parents d60b857 + 9cd1808 commit 0d334d0
Show file tree
Hide file tree
Showing 2,085 changed files with 231,708 additions and 150,998 deletions.
8 changes: 7 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@ root = true

[*]
charset = utf-8
indent_style = tab
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.php]
indent_style = space
indent_size = 4

[*.{js,vue,json,less}]
indent_style = tab
46 changes: 46 additions & 0 deletions .github/workflows/stable-3_4_0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
on:
push:
branches:
- '*'
pull_request:
branches:
['stable-3_4_0']

name: omp
jobs:
omp:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- php-version: 8.1
validate: 'validate'
- php-version: 8.1
database: pgsql
test: 'test'
- php-version: 8.1
database: mariadb
test: 'test'
- php-version: 8.1
database: mysql
test: 'test'
upgrade: 'upgrade'
upgrade_test: '3.1.0,3.1.1-2,3.1.2,stable-3_2_0,stable-3_2_1,stable-3_3_0'
- php-version: 8.2
database: mysql
test: 'test'
- php-version: 8.2
database: pgsql
test: 'test'



name: omp
steps:
- uses: pkp/pkp-github-actions@v1
with:
node_version: 16
dataset_branch: 'stable-3_4_0'
DATASETS_ACCESS_KEY: ${{secrets.DATASETS_ACCESS_KEY}}
DEBUG_IN_TMATE: false
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ temp
/plugins/paymethod/paypal/vendor/
.project
.project/
.vscode
.buildpath
.settings/
.htaccess
Expand All @@ -17,3 +18,5 @@ styles/build.css
cypress.env.json
cypress/logs/
cypress/screenshots/
.php_cs.cache
.php-cs-fixer.cache
30 changes: 9 additions & 21 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
[submodule "lib/pkp"]
path = lib/pkp
url = https://github.com/pkp/pkp-lib
[submodule "plugins/generic/usageStats"]
path = plugins/generic/usageStats
url = https://github.com/pkp/usageStats.git
[submodule "plugins/generic/customBlockManager"]
path = plugins/generic/customBlockManager
url = https://github.com/pkp/customBlockManager
Expand All @@ -28,21 +25,12 @@
[submodule "lib/ui-library"]
path = lib/ui-library
url = https://github.com/pkp/ui-library
[submodule "plugins/themes/omp-dainst-theme"]
path = plugins/themes/omp-dainst-theme
url = https://github.com/dainst/omp-dainst-theme
[submodule "plugins/pubIds/zenon"]
path = plugins/pubIds/zenon
url = https://github.com/dainst/ojs-zenon-plugin.git
[submodule "plugins/generic/cilantro"]
path = plugins/generic/cilantro
url = https://github.com/dainst/ojs-cilantro-plugin
[submodule "plugins/generic/daiBookViewer"]
path = plugins/generic/daiBookViewer
url = https://github.com/dainst/dai-book-viewer-ojs-plugin.git
[submodule "plugins/themes/publications-theme"]
path = plugins/themes/publications-theme
url = https://github.com/dainst/publications-theme.git
[submodule "plugins/generic/piwik"]
path = plugins/generic/piwik
url = https://github.com/pkp/piwik.git
[submodule "plugins/generic/acron"]
path = plugins/generic/acron
url = https://github.com/pkp/acron
[submodule "plugins/generic/citationStyleLanguage"]
path = plugins/generic/citationStyleLanguage
url = https://github.com/pkp/citationStyleLanguage
[submodule "plugins/generic/webFeed"]
path = plugins/generic/webFeed
url = https://github.com/pkp/webFeed.git
39 changes: 39 additions & 0 deletions .php-cs-fixer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?php

$finder = PhpCsFixer\Finder::create()
->in(__DIR__)
->name('*.php')
// The next two rules are enabled by default, kept for clarity
->ignoreDotFiles(true)
->ignoreVCS(true)
// The pattern is matched against each found filename, thus:
// - The "/" is needed to avoid having "vendor" match "Newsvendor.php"
// - The presence of "node_modules" here doesn't prevent the Finder from recursing on it, so we merge these paths below at the "exclude()"
->notPath($ignoredDirectories = ['cypress/', 'js/', 'locale/', 'node_modules/', 'styles/', 'templates/', 'vendor/'])
// Ignore root based directories
->exclude(array_merge($ignoredDirectories, ['cache', 'dbscripts', 'docs', 'lib', 'public', 'registry', 'schemas']))
// Ignores Git folders
->notPath((function () {
$recursiveIterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator(__DIR__ . '/plugins', FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS | FilesystemIterator::CURRENT_AS_FILEINFO),
RecursiveIteratorIterator::SELF_FIRST
);
$recursiveIterator->setMaxDepth(1);
$gitFolders = new CallbackFilterIterator(
$recursiveIterator,
fn (SplFileInfo $file) => $recursiveIterator->getDepth() === $recursiveIterator->getMaxDepth()
&& $file->isDir()
// Covers submodules (.git file) and external repositories (.git directory)
&& file_exists("{$file}/.git")
);
$folders = [];
foreach ($gitFolders as $folder) {
$folders[] = str_replace(__DIR__ . '/', '', $folder);
}
return $folders;
})());

$rules = include './lib/pkp/.php_cs_rules';
$config = new PhpCsFixer\Config();
return $config->setRules($rules)
->setFinder($finder);
19 changes: 15 additions & 4 deletions .scrutinizer.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
before_commands:
- 'git submodule update --init --recursive'
filter:
excluded_paths:
- 'tests/*'
- 'tests/'
dependency_paths:
- 'lib/pkp/lib/*'
- 'lib/pkp/lib/'
tools:
php_sim:
enabled: true
Expand All @@ -24,3 +22,16 @@ tools:
feature_patterns:
- '\badd(?:s|ed)?\b'
- '\bimplement(?:s|ed)?\b'
build:
dependencies:
before:
- 'git submodule update --init --recursive'
- 'wget https://raw.githubusercontent.com/composer/getcomposer.org/76a7060ccb93902cd7576b67264ad91c8a2700e2/web/installer -O - -q | php -- --quiet'
- 'php composer.phar --working-dir=lib/pkp install --no-dev'
- 'php composer.phar --working-dir=plugins/paymethod/paypal install --no-dev'
- 'php composer.phar --working-dir=plugins/generic/citationStyleLanguage install --no-dev'
nodes:
analysis:
tests:
override:
- php-scrutinizer-run
95 changes: 0 additions & 95 deletions .travis.yml

This file was deleted.

57 changes: 17 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,35 @@
# Open Monograph Press

> 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].
[![Build Status](https://app.travis-ci.com/pkp/omp.svg?branch=main)](https://app.travis-ci.com/pkp/omp)
[![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)

[![Build Status](https://travis-ci.org/pkp/omp.svg?branch=stable-3_3_0)](https://travis-ci.org/pkp/omp)
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/)

## Documentation
## Usage

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

## Using Git development source
- 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.
- 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.

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

git submodule update --init --recursive
cp config.TEMPLATE.inc.php config.inc.php
## Bugs / Feature Requests

Install or update dependencies via Composer (https://getcomposer.org/):
> ⚠️ If you have found a security risk or vulnerability, please read our [security policy](SECURITY.md).
composer --working-dir=lib/pkp install
composer --working-dir=plugins/paymethod/paypal install
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).

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

# install [nodejs](https://nodejs.org/en/) if you don't already have it
npm install
npm run build
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.

If your PHP version supports built-in development server :
## Contributions

php -S localhost:8000

See [Development documentation](https://docs.pkp.sfu.ca/dev/) for more complete development guidance.

## Bugs / Issues

See https://github.com/pkp/pkp-lib/#issues for information on reporting issues.

## Running Tests

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.
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.

## License

This software is released under the the [GNU General Public License][gpl-licence].

See the file [COPYING][gpl-licence] included with this distribution for the terms
of this license.

Third parties are welcome to modify and redistribute OJS in entirety or parts
according to the terms of this license. PKP also welcomes patches for
improvements or bug fixes to the software.
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.

[pkp]: http://pkp.sfu.ca/
[readme]: docs/README
[wiki-dev]: http://pkp.sfu.ca/wiki/index.php/HOW-TO_check_out_PKP_applications_from_git
[php-unit]: http://phpunit.de/
[gpl-licence]: docs/COPYING
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.
28 changes: 28 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Security Policy

## Supported Versions

| Version | Supported | End Of Life |
| ------- | ----------------------------------------------------- | ------------- |
| 3.5.x | :x: Pre-release | 2026 (est) |
| 3.4.x | :heavy_check_mark: Active development | 2025 (est) |
| 3.3.x | :heavy_check_mark: Active maintenance | 2026 (est) |
| 3.2.x | :x: Not supported | 2023 |
| 3.1.x | :x: Not supported | 2022 |
| 1.x | :x: Security only; upgrade recommended | 2022 |

## Reporting a Vulnerability

To report a vulnerability, please contact PKP privately using: pkp.contact@gmail.com

You can expect a response via email to acknowledge your report within 2 working days.

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.

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.

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.

Depending on the severity of the issue PKP may back-port fixes to releases that are beyond the formal software end-of-life.

We aim to have a fix available within a week of notification.
Loading

0 comments on commit 0d334d0

Please sign in to comment.