| #summary One-sentence summary of this page. |
| #labels 2013DeveloperDoc |
| |
| = Introduction = |
| |
| Document describing how information is stored and managed on Melange. It describes the relationships between the data entities and how those entities are transformed into UI elements. |
| |
| = Details = |
| |
| == Data model architecture == |
| |
| === Jargon === |
| |
| * Model - Structural and relational definition of the data. |
| * Entity - An instance of the data model which is stored. |
| |
| === User Information === |
| |
| * User model stores the user's public name, the Google account with which the user signed up for Melange and the user's link id. |
| * Profile information is stored in the Profile model which is in turn inherited from Role model. The user entity of the user to whom profile belongs to serves as the parent of the profile entity. For students there is an additional StudentInfo model which stores student specific information such as school name, project and proposal counts in GSoC and so on. Profile model is the parent of the StudentInfo model. Both the Profile model and StudentInfo model contains user supplied information and derived properties. |
| |
| |
| === Program Information === |
| |
| * The program model stores the settings such as total number of slots available, age restrictions for participants, program's current visibility that are related to the entire program. |
| * The timeline model stores the program's timeline. However the timeline corresponding to organization application and mentor and student midterm and final evaluations are stored as part of the corresponding surveys outside this GSoCTimeline model. There exists a 1:1 relationship between the program model and the timeline model. program model references the timeline model through "timeline" reference property and timeline model references program model through "scope" reference property. |
| * The program messages model stores the message bodies of the emails that are sent by hosts to different various participants. Message model is a descendent of program model. |
| * The organization model stores both the information pertaining to the organization that are publicly visible such as organization name, contact details etc. and organization specific settings such as their GSoC proposal scoring scale, accepted and rejected messages, etc. This model also stores some derived information such as the number of mentors assigned to proposals, slots allocated and so on. |
| |
| |
| |
| |
| Relationship between entities: |