473,399 Members | 3,888 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,399 software developers and data experts.

Developing Plug-Ins

Hi!

Is there any recommendation how to develop plugin-like Asp.Net pages?
The use case: We have a framework, where you can administrate employees,
customers, etc. Now, customers always want some specific additional
views, which should be integrated into the web site.
How should I organize the web site(s), the solution(s) and the projects?

Thanks

Joe
Jun 5 '07 #1
8 1476
Hello Joe,

As i understand you need to use WebParts. See there http://msdn2.microsoft.com/en-us/library/e0s9t4ck.aspx

---
WBR, Michael Nemtsev [.NET/C# MVP].
My blog: http://spaces.live.com/laflour
Team blog: http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo

JKHi!
JK>
JKIs there any recommendation how to develop plugin-like Asp.Net
JKpages?
JKThe use case: We have a framework, where you can administrate
JKemployees,
JKcustomers, etc. Now, customers always want some specific additional
JKviews, which should be integrated into the web site.
JKHow should I organize the web site(s), the solution(s) and the
JKprojects?
JKThanks
JK>
JKJoe
JK>
Jun 5 '07 #2
Michael Nemtsev wrote:
Hello Joe,

As i understand you need to use WebParts. See there
http://msdn2.microsoft.com/en-us/library/e0s9t4ck.aspx

---
WBR, Michael Nemtsev [.NET/C# MVP]. My blog:
http://spaces.live.com/laflour
Team blog: http://devkids.blogspot.com/

"The greatest danger for most of us is not that our aim is too high and
we miss it, but that it is too low and we reach it" (c) Michelangelo

JKHi!
JKJKIs there any recommendation how to develop plugin-like Asp.Net
JKpages?
JKThe use case: We have a framework, where you can administrate
JKemployees,
JKcustomers, etc. Now, customers always want some specific additional
JKviews, which should be integrated into the web site.
JKHow should I organize the web site(s), the solution(s) and the
JKprojects?
JKThanks
JKJKJoe
JK>
Hi Michael,

no, webparts aren't what I am looking for. The customer shall not have
the possibility to edit or customize views.
Our target is to separate work tasks into main tasks (common to all
customers, maybe 80% of the web pages) and company specific tasks, which
another developer shall develop.
So our problem is, how can 2 developers work together easily? How can I
separate company specific stuff (add-on or plug-in like) from the main
application?

Regards,

Joe
Jun 5 '07 #3

We've done this kind of thing both with XML files and with reflection.

With XML files you might have a configuration xml file which defines
some links or lists or controls on a page or whatever you want to be
extensible. The XML file will contain header info and the name of the
page to link to or custom control to call or whatever. Then you just
have to modify the XML file based on installed plugins.

Another way, which I prefer, is to use reflection and attributes. Say
you have a customer view and you want to be able to add extra data,
create an attribute CustomerViewExtensionAttribute and you can have
some data in it to control order or header or whatever you need for
your visuals. Then using reflection you can loop through all the
assemblies in the appdomain (usually skipping gac) and find classes
that are marked with this attribute and include them in the
appropriate page. It's really important to cache this information as
the looping through assemblies part is relatively slow.

With code based plugins (non-visual), then an interface may be
preferred to an attribute since you will need it to implement some api
(with visuals they already implement a web control or page).

HTH,

Sam

------------------------------------------------------------
We're hiring! B-Line Medical is seeking .NET
Developers for exciting positions in medical product
development in MD/DC. Work with a variety of technologies
in a relaxed team environment. See ads on Dice.com.

On Tue, 05 Jun 2007 09:01:31 +0200, Joe Kovac <Jo****@nospam.com>
wrote:
>Hi!

Is there any recommendation how to develop plugin-like Asp.Net pages?
The use case: We have a framework, where you can administrate employees,
customers, etc. Now, customers always want some specific additional
views, which should be integrated into the web site.
How should I organize the web site(s), the solution(s) and the projects?

Thanks

Joe
Jun 5 '07 #4
you could build server-controls or user-controls to isolate code blocks
"Joe Kovac" <Jo****@nospam.comwrote in message news:dd***************************@news.inode.at.. .
Hi!

Is there any recommendation how to develop plugin-like Asp.Net pages? The use case: We have a framework, where you can
administrate employees, customers, etc. Now, customers always want some specific additional views, which should be integrated into
the web site.
How should I organize the web site(s), the solution(s) and the projects?

Thanks

Joe

Jun 5 '07 #5
Hi Sam,

thanks for your ideas. I think all of your concepts are good, but they
might take some time to implement. I guess I might use a combination of
them like follows:

Save general information of the plug-in within Web.config (XML). Save
plug-in classes (which I get told about in Web.config) within a plug-in
directory and use some kind of reflection.
The Web.config might tell me, that "JoePlugin" is a calls that extends
the general Plugin class. This class might be under
/website/APP_CODE/plugin/JoePlugin.cs. It would have to implement
functions like: getPluginPagesForMenu() aso.
Do you think that's a good way?
How would I call this class?

Regards,

Joe

Samuel R. Neff wrote:
We've done this kind of thing both with XML files and with reflection.

With XML files you might have a configuration xml file which defines
some links or lists or controls on a page or whatever you want to be
extensible. The XML file will contain header info and the name of the
page to link to or custom control to call or whatever. Then you just
have to modify the XML file based on installed plugins.

Another way, which I prefer, is to use reflection and attributes. Say
you have a customer view and you want to be able to add extra data,
create an attribute CustomerViewExtensionAttribute and you can have
some data in it to control order or header or whatever you need for
your visuals. Then using reflection you can loop through all the
assemblies in the appdomain (usually skipping gac) and find classes
that are marked with this attribute and include them in the
appropriate page. It's really important to cache this information as
the looping through assemblies part is relatively slow.

With code based plugins (non-visual), then an interface may be
preferred to an attribute since you will need it to implement some api
(with visuals they already implement a web control or page).

HTH,

Sam

------------------------------------------------------------
We're hiring! B-Line Medical is seeking .NET
Developers for exciting positions in medical product
development in MD/DC. Work with a variety of technologies
in a relaxed team environment. See ads on Dice.com.

On Tue, 05 Jun 2007 09:01:31 +0200, Joe Kovac <Jo****@nospam.com>
wrote:
>Hi!

Is there any recommendation how to develop plugin-like Asp.Net pages?
The use case: We have a framework, where you can administrate employees,
customers, etc. Now, customers always want some specific additional
views, which should be integrated into the web site.
How should I organize the web site(s), the solution(s) and the projects?

Thanks

Joe
Jun 5 '07 #6


"Joe Kovac" <Jo****@nospam.comwrote in message
news:dd***************************@news.inode.at.. .
Hi!

Is there any recommendation how to develop plugin-like Asp.Net pages? The
use case: We have a framework, where you can administrate employees,
customers, etc. Now, customers always want some specific additional views,
which should be integrated into the web site.
How should I organize the web site(s), the solution(s) and the projects?

Thanks

Joe
Take a look at the ASP.Net application called DotNetNuke, which uses a
plugin-type framework and, I believe, common practices for doing such a
thing.

www.dotnetnuke.com

Click on Downloads to get the instructions on how to download :)

HTH,
Mythran
Jun 5 '07 #7
Yes that would be good. To call the class use
Activator.CreateIntsance and it will give you an instance of the class
specified in your config file.

Also if your plugin api requires several classes,then really you want
to define a factory as the plugin starting point so you create a
factory for each plugin and then once you have the concrete factory
you create the supporting classes. This is exactly how the new
DbFactory architecture works in ADO.NET 2.0.

HTH,

Sam

------------------------------------------------------------
We're hiring! B-Line Medical is seeking .NET
Developers for exciting positions in medical product
development in MD/DC. Work with a variety of technologies
in a relaxed team environment. See ads on Dice.com.

On Tue, 05 Jun 2007 16:42:27 +0200, Joe Kovac <Jo****@nospam.com>
wrote:
>Hi Sam,

thanks for your ideas. I think all of your concepts are good, but they
might take some time to implement. I guess I might use a combination of
them like follows:

Save general information of the plug-in within Web.config (XML). Save
plug-in classes (which I get told about in Web.config) within a plug-in
directory and use some kind of reflection.
The Web.config might tell me, that "JoePlugin" is a calls that extends
the general Plugin class. This class might be under
/website/APP_CODE/plugin/JoePlugin.cs. It would have to implement
functions like: getPluginPagesForMenu() aso.
Do you think that's a good way?
How would I call this class?

Regards,

Joe
Jun 5 '07 #8
Mythran wrote:
>

"Joe Kovac" <Jo****@nospam.comwrote in message
news:dd***************************@news.inode.at.. .
>Hi!

Is there any recommendation how to develop plugin-like Asp.Net pages?
The use case: We have a framework, where you can administrate
employees, customers, etc. Now, customers always want some specific
additional views, which should be integrated into the web site.
How should I organize the web site(s), the solution(s) and the projects?

Thanks

Joe

Take a look at the ASP.Net application called DotNetNuke, which uses a
plugin-type framework and, I believe, common practices for doing such a
thing.

www.dotnetnuke.com

Click on Downloads to get the instructions on how to download :)

HTH,
Mythran

Hi,

DotNetNuke seems to be a good project. But I neither plan to rebuild it,
nor do I wan to extend it.
I guess my main task will be to create a solution, that uses another web
site as base and link additional web pages into the base web site. Hope
I can make that work.

Thanks

Joe
Jun 6 '07 #9

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

Similar topics

13
by: Mike | last post by:
Apparently there is now a way to hide html source code. How it done? For example see: See http://www.eteamz.com/banksblaze/
1
by: Derek | last post by:
Hi All, I am developing a Windows based application that consists of several different modules. These modules are effectively separate from each other yet share information in a common database....
6
by: Graham Ashton | last post by:
Hi. I'm trying to edit C# code from within eclipse 2.1.1 but am getting nowhere. The Improve plug-in doesn't seem to install on such recent versions of eclipse; is there anything else out there...
3
by: Muhammad Aftab Alam | last post by:
Hello All is it possible to write plug-in for IIS with c#, if so what path should I follow to get to what I want. best regards Muhammad Aftab Alam
6
by: Gary James | last post by:
This may not be a direct C# question, but since I'll be using using C# for development, I thought I'd pose the question here. I'll soon be involved in the design of a new software product that...
1
by: TusharP | last post by:
Hi, Before asking my doubt, first I want to tell you about my application structure. I want to design a Client Desktop program, which has an MDI form. This MDi Form has one Horizontal Toolbar....
3
by: Sinex | last post by:
Hi, I want to build an application that triggers different algorithms. The algorithms will be developed as class libraries over a period of time. I want to just plug-in these libraries as and when...
1
by: Koichi | last post by:
Hi, I'm now making a plug-in for a CG software. I embed Python in a plugin and it works. The problem is that it conflicts with other plugins that also embeds Python because it runs in the same...
4
by: -Lost | last post by:
How should one write a plug-in interface? I've tossed around several ideas but rudimentary ones at best. For example: Plug-In-A -Plug-In-Proxy -Application The plug-in simply hands off its...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
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:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
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...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.