Use develop branches of newsroom-core and newsroom-app repositories.
- docker engine - follow instructions at https://docs.docker.com/engine/install/ubuntu
sudo apt install docker-composesudo apt install gitsudo apt install python3.10-venv(may vary depending on python version)sudo apt-get install python3-devsudo apt install nodejssudo apt install npmsudo npm install -g n- use node 14 -
sudo n 14
- navigate to
newsroom-core npm installnpm link
- navigate to
newsroom-app/client npm installnpm link newsroom-corenpm start
There are two options, if you only need to develop UI go for A, otherwise B.
- navigate to
newsroom-app docker-compose up server
docker-compose stopdocker-compose build --no-cache server
- navigate to
newsroom-app docker-compose up redis mongo elastic
- navigate to
newsroom-app/server - create .env file with the following contents:
WEBPACK_ASSETS_URL=http://localhost:8080
WEBPACK_SERVER_URL=http://localhost:8080
SECRET_KEY=newsroom
- navigate to
newsroom-app cd server- create virtual environment
python3 -m venv env - activate virtual environment
source env/bin/activate - install python dependencies -
pip install -Ur requirements.txt - link local server -
pip install -Ue <path-to-newsroom-core> - prepare system including elastic
python manage.py initialize_data - create a user -
python manage.py create_user admin@example.com admin John Doe true python manage.py elastic_init- start server -
honcho start -p 5050
After fetching latest code run the following commands:
python manage.py data_upgradepython manage.py schema_migrate || true
It will run database migrations when needed.
- Go to Superdesk settings -> Subscribers -> Add new
- Set "Target Type" to "All"
- Set "Sequence number settings" to 1 and 10.
- Click "Add new destination"
- Set "Format" to "Newsroom NINJS"
- Set "Delivery type" to "HTTP Push"
- Set "Resource URL" to "http://localhost:5050/push"
- Set "Assets URL" to "http://localhost:5050/push_binary"
- Set "Secret token" to "newsroom"
- Save destination
- Save subscriber
- Generate a SSH key if you don't have one already by running
ssh-keygen -t rsa - Share your public key with colleagues to get an account created on a test server
- Choose an instance you want to connect to and set
MONGO_DBNAMEenvironment variable innewsroom-app/server/.env. Example:MONGO_DBNAME=nra-develop - Start only redis service via docker
docker-compose up redis - Run the following command in a terminal
ssh -L 9200:data-sd:9201 -L 27017:data-sd:27017 host7.sourcefabric.org- it will connect to the test server and forward ports of mongo db and elastic search services - start client and server using standard procedures (non-docker)
Prerequisites:
- ensure
client/app.tsfile is present in the root repository. If it's not present, create an empty file. - ensure
client/tsconfig.jsonis present in the root repository. If it's not present, copy it fromnewsroom-app.
To enable extensions open client/app.ts, import and call registerExtensions function from newsroom-core.