Entries Tagged as My projects

Recent Entries plugin for Mango Blog

A new site I've been working on had the need for a Mango plugin that surprisingly didn't already exist, so I wrote it. Recent Entries adds a pod that shows... you guessed it: recent entries.

You configure it with the number of entries you want displayed, the pod title, and the length of the post-content preview you want. Setting it to zero completely removes the preview.

The plugin does not attempt to style the output at all; you should style it to match your theme. The emitted HTML resembles:

<div id="RecentEntries">
    <ul>
        <li>
            <a href="http://yourblog.com/post/post-title">Post Title</a>
            <span>Post Excerpt...</span>
        </li>
    </ul>
</div>

Enjoy!

Update: There was a small bug with the URL's that it would use for the posts. That has been fixed, and the version number has been increased to 1.0.1 so that auto-install will work, if you need to update.

Plugin:
Recent Entries
Version:
1.0.1
Requires:
Mango Blog 1.5+
Auto-install URL:
http://fusiongrokker.com/get/RecentEntries

in Mango | My projects | 2 Responses Posted 2012-04-09 08:05

Hackathon BOF at CFObjective (Need your votes!)

I was perusing the list of proposed CFObjective BOF's over the weekend, and was struck with an idea for one I should submit:

A Hackathon to continue fleshing out CFScript Community Components.

Not sure what a BOF is? Jason Dean has a great description on his blog. And since this BOF would really be a micro-hackathon, I'll add this: They're scheduled to be after dinner, so you'll be well fed and happy, possibly a little inebriated if that's your thing. The plan is: gather, talk about which tags we're most interested in writing, and simply sit down and code them up... in the company of your fellow community members. That's it. That's what a Hackathon is. At the end of the night, or whenever you're finished, you can submit a pull request to the project on GitHub, and I will be forever in your debt. (Maybe not forever. I couldn't do that for certain people... like Jason Dean.)

So if you've ever thought that you might want to contribute a tag or two, but you don't know the first thing about Git, this is a good opportunity. We can either give you a crash course in just enough git to participate, or just set it up for you. Either way, we'll try to make it as low-friction as possible and get out of your way so you can make script happen!

But of course, this is predicated on the BOF being selected. Please go to the CFObjective site (you'll have to login with your twitter account) and vote for this BOF (and any others you find interesting); and hey, if the urge strikes you, submit one of your own!

in cfObjective | My projects | No Responses Yet Posted 2012-03-26 08:10

Envelope: Exchange 2010 for ColdFusion 8 and 9

Today I'm thrilled to share a new open source project; not directly from myself, but from my (soon to be former) employer, Wharton. I did write pretty much all of the code, but it was on their time and it is with their gracious permission that I've been allowed to share it.

Like many other organizations, I'm sure, we were sorely affected by the loss of CFExchange functionality when Exchange 2010 was released. It was not long after ColdFusion 9 was released, and CFExchange only supported up to Exchange 2007. As such a large organization, with no clear indication or timeline on the release of a compatability patch or a new version of ColdFusion that would support Exchange 2010, we had no choice but to roll our own solution. Delaying the Exchange upgrade indefinitely for web integration just didn't make any business sense.

At first we tried interacting directly between ColdFusion and EWS, the Exchange Web Services API, new in Exchange 2010. This turned out to be a complete waste of time. As far as I can tell, EWS is not any "normal" form of SOAP, and it's definitely not REST. Spending a week trying to figure this out made me want a lobotomy. So we went another route.

In the past I had had some --albeit, minimal-- experience creating SOAP web services in .NET, and Microsoft provides a library for interacting with EWS for .NET, so the new approach was to write a SOAP web service that interacts with EWS. And to make it easier for my peers to use, I also wrote a ColdFusion CFC that abstracted access of that SOAP api into a few method calls. The result is Envelope.

Is it elegant? No. Is it ideal? Nope. Would I call it fast? Not really. Is it anything approaching great .NET code? Not even a snowball's chance in hell.

But it works.

And something that works --even if sometimes slow-- is clearly better than nothing.

It also doesn't cover everything you could ever want to do with Exchange. We only implemented the functionality that we needed; but the template is there and it would be easy enough for you to add whatever functionality is missing, if you have some basic C# and ColdFusion knowledge. Functionality included is:

  • Create an email
  • Get unread count
  • Get email messages
  • Create calendar item (meeting if invitees included, appointment otherwise)
  • Get calendar item by id
  • Get calendar items by date range (basic)
  • Get calendar items by date range (detailed; slower)
  • Update calendar item
  • Create contact
  • Update contact
  • Delete contact
  • Get contacts
  • Create task
  • Get tasks

It's completely free, but of course it comes with the caveat that security is entirely up to you. It requires the use of Exchange Impersonation accounts, which have the power to impersonate any other Exchange acccount. In my case, that meant that in the wrong hands, someone could be sending fraudulent emails "from" the dean of the Wharton school, or deleting meetings, and so on. Definitely a delicate security situation, so don't take it lightly. You should guard your API Keys with more or less your highest clearance level, and be sure that any application using Envelope is well secured, too.

In the ReadMe file, I try to cover all of the bits that require customization for your environment, but if you have issues you can Contact Me or file a bug against the github project.

Download it!

You can get Envelope here: http://www.github.com/wharton/Envelope.

in Exchange | My projects | Open Source | No Responses Yet Posted 2012-03-01 07:54

Related Entries 1.2 (for Mango 1.6+)

Just as with PowerMail, the Mango 1.6 update broke part of my Related Entries plugin. And just as with PowerMail, I've finally made some time to fix it. Version 1.2 of Related Entries should be used for Mango 1.6 and later, and if you're still on an older version of Mango, use an earlier version of Related Entries (downloadable from Github). Enjoy!

Plugin version:
1.2
Last Updated:
2011-06-26
Requires:
Mango Blog 1.6+
Auto-install URL:
http://fusiongrokker.com/get/relatedentries

in Mango | My projects | No Responses Yet Posted 2011-06-27 11:45

PowerMail 1.1 (for Mango 1.6+)

An update to the Mango core API, in Mango 1.6, broke my PowerMail plugin. Now that I'm sitting in an airport terminal working on updates for my open source projects again (in terms of commits-per-hour, I think I get the most done on my projects in airports!), I've finally got the update to fix it. Here you go!

Plugin version:
1.1
Last Updated:
2011-06-26
Requires:
Mango Blog 1.6+
Auto-install URL:
http://fusiongrokker.com/get/powermail

Of course, the source is always available on Github, and project details are on RIAForge.

in Mango | My projects | 1 Response Posted 2011-06-26 02:59