The client and API was initially developed to be portable to any platform - i.e local, web, cloud provider, and Electron. We are currently developing and maintaining a firebase version that merged the functionalities of the client and API. The BBC is not actively working on digital-paper-edit-client and digital-paper-edit-api. This is because we are prioritising getting Digital Paper Edit in front of our journalists. For the full list of active/inactive DPE repos, see here.
A fork of the client and API is still being developed in the open, in a separate fork, thanks to @pietrop.
We don't want the opensource collaboration to stop, so we will be pulling in changes from the forks. If there's a valuable feature that we haven't yet implemented from the fork, please open an issue in this repo or get in touch with us!
We will look at the changes in the fork and manually add them to our firebase version.
When manually adding changes to the changes from a fork - there are challenges of pulling in dependencies, such as:
[
("@bbc/aes31-adl-composer": "^1.0.1"),
("@bbc/digital-paper-edit-react-components": "^1.3.2"),
("@bbc/fcpx-xml-composer": "^1.0.0"),
("@bbc/react-transcript-editor": "^1.4.0")
];
These dependencies (non-exhaustive) they might've been forked also. In this case, this is a matter of updating the BBC's version with the newest changes from the dependency's forks and making sure everything works together.
For understanding the approach see this PR.
---> Work in progress <--
See here for overall project architecture info
git clone git@github.com:bbc/digital-paper-edit-api.git
cd digital-paper-edit-api
Optional step to setup nvm to use node version 10, otherwise just use node version 10
nvm use || nvm install
in root of project
npm install
alternatively for production is also on npm
npm run start:dev
Server API is listening on http://localhost:7080
The project is also publicly available in the npm registry @bbc/digital-paper-edit-api
you can add it to your project
npm install @bbc/digital-paper-edit-api
and eg in an express server you can serve the static build as follows
require('@bbc/digital-paper-edit-api');
See notes in infrastructure repository on Importing JS modules without specifying export for more details on this work.
Express web server API
- npm >
6.1.0
- node v 10 - lts/dubnium
- see
.eslintrc
in the various packages for linting rules
Node version is set in node version manager .nvmrc
TBC
npm test:watch
TBC
See CONTRIBUTING.md guidelines and CODE_OF_CONDUCT.md guidelines.
See LICENCE
Despite using React and DraftJs, the BBC is not promoting any Facebook products or other commercial interest.