I have deleted users from Liferay UI. Some time its asking to deactivate and then delete. some time only deactivate. And users are not going from db always. So, recreation of same user is not possible as it is throwing errors like "email address already exist or username alreasdy exist".
Why user is not getting deleted from DB after deletion from UI?
I am using liferay-portal-6.1.1-ce-ga2.
How to solve this issue?
Deactivate and Delete are two different functionalities.
When you Deactivate the user remains in the database and only the status is changed to deactivate. This is known as a soft-delete or logical-delete, i.e. the User deactivated will not be able to login, nor will he appear in any of the searches etc. But the advantage is that you can bring the User back to life by just Activate-ing the User. So this does not require you to re-create the User and also helps in keeping history or actions on the User.
If you want to delete the User from database, go to Control Panel → Users & Organizations → click on Search All Users → Search for the user either by Advanced or Basic Search → select the User(s) → Click Deactivate.
After this, do an Advanced Search → Select the status as Inactive → You will find all the de-activated users → select them and click Delete.
Hope this helps.
Edit
(thanks to #hudolejev for pointing this out in the comments below)
Please also note that the following property is set to true to delete users in portal-ext.properties, by default it is true:
#
# Set this to false if users cannot be deleted.
#
users.delete=true
Manual delete:
If you want to delete from the DB directly make sure you remove all records related to the user on the next tables:
DELETE FROM Users_UserGroups WHERE userId = 'userid';
DELETE FROM Users_Roles WHERE userId = 'userid';
DELETE FROM Users_Orgs WHERE userId = 'userid';
DELETE FROM Contact_ WHERE userId = 'userid';
DELETE FROM Group_ WHERE classPK = 'userid';
DELETE FROM User_ WHERE userId = 'userid';
When you just dectivate the User it still exists in the Liferay DB,So after each deactivation go and try to find the deactivated user and then delete it.
If you dont find user after deactivation, try to go to the Server administration and Reindex all search indexes. and then try again.
Regards
Manish
Related
I want to get details about deleted records from inline-editing. Taken logs of all the fields for the same. An aftersubmit user-event script works for this where,
if(context.type == context.UserEventType.DELETE) the context type is delete.
When I go to that record, click edit and then in the Actions menu click delete, then logs are printed. But this thing is not happening when deleted from inline-editing mode.
Do I have to do this in XEDIT mode? Is there any other solution? please suggest.
No need to use XEDIT , Use DELETE and Try with User Event before submit , as after submit will error out to record not found
I created a user and assigned it as customersupportagentrole,
This user logs as customersupportagentrole to backoffice
I want this user to see the orders but not to manipulate them,
For example canceling or returning orders.
I am tinkering 'Permission Management - null ( [customersupportagentgroup])'
section. Even i disable all selections related with return & order,
this user can still cancel an order, or return it.
Is there a way to accomplish this task?
If you want to disable cancel/return order buttons, you must change canPerform() method of your order actions/return actions. Canperform() provide that visible or invisible according to your choice. You can check user's role in this method. If user's role equals to 'customersupportagentrole', you can disable this button.
I have created a list and added some fields in order to use it as a form.
We have 30 stores in the country and each store has its own login.
Every store need to be able to Create new items in the list and modify ONLY THEIR OWN.
In order to do that, I had used the LIST PARAMETER - ADVANCED - Read only element create by user.
BUT by doing that, I am unable to Create ALERTS!
So basically, I am looking for a way that users can Create a new entry in the list.
They can modify and see ONLY their entries. Using a custom view is not really a security method.
Administrator needs to see all of the entries and be able to modify any as well.
Form1 - User1
Form2 - User2
If Form1 is modified, I want only User1 (and admin) to be alerted.
Thank you very much and ask me if I forgot to mention any required piece of information
You can create a Workflow... configure it to start when the item is modified... then in your Workflow you add 'Send email notification' step...
so it will be started when someone modify it, and will send you an email notification...
I have an embedded view in a main form (same database) with a single category of a client code that is custom generated. The view displays all other documents that have that main document's client code in a hidden field.
This works perfectly, except for one user where the embedded view is blank, and the message "category not found" is displayed. This happens for all documents viewed. Anyone else that opens the exact same main documents can see the correct list in the embedded view. The documents are definitely there.
I've pressed F9 a few times, and the "category not found" keeps coming up. I've also shutdown Notes and deleted the cache file, and restarted. There have been no changes to the database for a long time, and this started for this one user a few days ago.
I have no idea whats causing this.
Check readers/authors fields in documents that should be displayed in your embedded view. May be that user just can't see them.
Before I get too stressed, I generally try this:
Remove the database from the user's workspace
Compact the workspace (2nd tab of workspace properties)
Close Notes
Delete cache.ndk
Restart Notes
If that doesn't work, I'd check that the user can see the documents in another way (i.e. if you send a doclink to the user, can the user open it (alternatively, try opening the embedded view directly through View - Goto. Don't forget to use CTRL-SHIFT at the same time if the view is hidden)? If not, the user may have lost a role, or dropped out of a group that provides access.
¿The view is "shared" and not "shared, private at first view"? In that case, you have to delete de "private version" of the view for that user
¿The embedded view is calculated, and show one view for a group of users and a second view for another group? Maybe you're searching the problem in the wrong view
¿The single category is based on a formula or on a calculated field? In that case, the formula calculates a different value for that user
I have a custom workflow built using SP DEsigner and the SP sites is created using wss 3.0. I have a customer column and values associated with it which is checked for teh workflow to trigger. Example:
When the status = SME Review, an email shoudl trigger to the assigned to person with a message to take some action on the file. However when a user edits the properties, and if the file is already in SME REview and assigned to someone, it triggers an email before Ok is clicked.
This should not happen, becuase the file is bieng edited to change it to Content Review and will eb assigned to a new person. So the notficaition is going to the SME rather than the content reviewer. I am unable to stop this. Does anyone have any suggestions?
On which position do you edit the element or is it a document?
When you edit the listelement in Data Grid View the changes you make in a field are instantly saved when you are changing the field.
If you are using the EditForm than it would submit the changed values only by clicking the okay buton.
Please put some more details to describe your Problem.