I've seen various posts regarding the ability to allow users to have "read only" access to SQL Workshop, but I have not come across any good resolution. It does not seem possible...or at least not in a way where the end user will see the database objects from another schema in the object browser. Since when I create an APEX user, I must indicate the default and accessible schemas, it results in the user having the ability to edit objects in those schemas. Is there anyway around this? For example, my application "ABC" is created in work space "APP_WS" with parsing schema "TEST." I want user "AGENT" to be able to login to the APP_WS and view the objects in TEST schema, but not edit anything. I tried to create a new database user/schema (TEST2) which has been granted SELECT privileges to the objects in schema TEST, but then I use TEST2 as the default schema for the AGENT, the objects in TEST schema do not show in the object browser. The user would have to write SQL which references the tables/views in TEST by qualifying them with the schema name.
In the end, I suppose we could install Oracle client software and SQL Developer on these users' desktop, and allow them to login to the database using an Oracle id which has only been granted SELECT privileges on the tables/views.