I talk to many people who have issues setting up security for Extender windows. The main thing that people must remember when setting up security for Extender is that Extender security is always company specific. Therefore, you need to setup a security task per company and not globally.
Standard GP security is global, the same windows always exist in every single company. So, when you setup GP security you can create a single security task that gives access to specific windows, and then use that same security task in every company. However, Extender windows are not global, when you create Extender windows, they only exist in the company you created them in and not in all companies. You can export Extender windows, and then import into other companies, however even if they have the same names in both companies, the windows themselves are always company specific.
Most of the time people still have difficulty understanding company specific, so I must show them an example of how it works. I am going to create an Extender Window named “David” in my Fabrikam company. It’s a simple window with 1 string field on it. Here is what my window looks like in Fabrikam.
Now I go into GP security (Tools – Setup – System – Security Tasks) and create a security task for my Extender Windows. I just called the task “Fabrikam Extender Windows” and marked off my window called David.
Now to prove that Extender security is company specific, change companies and login to a different company. I have a company named GP2 that I am logging into. When I open the same Extender task I just created in my GP2 company, I don’t see my Extender window in this company. That’s because the window does not currently exist in this company.
Now I decide to create a window called DAVID in my GP2 company. In my previous company, the DAVID window was attached to Customer Maintenance. In this company, the window is going to be a special secret HR window attached to the Employee Maintenance screen. Here is my David window in my GP2 company.
So now I have my top-secret payroll window named DAVID in the GP2 company, and just an average window named DAVID in my Fabrikam company.
If I go into GP security in my GPTWO company, now I will see a window named David that I can grant access to. However, these are totally different windows in both companies. Here is my security task in my second company.
Now you can see why creating a single Extender task across companies does not work. I have a window called David in both companies. In the first company, David is attached to customers, so I want to give all my sales people access to that window. In my second company, my David window is attached to Employees, and I only want to give access to the HR manager to this window.
So, what you need to do is create a 2nd security task with a different name. I generally will append the database name at the end of the task ID. So, in my GP2 company, I am going to create a task called EXTENDER_GP2 and give access to my David window again.
So now I have 2 security tasks, one named “EXTENDER” that I created while logged into my GPTWO company. Then a second named “EXTENDER_GP2” that I created while logged into my GP2 company.
Now when I configured my security roles, I can add just the first task, just the second task, or both tasks. So, for example I want my HR Manager to have access to the Customer window I created in GPTWO, and I have them to have access to my Employee window I created in GP2. The security task for that user would look something like this.
People get confused because you can have a Window with the same ID in multiple companies. It might be the same window that you imported from company to company, or it could be a totally different window that you created from scratch in the second company. Because they are company specific, you cannot have one security task that grants access to the windows in all companies. You need to have company specific tasks that you create in each company, and then you can add those tasks to GP Security roles.
So, my last illustration will make it clearer. I still have my “David” window in both companies, however now I have created 3 additional windows in each company. In my GPTWO company, I have named them “Apple”, “Banana”, and “Cherry”. In my GP2 company I have named them “Aardvark”, “Boy”, and “Cat”
Here is what my Extender windows and my security task look like in my GPTWO company.
Then in my GP2 company, my Extender windows and security task look like this
Notice that in the above 2 screenshots, the security task ONLY shows windows that exist inside the current company. Also notice that even though I have a “David” window in both companies, they are completely different windows. This means that a security task always needs to be created inside each company to add the windows from the current company. And even if you have the same exact windows with the same exact names in every company, you still need to create an Extender security task per company. Then you can add all those security tasks to a single security role.