February 2004 - Posts
Posted the entire code for the page I was talking about in my previous post, DataGrid Help: Dynamically columned DataGrid and WebControls?
Any input is much appreciated! Thanks!
Hopefully someone can offer some insight into this... I've been starting to pull my hair out, and I am too young to go bald.
On this one page, I dynamically generate a couple of datagrids all though code (nothing in the webpage itself). It is for a survey, and depending on how many question types are in the system, it has to generate a datagrid for each, and then it needs columns for each of the responses (Yes/No, Excellent/Very Good/Good/Poor/Horrible). So I can't use a static datagrid, since I don't know how many grids I need, and the number of columns will vary, so no way to use a <asp:RadioButton> for the responses.
I've got the tables to all show up. I create the datagrid, create a datatable and add all of the columns and then the rows. If I put the plain HTML for the radio button into the table, the radio shows up, but I cannot get its values when I submit it. Not even though Request[”question1”]. If I create a RadioButton object and set the column to it, nothing shows up. The column just disappears. I've tried declaring an array of RadioButtons within the scope of the whole page, and still doesn't work.
Anyone have any ideas? Some better way I could do it? If I declare the DataGrid within the scope of the whole class will it work? If it helps, you can check out my code. Please! Before I go bald!
While I absolutely love Vault, there are two main things I want to see in it in future releases:
Ability to store which profile to use within the solution file. I work with multiple Vault repositories: my own personal projects on my server, and then nGallery and my senior project on Vaultpub. I cannot auto login, since each time I open Visual Studio, it is for a different solution. Surely there must be a way to tag which profile you chose somewhere in/near the solution file.
Find some way to work with projects via FrontPage Extensions! Surely there have got to be some instances where people are going to be remotely working on web based projects and not be able to VPN (I tried to, wouldn't run a VPN over a VPN). It seems you can only do source control with FP Extensions if you use built in stuff (basically just file locking) or with SourceSafe. Be nice if Vault would be recognizeable as a local source control solution on the server, or there was a way to configure a web server to connect to a remote vault server. I don't know, not for me to figure out, only for me to dream about.
After reading Roy Osherove's Mortal sin on messy database's, I feel I have to share my own personal experience.
In the database for the costing request estimate system I maintain at work, there is this one table called "Document_Flows". It is essentially the heart of the system, tracking the movement of the work as goes through the various stages.
This single table is used to denote all of the follow:
- Requests for Business Assumptions
- Business Assumptions Complete
- Assignments to Application Areas
- Personnel assignments to team estimates
- Approvals up the management chain
- Production of the final, overall costing document
It tracks all of that through essentially 3 fields: AssignedByOrganization, AssignedToOrganization, and ApprovalDate/UID (always set at the same time). This table is incredibly dependent on our Organization table and the IDs of the areas. It uses them very poorly too. An AssignedByOrganization of 0 and AssignedToOrganization of 4 or 9 means Requests for Business Assumptions. When they are completed, the approval flags are set. The assignments to app groups are our org ID and the area's org ID (we assign to them). Assignment to personnel is assigned by of the team's ID and assigned to of 0. Then when assigned by and assigned to are the same, it when a team's estimate is complete. When assigned by 0 and the assigned to is another area's ID, it is approval. Then the final costing document is much the same as the approval ones.
The annoyance is none of this is documented! Anywhere! The only reason I know it is because I've maintained the system for over 2 years and had to read the code to figure it out. You also have entries of different types that look the same, which becomes problematic when we have to expand our requirements. Also, someone through it was ok to make the fields nullable! WHY! Somehow, nulls occassionally slip in and I can never figure out how or reproduce it. This table easily gets 20+ entries per estimate, and there are about 1,000 estimates in our system (that is probably conservative though, since most estimates go through a couple revisions).
I am so thankful that they're letting me completely redesign the application. Granted, I would have preferred .NET, but they're all J2EE here. It'll still be better than the mess this application is in classic ASP. Also going to redesign that table and break it up into 3-4 separate ones. Probably one for Business Assumptions, one for personnel assignments, and one for approvals (fit assignment to app areas in there too). It'll also give me a chance to fix the major pain that happens when the areas are re-organized. Relational integrity nightmare.
Just to follow up on a previous post about Source control on web projects over the internet.
After much dinkering around, I basically found no solution that I really liked. I'd tried using a VPN to connect to the server, but it would not work from on campus. On campus, you use a Cisco IP/SEC VPN to get on campus, and the PPTP VPN to my SBS server would connect, but it wouldn't transmit any data. No clue as to why, and I didn't really have the time to look into it, so moved on to another avenue.
Next, I went on to trying WebDAV to map the web site to a local drive. That semi-worked, but I was getting some permission denied errors, plus I didn't really want to enable WebDAV... not the most secure. Next tried FTP, and Visual Studio would load the project, and seemed to recognize the source control, but when I tried to check out/check in stuff, it didn't show up on the Vault server. No clue why.
So I gave up and did what I didn't want to do. All my team members are doing development off of their own machines, and connecting to the database over the internet. I changed the port on SQL Server, but intent on closing that up again as soon as the project is done.
I would like to go back and try to get the VPN working sometime. It would be useful for when I'm on campus and need access to the actual shares on the server. Also, mapping FTP sites to a drive letter is kind of nice. Found a nice free program by Novell called NetDrive. It looks exactly like a commercial one I'd found called WebDrive.
It'd really be nice if in future versions, Vault could support source control with FrontPage Extensions, though it would probably require the web server to be configured for external source control or to have the Vault server installed. SourceGear reading this? Add this! Other than that, Vault is tits.
Following Jason Alexender's suggestion
to give Firefox a shot, I figured why not. I like a fast, light weight web browser. IE had never really bothered me though. Our internet connection is pretty fast, so things always came up quickly. I never had a problem with any security holes and never worried about them. And memory footprint was an afterthought since I have a gig of RAM and there is always enough free.
Though I must say that I do like Firefox, if only for the tabbing support! It is kind of nice, like last night when I had two Visual Studio sessions open, Enterprise Manager, an IM window, Remote Desktop, and had 4 browser tabs in one window. Able to minimize the clutter on the taskbar, somewhat.
It also has a nice download manager and has a status bar pop up when downloads are completed like with Outlook 2003 when new email is recieved. Though I just noticed that the textbox for posting in .Text is not the fancy one you get in IE. Doesn't matter though, I hated that thing. :) Ahh! But it means I have to put in manual line breaks!
Anybody have any input on using source control on web projects over the internet? I've had a Vaultpub repository created for my Senior Project development and it is working great, except for the web component of our project.
Development is being done from my own server with Vaultpub as the repository. The other developers are not on my network, so they have been accessing their web project files with Frontpage Extensions. The problem is that the only method of source control with Frontpage Extensions is with built in control (basically just locking of files) or with Visual SourceSafe. Vault only supports the use of file shares. That is no problem for myself, since I'm on the local network, but how do I enable file sharing over the internet?
I'd setting up SBS2003 so I can VPN in to it, but don't think it is quite working. The cause was probably that to get onto the school network, I need to use a Cisco VPN client, then I run the PPTP client to my server, and it connects, but can't seem to transmit anything. So wondering if a VPN over a VPN doesn't work.
Another idea I had, which I haven't tried yet, is setting up the server as a WINS server for the other developers.
This would be easier if they could do development with IIS on their own machines, but they have a limited amount of knowledge on the subject, and the fact that the program uses SQL Server, and they don't have the database all setup. It would be way easier hosting it on my server. They have enough to deal with having 5 weeks left for development and ~1 week experience with C#.
This is starting to get annoying. I cannot for the life of me figure out how to move the Users Shared Folders and ClientApp locations after installation. I want to put them on a separate drive, since the main drive could fill up from all of the stuff, and I have plenty of room on my D drive.
I read about reinstalling the Administration component, which I did, but it didn't work. It said it had to reboot and setup would continue after rebooting, but nothing came up after rebooting. Could it be because I'm connecting over Remote Desktop?
Anyone have any ideas?
I've renamed my Outlook.Sync project to oSynchro. Why? Because a small commercial program called OutlookSync already exists, so to avoid any problems with too similiar names, I've changed it to oSynchro. Not the best name, but I hate coming up with project names. I guess I lack that creativity.
Development wise, I haven't worked on it at all since almost November. Just had too much going on with the holidays, had the flu for a while, been busy with school, senior project, and my girlfriend (how dare she take away from coding time!).
Just today I finished updating all the references in the code to oSynchro and now it doesn't work. Arg! Next few days, I am going to try and get it working again and doing a little alpha release. I'm not quite sure what all is going to have to go into a real release, as far as building for the different versions of Outlook. I use Office 2003, though I have Office XP somewhere. I'll probably have to setup a Virtual PC image with Office XP to compile it that way. We'll see.
Check here in a few days and I'll post the alpha, as well as some of the issues with using it and areas that could use some work (and wouldn't mind help with!).
My proposed project at work was approved by my branch manager last week, so I'll be converting our current class ASP application over to J2EE with WebSphere. They're going ahead and purchasing a copy of IBM WebSphere Studio Application Developer and procurring a development environment for it! So over the next couple of months I get to start learning J2EE (since I don't already know it) and reviewing are old requirements specs and updating them with some newer requirements that we've since implemented.
Now my motto will be: J2EE by day, .NET by night. :)