Filtering by Users when Imporing

hyudolee
Occasional Contributor

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? 

1 ACCEPTED SOLUTION

Accepted Solutions
Ingilavicus
Certified Master Anaplanner

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

 

View solution in original post

9 REPLIES 9
hyudolee
Occasional Contributor

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?

rob_marshall
Moderator

@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

ankit_cheeni
Super Contributor

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

 

 

hyudolee
Occasional Contributor

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?

Ingilavicus
Certified Master Anaplanner

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

 

hyudolee
Occasional Contributor

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.

 

hyudolee
Occasional Contributor

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

 

 

ankit_cheeni
Super Contributor

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.
ALKA
Occasional Contributor

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!