This is a high-level summary of “getting started” points for a new developer – the on-boarding guide.
Note that each document has text that summarises, explains, and guides to other relevant documentation. So just following the links listed below is not sufficient. The order of the links is a loose sequence to becoming involved, setting up, and getting started (however note that many documents refer to each other and there is no strict sequence).
Getting started. The main introduction and starting point.
Guidelines overview : Background orientation and Guides : Background orientation and the other sections of those documents.
Which forum to use for communication. An overview of the collaboration tools, how to register and participate.
Search dev.folio.org and other searches.
Guidelines for Contributing Code.
Guidelines for FOLIO issue tracker.
There are regular developer-related news, events, and presentations.
The FOLIO Forum: Fundamentals of the FOLIO Community and other presentations in the FOLIO Member Onboarding series.
Add yourself to the FOLIO Developer Directory. As requested in the Slack forum guidelines please also improve your Slack identity information.
Become familiar with the general FOLIO web site. Note that there is a common FOLIO-wide project navigation bar at the top of each of the various web sites. Use its “Overview” menu to reach the “Community” section which provides other avenues to the starting points, and to subscribe to the monthly email newsletter for “Community updates”.
For developers associated with the OLF partner institutions, become familiar with the Open Library Foundation web site, and follow some additional OLF on-boarding steps.
For developers associated with the EPAM teams, refer to various getting started and management documentation at that wiki area.
For groups of developers from other institutions, contact the FOLIO Product Council.
The FOLIO Technical Council has a list of current Technical Skills in Demand.
Setup and configuration
FOLIO uses any programming language.
Guides : Setup and configuration.
Guides : Setup development environment.
folio-ansible – Development environment virtual machines. And see more about that topic below.
Source Code. Overview descriptions and links to all repositories. As explained there, each separate module also has a README with specific documentation. Module documentation is kept with the relevant repository, while broad and project-wide documentation is here at the dev.folio.org site.
API documentation and the associated list of endpoints.
Fundamental documentation. This section links to some of the main other technical documentation starting points, which also link to related documentation.
Primer documentation. These are concise documents to summarise and steer through getting started and lead to other getting started documentation.
Okapi Guide and Reference. The guide also has an accompanying shell script to run the examples to explain and demonstrate a local Okapi instance. The related Securing Okapi explains and demonstrates the auth system.
Tutorials : Using a FOLIO virtual machine – Explains how to utilise a FOLIO virtual machine (VM).
RAML Module Builder (RMB) framework.
mod-notes is used in various documentation as a back-end exemplar. Also its run.sh script to run a basic local system.
Stripes. It contains links to other related Stripes and UI development documentation.
Stripes entities: packages, modules, apps and more.
The Stripes Module Developer’s Guide.
Stripes CLI and its Stripes CLI User Guide.
Commence a module - structure and configuration. Explains a module directory layout and configuration, and links to relevant documentation.
Overview of the FOLIO automation and continuous integration (CI/CD). The software build pipeline with explanatory graphic and links to each of the continuously built FOLIO reference environments for demonstrations and further testing. Overview of FOLIO Jenkins.
Developers will need some way to run a local FOLIO instance and to script test queries against it.
Become familiar with your team’s Rancher “developer scratch environment”.
FAQ : How to run tests prior to commit.
Getting help and helping
Having followed this guide to get started, you will now be familiar with some of the available resources and forums. Being a self starter is surely admirable. Please do use the search facilities for this site and for GitHub, and for searching the issue tracker, and for Slack.
Spending some time listening to the Slack channels and visiting each user’s profiles, you will begin to know who is who. Otherwise ask, and someone will direct you.
We are all your friends, and we were also getting started once. People are pleased to be able to assist.
Contacting developers directly via Slack is sometimes appropriate. Other times it will be better to raise your topic on the channels, where various people can help and others can listen and learn.
Guides : Finding tasks to assist and contribute.
As you followed the various documentation, there were probably some areas that were not quite clear. Please help to improve that. We can make it more efficient for everybody.
So welcome on board FOLIO as a new developer. Please help to guide us all.