Community
Showing results for 
Search instead for 
Do you mean 
Reply

Custom Dashboard Components using the ACT! OLE/DB Reporting Provider - source code samples

Copper Super Contributor
Posts: 138
Country: United States

Custom Dashboard Components using the ACT! OLE/DB Reporting Provider - source code samples

During our annual Insights conference a couple weeks back, myself and a couple of others showed and discussed the use of the OLE/DB Reporting Provider that is a part of ACT!.  In version 10.01 we introduced a Property available in the ACT! Framework to obtain an ACT! OLE/DB connection string (ActFramework.CurrentACTOLEDB) to expose the VRP* database Views right from within the application.  The idea here is to give you an example of what can be done and how by using our provider to extend the application.

 

I wrote a quick Blog entry about this on my page (Bill's Blog)...

 

Note:  version 10.02 Hotfix 1 (HF1) contains a significant performance improvement in the OLE/DB Provider.  There was reported degradation beginning in 9.0 when Field Level Security was introduced, but our testing has shown a big difference now with this Hotfix.  This can be found on our website at:  http://kb.sagesoftwareonline.com/cgi-bin/sagesoftwareonline.cfg/php/enduser/std_adp.php?p_faqid=2263...

 

 

Attached is a zip file containing three custom Dashboard Components centered on Teams and Users.  It includes both the C# source code and the compiled DLLs that you can drop/copy into your \Tools folder beneath the ACT! for Windows install folder.  Please also read the included datasheet PDF file for more info.

 

Note: I'll be out of the office on vacation the next two weeks (yahoo!) so won't be monitoring this thread, however I will review it upon my return if there are any questions/comments.

 

Good luck, and enjoy!

 

Bill Blakey
ACT! Development Team
Sage Software

Copper Super Contributor
Posts: 138
Country: United States

Re: Custom Dashboard Components using the ACT! OLE/DB Reporting Provider - source code samples

On my Blog page someone asked about setting/increasing the Command Timeout for the provider.  The new Property uses the default Connection Timeout of 15 seconds - but to set the Command Timeout it must be done on the Command (object) not the Connection (object).

 

In my code examples, in the getDataComponent method that returns a DataSet, I've changed the DataAdapter binding to instead reference a command object on the connection.  Something like this:

 

OleDbCommand odbCommand = new OleDbCommand();

OleDbCommand command = odbConnection.CreateCommand();

command.CommandType = CommandType.Text;

command.CommandTimeout = 60;

command.CommandText = filteredSQLString;

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(command);

dataAdapter.Fill(dataSet);

 

This, of course, could be configurable.  In this case I've increased the query timeout to 60 seconds.

 

 

Bill Blakey
ACT! Development Team
Sage Software

Nickel Super Contributor
Posts: 352
Country: Canada

Re: Custom Dashboard Components using the ACT! OLE/DB Reporting Provider - source code samples

Bill, thank you so much for posting this!  I have a client that is going to flip when he sees what this will allow us to do for him.

 

Thanks,

Len

Len Kamerman
ACT! Certified Consultant

Act E-mail Marketing Trainining Course:

http://actsoftware.training
Copper Super Contributor
Posts: 138
Country: United States

Re: Custom Dashboard Components using the ACT! OLE/DB Reporting Provider - source code samples

Great - it's really good to see stuff like this spark the interests of the community here to help address user needs. 

 

Len, please let us know how this works out for you and your customer, and perhaps post a sample of what you did as it may help others who may be wanting/needing to do something similar.

 

Good luck!

Bill Blakey
ACT! Development Team
Sage Software

New Member
Posts: 6
Country: USA

Re: Custom Dashboard Components using the ACT! OLE/DB Reporting Provider - source code samples

Would you, or anybody else, be interested in making me a dashboard component, or adapting an existing component for me? I simply need a bar graph that shows units/products sold per contacts within a given time period. Or, units/products sold per company within a given time period. It would also be very nice to be able to change 'units sold' to revenue.