Ads are not an endorsement by the blog author.

aimInfo

Public Journal
 Back to Journal Archives | Subscribe to Alerts Alerts Subscribe to Alerts | Feeds
< Plugging in at FO
Tuesday, February 20, 2007
AIM 6.1.16.1 >
Wednesday, February 21, 2007
February 2007
Tuesday, February 20, 2007

Inside Your AIM Plugin

Relient K


Before I get to the plugin information, I just wanted to share that John Panzer, one of our outstanding engineers here at AOL, announced that AOL is embracing OpenID.  The site was discovered and people were starting to ask questions about it this week.  I think this is further proof that AOL has embraced the standards world and is open to EVERYONE. 

It will be powerful to be able to authenticate against AOL domained properties with your OpenID, and vice versa.  For example, say I authenticate with my OpenID into AIM and my friend sends me a link to his blog that supports OpenID.  When I click on that link we will be able to authenticate you seamlessly into the blog site.  Later this evening while listening to Kevin Rose from Digg share how Digg became a verb, not just a noun, he mentioned that Digg will also join the OpenID implementers by adding it to Digg in the very near future.  Let's see who is next to embrace this technology.

Now on to the plugin help.  I have had a bunch of requests from plugin developers to understand how they can get, save and confirm preferences have been set properly.  While you can certainly use your own preference storage method for your plugin, most commonly would be the registry, you can actually take advantage of using the OpenAIM preference hook.  For example to get a preference in C++:

    // get the preference hook
    CComPtr<IAccPreferences> spiPrefs;
    if (FAILED(aimccSession->get_Prefs(&spiPrefs)))
        return E_FAIL;
    // get the value you are looking for
    CComVariant value;
    spiPrefs->GetValue("your plugin preference", &value);

Setting a preference is just as easy:

    // get the preference hook
    CComPtr<IAccPreferences> spiPrefs;
    if (FAILED(aimccSession->get_Prefs(&spiPrefs)))
        return E_FAIL;
    // set the value you
    spiPrefs->SetValue("your plugin preference", value);

Fairly easy, but then the question becomes, how can I view the preference I just set to make sure it worked.  Or better yet how can I view some of the other preferences that AIM cares about?

AIM preferences are stored in a SQL database in the following path:
C:\Documents and Settings\<user>\Local Settings\Application Data\AOL OCP\AIM\Storage\data\<screenName>\localStorage\common.cls

To view this file you can download a sqllite database viewer from sourceforge.

I hope this helps answer some questions.  Tomorrow I will keep updating everyone on what I am seeing at the conference.

Some pictures from today...




gregsblog at 7:39:00 PM EST Blog about this entry
This entry has 2 comments: (Add your own)
  • #2 Comment from taz0jam 
    2/21/07 8:42 PM Permalink
    thanks for this tip. Now I can see how the buddy info is stored.
  • #1 Comment from irabiz 
    2/21/07 10:09 AM Permalink
    Developers note... "your plugin preference" specifier should begin with a "domain" prefix. For example, all the AIMCC preference specifiers start with "aimcc.". Do not use the "aimcc." prefix for your preference specifiers or you risk colliding with a present or future AIMCC preference.

    Also to clarify, not all custom clients use SQL for a backing store.