View ProjeQtOr On SourceForge.net
ProjeQtOr - Project Management Tool
Support us on Capterra
OIN - Open Invention Network
ProjeQtOr free project management software - Organization and parent Organization - ProjeQtOr
 

Organization and parent Organization

More
08 Feb 2017 23:01 #1 by tabary
Hello,

I see that the object Organization as an idOrganization in database, but it's not implemented in code.
However, one of my clients wants to use Projeqtor to manage its IT projects.
The concept of organization him strong interest with the possibility of having a hierarchy.
I have not seen in tickets this evolution.
For the moment, no need for a "hierarchical" view.
I made the necessary changes for a demonstration:
  • model / OrganizationMain.php,
  • model/persistence/SqlElement.php
  • tool/i18n/lang.js
  • tool/i18n/nls/fr

    File Attachment:

    File Name: organizati...rchy.zip
    File Size:112 KB
    /lang.js
On the other hand, I blocked for the moment on the consolidation of the budget on the parent (not essential, restitution Excel allows me to do the consolidation).
Can you integrate this request in a future release?
Thanks in advance
Attachments:

Please Log in or Create an account to join the conversation.

More
13 Feb 2017 22:30 - 14 Feb 2017 22:30 #2 by tabary
Hello,

I continued to work on the subject.
I think I have a "nice" solution:
  • Control on "Close" to an organization (SqlElement. $_closeRelationShip):
    Don't close an organization if
    it has a suborganization not close
    an associated resource not close
    an associated project not closed
  • Control on "Delete" of an organization ($SqlElement. $_relationShip)
    Don't remove an organization if
    a suborganization exists
    a project is associated with this organization
    a resource that is associated with this organization

Correction of the copy of an organization: SqlElement.copySqlElement

Calculation of the sortOrder of an organization: OrganizationMain.getOrganizationSortOrder

Recursive search of the subsidiary organizations: OrganizationMain.getRecursiveSubOrganizations and OrganizationMain.getRecursiveSubOrganizationsFlatList

Hierarchical consolidation of PlanningElement: OrganizationMain.updateSynthesis

Update of the "topId", "refToId", etc.: BudgetElement.save (I'm not sure I understood all on elementary)

Organization.sortOrder (cascade on the id of the parent organizations) for the list of organizations sorted on hierarchy and "Hierarchical" organizations combo: OrganizationMain.getOrganizationSortOrder)

"Hierarchical" organizations combo: html.htmlDrawOptionForReference

Translation of "parentOrganization": lang.js (i18n and nls/i18n/en)

I did a number of tests, but I'm far from being complete.

I join the sources (projeqtor version: V6.1.0) on which I made changes (tag: "XXX BY ME - 2017 - MM - dd").

Hoping to have done advanced the project (also great) and this contribution will be present in a next release.

Great

Marc
Attachments:
Last edit: 14 Feb 2017 22:30 by tabary. Reason: Error on projeqtor version code

Please Log in or Create an account to join the conversation.

More
15 Feb 2017 22:48 #3 by babynus
I recorded your zip files.
I have no time yet to have a look but will check your contribution as soon as possible.

Babynus
Administrator of ProjeQtOr web site

Please Log in or Create an account to join the conversation.

More
17 Feb 2017 23:25 #4 by tabary
First of all, thanks for your reply,

In fact, I need to know if my codes are correct for you (I discover your FrameWork, and i'm not sure to be "clean").
Indeed, I saw some gaps and bugs on the existing implementation and my intention (if you agree) is to continue to work on the subject to compensate for them (where my need to know).

Like what: :
  • Fix my own bugs:
    • DONE : signature of htmlDrawOptionForReference in html.php
    • DONE :BudgetElement.refName and unmodified BudgetElement.idle
  • IN TEST : Managing the rights of visualization of the work and cost
    (I also fixed an error on Meeting where everything was displayed or anything)
    NB: For the moment, no display of reserveAmount at the level of BugdetElement (apparently not implemented in PlanningElement but not managed and only displayed in readonly everywhere)
    By the way, can someone tell me his goal (this seems interesting project - reserve envelope level)?
  • IN TEST : Display in the right columns of the summary the datas
  • IN TEST : Spread on BudgetElement, project's expense on its creation, updating, deleting
  • IN QUALIFICATION (that is to say : I need to better know the framework) : Restriction of the list of organizations (screen & combobox) depending on the user rights (profile) and his membership in the Organization (and sub-organizations)
  • IN QUALIFICATION : Have the information about the "indicators Consolites" reports
  • IN QUALIFICATION: Assign resources to an organization since the details of the Organization
  • IN QUALIFICATION : Assign projects to an organization since the details of the Organization
  • TO VALIDATE BY THE COMMUNITY : Management of the manager:
    The manager of an organization should belong to the Organization (or its parents) or not?
    From my point of view: Yes
    Indeed, if not, the impacts on the rights management may introduce rules "complex"
  • TO VALIDATE BY THE COMMUNITY : Integration of the concept of budgets on the Organization
    The columns in the database exist and in the codes. Lack implementation. The idea:
    • in a first time:
      A budget 'on input' (Work and Cost) about each organization (storage on BudgetElement).
      Calculation of consolidated budgets 'on input' (hierarchy)
      Presenting a budget summary display: The differences between 'input', 'consolidated' budgets and budgets related projects
      Establish indicators of budgets
    • In a 2nd time:
      Use of 'year' for an annual budget: A line of BudgetElement per year
      Need to calculate budgets year projects (use of plannedWork?-Performance?)
      Adding a combobox 'Year' for the summary view
      Etc.

Surely, I forgot some things...
Hoping to move this project forward.

Best regard.

Please Log in or Create an account to join the conversation.

More
18 Feb 2017 14:29 #5 by babynus
Hi,

Thanks for status about your work.

I has a quick glance at your code, and it seems correct, respecting framework standards.
Just 2 points I could notice :
- you tagged your changes with "ADD BY ME", and it's wrong because I am ME and you should have written "ADD ME YOU", and it I request the community, I gues they would guess you should write "ADD BY HIM" ;)))
- if you make some new translations, please provide the lang.xls file so that we can integrate your changes in order to get them translated in all languages (and all lang.js files are always overwritten by lang.xls macro)

Thanks again.
Hope I'll get more time soon to test your contributions

Babynus
Administrator of ProjeQtOr web site

Please Log in or Create an account to join the conversation.

More
24 Feb 2017 23:34 #6 by tabary
Hi,

You will find enclosed, the result of my work week.

What has been done (and tested on major cases) :

1 FrameWork Server (Model part)
Comments: "CONSTRUCT DATA FROM FUNCTION"
Ability to display in the masters (list) screens and Details of data built from a method of the object (a method by built data).
No naming rule.
No special drawing function.
This allowed me to display the hierarchy of the Organization in the Master organization, (pending better, as for example recovery of the planning screen to display the hierarchy or using a FrameWork js with the ability to draw a hierarchy) with all the possibilities (filter, column display et change place, printing, PDF & CSV export, etc.) of a "native" SQL data.
It deferts, mainly, of '_calc_' for the previous reasons.

An example of use is given in 'OrganizationMain.php'.
My next use is for budget of organization.

The principle:
The data is considered a given SQL, except that during the construction of the SQL (in SqlEment.php and jsonQuery.php) order, in the 'select', it is replaced by "'Method name' as 'the given name'" (SQL order means, it is a 'static' data).
After execution of the SQL, for each returned row, "Method name" is replaced by the result of execution of the method. The format of the data is found through the variable '_fieldsFromFunctionFormatList' of the object static.

2. FrameWork Front
Comments : "OBJECTS LINKED BY ID TO MAIN OBJECT"
Since details of an object screen, possibility to draw a table (on the model of section '_Link') containing a list of objects related to the object of the screen by id (foreignKey). Management of the association (idXXXX = XXXX-> id) and dissociation (idXXXX = null) of related objects.
a. use of a new rule of naming on the name of the 'XxxxxOfObject' section.
b. Creation in 'main.php' of the 'div' dialog (dialogObject) and the 'objectForm' form
c. Creation in 'objectDetail.php' of function 'drawObjectLinkedByIdToObject' to draw the content of the section and calling the function based on the name of the section, the name of the column
d. Creation in 'projeqtorDialog.js' the functions
- to display in a '<select>' the instances of the object
- to add multiple links
-to remove links
-to call the constructor of the '<select>'
e. creating the file 'dynamicListObjectLinkedByIdToMainObject.php' for the construction of the '<select>' and populate it with the datas
f. creating the file 'saveObjectLinkedByIdToMainObject.php' to store base associations (idXXXX = XXXX-&gt; id)
g. create the file 'removeObjectLinkedByIdToMainObject.php' to store in base the dissociation (idXXXX = null)

Used for detail organizations: display, association and dissociation of 'Projects' and 'Resources'.

3. Management of the visibility of the organisations in the 'Master' (Screen) and the combobox (list) screens:
Comments : "ORGANIZATION VISIBILITY" or "ORGANIZATION & RESOURCE VISIBILITY"
Setting in HabilitationOther of the types of visibility of data organization in screens and lists.
3 choices:
a. 'No restrictions'.
b. 'organization and sub-organizations': the user sees organizations (and the like) to which it belongs (Resource-&gt; idOrganization)
c. 'same organisation only': the user sees that the Organization to which he belongs.

4. Add a visibility option in screens and lists (Organization and sub-organizations) resources:
Comments "RESOURCE VISIBILITY"

5. Application of the visibility of resources on assignments
Comments "RESOURCE VISIBILITY"

6. Application of the visibility of the resources on the buttons 'Search' and ' access to ' associated with the combobox of resources (idResource)
Comments "RESOURCE VISIBILITY"

7. Management of the visibility of costs and charges for organizations (summary)
Comments 'WORK AND COST VISIBILITY'

8. Correction of the visibility of the charges and costs for meetings
Comments 'WORK AND COST VISIBILITY'

9 Spread of expenses on the budgets of the Organization in creating, editing, deleting a expense
Comments "EXPENSE CONSOLIDATION we ORGANIZATION"

10 Spread of reserves on the budgets of the Organization to the creation, editing, deleting of a risk
Comments "CONSOLIDATION RESERVE we ORGANIZATION"

11. Consolidation of indicators "consolidated" on organizations and subsidiary organizations
Comments "KPI CONSOLIDATED WITH SUB-ORGANIZATIONS"

12. Management of the manager of an organization:
Comments "ORGANIZATION MANAGER"
Application of the following 2 rules:
a. manager of an organization must belong to the Organization (no decascade on the parent organizations)
b. a manager can't be remove of its organization

13 Display in summary of organization data in good columns
Comments 'WORK AND COST IN GOOD CELL'

14 Translation in lang.xls ;-)

15 Comments with "BY HIM" instead of "BY ME" Re ;-)

For next week, I plan to incorporate the concept of budget organization, with the notion of the year (for the year, I made a little unsuccessful attempt).

I think having been faithful to the concepts of the FrameWork.

Best regards,
Attachments:

Please Log in or Create an account to join the conversation.

Moderators: babynusprotion
Time to create page: 0.055 seconds

Cookies settings

×

Functional Cookies

Ce site utilise des cookies pour assurer son bon fonctionnement et ne peuvent pas être désactivés de nos systèmes. Nous ne les utilisons pas à des fins publicitaires. Si ces cookies sont bloqués, certaines parties du site ne pourront pas fonctionner.

Session

Please login to see yours activities!

Other cookies

Ce site web utilise un certain nombre de cookies pour gérer, par exemple, les sessions utilisateurs.