TO DO

This section is incomplete and will be concluded as soon as possible.
 

1 Functional access

 

1.1 Functional roles

Menu path:
Databases / Security roles / Functional access / Register
The functional role contains a set of objects. Its function is to grant access and execution permission to these objects simultaneously. Objects are programming resources through which we can execute data-entry forms, PDF forms, business processes, reports of different types, etc. Its function is to grant access and execution permission to these objects simultaneously. Objects are programming resources through which we can execute data-entry forms, PDF forms, business processes, reports of different types, etc. This function will generate an exact copy of the role and of the objects of the selected role. Using the Objects tab you can access the list of Objects associated with the functional role.

The rules for granting or denying the execution permission will be applied to the associated objects of the table list. Rules will be applied according to the generic mode defined in the functional group.
wic_role_jrep
Label Description
Role Role code

  • Case: Upshift
Object permissions Determines that the security module grant or deny to the related and unrelated items in the list depending on the mode:
Grant related and deny unrelated
Allow execution on the objects defined at the list and denies permission to the unrelated objects.

Deny related and grant unrelated
Grants permission to run unrelated objects in the list, however denies execution permission for the objects defined in the list.


  • Default: 0
  • Values:
    • 0: Grant related and deny unrelated.
    • 1: Deny related and grant unrelated.
Description Role description
Information Information role
Actions
Button Title Notes
BUTT_COPY_ROLE Copy role null
 

1.1.1 Association of panels to roles

[SOAPException: faultCode=SOAP-ENV:Server; msg=Exception from service object: No row bean PK([rep_code])([wic_user_role_jtab]) for table 'wic_jrep_object' in database '[wic_admin]'] at deister.axional.docs.xsl.CMSSOAPClient.__doSOAPCall(CMSSOAPClient.java:102) at deister.axional.docs.xsl.CMSSOAPClient.getDictionaryObjectData(CMSSOAPClient.java:197) at jdk.internal.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:300) at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:440) at org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:222) at org.apache.xalan.transformer.TransformerImpl.extFunction(TransformerImpl.java:475) at org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:208) at org.apache.xpath.objects.XRTreeFragSelectWrapper.execute(XRTreeFragSelectWrapper.java:69) at org.apache.xpath.XPath.execute(XPath.java:337) at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:280) at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:248) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:394) at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:248) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2272) at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1358) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:711) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1275) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1253) at deister.axional.server.lang.xsl.XSLProcessor.__execute(XSLProcessor.java:858) at deister.axional.server.lang.xsl.XSLProcessor$4.call(XSLProcessor.java:695) at deister.axional.server.lang.xsl.XSLProcessor$4.call(XSLProcessor.java:687) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834)
[SOAPException: faultCode=SOAP-ENV:Server; msg=Exception from service object: null] at deister.axional.docs.xsl.CMSSOAPClient.__doSOAPCall(CMSSOAPClient.java:102) at deister.axional.docs.xsl.CMSSOAPClient.getDictionaryObjectData(CMSSOAPClient.java:197) at jdk.internal.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:300) at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:440) at org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:222) at org.apache.xalan.transformer.TransformerImpl.extFunction(TransformerImpl.java:475) at org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:208) at org.apache.xpath.objects.XRTreeFragSelectWrapper.execute(XRTreeFragSelectWrapper.java:69) at org.apache.xpath.XPath.execute(XPath.java:337) at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:280) at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:248) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:394) at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:248) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:128) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1376) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2402) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2272) at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1358) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:711) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1275) at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1253) at deister.axional.server.lang.xsl.XSLProcessor.__execute(XSLProcessor.java:858) at deister.axional.server.lang.xsl.XSLProcessor$4.call(XSLProcessor.java:695) at deister.axional.server.lang.xsl.XSLProcessor$4.call(XSLProcessor.java:687) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834)
 

1.1.2 Association of objects and channels to roles

Object roles and system channels. Once defined and parameterised different roles, they should be assigned to the users according to criteria chosen.

Through this option you can access the definition of roles of objects and of the system channels. Once the different roles have been defined and parameterized, they should be assigned to the users as appropriate based on the chosen criteria.

The criteria defining the roles is very varied, since be able to depend on several factors or parameters: company departments, geographic areas, categories, etc. Using this function, objects associated to those that already exist in the list will be automatically added to the list.
The objects to be associated are determined according to:
  • Directly associated objects via menu option, that is, the objects associated with the groups of the panels defined in this table.
  • Data-entry form objects linked through tabs.
  • Data-entry form objects related via links.
  • Soft-references type objects.
  • Print templates By agreement, objects whose code ends with the word "_print".

The process requires information from the target dictionary on which the object search is executed and allows you to specify a filter pattern on which objects to select.
Optionally, all process type objects may be excluded.
This function will automatically add in this table the relationship of objects that have some kind of dependence on the associated objects. For example, suppose we want to grant execution permission on a complex data-entry form object, such as the third-party table of the finance module (ctercero), proceed according to:

  1. Manually insert the code of the main object, in this case ctercero.
  2. Execute this function indicating the code of the main object on which you want to search dependent objects, in this example, enter ctercero.

    The filter of this function allows to discriminate objects on which searching has already been carried out. Consider that successive executions without discriminating objects can produce undesirable results since the dependencies of objects that are dependent and that in turn depend on other objects will be analyzed.

The result of the execution will produce the automatic inclusion of all objects dependent on the main object ctercero, among other objects :

  • cterdire Table of third party addresses.
  • ctertipo Table of third-party accounting relationships.
  • cterbanc Table of direct debits of third parties.
  • cterpago Table of conditions of collection and/or payment of third parties.
  • ctergest Table of management of third parties.
  • cterrefe Tabla de referecnias de terceros.
  • ctercero_cart Table of characteristics of third parties.
  • ctercero_docs Table of third party documents..
  • cerrauth Workflow authorization table.

The dependent objects of the main object that will be related are:
  • Data-entry form objects linked through tabs.
  • Data-entry form objects related via links.
  • Soft-references type objects.
  • Print templates. By agreement, objects whose code ends with the word "_print".

The process requires information from the target dictionary on which the object search is executed and allows you to specify a filter pattern on which objects to operate.

Optionally, all process type objects may be excluded.

wic_user_role_jrep
Label Description
Role Role code
Object/Channel/HTML page Objects code or channel code
Actions
Button Title Notes
ROLE_JREP_INSERTS_RELATED Insert related objects Donat un codi/s de objecte/s afegeix al role, els objectes relacionats amb el donat/s. Es consideren objectes realacionats:wic_jrep_form_tabs where tab_head = 1. Links del objecte: wic_jrep_collnk.
 

1.2 Super role

Menu path:
Databases / Security roles / Functional access / Super role
A super functional super role is grouping of several functional roles. Through this process is allowed to recreate the functional role binding of related roles.

The delete process the functional role that matches with the super role code to create and assign later the relation of objects and panels.

All functional roles indicated should be in mode deny permissions or not deny, otherwise the creation of the functional role is not allowed.
wic_super_role_jrep_head
Label Description
Super role Super role code

  • Case: Upshift
Description Description of the super role
Information Super role information
Actions
Button Title Notes
BUTT_REGEN_SUPER_ROLE Regenerate super role null
 

2 SQL constraints

 

2.1 Role SQL

Menu path:
Databases / Security roles / SQL constraints / Register
This option provides access to the definition of the roles of restrictions, which, once identified should be parametrizadas establishing restrictions for objects they buy, and assign the users falling.

A role restrictions consists of a set of conditions for the selection of information at the level of objects according to established criteria. Generally, this approach is consistent with the geographical and departmental structure of the company, could even get in any case to include categories of staffs.
wic_role_jsql
Label Description
Role Role code

  • Case: Upshift
Description Role description
Information Role information
Actions
Button Title Notes
BUTT_COPY_ROLE Copy role null
 

2.1.1 Security by object

Security roles by system objects(or tables). Once defined and parameterised different roles, they should be assigned to the users according to the criteria chosen.

The criteria defining the roles is very varied, since be able to depend on several factors or parameters: company departments, geographic areas, categories, etc.

If defined code is a security object included a execution time in the last select defined sentences in object or will replace the $0 word that may be written explicitly into the object.

If defined code is a security table included a runtime in the codificated objects with XML Object grammar that contains in any select of references object to this from clause and/or in inner join clause.