Thread: Re: [Rainbowportal-devel] Tabs Module Changes Discussion
Brought to you by:
danijel_kecman,
manudea
From: Mike S. <ms...@kc...> - 2004-12-30 16:50:06
|
So do I take out the code in your #2 below that calls the SP so that it is = more like your #1 and let them all fall to the new one?=20 =20 Mike Stone Director of Computer Information Services Kaskaskia College 27210 College Road Centralia, IL 62801 618-545-3201 www.kaskaskia.edu >>> bow...@gm... 12/30/2004 06:27:32 >>> Mike, I think I'm just re-stating what you've said already, but... I agree that your proposal #1 is the better idea...that you'll end up with three versions of the AddTab method in TabsDB.cs, as follows: 1. public int AddTab(int portalID, string tabName, string Roles, int = tabOrder) --This is one of the two original versions, it now will just return a value from your new version of AddTab (with the 6 params...you just set the defaults for 'ShowMobile' and 'MobileTabName' before you call the new one) 2. public int AddTab(int portalID, string tabName, int tabOrder)=20 --This is one of the two original versions, and can be left as is...It will happily call the 4-param version, which will happily call the new 6-param version, and it all works out. It just sets the default value for the 'Roles' param before calling. 3. public int AddTab(int portalID, string tabName, string Roles, int tabOrder, bool ShowMobile, string MobileTabName) --This is your new one, and the other two point to it. The sproc in the database should be changed to handle all the params this method will be sending (because this one is the only one that will actually reach the database...the other two versions come here for their data). I like this way, it seems the cleanest. =20 JB =20 On Thu, 30 Dec 2004 01:30:57 -0600, Mike Stone <ms...@kc...> wrote: > I used HTML email format so it was easy to highlight key points. It took > more time to write this then the code, > so if I left something out I am sorry, I just wanted to get this out = today. > =20 > While working on the AddTabs.aspx page I needed to call the rp_AddTab = stored > procedure in the=20 > TabsDB.cs file and ran into a couple of small issues that needs to be > addressed.=20 > I will include the code so you don't have to go look at it.=20 > My PROPOSED Solution is at the bottom and when finalized will be added = to > the Jira Issue=20 > =20 > The form has the following fields as described in Jira Issue which need = to > be saved/inserted into the=20 > rb_Tabs table, see Tabs Table (way below). Table Name Mapping=20 > =20 > 1) Tab Name - TabName > 2) Authorized Users that can view tab - AuthorizedRoles=20 > 3) Location where the new tab should be placed - ParentTabID > 4) Show to Mobile Uses? checkbox - ShowMobile > 5) Mobile Tab Name - MobileTabName > 6) Portal Id - PortalID > =20 > Issue 1) > The TabsDB.cs currently doesn't support that many parms being passed = in. > Here are the two options=20 > currently in TabsDB.cs. in a) below AllUsers is assumed security = role. > a) public int AddTab(int portalID, string tabName, string = Roles, > int tabOrder) only 4 of the 6 needed parms > i) Missing ShowMobile > ii) Missing MobileTabName > b) public int AddTab(int portalID, string tabName, int = tabOrder)=20 > only 3 of the 6 needed parms > i) Missing ShowMobile=20 > ii) Missing MobileTabName > iii) Missing AuthorizedRoles=20 > =20 > So of course my first idea was to just add another overload to allow for = the > all 6 parms (which I did) so I went and looked at the=20 > Stored Procedure rp_AddTab and noticed=20 > it is missing ShowMobile and the TabsDB.cs has is passing MobileName = but > not getting the > value from anyplace so it defaults to blank. > =20 > @PortalID int, > @TabName nvarchar(50), > @TabOrder int, > @AuthorizedRoles nvarchar (256), > @MobileTabName nvarchar(50), > @TabID int OUTPUT > =20 > =20 > =20 > Issue 2) > The=20 > rb_AddTab Stored Procedure Values clause has hard coded values in it :(. = I > was thinking this is a bad approach. Shouldn't that value be set by a = parm > passed in? (which of course is why it isn't currently passed in at all.) = I > am sure this is the ShowMobile value set to false > =20 > VALUES > ( > @PortalID, > @TabName, > @TabOrder, > 0, /* false */ > @MobileTabName, > @AuthorizedRoles > ) > =20 > =20 > So for now, to get my project up and running I created a new SP named > rb_AddTab2 with the correct number of parms for EACH field. I am sure = this > needs to be addressed in my Proposal below... > =20 > =20 > *--- Tabs Table *--- > 3 TabID int 4 0 > 0 ParentTabID int 4 1 > 0 TabOrder int 4 0 > 0 PortalID int 4 0 > 0 TabName nvarchar 50 0 > 0 MobileTabName nvarchar 50 0 > 0 AuthorizedRoles nvarchar 256 1 > 0 ShowMobile bit 1 0 > 0 TabLayout int 4 1 > *-- End Table *---- > =20 > =20 > Research Completed=20 > =20 > I searched the whole project with VS for [ AddTab( ] and only found = it > in the following files. two of > the existing modules seem to call the one with 4 of 6 parms shown in > issue 1 - a) below. =20 > That was #2 and #3 below. =20 > =20 > NOTE: 1 - a is the current one that sets all the SP Parms. The = other > one is just a return > public int AddTab(int portalID, string tabName, int > tabOrder)=20 > { > return AddTab(portalID, tabName, strAllUsers, = tabOrder); > } > I am not sure what the official name is > (OverRide/Module/Class) but I gather it passes in just those three parms = to > the=20 > other (OverRide/Module/Class) and those with out = incoming > parms somehow get default values. In this case Roles is =20 > set to "All Users;" > =20 > =20 > *------ TabsDB.cs *---- > Issue 1 - a) * public int AddTab(int portalID, string tabName, > string Roles, int tabOrder) > Issue 1 - b) * public int AddTab(int portalID, string tabName, = int > tabOrder)=20 > *------ End TabsDB.cs *----- > =20 > 1) /DesktopModules/Tabs/AddTab.aspx.cs -> SaveButton_Click - Uses = New > Overload) > .AddTab(portalSettings.PortalID, Int32.Parse(parentTab.SelectedItem.Valu= e), > tabName.Text, 990000, authorizedRoles, showMobile.Checked, > mobileTabName.Text) > 2) /DesktopModules/AddTab/AddTab.ascx.cs -> AddTabButton_Click - = Uses > Issue 1 - a)=20 > .AddTab(portalSettings.PortalID, t.Name, viewPermissionRoles, = t.Order);=20 > =20 > 3) /app_code/Rainbow/DAL/PortalsDB.cs -> CreatePortal - Uses Issue 1 = - a > and 1 - b) > // Create a new Tab "home" > .AddTab(portalID, "Home",1);=20 > // Create a new Tab "admin" > .AddTab(portalID, localizedString, strAdmins, 9999); > 4) /DesktopModules/PortalsAdministration/AddNewPortals.aspx.cs -> > CreatePortal - Uses Issue 1 -b)=20 > .AddTab(newPortalID, myReader["TabName"].ToString(), > Int32.Parse(myReader["TabOrder"].ToString())); =20 > 5) /DesktopModules/Tabs/Tabs.ascx.cs -> AddTab_Click - Uses Issue 1 - = b)=20 > .AddTab(portalSettings.PortalID, t.Name, t.Order);=20 > =20 > =20 > Proposed Solution > =20 > This is where each of you come in. I have listed two options below so > that I can complete this issue. There may be others I am > missing so please chime in with your comments. > =20 > PS1) After toying with my options this one seems like the correct > approach, assume I follow the Wiki best practices for SQL db changes. > Drop the rb_AddTab stored procedure and recreate it as shown in New > rb_AddTab below.=20 > Delete out the current class in TabsDB.cs that sets sp parms and leave = the > new one with all the parms I just created.=20 > Change the override version in TabsDB.cs so that the return has all the > needed default values passed in the correct order.=20 > Modify AddTab.ascx.cs -> AddTabButton_Click to pass in all parms as this > module will get the same features anyway.=20 > Modify AddNewPortals.aspx.cs -> CreatePortal so that the Admin Tab = passes > all parms default values.=20 > Make sure the SP sets correct defaults if blanks are passed in.=20 > The input fields have been restricted to 50 chars so I didn't put in the > check length for MobileName.=20 > Retest on my site.=20 > Ask for testers from team for QA.=20 > Make Sure changes in Doc get made=20 > Make Sure Install is not effected > =20 > =20 > PS2) While thinking this was a cheep way out for me, but it doesn't = quite > seem like the best coding practice. > Change the AddTab module so that it is the same as the new feature in = the > Tabs module EHN I just made. Then Parms are the same.=20 > Create a NEW sp rb_AddTab2 that the AddTab module and AddTab.aspx page = can > use leaving the old one there=20 > The input fields have been restricted to 50 chars so I didn't put in the > check length for MobileName.=20 > Retest on my site.=20 > Ask for testers from team for QA.=20 > Make Sure changes in Doc get made=20 > Make Sure Install is not effected > =20 > =20 > =20 > *--------- START rb_AddTab Stored Procedure *-------------- > CREATE PROCEDURE rb_AddTab2 > ( > @PortalID int, /* Required Field = */ > @ParentTabID int, /* New Parm - NULL = Allowed > */ > @TabName nvarchar(50), /* Required Field */ > @TabOrder int, /* Required Field = */=20 > @AuthorizedRoles nvarchar (256), /* NULL Allowed */ > @ShowMobile bit =3D 0, /* New Parm - false by > default */ > @MobileTabName nvarchar(50), /* Required Field */ > @TabID int OUTPUT /* Returned value */ > =20 > ) > =20 > AS > =20 > /* Normally set to NULL if in Root so do so here */ > IF (@ParentTabID =3D 0) > BEGIN =20 > set @ParentTabID =3D NULL > END > =20 > /* Optionally check other fields and set appropriate defaults for them = here > */ > =20 >=20 > INSERT INTO rb_Tabs > ( > ParentTabID, /* New Parm */ > TabOrder, > PortalID, > TabName, > MobileTabName, /* New Parm */ > AuthorizedRoles, > ShowMobile /* New Parm Not hard coded value 0 any more */ > =20 > =20 > ) > =20 >=20 > VALUES > ( > @ParentTabID,=20 > @TabOrder, > @PortalID, > @TabName, > @MobileTabName, > @AuthorizedRoles, > @ShowMobile > =20 > ) > =20 > SELECT > @TabID =3D @@IDENTITY > GO > =20 > *--------- END rb_AddTab Stored Procedure *-------------- > =20 > =20 > =20 > =20 > Mike Stone > Director of Computer Information Services > Kaskaskia College > 27210 College Road > Centralia, IL 62801 > 618-545-3201 > www.kaskaskia.edu=20 ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Rainbowportal-devel mailing list Rai...@li...=20 https://lists.sourceforge.net/lists/listinfo/rainbowportal-devel=20 |
From: William F. <WF...@im...> - 2004-12-30 18:59:22
|
If you are going to go mucking about with this, please coordinate with me as it will be affected by what I'm doing. I am refactoring that stuff into the Rainbow.Data project on extensions in cvs. 1. Create a Tabs.cs in root of that project. 2. Put in that a Tabs class and create an overloaded Add() method for it as you suggest. 3. Modify the code to work with gentle.net or whatever layer we decide to change it to later. Thanks, Bill=20 -----Original Message----- From: rai...@li... [mailto:rai...@li...] On Behalf Of John Bowen Sent: Thursday, December 30, 2004 4:28 AM To: rai...@li... Subject: Re: [Rainbowportal-devel] Tabs Module Changes Discussion Mike, I think I'm just re-stating what you've said already, but... I agree that your proposal #1 is the better idea...that you'll end up with three versions of the AddTab method in TabsDB.cs, as follows: 1. public int AddTab(int portalID, string tabName, string Roles, int tabOrder) --This is one of the two original versions, it now will just return a value from your new version of AddTab (with the 6 params...you just set the defaults for 'ShowMobile' and 'MobileTabName' before you call the new one) 2. public int AddTab(int portalID, string tabName, int tabOrder) --This is one of the two original versions, and can be left as is...It will happily call the 4-param version, which will happily call the new 6-param version, and it all works out. It just sets the default value for the 'Roles' param before calling. 3. public int AddTab(int portalID, string tabName, string Roles, int tabOrder, bool ShowMobile, string MobileTabName) --This is your new one, and the other two point to it. The sproc in the database should be changed to handle all the params this method will be sending (because this one is the only one that will actually reach the database...the other two versions come here for their data). =20 I like this way, it seems the cleanest. =20 JB =20 On Thu, 30 Dec 2004 01:30:57 -0600, Mike Stone <ms...@kc...> wrote: > I used HTML email format so it was easy to highlight key points. It=20 > took more time to write this then the code, so if I left something out > I am sorry, I just wanted to get this out today. > =20 > While working on the AddTabs.aspx page I needed to call the rp_AddTab=20 > stored procedure in the TabsDB.cs file and ran into a couple of small=20 > issues that needs to be addressed. > I will include the code so you don't have to go look at it.=20 > My PROPOSED Solution is at the bottom and when finalized will be added > to the Jira Issue > =20 > The form has the following fields as described in Jira Issue which=20 > need to be saved/inserted into the rb_Tabs table, see Tabs Table (way > below). Table Name Mapping > =20 > 1) Tab Name - TabName > 2) Authorized Users that can view tab - AuthorizedRoles=20 > 3) Location where the new tab should be placed - ParentTabID > 4) Show to Mobile Uses? checkbox - ShowMobile > 5) Mobile Tab Name - MobileTabName > 6) Portal Id - PortalID > =20 > Issue 1) > The TabsDB.cs currently doesn't support that many parms being passed in. > Here are the two options=20 > currently in TabsDB.cs. in a) below AllUsers is assumed security role. > a) public int AddTab(int portalID, string tabName, string=20 > Roles, int tabOrder) only 4 of the 6 needed parms > i) Missing ShowMobile > ii) Missing MobileTabName > b) public int AddTab(int portalID, string tabName, int=20 > tabOrder) only 3 of the 6 needed parms > i) Missing ShowMobile=20 > ii) Missing MobileTabName > iii) Missing AuthorizedRoles > =20 > So of course my first idea was to just add another overload to allow=20 > for the all 6 parms (which I did) so I went and looked at the Stored=20 > Procedure rp_AddTab and noticed it is missing ShowMobile and the=20 > TabsDB.cs has is passing MobileName but not getting the value from=20 > anyplace so it defaults to blank. > =20 > @PortalID int, > @TabName nvarchar(50), > @TabOrder int, > @AuthorizedRoles nvarchar (256), > @MobileTabName nvarchar(50), > @TabID int OUTPUT > =20 > =20 > =20 > Issue 2) > The > rb_AddTab Stored Procedure Values clause has hard coded values in it=20 > :(. I was thinking this is a bad approach. Shouldn't that value be=20 > set by a parm passed in? (which of course is why it isn't currently=20 > passed in at all.) I am sure this is the ShowMobile value set to=20 > false > =20 > VALUES > ( > @PortalID, > @TabName, > @TabOrder, > 0, /* false */ > @MobileTabName, > @AuthorizedRoles > ) > =20 > =20 > So for now, to get my project up and running I created a new SP named > rb_AddTab2 with the correct number of parms for EACH field. I am sure=20 > this needs to be addressed in my Proposal below... > =20 > =20 > ---- Tabs Table ---- > 3 TabID int 4 0 > 0 ParentTabID int 4 1 > 0 TabOrder int 4 0 > 0 PortalID int 4 0 > 0 TabName nvarchar 50 0 > 0 MobileTabName nvarchar 50 0 > 0 AuthorizedRoles nvarchar 256 1 > 0 ShowMobile bit 1 0 > 0 TabLayout int 4 1 > --- End Table ----- > =20 > =20 > Research Completed > =20 > I searched the whole project with VS for [ AddTab( ] and only=20 > found it in the following files. two of > the existing modules seem to call the one with 4 of 6 parms shown in > issue 1 - a) below. =20 > That was #2 and #3 below. =20 > =20 > NOTE: 1 - a is the current one that sets all the SP Parms. The other > one is just a return > public int AddTab(int portalID, string tabName, int > tabOrder)=20 > { > return AddTab(portalID, tabName, strAllUsers, tabOrder); > } > I am not sure what the official name is > (OverRide/Module/Class) but I gather it passes in just those three=20 > parms to the > other (OverRide/Module/Class) and those with out=20 > incoming parms somehow get default values. In this case Roles is > set to "All Users;" > =20 > =20 > ------- TabsDB.cs ----- > Issue 1 - a) - public int AddTab(int portalID, string tabName, > string Roles, int tabOrder) > Issue 1 - b) - public int AddTab(int portalID, string tabName, > int > tabOrder)=20 > ------- End TabsDB.cs ------ > =20 > 1) /DesktopModules/Tabs/AddTab.aspx.cs -> SaveButton_Click - Uses=20 > New > Overload) > .AddTab(portalSettings.PortalID,=20 > Int32.Parse(parentTab.SelectedItem.Value), > tabName.Text, 990000, authorizedRoles, showMobile.Checked, > mobileTabName.Text) > 2) /DesktopModules/AddTab/AddTab.ascx.cs -> AddTabButton_Click -=20 > Uses Issue 1 - a) .AddTab(portalSettings.PortalID, t.Name,=20 > viewPermissionRoles, t.Order); > =20 > 3) /app_code/Rainbow/DAL/PortalsDB.cs -> CreatePortal - Uses Issue=20 > 1 - a and 1 - b) // Create a new Tab "home" > .AddTab(portalID, "Home",1); > // Create a new Tab "admin" > .AddTab(portalID, localizedString, strAdmins, 9999); > 4) /DesktopModules/PortalsAdministration/AddNewPortals.aspx.cs ->=20 > CreatePortal - Uses Issue 1 -b) .AddTab(newPortalID,=20 > myReader["TabName"].ToString(), > Int32.Parse(myReader["TabOrder"].ToString())); =20 > 5) /DesktopModules/Tabs/Tabs.ascx.cs -> AddTab_Click - Uses Issue 1 > - b) .AddTab(portalSettings.PortalID, t.Name, t.Order); > =20 > =20 > Proposed Solution > =20 > This is where each of you come in. I have listed two options below=20 > so that I can complete this issue. There may be others I am > missing so please chime in with your comments. > =20 > PS1) After toying with my options this one seems like the correct=20 > approach, assume I follow the Wiki best practices for SQL db changes. > Drop the rb_AddTab stored procedure and recreate it as shown in New=20 > rb_AddTab below. > Delete out the current class in TabsDB.cs that sets sp parms and leave > the new one with all the parms I just created. > Change the override version in TabsDB.cs so that the return has all=20 > the needed default values passed in the correct order. > Modify AddTab.ascx.cs -> AddTabButton_Click to pass in all parms as=20 > this module will get the same features anyway. > Modify AddNewPortals.aspx.cs -> CreatePortal so that the Admin Tab=20 > passes all parms default values. > Make sure the SP sets correct defaults if blanks are passed in.=20 > The input fields have been restricted to 50 chars so I didn't put in=20 > the check length for MobileName. > Retest on my site.=20 > Ask for testers from team for QA.=20 > Make Sure changes in Doc get made > Make Sure Install is not effected > =20 > =20 > PS2) While thinking this was a cheep way out for me, but it doesn't=20 > quite seem like the best coding practice. > Change the AddTab module so that it is the same as the new feature in=20 > the Tabs module EHN I just made. Then Parms are the same. > Create a NEW sp rb_AddTab2 that the AddTab module and AddTab.aspx page > can use leaving the old one there The input fields have been=20 > restricted to 50 chars so I didn't put in the check length for=20 > MobileName. > Retest on my site.=20 > Ask for testers from team for QA.=20 > Make Sure changes in Doc get made > Make Sure Install is not effected > =20 > =20 > =20 > ---------- START rb_AddTab Stored Procedure --------------- CREATE=20 > PROCEDURE rb_AddTab2 ( > @PortalID int, /* Required Field */ > @ParentTabID int, /* New Parm - NULL Allowed > */ > @TabName nvarchar(50), /* Required Field */ > @TabOrder int, /* Required Field */ > @AuthorizedRoles nvarchar (256), /* NULL Allowed */ > @ShowMobile bit =3D 0, /* New Parm - false = by > default */ > @MobileTabName nvarchar(50), /* Required Field */ > @TabID int OUTPUT /* Returned value */ > =20 > ) > =20 > AS > =20 > /* Normally set to NULL if in Root so do so here */ > IF (@ParentTabID =3D 0) > BEGIN =20 > set @ParentTabID =3D NULL > END > =20 > /* Optionally check other fields and set appropriate defaults for them > here */ > =20 >=20 > INSERT INTO rb_Tabs > ( > ParentTabID, /* New Parm */ > TabOrder, > PortalID, > TabName, > MobileTabName, /* New Parm */ > AuthorizedRoles, > ShowMobile /* New Parm Not hard coded value 0 any more */ > =20 > =20 > ) > =20 >=20 > VALUES > ( > @ParentTabID,=20 > @TabOrder, > @PortalID, > @TabName, > @MobileTabName, > @AuthorizedRoles, > @ShowMobile > =20 > ) > =20 > SELECT > @TabID =3D @@IDENTITY > GO > =20 > ---------- END rb_AddTab Stored Procedure --------------- > =20 > =20 > =20 > =20 > Mike Stone > Director of Computer Information Services Kaskaskia College 27210=20 > College Road Centralia, IL 62801 > 618-545-3201 > www.kaskaskia.edu ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Rainbowportal-devel mailing list Rai...@li... https://lists.sourceforge.net/lists/listinfo/rainbowportal-devel |
From: William F. <WF...@im...> - 2004-12-30 19:09:43
|
Let them all fall into the one with the most parameters. ________________________________ From: rai...@li... [mailto:rai...@li...] On Behalf Of Mike Stone Sent: Thursday, December 30, 2004 8:49 AM To: rai...@li... Subject: Re: [Rainbowportal-devel] Tabs Module Changes Discussion So do I take out the code in your #2 below that calls the SP so that it is more like your #1 and let them all fall to the new one?=20 =20 Mike Stone Director of Computer Information Services Kaskaskia College 27210 College Road Centralia, IL 62801 618-545-3201 www.kaskaskia.edu >>> bow...@gm... 12/30/2004 06:27:32 >>> Mike, I think I'm just re-stating what you've said already, but... I agree that your proposal #1 is the better idea...that you'll end up with three versions of the AddTab method in TabsDB.cs, as follows: 1. public int AddTab(int portalID, string tabName, string Roles, int tabOrder) --This is one of the two original versions, it now will just return a value from your new version of AddTab (with the 6 params...you just set the defaults for 'ShowMobile' and 'MobileTabName' before you call the new one) 2. public int AddTab(int portalID, string tabName, int tabOrder)=20 --This is one of the two original versions, and can be left as is...It will happily call the 4-param version, which will happily call the new 6-param version, and it all works out. It just sets the default value for the 'Roles' param before calling. 3. public int AddTab(int portalID, string tabName, string Roles, int tabOrder, bool ShowMobile, string MobileTabName) --This is your new one, and the other two point to it. The sproc in the database should be changed to handle all the params this method will be sending (because this one is the only one that will actually reach the database...the other two versions come here for their data). I like this way, it seems the cleanest. =20 JB =20 On Thu, 30 Dec 2004 01:30:57 -0600, Mike Stone <ms...@kc...> wrote: > I used HTML email format so it was easy to highlight key points. It took > more time to write this then the code, > so if I left something out I am sorry, I just wanted to get this out today. > =20 > While working on the AddTabs.aspx page I needed to call the rp_AddTab stored > procedure in the=20 > TabsDB.cs file and ran into a couple of small issues that needs to be > addressed.=20 > I will include the code so you don't have to go look at it.=20 > My PROPOSED Solution is at the bottom and when finalized will be added to > the Jira Issue=20 > =20 > The form has the following fields as described in Jira Issue which need to > be saved/inserted into the=20 > rb_Tabs table, see Tabs Table (way below). Table Name Mapping=20 > =20 > 1) Tab Name - TabName > 2) Authorized Users that can view tab - AuthorizedRoles=20 > 3) Location where the new tab should be placed - ParentTabID > 4) Show to Mobile Uses? checkbox - ShowMobile > 5) Mobile Tab Name - MobileTabName > 6) Portal Id - PortalID > =20 > Issue 1) > The TabsDB.cs currently doesn't support that many parms being passed in. > Here are the two options=20 > currently in TabsDB.cs. in a) below AllUsers is assumed security role. > a) public int AddTab(int portalID, string tabName, string Roles, > int tabOrder) only 4 of the 6 needed parms > i) Missing ShowMobile > ii) Missing MobileTabName > b) public int AddTab(int portalID, string tabName, int tabOrder)=20 > only 3 of the 6 needed parms > i) Missing ShowMobile=20 > ii) Missing MobileTabName > iii) Missing AuthorizedRoles=20 > =20 > So of course my first idea was to just add another overload to allow for the > all 6 parms (which I did) so I went and looked at the=20 > Stored Procedure rp_AddTab and noticed=20 > it is missing ShowMobile and the TabsDB.cs has is passing MobileName but > not getting the > value from anyplace so it defaults to blank. > =20 > @PortalID int, > @TabName nvarchar(50), > @TabOrder int, > @AuthorizedRoles nvarchar (256), > @MobileTabName nvarchar(50), > @TabID int OUTPUT > =20 > =20 > =20 > Issue 2) > The=20 > rb_AddTab Stored Procedure Values clause has hard coded values in it :(. I > was thinking this is a bad approach. Shouldn't that value be set by a parm > passed in? (which of course is why it isn't currently passed in at all.) I > am sure this is the ShowMobile value set to false > =20 > VALUES > ( > @PortalID, > @TabName, > @TabOrder, > 0, /* false */ > @MobileTabName, > @AuthorizedRoles > ) > =20 > =20 > So for now, to get my project up and running I created a new SP named > rb_AddTab2 with the correct number of parms for EACH field. I am sure this > needs to be addressed in my Proposal below... > =20 > =20 > ---- Tabs Table ---- > 3 TabID int 4 0 > 0 ParentTabID int 4 1 > 0 TabOrder int 4 0 > 0 PortalID int 4 0 > 0 TabName nvarchar 50 0 > 0 MobileTabName nvarchar 50 0 > 0 AuthorizedRoles nvarchar 256 1 > 0 ShowMobile bit 1 0 > 0 TabLayout int 4 1 > --- End Table ----- > =20 > =20 > Research Completed=20 > =20 > I searched the whole project with VS for [ AddTab( ] and only found it > in the following files. two of > the existing modules seem to call the one with 4 of 6 parms shown in > issue 1 - a) below. =20 > That was #2 and #3 below. =20 > =20 > NOTE: 1 - a is the current one that sets all the SP Parms. The other > one is just a return > public int AddTab(int portalID, string tabName, int > tabOrder)=20 > { > return AddTab(portalID, tabName, strAllUsers, tabOrder); > } > I am not sure what the official name is > (OverRide/Module/Class) but I gather it passes in just those three parms to > the=20 > other (OverRide/Module/Class) and those with out incoming > parms somehow get default values. In this case Roles is =20 > set to "All Users;" > =20 > =20 > ------- TabsDB.cs ----- > Issue 1 - a) - public int AddTab(int portalID, string tabName, > string Roles, int tabOrder) > Issue 1 - b) - public int AddTab(int portalID, string tabName, int > tabOrder)=20 > ------- End TabsDB.cs ------ > =20 > 1) /DesktopModules/Tabs/AddTab.aspx.cs -> SaveButton_Click - Uses New > Overload) > .AddTab(portalSettings.PortalID, Int32.Parse(parentTab.SelectedItem.Value), > tabName.Text, 990000, authorizedRoles, showMobile.Checked, > mobileTabName.Text) > 2) /DesktopModules/AddTab/AddTab.ascx.cs -> AddTabButton_Click - Uses > Issue 1 - a)=20 > .AddTab(portalSettings.PortalID, t.Name, viewPermissionRoles, t.Order);=20 > =20 > 3) /app_code/Rainbow/DAL/PortalsDB.cs -> CreatePortal - Uses Issue 1 - a > and 1 - b) > // Create a new Tab "home" > .AddTab(portalID, "Home",1);=20 > // Create a new Tab "admin" > .AddTab(portalID, localizedString, strAdmins, 9999); > 4) /DesktopModules/PortalsAdministration/AddNewPortals.aspx.cs -> > CreatePortal - Uses Issue 1 -b)=20 > .AddTab(newPortalID, myReader["TabName"].ToString(), > Int32.Parse(myReader["TabOrder"].ToString())); =20 > 5) /DesktopModules/Tabs/Tabs.ascx.cs -> AddTab_Click - Uses Issue 1 - b)=20 > .AddTab(portalSettings.PortalID, t.Name, t.Order);=20 > =20 > =20 > Proposed Solution > =20 > This is where each of you come in. I have listed two options below so > that I can complete this issue. There may be others I am > missing so please chime in with your comments. > =20 > PS1) After toying with my options this one seems like the correct > approach, assume I follow the Wiki best practices for SQL db changes. > Drop the rb_AddTab stored procedure and recreate it as shown in New > rb_AddTab below.=20 > Delete out the current class in TabsDB.cs that sets sp parms and leave the > new one with all the parms I just created.=20 > Change the override version in TabsDB.cs so that the return has all the > needed default values passed in the correct order.=20 > Modify AddTab.ascx.cs -> AddTabButton_Click to pass in all parms as this > module will get the same features anyway.=20 > Modify AddNewPortals.aspx.cs -> CreatePortal so that the Admin Tab passes > all parms default values.=20 > Make sure the SP sets correct defaults if blanks are passed in.=20 > The input fields have been restricted to 50 chars so I didn't put in the > check length for MobileName.=20 > Retest on my site.=20 > Ask for testers from team for QA.=20 > Make Sure changes in Doc get made=20 > Make Sure Install is not effected > =20 > =20 > PS2) While thinking this was a cheep way out for me, but it doesn't quite > seem like the best coding practice. > Change the AddTab module so that it is the same as the new feature in the > Tabs module EHN I just made. Then Parms are the same.=20 > Create a NEW sp rb_AddTab2 that the AddTab module and AddTab.aspx page can > use leaving the old one there=20 > The input fields have been restricted to 50 chars so I didn't put in the > check length for MobileName.=20 > Retest on my site.=20 > Ask for testers from team for QA.=20 > Make Sure changes in Doc get made=20 > Make Sure Install is not effected > =20 > =20 > =20 > ---------- START rb_AddTab Stored Procedure --------------- > CREATE PROCEDURE rb_AddTab2 > ( > @PortalID int, /* Required Field */ > @ParentTabID int, /* New Parm - NULL Allowed > */ > @TabName nvarchar(50), /* Required Field */ > @TabOrder int, /* Required Field */ > @AuthorizedRoles nvarchar (256), /* NULL Allowed */ > @ShowMobile bit =3D 0, /* New Parm - false = by > default */ > @MobileTabName nvarchar(50), /* Required Field */ > @TabID int OUTPUT /* Returned value */ > =20 > ) > =20 > AS > =20 > /* Normally set to NULL if in Root so do so here */ > IF (@ParentTabID =3D 0) > BEGIN =20 > set @ParentTabID =3D NULL > END > =20 > /* Optionally check other fields and set appropriate defaults for them here > */ > =20 >=20 > INSERT INTO rb_Tabs > ( > ParentTabID, /* New Parm */ > TabOrder, > PortalID, > TabName, > MobileTabName, /* New Parm */ > AuthorizedRoles, > ShowMobile /* New Parm Not hard coded value 0 any more */ > =20 > =20 > ) > =20 >=20 > VALUES > ( > @ParentTabID,=20 > @TabOrder, > @PortalID, > @TabName, > @MobileTabName, > @AuthorizedRoles, > @ShowMobile > =20 > ) > =20 > SELECT > @TabID =3D @@IDENTITY > GO > =20 > ---------- END rb_AddTab Stored Procedure --------------- > =20 > =20 > =20 > =20 > Mike Stone > Director of Computer Information Services > Kaskaskia College > 27210 College Road > Centralia, IL 62801 > 618-545-3201 > www.kaskaskia.edu ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Rainbowportal-devel mailing list Rai...@li... https://lists.sourceforge.net/lists/listinfo/rainbowportal-devel |
From: John B. <bow...@gm...> - 2004-12-30 19:19:10
|
Right. What he said. I suppose coordinating with Bill would be a good thing, too, eh? Thanks! On Thu, 30 Dec 2004 11:09:33 -0800, William Forney <WF...@im...> wrote: > Let them all fall into the one with the most parameters. > ________________________________ > From: rai...@li... > [mailto:rai...@li...] On Behalf Of Mik= e > Stone > Sent: Thursday, December 30, 2004 8:49 AM >=20 > To: rai...@li... > Subject: Re: [Rainbowportal-devel] Tabs Module Changes Discussion >=20 > So do I take out the code in your #2 below that calls the SP so that it i= s > more like your #1 and let them all fall to the new one?=20 > =20 > Mike Stone > Director of Computer Information Services > Kaskaskia College > 27210 College Road > Centralia, IL 62801 > 618-545-3201 > www.kaskaskia.edu >=20 > >>> bow...@gm... 12/30/2004 06:27:32 >>> > Mike, >=20 > I think I'm just re-stating what you've said already, but... >=20 > I agree that your proposal #1 is the better idea...that you'll end up > with three versions of the AddTab method in TabsDB.cs, as follows: >=20 > 1. > public int AddTab(int portalID, string tabName, string Roles, int tabOrde= r) > --This is one of the two original versions, it now will just return a > value from your new version of AddTab (with the 6 params...you just > set the defaults for 'ShowMobile' and 'MobileTabName' before you call > the new one) >=20 > 2. > public int AddTab(int portalID, string tabName, int tabOrder)=20 > --This is one of the two original versions, and can be left as is...It > will happily call the 4-param version, which will happily call the new > 6-param version, and it all works out. It just sets the default value > for the 'Roles' param before calling. >=20 > 3. > public int AddTab(int portalID, string tabName, string Roles, int > tabOrder, bool ShowMobile, string MobileTabName) > --This is your new one, and the other two point to it. The sproc in > the database should be changed to handle all the params this method > will be sending (because this one is the only one that will actually > reach the database...the other two versions come here for their data). >=20 > I like this way, it seems the cleanest. =20 > JB > =20 >=20 > On Thu, 30 Dec 2004 01:30:57 -0600, Mike Stone <ms...@kc...> wrote= : > > I used HTML email format so it was easy to highlight key points. It too= k > > more time to write this then the code, > > so if I left something out I am sorry, I just wanted to get this out > today. > > =20 > > While working on the AddTabs.aspx page I needed to call the rp_AddTab > stored > > procedure in the=20 > > TabsDB.cs file and ran into a couple of small issues that needs to be > > addressed.=20 > > I will include the code so you don't have to go look at it.=20 > > My PROPOSED Solution is at the bottom and when finalized will be added = to > > the Jira Issue=20 > > =20 > > The form has the following fields as described in Jira Issue which need= to > > be saved/inserted into the=20 > > rb_Tabs table, see Tabs Table (way below). Table Name Mapping=20 > > =20 > > 1) Tab Name - TabName > > 2) Authorized Users that can view tab - AuthorizedRoles=20 > > 3) Location where the new tab should be placed - ParentTabID > > 4) Show to Mobile Uses? checkbox - ShowMobile > > 5) Mobile Tab Name - MobileTabName > > 6) Portal Id - PortalID > > =20 > > Issue 1) > > The TabsDB.cs currently doesn't support that many parms being passe= d > in. > > Here are the two options=20 > > currently in TabsDB.cs. in a) below AllUsers is assumed security > role. > > a) public int AddTab(int portalID, string tabName, string Rol= es, > > int tabOrder) only 4 of the 6 needed parms > > i) Missing ShowMobile > > ii) Missing MobileTabName > > b) public int AddTab(int portalID, string tabName, int tabOrd= er) > > only 3 of the 6 needed parms > > i) Missing ShowMobile=20 > > ii) Missing MobileTabName > > iii) Missing AuthorizedRoles=20 > > =20 > > So of course my first idea was to just add another overload to allow fo= r > the > > all 6 parms (which I did) so I went and looked at the=20 > > Stored Procedure rp_AddTab and noticed=20 > > it is missing ShowMobile and the TabsDB.cs has is passing MobileName b= ut > > not getting the > > value from anyplace so it defaults to blank. > > =20 > > @PortalID int, > > @TabName nvarchar(50), > > @TabOrder int, > > @AuthorizedRoles nvarchar (256), > > @MobileTabName nvarchar(50), > > @TabID int OUTPUT > > =20 > > =20 > > =20 > > Issue 2) > > The=20 > > rb_AddTab Stored Procedure Values clause has hard coded values in it :(= .=20 > I > > was thinking this is a bad approach. Shouldn't that value be set by a p= arm > > passed in? (which of course is why it isn't currently passed in at all.= )=20 > I > > am sure this is the ShowMobile value set to false > > =20 > > VALUES > > ( > > @PortalID, > > @TabName, > > @TabOrder, > > 0, /* false */ > > @MobileTabName, > > @AuthorizedRoles > > ) > > =20 > > =20 > > So for now, to get my project up and running I created a new SP named > > rb_AddTab2 with the correct number of parms for EACH field. I am sure t= his > > needs to be addressed in my Proposal below... > > =20 > > =20 > > =E2=80=94--- Tabs Table =E2=80=94--- > > 3 TabID int 4 0 > > 0 ParentTabID int 4 1 > > 0 TabOrder int 4 0 > > 0 PortalID int 4 0 > > 0 TabName nvarchar 50 0 > > 0 MobileTabName nvarchar 50 0 > > 0 AuthorizedRoles nvarchar 256 1 > > 0 ShowMobile bit 1 0 > > 0 TabLayout int 4 1 > > =E2=80=94-- End Table =E2=80=94---- > > =20 > > =20 > > Research Completed=20 > > =20 > > I searched the whole project with VS for [ AddTab( ] and only foun= d > it > > in the following files. two of > > the existing modules seem to call the one with 4 of 6 parms shown i= n > > issue 1 - a) below. =20 > > That was #2 and #3 below. =20 > > =20 > > NOTE: 1 - a is the current one that sets all the SP Parms. The > other > > one is just a return > > public int AddTab(int portalID, string tabName, int > > tabOrder)=20 > > { > > return AddTab(portalID, tabName, strAllUsers, > tabOrder); > > } > > I am not sure what the official name is > > (OverRide/Module/Class) but I gather it passes in just those three parm= s > to > > the=20 > > other (OverRide/Module/Class) and those with out incomi= ng > > parms somehow get default values. In this case Roles is =20 > > set to "All Users;" > > =20 > > =20 > > =E2=80=94------ TabsDB.cs =E2=80=94---- > > Issue 1 - a) =E2=80=94 public int AddTab(int portalID, string t= abName, > > string Roles, int tabOrder) > > Issue 1 - b) =E2=80=94 public int AddTab(int portalID, string t= abName, int > > tabOrder)=20 > > =E2=80=94------ End TabsDB.cs =E2=80=94----- > > =20 > > 1) /DesktopModules/Tabs/AddTab.aspx.cs -> SaveButton_Click - Uses N= ew > > Overload) > > .AddTab(portalSettings.PortalID, > Int32.Parse(parentTab.SelectedItem.Value), > > tabName.Text, 990000, authorizedRoles, showMobile.Checked, > > mobileTabName.Text) > > 2) /DesktopModules/AddTab/AddTab.ascx.cs -> AddTabButton_Click - Us= es > > Issue 1 - a)=20 > > .AddTab(portalSettings.PortalID, t.Name, viewPermissionRoles, t.Order);= =20 > > =20 > > 3) /app_code/Rainbow/DAL/PortalsDB.cs -> CreatePortal - Uses Issue 1= - > a > > and 1 - b) > > // Create a new Tab "home" > > .AddTab(portalID, "Home",1);=20 > > // Create a new Tab "admin" > > .AddTab(portalID, localizedString, strAdmins, 9999); > > 4) /DesktopModules/PortalsAdministration/AddNewPortals.aspx.cs -> > > CreatePortal - Uses Issue 1 -b)=20 > > .AddTab(newPortalID, myReader["TabName"].ToString(), > > Int32.Parse(myReader["TabOrder"].ToString())); =20 > > 5) /DesktopModules/Tabs/Tabs.ascx.cs -> AddTab_Click - Uses Issue 1 = - > b)=20 > > .AddTab(portalSettings.PortalID, t.Name, t.Order);=20 > > =20 > > =20 > > Proposed Solution > > =20 > > This is where each of you come in. I have listed two options below s= o > > that I can complete this issue. There may be others I am > > missing so please chime in with your comments. > > =20 > > PS1) After toying with my options this one seems like the correct > > approach, assume I follow the Wiki best practices for SQL db changes. > > Drop the rb_AddTab stored procedure and recreate it as shown in New > > rb_AddTab below.=20 > > Delete out the current class in TabsDB.cs that sets sp parms and leave = the > > new one with all the parms I just created.=20 > > Change the override version in TabsDB.cs so that the return has all the > > needed default values passed in the correct order.=20 > > Modify AddTab.ascx.cs -> AddTabButton_Click to pass in all parms as thi= s > > module will get the same features anyway.=20 > > Modify AddNewPortals.aspx.cs -> CreatePortal so that the Admin Tab pass= es > > all parms default values.=20 > > Make sure the SP sets correct defaults if blanks are passed in.=20 > > The input fields have been restricted to 50 chars so I didn't put in th= e > > check length for MobileName.=20 > > Retest on my site.=20 > > Ask for testers from team for QA.=20 > > Make Sure changes in Doc get made=20 > > Make Sure Install is not effected > > =20 > > =20 > > PS2) While thinking this was a cheep way out for me, but it doesn't > quite > > seem like the best coding practice. > > Change the AddTab module so that it is the same as the new feature in t= he > > Tabs module EHN I just made. Then Parms are the same.=20 > > Create a NEW sp rb_AddTab2 that the AddTab module and AddTab.aspx page = can > > use leaving the old one there=20 > > The input fields have been restricted to 50 chars so I didn't put in th= e > > check length for MobileName.=20 > > Retest on my site.=20 > > Ask for testers from team for QA.=20 > > Make Sure changes in Doc get made=20 > > Make Sure Install is not effected > > =20 > > =20 > > =20 > > =E2=80=94--------- START rb_AddTab Stored Procedure =E2=80=94----------= ---- > > CREATE PROCEDURE rb_AddTab2 > > ( > > @PortalID int, /* Required Field = */ > > @ParentTabID int, /* New Parm - NULL > Allowed > > */ > > @TabName nvarchar(50), /* Required Field */ > > @TabOrder int, /* Required Field */= =20 > > @AuthorizedRoles nvarchar (256), /* NULL Allowed */ > > @ShowMobile bit =3D 0, /* New Parm - false b= y > > default */ > > @MobileTabName nvarchar(50), /* Required Field */ > > @TabID int OUTPUT /* Returned value */ > > =20 > > ) > > =20 > > AS > > =20 > > /* Normally set to NULL if in Root so do so here */ > > IF (@ParentTabID =3D 0) > > BEGIN =20 > > set @ParentTabID =3D NULL > > END > > =20 > > /* Optionally check other fields and set appropriate defaults for them > here > > */ > > =20 > >=20 > > INSERT INTO rb_Tabs > > ( > > ParentTabID, /* New Parm */ > > TabOrder, > > PortalID, > > TabName, > > MobileTabName, /* New Parm */ > > AuthorizedRoles, > > ShowMobile /* New Parm Not hard coded value 0 any more */ > > =20 > > =20 > > ) > > =20 > >=20 > > VALUES > > ( > > @ParentTabID,=20 > > @TabOrder, > > @PortalID, > > @TabName, > > @MobileTabName, > > @AuthorizedRoles, > > @ShowMobile > > =20 > > ) > > =20 > > SELECT > > @TabID =3D @@IDENTITY > > GO > > =20 > > =E2=80=94--------- END rb_AddTab Stored Procedure =E2=80=94-----------= --- > > =20 > > =20 > > =20 > > =20 > > Mike Stone > > Director of Computer Information Services > > Kaskaskia College > > 27210 College Road > > Centralia, IL 62801 > > 618-545-3201 > > www.kaskaskia.edu >=20 >=20 > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > Rainbowportal-devel mailing list > Rai...@li... > https://lists.sourceforge.net/lists/listinfo/rainbowportal-devel > |
From: Mike S. <ms...@kc...> - 2004-12-31 17:42:37
|
Hello Bill, I am still waiting to hear back from you. Will I be able to committ to SF my changes without getting you missed up real bad or any thing? I don't fully understand what you are doing, my guess was something about adding abiltiy to go to any database. SO this brings up a guestion (sorry) Will we be able to fix these sort of issues without a lot of trouble in the furture? Is it just NOW that is a bad time to fix DB.cs errors, or are any changes say a few months from now still going to be bad? Mike Stone Director of Computer Information Services Kaskaskia College 27210 College Road Centralia, IL 62801 618-545-3201 www.kaskaskia.edu >>> WF...@im... 12/30/2004 12:59:16 >>> If you are going to go mucking about with this, please coordinate with me as it will be affected by what I'm doing. I am refactoring that stuff into the Rainbow.Data project on extensions in cvs. 1. Create a Tabs.cs in root of that project. 2. Put in that a Tabs class and create an overloaded Add() method for it as you suggest. 3. Modify the code to work with gentle.net or whatever layer we decide to change it to later. Thanks, Bill -----Original Message----- From: rai...@li... [mailto:rai...@li...] On Behalf Of John Bowen Sent: Thursday, December 30, 2004 4:28 AM To: rai...@li... Subject: Re: [Rainbowportal-devel] Tabs Module Changes Discussion Mike, I think I'm just re-stating what you've said already, but... I agree that your proposal #1 is the better idea...that you'll end up with three versions of the AddTab method in TabsDB.cs, as follows: 1. public int AddTab(int portalID, string tabName, string Roles, int tabOrder) --This is one of the two original versions, it now will just return a value from your new version of AddTab (with the 6 params...you just set the defaults for 'ShowMobile' and 'MobileTabName' before you call the new one) 2. public int AddTab(int portalID, string tabName, int tabOrder) --This is one of the two original versions, and can be left as is...It will happily call the 4-param version, which will happily call the new 6-param version, and it all works out. It just sets the default value for the 'Roles' param before calling. 3. public int AddTab(int portalID, string tabName, string Roles, int tabOrder, bool ShowMobile, string MobileTabName) --This is your new one, and the other two point to it. The sproc in the database should be changed to handle all the params this method will be sending (because this one is the only one that will actually reach the database...the other two versions come here for their data). I like this way, it seems the cleanest. JB On Thu, 30 Dec 2004 01:30:57 -0600, Mike Stone <ms...@kc...> wrote: > I used HTML email format so it was easy to highlight key points. It > took more time to write this then the code, so if I left something out > I am sorry, I just wanted to get this out today. > > While working on the AddTabs.aspx page I needed to call the rp_AddTab > stored procedure in the TabsDB.cs file and ran into a couple of small > issues that needs to be addressed. > I will include the code so you don't have to go look at it. > My PROPOSED Solution is at the bottom and when finalized will be added > to the Jira Issue > > The form has the following fields as described in Jira Issue which > need to be saved/inserted into the rb_Tabs table, see Tabs Table (way > below). Table Name Mapping > > 1) Tab Name - TabName > 2) Authorized Users that can view tab - AuthorizedRoles > 3) Location where the new tab should be placed - ParentTabID > 4) Show to Mobile Uses? checkbox - ShowMobile > 5) Mobile Tab Name - MobileTabName > 6) Portal Id - PortalID > > Issue 1) > The TabsDB.cs currently doesn't support that many parms being passed in. > Here are the two options > currently in TabsDB.cs. in a) below AllUsers is assumed security role. > a) public int AddTab(int portalID, string tabName, string > Roles, int tabOrder) only 4 of the 6 needed parms > i) Missing ShowMobile > ii) Missing MobileTabName > b) public int AddTab(int portalID, string tabName, int > tabOrder) only 3 of the 6 needed parms > i) Missing ShowMobile > ii) Missing MobileTabName > iii) Missing AuthorizedRoles > > So of course my first idea was to just add another overload to allow > for the all 6 parms (which I did) so I went and looked at the Stored > Procedure rp_AddTab and noticed it is missing ShowMobile and the > TabsDB.cs has is passing MobileName but not getting the value from > anyplace so it defaults to blank. > > @PortalID int, > @TabName nvarchar(50), > @TabOrder int, > @AuthorizedRoles nvarchar (256), > @MobileTabName nvarchar(50), > @TabID int OUTPUT > > > > Issue 2) > The > rb_AddTab Stored Procedure Values clause has hard coded values in it > :(. I was thinking this is a bad approach. Shouldn't that value be > set by a parm passed in? (which of course is why it isn't currently > passed in at all.) I am sure this is the ShowMobile value set to > false > > VALUES > ( > @PortalID, > @TabName, > @TabOrder, > 0, /* false */ > @MobileTabName, > @AuthorizedRoles > ) > > > So for now, to get my project up and running I created a new SP named > rb_AddTab2 with the correct number of parms for EACH field. I am sure > this needs to be addressed in my Proposal below... > > > ---- Tabs Table ---- > 3 TabID int 4 0 > 0 ParentTabID int 4 1 > 0 TabOrder int 4 0 > 0 PortalID int 4 0 > 0 TabName nvarchar 50 0 > 0 MobileTabName nvarchar 50 0 > 0 AuthorizedRoles nvarchar 256 1 > 0 ShowMobile bit 1 0 > 0 TabLayout int 4 1 > --- End Table ----- > > > Research Completed > > I searched the whole project with VS for [ AddTab( ] and only > found it in the following files. two of > the existing modules seem to call the one with 4 of 6 parms shown in > issue 1 - a) below. > That was #2 and #3 below. > > NOTE: 1 - a is the current one that sets all the SP Parms. The other > one is just a return > public int AddTab(int portalID, string tabName, int > tabOrder) > { > return AddTab(portalID, tabName, strAllUsers, tabOrder); > } > I am not sure what the official name is > (OverRide/Module/Class) but I gather it passes in just those three > parms to the > other (OverRide/Module/Class) and those with out > incoming parms somehow get default values. In this case Roles is > set to "All Users;" > > > ------- TabsDB.cs ----- > Issue 1 - a) - public int AddTab(int portalID, string tabName, > string Roles, int tabOrder) > Issue 1 - b) - public int AddTab(int portalID, string tabName, > int > tabOrder) > ------- End TabsDB.cs ------ > > 1) /DesktopModules/Tabs/AddTab.aspx.cs -> SaveButton_Click - Uses > New > Overload) > .AddTab(portalSettings.PortalID, > Int32.Parse(parentTab.SelectedItem.Value), > tabName.Text, 990000, authorizedRoles, showMobile.Checked, > mobileTabName.Text) > 2) /DesktopModules/AddTab/AddTab.ascx.cs -> AddTabButton_Click - > Uses Issue 1 - a) .AddTab(portalSettings.PortalID, t.Name, > viewPermissionRoles, t.Order); > > 3) /app_code/Rainbow/DAL/PortalsDB.cs -> CreatePortal - Uses Issue > 1 - a and 1 - b) // Create a new Tab "home" > .AddTab(portalID, "Home",1); > // Create a new Tab "admin" > .AddTab(portalID, localizedString, strAdmins, 9999); > 4) /DesktopModules/PortalsAdministration/AddNewPortals.aspx.cs -> > CreatePortal - Uses Issue 1 -b) .AddTab(newPortalID, > myReader["TabName"].ToString(), > Int32.Parse(myReader["TabOrder"].ToString())); > 5) /DesktopModules/Tabs/Tabs.ascx.cs -> AddTab_Click - Uses Issue 1 > - b) .AddTab(portalSettings.PortalID, t.Name, t.Order); > > > Proposed Solution > > This is where each of you come in. I have listed two options below > so that I can complete this issue. There may be others I am > missing so please chime in with your comments. > > PS1) After toying with my options this one seems like the correct > approach, assume I follow the Wiki best practices for SQL db changes. > Drop the rb_AddTab stored procedure and recreate it as shown in New > rb_AddTab below. > Delete out the current class in TabsDB.cs that sets sp parms and leave > the new one with all the parms I just created. > Change the override version in TabsDB.cs so that the return has all > the needed default values passed in the correct order. > Modify AddTab.ascx.cs -> AddTabButton_Click to pass in all parms as > this module will get the same features anyway. > Modify AddNewPortals.aspx.cs -> CreatePortal so that the Admin Tab > passes all parms default values. > Make sure the SP sets correct defaults if blanks are passed in. > The input fields have been restricted to 50 chars so I didn't put in > the check length for MobileName. > Retest on my site. > Ask for testers from team for QA. > Make Sure changes in Doc get made > Make Sure Install is not effected > > > PS2) While thinking this was a cheep way out for me, but it doesn't > quite seem like the best coding practice. > Change the AddTab module so that it is the same as the new feature in > the Tabs module EHN I just made. Then Parms are the same. > Create a NEW sp rb_AddTab2 that the AddTab module and AddTab.aspx page > can use leaving the old one there The input fields have been > restricted to 50 chars so I didn't put in the check length for > MobileName. > Retest on my site. > Ask for testers from team for QA. > Make Sure changes in Doc get made > Make Sure Install is not effected > > > > ---------- START rb_AddTab Stored Procedure --------------- CREATE > PROCEDURE rb_AddTab2 ( > @PortalID int, /* Required Field */ > @ParentTabID int, /* New Parm - NULL Allowed > */ > @TabName nvarchar(50), /* Required Field */ > @TabOrder int, /* Required Field */ > @AuthorizedRoles nvarchar (256), /* NULL Allowed */ > @ShowMobile bit = 0, /* New Parm - false by > default */ > @MobileTabName nvarchar(50), /* Required Field */ > @TabID int OUTPUT /* Returned value */ > > ) > > AS > > /* Normally set to NULL if in Root so do so here */ > IF (@ParentTabID = 0) > BEGIN > set @ParentTabID = NULL > END > > /* Optionally check other fields and set appropriate defaults for them > here */ > > > INSERT INTO rb_Tabs > ( > ParentTabID, /* New Parm */ > TabOrder, > PortalID, > TabName, > MobileTabName, /* New Parm */ > AuthorizedRoles, > ShowMobile /* New Parm Not hard coded value 0 any more */ > > > ) > > > VALUES > ( > @ParentTabID, > @TabOrder, > @PortalID, > @TabName, > @MobileTabName, > @AuthorizedRoles, > @ShowMobile > > ) > > SELECT > @TabID = @@IDENTITY > GO > > ---------- END rb_AddTab Stored Procedure --------------- > > > > > Mike Stone > Director of Computer Information Services Kaskaskia College 27210 > College Road Centralia, IL 62801 > 618-545-3201 > www.kaskaskia.edu ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Rainbowportal-devel mailing list Rai...@li... https://lists.sourceforge.net/lists/listinfo/rainbowportal-devel ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Rainbowportal-devel mailing list Rai...@li... https://lists.sourceforge.net/lists/listinfo/rainbowportal-devel |
From: William F. <WF...@im...> - 2004-12-31 20:49:36
|
Hi, =20 Sorry for my delay. Something I noticed that you should be aware of if you are working in the Rainbow_1_6 branch with me: =20 BLL has been moved to the Rainbow.BusinessRules project under extensions. Everything that is not for an admin module and ends in DB.cs is or should be moved to Rainbow.Data in extensions. =20 So half the files someone committed recently are no longer really even included in my project file. I left them there because I was not sure if removing them would screw up the HEAD branch. =20 In any case, please contact me before anyone commits to my branch under app_code as much of what is in there is getting moved around or removed. =20 Thanks. =20 Anyway, to answer your question, I am completely changing ALL data access code, including db.cs files so if you work on them I can't guarantee that we won't conflict with each other unless you talk to me first. Best thing would be to try to get hold of me on msnim if I'm around for a quick answer. =20 Much of what I'm doing involves this: =20 Move all business objects/items into the businessrules project. Convert the DB.cs files and make the Rainbow.Data project work with gentle.net at first. Then once all the business layer stuff is ready a simple change or two on the data project and you can then implement your own data project for any provider you want, iBatis, whatever... The key thing I am doing is providing the interfaces for the data project to plug into and until it is a bit more static we have to pick where we will put things. =20 If you want to help with this contact me and I can give you a short list of things that need to be done that won't conflict with what anyone else is doing. In a little while I will post a list here or maybe in jira and then we can assign the tasks to whoever. jira might be better, I'll just log them as enhancements. Meantime, don't let me slow you down, just im me before you commit. What needs to be done now is take all the places that return data readers and find their references (places they are called) and consolidate that data logic into the db files and make the files calling them access the read data with arraylists or other rainbow objects (this is in flux too but less so). Then when you have something working that way, move the encapsulated data logic into the rainbow.data project so that it can be modified to work with the gentle.net framework. =20 Also, I am looking at implementing the backport of asp.net 2's user/roles block that is on asp.net for 1.1. So anything user related could get switched up while we're at it. Needless to say I'm going to be very busy. :) hehehe ... I'm checking out that thing today or tomorrow and will start implementing it as soon as everything in rb is organized enough to not waste a ton of time searching for things. =20 Thanks again and Happy New Year! =20 Bill Forney bi...@im... +1.360.202.9614 ________________________________ From: rai...@li... [mailto:rai...@li...] On Behalf Of Mike Stone Sent: Friday, December 31, 2004 9:42 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Hello Bill, I am still waiting to hear back from you. Will I be able to committ to SF my changes without getting you missed up real bad or any thing? I don't fully understand what you are doing, my guess was something about adding abiltiy to go to any database. SO this brings up a guestion (sorry) =20 =20 Will we be able to fix these sort of issues without a lot of trouble in the furture? Is it just NOW that is a bad time to fix DB.cs errors, or are any changes say a few months from now still going to be bad? =20 =20 =20 Mike Stone Director of Computer Information Services Kaskaskia College 27210 College Road Centralia, IL 62801 618-545-3201 www.kaskaskia.edu >>> WF...@im... 12/30/2004 12:59:16 >>> If you are going to go mucking about with this, please coordinate with me as it will be affected by what I'm doing. I am refactoring that stuff into the Rainbow.Data project on extensions in cvs. 1. Create a Tabs.cs in root of that project. 2. Put in that a Tabs class and create an overloaded Add() method for it as you suggest. 3. Modify the code to work with gentle.net or whatever layer we decide to change it to later. Thanks, Bill=20 -----Original Message----- From: rai...@li... [mailto:rai...@li...] On Behalf Of John Bowen Sent: Thursday, December 30, 2004 4:28 AM To: rai...@li... Subject: Re: [Rainbowportal-devel] Tabs Module Changes Discussion Mike, I think I'm just re-stating what you've said already, but... I agree that your proposal #1 is the better idea...that you'll end up with three versions of the AddTab method in TabsDB.cs, as follows: 1. public int AddTab(int portalID, string tabName, string Roles, int tabOrder) --This is one of the two original versions, it now will just return a value from your new version of AddTab (with the 6 params...you just set the defaults for 'ShowMobile' and 'MobileTabName' before you call the new one) 2. public int AddTab(int portalID, string tabName, int tabOrder) --This is one of the two original versions, and can be left as is...It will happily call the 4-param version, which will happily call the new 6-param version, and it all works out. It just sets the default value for the 'Roles' param before calling. 3. public int AddTab(int portalID, string tabName, string Roles, int tabOrder, bool ShowMobile, string MobileTabName) --This is your new one, and the other two point to it. The sproc in the database should be changed to handle all the params this method will be sending (because this one is the only one that will actually reach the database...the other two versions come here for their data). I like this way, it seems the cleanest. =20 JB =20 On Thu, 30 Dec 2004 01:30:57 -0600, Mike Stone <ms...@kc...> wrote: > I used HTML email format so it was easy to highlight key points. It=20 > took more time to write this then the code, so if I left something out > I am sorry, I just wanted to get this out today. > =20 > While working on the AddTabs.aspx page I needed to call the rp_AddTab=20 > stored procedure in the TabsDB.cs file and ran into a couple of small=20 > issues that needs to be addressed. > I will include the code so you don't have to go look at it.=20 > My PROPOSED Solution is at the bottom and when finalized will be added > to the Jira Issue > =20 > The form has the following fields as described in Jira Issue which=20 > need to be saved/inserted into the rb_Tabs table, see Tabs Table (way > below). Table Name Mapping > =20 > 1) Tab Name - TabName > 2) Authorized Users that can view tab - AuthorizedRoles=20 > 3) Location where the new tab should be placed - ParentTabID > 4) Show to Mobile Uses? checkbox - ShowMobile > 5) Mobile Tab Name - MobileTabName > 6) Portal Id - PortalID > =20 > Issue 1) > The TabsDB.cs currently doesn't support that many parms being passed in. > Here are the two options=20 > currently in TabsDB.cs. in a) below AllUsers is assumed security role. > a) public int AddTab(int portalID, string tabName, string=20 > Roles, int tabOrder) only 4 of the 6 needed parms > i) Missing ShowMobile > ii) Missing MobileTabName > b) public int AddTab(int portalID, string tabName, int=20 > tabOrder) only 3 of the 6 needed parms > i) Missing ShowMobile=20 > ii) Missing MobileTabName > iii) Missing AuthorizedRoles > =20 > So of course my first idea was to just add another overload to allow=20 > for the all 6 parms (which I did) so I went and looked at the Stored=20 > Procedure rp_AddTab and noticed it is missing ShowMobile and the=20 > TabsDB.cs has is passing MobileName but not getting the value from=20 > anyplace so it defaults to blank. > =20 > @PortalID int, > @TabName nvarchar(50), > @TabOrder int, > @AuthorizedRoles nvarchar (256), > @MobileTabName nvarchar(50), > @TabID int OUTPUT > =20 > =20 > =20 > Issue 2) > The > rb_AddTab Stored Procedure Values clause has hard coded values in it=20 > :(. I was thinking this is a bad approach. Shouldn't that value be=20 > set by a parm passed in? (which of course is why it isn't currently=20 > passed in at all.) I am sure this is the ShowMobile value set to=20 > false > =20 > VALUES > ( > @PortalID, > @TabName, > @TabOrder, > 0, /* false */ > @MobileTabName, > @AuthorizedRoles > ) > =20 > =20 > So for now, to get my project up and running I created a new SP named > rb_AddTab2 with the correct number of parms for EACH field. I am sure=20 > this needs to be addressed in my Proposal below... > =20 > =20 > ---- Tabs Table ---- > 3 TabID int 4 0 > 0 ParentTabID int 4 1 > 0 TabOrder int 4 0 > 0 PortalID int 4 0 > 0 TabName nvarchar 50 0 > 0 MobileTabName nvarchar 50 0 > 0 AuthorizedRoles nvarchar 256 1 > 0 ShowMobile bit 1 0 > 0 TabLayout int 4 1 > --- End Table ----- > =20 > =20 > Research Completed > =20 > I searched the whole project with VS for [ AddTab( ] and only=20 > found it in the following files. two of > the existing modules seem to call the one with 4 of 6 parms shown in > issue 1 - a) below. =20 > That was #2 and #3 below. =20 > =20 > NOTE: 1 - a is the current one that sets all the SP Parms. The other > one is just a return > public int AddTab(int portalID, string tabName, int > tabOrder)=20 > { > return AddTab(portalID, tabName, strAllUsers, tabOrder); > } > I am not sure what the official name is > (OverRide/Module/Class) but I gather it passes in just those three=20 > parms to the > other (OverRide/Module/Class) and those with out=20 > incoming parms somehow get default values. In this case Roles is > set to "All Users;" > =20 > =20 > ------- TabsDB.cs ----- > Issue 1 - a) - public int AddTab(int portalID, string tabName, > string Roles, int tabOrder) > Issue 1 - b) - public int AddTab(int portalID, string tabName, > int > tabOrder)=20 > ------- End TabsDB.cs ------ > =20 > 1) /DesktopModules/Tabs/AddTab.aspx.cs -> SaveButton_Click - Uses=20 > New > Overload) > .AddTab(portalSettings.PortalID,=20 > Int32.Parse(parentTab.SelectedItem.Value), > tabName.Text, 990000, authorizedRoles, showMobile.Checked, > mobileTabName.Text) > 2) /DesktopModules/AddTab/AddTab.ascx.cs -> AddTabButton_Click -=20 > Uses Issue 1 - a) .AddTab(portalSettings.PortalID, t.Name,=20 > viewPermissionRoles, t.Order); > =20 > 3) /app_code/Rainbow/DAL/PortalsDB.cs -> CreatePortal - Uses Issue=20 > 1 - a and 1 - b) // Create a new Tab "home" > .AddTab(portalID, "Home",1); > // Create a new Tab "admin" > .AddTab(portalID, localizedString, strAdmins, 9999); > 4) /DesktopModules/PortalsAdministration/AddNewPortals.aspx.cs ->=20 > CreatePortal - Uses Issue 1 -b) .AddTab(newPortalID,=20 > myReader["TabName"].ToString(), > Int32.Parse(myReader["TabOrder"].ToString())); =20 > 5) /DesktopModules/Tabs/Tabs.ascx.cs -> AddTab_Click - Uses Issue 1 > - b) .AddTab(portalSettings.PortalID, t.Name, t.Order); > =20 > =20 > Proposed Solution > =20 > This is where each of you come in. I have listed two options below=20 > so that I can complete this issue. There may be others I am > missing so please chime in with your comments. > =20 > PS1) After toying with my options this one seems like the correct=20 > approach, assume I follow the Wiki best practices for SQL db changes. > Drop the rb_AddTab stored procedure and recreate it as shown in New=20 > rb_AddTab below. > Delete out the current class in TabsDB.cs that sets sp parms and leave > the new one with all the parms I just created. > Change the override version in TabsDB.cs so that the return has all=20 > the needed default values passed in the correct order. > Modify AddTab.ascx.cs -> AddTabButton_Click to pass in all parms as=20 > this module will get the same features anyway. > Modify AddNewPortals.aspx.cs -> CreatePortal so that the Admin Tab=20 > passes all parms default values. > Make sure the SP sets correct defaults if blanks are passed in.=20 > The input fields have been restricted to 50 chars so I didn't put in=20 > the check length for MobileName. > Retest on my site.=20 > Ask for testers from team for QA.=20 > Make Sure changes in Doc get made > Make Sure Install is not effected > =20 > =20 > PS2) While thinking this was a cheep way out for me, but it doesn't=20 > quite seem like the best coding practice. > Change the AddTab module so that it is the same as the new feature in=20 > the Tabs module EHN I just made. Then Parms are the same. > Create a NEW sp rb_AddTab2 that the AddTab module and AddTab.aspx page > can use leaving the old one there The input fields have been=20 > restricted to 50 chars so I didn't put in the check length for=20 > MobileName. > Retest on my site.=20 > Ask for testers from team for QA.=20 > Make Sure changes in Doc get made > Make Sure Install is not effected > =20 > =20 > =20 > ---------- START rb_AddTab Stored Procedure --------------- CREATE=20 > PROCEDURE rb_AddTab2 ( > @PortalID int, /* Required Field */ > @ParentTabID int, /* New Parm - NULL Allowed > */ > @TabName nvarchar(50), /* Required Field */ > @TabOrder int, /* Required Field */ > @AuthorizedRoles nvarchar (256), /* NULL Allowed */ > @ShowMobile bit =3D 0, /* New Parm - false = by > default */ > @MobileTabName nvarchar(50), /* Required Field */ > @TabID int OUTPUT /* Returned value */ > =20 > ) > =20 > AS > =20 > /* Normally set to NULL if in Root so do so here */ > IF (@ParentTabID =3D 0) > BEGIN =20 > set @ParentTabID =3D NULL > END > =20 > /* Optionally check other fields and set appropriate defaults for them > here */ > =20 >=20 > INSERT INTO rb_Tabs > ( > ParentTabID, /* New Parm */ > TabOrder, > PortalID, > TabName, > MobileTabName, /* New Parm */ > AuthorizedRoles, > ShowMobile /* New Parm Not hard coded value 0 any more */ > =20 > =20 > ) > =20 >=20 > VALUES > ( > @ParentTabID,=20 > @TabOrder, > @PortalID, > @TabName, > @MobileTabName, > @AuthorizedRoles, > @ShowMobile > =20 > ) > =20 > SELECT > @TabID =3D @@IDENTITY > GO > =20 > ---------- END rb_AddTab Stored Procedure --------------- > =20 > =20 > =20 > =20 > Mike Stone > Director of Computer Information Services Kaskaskia College 27210=20 > College Road Centralia, IL 62801 > 618-545-3201 > www.kaskaskia.edu ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Rainbowportal-devel mailing list Rai...@li... https://lists.sourceforge.net/lists/listinfo/rainbowportal-devel ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Rainbowportal-devel mailing list Rai...@li... https://lists.sourceforge.net/lists/listinfo/rainbowportal-devel |
From: matro <ma...@re...> - 2005-01-02 16:28:01
|
since you are going to deal with users and roles, it may be worth to take a look at my posts #786 <http://groups.yahoo.com/group/rainbowportal/message/786> and related - such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> - on yahoo users group related to the separation of authentication, profiling and roles. =20 let us know what do you think about. _____=20=20 Da: rai...@li... [mailto:rai...@li...] Per conto di William Forney Inviato: venerd=EC 31 dicembre 2004 21.49 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion <cut> Also, I am looking at implementing the backport of asp.net 2's user/roles block that is on asp.net for 1.1. So anything user related could get switched up while we're at it. Needless to say I'm going to be very busy. :) hehehe ... I'm checking out that thing today or tomorrow and will start implementing it as soon as everything in rb is organized enough to not waste a ton of time searching for things. <cut> -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for MS Outlook |
From: Mark M. <mar...@ho...> - 2005-01-03 19:03:05
|
Also, please think about how Active Directory will work in this architecture. =20 =20 Many large businesses like mine have thousands of AD groups, and don't = give admin privileges to potential Rainbow administrators - so you should use = AD to authenticate users but the roles and lists of users in roles should = be kept somewhere separate like SQl Server (this is how IBuySpy was done originally) _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of = matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to = take a look at my posts #786 <http://groups.yahoo.com/group/rainbowportal/message/786> and related - such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> = - on yahoo users group related to the separation of authentication, profiling = and roles. =20 let us know what do you think about. _____ =20 Da: rai...@li... [mailto:rai...@li...] Per conto di William Forney Inviato: venerd=EC 31 dicembre 2004 21.49 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion <cut> Also, I am looking at implementing the backport of asp.net 2's = user/roles block that is on asp.net for 1.1. So anything user related could get switched up while we're at it. Needless to say I'm going to be very = busy. :) hehehe ... I'm checking out that thing today or tomorrow and will start implementing it as soon as everything in rb is organized enough to = not waste a ton of time searching for things. <cut> -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for = MS Outlook |
From: William F. <WF...@im...> - 2005-01-04 01:39:06
|
The last step in the move I'm making will be to implement the backported = (v1.1 compatible) .NET v2 user roles blocks from asp.net/ms. That means = that rainbow will use the built-in authentication, roles, and profiles = management of v2 in our v1.1 version. ________________________________ From: rai...@li... = [mailto:rai...@li...] On Behalf Of = Mark McFarlane Sent: Monday, January 03, 2005 11:15 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Also, please think about how Active Directory will work in this = architecture. =20 =20 Many large businesses like mine have thousands of AD groups, and don't = give admin privileges to potential Rainbow administrators - so you = should use AD to authenticate users but the roles and lists of users in = roles should be kept somewhere separate like SQl Server (this is how = IBuySpy was done originally) ________________________________ From: rai...@li... = [mailto:rai...@li...] On Behalf Of = matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to = take a look at my posts #786 = <http://groups.yahoo.com/group/rainbowportal/message/786> and related - = such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> = - on yahoo users group related to the separation of authentication, = profiling and roles. =20 let us know what do you think about. ________________________________ Da: rai...@li... = [mailto:rai...@li...] Per conto di = William Forney Inviato: venerd=EC 31 dicembre 2004 21.49 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion =09 <cut> Also, I am looking at implementing the backport of asp.net 2's = user/roles block that is on asp.net for 1.1. So anything user related = could get switched up while we're at it. Needless to say I'm going to = be very busy. :) hehehe ... I'm checking out that thing today or = tomorrow and will start implementing it as soon as everything in rb is = organized enough to not waste a ton of time searching for things. <cut> -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for = MS Outlook |
From: Mark M. <mar...@ho...> - 2005-01-04 15:18:15
|
If you do this, as previously state, don't break the way it currently = works because peoples sites depend on this current behavior. I can't tell you = how pissed off I was 18 months ago when someone changed the roles = implementation without concern for compatibility and ruined my chance of using Rainbow anymore. =20 Your first implementation needs to be 100% backwards compatible with the current Rainbow system. _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of William Forney Sent: Tuesday, January 04, 2005 4:39 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion The last step in the move I'm making will be to implement the backported (v1.1 compatible) .NET v2 user roles blocks from asp.net/ms. That means that rainbow will use the built-in authentication, roles, and profiles management of v2 in our v1.1 version. _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of = Mark McFarlane Sent: Monday, January 03, 2005 11:15 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Also, please think about how Active Directory will work in this architecture. =20 =20 Many large businesses like mine have thousands of AD groups, and don't = give admin privileges to potential Rainbow administrators - so you should use = AD to authenticate users but the roles and lists of users in roles should = be kept somewhere separate like SQl Server (this is how IBuySpy was done originally) _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of = matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to = take a look at my posts #786 <http://groups.yahoo.com/group/rainbowportal/message/786> and related - such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> = - on yahoo users group related to the separation of authentication, profiling = and roles. =20 let us know what do you think about. _____ =20 Da: rai...@li... [mailto:rai...@li...] Per conto di William Forney Inviato: venerd=EC 31 dicembre 2004 21.49 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion <cut> Also, I am looking at implementing the backport of asp.net 2's = user/roles block that is on asp.net for 1.1. So anything user related could get switched up while we're at it. Needless to say I'm going to be very = busy. :) hehehe ... I'm checking out that thing today or tomorrow and will start implementing it as soon as everything in rb is organized enough to = not waste a ton of time searching for things. <cut> -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for = MS Outlook |
From: matro <ma...@re...> - 2005-01-04 02:44:13
|
I fly looked at them, seems quite interesting, however beware of the following: =20 - current version 1.0 is a Prototype - the EULA says not usable in production sites (!) - I haven't found neither a ProfileProvided nor a MembershipProvider derived classes to support Active Directory (quite strange) _____=20=20 Da: rai...@li... [mailto:rai...@li...] Per conto di William Forney Inviato: marted=EC 4 gennaio 2005 2.39 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion The last step in the move I'm making will be to implement the backported (v1.1 compatible) .NET v2 user roles blocks from asp.net/ms. That means that rainbow will use the built-in authentication, roles, and profiles management of v2 in our v1.1 version. _____=20=20 From: rai...@li... [mailto:rai...@li...] On Behalf Of Mark McFarlane Sent: Monday, January 03, 2005 11:15 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Also, please think about how Active Directory will work in this architecture.=20=20 =20 Many large businesses like mine have thousands of AD groups, and don't give admin privileges to potential Rainbow administrators - so you should use AD to authenticate users but the roles and lists of users in roles should be kept somewhere separate like SQl Server (this is how IBuySpy was done originally) _____=20=20 From: rai...@li... [mailto:rai...@li...] On Behalf Of matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to take a look at my posts #786 <http://groups.yahoo.com/group/rainbowportal/message/786> and related - such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> - on yahoo users group related to the separation of authentication, profiling and roles. =20 let us know what do you think about. -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for MS Outlook |
From: Mark M. <mar...@ho...> - 2005-01-05 14:00:15
|
Of course, please don't put any code in Rainbow that can't be used in a production site unless it is a pluggable module that is OFF / UNPLUGGED = by default, otherwise some unsuspecting user will use it by mistake on a production site and the Rainbow project could potentially suffer from = legal involvement. _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of = matro Sent: Tuesday, January 04, 2005 5:43 AM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion I fly looked at them, seems quite interesting, however beware of the following: =20 - current version 1.0 is a Prototype - the EULA says not usable in production sites (!) - I haven't found neither a ProfileProvided nor a MembershipProvider = derived classes to support Active Directory (quite strange) _____ =20 Da: rai...@li... [mailto:rai...@li...] Per conto di William Forney Inviato: marted=EC 4 gennaio 2005 2.39 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion The last step in the move I'm making will be to implement the backported (v1.1 compatible) .NET v2 user roles blocks from asp.net/ms. That means that rainbow will use the built-in authentication, roles, and profiles management of v2 in our v1.1 version. _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of = Mark McFarlane Sent: Monday, January 03, 2005 11:15 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Also, please think about how Active Directory will work in this architecture. =20 =20 Many large businesses like mine have thousands of AD groups, and don't = give admin privileges to potential Rainbow administrators - so you should use = AD to authenticate users but the roles and lists of users in roles should = be kept somewhere separate like SQl Server (this is how IBuySpy was done originally) _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of = matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to = take a look at my posts #786 <http://groups.yahoo.com/group/rainbowportal/message/786> and related - such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> = - on yahoo users group related to the separation of authentication, profiling = and roles. =20 let us know what do you think about. -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for = MS Outlook |
From: Mark A. G. <mgr...@gt...> - 2005-01-04 06:30:55
|
Hmm, this will also affect the LDAP. We have only the admin in SQL server and then all the users are = authenticated off the LDAP server. We have groups in LDAP that have different permissions in rainbow, so we = need the LDAP groups to work. In other words, what we have now we must maintain. Please do not break the LDAP, I spent $15000 getting that to work in = Rainbow. Mark =20 _____ =20 From: Mark McFarlane [mailto:mar...@ho...]=20 Sent: Tuesday, 4 January 2005 6:01 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion =20 Also, please think about how Active Directory will work in this = architecture. =20 =20 Many large businesses like mine have thousands of AD groups, and don't = give admin privileges to potential Rainbow administrators - so you = should use AD to authenticate users but the roles and lists of users in = roles should be kept somewhere separate like SQl Server (this is how = IBuySpy was done originally) =20 _____ =20 From: rai...@li... = [mailto:rai...@li...] On Behalf Of = matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to = take a look at my posts #786 = <http://groups.yahoo.com/group/rainbowportal/message/786> and related - = such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> = - on yahoo users group related to the separation of authentication, = profiling and roles. =20 let us know what do you think about. =20 =09 _____ =20 Da: rai...@li... = [mailto:rai...@li...] Per conto di = William Forney Inviato: venerd=EC 31 dicembre 2004 21.49 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion <cut> Also, I am looking at implementing the backport of asp.net 2's = user/roles block that is on asp.net for 1.1. So anything user related = could get switched up while we're at it. Needless to say I'm going to = be very busy. :) hehehe ... I'm checking out that thing today or = tomorrow and will start implementing it as soon as everything in rb is = organized enough to not waste a ton of time searching for things. <cut> =20 -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for = MS Outlook |
From: Ed D. <ra...@es...> - 2005-01-04 09:04:58
|
I'd like us to keep a focus on this and as clearly stated below members of the community have invested time in making this feature available - I don't want to introduce bureaucracy either but. Should we have a team group for 'Identity/Presence' that will focus on this type of functionality across the Rainbow suite. I see LDAP integration as a vital/critical component of both RB1 and 2 as it is also a key enabler for cross-application integration therefore in light of that I have posted this. Anyone fancy team-leading this section? Does the idea 'have legs'? as we say in the UK. Regards, Ed _____ From: rai...@li... [mailto:rai...@li...] On Behalf Of Mark A. Gregory Sent: 04 January 2005 06:31 To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Hmm, this will also affect the LDAP. We have only the admin in SQL server and then all the users are authenticated off the LDAP server. We have groups in LDAP that have different permissions in rainbow, so we need the LDAP groups to work. In other words, what we have now we must maintain. Please do not break the LDAP, I spent $15000 getting that to work in Rainbow. Mark |
From: matro <ma...@re...> - 2005-01-04 12:26:55
|
as I suggested in my posts <http://groups.yahoo.com/group/rainbowportal/message/786> #786 and related - such as # <http://groups.yahoo.com/group/rainbowportal/message/798> 798 - on rainbow yahoo users group, I think there should be a distinction between authentication, roles and profiles. =20 so, you can choose to use LDAP for one, two or all of the topics, while, for example, I'd be able to use LDAP for authentication and Rainbow itself for roles and profiles. _____=20=20 Da: rai...@li... [mailto:rai...@li...] Per conto di Mark A. Gregory Inviato: marted=EC 4 gennaio 2005 7.31 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Hmm, this will also affect the LDAP. We have only the admin in SQL server and then all the users are authenticated off the LDAP server. We have groups in LDAP that have different permissions in rainbow, so we need the LDAP groups to work. In other words, what we have now we must maintain. Please do not break the LDAP, I spent $15000 getting that to work in Rainbow. Mark =20 _____=20=20 From: Mark McFarlane [mailto:mar...@ho...]=20 Sent: Tuesday, 4 January 2005 6:01 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion =20 Also, please think about how Active Directory will work in this architecture.=20=20 =20 Many large businesses like mine have thousands of AD groups, and don't give admin privileges to potential Rainbow administrators - so you should use AD to authenticate users but the roles and lists of users in roles should be kept somewhere separate like SQl Server (this is how IBuySpy was done originally) =20 _____=20=20 From: rai...@li... [mailto:rai...@li...] On Behalf Of matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to take a look at my posts #786 <http://groups.yahoo.com/group/rainbowportal/message/786> and related - such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> - on yahoo users group related to the separation of authentication, profiling and roles. =20 let us know what do you think about. =20 _____=20=20 Da: rai...@li... [mailto:rai...@li...] Per conto di William Forney Inviato: venerd=EC 31 dicembre 2004 21.49 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion <cut> Also, I am looking at implementing the backport of asp.net 2's user/roles block that is on asp.net for 1.1. So anything user related could get switched up while we're at it. Needless to say I'm going to be very busy. :) hehehe ... I'm checking out that thing today or tomorrow and will start implementing it as soon as everything in rb is organized enough to not waste a ton of time searching for things. <cut> -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for MS Outlook |
From: Mark M. <mar...@ho...> - 2005-01-04 15:15:37
|
Authenticating users with LDAP or AD/LDAP is fine. I just need an OPTION = to place groups in something other than the LDAP provider (or I might be = able to get by with a wildcard style filter for the groups).=20 =20 Rainbow pages insist on displaying every darn group in the system. If = you have 6000 groups (as my company does) the system becomes completely = unusable (which I why I haven't been able to use a version of Rainbow in over a year). =20 We have several options 1) Some nice new plug-in style architecture that allows easy new extensions for authorization (rules) and authentication = and may require many code changes throughout Rainbow and its modules, or 2) = Just replace the existing modules but keep the same API and include = instructions on how to build Rainbow with different 'provider' modules. If you use option 2, the current implementation can remain exactly what how it is = and the new implementation can be a compile-time replacement. _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of = Mark A. Gregory Sent: Tuesday, January 04, 2005 9:31 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Hmm, this will also affect the LDAP. We have only the admin in SQL server and then all the users are authenticated off the LDAP server. We have groups in LDAP that have different permissions in rainbow, so we need the LDAP groups to work. In other words, what we have now we must maintain. Please do not break the LDAP, I spent $15000 getting that to work in Rainbow. Mark =20 _____ =20 From: Mark McFarlane [mailto:mar...@ho...]=20 Sent: Tuesday, 4 January 2005 6:01 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion =20 Also, please think about how Active Directory will work in this architecture. =20 =20 Many large businesses like mine have thousands of AD groups, and don't = give admin privileges to potential Rainbow administrators - so you should use = AD to authenticate users but the roles and lists of users in roles should = be kept somewhere separate like SQl Server (this is how IBuySpy was done originally) =20 _____ =20 From: rai...@li... [mailto:rai...@li...] On Behalf Of = matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to = take a look at my posts #786 <http://groups.yahoo.com/group/rainbowportal/message/786> and related - such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> = - on yahoo users group related to the separation of authentication, profiling = and roles. =20 let us know what do you think about. =20 _____ =20 Da: rai...@li... [mailto:rai...@li...] Per conto di William Forney Inviato: venerd=EC 31 dicembre 2004 21.49 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion <cut> Also, I am looking at implementing the backport of asp.net 2's = user/roles block that is on asp.net for 1.1. So anything user related could get switched up while we're at it. Needless to say I'm going to be very = busy. :) hehehe ... I'm checking out that thing today or tomorrow and will start implementing it as soon as everything in rb is organized enough to = not waste a ton of time searching for things. <cut> =20 -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for = MS Outlook |
From: matro <ma...@re...> - 2005-01-04 15:33:01
|
about your (1) option, the Microsoft ASP.NET v1.1 Member Management Component could be an option. =20 however, I haven't found neither a ProfileProvided nor a MembershipProvider derived classes to support Active Directory, which is quite strange. =20 perhaps it's due to the facts that it's just a prototype (and the EULA states it's not usable in production sites(!)). =20 _____=20=20 Da: rai...@li... [mailto:rai...@li...] Per conto di Mark McFarlane Inviato: marted=EC 4 gennaio 2005 16.15 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Authenticating users with LDAP or AD/LDAP is fine. I just need an OPTION to place groups in something other than the LDAP provider (or I might be able to get by with a wildcard style filter for the groups).=20 =20 Rainbow pages insist on displaying every darn group in the system. If you have 6000 groups (as my company does) the system becomes completely unusable (which I why I haven't been able to use a version of Rainbow in over a year). =20 We have several options 1) Some nice new plug-in style architecture that allows easy new extensions for authorization (rules) and authentication and may require many code changes throughout Rainbow and its modules, or 2) Just replace the existing modules but keep the same API and include instructions on how to build Rainbow with different 'provider' modules. If you use option 2, the current implementation can remain exactly what how it is and the new implementation can be a compile-time replacement. _____=20=20 From: rai...@li... [mailto:rai...@li...] On Behalf Of Mark A. Gregory Sent: Tuesday, January 04, 2005 9:31 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion Hmm, this will also affect the LDAP. We have only the admin in SQL server and then all the users are authenticated off the LDAP server. We have groups in LDAP that have different permissions in rainbow, so we need the LDAP groups to work. In other words, what we have now we must maintain. Please do not break the LDAP, I spent $15000 getting that to work in Rainbow. Mark =20 _____=20=20 From: Mark McFarlane [mailto:mar...@ho...]=20 Sent: Tuesday, 4 January 2005 6:01 AM To: rai...@li... Subject: RE: [Rainbowportal-devel] Tabs Module Changes Discussion =20 Also, please think about how Active Directory will work in this architecture.=20=20 =20 Many large businesses like mine have thousands of AD groups, and don't give admin privileges to potential Rainbow administrators - so you should use AD to authenticate users but the roles and lists of users in roles should be kept somewhere separate like SQl Server (this is how IBuySpy was done originally) =20 _____=20=20 From: rai...@li... [mailto:rai...@li...] On Behalf Of matro Sent: Sunday, January 02, 2005 7:27 PM To: rai...@li... Subject: R: [Rainbowportal-devel] Tabs Module Changes Discussion since you are going to deal with users and roles, it may be worth to take a look at my posts #786 <http://groups.yahoo.com/group/rainbowportal/message/786> and related - such as #798 <http://groups.yahoo.com/group/rainbowportal/message/798> - on yahoo users group related to the separation of authentication, profiling and roles. =20 let us know what do you think about. =20 _____=20=20 Da: rai...@li... [mailto:rai...@li...] Per conto di William Forney Inviato: venerd=EC 31 dicembre 2004 21.49 A: rai...@li... Oggetto: RE: [Rainbowportal-devel] Tabs Module Changes Discussion <cut> Also, I am looking at implementing the backport of asp.net 2's user/roles block that is on asp.net for 1.1. So anything user related could get switched up while we're at it. Needless to say I'm going to be very busy. :) hehehe ... I'm checking out that thing today or tomorrow and will start implementing it as soon as everything in rb is organized enough to not waste a ton of time searching for things. <cut> =20 -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for MS Outlook -------- Francesco "Matro" Martire RealPopup <http://www.realpopup.it> , the freeware winpopup replacer RealAccount <http://www.realpopup.it/realaccount> , freeware plugin for MS Outlook |