Escolar Documentos
Profissional Documentos
Cultura Documentos
“Web” Plugins
ACC Webinar (Part 1of 2)
Brian Mowka and Jamie Aurand
December 2010
Agenda
• Web plugin Intro
• Getting started
• Common questions
• Writing your first web plugin
− Plugins example
− Debugging a plugin
• Tips
• Q&A
What is an ACT! Web Plugin
• Any .NET assembly that implements ACT’s Web
plugin interface is technically an ACT! plugin
• Web Plugins add or enhance functionality in the
web edition of ACT!
− Common examples:
o Add a user control (like a button) to an ACT! web view
o Add a tab (with designated controls) to an ACT! web detail view
• Can I write one plugin that works for windows AND web?
− YES – But it must be deployed in different locations (Note:
windows - ACT\Act for Windows\Plugins) *AND* the interfaces it
implements are different.
• How can I tell if a Web plugin failed too load?
− It failed if the name of the assembly is in this look here:
"C:\Program Files\Act for web\plugins\DependentDlls.xml“ (Not in the “users”
folder like windows)
− Also in the servers windows event log there should be a line that
states "Error loading file " + assemblyName + " in the Plugins
folder."
Common Questions
• If my plugin failed to load how can I correct this?
− First delete dependentdlls.xml (this will be in your ACT! “Plugins”
folder”)
− Reset IIS (Warning: This will boot all users out who are logged in)
• Where do I put any dependent assemblies that my web
Plugin assembly requires to be available?
− You can put them in the web plugins folder (server machine) or the
Global Assembly Cache (VS debugging add to web install path)
• Will my web plugin work on the next version of ACT!?
− Yes, with the following exceptions.
o A method you are dependent on has been changed/moved/removed.
• We try to avoid this at all costs, but there are circumstances where we
have had to do this.
• Also, we try and give one year warning if we plan on removing methods
by marking the method [obsolete].
Common Questions
• How does ACT! know what assemblies are web
plugins?
− It simply loops through all the assembly files in the web Plugins
directory and probes the assembly to see if it implements the
following interface:
o Act.Web.Framework.IWebPlugin