Complete Beginner: Adding functionality without source code

Vote:
 

Hi,

I'm hoping that someone could point me in the right direction.  We currently have a site live, but further development is being done by an external company, so we do not yet have the source code.

My question is this: is there a way of creating plugins/reports, in a separate project, and then reference the created DLLs in the CMS?

This will be my first piece of development with EPiServer so apologies if this is a dumb question...

 

Many thanks,

Paul

#41189
Jul 06, 2010 16:54
Vote:
 

Hi

Yes, creating new stuff should be no problem at all. Just make sure that the DLLs ends up in the sites bin folder and EPiServer will find any plugins in them.

Regards

Per Gunsarfs
EPiServer Development Team

#41190
Jul 06, 2010 17:16
Vote:
 

Some further info --

Most of EPiServer's extensibility is based on class attributes.  So, for instance, I don't "register" a Scheduled Job anywhere in the system.  Instead, I just put this attribute above the class definition:

[ScheduledPlugin(DisplayName="My Job")]
class MyJob
{
 //[stuff here]
}

When EPiServer fires up, it searches assemblies for these items rather than consulting some manifest somewhere.  This means that EPiServer will find plugins in any DLL in the bin folder.

(Note that there are a couple extensions that get "registered" -- things like Page Providers and Virtual Roles.  But these are the minority.  Most extensions are identified by attributes.)

#41191
Jul 06, 2010 17:34
Vote:
 

Thanks for the quick reply both!

Could you point me in the direction of samples to how this is done? For example what references the project would need. 

 

Many thanks

#41192
Edited, Jul 06, 2010 17:40
Vote:
 

Paul:

I have a directory of simple extensions samples -- just the barebones shell of stuff.  I'm planning to post it at some point, but I'm not quite comfortable doing it just yet.  It's still a little rough.

Email me at deane@blendinteractive.com.  I'll send it to you.

Deane

#41194
Jul 06, 2010 18:20