Regarding Primero user customization GSoC 2020

Hi! I am Nidhi Kumari from New Delhi interested in contributing to Primero user customization package for this year GSOC 2020.

To get started, I have first installed the primero repository at the version 2 development branch and built on that https://github.com/primeroIMS/primero/tree/development_v2 as suggested by @irlawrence in one of the topics. But I am having issues while doing this.

On http://0.0.0.0:3000/v2/login:
I am having this problem

Credentials that I have used: primero / primer0!

These are my terminal outputs.

Please help me to fix it @irlawrence @jpanchalingam.

Hi

What version of node are you running? The documentation mentions Node greater than 12.x
Also I am not sure windows is the best platform to develop on currently (at least its much less tested). Could you try Ubuntu in a virtual machine and see if you get the same error?
If you are interested in User Customization work make sure to read over the UI/UX Development documents.

Hi @irlawrence ! I am using Node version 12.16.1 and I am not working on windows. I working with Ubuntu(Linux Mint). Still I am facing this error. Please help

Try to drop the postgres db and re load + seed it.

rails db:drop db:create db:migrate db:seed

Now I am having this issue

Hi

Have all the services started?

$sudo ./compose.local.sh up -d postgres
$sudo  ./compose.local.sh run solr make-primero-core.sh primero-test
$sudo  ./compose.local.sh up -d solr

I will make a more step by step guide to get set up with v2 and post it here shortly

Hey Ian!

Yes, I know about these services. I had gone through the documentation and Readme as well.

So after cloning this repo. I installed docker, and thencd docker and after that I have added these services.

I have also found some issues in the readme like $ sudo apt-get install -y libpq imagemagick libsodium-dev p7zip has to be replaced with sudo apt-get install -y libpq-dev imagemagick libsodium-dev p7zip but after all the installation steps I am facing the issue with login credentials. primero / primer0!. Can I open a pull request regarding that on the repository as my first contribution?

Is this possible that I have to use different credentials for login??

Also, can you please help me where can I submit my proposal so that you along with other mentors can review it and help me to make necessary changes before my final submission as I am in time crunch and application deadline is on 31 March.

Please help!

Hi

Check out the guide I just posted and particularly the section on your node version as well as environment variables. I am actually not sure where you submit a proposal but I can try to find out

Hey @irlawrence

Thanks for posting the guide. I followed the instructions. But I am still getting this error

Also there was this warning

warning: 2.6.2-compliant syntax, but you are running 2.6.5.

But after running ruby -v it gives an output

ruby -v

ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]

Please let me know what is going wrong with my installation steps.

Thanks!

What do you have in your ~/.bashrc ?

cat ~/.bashrc

at the bottom you should see

export PRIMERO_SECRET_KEY_BASE=PRIMERO_SECRET_KEY_BASE
export DEVISE_SECRET_KEY=DEVISE_SECRET_KEY
export DEVISE_JWT_SECRET_KEY=DEVISE_JWT_SECRET_KEY

also what is your node version?

In the bottom I am seeing this and my node version is 12.16.1

You are exporting the variables multiple times with different values which is maybe confusing things. Remove all the lines with

export PRIMERO_SECRET_KEY_BASE
export DEVISE_SECRET_KEY
export DEVISE_JWT_SECRET_KEY

to just export it once as above. Make sure to reload into your shell by either restarting the shell or doing source ~/.bashrc

Done! Thanks . But now this is what I am getting after I run

foreman start -f Procfile.dev

You have something using port 9000. Find what it is and kill it

sudo ss -tulpn

which outputs something like

tcp   LISTEN  0       128           127.0.0.1:2015          0.0.0.0:*      users:(("expressvpnd",pid=2861,fd=11))                                   
tcp   LISTEN  0       128           127.0.0.1:40133         0.0.0.0:*      users:(("expressvpn-brow",pid=11394,fd=7))                               
tcp   LISTEN  0       128             0.0.0.0:5000          0.0.0.0:*      users:(("gunicorn",pid=27374,fd=5),("gunicorn",pid=27373,fd=5),("gunicorn",pid=27372,fd=5),("gunicorn",pid=27368,fd=5))

look through the output for the port 9000 and find the PID and then do sudo kill -9 <PID>

So in the example above if I wanted to kill gunicorn running on port 5000 I would do

sudo kill -9 27374 27373 27372 27368

Thank you Ian

But I got stuck in a error again :frowning:

Restart your machine then kill any servers you do not need …apache, nginx etc.Then start the services and then try to using 2 shells. Start the development Rails server on port 3000 in one:

$ rails s

And in a separate terminal window, the development Rails Webpacker server:

$ npm run dev

Paste the full error log as well as the output of the sudo ss -tulpn above

Hi Ian,
output of sudo ss -tulpn is :

Also there is one more problem. Even if I do not run any command in my terminal still on my browser if I go to http://localhost:3000 it automatically starts primero http://localhost:3000/v2/login. Help me how to kill this.

This is because your browser has cached the frontend of the application - you can clear that cache if you want to. Can you start solr and postgres and then the 2 terminals and post the error log

I have cleared the cache and after running the services these are my errors.

rails -s error

npm run dev error

So your frontend is fine. The problem is rails and getting the jwt token.
In the same shell as you ran rails and at the root of the checkout do the following:

rails db:drop
rails db:create
rails db:migrate
rails db:seed

These are separate commands. Paste any errors as before