Possible Limitation in this 5.x menu.

Having problems with DHTML Menu? There is usually somebody here who knows the answer.
Post Reply
djliquidice
Beginner
Beginner
Posts: 3
Joined: Thu Aug 26, 2004 2:12 pm

Possible Limitation in this 5.x menu.

Post by djliquidice »

First i have to say that i absolutely LOVE this menu. I love the fact that the author(s?) have allowed the menu to be scrollable if they are too big for the window. I love the ability to place nicely created icons on the menus.

But (and this saddens me) i think i found a sever limitation in this product. Someone PLEASE correct me if i'm wrong.

Basically you can't have two menu items w/ the exact same name. That kinds sux. Suppose if you want to have the following menu structure:

Menu1,
----|___Procedures
----|---------|____Procedure 1
----|---------|____Procedure 2
----|___Diagrams
--------------|____Diagram 1
--------------|____Diagram 2
--------------------------|_____Diagram 1,1

Menu 2,
----|___Procedures
----|---------|____Procedure 1
----|---------|____Procedure 2
----|___Samples
--------------|____Sample 1
--------------|____Sample 2

Because you can't have two things /w the name Procedures, coding in this menu can be a pain in the rump. :(

Code: Select all

with(milonic=new menuname("Links")){
style=menuStyle;
aI("text=Apache Web Server;url=http://www.apache.org/;status=Apache Web Server, the basis of Milonic's Web Site;");
aI("text=MySQL Database Server;url=http://ww.mysql.com/;status=MySQL, Milonic's Prefered Choice of Database Server;");
aI("text=PHP - Development;url=http://www.php.net/;status=PHP - Web Server Scripting as used by Milonic;");
aI("text=phpBB Web Forum System;url=http://www.phpbb.net/;status=PHP Based Web Forum, Milonic's Recommended Forum Software;");
aI("text=Anti Spam Tools;showmenu=Anti Spam;status=Anti Spam Solutions, as used by Milonic;");
aI("text=Test Test;showmenu=Test Test;status=Anti Spam Solutions, as used by Milonic;");

}

with(milonic=new menuname("Anti Spam")){
style=menuStyle;
aI("text=Spam Cop;url=http://www.spamcop.net/;");
aI("text=Mime Defang;url=http://www.mimedefang.org/;");
aI("text=Spam Assassin;url=http://www.spamassassin.org/;");
}

with(milonic=new menuname("Test Test")){
style=menuStyle;
aI("text=Spam Cop;showmenu=Spam Cop;");
aI("text=Mime Defang;url=http://www.mimedefang.org/;");
aI("text=Spam Assassin;url=http://www.spamassassin.org/;");
}

with(milonic=new menuname("Spam Cop")){
style=menuStyle;
aI("text=Spam Cops;showmenu=Spam Cops;");
aI("text=Mime Defang;url=http://www.mimedefang.org/;");
aI("text=Spam Assassin;url=http://www.spamassassin.org/;");
}


with(milonic=new menuname("My Milonic")){
style=menuStyle;
aI("text=Login;url=http://www.milonic.co.uk/login.php;");
aI("text=Licenses;url=http://www.milonic.co.uk/mylicenses.php;");
aI("text=Invoices;url=http:/milonic.com/myinvoices.php;");
aI("text=Make Support Request;url=http://www.milonic.co.uk/reqsupport.php;");
aI("text=View Support Requests;url=http://www.milonic.co.uk/mysupport.php;");
aI("text=Test Test;showmenu=Test Test;");
}

with(milonic=new menuname("Test Test")){
style=menuStyle;
aI("text=Spam Cop;showmenu=Spam Cop;");
aI("text=Mime Defang;url=http://www.mimedefang.org/;");
aI("text=Spam Assassin;url=http://www.spamassassin.org/;");
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

Thank you for the kind words. Most appreciated by the entire Team.

OK, maybe I'm missing something, but is it really so hard to just modify the name a bit? Following your example, Procedure1, Procedure 2, or ProcedureTest, ProcedureSpam, etc. For Menu 2, Procedure1-2, Procedure 2-2, etc.

I would hope you can understand why names cannot be the same - how would the program know which 'Procedure 1' to use if you had more than one with the same name? It follows the rules of any other programming language I know about.
John
djliquidice
Beginner
Beginner
Posts: 3
Joined: Thu Aug 26, 2004 2:12 pm

Post by djliquidice »

John, thanks for the fast reply.

See the issue right now, is we're using "Cool menu 4". While it's a very good menu system, the programmer(s) neglected to setup the menu system to undrestand the bottom of a web page. Basically, I'm looking for a better solution for our group website. I think this will work, but I am not too sure how many characters each line is limited to. I have a perl script that generates the Java menu code on demand based on a singular Directory structure.

How many Characters are these lines limited to?

Code: Select all

aI("text=Test Test;showmenu=How_Many_Chrs?;status=Anti Spam Solutions, as used by Milonic;");
djliquidice
Beginner
Beginner
Posts: 3
Joined: Thu Aug 26, 2004 2:12 pm

Post by djliquidice »

Here is a snippet on the current data structure. I know That your menu system is FAR superior than coolmenu. But.... :-\ I suppose i gotta make it work for my specific needs.

I think it's awesome that you guys have a support forum btw.


[Snapshot]

Code: Select all

oM.makeMenu('m1','','AF Operator','','')
oM.makeMenu('m2','m1','Reports','','')
oM.makeMenu('m3','m1','Procedures','','')
oM.makeMenu('m4','m3','<li> AFOResourceMgr','http://www.mysite/cgi/website.pl?LC&/content/01_AF_Operator/Procedures/AFOResourceMgr.htm','')
oM.makeMenu('m5','m3','<li> new AFOResourceMgr','http://www.mysite/cgi/website.pl?LC&/content/01_AF_Operator/Procedures/new_AFOResourceMgr.htm','')
oM.makeMenu('m6','m1','Diagrams','','')
oM.makeMenu('m7','m1','Overviews','','')
oM.makeMenu('m8','','Asset Insight','','')
oM.makeMenu('m9','m8','Reports','','')
oM.makeMenu('m10','m8','Procedures','','')
oM.makeMenu('m11','m8','Overviews','','')
oM.makeMenu('m12','m8','Diagrams','','')
oM.makeMenu('m13','','BMC Patrol','','')
oM.makeMenu('m14','m13','Reports','','')
oM.makeMenu('m15','m13','Procedures','','')
oM.makeMenu('m16','m15','<li> patrol cleanup','http://www.mysite/cgi/website.pl?LC&/content/03_BMC_Patrol/Procedures/patrol-cleanup.htm','')
oM.makeMenu('m17','m15','<li> stoppingpatrol','http://www.mysite/cgi/website.pl?LC&/content/03_BMC_Patrol/Procedures/stoppingpatrol.html','')
oM.makeMenu('m18','m15','<li> Patrol Install','http://www.mysite/cgi/website.pl?LC&/content/03_BMC_Patrol/Procedures/Patrol_Install.htm','')
oM.makeMenu('m19','m15','<li> SDC network scan','http://www.mysite/cgi/website.pl?LC&/content/03_BMC_Patrol/Procedures/SDC_network_scan.html','')
oM.makeMenu('m20','m15','<li> Changing Patrol Passwords','http://www.mysite/cgi/website.pl?LC&/content/03_BMC_Patrol/Procedures/Changing Patrol Passwords.htm','')
oM.makeMenu('m21','m15','<li> patrol agent config','http://www.mysite/cgi/website.pl?LC&/content/03_BMC_Patrol/Procedures/patrol_agent_config.html','')
oM.makeMenu('m22','m15','MQ Series','','')
oM.makeMenu('m23','m22','<li> MQ Series Alarming','http://www.mysite/cgi/website.pl?LC&/content/03_BMC_Patrol/Procedures/MQ_Series/MQ_Series_Alarming.html','')
oM.makeMenu('m24','m22','<li> MQ Series KM Notes','http://www.mysite/cgi/website.pl?LC&/content/03_BMC_Patrol/Procedures/MQ_Series/MQ_Series_KM_Notes.html','')
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

There is no limit that I am aware of. Of course, Andy may step in and correct me on that, but I've seen some pretty extreme statements.

Basically, you can't go wrong with this DHTML menu system from Milonic. The flexibility is amazing!
John
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

I see we're cross-posting.

The code you posted is well within reach of this system. Actually, those lines are pretty short.
John
User avatar
Ruth
 Team
 Team
Posts: 8763
Joined: Thu May 15, 2003 5:02 am
Location: Yucaipa, CA
Contact:

Post by Ruth »

I may have totally misunderstood what you're asking, but there's no reason you can't have the 'text' of an item the same, so you can have Procedures as the text on Menu 1 and Procedure 1 Procedure 2 as the items on the submenu that Procedures calls on mouseover, and you can have the same thing on Menu 2. What you can't have is the showmenu= be the same name if you are trying to call different submenus. So in Menu 1 you might do showmenu="procedures_menu1" and in Menu 2 you might do showmenu="procedures_menu2"; and then of course make the submenus accordingly for menu 1 and menu 2.

Ruth
User avatar
Andy
Milonic
Milonic
Posts: 3308
Joined: Sun May 19, 2002 8:23 pm
Location: Menu Developer
Contact:

Post by Andy »

Hi,

Athough I'm not an expert on DHTMLCentral's Coolmenu, from looking at the above data, the name of the menus are m1, m2, m3, m4, m5 and so on.

There's no reason why you couldn't do the same with the Milonic DHTML Menu?

Hope this helps
Andy
User avatar
kevin3442
Milonic God
Milonic God
Posts: 2460
Joined: Sat Sep 07, 2002 12:09 am
Location: Lincoln, NE
Contact:

Post by kevin3442 »

Hi,

My two cents:

I agree with Ruth. I'm certain I have used menus before where the text= parameter was the same in multiple menu items across different submenus. Shouldn't be a problem.

As for length limits: depends. The parameter passed ti aI() to make a menu item is a string. I have a foggy memory of earlier implementations of javascript, in very old browsers, imposing a length limit in strings of 255 characters. If you exceeded that length, you'd get an "unterminated string costant" error (or some such). I'm pretty sure that limitation was shed long ago, although I don't know exactly when (circa NS3?). And if there is a current limit, I don't know what it is (although a little Googling should tell). Also don't know if there are still short limitations in various browsers still in use (IE/Mac). Some testing would tell, but I doubt that you'll hit a practical limit for menu item definitions.

Cheers,

Kevin
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

"...can't have two menu items w/ the exact same name" can be looked at either way, of course. I could have gone down the path (yes, Kevin - age :!: :D ), but Ruth got the other side of the coin covered well.
John
Post Reply