- Create a new website called 'mytest.localhost.net'
- Create a hosts entry to route mytest.localhost.net to this website
QBO SQL structure background:
- Person: each row is a user (e.g. email@example.com, firstname.lastname@example.org, etc.)
- SystemRole: each row represents a Role (e.g. Manager, Administrator, etc.)
- SystemMember: each row maps a Person to a SystemRole
- Organization: each row is a company
- PersonAccess: each row grants a user access to some 'group object', such as Organization
- Show users created after 7/1/2014: SELECT * FROM Person WHERE CreatedDate > '7/1/2014'
- Show all Administrators user names (Person.Person):
INNER JOIN SystemMember ON SystemMember.SystemRoleID = SystemRole.SystemRoleID
INNER JOIN Person ON Person.PersonID = SystemMember.PersonID
WHERE SystemRole = 'Administrator'
- Show users that have access to the 'Bank Of US' Organization
INNER JOIN PersonAccess ON PersonAccess.GroupObject = 'Organization' AND PersonAccess.GroupObjectID = Organization.OrganizationID
INNER JOIN Person ON Person.PersonID = PersonAccess.PersonID
WHERE Organization = 'Bank of US'
WHERE NOT EXISTS (
SELECT * FROM SystemMember WHERE SystemMember.SystemRoleID = SystemRole.SystemRoleID
- Show users that are members of the 'Security Admin' role
- Show users that are members of the 'Security Admin' role and have access to the 'Bank of US' organization
- Show Organizations that have no users with access to the Organization
- Show Organizations that 'need' a 'Security Admin' user (need means they do not currently have a user fulfilling the role)