Lance's TextBox

For software developers using IPWorks, PowerShell, RSSBus, etc.


News

 Subscribe Add to Technorati Favorites

 

 

 

 


 

 

Search My Blog:

 

 

My Stats

  • Posts - 439
  • Comments - 188
  • Trackbacks - 265

Twitter












Tag Cloud


Recent Comments


Recent Posts


Archives


Post Categories


Blogs


Miscellanous


Noteworthy Stuff


Popular Posts


May 2007 Entries

Managing IMAP access control permissions from Windows PowerShell


Setting access control lists on IMAP servers is a pain.  But here's how you can do it very easily with the get/set-imap cmdlets included in NetCmdlets.

Retrieve the access control list of my Inbox from the IMAP server, by specifying the -acl flag parameter:

PS C:\> get-imap -server 1.2.3.4 -user lance -password mypass -acl                                                 
                                                                                                                        
Mailbox                                 Rights                                  User                                    
-------                                 ------                                  ----                                    
Inbox                                   lrswipcda                               lance                                  
                                                                                                                        
                                                                                                                        
PS C:\>                                                                                   

Now the access control list for a specific folder:

PS C:\> get-imap -server 1.2.3.4 -user lance -password mypass -folder INBOX.Subfolder -acl                            
                                                                                                                        
Mailbox                                 Rights                                  User                                    
-------                                 ------                                  ----                                    
INBOX.Subfolder                         lrswipcda                               charlest                                
INBOX.Subfolder                         lr                                      lance                                  
                                                                                                                        
                                                                                                                        
PS C:\>                                                                                 

Now I'll add look and read permissions so another user can see my inbox.  When setting the ACL, I'll use the -acluser parameter to specify the user I want to set the access control for, and the -acl parameter to specify the actual permissions the user should have.   The -acl parameter value is a string containing an optional plus ("+") or minus ("-") prefix, followed by zero or more rights characters. If the string starts with a plus, the rights are added to any existing rights for the user. If the string starts with a minus, the rights are removed from any existing rights for the user. If the string does not start with a plus or minus, the rights replace any existing rights for the user.  Setting the ACL also requires the -folder parameter.

PS C:\> set-imap -server 1.2.3.4 -user lance -password mypass -acluser bobl -acl lr -folder INBOX                 
PS C:\> get-imap -server 1.2.3.4 -user lance -password mypass -acl                                                  
                                                                                                                        
Mailbox                                 Rights                                  User                                    
-------                                 ------                                  ----                                    
Inbox                                   lrswipcda                               lance                                  
Inbox                                   lr                                      bobl                                  
                                                                                                                        
                                                                                                                        
PS C:\> get-bufferhtml > C:\test.html                                                                                   

And finally, to remove permissions for a user, I can use the minus sign (-) in front of permissions that I want to remove, like so:

PS C:\> set-imap -server 1.2.3.4 -user lance -password mypass -acluser bobl -acl -l-r -folder INBOX                 
PS C:\> get-imap -server 1.2.3.4 -user lance -password mypass -acl                                                  
                                                                                                                        
Mailbox                                 Rights                                  User                                    
-------                                 ------                                  ----                                    
Inbox                                   lrswipcda                               lance                                  
                                                                                                                        
                                                                                                                        
PS C:\> get-bufferhtml > C:\test.html                                                                                   

Here is a list of permissions that can be set:

   
l Lookup (visible to be listed)
r Read (Can be selected, fetched, searched, and copied)
s Keep seen/unseen information across sessions
w Write (Store flags other than SEEN and DELETED)
i Insert (Can be appended, and copied into)
p Post (Can send mail to submission address for mailbox)
c Create (Can create new sub-mailboxes)
d Delete (Store DELETED flag, perform EXPUNGE)
a Administer (Set access permissions)

posted @ Thursday, May 31, 2007 5:06 PM | Feedback (0) | Filed Under [ PowerShell ]


Google Mashup Editor and RSSBus


If you can't get an account for Google Mashup Editor, take the tour.  Neat, huh?

Then download RSSBus!

If you do have GME, use RSSBus to generate feeds that you can use inside GME.  Have some data that you'd like to quickly expose in an RSS or atom feed?  RSSBus. 

Tags: , , ,

posted @ Thursday, May 31, 2007 4:17 PM | Feedback (0) | Filed Under [ RSSBus ]


My kinda tunes


The 9513 has a story on Wendy Newcomer (her myspace music page), who I was lucky enough to hear in Greensboro at the Blind Tiger last weekend.

Speaking of great music:
O.A.R. is coming to Raleigh July 22nd.
John Prine will be in Cary with Patty Griffin August 17th.  I already have tickets to this one.  Honestly I'm more excited about Patty, but John is great too!
Austin City Limits Music Festival happens in September!  Anybody want to join me there?

posted @ Friday, May 25, 2007 10:33 PM | Feedback (0) | Filed Under [ General ]


RSSBus as a mashup tool


Raymond Yee wants to know how well RSSBus works as a mashup tool.

While its true that RSSBus offers a lot of connectors that make it easy to mashup data coming from sources like Flickr, Amazon, and pre-existing RSS feeds - its also important to know that RSSBus is not only valuable as a mashup creation tool. One of its biggest uses is on the flip side of the coin - helping sources expose data in the first place. Without companies like Flickr and Amazon exposing their data in structured formats like XML and RSS, the term "mashup" might not even exist today.

How is RSSBus useful in helping companies expose their data? As an example, look at TicketMaster. TicketMaster could increase their sales in a big way by taking advantage of a tool like RSSBus (though I don't believe for a second that TicketMaster will ever add feeds or expose any data, they are way too much of an old web 1.0 dinosaur to do that). I love live music - watching a great musician in person is so much better than listening to them on the radio or cd. But a sometimes I miss out on appearances by artists that I would have really enjoyed the opportunity to see simply because I didn't know they were coming to the area! This is a problem that Ticketmaster could help me with and at the same time dramatically increase their sales. How? If they offered an RSS feed of upcoming events in my area.

I know that Ticketmaster already has the data on the backend to drive such a custom feed, because they have a site called "My Ticketmaster" that shows me performers coming to my area as well as area venues and their schedules. But no feeds. I have to remember to go to their site every so often and check up on things. Unfortunately I have enough things to remember, so I think I make it to their site about twice a year. No doubt they have some database query that drives their website, which could just as easily drive their RSS feeds. RSSBus has connectors for a variety of different databases (and not just connectors for databases, but for all kinds of sources of data), but if we assume for a minute that they are using MS SQL Server, they could literally have an RSS feed generated after about 20 seconds of work:

  1. Click on SqlOps in the RSSBus Admin Console
  2. Click on the sqlQuery operation.
  3. Type in the correct connectionstring and a query.
  4. Click "create feed".

All done! Now deploy the feed to the public and watch ticket sales increase. Of course RSSBus scripting could be used to customize and dress-up this feed at any time.

Technorati : , , ,

posted @ Friday, May 25, 2007 10:00 AM | Feedback (0) | Filed Under [ RSSBus ]


Links 5/16/2007


Mashed up data - comments on some available tools for working with data.

Working with data - How the Encylcopedia of Life and other data-rich organizations can benefit from a data tool like RSSBus.

Enterprise RSS - Read/Write web highlights three players in the Enterprise RSS space. Note: Newsgator has partnered with RSSBus in order to help its customers "RSSify" corporate data.

posted @ Wednesday, May 16, 2007 3:28 PM | Feedback (3) | Filed Under [ LinkBlog ]


Adding support for credit card/paypal to your website/application


In the latest installment of MSDN Magazine "Toolbox", Scott Mitchell wrote a few paragraphs about how a developer can add to his applications/websites the ability to accept online credit card payments. The process does seem complex and a bit intimidating at first, but with the right tools it can be pretty easy.

Scott points his readers to Authorize.Net (Internet payment gateway through which one can process the charges), and also mentions the availability of some third-party shopping cart products that support Authorize.Net. He did not mention any specifically, but one such product is IBiz E-Payment Integrator, which supports not only Authorize.Net, but also over 40 other Internet payment gateways, all through the same API so that if you ever need to switch gateways you don't have to re-write all your code (this product is also available for other development environments besides Visual Studio).

You can find more information about how to get started accepting credit card payments on your website or in your application in this IBiz E-Payment Integrator tutorial, which also mentions how you can by pass Internet payment gateways altogether and communication directly with the processor. And if you want to be able to accept PayPal as well, look no further than the IBiz PayPal Integrator.

Technorati : , ,

posted @ Friday, May 11, 2007 12:55 PM | Feedback (0) | Filed Under [ Programming Software IBiz ]


Flickr Contacts' Favorites - Simplified


Here's an example of creating a feed of your Flickr contacts' favorite photos using RSSBus, which makes complex feed parsing/manipulation tasks easy.  In my next post after this one I'll talk about how you can use RSSBus caching so that you can control which items are returned in the actual feed (for those with large numbers of contacts or favorited photos). For example, if this feed results in 400 photos for you, successive requests for the feed will not continue to return 400 photos - but only the new ones, saving bandwidth and making your feedreader work faster. Anyway, here it is:


First, here is a feed of my Flickr Contacts' Favorite photos.

Second, here is my explanation of why it is a big deal. Yesterday I saw this post from Jeremy Zawodny on the Yahoo Developer Network blog about a Yahoo Pipe that generates a feed of Flickr contacts' favorite photos. Jeremy says it's the "coolest Pipe I've seen for a while now".

complex pipe

I agree, this is a great pipe. The problem is - take a look at the compexity of this pipe (pictured to the right). Its a maze, a big mess.

But...it is a useful maze, so how can I simplify it? RSSBus.

RSSBus didn't contain any FlickrOps yesterday (except one yahooFlickrSearch operation that returns a feed of Flickr search results), but now it does. I could have accomplished my goal feed using RSSBus' xmlOps to consume and parse the Flickr services. But instead, I used RSSBus' open connector interface to create my own FlickrOps connector. In just a few minutes I added a brand new connector to the growing list, which I have shared on RSSBus.com.

At this point, it literally took me about 1 minute to create a new 7 line RSSBus script that produces the desired RSS feed. The script simply gets a username (it defaults to my Flickr username) and then pipes together calls to the flickrContacts and flickrFavorites operations that are defined in my new RSSBus connector:


<rsb:set attr="username" value="[username | def('lmrobins')]" />
<rsb:set attr="pagesize" value="[pagesize| def('0')]" />
<rsb:pipe>
<rsb:call op="flickrNSID" />
<rsb:call op="flickrContacts" /> <rsb:call op="flickrFavorites" pagesize="[pagesize]"/> </rsb:pipe>


You can try the finished product out for yourself, here is the url. I added some extras like a customized feed title and description, and links back to Flickr inside the rss description. To customize this feed to your own contacts, just provide your own username in the querystring. For example, here is what it would look like for Alto Maltes (the creator of the pipe). Finally, here is the source of the script so that you can download it and run it on your own RSSBus installation.

Technorati : , , , ,

posted @ Friday, May 11, 2007 12:08 PM | Feedback (3) | Filed Under [ RSSBus ]


Rss feeds for tags at Amazon.com


Ian McAllister announced new support for RSS feeds for tags at Amazon.com. These feeds will be fun to play with in RSSBus. It would be interesting to take the AmzWishlist widget that I created with RSSBus and create an RSS feed that will show me items on Amazon.com that are tagged with the same terms as items I already have in my wishlist. Hmm....

I noticed that a commenter to Ian's post mentioned that he couldn't wait for RSS feeds for generic Amazon searches. Of course such feeds already exist if you know where to find them. The commenter left a url toZapTXT, which looks pretty useful. ZapTXT will help you keep track of data (website updates, classifieds listings, job postsings, blogs, sports teams, etc) from sources that support RSS or Atom. With ZapTXT and RSSBus together, you could expand the list of data sources ZapTXT will support to sites/services/applications that don't already have RSS feeds.

posted @ Wednesday, May 09, 2007 4:40 PM | Feedback (0) | Filed Under [ RSSBus ]


Links 5/8/2007


Ross Mayfield discussing the Enterprise Mashup Summit.

Pablo Castro discussing Astoria on Channel9.

posted @ Tuesday, May 08, 2007 3:18 PM | Feedback (0) | Filed Under [ LinkBlog ]


Dear God, I'd like to file a bug report...


Today's XKCD is the best one I've seen in a while.  I love this comic series by Randall Munroe.  This particular one could be like the "...you might be a redneck." for geeks:

"If you've ever taken a screenshot with your digital camera... you might need to file a bug report with God."

posted @ Monday, May 07, 2007 2:46 PM | Feedback (0) | Filed Under [ General ]


Excel's external data capabilities (web query files)


Here is an example of a dynamic Excel spreadsheet that populates itself with data from an RSS feed of stock quote details. Each time you open the document, it will automatically reload the data from the feed. Also the feed, while open, will even auto-refresh periodically (whether or not this happens and the interval at which it happens are all configurable inside Excel). The stock quote feed itself is generated using the RSSBus yahooStockQuotes operation (pictured below) which consumes a Yahoo service.

yahooStockQuotes RSSBus operation

You can create a dynamic excel sheet that populates itself based on data coming from a web query. To do this, you just create an .iqy file (what Excel calls a "Web Query File"), which needs at least three lines:

WEB
1
[a URL to get data from]

RSSBus feed formats This is what RSSBus uses to generate dynamic spreadsheets of data coming from feeds. We simply use the URL of an RSSBus script.

You can also have excel prompt for input parameters. To do this, modify the url like so:
http://server/file.xml?parameter=["title","prompt"]

After you double-click the iqy it will prompt you for the parameters prior to populating the data. You could take this another step by providing the input parameters in a cell by using the Query Parameters dialog of the External Data toolbar of Excel.


Technorati : , ,

posted @ Monday, May 07, 2007 2:05 PM | Feedback (0) | Filed Under [ General RSSBus ]


IT Conversations: Really Simple Services


In the latest installation of Jon Udell's "Interviews With Innovators" series at IT Conversations, Jon speaks with Gent Hito, the CEO of /n software about RSSBus.

A couple of highlights I picked out:

  • The RSS in RSSBus: Many people have asked us, "why RSS"? Our reply is that the format doesn't matter. Whether it be RSS, Atom, JSON, or an Excel spreadsheet - its about the data - just name value pairs. The RSS in RSSBus is "Really Simple Services". By default these really simple services happen to be built on really simple syndication.
  • Really simple services, such as those that can be easily created with RSSBus, enable data/services to be consumed by a wide variety of tools and understood by a wider range of people.
  • An example of an integration that a non-programmer could do without code:
    • Suppose you receive leads from websites, leads from emails, leads from a database, etc.
    • If you architect these as feeds (through a simple RSSBus connector), aggregation comes to you for free. Master feed, filter, syndication, etc, all come for free as well.
    • With RSSBus, now you can take take the feed(s) of leads and connect it(them) to an email sending web service to send an automatic follow-up email to these leads. You could connect it to other connectors to take other actions like QuickBooks insertions or spreadsheet creation.
  • Why use the desktop vs the server?
    • It's a playground so you can work locally first
    • You can define personal feeds for your own consumption in your aggregator (certain data you cannot trust a 3rd party with, e.g., a bank statement feed).
    • If you want to connect multiple services together that do not already integrate. Say you do business with company A and company B. As Tim O'Reilly might say, these companies have "the new Intel Inside" (your data), but they do integrate with each other at all. RSSBus connectors for company A and company B could be used yourself locally to give you back ownership of your data.
    • Gives you the privacy of the desktop and also connects you with the cloud.
  • A "Feed Garden": several feeds that do various things and offer various services. Its tough to understand how to connect to a lot of different data sources (ie SalesForce, QuickBooks, databases, etc), but its easy to join together existing pieces (RSSBus connectors). You just go to the feed garden and pick what you need.

Technorati : , ,

posted @ Monday, May 07, 2007 1:10 PM | Feedback (0) | Filed Under [ RSSBus ]