Documentation for Developers: Difference between revisions
Jump to navigation
Jump to search
Line 73: | Line 73: | ||
* [[n-tier architecture]] | * [[n-tier architecture]] | ||
* [[Database access architecture]] | * [[Database access architecture]] | ||
=== Client Side === | === Client Side === |
Revision as of 20:49, 11 Mayıs 2022
Projects
Please read about what needs to be done, and how to take charge of a project here:
Summary of Projects
Development
Development Environment
Programming
General
- Coding Standard and Guidelines
- Error and Exception Handling Policy
- Explanation of Directory Structure and Rules
Development
- Useful hints regarding coding in CSharp/.net
- Development with Code Generation
- Build system with our own NAnt tools and tasks
- Preventing/getting around circular dependency problems
- Architecture Information
- Database System / Database access architecture
- Two diagrams at the right ------------------------------>
- Using OpenPetra's DataAccess Objects
- DB Access Exception Handling
- Automatic DB Transaction Handling
- Co-ordinated DB Access (Thread-safe DB Access)
- Working with multiple DB Connections
- Stopping of Running DB Queries
- 'Preparing' SQL Statements And Specifying SQL Statement Time-outs
- Specifying 'standard' / 'default' / 'base' data for DB Tables
- DataSets: Ensuring you deliver 'unchanged' data to the Client
- PostgreSQL-specifics
Other Topics
- User Defaults
- System Settings (Maintain Table Screen)
- Working with OpenPetra Security
- Retrieving the 'SiteKey' of an OpenPetra installation
Development Cycle
- Build System for OpenPetra
- Releases and Patching
- Building and maintaining customized versions of OpenPetra
- Migrating data from legacy systems
- Working with NUnit tests
Getting Started
Tools Used
This is a list of software that we use; some of it you will already have installed when you did your Setup of Development environment.
Tips and Tricks
- Specifying custom settings in Config Files for Development
- Developing the Javascript Client
- Literature
- Programming hints
- Homepage
OpenPetra Software Architecture
- Overview openPETRA architecture
- Taken from the old Petra wiki. Should be merged with the other articles!
- n-tier architecture
- Database access architecture
Client Side
- GUI development
- Printing
- Main Menu
- Singleton (single-instance) Screens
- Specific Screens
Bug Tracking
See Tracking of Bugs
Database Structure Documentation
We have DB model documentation online available in two formats, both of which are auto-generated with each release:
- Our own format (see also SQL Diagram creation)
- There is a diagram for the Accounts Payable sub system
- We need volunteers do design more diagrams! Please also have a look at the old 2.1 diagrams (download 9 png files in a zip file).
- There is a diagram for the Accounts Payable sub system
- SchemaSpy format
- features quite nice automatically drawn relationship diagrams once you select a certain DB table. That can also be shown for the whole DB if you simply go to the ‘Relationships’ Tab on the index page (though that diagram is HUGE as the OpenPetra DB currently holds >300 DB Tables!).
Project Infrastructure
- Have a look at wordpress. The OpenPetra Website is running on Wordpress.
- Continuous integration with LightBuildServer
- Branches and Releases of OpenPetra