Geoserver and Geofence - using custom rules - gis

I've checked all the options of the rule creation in GeoFence Embedded (integrated with GeoServer) and GeoFence Standalone web application. The available options for building data access rules seem to be limited to: username, user's role, service name, request name, workspace and layer. The additional option is to limit the access with the geographical area.
Is there a way, using GeoServer and GeoFence, to make rules more specific, as in the following examples:
1) restricting access to a group of features from a layer, which belong to the selected bigger layer (show only cities from a selected state)
2) using CQL expressions in GeoFence rules with system variables (showing only features from a layer which have in one attribute the username of the logged-in, using GeoFence authenticator, user)
?

I have found partial answers and I will share :)
Cross-layer filtering:
http://docs.geoserver.org/stable/en/user/extensions/querylayer/index.html
Probably not possible without changes to original source code.

Related

Determine if Google Analytics Account/Property is under GA360 account via API?

Somewhat new to Google Analytics APIs. Ive pulled a list using the Analytics.Management.Accounts.list() method (AppScript/Sheets) and my 'admin' level user in bound to over a 100 accounts. I have 1000s of UA props returned as expected ie no GA4 properties, but I'm trying to delineate UA props that are under a 'standard' account VS a '360' account as it pertains to the UA properties returned.
I'm not sure there is an API 'hook' either # account level or property level that I can use to make this decision. Maybe this can be derived from multiple logic branches, but not sure how to approach this logic flow.
Any insight appreciated.
Have tried several properties at both Account and Property level.
To determine if UA property is under a Standard or 360 analytics account check the property's 'level' via the API. STANDARD || PREMIUM.

Forge Viewer - can we make selections/highlight on loaded models and save in database so that we can show that selection next time user loads it?

Forge Viewer - can we make selections/highlight on loaded models and save in database so that we can show that selection next time user loads it?
Is this possible? Or how can we add sticky notes/RFI information /issues spot in the model.
I am working in a web application, how do we manage that information and save to some database so that we can show that information later when the same model is viewed again?
Thanks in advance
You can get or set the selection using Viewer APIs. Specifically, the getSelection method returns a list of object IDs that you can store wherever you want, and the select method accepts a list of object IDs that you want selected.
For more advanced extensions, feel free to browse our samples over at https://github.com/Autodesk-Forge. One demo that could be of particular interest is the "Forge Digital Twin" (source code, and live demo) which stores "reported issues" to a database, and later shows them as 3D annotations on the model:

How to access Google Analytics Filters for a specific View or Property via API

I am trying to access filters within a specific view for Google Analytics via the API. From everything I can see I can only access the filters for the entire account and there is no denoting within the response which Web Property, Profile, or even View that filter is for.
Looking to either be able to access just the filters within a View OR be able to denote which view a filter lives in within the account response, because then I can loop through those and just pull out the filters for the specific view I am looking for.
Ultimately I am trying to build a way for me to list all of the filters I have across multiple accounts and update things en-mass, like when someone moves or has their IP address updated. I am currently using Google App Scripts which has the built in Google Analytics Service. Using that, I can quickly get the filters with
var filters = Analytics.Management.Filters.list(accountID);
Logger.log(filters)
but as you can imagine (or test if you are so inclined), this logs/returns ALL the filters for the Account ID listed. This response shows the following info (redacted info and changed formatting a bit to display nicer)
{accountId=XXXXX,
parentLink={
href=XXXXX},
excludeDetails={
expressionValue=XXXXX,
field=XXXXX,
kind=XXXXX,
matchType=XXXXX,
caseSensitive=XXXXX},
kind=XXXXX,
created=XXXXX,
name=XXXXX,
id=XXXXX,
type=XXXXX,
updated=XXXXX,
selfLink=XXXXX}
none of which shows the Web Property, Profile, or View.
So, how can filters within a specific view be accessed or the view of filter be seen?
You’re looking for profile filter links
https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtReference/management/profileFilterLinks#resource

How to apply EMC Documentum "Dynamic ACLs" OR "Mandatory ACLs (MACL) " with a "Trusted Content Services (TCS)" license

I searched a lot about mandatory access control lists and i did not find useful information about how to apply macl in documentum. i need to know the steps and how to configure.
I already had Documentum CS 7.3 with TCS license enabled and i tested it by applying esignature on pdf document
macl allows you to dynamically apply acl to objects depending on specific conditions.
Example 1:
Software developers are assigned read permission on documentation documents
Team Leads are assigned write permission on documentation documents.
Project Managers are assigned delete permission on documentation documents.
Example 2:
while Users are located in US
users are assigned a write permission on documents under US cabinet and read permission on documents under all other cabinets e.g: UK, Egypt, UAE.
If Users logged in from another network location like UK
Users are assigned write permission on documents from UK cabinet and * read permission * on documents under all other cabinets.
I found The answer to my question by using:
the Required Group, and Required Group sets
where you can give some users some permissions and apply it only if they are members of a specific group only.
Required Groups
(Users/Groups must be a member of all listed groups to access this item)
Required Groups List
(Users/Groups must be a member of at least one of the listed groups to access this item)
I found an issue with EMC's documentation documents:
It states that in order to benefit from Trusted Content services Capabilities you must have TCS license installed. but, practically whether you installed the TCS license or not you can create dynamic ACLs and benefit from the group membership restriction. (practically TCS is not required "case was Tested", and there is misleading information about Dynamic ACLs usage and implementation) no scenario is provided
Sorry, but from your question one could assume that there is something called mandatory ACL within Documetnum platform. However there isn't - AFAIK.
There are several ways with which you can dynamically apply ACL or in terminology of Documentnum platform permission set.
Based on repository configurable parameter:
inherit from object type
inherit from user who created object
inherit from parent folder
If this doesn't fits you you can write TBO (Type Based Object) code which acts as trigger and runs your custom logic.
There are other ways to achieve what you want but you need to be more specific about your requirement.
If your client is D2, you can utilize the dynamic permission model based on documents attributes. This way you can achieve what you are asking for.

How to get a group type using Google Apps APIs?

I'm currently developing a Google Apps Script that modifies the settings of all groups of a domain, but the settings applied depend on the group type (i.e. email list or collaborative inbox, mostly).
However, I've not found a way to determine the group type using the Google APIs (I'm using the "Groups Settings API" and the "Directory API: Groups").
Does anyone know how to get the group type using the Google APIs, or any other programmatic way ?
These group 'types' aren't really types - because of this, there's nothing in the Groups Settings API to set or get the type.
Essentially, when you change between them, Google Groups is just changing a bunch of presets. The only way to tell the difference would be to create different test groups for each 'type', GET the settings for each with the Groups Settings API and use any difference in settings between them as how you determine the 'type' of the group.
Hope this helps!
You can change the group types by selecting the very group..after that..goto SETTINGS SYMBOL-->by going to the GROUP setting in right side of dropdown menu of SETTINGS ..
then in the left side you will find ADVANCE option TAG under the "INFORMATION" COLLAPSIBLE TAG in where you can change the google group type to any of the four thing