![]() |
|
|
|||||||
| Register | FAQ | Top Posters | Members List | Calendar | Search | Today's Posts | Resend Activation Email | Mark Forums Read |
| dotProject Documentation | dotProject FAQ | Bugs & Feature Requests | Language Packs & Themes | Download dotProject |
| General Questions Use this forum to ask questions or provide suggestions about general usage and how to's within the core dotProject modules. These modules include: Calendar, Tasks and Projects, Files, Contacts, Permissions, Forums, User Administration, System Administration etc. |
![]() |
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
Hello!
I am not sure if I am in the right forum section or if I should go to another one to announce my concern. But however I will explain my request: I am doing my PhD at the Vienna University of Technology in the area of project management and semantic technology. For developing a prototype I decided to use dotproject. And now I am looking for a "more or less" detailed description of the architecture of dotproject. Is there any description of the architecture and I just didn't find it? Or could anyone help me? Thank's in advance for any hints! Wit best regards, Birgit |
|
#2
|
|||
|
|||
|
Do you mean the database structure?
|
|
#3
|
|||
|
|||
|
no; I mean the structure of dotproject; how are parts of dotproject linked to others, ...
|
|
#4
|
|||
|
|||
|
The way I understand is there is a folder with the functions which you use to execute commands. THese function follow the basic rules of O B programming. So for example if you want to call data into a table you would normal go sql = "SELECT field FROM Table WHERE some thing = somthing" but in dot project you just call the DBQuery and the Objects like addTable().. this make the whloe process easy once you read the fuction which contant the basic API.
As for the structor of the HTML they are based on modual by modual. Companines for example has index.php which then call the vies (ve_page). As far as I can tell each modual is writen by different people so has different flows but most use the function. I have learn all this in about a week of studying the files. I would recommend you try to print some fucntion class and read the comments. I have also got a pencil and writen some more comments of how I use each one. Hope this is helps and if I'm wrong can some one correct me please. |
|
#5
|
||||
|
||||
|
krad is sort of right.
Dotproject is modular. It has a core that tries to abstract the worst of the database/object relations and provides helper classes for things like tabs, the overall view etc. You select the module using the m parameter, e.g. index.php?m=projects selects the default view in the projects module. You can then select an action using the a parameter, e.g. ?m=projects&a=view brings up the view handler. This assumes there is a view.php in the modules/projects directory. Typically an 'id' parameter is required to identify the object you want to view. For inter-module communication there is the tabs system, that allows a "foreign" module to inject a tab into another module. Again this is based on filenames and works reasonably well. Each module has a object definition that defines the object it refers to. E.g. CProject is the object class for projects. These classes provide many of the base requirements for a particular object and can be called by other modules. So the projects module uses tasks, companies, etc. The best way to get a handle on how it hangs together is to look at the code, and pick one of the simpler modules (like companies) to see how they interact.
__________________
http://www.saki.com.au/ - The driving force behind dotProject Latest dotProject Release: 2.1.2 Download now Nightly Stable 2 Snapshot |
|
#6
|
|||
|
|||
|
Thank you!
That's the way I am alreday doing! |
|
#7
|
||||
|
||||
|
You may find some useful information here: http://docs.dotproject.net/index.php...le_Development
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|