Customization In Web Application

  • Thread starter Thread starter Andrew Hayes
  • Start date Start date
A

Andrew Hayes

All,

Using VS 2005, C#.NET, SQL Server 2005, W2K3.

We are developing a web application that would be shared by numerous
customers for information management. Some of those customers want
variations on the usual form layout.

For example, we have a form where the user can enter their dependents
information (parents, siblings, spouse, kids, etc.), but we know one of our
customers wants to include additional information on that form that none of
the other customers would use (company specific insurance coverage).

Based on our experience with our C/S version of the product, we can expect
to see many more requests like this.

There are 3 ways to do this that I see.

1. Create a separate web application for that customer and host it on a
different web server.
2. Add the custom fields to the single web application but hide the extras
based on the customer using it.
3. Allow the customer to add the fields themselves and store them for just
that customer.

Pros and cons that I see.

1. Quick to implement, but costly in new infrastructure, and would end up
difficult to maintain.
2. Still relatively quick to develop, and uses existing infrastructure, but
would create complex forms.
3. Difficult to develop, but would use existing infrastructure and wouldn't
need extra maintenance.

Personally, I'd like to use 3. That is... Design the application so that
each form includes standard fields, but a customer can add new labels,
textboxes, drop-down combos, lists, etc., themselves and doing so doesn't
require us to change any code or the database schema.

While this would be a no-brainer in an C/S application, it gets a little
more difficult in a web app since the only client they use is a browser.

Any thoughts?
 
Andrew,

Although I don't understand in your message if the user decide everything or
that the company has as well some restrictions what is seen by who.

In past this was done with cookies. (Althouhg it was not forever a success.
Because hidding something is simple, but get it back needs more work and
knowledge from your user, which is not always direct by the webuser.)

Now the word for it is personalize and should become one of the new features
from Net 2.0

http://msdn.microsoft.com/msdnmag/issues/05/09/WebParts/default.aspx

I hope this helps,

Cor
 
Hi Cor,

Very interesting reading. Looks like "Web Parts" can handle what we want to
do. Thanks.

Essentially, an appropriately authorised user at the customer (or us) can
modify a special section of each of the informational web pages to include
custom fields. That new page is then seen by all users, but they can only
read/modify the data, not the design.

To them, that is how the page is supposed to look, but to us and the
relevant people at the customer, we know it was a custom layout. It also
allows the customer to limit what a user can see based on their
requirements. For example, our app includes salary information and in most
cases the department head can only see the salaries of the employees in
their department.

Looks like .NET 2.0 is getting better and better.
 
Andrew said:
All,

Using VS 2005, C#.NET, SQL Server 2005, W2K3.

We are developing a web application that would be shared by numerous
customers for information management. Some of those customers want
variations on the usual form layout.

For example, we have a form where the user can enter their dependents
information (parents, siblings, spouse, kids, etc.), but we know one of
our customers wants to include additional information on that form that
none of the other customers would use (company specific insurance
coverage).

Based on our experience with our C/S version of the product, we can expect
to see many more requests like this.

There are 3 ways to do this that I see.

1. Create a separate web application for that customer and host it on a
different web server.
2. Add the custom fields to the single web application but hide the extras
based on the customer using it.
3. Allow the customer to add the fields themselves and store them for just
that customer.

Pros and cons that I see.

1. Quick to implement, but costly in new infrastructure, and would end up
difficult to maintain.
2. Still relatively quick to develop, and uses existing infrastructure,
but would create complex forms.
3. Difficult to develop, but would use existing infrastructure and
wouldn't need extra maintenance.

Personally, I'd like to use 3. That is... Design the application so that
each form includes standard fields, but a customer can add new labels,
textboxes, drop-down combos, lists, etc., themselves and doing so doesn't
require us to change any code or the database schema.

While this would be a no-brainer in an C/S application, it gets a little
more difficult in a web app since the only client they use is a browser.

Any thoughts?
I like using something like Web Parts. The custom information needs to the
preserved at the client. Each client is allowed upto 64K. We have an
interesting solution where the data is stored in the locally at the client
in XML form in an XML data island. Two way databinding to this XML is
possible from the custom fields for a customer as well as layout of the
custom fields using XSLT. Although the fields will be transmitted back to
the server, they can be ignored at the server as they only exist at the
client. Note that the databinding is only possible in IE.
 
Andrew said:
All,

Using VS 2005, C#.NET, SQL Server 2005, W2K3.

We are developing a web application that would be shared by numerous
customers for information management. Some of those customers want
variations on the usual form layout.

For example, we have a form where the user can enter their dependents
information (parents, siblings, spouse, kids, etc.), but we know one of
our customers wants to include additional information on that form that
none of the other customers would use (company specific insurance
coverage).

Based on our experience with our C/S version of the product, we can expect
to see many more requests like this.

There are 3 ways to do this that I see.

1. Create a separate web application for that customer and host it on a
different web server.
2. Add the custom fields to the single web application but hide the extras
based on the customer using it.
3. Allow the customer to add the fields themselves and store them for just
that customer.

Pros and cons that I see.

1. Quick to implement, but costly in new infrastructure, and would end up
difficult to maintain.
2. Still relatively quick to develop, and uses existing infrastructure,
but would create complex forms.
3. Difficult to develop, but would use existing infrastructure and
wouldn't need extra maintenance.

Personally, I'd like to use 3. That is... Design the application so that
each form includes standard fields, but a customer can add new labels,
textboxes, drop-down combos, lists, etc., themselves and doing so doesn't
require us to change any code or the database schema.

While this would be a no-brainer in an C/S application, it gets a little
more difficult in a web app since the only client they use is a browser.

Any thoughts?
Another solution that has been around for a while and which is completelly
browser proof is in an article "Dynamic argument embedding: preserving
state on the World Wide Web" of the IEEE.
 
Back
Top