smcculloch posted on January 22, 2007 03:45
Recently, I've began to use some of the core DotNetNuke API's to reduce code bloat and prepare to raise the minimum version of modules.
Some of the API's that have been a great success are...
Paging Control
The Paging Control (Introduced in DNN 3.1.1) is a great way to page any collection in a consistent manner that will fit in with the rest of the application. One of the many features is that admin(s) don't have to localize a paging solution for each module.
Scheduling Services
While having some reservations about initially using the scheduler for Subscription Tools, it has been a great a success. It was much easier then I thought it would be, very consistent and provides good reporting capabilities.
By talking directly to the API, I was able to bring in logs, enabling of the service and make it available for an administrator (instead of only being available to admins).
One important thing to note is that you should use the "timer" method (set in host settings) if your site is not hit very much.
An API that I have had issues with are...
URL Control
The Url Control has provided mix successes, while working great for initial usage, I ran into a problem last night when modifying News Articles to "Open in a New Window".
Instead of storing this boolean as a settable property on the control, it will take the URL you are selecting and add it to the Urls table. The unfortunate thing about it, is that you can only have 1 setting per module per URL as it will retrieve the setting from the Urls table!
For example, if I had 2 links both pointing to microsoft.com on 2 separate articles, they would both have to open in a new window or not. You just can't split them up as they refer to a single record only. The solution I have made is to incorporate a cut-down version of this control with News Articles.
Have you read into any issues using the core API?