# Servoy 8.2 RC1 : can't show form because it is not allowed

**URL:** <https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372>\
**Category:** Classic Servoy\
**Created:** [August 10, 2017, 9:28am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372 "2017-08-10T09:28:16Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![robrecht](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@robrecht](https://forum.servoy.com/u/robrecht)\
**Post date:** [August 10, 2017, 9:28am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/1 "2017-08-10T09:28:16Z")

</div>

Hi,

After running our code in Servoy 8.2 RC1 this error comes  
We were told our custom components might be broken due to update angular files; has this error something to do with that?  
The notification “…because it is not allowed in the client…” is new to me

Thanks

> 2017-08-10 11:22:42,744 ERROR [Executor,uuid:6f5280b2-889b-403b-b3b1-0d10930594ab] org.sablo.websocket.WebsocketEndpoint - Error: Can’t show form ng$demo\_dashboard for component +
> 
> > java.lang.IllegalAccessException: Can’t show form ng$demo\_dashboard for component +   
> > at com.servoy.j2db.server.ngclient.NGClientWindow.isVisibleAllowed(NGClientWindow.java:217)  
> > at com.servoy.j2db.server.ngclient.NGFormServiceHandler.executeMethod(NGFormServiceHandler.java:214)  
> > at org.sablo.websocket.WebsocketEndpoint$5.run(WebsocketEndpoint.java:333)  
> > at org.sablo.eventthread.Event$1.run(Event.java:100)  
> > at org.sablo.websocket.CurrentWindow.runForWindow(CurrentWindow.java:77)  
> > at org.sablo.eventthread.Event.execute(Event.java:90)  
> > at org.sablo.eventthread.EventDispatcher.dispatch(EventDispatcher.java:125)  
> > at org.sablo.eventthread.EventDispatcher.run(EventDispatcher.java:89)  
> > at com.servoy.j2db.server.ngclient.eventthread.NGEventDispatcher.run(NGEventDispatcher.java:55)  
> > at java.lang.Thread.run(Thread.java:745)
> 
> 2017-08-10 11:22:42,746 ERROR [Executor,uuid:6f5280b2-889b-403b-b3b1-0d10930594ab] org.sablo.websocket.WebsocketEndpoint - Error: Can’t show form: ng$demo\_dashboard because it is not allowed in the client

---

<div class="post-metadata">

**Author:** ![jcompagner](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/jcompagner/32/4889_2.png) [@jcompagner](https://forum.servoy.com/u/jcompagner)\
**Post date:** [August 10, 2017, 9:43am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/2 "2017-08-10T09:43:59Z")

</div>

don’t think it is that  
You have your own components?  
Are those component showing forms itself?

How are those exactly configured? Do you have an example?

Because this is hitting a security feature that a component can’t just show any form it wants, that must be configured correctly on the server (like a form property that has that form assigned)

---

<div class="post-metadata">

**Author:** ![robrecht](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@robrecht](https://forum.servoy.com/u/robrecht)\
**Post date:** [August 10, 2017, 10:18am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/3 "2017-08-10T10:18:46Z")

</div>

We have own components indeed and the “bread-crumb-main” is showing some forms.  
This ng$demo\_dashboard is being shown by the breadcrumb component, with a function :

```auto
function setRealContainedForm(formname, relationname) {
					if (formWillShowCalled != formname && formname) {
						formWillShowCalled = formname;
						if ($scope.model.waitForData) {
							$q.when($scope.svyServoyapi.formWillShow(formname, relationname)).then(function() {
								realContainedForm = formname;
							});
						} else {
							$scope.svyServoyapi.formWillShow(formname, relationname);
							realContainedForm = formname;
						}
					}
				}

```

We show different kinds of forms but have not specified any permissions or restrictions. Where on server do you mean we should configure this ?

---

<div class="post-metadata">

**Author:** ![jcompagner](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/jcompagner/32/4889_2.png) [@jcompagner](https://forum.servoy.com/u/jcompagner)\
**Post date:** [August 10, 2017, 11:52am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/4 "2017-08-10T11:52:56Z")

</div>

can you show me the spec file of that component?

i guess the parameter “formname” is of property “form” ?

---

<div class="post-metadata">

**Author:** ![robrecht](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@robrecht](https://forum.servoy.com/u/robrecht)\
**Post date:** [August 10, 2017, 11:59am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/5 "2017-08-10T11:59:44Z")

</div>

it is called form here in the spec file

```auto
"model":
	{
			"tabs": {"type":"tab[]", "pushToServer": "allow","droppable":true},
			"styleClass" : { "type" :"styleclass"},
			"height" : {"type":"int", "default":"500"},
			"tabSeq" : {"type" :"tabseq", "tags": { "scope" :"design" }},
			"isLoaded":{"type":"boolean","default":true},
	    	"visible" : "visible",
	    	"tabtype" : {"type":"string", "default":"normal"}
	},"handlers":
	{

	},
	"api":
	{
		"addTab": {
			"parameters": [
				{ "name": "form", "type": "form" },
				{ "name": "nameArg", "type": "string"},
				{ "name": "tabText", "type": "string"},
				{ "name": "tooltip", "type": "string"},
				{ "name": "iconURL", "type": "string"},
				{ "name": "fg", "type": "string"},
				{ "name": "bg", "type": "string"},
				{ "name": "relation", "type": "relation"},
				{ "name": "index", "type": "int"}
				
			]
		},
		"removeTabAt":{
			"parameters": [
				{ "name": "index", "type": "integer" }
			]
		},
		"removeAllTabs":{},
		"getMaxTabIndex":{"returns":"integer"},
		"getTabFormNameAt":{
			"returns":"form",
			"parameters": [
				{ "name": "index", "type": "integer" }
			]
		},
		"getTabNameAt":{
			"returns":"form",
			"parameters": [
				{ "name": "index", "type": "integer" }
			]
		},
		"getTabRelationNameAt":{
			"returns":"relation",
			"parameters": [
				{ "name": "index", "type": "integer" }
			]
		},
		"getTabTextAt":{
			"returns":"string",
			"parameters": [
				{ "name": "index", "type": "integer" }
			]
		},
		"isTabEnabledAt":{
			"returns":"boolean",
			"parameters": [
				{ "name": "index", "type": "integer" }
			]
		},
		"setTabEnabledAt":{
			"parameters": [
				{ "name": "index", "type": "integer" },
				{ "name": "enabled", "type": "boolean" }
			]
		},
		"setTabTextAt":{
			"parameters": [
				{ "name": "index", "type": "integer" },
				{ "name": "text", "type": "tagstring" }
			]
		},
		"setTabType":{
			"parameters": [
				{ "name": "tabtype", "type": "string" }
				
			]
		},
		"setTab":{
			"parameters": [
				{ "name": "index", "type": "integer" }
			]
		},
		"getSelectedIndex":{
			"returns":"integer"
		}
	},
	"types": {
  	 "tab": {
  	 	"active": {"type":"boolean","default": false,"tags": { "scope" :"private" }},
  	 	"name": {"type":"string"},
  	 	"containedForm": "form",
  		"text": {"type":"tagstring","default":"tab"},
  		"relationName": "relation",
  			"enabled": 
		{
			"type": "enabled",
			"default": true 
			
		}
  		
  		}
	}

```

---

<div class="post-metadata">

**Author:** ![jcompagner](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/jcompagner/32/4889_2.png) [@jcompagner](https://forum.servoy.com/u/jcompagner)\
**Post date:** [August 10, 2017, 12:16pm UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/6 "2017-08-10T12:16:57Z")

</div>

and i guess addTab api calls the above function.

In servoy itself those are all server side scripting calls that just adjust the model  
But i guess it doesn’t really register correctly the relation and form name if they are direct parameters of an api call that is really getting to that on the client

Can you make a case for this

---

<div class="post-metadata">

**Author:** ![robrecht](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@robrecht](https://forum.servoy.com/u/robrecht)\
**Post date:** [August 16, 2017, 12:48pm UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/7 "2017-08-16T12:48:41Z")

</div>

Hi Johan,

Is it ok to just refer to this topic in the case ?  
I don’t know how to build a demo solution without giving our components in them, and maybe servoy developers now enough with your explanation?

Robrecht

---

<div class="post-metadata">

**Author:** ![jcompagner](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/jcompagner/32/4889_2.png) [@jcompagner](https://forum.servoy.com/u/jcompagner)\
**Post date:** [August 16, 2017, 6:25pm UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/8 "2017-08-16T18:25:03Z")

</div>

Yes that is ok. I hope we can reproduce it then

---

<div class="post-metadata">

**Author:** ![jcompagner](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/jcompagner/32/4889_2.png) [@jcompagner](https://forum.servoy.com/u/jcompagner)\
**Post date:** [August 17, 2017, 10:13am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/9 "2017-08-17T10:13:57Z")

</div>

just tried to reproduce it and i couldn’t  
it is working fine for me so you have to give us an example what is going wrong

i made an example:

```auto
"api": 
	{
		  "addTab": {
	            "returns": "boolean",
				"parameters":[
								{                                                                 
 								"name":"form/formname",
								"type":"form"
			                	},
             					{                                                                 
 								"name":"relatedfoundset/relationname",
								"type":"relation",
			            		"optional":true
			            		}             
							 ]
					}
	  }

```

with that as an api

then

```auto
 $scope.api.addTab = function(form,relation) {
    		  $scope.svyServoyapi.formWillShow(form, relation);
    		  $scope.svyServoyapi.getFormUrl(form);
    		  console.log(form + " :: " + relation)
			  formName = form;
			  $scope.model.yourName = form + " :: " + relation;
    	  }

```

showing that and calling onshow and getFormUrl didn’t result in an exceptions  
and i could also show the form just fine

```auto
<div ng-include="getForm()"/>

 $scope.getForm = function() {
    		  return $scope.svyServoyapi.getFormUrl(formName);
    	  }

```

---

<div class="post-metadata">

**Author:** ![robrecht](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@robrecht](https://forum.servoy.com/u/robrecht)\
**Post date:** [August 17, 2017, 1:01pm UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/10 "2017-08-17T13:01:55Z")

</div>

Ok thanks for your effort  
We will build a sample solution and make a case with it.

---

<div class="post-metadata">

**Author:** ![jasantana](https://avatars.discourse-cdn.com/v4/letter/j/e79b87/32.png) [@jasantana](https://forum.servoy.com/u/jasantana)\
**Post date:** [May 22, 2018, 9:05am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/11 "2018-05-22T09:05:07Z")

</div>

Morning.

Any news on this issue. We are facing the same here.

Cheers

---

<div class="post-metadata">

**Author:** ![jcompagner](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/jcompagner/32/4889_2.png) [@jcompagner](https://forum.servoy.com/u/jcompagner)\
**Post date:** [May 22, 2018, 10:17am UTC](https://forum.servoy.com/t/servoy-8-2-rc1-cant-show-form-because-it-is-not-allowed/19372/12 "2018-05-22T10:17:42Z")

</div>

what exact thing?

do you have your own components? (that are showing forms?)

what do you exactly get when you do what?

This is already pretty old post
