Documentation for the various components of FOLIO is in continuous development. Since the system is composed of many separate components, each component is documented individually. The best places to start are the FOLIO Developer’s Curriculum, which is a series of self-paced or instructor-guided lessons, and the early chapters of the Okapi Guide and Reference, which describe the system as a whole and explain how the parts fit together.
In the context of those early chapters, you may then wish to go on to:
Community and contribution
The community section explains how to be involved, provides the contribution guidelines, lists the various collaboration tools and has some recommendations about when to use each.
The FOLIO Developer’s Curriculum is a series of lessons that can be followed on your own or can form the basis of an instructor-led workshop.
The most important technical document is the Okapi Guide and Reference, which after the introductory sections already described, goes into detail about the Okapi API Gateway that controls a FOLIO system.
With that background understanding, see the documentation for each server-side module, especially RAML Module Builder (RMB).
The FOLIO user-interface toolkit is called Stripes. It is described in the Stripes Core README, which leads to the related documentation.
With that background understanding, see the documentation for each client-side module, especially the “ui-users”.
The okapi-stripes is a special Okapi module used to generate Stripes-based UIs for individual FOLIO tenants.
Running a complete system
The document Running a complete FOLIO system explains ways to enable a development system running the Okapi gateway, various server-side modules, sample data, and the Stripes UI development server. It goes on to explain another way to configure modules using the Okapi Console front-end.
Use folio-ansible for a quick-start FOLIO installation as a virtual machine using Vagrant and Ansible. This also provides various pre-built “black boxes” including “folio/stable” and “folio/testing”. The current built boxes are also available to download from Vagrant Cloud. The list of module versions for each box is shown in its change-log.
- Background orientation
- Setup and configuration
- Getting started
- Reference documentation
- Fundamental documentation
- Development tips
- Development management
- Other topics
- Which forum to use for communication: Issue tracker, Slack chat, Discuss discussion, GitHub pull requests. Some guidelines about when to use each, and some usage tips. The concise list of forums.
- Guidelines for Contributing Code – GitHub Flow, feature branches, pull requests, version numbers, coding style, tests, etc.
- FOLIO Project Contributor License Agreement.
- A FOLIO glossary of some terms and technologies used in FOLIO.
- Guidelines for FOLIO issue tracker.
- Search dev.folio.org and other search and report facilities.
Setup and configuration
- Some tips to assist developers to configure their local workstation setup.
- Built artifacts – released and snapshot FOLIO artifacts in various formats. Configurations for accessing.
- Source code – explanation of each repository.
- FOLIO uses any programming language.
- Primer for back-end development.
- Primer for front-end development.
- Overiew of all technical reference documentation.
- The set of automatically generated API documentation.
- Okapi Guide and Reference.
- FOLIO-Sample-Modules guide.
- RAML Module Builder (RMB) framework.
- Each server-side and client-side module’s own documentation.
- Stripes Core README guides to all front-end documentation.
- Stripes entities: packages, modules, apps and more.
- The Stripes Module Developer’s Guide for those writing UI modules for Stripes.
- Regression tests for FOLIO UI. The testing framework is explained. Guidelines for module developers.
- Permissions in Stripes and FOLIO.
- Conduct troubleshooting.
- Code analysis and linting facilities explains ESLint, SonarQube, other lint tools, and preparing for pull requests.
- For Contextual Query Language (CQL) examples, see the Glossary, the FOLIO CQL to PostgreSQL JSON converter, the API docs, and the debug output for tests in each backend module.
- The FOLIO Developer’s Curriculum is a series of lessons that can be followed on your own or can form the basis of an instructor-led workshop.
- Release procedures.
- Search and report facilities (e.g. open pull requests needing review).
- Create a new FOLIO module and do initial setup.
- The FOLIO Project Roadmap including the development and milestone plan for Version 1 and the feature backlog, and the FOLIO Development Process Overview, and other important documents and resources are listed at the Wiki.
- Which forum to use for communication.
- Special Interest Groups (SIGs).
- Guidelines for Contributing Code.