= Developer Guidelines = [[TOC]] == Getting Started == * [wiki:DeveloperGuidelines/Basics The Basics] * [wiki:Domain Understanding the Domain] * [wiki:DeveloperGuidelines/Tutorial Tutorials] == Development Enviroment == * [wiki:InstallationGuidelines Install a Development Enviroment] * [wiki:DeveloperGuidelines/Git Git] Version Control * [wiki:DeveloperGuidelines/Eclipse Eclipse] debugger == Development Process == We define requirements: * [wiki:Projects] * '''[wiki:BluePrint BluePrints]''' Designs should focus on Usability: * [wiki:DeveloperGuidelines/Usability Usability] Designs should fit within our overall architecture: * [wiki:DeveloperGuidelines/Architecture Architecture] We write Tests: * [wiki:DeveloperGuidelines/Testing Testing] We keep code conventions to maximise readability & consistency: * [wiki:DeveloperGuidelines/CodeConventions Code Conventions] Code should be documented: * [wiki:DeveloperGuidelines/Documentation Documentation] Code should be able to perform well at scale: * [wiki:DeveloperGuidelines/Optimisation Optimisation] Debugging Tips: * [wiki:DeveloperGuidelines/FAQ FAQ] * [wiki:DeveloperGuidelines/Tips#Pythondebugging Python] * [wiki:DeveloperGuidelines/Tips#JavaScript JavaScript] * [wiki:XsltTemplates XSLT] - Stylesheets for XML & JSON !Import/Export == Framework == * [wiki:S3 Sahana Eden Framework: S3] * '''[wiki:S3 S3 API Guide]''' * [wiki:S3/DataTable DataTables] * [wiki:DeveloperGuidelines/DatabaseSynchronization Database Synchronization] * [wiki:DeveloperGuidelines/GIS GIS] - Mapping * [wiki:DeveloperGuidelines/Internationalisation Internationalization] * [wiki:DeveloperGuidelines/Libraries Libraries] * [wiki:DeveloperGuidelines/SVG SVG] - One way of producing Charts * [wiki:DeveloperGuidelines/Menus Menus] * [wiki:DeveloperGuidelines/Messaging Messaging] * [wiki:DeveloperGuidelines/Minify Minify] JS & CSS * [wiki:DeveloperGuidelines/Mobile Mobile] * [wiki:DeveloperGuidelines/EdenMobile EdenMobile] * [wiki:DeveloperGuidelines/PersonEntityModel Person Entity Hierarchy] * [wiki:DeveloperGuidelines/Popup Popups] * [wiki:DeveloperGuidelines/PrePopulate PrePopulate]- initialising the database with lookup lists &/or demo data * [wiki:DeveloperGuidelines/Templates Templates] for instance configuration * [wiki:DeveloperGuidelines/Templates/CustomPages Custom Pages] * [wiki:DeveloperGuidelines/DeploymentSettings Deployment Settings] * [wiki:DeveloperGuidelines/TemplatePlugins Template Plugins] * [wiki:DeveloperGuidelines/Themes Themes] * [wiki:DeveloperGuidelines/SaveSearchAndSubscription Save Search and Subscription] * [wiki:DeveloperGuidelines/Scheduler Scheduler] - push long-running tasks async as well as have tasks run to a schedule (e.g. recurring daily) * [wiki:S3/FilterForms Search] * [wiki:DeveloperGuidelines/UserManagement User Management] * [wiki:DeveloperGuidelines/WebServices Web Services] == Modules == * [wiki:DeveloperGuidelines/Logistics Logistics] * [wiki:DeveloperGuidelines/Organisations Organisations] * [wiki:DeveloperGuidelines/Survey Survey] * [wiki:DeveloperGuidelines/WebSetup WebSetup] == Other Resources == * [wiki:DeveloperGuidelines/Tips Tips] - useful links to explore == Translations == These are Translated versions of the documentation, which may be outdated compared to the English originals * [wiki:DeveloperGuidelines/de German]