Filtering by Users when Imporing

Hi, I want build a system several End Users can make the master data at the same time.

The point is EndUsers do it at the same time.

 

So I made a module which has Users as Applies To. 

hyudolee_1-1635847543260.png

And  EndUsers have to import this module to List.

But I could not filter by Users.

So data which another User made was imported at the same time.

 

How can I avoid this problem? 

Best Answer

  • Hi @hyudolee ,

     

    If you build your user interface in NUX, you can simply use form to add list items and their properties, the only limit is that the users would have to add it 1 by 1.

     

    I agree with @rob_marshall that you should be careful allowing users to add master data, as depending on the process you can introduce errors of all sorts. 

     

    But the simple way of giving the current user in exports is this: 

    In blueprint view under User List property select "Show All Users Off". This will limit the grid view to only current user, this will hold true when you use this module as your source for imports. 

    Ingilavicus_0-1636007169408.png

    Andris

     

Answers

  • I could avoid this problem by making a filtering Lineitem.

    Before Importing to List, end users will set own Users Item and filter the original module.

    hyudolee_0-1635848622450.png

     

    Another solution is making a temporary module.

     - Module A ⇒ Module temp ⇒ List A

    I can select the Users when importing between modules.

    hyudolee_1-1635848836899.png

    How do you avoid this?

  • @hyudolee 

     

    Why are end users creating list members and why are these list members not coming from a Data Hub or a trusted source system?  When you have users creating these list members, you are losing the audit trail, data governance, as well as creating an action for the users to run which can lead to concurrency issues.

     

    So, before we start trying to figure out a solution for you, what are trying to accomplish and why?

     

    Hope this helps,

     

    Rob

  • Hi @hyudolee 

     

    This might be a longer solution than you anticipate and has one additional step. I will try to mention it stepwise:

     

    INTENT:

    By default identify who is running the import and isolate one import action from another

     

    STEPS:

    1. Create a fake user list with all the mail ids present
      ankit_cheeni_1-1635852899638.png

       

    2. Create a new module (M1) dimensioned by native User list and create 4 line items - import?, User List (formatted to fake user list), Write Access and Flush. This module will isolate users basis a boolean that they select before running the action. You will add a write access on Import? basis the write access line item.  Attaching the blueprint here:
      ankit_cheeni_4-1635853483846.pngankit_cheeni_5-1635853502247.png

       

    3. Create an action that imports the flush line item into the import? line item. we call this 'Action 2'
    4. Create the module (M2) you are using to do the import and dimension it by the fake user list. We will filter this module basis the selection made by the end user in step 2. Attaching the blueprint here:
      ankit_cheeni_3-1635853138359.png

       

    5. Create a saved view in the module created in step 3 by filtering basis the Filter line item
    6. Create one action to import into the list with the saved view as source. we call this 'Action 1'
    7. Create a process with Action 1 and 2
    8. Create a new DB and publish 3 items - M2 with the required line items and users in the page, M1 with only import? line item and users in the page and the process
    9. The step to import would then be
      1. add your items to the grid with code and name (M1 view)
      2. Check the import boolean. This basically makes the boolean inactive for other users till the action in the next step is run
      3. Run the action. The second action removes any selection done in Import? line item thus the boolean is again active for all users. 

    ankit_cheeni_0-1635853762158.png

     

     

  • Why does Write Access Lineitem exists?

     

    If Write access Lineitem has Fake Users as Applies to,

    I can not restrtict the Write access.

     

    I think this Lineitem should have Users List.

    hyudolee_0-1635998253670.png

     

    Then I can restrict the access.

    hyudolee_1-1635998397898.png

     

    Are you going to do this?

  • Hi, @Ingilavicus.

     

    >>In blueprint view under User List property select "Show All Users Off". 

    I understand this.

     

    We cannot avoid the concurrently issues?

    @ankit_cheeni says we can avoid this issues by identifying the user who is running action.

     

  • Hi, @ankit_cheeni.

     

    I made a module as you told.

    But Write Access does not work.

    I think this Write Access Lineitem has Fake Users as Applies to.

     

    hyudolee_0-1636361732429.png

    hyudolee_1-1636361890841.png

    hyudolee_2-1636361900575.png

     

     

  • Hi!

    Yes you are right. the write access LI needs to have the fake user list as its dimension. My bad I used the name "User List" for fake list. I see that's what is causing the confusion here.
  • Hi @ankit_cheeni ,

     

    I think you misread her reply. I also tried this solution and write access LI when applied as write driver for Import? LI doesn't work. 
    Can you please review as it is not giving the desired result.

     

    Thanks!