Slice onions thinly. Chop garlic and parsley finely. Cut potatoes and ham into 1/2 inch pieces. Break cauliflower into flowerets. Grate cheese. Boil pasta water. Heat butter and oil and add onions. Cook until golden. Add garlic, ham, basil, parsley, wine, salt and pepper and simmer. Add rigatoni and potatoes to water with salt and pepper. Cook about four minutes. Add cauliflower and cook four to five more minutes. Drain and add to ham mixture. Toss with half the grated cheese. Serve with garlic bread and remaining cheese.