First pass at full ports view. Uses a terribad query in the ports view, needs to be fixed