Developer Interview
Here are a few tests you can do to check you will be comfortable with adding code to b2evolution.
0. Install b2evolution CMS on your dev machine
Fork b2evolution on GitHub, then check out the 7.0dev
branch.
Install it according to the readme instructions.
Also install the default demo contents, so you can see the same things as on the screenshots below.
1. Add CSS in b2evolution (no file check-in)
This is "power user" level. It is not "developer" level. This does NOT involving modifying any file on disk.
In this test you use 2 importants concepts of b2evolution: Widgets and Templates.
Test goal:
The numbers on the screenshot are there to get you started.
Please send a screenshot of result and of where you added the CSS class.
2. Make a code change in PHP
Here we expect you to find the relevant .php
file to edit and check in a little snippet of cleanly indented/documented code/
Test goal:
A date/time field here is totally irrelevant of course. It’s only for test purposes.
Hint: You can find an example of data/time in this part of the back-office: Scheduler Job Form.
Notes:
- The date/time timestamp should be saved to DB.
- b2evolution includes a DB definition in order to install its own database. You should find the relevant PHP file and update it to add the relevant DB field.
- If you then run the upgrader, you will see that b2evolution detects the new field and offers to ALTER TABLE automatically.
- Please pay attention to using the same tab size as the existing code.
Please check in your code into your own fork of b2evolution on GitHub and send us a link.
3. Make a code change in CSS
Here we expect you to change a CSS file, but instead of brutal CSS editing, we expect you to change a LESS file instead and then recompile with Grunt.
We use this process a lot, so it is important that you be comfortable with it.
This is trivial if you have already used grunt before. It requires a little effort if it is your first time.
Test goal:
Hint: the appropriate skin is to be found the /skins
folder.
The skin loads the .min.css
file by default. So if you modify the .css
file, it will not be loaded.
It is best to modify the .less
file and then use grunt to compile it to css and minify it automatically. See Gruntfile
at the root of the project.
Ideally, we would like to see optimized LESS code, including comments. (Note: for this part LESS or SCSS are basically the same, so even if your experience is with SCSS, you should have no trouble.)
Please send screenshot of result with inspector showing new applied class + check in code into your own GitHub repository.