system.mes.object.signature.filter.create()

Sepasoft MES Module Suite

signature.filter.create()

Creates an AuthenticationChallengeFilter for use with system.mes.signature.authorization.getPendingAuthRequests(filter). Configure the returned filter to limit pending authentication challenges by required role, required user, request text, completion state, or hidden/internal signature templates.

Syntax

Python
system.mes.object.signature.filter.create()

Parameters

This function takes no arguments.

Return Value

Type

Description

AuthenticationChallengeFilter

A new filter object. The filter does not query pending requests by itself; pass it to system.mes.signature.authorization.getPendingAuthRequests(filter) after configuring it.

Filter Methods

Each setter returns the same AuthenticationChallengeFilter instance, so calls can be chained.

MethodTypeDefaultDescription
addRole(requiredRole)
String
No role filter
Includes requests whose signature expression contains the matching {role:...} predicate. Call multiple times to allow multiple roles.
addRoles(roles)
Iterable[String]
No role filter
Adds each non-blank role from the iterable. A None iterable is ignored.
addSecurityRule(requiredRule)
String
No security rule filter
Includes requests whose signature expression contains the matching {securityRule:...} predicate. The path must match the predicate exactly, including case. Call multiple times to allow multiple rules. MES 3.81.13 SP3 and MES 4.83.3 SP3.
addSecurityRules(rules)
Iterable[String]
No security rule filter
Adds each non-blank security rule from the iterable. A None iterable is ignored. Blank values are skipped. MES 3.81.13 SP3 and MES 4.83.3 SP3.
setRequiredUser(requiredUser)
String
No user filter
Includes requests whose signature expression contains a matching {userName:...} predicate. Username matching is case-insensitive.
setDescriptionContains(descriptionContains)
String
No description filter
Includes requests whose display text contains the supplied text. The display text is the request name, or request name plus description.
setExcludeCompleted(exclude)
Boolean
False
When True, excludes request slots that already have an authorization result.
setIncludeHidden(include)
Boolean
False
When True, includes requests created from hidden/internal signature templates. Hidden requests are excluded by default.

Scope / Availability

Context

Availability

Gateway scripts

Available when the Sepasoft Production module registers system.mes.object.signature.filter.

Perspective workflows

Commonly used with system.mes.signature.authorization.getPendingAuthRequests(filter) to populate pending authorization lists.

Designer / Vision Client

Not available as a direct client-side script module registration in the gateway hook. Use a gateway or Perspective workflow when filtering pending authentication challenges.

Filtering Behavior

An empty filter behaves like an unfiltered call for non-hidden requests. Hidden/internal requests are returned only when setIncludeHidden(True) is used.

Role filters match {role:...} predicates exactly. Security-rule filters match {securityRule:...} predicates exactly, including case. User filters match {userName:...} predicates exactly, ignoring case. If roles, a required user, and security rules are all configured, a request slot is included when it matches any one of those filters.

The description filter is applied after that match and uses case-sensitive substring matching against the request display text. It is not a wildcard or regular expression filter.

Excluded / Edge Cases

  • Hidden requests: Requests from hidden/internal signature templates are excluded unless setIncludeHidden(True) is used.

  • Completed request slots: Partially completed multi-user authorizations can still appear unless setExcludeCompleted(True) is used.

  • Blank roles in addRoles: Blank role values are skipped by addRoles(roles).

  • Blank description filters: A blank descriptionContains value does not restrict results.

  • Blank security rules in addSecurityRules: Blank security-rule values are skipped by addSecurityRules(rules).

Example Usage

Minimal Example

Python
authFilter = system.mes.object.signature.filter.create()
pending = system.mes.signature.authorization.getPendingAuthRequests(authFilter)

Complex Example

Python
logger = system.util.getLogger("MES Authorization")

authFilter = system.mes.object.signature.filter.create()
authFilter.addRoles(["Operator", "Supervisor"])
authFilter.setRequiredUser("Admin")
authFilter.setDescriptionContains("Line release")
authFilter.setExcludeCompleted(True)

pending = system.mes.signature.authorization.getPendingAuthRequests(authFilter)

for uuid in pending:
	info = pending.get(uuid)
	logger.info(
		"Request %s: %s requires %s" %
		(uuid, info.getTextualDescription(), info.getUserOrRole())
	)

Chained Example

Python
authFilter = system.mes.object.signature.filter.create() \
	.addRole('Operator') \
	.addSecurityRule('Authenticated/Roles/Operator') \
	.setExcludeCompleted(True) \
	.setIncludeHidden(False)

pending = system.mes.signature.authorization.getPendingAuthRequests(authFilter)

Related Functions

  • system.mes.signature.authorization.getPendingAuthRequests(filter) — Returns pending authentication challenges after applying the filter.

  • system.mes.signature.authorization.queueAuthRequest(signatureTemplate, ...) — Creates pending authentication challenge requests from a signature template.

  • system.mes.signature.authorization.triggerAuthRequest(uuid, session, page, approve) — Opens Ignition's authentication challenge UI for a pending request UUID.

  • system.mes.signature.getSignatureTemplate(name) — Loads the MESSignatureTemplate used to create authorization requests.

Sepasoft MES Module Suite