Chapter 29. The BASE API

Table of Contents

29.1. The Public API of BASE
29.1.1. What is backwards compatibility?
Binary compatibility
Contract compatibility
Source code compatibility
29.2. The Data Layer API
29.2.1. Basic classes and interfaces
Classes
Interfaces
29.2.2. User authentication and access control
Users and passwords
Groups, roles, projects and permission template
Keys
Permissions
29.2.3. Reporters
Reporters
Reporter lists
29.2.4. Quota and disk usage
Quota
Disk usage
29.2.5. Client, session and settings
Clients
Sessions
Settings
29.2.6. Files and directories
29.2.7. Experimental platforms and item subtypes
Platforms
Item subtypes
FileStoreEnabled items and data files
29.2.8. Parameters
29.2.9. Annotations
Annotations
Annotation types
Units
Categories
29.2.10. Protocols, hardware and software
Protocols
Parameters
Hardware and software
29.2.11. Plug-ins, jobs and job agents
Plug-ins
Jobs
Job agents
29.2.12. Biomaterial LIMS
Biomaterials
Bioplates and plate types
Biomaterial and plate events
29.2.13. Array LIMS - plates
Plates
Plate events
Plate mappings
29.2.14. Array LIMS - arrays
Array designs
Array slides
29.2.15. Bioassays and raw data
Physical bioassays
Raw data
29.2.16. Experiments and analysis
Experiments
Bioassay sets, bioassays and transformations
Virtual databases, datacubes, etc.
The dynamic database
29.2.17. Other classes
29.3. The Core API
29.3.1. Authentication and sessions
29.3.2. Access permissions
29.3.3. Data validation
29.3.4. Transaction handling
29.3.5. Create/read/write/delete operations
29.3.6. Batch operations
29.3.7. Quota
29.3.8. Plugin execution / job queue
29.3.9. Using files to store data
Diagram of classes and methods
Use case: Asking the user for files for a given item
Use case: Link, validate and extract metadata from the selected files
Use case: Import data into the database
Use case: Using raw data from files in an experiment
29.3.10. Sending signals (to plug-ins)
Diagram of classes and methods
29.4. The Query API
29.5. The Dynamic API
29.6. The Extensions API
29.6.1. The core part
29.6.2. The web client part
29.7. Other useful classes and methods