OpenPETRA Architecture Team: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
==What is the Architecture Team?==
==What is the Architecture Team?==
A group of people within the openPETRA development team that looks at and improves architectural issues of various kinds.
A group of people within the OpenPetra development team that looks at and improves architectural issues of various kinds.


===Team Members===
===Team Members===
The openPETRA Architecture Team currently consists of christiank and ThiasG. They were nominated to that job by the the other openPETRA core developers at an openPETRA meeting in Carlisle (Nov.30th - Dec.2nd, 2010).
The OpenPetra Architecture Team originally consisted of christiank and ThiasG. They were nominated to that job by the the other OpenPetra core developers at an OpenPetra meeting in Carlisle (Nov.30th - Dec.2nd, 2010). As ThiasG has left the OpenPetra Team in the first half of 2011, christiank is currently the only person on the OpenPetra Architecture 'Team'.


The members of the Architecture Team do not work full-time on architectural issues; rather they are 'normal' openPETRA developers who can be contacted about architectural issues and who are pro-actively looking for architectural issues as they go about their development work. They might work full-time on issues for a certain time as the need arises.
The members of the Architecture Team do not work full-time on architectural issues; rather they are 'normal' OpenPetra developers who can be contacted about architectural issues and who are pro-actively looking for architectural issues as they go about their development work. They might work full-time on issues for a certain time as the need arises.


==Purpose of the Architecture Team==
==Purpose of the Architecture Team==
The Architecture Team...
The Architecture Team...
* proactively identifies issues in the architecture or development process of openPETRA and highlights them to the development team.
* pro-actively identifies issues in the architecture or development process of OpenPetra and highlights them to the development team.
* investigates issues of the architecture or development process of openPETRA as identified by other development team members.
* investigates issues of the architecture or development process of OpenPetra as identified by other development team members.
and...
and...
* comes up with proposals on how to improve identified issues.
* comes up with proposals on how to improve identified issues.
* implements changes to resolve or improve the identified issues themselves, or delegates the implementation of changes to another member of the development team, depending on whatever is seen as best and who/if somebody is available for that.
* implements changes to resolve or improve the identified issues themselves, or delegates the implementation of changes to another member of the development team, depending on whatever is seen as best and who/if somebody is available for that.
* creates and maintains documentation on the topics of
* creates and maintains documentation on the topics of
** openPETRA architecture  
** OpenPetra architecture  
** development process of openPETRA
** development process of OpenPetra




Line 33: Line 33:
** Status: ''Input requested (please feel free to contribute to this ongoing discussion!)''
** Status: ''Input requested (please feel free to contribute to this ongoing discussion!)''
** Priority: '''High'''
** Priority: '''High'''
** Responsible: ChristianK and ThiasG
** Responsible: ChristianK
* [[DB Discussions: Transaction Model, Savepoints, Locking; Exception Handling; Caching]]
* [[DB Discussions: Transaction Model, Savepoints, Locking; Exception Handling; Caching]]
** Status: ''Discussion in progress''
** Status: ''Discussion in progress''
** Priority: ''Middle-High''
** Priority: ''Middle-High''
** Responsible: ChristianK and ThiasG
** Responsible: ChristianK
* [[Changes to the Process and Workflows of openPETRA Development]]
* [[Changes to the Process and Workflows of OpenPetra Development]]
** Status: ''Discussion in progress''
** Status: ''Discussion in progress''
** Priority: ''Middle-High''
** Priority: ''Middle-High''
** Responsible: ChristianK and ThiasG
** Responsible: ChristianK
* [[List of unused columns/tables in the database structure]]
* [[List of unused columns/tables in the database structure]]
** Status: ''Input requested (feel free to contribute if you fall into category of people who are responsible)''
** Status: ''Input requested (feel free to contribute if you fall into category of people who are responsible)''
Line 48: Line 48:
* [[Evaluation and Comparison of different logging Systems]]
* [[Evaluation and Comparison of different logging Systems]]
** Status: ''Firmer conclusions are required''
** Status: ''Firmer conclusions are required''
** Priority: Middle-Low
** Priority: Low
** Responsible: WolfgangU
** Responsible: Nobody (at the moment)
* [[Tools for Supporting the Process and Workflows of openPETRA Development]]
* [[Tools for Supporting the Process and Workflows of OpenPetra Development]]
** Status: ''Input requested (esp. in the [[Tools for Supporting the Process and Workflows of openPETRA Development#List_of_Detailed_Criteria | List of Detailed Criteria]] section)
** Status: ''Input requested (esp. in the [[Tools for Supporting the Process and Workflows of OpenPetra Development#List_of_Detailed_Criteria | List of Detailed Criteria]] section)
** Priority: not yet assigned
** Priority: not yet assigned
** Responsible: ChristianK and ThiasG with input from WolfgangB
** Responsible: ChristianK with input from WolfgangB
* [[New CSharp Language features 3.0 and 4.0]]
** as preparation for the meetings in November 2011
** Responsible: ChristianK and TimoP


===Proposals for Potential Topics for Further Discussions===
===Proposals for Potential Topics for Further Discussions===
Line 68: Line 65:
* [[Class naming]] - Should all classes start with "T"?
* [[Class naming]] - Should all classes start with "T"?
** Status: ''Consider moving it to 'Current Discussions'''
** Status: ''Consider moving it to 'Current Discussions'''
** Responsible: ChristianK and ThiasG
** Responsible: ChristianK
* [[Decimal/Rounding Calculation Definition]] / [[Multiple Currencies]]  
* [[Decimal/Rounding Calculation Definition]] / [[Multiple Currencies]]  
** Status: Pending
** Status: Pending
** Responsible: ThiasG with help from Wolfgang Uhr
** Responsible: Nobody (at the moment)
* [[Unit test framework]]  
* [[Unit test framework]]  
** Status: ''Proposal needs to be prepared''
** Status: ''Proposal needs to be prepared''
** Responsible: ThiasG
** Responsible: Nobody (at the moment)
* [[Directory structure]] - The current openPETRA directory structure does not fit together with architecture. Difficult for new people to find, what they are allowed to use and where to find classes.
* [[Directory structure]] - The current OpenPetra directory structure does not fit together with architecture. Difficult for new people to find, what they are allowed to use and where to find classes.
** Status: ''Proposal needs to be prepared''
** Status: ''Proposal needs to be prepared''
** Responsible: Nobody (at the moment)
* [[Generated Files With Manual Code Blocks]]
* [[Generated Files With Manual Code Blocks]]
** Status: ''Proposal needs to be prepared''
** Status: ''Proposal needs to be prepared''
** Responsible: ThiasG
** Responsible: Nobody (at the moment)
* [[Data Spread Over Many DB Tables vs. Same Data in One DB Table - Performance]]
* [[Data Spread Over Many DB Tables vs. Same Data in One DB Table - Performance]]
** Status: ''Proposal needs to be prepared''
** Status: ''Proposal needs to be prepared''
** Responsible: ThiasG with Timotheus
** Responsible: Timotheus
* [[Database normalisation]] - For example the name of an account is stored in several tables and furthermore is used to link table entries and to define table relations. So it is difficult to change the names.  
* [[Database normalisation]] - For example the name of an account is stored in several tables and furthermore is used to link table entries and to define table relations. So it is difficult to change the names.  
** Status: ''Proposal needs to be prepared'' - exact scope needs to be determined
** Status: ''Proposal needs to be prepared'' - exact scope needs to be determined
** Comment: Each dataset should have an internal id and should be linked by the internal id ([[User:Thiasg|Thiasg]] 08:42, 24 January 2011 [UTC])
** Comment: Each dataset should have an internal id and should be linked by the internal id ([[User:Thiasg|Thiasg]] 08:42, 24 January 2011 [UTC])
** Responsible: Nobody (at the moment)
* [[Gathering of Statistics - Which Sites Use Which Functions of PETRA]]  
* [[Gathering of Statistics - Which Sites Use Which Functions of PETRA]]  
** Status: ''Proposal needs to be prepared''
** Status: ''Proposal needs to be prepared''
Line 93: Line 92:
** Status: ''Proposal needs to be prepared''
** Status: ''Proposal needs to be prepared''
** Priority: None assigned
** Priority: None assigned
** Responsible: Nobody (at the moment)
* [[GUI Generator: Simulator for Previewing of GUI (No Dev.Env. necessary?)]]
* [[GUI Generator: Simulator for Previewing of GUI (No Dev.Env. necessary?)]]
** Status: ''Proposal needs to be prepared''
** Status: ''Proposal needs to be prepared''
** Priority: None assigned
** Priority: None assigned
** Responsible: Nobody (at the moment)


==Decisions Taken==
==Decisions Taken==
Line 107: Line 108:
* [[Validation Framework]]:  
* [[Validation Framework]]:  
** Decision: '''Go ahead with implementation (March 8th, 2011, Architecture Team telephone meeting)'''
** Decision: '''Go ahead with implementation (March 8th, 2011, Architecture Team telephone meeting)'''
** Status: '''Currently being implemented'''
** Status: '''Completed (March 2012)'''
** Priority: ''High'' for Phase 1; other Phases: to be determined
** Priority: ''High'' for Phase 1; other Phases: to be determined
** Responsible: ChristianK (with input from ThiasG)
** Responsible: ChristianK (with input from ThiasG)
* [[New CSharp Language features 3.0 and 4.0]]
** Decision: '''We corporately decided to use these features during an OpenPetra team meeting in November 2011'''
** Status: '''Completed (November 2011)'''
** Responsible: ChristianK and TimoP




==Meeting Notes==
==Meeting Notes==
* [[openPETRA meeting in Carlisle (Nov.30th - Dec.2nd, 2010)]]
* [[OpenPetra meeting in Carlisle (Nov.30th - Dec.2nd, 2010)]]

Revision as of 08:38, 4 April 2012

What is the Architecture Team?

A group of people within the OpenPetra development team that looks at and improves architectural issues of various kinds.

Team Members

The OpenPetra Architecture Team originally consisted of christiank and ThiasG. They were nominated to that job by the the other OpenPetra core developers at an OpenPetra meeting in Carlisle (Nov.30th - Dec.2nd, 2010). As ThiasG has left the OpenPetra Team in the first half of 2011, christiank is currently the only person on the OpenPetra Architecture 'Team'.

The members of the Architecture Team do not work full-time on architectural issues; rather they are 'normal' OpenPetra developers who can be contacted about architectural issues and who are pro-actively looking for architectural issues as they go about their development work. They might work full-time on issues for a certain time as the need arises.

Purpose of the Architecture Team

The Architecture Team...

  • pro-actively identifies issues in the architecture or development process of OpenPetra and highlights them to the development team.
  • investigates issues of the architecture or development process of OpenPetra as identified by other development team members.

and...

  • comes up with proposals on how to improve identified issues.
  • implements changes to resolve or improve the identified issues themselves, or delegates the implementation of changes to another member of the development team, depending on whatever is seen as best and who/if somebody is available for that.
  • creates and maintains documentation on the topics of
    • OpenPetra architecture
    • development process of OpenPetra


Discussions

Current Discussions

The list below contains discussions on current topics. There is no particular order unless priorities got assigned by the Architecture Team.

Please keep in mind that these are discussions only and might result in one or the other decisions!

Proposals are moved to this section once they become Discussions.

  • The decision on that is to be made only by the Architecture Team!
  • 'Status','Priority' and 'Responsible' and are to be assigned only by the Architecture Team!


Proposals for Potential Topics for Further Discussions

The list below contains proposals for discussions on topics that we might want to look at. There is no particular order unless priorities got assigned by the Architecture Team.

Please keep in mind that these are discussions only and might result in one or the other decisions!

You can add your own topics here - 'Status' and 'Responsible' are to be assigned only by the Architecture Team, though!


Decisions Taken

  • Other Source Code Versioning System than git:
    • Decision: Moving to Bazaar after evaluation (Dec. 7th, 2010, Architecture Team meeting)
    • Status: Completed (Dec. 14th, 2010)
      • Move to a Bazaar Repository completed, after two days of intensive evaluation.
    • Responsible:
      • Evaluation: ChristianK and ThiasG
      • Implementation: ThiasG, TimotheusP
  • Validation Framework:
    • Decision: Go ahead with implementation (March 8th, 2011, Architecture Team telephone meeting)
    • Status: Completed (March 2012)
    • Priority: High for Phase 1; other Phases: to be determined
    • Responsible: ChristianK (with input from ThiasG)
  • New CSharp Language features 3.0 and 4.0
    • Decision: We corporately decided to use these features during an OpenPetra team meeting in November 2011
    • Status: Completed (November 2011)
    • Responsible: ChristianK and TimoP


Meeting Notes