I have heard that article referenced here on the forums, and I thought I would post a few screen shots of how my implementation turned out.
*note this below is in a 'debug mode', when doing it for a real map the cells would be much smaller and would produce a much more detailed graph.

start with an empty level

'flood' the level with cells

Cluster cells into sectors and remove the inards

from the cells derive the largest possible 'sectors'

Finds cells that touch other sectors, save them to make portals (toss the others away)

Where sectors meet, and it is possible for the bot to enter the next sector create a 'portal' between the two.
Only the final portal list (last picture) and the sector list (2nd last picture) are actually kept- the rest of the cells are tossed away.
Then the list of portals/sectors can be stored to a file for a bot to use later.
And then you are left with a small amount of data that can be used to easily run A* pathfinding- and now your bots can find their way through a maze

Large map example:

(sectors shown)
The portal/sector calculations are done as a pre-processing step when you save the .scene file in OgreMax.
I would love to hear some constructive comments.
