/flighttracker-pub-service-validator

This repo holds the documentation for REDCap's External Module Framework

Primary LanguagePHPOtherNOASSERTION

REDCap External Module Framework Documentation

You've reached the official documentation for REDCap's External Module Framework! This framework can be used to create External Modules, the recommended way to programmatically extend REDCap's base functionality. These docs and the External Module Framework itself are both very much a community effort. If/when you notice room for improvement, feel free to create an issue. It is also highly encouraged to fork this repo, make any changes you desire, then go to the Pull Requests tab from your fork and select New pull request to submit them for review.

If you're brand new to module development, see the beginner's guide.

If you have already created a module and wish to share it with the REDCap community, you may submit it to the REDCap External Modules Submission Survey. If your module gets approved after submission, it will become available for download by any REDCap administrator from the REDCap Repo.

How to contribute to this documentation

These docs (and the External Module Framework itself) are very much a community effort. If/when you notice room for improvement, feel free to create an issue. It is also highly encouraged to fork this repo, make any changes you desire, then go to the Pull Requests tab from your fork and select New pull request.

How to contribute to the development of the EM Framework itself

Contributions (new features, bugfixes, etc.) to the External Module Framework code repo are welcome too! To gain access to that repo, email your GitHub username to mark.mcever@vumc.org. Once you have access, read the that repo's constribution instructions.

Documentation Backstory

This documentation was moved from the private REDCap Core & External Module Framework repos to this public repo to make it possible to share universal links to specific parts of the documentation, and to reduce barriers for community contribution. We considered hosting these docs at redcap.vumc.org/docs, but decided that using GitHub directly would be most likely to encourage contributions. A copy of these docs is also included in the External Module Framework repo via git-subrepo, to ensure that any find/replace actions also update the docs. Over time, we may want to consider moving other developer docs here from REDCap core.

Framework Features Descriptions
Module Pages Modules can provide their own pages to perform any arbitrary actions
Hooks Modules can define hook methods that execute in certain places on REDCap core pages
Methods The framework provides many features via methods on the module object
SQL Queries The recommended way to query the database from module code
Logging The framework's built-in logging functionality
AJAX Requests The recommended way to perform AJAX requests from module code
Crons Scheduled tasks that automatically execute periodically in the background
Twig Built-in Twig Engine for reusable, concise and safe templating in HTML, JS and CSS
Unit Testing Writing standard PHPUnit tests for your module
Compatibility Making sure your module correctly specifies required REDCap & PHP versions
Internationalization Guide The guide for support multiple languages within your module
Security A summary of security related features
Framework Versioning The mechanism through which backward compatibility is maintained as the framework changes over time
Misc. Resources Descriptions
Beginner's Guide Start here if you're new to External Module development
Module Directory Names Information on module directory naming
Module Code Requirements Information on basic module requirements
config.json Details on the format of the config.json file
JavaScript in Modules Recommendations for using javascript in modules
Dependencies Recommendations for including shared libraries in your module code
Renaming a module Concerns when renaming a module
Proposing New Hooks Instructions on how to propose additional hooks that any External Module can call
Acknowledgments Acknowledging contributors that have made these docs possible!
GitHub's Search Github's search feature (in the top of right corner of this page) is a great way to find keywords throughout these docs