Develop¶
Intended audience
This guide is intended both for developers that needs to develop new features for their own InvenioRDM instance as well as core InvenioRDM developers.
Getting started¶
Explains how to get development install up and running:
- Source code
- Package development
- Instance development
- Debugging
- Coding style
- Virtual environments
- Getting help
- Development process
Best practices¶
Development guidelines for specific areas of development.
- Accessibility (a11y)
- Commits, pull requests and reviews
- CSS/JavaScript
- React
- Translation (i18n)
- User interface
Topics¶
Developer introductions to specific parts of the InvenioRDM source code:
- Building resources
- Building services
- Building serializers
- Grouping atomic operations
- Sanitize input data
- Theming
- Administration panel
How-to guides¶
Step-by-step guides on how to perform certain tasks:
- Create a new custom field
- Create custom code and views
- Add JavaScript
- Override UI React components
- Create search terms mappings
- Create a database migration
- Fix a vulnerability
- Test emails locally
- Migrate legacy routes
- Restrict access to pages
- Create and configure notifications
Architecture¶
High-level conceptual overviews of the design and the thoughts behind those choices:
- Introduction
- Infrastructure architecture
- Software architecture
- Runtime architecture
- Requests
- Communities
- Records
- Notifications
- Recommended reading
Concepts¶
Explanation of general methods and techniques used in InvenioRDM to solve particular problems: