Help me to design a user form maker!
-
Hi gurus, I must develop a software which lets the end-user design his own form and fill it afterwards. In the other hand the user will define the form's structure (simple or master/detail) and starts entering data in it. I'd like to know that from your point of view what is the best architecture/design for such a program. Specially what is the best way to persist entities inside DB. Thanks alot Aref , MCTS & MCPD
-
Hi gurus, I must develop a software which lets the end-user design his own form and fill it afterwards. In the other hand the user will define the form's structure (simple or master/detail) and starts entering data in it. I'd like to know that from your point of view what is the best architecture/design for such a program. Specially what is the best way to persist entities inside DB. Thanks alot Aref , MCTS & MCPD
A question: "Why do you want to allow users to ruin design a form?"
arefkarimi wrote:
Specially what is the best way to persist entities inside DB
"Send your users on a database methodology and design course" In all seriousness users are just that "users" - which means that they use systems which we as IT professionals create for them. Allowing users to move fields around on a from is a different matter, however allowing them to have so much control that they could compromise the database integrity (which is what I'm guessing you mean by "best way to persist entities inside DB") is so so much a bad design idea. Maybe if you gave more background... Barring that I would suggest an interface such as Microsoft Access as it probably is one of the simplest form design interfaces I have encountered.
You always pass failure on the way to success.
-
A question: "Why do you want to allow users to ruin design a form?"
arefkarimi wrote:
Specially what is the best way to persist entities inside DB
"Send your users on a database methodology and design course" In all seriousness users are just that "users" - which means that they use systems which we as IT professionals create for them. Allowing users to move fields around on a from is a different matter, however allowing them to have so much control that they could compromise the database integrity (which is what I'm guessing you mean by "best way to persist entities inside DB") is so so much a bad design idea. Maybe if you gave more background... Barring that I would suggest an interface such as Microsoft Access as it probably is one of the simplest form design interfaces I have encountered.
You always pass failure on the way to success.
Hi GuyThiebaut, Thanks for the reply. First I must say that I dont want to write this program by my wish! The company in which I work have an old product line (written by Delphi) and a new .NET product line. In the Delphi product line there is such a program (we call it Form Maker) and I must say that our end users love it! They love it because they can extend the system's forms or they can add their desired forms. for example in Office Automation system, there is a Letter form. In some cases, some kind of letters have some information which our Letter form doenst support them. So the users can design an extra Letter form and attach it to the main Letter form. Or in some cases some users need to enter some data and make reports out of them but our total system doenst contain such a feature. For instance suppose that our integrated system has Accounting and Inventory programs but no Appointment system. By our Form Maker the user can design his own Appointment form in a few minutes and use it. Our Form Maker can only save and load data and there is no complex business supported in it. As I mentioned, our Delphi systems has a Form Maker program. This program lets the user design the forms and then based on the structure of each form it creates some DB objects (i.e. Tables, Indcices...). When I was asked to write it in .NET I tough I would better search for better ways (better architecture or design) and not to rewrite the same thing in .NET. When I said "persisting entities" I ment to keep them somewhere, not DB only. I googled in web and I found out that there are alot of Form Makers on the globe :) Thanks again Aref, MCTS and MCPD
-
Hi GuyThiebaut, Thanks for the reply. First I must say that I dont want to write this program by my wish! The company in which I work have an old product line (written by Delphi) and a new .NET product line. In the Delphi product line there is such a program (we call it Form Maker) and I must say that our end users love it! They love it because they can extend the system's forms or they can add their desired forms. for example in Office Automation system, there is a Letter form. In some cases, some kind of letters have some information which our Letter form doenst support them. So the users can design an extra Letter form and attach it to the main Letter form. Or in some cases some users need to enter some data and make reports out of them but our total system doenst contain such a feature. For instance suppose that our integrated system has Accounting and Inventory programs but no Appointment system. By our Form Maker the user can design his own Appointment form in a few minutes and use it. Our Form Maker can only save and load data and there is no complex business supported in it. As I mentioned, our Delphi systems has a Form Maker program. This program lets the user design the forms and then based on the structure of each form it creates some DB objects (i.e. Tables, Indcices...). When I was asked to write it in .NET I tough I would better search for better ways (better architecture or design) and not to rewrite the same thing in .NET. When I said "persisting entities" I ment to keep them somewhere, not DB only. I googled in web and I found out that there are alot of Form Makers on the globe :) Thanks again Aref, MCTS and MCPD
Hi Aref, Thanks for such a detailed response. It looks to me like you need to buy some third party software for this. Developing this yourself would be a very large task (you would probably need a team of developers to realise this sort of project in a reasonable time). I'm sure there are applications out there which will do this (I have come across Delphi applications(which you mention)). All I can say is, unless anyone else on this forum is able to give you some direction, google and you should find developer tools/applications addons that will do this. Sorry I could not be of more help. Good luck. Guy
You always pass failure on the way to success.