Forum

Organization and pa...
 
Notifications
Retirer tout

Organization and parent Organization

21 Posts
2 Utilisateurs
0 Reactions
17.6 {numéro}K Vu
(@tabary)
Posts: 27
Active Member
Début du sujet
 
[#4080]

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

    /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


 
Posté : 9 Fév AM 01:022
(@tabary)
Posts: 27
Active Member
Début du sujet
 

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


 
Posté : 14 Fév AM 00:022
(@babynus)
Posts: 14952
Membre Admin
 

I recorded your zip files.
I have no time yet to have a look but will check your contribution as soon as possible.


 
Posté : 16 Fév AM 00:022
(@tabary)
Posts: 27
Active Member
Début du sujet
 

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.


 
Posté : 18 Fév AM 01:022
(@babynus)
Posts: 14952
Membre Admin
 

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


 
Posté : 18 Fév PM 16:022
(@tabary)
Posts: 27
Active Member
Début du sujet
 

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 '' the instances of the object
- to add multiple links
-to remove links
-to call the constructor of the ''
e. creating the file 'dynamicListObjectLinkedByIdToMainObject.php' for the construction of the '' and populate it with the datas
f. creating the file 'saveObjectLinkedByIdToMainObject.php' to store base associations (idXXXX = XXXX-> 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-> 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,


 
Posté : 25 Fév AM 01:022
(@tabary)
Posts: 27
Active Member
Début du sujet
 

Hi,
TAKE CARE :
The version of lang.xls is for 6.0.0 (the last version on projeqtor.org)


 
Posté : 27 Fév PM 13:022
(@tabary)
Posts: 27
Active Member
Début du sujet
 

Hi,

Sorry
The addition of the feature "CONSTRUCT DATA FROM FUNCTION" does not work.
I was bigger I'm actually.
I take it off.

Sorry again.


 
Posté : 1 Mar AM 01:033
(@tabary)
Posts: 27
Active Member
Début du sujet
 

Hi,

First of all, I realized that I had not provided you a file during the last delivery:
view/js/projeqtorDialog.js => the "ADD OBJECTS LINKED BY ID TO hand OBJECT" function would not work (sorry) (at the moment I do not work with GIT => I do the merge by hand).

Then, the work of this week (hopefully not missed anything)
1. translation: lang.xls version 6.1.0 (found on gitub)

2. deletion of "CONSTRUCT DATA FROM FUNCTION" (doesn't work <= to much recurcive call).
Then, integration of a lighter and less invasive version on the FrameWork ("DATA CONSTRUCTED BY FUNCTION" (fields prefixed by "_byMet_" - see explanation in 'OrganizationBudgetElementMain.php')

3. Integration of budgets 'ORGANIZATION BUDGET' and their synthesis

  • In this version no annual budget (one per organization)
  • Synthesis: Gap on budgets compared to the girls - % of projects vs budgets
    At this level, coloring a % based on 3 thresholds defined in the attribute of the field or in the case of the organizations, based on the values stored in base (see explanation in OrganizationBudgetElementMain.php') ("SET VALUE OF XXX, YYY, ZZZ IN ' alertOverXXXwarningOverYYYokUnderYYY")

4. Creating a 'generic' function to display an integer and so a year in a spinner ("DRAW SPINNER").

  • Use of a new field 'static' = $_spinnersAttributes (explanation of the structure in SqlElement.php)
  • Function that display it in 'html.php' ('htmlDrawSpinner' function)
  • Implementation in 'OrganizationMain.php'

Next week, I'm trying to implemented budgets by year or better period (Date start - end Date).

Hoping that you are interested in this work.

Best regards


 
Posté : 4 Mar AM 00:033
(@babynus)
Posts: 14952
Membre Admin
 

Hi Marc,

Thanks for your contributions.
I had no time yet to implement and test them, but your work seem in the good direction, corresponding to our roadmap.
I Hope I'll soon have few hours to test your new features.

Thanks !


 
Posté : 4 Mar PM 22:033
(@tabary)
Posts: 27
Active Member
Début du sujet
 

Hi,

Glad to know that it is registered in the roadmap.
This week, I did have the time to work on the subject.
I think complete budgets by year next week.

I find a big bug on jsonlist.php due to my code (The correction attached) : 'BUG Undefined variable: scope'

Best regards


 
Posté : 11 Mar AM 02:033
(@tabary)
Posts: 27
Active Member
Début du sujet
 

The management of budgets by year is now implemented.

But first, some generic features:

1. in the tables '_tab_' do not display the ':' on the labels of the lines when they are empty ("NO ':' IF LABEL IS EMPTY" tag).
I modified the 'writeFile' macro of lang.xls. So that if column 1 is 'colEmpty' then the translation remains empty => it doesn't help to translate colEmpty.

2. Now, in tables that represent the objects bound by id to the main object, there are :

  • implementation of the 'goto' (access the display of the selected linked object) tag "LIST OF OBJECTS LINKED BY ID TO hand OBJECT DRAW - href")
  • Addition of the idle attribute (tag "LIST OF OBJECTS LINKED BY ID TO hand OBJECT DRAW - idle")

3. creation of 2 new types of attribute ($_fieldAttributes) specific to '_byMet_':
superforceInput & forceInput (see explanation in OrganizationBudgetElementMain.php)

4. disabling fields do not part of the base of the object field in the detail of an object when a field in the detail of the main object is changed (js function: formChanged)
tag "ALLOW DISABLED SPECIFIC WIDGET" (see explanation in SqlElement.php private static $_disabledFieldsOnChange)

5. pattern for an Edit Number of type year (year in fieldname)
tag "PATTERN FOR YEAR"

6. fixed a bug: the assignment of the manager is always active when the organization is closed (tag: "EXTRA BUTTON (Assign you me) IS VISIBLE EVEN IDLE = 1").
I have not applied it on other objects (project, etc.) not knowing if this was done intentionally or not.

7. I took the liberty to add the ability to copy "Activity Prices" when copying a project (tag 'COPY ACTIVITY PRICE WHEN COPY PROJECT' in ProjetMain.copyTo, copyToProject.php, dialogDynamicCopy).
Indeed, my service center manage sprints for my clients (who are in fact projects) I copy at least 1 time per month a model project (activities 'Initialization Sprint', 'Rétrospective Sprint', 'Ongoing', 'Hot Fix build', ' Release Build', etc.) and need to duplicate activities prices

Then, organization-specific features:

1. automatic assignment of an organization to the organization manager

2. application of the next rule: you can't disassociate a project of an organization or a resource if the resource or the project is closed

3. creating a section of the projects related to the Organization and its organization

4. Creating 3 new icons : close, unclose, subOrganization (tag "ICON BUTTON CLOSE - UNCLOSE - SUB ORGANIZATION" )

And, the management by period (year) budgets :
Refer to the tag ""PERIODIC YEAR BUDGET item" to see what is made (too adds and changes to detail here).

Finally, what I expect to do next week:
Generic functions:
Allow not to display fields in the columList and the FieldList of Filter

Organization' functions :
Import an organization and associated budgets (I have not yet seen how the FW works towards imports)
Create the APIs on organizations (I've not yet seen what offers the FW).

For information, these features are requested by a client (retail of the South-West region 😉 ) who would like to use PROJEQTOR as part of its overhaul (not sur of the translation, then in french : Refonte) of its SI.

In attachment : Zip of full :
- db
- model
- report
- tool
- view
directories (version : 6.1.0)

Best regards,


 
Posté : 18 Mar AM 00:033
(@tabary)
Posts: 27
Active Member
Début du sujet
 

Hi,

Here's my work of the week:

1. Add a new type to _fieldAttributes: noInFilter
To not have this attribute in the attributes of the filters list (FIELD NOT PRESENT FOR FILTER)
See application in OrganizationMain.php for alertOverPct, warningOverPct, okUnderPct

2. Export data of BudgetElement (EXPORT FIELD):
Add the already implemented 'forceExport' attribute type for the organization and budgetElement fields to export

3. List of data to export (CSV).
Do not display the sections without data in 'dynamicDialogExport' ("EXPORT - DON'T DRAW SECTION WITHOUT FIELD")

4 Initialize budgetElement.refName with organization.name for organizations (INIT REFNAME OF ORGANIZATION's BUDGET ITEM)

5. Importation of organizations & the budgetElement Associates (IMPORT ORGANIZATION AND BUDGET ITEM)

6. some corrections

PS: For the APIs of organization: nothing to do, as already done by the existing FW.

For my part, not seeing what additional features add, this is my last contribution on the subject of 'OrganiZation', except of course if I find any bugs.

For the coming weeks, if my contribution is validated, I'll do a 'functional' documentation (in french).

As an attachment, folders with changes from last week (see previous reply). Version 6.1.0

Best Regards


 
Posté : 24 Mar AM 00:033
(@babynus)
Posts: 14952
Membre Admin
 

Hi,

I finaly found few hours to work on your contribution this week-end.
So I've just started integrating your changes.
Here are my comments

=> db/projeqtorV6.x.sql

1) You added some lines in table list, but this table is diesigned for Screen Customization plugin only.
So I'm afraid it is bad design.

2) Moreover you add 4 lines (OK) and change sortOrder for ids that were not created.
I think you deal with some lmines that are included in no script.

=> Organization screen

1) When adding Project or Resource (I like the way you integrated it), selected several items in the list to add adds only one element
(small issue, not major at all)

2) When adding budget, work in always in day, even if unit is hours (that is correcly displayed then on budget synthesis)
Not a big issue but may be frustating (not for me as I always work with days)

3) I don't understand how the budget part works :
What is the "daughter gap" ? it always seems equal to budget
How is data consolidated over years ?
For instance, validated work seems to include all projects whatever the year.

4) What is the "projects prg" ? Real VS Budget ?
Then I don't undestand how color for threshold works.
What is it an alert for ?

5) I also liked the previous "synthesis for all ongoing projects".
That is not linked to buget but gives interesting data over ongoing projects for organization.
Why did you remove it ?

=> /model/BudgetElementMain__.php

1) What is this file ?

=> To answer your previous questions

1) Project Reserve comes from risks.
It is a reserve for risks. Risks with impact of 1000€ and likelihood at 50% reserves 500€ on budget.

2) The manager of an organization should belong to the Organization (or its parents) or not?
To fit Projeqtor design, I would say no.
If you go to project, you'll see that project manager can be selected even if not allocated to the project.
So maybe it should be the same for organization.
But we are also working on quite opposite design : automatically allocate manager to project 😉 (will come in V6.2)
It's not an issue, as manager does not get automatic access rights. He only gets them through allocations.
But to simplify, possibly you could simplify access for organisation so that only resource of organization can see the organization (if allowed to open the screen)

=> Last

1) Hard synchonization work
You worked on V6.1 that was not finalized.
So many changes done on V6.1.x (fixes) are not integrated in your code, and as you provided all files, it's a bit hard to identify fixes that were not included in your code.
So we have to integrate your code very very (very) carefully to avoid regression in V6.1.x code.
Moreover we are now working on V6.2.0 that brings many changes... And it's another hard work to integrate your work from V6.1 to V6.2.
We have to first integrate your work in working copy for branch V6.1, and checked each file to avoid regressions (this work is in progress).
Then we have to generate patch, and apply it to V6.2. Of course in is not immediate because of differences from V6.1 to V6.2 in community version (this work has not been started yet).
Then we have to re-test our own evolutions to check there were no regression (hard work to do)

2) My advise
I'm not sure we will do this twice.
So if you wish to integrate your work in community version :
a) work from latest branch; best is to get a working copy from the branch (from svn repository at sourceforge)
b) regularly integrate changes from branch to your code; if you work with a working copy, just update code. You won't be able to commit, it is normal (we want to approve all that comes in)
c) if new branch appears, switch to the new branch
d) when you're ready, just provide us with a "patch" for your code
For information we are working on Eclipse (PHP version called PDT) with svn plugin. All is easy with these tools.
Steps above can be done this way :
a) repository > checkout
b) team > synchronize > update
c) checkout new branch, export your code to new branch
d) team > create patch
This will help us much and give better chance to have your code integrate community version.


 
Posté : 26 Mar PM 21:033
(@tabary)
Posts: 27
Active Member
Début du sujet
 

Hi,

At first, tank you for the time spend to inspect my contribution.

Now, the answers :

1) You added some lines in table list, but this table is diesigned for Screen Customization plugin only.
So I'm afraid it is bad design.

I don't understand:
I just repeat what has been implemented for the visibility on the resources in the 'habilitationOther'.
The 'list' table is used to define the types of visibilities for resources (from version 6.0.0)
However, if it is a wrong way to do, can you point me to the right path.

2) Moreover you add 4 lines (OK) and change sortOrder for ids that were not created.
I think you deal with some lmines that are included in no script.

IDs exist: are those used for the visibility on resources (version 6.0.0)

=> Organization screen
1) When adding Project or Resource (I like the way you integrated it), selected several items in the list to add adds only one element
(small issue, not major at all)

DONE - ADD MULTIPLE OBJECTS LINKED BY ID

2) When adding budget, work in always in day, even if unit is hours (that is correcly displayed then on budget synthesis)
Not a big issue but may be frustating (not for me as I always work with days)

DONE - WORK WITH UNIT IN PARAMETERS

3) I don't understand how the budget part works :
What is the "daughter gap" ? it always seems equal to budget

Daughter gaps are calculated in the following way:
Budget of the Organization - sum(budget of it daughrer) (recursively)
For example, if the Organization A has to budget (for one year):
Work = 100j - cost = €1000 - expenses = €500
And it has 2 daughters (A1 and A2) which have the respective budgets (for that year):
A1 = work = 50j - cost = €500 - expense = €100
A2 = work = 30j - cost = €300 - expense= €600
A budget gap with respect to A1 and A2 (it daughters) will be:
Work = 20j - cost = €200 - expenses =-€200

How is data consolidated over years ?

The consolidations over the years are as follows: For each project the Organization and its subsidiary organizations: Filtering with PlanningElement in the following way:
/ BudgetElement period based on
// - realStartDate and realEndDate if PlanningElement.idle=1
// - validatedStartDate and validatedEndDate if PlanningElement.idle = 0
// xxxStartDate = null : No Filter >
// xxxEndDate = null : No filter and < on selected period
$whereClause .= '(
(idle=1 and
(
(isnull(realStartDate) and isnull(realEndDate)) or
(isnull(realStartDate) and year(realEndDate)=YYYY) OR
(isnull(realEndDate)) OR
(year(realStartDate)=YYYY or year(realEndDate)=YYYY)
)
) or
(idle=0 and
(
(isnull(validatedStartDate) and isnull(validatedEndDate)) or
(isnull(validatedStartDate) and year(validatedEndDate)=YYYY) OR
(isnull(validatedEndDate)) OR
(year(validatedStartDate)=YYYY or year(validatedEndDate)=YYYY)
)
)
)';
Then the budgetary elements of the projects are the sum of the corresponding data for the selected planningElements. For the realWork and the realExpense of BudgetElement, if the budget year is less than the current year, are the work.work and the expense.amount for the years <= the budget year used for the calculation of the BudgetElement.realXXXXX

For instance, validated work seems to include all projects whatever the year.

For now, projects are associated with the Organization and not its annual budgets.
The calculation of the budgetary elements from the projects is based on this "unique" link.
To attach a budget to projects, should create a ProjectBudgetElement object (associated with a new table ProjectBudgetElement). In this case, the link project-organization (project.idOrganization) no longer serves much.
This is a development that I can consider if the community requests

4) What is the "projects prg" ? Real VS Budget ?
Then I don't undestand how color for threshold works.
What is it an alert for ?

Projects prg is the progression of the project compared to the budget.
So organization has a budget of work in 2016 100j and 200j of work in 2017 (this works the same way for the costs and expenses).
The progress for the 2016 budget is: work (work table) of projects associated with the Organization and those associated with his daughters (recursively) with work.year = to the % of threshold alert then the field 'project prg' (Work, Cost, or Expense) is in red. It is alert when the budget is near to being met or exceeded (for my case, I position this threshold according to the progress in the year: 25% in Q1 - 50% in Q2 - etc.) = to the % of threshold Warning then the field 'project prg' is orange (for my case, I positioned this threshold to Q1 = 20% - 40% = Q2 - Q3 = 70% - Q4 = 85%)
Finally, the third line (OK) identifies "good health" on budgets compared to the project.

5) I also liked the previous "synthesis for all ongoing projects".
]That is not linked to buget but gives interesting data over ongoing projects for organization.
Why did you remove it ?

Don't understand.
Maybe: The "ongoing project" is given by the budget of the current year (see rule of data bindings)

=> /model/BudgetElementMain__.php
1) What is this file ?

It was originally a way to see if this file was used (this is not the case). In the patch, it becomes "BudgetElementMain.php" in the original (before my contribution)

2) The manager of an organization should belong to the Organization (or its parents) or not?
To fit Projeqtor design, I would say no.
If you go to project, you'll see that project manager can be selected even if not allocated to the project.
So maybe it should be the same for organization.
But we are also working on quite opposite design : automatically allocate manager to project 😉 (will come in V6.2)
It's not an issue, as manager does not get automatic access rights. He only gets them through allocations.
But to simplify, possibly you could simplify access for organisation so that only resource of organization can see the organization (if allowed to open the screen)

For now, I leave the management rule: A manager of an organization must belong to the organization. Indeed, budget management is very sensitive to the level of the companies and officials often ask to have strict rules about the rights to see, to manager. It is besides for this that I've implemented rules of visibility (the famous ' bad design' 😉 ).

=> Last
1) Hard synchonization work
You worked on V6.1 that was not finalized.
So many changes done on V6.1.x (fixes) are not integrated in your code, and as you provided all files, it's a bit hard to identify fixes that were not included in your code.
So we have to integrate your code very very (very) carefully to avoid regression in V6.1.x code.
Moreover we are now working on V6.2.0 that brings many changes... And it's another hard work to integrate your work from V6.1 to V6.2.
We have to first integrate your work in working copy for branch V6.1, and checked each file to avoid regressions (this work is in progress).
Then we have to generate patch, and apply it to V6.2. Of course in is not immediate because of differences from V6.1 to V6.2 in community version (this work has not been started yet).
Then we have to re-test our own evolutions to check there were no regression (hard work to do)

I understand.
I'm now working on version 6.2 through your SVN (Revision 3929)

2) My advise
I'm not sure we will do this twice.
So if you wish to integrate your work in community version :
a) work from latest branch; best is to get a working copy from the branch (from svn repository at sourceforge)
b) regularly integrate changes from branch to your code; if you work with a working copy, just update code. You won't be able to commit, it is normal (we want to approve all that comes in)
c) if new branch appears, switch to the new branch
d) when you're ready, just provide us with a "patch" for your code
For information we are working on Eclipse (PHP version called PDT) with svn plugin. All is easy with these tools.
Steps above can be done this way :
a) repository > checkout
b) team > synchronize > update
c) checkout new branch, export your code to new branch
d) team > create patch
This will help us much and give better chance to have your code integrate community version.

DONE - The patch is in attachment
I hope this is what you wanted

Also in attachment, the lang.xls (it poluate the patch).

Best regards,


 
Posté : 1 Avr AM 00:044
Page 1 / 2
Share:
Retour en haut