UI > personView > Feature (approved)

notice on persons? / #1837

Summary

approved
Sep 7, 2006
100%
Oct 26, 2006
Sep 7, 2006 / binder
Oct 26, 2006 / pixtur
burger
 

Attached files

No files uploaded
It's important to have a notice on persons only.
sometimes a client or prospective client calls and you have to put down some notes not on a specific task.
In that context it would also be important to add notices on projects.

And last not least should a notice be in some way related to a person. So it would be a kind of CRM-functionality, so the information of a phone-conversation can be assigned to a PM?

29 Comments

pixtur

Sep 8, 2006
Already implemented, but...
Most of this features are already implemented, but I disabled them, because the cluttered the interface and are probably not the best way to handle this task. I think what we need is a quick way to create a "wiki page"-task.

Some background:
  1. Due the the user right model we cannot have items outside of projects. That keeps us from attaching items to persons, because we do not know, how to check visibility for them. (I am still looking for a solution of this problem).
  2. Although there could be project-comments, why not create a new tasks? If we introduce a task category anyway (see task categories) it would provide the same functionality and much more. (e.g. you could turn it into a real task and assign it. You could book an effort on a telefon conference, etc.). I am not sure how to link it to a person though...

binder

Sep 8, 2006
Reply to Already implemented, but...
sounds interesting. especially the last part.

But we should keep an eye on how long this could take. Imagine the phone rings and you have to open a new task, put the person in this task, add a notice, etc. pp...

It would be much easier to search for "mr. smith" and add some action to him.

binder

Sep 19, 2006
version 2
Reply to Already implemented, but...
i thought again about it. I'm looking for some kind of CRM-functionality like this:
  1. person/client calls
  2. i open him via search
  3. personView gives me the joice to "add new <<task>>" (or whatever we will call it?)
  4. the next view is like the newtaskview, but there
    1. I can also assign the task to existing projects/folders which the person (who called) is assigned to or
    2. I can create on the fly a new project/folder to put the task in
Thus we don't have to find new ways to assign notices on persons and we also have the great opportunity to have a phone call turning into a task via one click (which is really sexy!) *G*

pixtur

Sep 19, 2006
Cool idea...
Hi Binder,
I like your thinking very much (I believe we work in quiet the same manner). I will write some more soon...

tom

binder

Sep 27, 2006
Reply to Cool idea...
something new? ;)
we need this urgently... *G*

madlyr

Sep 19, 2006
and if we could count easily time spent on that phone call...
... it would be >>almost<< everything we need ;)

binder

Sep 20, 2006
version 2
Reply to and if we could count easily time spent on that phone call...
you could then book efforts on this "task" (or whatever it's called: task categories).
thus, you can count all efforts on a project (including phone calls).

Is this what you need?

madlyr

Sep 20, 2006
Reply to Reply to and if we could count easily time spent on that phone call...
Yes. If we could categorize (kind of effort?) of efforts (e.g. consultation, phoe calls, research, coffe break) and then see time spend not only on particular tasks/efforts/project but on particular categories, then it would be ideal.
More... We could count category efforts across projects, persons, etc.

Effort category should be expandable easily - different people or firms, different needs.

I'm not shure if this do not crosses streber with other functionality, but this kind of statistical view could be very interesting.

binder

Sep 20, 2006
version 2
Reply to Reply to Reply to and if we could count easily time spent on that phone call...
cool idea!
this would also solve a question, which will arouse later, if we added some calculation features for streber. Different categorized efforts could result in different sums for calculation of the bill! Then you can calculate the benefit of a specific team member or a project, ...

see Statistic/Summary or cashflow (cost) Managemant/task for more on statistics.

pixtur

Sep 27, 2006
Sorry for the delay, how about this solutions:
  1. in personView add "Create Note"
  2. render pages/task_more.inc.php -> taskNoteOnPerson()
  3. renders a small form similar to taskEditDescription() with following fields:
    • Drop-Down of open projects:
      • default should be project last $auth->cur_user has last been working on
      • projects with PersonXYZ as team member should be preferred
    • Inputfield Title with default content like "Note on PersonXYZ, 2006-10-26 on..."
    • Text area on description
    • form option checkbox (like create another...): "Book effort after submit"
  4. after submit all pages/task_more.inc.php -> taskNoteOnPersonSubmit()

A nice feature whould be add a second dropdown field with the tasks of the selected project, which could be updated on change by jquery.

Something like this.

tino

Sep 27, 2006
Reply to Sorry for the delay, how about this solutions:
Hey burger,

A nice feature whould be add a second dropdown field with the tasks of the selected project, which could be updated on change by jquery.

When you're done, I could give it try.


regards tino

binder

Sep 28, 2006
version 4
Reply to Sorry for the delay, how about this solutions:
No problem, I just didn't want to let the issue be forgotten! ;)

Problem with your suggestion is, I cannot filter for persons (e.g. clients). If I'm preparing for a meeting with my client, I wanted to see, what we discussed the last days/weeks/months/... I would like to see a connection between persons and notices. So I can also assign a team member to specific conversations: The result of a phone call can be interesting for a team member, so I can assign the notice also on that team member. So I'd like to stay with the "task-solution", we discussed earlier. If your described "note" is a sub-categorie of "task", I'm convinced! Then I can assign this client to that task!

but I would also change your step 3, because it should also contain the possibility to add a new project:
  1. renders a small form similar to taskEditDescription() with following fields:
    • Drop-Down of open projects:
      • default should be project last $auth->cur_user has last been working on (is this default necessary?)
      • projects with PersonXYZ as team member should be preferred
      • one field should be "new project ..." => onChange to this value reveals inputfields
        • title of new project
        • short of new project?
        • drop-down list company with default company PersonXYZ is assigned to
        • ... more information on that stage? I still can edit that project later on!
    • Inputfield Title with default content like "Note on PersonXYZ, 2006-10-26 on..."
    • Text area on description
    • form option checkbox (like create another...): "Book effort after submit"
    • the note should also automatically be assigned to cur_user
last/not least I would change other views as well:
  1. add "see notes" to personView => lists all "notes", which that person is assigned to with possibility to expand view (like the new Show effort description)
  2. show notes an "my tasks"-page => I can assign a phone call to a person, which is not at the office at present
  3. add a list of last notes on the Extended home view for project manager

pixtur

Sep 28, 2006
version 2
Excellent
This is discussion is brilliant. It's sooo cool to see the solution getting better an better. So one last round:
  • Yes, Note is a subtype of Task
    • sooner of later we should start with task categories but for now this works with a regular tasks as well. The only problem is, that normal tasks would be listed in the person's assigned tasks list.
  • Your suggestions to creating new projects on the fly is soooo beautiful. I really love it. Now we have to find a common solution for "smart & interactive" forms:
    • We need a special "onChange" event handler that would be attached by jquery. But I am not sure where to put this. Maybe we could define a onLoad-functions-array in the html-header and later add new init-functions on the fly like:

from rough example

echo "<select id=bla> <option>1</option><option>1</option></select>";
echo "<script>streber_page.init_functions.append(function() {$('select#bla').onChange=function{ ... }}
  • I like the See notes idea, although I am not sure how to distinguish notes from other tasks. Maybe we already should implement task categories for this?
  • The "Show notes" list could look similar to the comment list, which fold/expand toggles. Since a "Note" is just a "Task" it already has the "view_collapsed" field which could be used for this.

binder

Sep 28, 2006
version 2
Reply to Excellent
first of all, I think, the notes should behave just as a task. I can influence the visibility of a note by adjusting the status!

we could split this into two steps (because I think task categories would last a bit longer... ;)

step1:

  • add note just opens new task as described
  • everything is done with a task (we need to distinguish on task-name?)

step2:

  • after task categories ist finished add note opens new "note"
  • we could then distiguish on task categories
  • see notes is included

pixtur

Sep 28, 2006
ok...
Doing it in two steps will be just fine.

burger

Sep 28, 2006
View comment
Hi Tom,

I know that your a assigned to this task but if you don't mind I would like to implement step1. Is this okay for you?

pixtur

Sep 28, 2006
yeah, of cause!
Just go ahead!

burger

Oct 19, 2006
Done?
Hi Tom!

I added the 'notice on person' functionality.
It would be great if you would test it and tell me your opinion.

Thanks.


pixtur

Oct 20, 2006
version 2
Looked at your changes...
Hi Burger

I had a rough look at your code. Although I am very impressed with how this wonderful function turned out, I still have some nitpicky comments:

task_more.inc.php

  • please do not use TAB characters
  • Line 3044: please do not use camelCase for varibales.
    • $newTask better written as $task_new
  • Line 3084: please leave spaces before and after "="
  • Line 3104: maybe the Minor Title could be something like "edit"
  • Line 3157: please use formatting characters out of translation text
    • __('- no assigned projects') -> `'- '. __('no projects')
  • Line 3198: Not sure, but if you label this "no other projects" you would require some assoc. array to collect all projects ids already been added to the list?
  • Why not just leave labels like "Company Projects" entirely, if there are none?
  • when rendering Checkboxes in forms, please use "<label for="XXX">" to increase hit area
  • Line 3244: Why do you use Form_customHTML instead of something like:
    • $form->add(new Form_checkbox('checkbox_id',"Label",$value)); ?

render_page.inc.php

  • Line 490-503: This code should be added to a js-file (e.g. misc.js)
  • Pleae do not use document get element by id, but $('label#new_project')


On labeling form fields...

I would suggest to start all form fields with the object type they are related
to:
  • new_project -> new_project_id
  • pub_level -> task_pub_level
  • prio -> task_prio
  • a.s.o.
  • The new effort could use the created time of the new task as beginning time
Like always I hope to be not too frustrating ,-) And once again I must emphasize, how cool this very complex feature turned out...

tom


burger

Oct 20, 2006
version 4
Thanks for your comments ...
Hi Tom,

Don't worry I'm always very appreciate for your comments. Without them I wouldn't learn that much. Even though I think I will never learn to avoid Tabs ;) (Sorry!!!!).

I will change the most of the code as recommended.

Some notes:
  1. I use Form_customHTML because I can set the value parameter (like ... value=$person_id ...) --> the $value variable at Form_checkbox only marks the checkbox
  2. "All other projects": We thought it doesn't matter if some projects are in two categories. But the problem with array_flip results anyway in no double recordsets.
  3. I cannot put my js-function at misc.js, because it doesn't work in there and I don't know why?!

tino

Oct 20, 2006
Reply to Thanks for your comments ...
Hello Esther,

I cannot put my js-function at misc.js, because it doesn't work in there and I don't know why?!

from burger



I can take a look at this...

burger

Oct 20, 2006
Comment
I committed some changes. Maybe you can check them?

pixtur

Oct 20, 2006
some comments on your three questions
  • on 1st: This is a bug. From_checkbox should use the value parameter just a you suggested it.
  • on 2nd: Arg... The array_flip-issue again... Urgs... We have to refactor this in the next release.
  • on 3rd: I already adjusted you js-code to:

from misc.js

    $("body.taskNoteOnPersonEdit input#new_project").change(function(e)
    {
		$('#proj').toggle();
		$('#proj_list').toggle();
    });

As you can see, with jquery you can write javascript code much shorter.

tino

Oct 20, 2006
version 3
Reply to some comments on your three questions
Hey Tom,

you were a bit faster than I ;-)

I made some changes - so now we have a really cool slide effect

pixtur

Oct 20, 2006
did you delete the page function for "New Person"?
I saw you removed the code at rev.151 or so. But I do not understand why. I sometimes need this link, so I restored the function.

burger

Oct 26, 2006
Comment
Thanks for the new function at misc.js for the notice on persons.

But I still have the problem that it doesn't work. If I check the checkbox then nothing happens. So what can I do?

pixtur

Oct 26, 2006
I will check this..
probably the eventhandler must be overwritten for the checkbox?
But for me it seemed to work quiet well.




burger

Oct 26, 2006
Comment
I really don't no what's the problem with the misc.js.
I don't have problems with the listFunctions.js.

pixtur

Oct 26, 2006
 

Comment / Update