support readonly mode, more data api, and keep dismiss alert in session