Community
Showing results for 
Search instead for 
Do you mean 
Reply

SAPM SDK

Bronze Elite Contributor
Posts: 2,115
Country: United_Kingdom

SAPM SDK

Is there any documentation available for SPAM development? I think Benjamin had metioned that there might be some documentation kicking aorund somewhere?

Vivek Gargav
Caldere Associates Ltd.
www.caldere.com
vgargav@caldere.com
My Blog
Bronze Elite Contributor
Posts: 2,518
Country: USA

Re: SAPM SDK

APM. 

 

We can drop the 'S'.

 

 

SDK With Current Code

It is possible to add extended functionality to SAPM without any changes to the core product.  This is done by following the conventions of ASP.NET MVC.  The following steps will create a page for use in SAPM.

  1. Create a class library (dll) in Visual Studio.
  2. Add references to System.Web.Mvc and Act.Web.
  3. Add a class with the route name followed by “Controller” (i.e. MyPluginContoller), and have it inherit form ActController.  By inheriting from ActController, the class gets access to the ACT! Framework through the framework member variable.
  4. Copy the dll to the APFW\bin folder.
  5. Create a folder with the route name (i.e. MyPlugin) under the APFW\Views folder and add a Razor view file (.cshtml) to it.

To access the newly added page the existing view files (.cshtml) have to be modified.  For example, to add a link on the home page to the new plugin page, a new li element must be added to APFW\Views\Home\Index.cshtml with a link to the MyPlugin page.


Cons:

  1. Our views have to be modified.
  2. If the user updates to a new version of ACT! then any of those modifications will be overridden.

 

General Concerns

SAPM is a Single Page Application.  That means that page changes are retrieved via ajax and inserted into the DOM rather than replace it.  So any css or javascript stays in effect across page changes.  This makes it very easy for any styling or script that the add-on adds to have an impact on the entire application.  So if the add-on isn’t thoroughly tested it can cause defects in our sections of the app.