In a large bowl (do not use mixer), combine flour, sugar, eggs, baking soda, pineapple and their juices, walnuts, and coconut. Mix with a wooden spoon until moist and combined.
Pour into a greased 9x13 baking dish and bake at 350 degrees for 30-40 minutes until slightly browned on top. Remove from oven and place on a wire rack to cool.
For The Icing:
In a medium bowl, mix cream cheese and butter, together until colour is uniform. Gradually add icing sugar, and milk and stir until smooth. Stir in vanilla. Using a spatula spread icing sugar onto the cake. Top with walnuts if desired. Refrigerate until ready to serve. Makes about 20 servings.