User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:adminmanual:faq [2015/03/18 10:28]
joebordes
en:adminmanual:faq [2022/02/13 09:33] (current)
joebordes
Line 65: Line 65:
  
 !!! Neither vtiger crm nor coreBOS have any timeout logout security measure. This is managed by PHP. What vtiger CRM and coreBOS do is save authentication information in the PHP session. If this session is deleted then your browser cannot login and will ask you for credentials again. For security reasons, PHP deletes the session information every now and then and you get kicked out of coreBOS. So to change this behavior you have to configure your PHP, not coreBOS. [[http://​lmgtfy.com/?​q=php+garbage+collection+gc_probability|Look for gc_probablity,​ gc_maxlifetime and the other garbage collector (gc_) variables]]. !!! Neither vtiger crm nor coreBOS have any timeout logout security measure. This is managed by PHP. What vtiger CRM and coreBOS do is save authentication information in the PHP session. If this session is deleted then your browser cannot login and will ask you for credentials again. For security reasons, PHP deletes the session information every now and then and you get kicked out of coreBOS. So to change this behavior you have to configure your PHP, not coreBOS. [[http://​lmgtfy.com/?​q=php+garbage+collection+gc_probability|Look for gc_probablity,​ gc_maxlifetime and the other garbage collector (gc_) variables]].
 +
 +??? How to extend the session. I keep getting logged out of the program
 +
 +!!! This issue is not directly related to the application itself. The problem is that sensitive information like the password is saved in the PHP session variables. While that session is alive, the application can pick up the values and authenticate. PHP has a process whereas it eliminates the session variables on a variable time span. When PHP clears the variables, the application cannot authenticate and asks again for the information. ​
 +
 +The PHP variables that control this are the **Garbage Collector** variables. In php.ini is **gc_probablity** default set to 0, because Ubuntu use its cron job for cleaning php session files ([[http://​www.appnovation.com/​blog/​session-garbage-collection-php|more info]]).
 +
 +You can also increase **session.gc_maxlifetime** in php.ini.
  
 ??? From Portal column doesn'​t display the correct value. It seems that even though my customers create tickets from the Customer Portal, the column From Portal is NO for all the tickets. How does this work? Should it not be YES for the tickets created from Customer Portal? ??? From Portal column doesn'​t display the correct value. It seems that even though my customers create tickets from the Customer Portal, the column From Portal is NO for all the tickets. How does this work? Should it not be YES for the tickets created from Customer Portal?
Line 78: Line 86:
  
 In any case if you do want to go down the path of changing the way that field works and adapting the workflows accordingly it all happens in the file: modules/​HelpDesk/​HelpDeskHandler.php In any case if you do want to go down the path of changing the way that field works and adapting the workflows accordingly it all happens in the file: modules/​HelpDesk/​HelpDeskHandler.php
 +
 +??? Automatic number fields are not sorting correctly. For example, I get TT1, TT11, TT12, TT2,... instead of TT1, TT2, TT3, ..., TT11, TT12
 +
 +!!! This is because it is not a numeric field but a text field due to the initial text prefix, the whole field is text and text sorts differently than numbers. In fact if you do an alphabetic or dictionary sort you will see that the order is correct.
 +
 +To fix this, the solution is to add as many zeros 0 as you think you will have numbers. For example, in the above case we could define the numeric part with a length of 3, so it would end up like this: TT001, TT002, TT003, ..., TT011, TT012. ​ Which will sort correctly for the first 1000 autonumeric field values.
 +
 +Since you most probably have an incorrect setup you can play around with this query, you will need to run multiple queries based on the Ticket number length. It will add 0's to the number. Thanks VTE
 +
 +<code SQL>### Select - Testing
 +SELECT ​
 +  ticketid,
 +  ticket_no,
 +  LEFT(ticket_no,​ 2) AS TT,
 +  RIGHT(ticket_no,​ 3) AS num,
 +  CONCAT(LEFT(ticket_no,​ 2), '​0',​ RIGHT(ticket_no,​ 3)) 
 +FROM
 +  `vtiger_troubletickets` ​
 +WHERE LENGTH(ticket_no) < 6  AND LENGTH(ticket_no) >= 5</​code>​
 +
 +<​code>###​ Update
 +UPDATE
 +  `vtiger_troubletickets` ​
 +  SET ticket_no=CONCAT(LEFT(ticket_no,​ 2), '​0',​ RIGHT(ticket_no,​ 3)) 
 +WHERE LENGTH(ticket_no) < 6  AND LENGTH(ticket_no) >= 5</​code>​
 +
 +<WRAP center round tip 96%>
 +If you are rolling your own code you can also get the right order with this trick:
 +
 +<code SQL>​SELECT * FROM vtiger_accounts ORDER BY LENGTH(account_no),​ account_no;</​code>​
 +
 +Got from [[http://​discussions.corebos.org/​thread-217.html|our forum]] and [[http://​stackoverflow.com/​questions/​153633/​natural-sort-in-mysql/​12257917#​12257917|from here]].
 +
 +**thanks Peter!**
 +
 +</​WRAP>​
 +
 +
 +??? How can I reset the admin user password?
 +
 +!!! Execute this SQL in your database:
 +
 +<code SQL>​UPDATE vtiger_users SET user_password='​$1$ad$hsl2KFybNRnbXBa.b.WWv.',​ crypt_type='​MD5',​ failed_login_attempts=0 WHERE id=1;</​code>​
 +
 +??? How can I deactivate the "​Don'​t show this dialog"​ or "​evitar que este pagina cree dialogo"​ checkbox on alert messages?
 +
 +!!! AFAIK you can't, this is a security measure imposed by the browser and there is nothing you can do about it. The only solution is to simply ignore it and continue on with your work.
 +
 +In case you have already checked it, Log out of the application,​ close the browser, open it again and access the application normally. The setting only lasts for the session, so alerts will be re-enabled once the new session begins in the new tab.
 +
 +??? How can I hide the Tag Cloud for all users?
 +
 +!!! Directly in the database:
 +
 +<code SQL>​UPDATE `vtiger_homestuff` SET `visible`=1 WHERE `stufftype`='​Tag Cloud'</​code>​
 +
 +??? Is there a way to make a shortcut (web based) that takes a user directly to a trouble ticket that is associated with a specific asset? In other words, simply clicking on a link it would add a new trouble ticket to the asset.
 +
 +!!! Yes. The trick here is to emulate the action of clicking on the "Add Ticket"​ button on the Tickets related list in Assets. This would look like this:
 +
 +<​code>​
 +https://​your_server/​your_corebos/​index.php?​module=HelpDesk&​return_module=Assets&​return_action=CallRelatedList&​return_id=YOUR_ASSET_CRMID&​cbfromid=YOUR_ASSET_CRMID&​action=EditView&​createmode=link
 +</​code>​
 +
 +Obviously the dynamic part of the URL is the asset CRMID you want to relate the ticket with, YOUR_ASSET_CRMID,​ in the example. Using the coreBOS Tests example data, there is an asset with CRMID 4062, so I constructed this URL:
 +
 +<​code>​
 +http://​localhost/​coreBOSwork/​index.php?​module=HelpDesk&​return_module=Assets&​return_action=CallRelatedList&​return_id=4062&​cbfromid=4062&​action=EditView&​createmode=link
 +</​code>​
 +
 +and it worked as expected.
 +
 +??? My user has blocked access to his account due to too many login attempts. How can I reset his access?
 +
 +!!! If you have access as an admin user, you can go to Settings > Users and edit the profile of the user who has blocked access. Search for the "Login Attempts"​ field and set it to 0.
 +
 +If you have blocked all the admin users you will have to go directly to the database, find the admin users' row in the vtiger_users table and set the "​loginattempts"​ column to 0
 +
 +??? How can we rollback a mass edit?
 +
 +!!! Some ideas come to mind, all rather "​techy":​
 +
 +  * Recover from a backup of the database. This is the easiest option with the only downside of losing information/​work since the last backup, but you are doing frequent backups anyway, right? ​ :-)
 +  * If the amount of work done doesn'​t permit you to recover from the database then you can recover the backup database into a copy, extract the table with the lost data, and copy it into the production database. Now create an update SQL command to update the incorrectly updated fields from the backup table. This option is a surgical backup recovery only of the fields you have updated instead of a full backup recovery. [[en:​adminmanual:​recovermasseditchange|You can read the exact steps here.]]
 +  * Another similar alternative to the last step is using the coreBOS history tracker. If you have ModTracker activated on the module you have mass edited, then you have a register of the old and new value in the ModTracker database tables. So you can manually handcraft update SQL commands to recover the original values. This is like recovering from the backup table but harder and you must have ModTracker active before doing the mass edit.
 +  * If you have Record Versioning active on the module with the mass edit error then it is REALLY simple, you just set the previous version as the active record. I don't remember if that can be done as a mass action but since all the other solutions require going to the database, you can go there also to make the previous version active if it can't be done through the UI.