473,394 Members | 1,828 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Seeking a Conceptual Approach Please

Hi. I have been asked to create a web tool for my company. Basically an
employee will use a user control (a tree view containing information about
our company) and when they get to where they want on the tree, the will
click a node. The node click event should go to the (database, cache,
session var, xml file (it doesn't matter at this time)) and return a list of
reports that can be run.

That list of reports is dependent on two things. 1 - what they clicked on,
2- who the web user is. The click event already gives me that information,
that isn't the problem.

Here is where I don't know what to do.

The web user will be given a choice of reports to run. Let's assume that
the number of choices is 5. But those 5 choices were dependent on what they
clicked and who the web user is. The back end database is SQL Server and
there are about 100 stored procedures that could be called potentially. But
if you're user A, you might not be allowed to see the 4th column in stored
procedure 65, but user B can see column 4. It kind of depends on what
department they're in.

The report data has to be shown on the screen. A datagrid is what I'd like
to use. But I don't want to create 100+ data grids for every possible
stored procedure resultset (they do not have to return the same number of
columns).

I was thinking the web page could have one data grid and we push the results
of the stored procedure into it at runtime. The formatting of each stored
procedure resultset has to be stored somewhere, be it database or local XML.
What do you think is the best approach?

Here's the other thing I don't know what to do. Each stored procedure
doesn't require the same input parameters. Some have 2, some have 3, some
more. And There has to be a drop-down list built at runtime and the
available parameter options have to be placed in it for the user to select
from. This is tough.

Any suggestions for this data dynamic web page?
Jun 30 '06 #1
3 1167
You need to implement using 2.0 Membership, Roles, and Profiles. That will
allow you to use MultiView controls as well as code to determine who can and
who can not see which reports may be run by making some parts of the page
visible or not visible to authorized members assigned to roles. All this
also applies to determining which stored procedures are run when you
implement Membership and Roles.

The Profile class is used to store data in the database across sessions and
is generally used similar to the way the Session is used to store data
during a session. If you don't know Membership yet I'd suggest you get busy,
buy a lot of books and stock up on eye drops to google for a few weeks
because you will be studying for at least a good month or two to learn how
to use the 2.0 Membership, Roles and Profiles and please -- trust me -- the
time is worth it as it will take much much longer to design and code your
own authentication and access solution.

<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL http://www.metromilwaukee.com/clintongallagher/

"Thom Anderson" <th**@spamfree.net> wrote in message
news:eC**************@TK2MSFTNGP05.phx.gbl...
Hi. I have been asked to create a web tool for my company. Basically an
employee will use a user control (a tree view containing information about
our company) and when they get to where they want on the tree, the will
click a node. The node click event should go to the (database, cache,
session var, xml file (it doesn't matter at this time)) and return a list
of reports that can be run.

That list of reports is dependent on two things. 1 - what they clicked
on, 2- who the web user is. The click event already gives me that
information, that isn't the problem.

Here is where I don't know what to do.

The web user will be given a choice of reports to run. Let's assume that
the number of choices is 5. But those 5 choices were dependent on what
they clicked and who the web user is. The back end database is SQL Server
and there are about 100 stored procedures that could be called
potentially. But if you're user A, you might not be allowed to see the
4th column in stored procedure 65, but user B can see column 4. It kind
of depends on what department they're in.

The report data has to be shown on the screen. A datagrid is what I'd
like to use. But I don't want to create 100+ data grids for every
possible stored procedure resultset (they do not have to return the same
number of columns).

I was thinking the web page could have one data grid and we push the
results of the stored procedure into it at runtime. The formatting of
each stored procedure resultset has to be stored somewhere, be it database
or local XML. What do you think is the best approach?

Here's the other thing I don't know what to do. Each stored procedure
doesn't require the same input parameters. Some have 2, some have 3, some
more. And There has to be a drop-down list built at runtime and the
available parameter options have to be placed in it for the user to select
from. This is tough.

Any suggestions for this data dynamic web page?

Jul 1 '06 #2
B
Hi ,

If you need the page to be really faster and light weight ,, on
my programming expereince i would say ,, plz dont use datagrid ,, thats
really a heavy object , and as you asked the number would also increase
dynamically ,,

you cant simply do that ,, i would suggest you to display the list of
reports the user has acess to in a seperate page (say reportlist.aspx)
and add another page ,, where you are going to display the report..
store all the report parameters and input parameters and the input
control information about that particular input parameter in a table ,,
Create a user control that fetches all these information and builed the
user control accordingly in the top position of the report page and
instead of using Datagrid you can use simple HTML table that use can
customize more than the default datagrid .. and when the user clicks
the show report from the user control at the bottom of the page just
display the report through XML HTTP (AJAX) the page would be light
weight and it will be the fastest ..

builing the user control will be little tricky ,,,,,,,, take care

Jul 1 '06 #3
Each procedure should have all the possible parameters.
In the proc, check them at runtime. Use CASE statements
in your where clause on columns that are indexed:

http://www.eggheadcafe.com/PrintSear...asp?LINKID=469

You may have some IF BEGIN END statements for those
parameters that aren't indexed.

I'd also have the data layer return back all applicable
columns regardless of permission. Then, we'd them out
in your application code (C#,VB.NET) by simply removing
the column from the DataTable based on your permission
scheme. This solution would be dependent upon your
users not having direct connectivity from their desktop
straight into your database server and bypass your asp.net
app.

I'd also make my permission scheme tied to
a specific user and not to a job title or user type.

This old article explains how and why:

http://www.eggheadcafe.com/articles/20030627.asp

It does mean that you'd have to set up a process
to insert a set of default column permissions by user
type, job title, etc. But, your schema/security model
should support "rule bending" just in case users take
on temporary roles not officially attached to them.

--
Robbe Morris - 2004-2006 Microsoft MVP C#
Earn money answering .NET questions
http://www.eggheadcafe.com/forums/merit.asp

"Thom Anderson" <th**@spamfree.netwrote in message
news:eC**************@TK2MSFTNGP05.phx.gbl...
Hi. I have been asked to create a web tool for my company. Basically an
employee will use a user control (a tree view containing information about
our company) and when they get to where they want on the tree, the will
click a node. The node click event should go to the (database, cache,
session var, xml file (it doesn't matter at this time)) and return a list
of reports that can be run.

That list of reports is dependent on two things. 1 - what they clicked
on, 2- who the web user is. The click event already gives me that
information, that isn't the problem.

Here is where I don't know what to do.

The web user will be given a choice of reports to run. Let's assume that
the number of choices is 5. But those 5 choices were dependent on what
they clicked and who the web user is. The back end database is SQL Server
and there are about 100 stored procedures that could be called
potentially. But if you're user A, you might not be allowed to see the
4th column in stored procedure 65, but user B can see column 4. It kind
of depends on what department they're in.

The report data has to be shown on the screen. A datagrid is what I'd
like to use. But I don't want to create 100+ data grids for every
possible stored procedure resultset (they do not have to return the same
number of columns).

I was thinking the web page could have one data grid and we push the
results of the stored procedure into it at runtime. The formatting of
each stored procedure resultset has to be stored somewhere, be it database
or local XML. What do you think is the best approach?

Here's the other thing I don't know what to do. Each stored procedure
doesn't require the same input parameters. Some have 2, some have 3, some
more. And There has to be a drop-down list built at runtime and the
available parameter options have to be placed in it for the user to select
from. This is tough.

Any suggestions for this data dynamic web page?

Jul 6 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Melody Droid | last post by:
I recently made some conceptual breakthroughs regarding the interval permutation pre-sorting and the pitch-class-set/scale post-sorting aspects of my envisioned symmetrical melody thesaurus...
3
by: Jim Hubbard | last post by:
My own searches have proven to be of little help in understanding the implementation of this technology (available since Win98). Any information that you could share on Display Driver Management...
4
by: Daniel Ladd | last post by:
Hi, I have a problem with a conceptual graph in c++. I have a oist of structures like this: typedef struct Conceptual { char* Name;//Rappresenta la parola da mettere nel grafo Conceptual* Next;...
15
by: Kay Schluehr | last post by:
I have a list of strings ls = and want to create a regular expression sx from it, such that sx.match(s) yields a SRE_Match object when s starts with an s_i for one i in . There might be...
4
by: | last post by:
I am a recent college graduate and am looking for some advice on how to be a skilled C++ developer. My educational background is from a quite mediocre campus. Can anybody please explain what is...
7
by: semedao | last post by:
Hi, I am using cryptostream on both sides on tcp connection that pass data. I am also use asyc socket , so , the data that recieved in the callback method not always have the length of the buffer...
22
by: MLH | last post by:
If 3 things can be in one of 2 states, the number of possible combinations is equal to 2^3. But if I have 3 things, 2 of which can be in 2 states and the other in 3 states, what's the simplest...
4
by: Luna Moon | last post by:
seeking highly efficient caches scheme for demanding engineering computing? HI all, To same the time of costly function evaluation, I want to explore the possibility of caching. Suppose in...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.