Re: Gantt style chart
This WebDNA talk-list message is from 2004
It keeps the original formatting.
numero = 58561
interpreted = N
texte = Within the first [founditems] loop for the meetings database, a second search or lookup could temporarily store the ID number of any other meetings overlapping with the current found record (meeting), and prepare their display at that point as well.Display should probably be handled by creating an image of a single vertical row of colored pixels, one pixel wide, by say, 10 pixels tall. When your page displays the image, webDNA can modify the image width according to the length of the resulting meeting or meetings. The nested search would figure out how wide the image needs to be on the fly. Images will end up looking like bars whose length you can control within whatever range you need. You can even make separate end caps and select colors to make the bard look like chrome if you want.I probably drop the variables for every five minutes, in favor of just simply doing a math check on dates and times to find overlaps. You probably already limit the data to certain time increments on an input page, but that doesn't mean your stuck with only those increments for figuring things out.PatOn Jun 22, 2004, at 11:37 PM, WebDna @ Inkblot Media wrote:>
> Man, you must love your work!> >> LMAO ... well of course I do, or else I would not be doing it. Though > that> is not the issue here. I have a client that we built a custom meeting> manager system and day planner system for.>> Now they are needing a availability matrix system for the day planner > so the> planners for the executives can see availablitiy at a glance. While we > built> a time display, showing all meetings scheduled for any individual at > any> particular time, it was not enough. My client is trying to push the > limits> on my abilities.>> What is needed is Gantt style system. It would not be that difficult > if the> meeting could not overlap (a requirement they wanted). We could loop > through> the meeting times and index through the table cells. Since the > meetings do> overlap we have to somehow merge the meetings while keeping access to > them.> This allows us to find begin and end times.>> I was hoping for anything that could help. I would never expect this > list to> do the work for me, but rather offer simple pushes in the right > direction or> someone to let me know I am going about it all wrong. If the > assistance is> slow to nil in coming that is ok.>> Thanks for your thoughts.>> RonnyMc>>>>> ----- Original Message -----> From: "Patrick McCormick"
> To: "WebDNA Talk" > Sent: Tuesday, June 22, 2004 7:27 PM> Subject: Re: Gantt style chart>>>> Man, you must love your work!>>>> Is this a billing app? Are you renting offices? If what you're after>> is a Gantt chart, there are certainly more graceful approaches than>> what you seem to be doing. I think your approach has locked locked up>> everyone on this list and would explain why you haven't gotten many>> responses.>>>> Try asking for some suggestions for your general problem and that >> might>> get you going the right direction.>>>>>> On Jun 22, 2004, at 12:14 AM, WebDna @ Inkblot Media wrote:>>>>> Hi All,>>>>>> I am attempting to build a Gantt style chart for a client.>>>>>> System: Linux, Web 4.5>>>>>> We have start and end times for the meetings. The downside is that >>> the>>> client needed to allow for meetings that overlap. For example >>> meeting 1>>> could be "9-11" and meeting 2 could be "10-12". That being said here >>> is>>> where I have gotten to.>>>>>> Displaying 7am - 6pm in 30 minute blocks.>>> Storing the times as military numbers (9am = 900, 1pm=1300)>>> Manually built variables for indexing:>>> [!] --------------------------->>> 7:00>>> --------------------------- [/!]>>>>>> [text]700=1[/text]>>> [text]705=1[/text]>>> [text]710=1[/text]>>> [text]715=1[/text]>>> [text]720=1[/text]>>> [text]725=1[/text]>>> [text]730=2[/text]>>> [text]735=2[/text]>>> [text]740=2[/text]>>> [text]745=2[/text]>>> [text]750=2[/text]>>> [text]755=2[/text]>>>>>> This variable system lets me know if the meeting is 7-7:25 I fill >>> cell>>> one.>>> If the meeting is 7:30-8 to fill cell two.>>>>>> I then do a search on the schedule.db where the when variable is a>>> date that>>> is passed in on the link. The P_ID is populated via a outer search>>> that sets>>> the persons ID.>>>>>> [search>>> db=schedules.db&eqS_DATEdatarq=[when]&S_DATEtype=date&eqP_IDdatarq=[i >>> d]>>> &P_ID>>> type=number&asS_TIMEsort=1&S_TIMEtype=num]>>>>>> [founditems]>>> [math show=f]count=[index][/math]>>> [math show=f]start[index]=[s_time][/math]>>> [math show=f]end[index]=[e_time][/math]>>> [/founditems]>>>>>> In the founditems I build a counter and an array (sort of) that holds>>> all>>> the start-end times for the person searching for. The idea behind >>> this>>> was>>> to allow me to loop through the array and compare the times.>>>>>> [loop start=1&end=[count]]>>> [math show=f]nextindex=[index]+1[/math]>>> [If>>> (([interpret][end[index]][/interpret]=[interpret][start[nextindex]][/>>> interpr>>> et]) |>>> ([interpret][end[index]][/interpret]>[interpret][start[nextindex]][/>>> interpre>>> t]))]>>> [Then]>>>>>> [text]start[nextindex]=[interpret][start[index]][/interpret][/text]>>> [If>>> (([interpret][end[nextindex]][/interpret]<[interpret][end[index]][/>>> interpret>>> ]))]>>> [Then]>>>>>> [text]end[nextindex]=[interpret][end[index]][/interpret][/text]>>> [/Then]>>> [/If]>>> [/Then]>>> [/If]>>> [/loop]>>>>>> This is the part I am stuck on. This actually will take the first and>>> second>>> meeting and compare them. If they over lap it should merge the data>>> into the>>> second meeting holder inside the array. It seems to work, but I still>>> have>>> the original meeting inside the array.>>>>>> If I am going about this all wrong please let me know. Any assistance>>> with>>> this is greatly appreciated.>>>>>> Sincerely,>>> RonnyMc>>>>>>>>> ------------------------------------------------------------->>> This message is sent to you because you are subscribed to>>> the mailing list .>>> To unsubscribe, E-mail to: >>> To switch to the DIGEST mode, E-mail to>>> >>> Web Archive of this list is at: http://webdna.smithmicro.com/>>>>>>>>> ------------------------------------------------------------->> This message is sent to you because you are subscribed to>> the mailing list .>> To unsubscribe, E-mail to: >> To switch to the DIGEST mode, E-mail to> >> Web Archive of this list is at: http://webdna.smithmicro.com/>>> -------------------------------------------------------------> This message is sent to you because you are subscribed to> the mailing list .> To unsubscribe, E-mail to: > To switch to the DIGEST mode, E-mail to > > Web Archive of this list is at: http://webdna.smithmicro.com/>-------------------------------------------------------------This message is sent to you because you are subscribed to the mailing list .To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://webdna.smithmicro.com/
Associated Messages, from the most recent to the oldest:
Within the first [founditems] loop for the meetings database, a second search or lookup could temporarily store the ID number of any other meetings overlapping with the current found record (meeting), and prepare their display at that point as well.Display should probably be handled by creating an image of a single vertical row of colored pixels, one pixel wide, by say, 10 pixels tall. When your page displays the image, webDNA can modify the image width according to the length of the resulting meeting or meetings. The nested search would figure out how wide the image needs to be on the fly. Images will end up looking like bars whose length you can control within whatever range you need. You can even make separate end caps and select colors to make the bard look like chrome if you want.I probably drop the variables for every five minutes, in favor of just simply doing a math check on dates and times to find overlaps. You probably already limit the data to certain time increments on an input page, but that doesn't mean your stuck with only those increments for figuring things out.PatOn Jun 22, 2004, at 11:37 PM, WebDna @ Inkblot Media wrote:> > Man, you must love your work!> >> LMAO ... well of course I do, or else I would not be doing it. Though > that> is not the issue here. I have a client that we built a custom meeting> manager system and day planner system for.>> Now they are needing a availability matrix system for the day planner > so the> planners for the executives can see availablitiy at a glance. While we > built> a time display, showing all meetings scheduled for any individual at > any> particular time, it was not enough. My client is trying to push the > limits> on my abilities.>> What is needed is Gantt style system. It would not be that difficult > if the> meeting could not overlap (a requirement they wanted). We could loop > through> the meeting times and index through the table cells. Since the > meetings do> overlap we have to somehow merge the meetings while keeping access to > them.> This allows us to find begin and end times.>> I was hoping for anything that could help. I would never expect this > list to> do the work for me, but rather offer simple pushes in the right > direction or> someone to let me know I am going about it all wrong. If the > assistance is> slow to nil in coming that is ok.>> Thanks for your thoughts.>> RonnyMc>>>>> ----- Original Message -----> From: "Patrick McCormick" > To: "WebDNA Talk" > Sent: Tuesday, June 22, 2004 7:27 PM> Subject: Re: Gantt style chart>>>> Man, you must love your work!>>>> Is this a billing app? Are you renting offices? If what you're after>> is a Gantt chart, there are certainly more graceful approaches than>> what you seem to be doing. I think your approach has locked locked up>> everyone on this list and would explain why you haven't gotten many>> responses.>>>> Try asking for some suggestions for your general problem and that >> might>> get you going the right direction.>>>>>> On Jun 22, 2004, at 12:14 AM, WebDna @ Inkblot Media wrote:>>>>> Hi All,>>>>>> I am attempting to build a Gantt style chart for a client.>>>>>> System: Linux, Web 4.5>>>>>> We have start and end times for the meetings. The downside is that >>> the>>> client needed to allow for meetings that overlap. For example >>> meeting 1>>> could be "9-11" and meeting 2 could be "10-12". That being said here >>> is>>> where I have gotten to.>>>>>> Displaying 7am - 6pm in 30 minute blocks.>>> Storing the times as military numbers (9am = 900, 1pm=1300)>>> Manually built variables for indexing:>>> [!] --------------------------->>> 7:00>>> --------------------------- [/!]>>>>>> [text]700=1[/text]>>> [text]705=1[/text]>>> [text]710=1[/text]>>> [text]715=1[/text]>>> [text]720=1[/text]>>> [text]725=1[/text]>>> [text]730=2[/text]>>> [text]735=2[/text]>>> [text]740=2[/text]>>> [text]745=2[/text]>>> [text]750=2[/text]>>> [text]755=2[/text]>>>>>> This variable system lets me know if the meeting is 7-7:25 I fill >>> cell>>> one.>>> If the meeting is 7:30-8 to fill cell two.>>>>>> I then do a search on the schedule.db where the when variable is a>>> date that>>> is passed in on the link. The P_ID is populated via a outer search>>> that sets>>> the persons ID.>>>>>> [search>>> db=schedules.db&eqS_DATEdatarq=[when]&S_DATEtype=date&eqP_IDdatarq=[i >>> d]>>> &P_ID>>> type=number&asS_TIMEsort=1&S_TIMEtype=num]>>>>>> [founditems]>>> [math show=f]count=[index][/math]>>> [math show=f]start[index]=[s_time][/math]>>> [math show=f]end[index]=[e_time][/math]>>> [/founditems]>>>>>> In the founditems I build a counter and an array (sort of) that holds>>> all>>> the start-end times for the person searching for. The idea behind >>> this>>> was>>> to allow me to loop through the array and compare the times.>>>>>> [loop start=1&end=[count]]>>> [math show=f]nextindex=[index]+1[/math]>>> [If>>> (([interpret][end[index]][/interpret]=[interpret][start[nextindex]][/>>> interpr>>> et]) |>>> ([interpret][end[index]][/interpret]>[interpret][start[nextindex]][/>>> interpre>>> t]))]>>> [Then]>>>>>> [text]start[nextindex]=[interpret][start[index]][/interpret][/text]>>> [If>>> (([interpret][end[nextindex]][/interpret]<[interpret][end[index]][/>>> interpret>>> ]))]>>> [Then]>>>>>> [text]end[nextindex]=[interpret][end[index]][/interpret][/text]>>> [/Then]>>> [/If]>>> [/Then]>>> [/If]>>> [/loop]>>>>>> This is the part I am stuck on. This actually will take the first and>>> second>>> meeting and compare them. If they over lap it should merge the data>>> into the>>> second meeting holder inside the array. It seems to work, but I still>>> have>>> the original meeting inside the array.>>>>>> If I am going about this all wrong please let me know. Any assistance>>> with>>> this is greatly appreciated.>>>>>> Sincerely,>>> RonnyMc>>>>>>>>> ------------------------------------------------------------->>> This message is sent to you because you are subscribed to>>> the mailing list .>>> To unsubscribe, E-mail to: >>> To switch to the DIGEST mode, E-mail to>>> >>> Web Archive of this list is at: http://webdna.smithmicro.com/>>>>>>>>> ------------------------------------------------------------->> This message is sent to you because you are subscribed to>> the mailing list .>> To unsubscribe, E-mail to: >> To switch to the DIGEST mode, E-mail to> >> Web Archive of this list is at: http://webdna.smithmicro.com/>>> -------------------------------------------------------------> This message is sent to you because you are subscribed to> the mailing list .> To unsubscribe, E-mail to: > To switch to the DIGEST mode, E-mail to > > Web Archive of this list is at: http://webdna.smithmicro.com/>-------------------------------------------------------------This message is sent to you because you are subscribed to the mailing list .To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://webdna.smithmicro.com/
Patrick McCormick
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
Remove a Field from a DB (2007)
Send massmail (2000)
[WebDNA] Listwords and newline (2011)
Search results templates (1996)
formvariables question (2000)
Country & Ship-to address & other fields ? (1997)
RE: Unexceling (was I need a smart quote...) (1999)
Secure server question (1997)
ImageMagick on OSX (2003)
New Site (1998)
Silly Question (1997)
WebCatalog f2 Installation (1997)
UPDATE PROBLEM (1997)
[WebDNA] anybody installed on snow leopard (2009)
re: Large databases in WebCat (1997)
Re:Variable Math (1998)
# fields limited? (1997)
Unexpected error (1997)
Problem displaying search result (1997)
How to set suffix mapping on IIS 5.1 ... (2004)