Is there a way to get a user's timezone from their system clock? We would then save this info to their user profile in Appian and potentially somewhere else (DB).
You can use the usertimezone() function
This returns the timezone for the Appian user profile? We need to set that timezone to what is configured on their system clock. This would have to be retrieved through their browser session.
There's nothing that I'm aware of within Appian will let you access a user's system-side settings like this. You will need to use their in-Appian timezone if anything. You should probably just make it standard procedure that people set their timezone in their Appian user profile settings.
Unfortunately, that is not sufficient for the customer requirements. The users sign legal documents when completing a form and we have to grab their local time zone to capture the date signed (if the system is today, but the user signs past midnight their time, the document is legally valid the day they signed). Relying on them to update their timezone is not sufficient to meet legal guidelines.
There's location capture for mobile devices:
If this is a web-based requirement, I recommend putting in a support case with Appian so they are aware of different customer needs.
Hi Jacob -
Where do the users sign the legal documents? Are the legal docs hard copies with wet signatures, or is there an Electronic Signature tool (e.g. DocuSign), being used?
Documents are signed with a smart service node. It is a hard signature done in Appian.
I'm thinking we will have to write a custom plugin SAIL component to grab the user's timezone when submitting the form. Anyone have any ideas on which java classes could do this well?
Assuming you devote the resources to write the plugin you describe, what's to stop me from changing the timezone on my PC from eastern to pacific to game an extra day on the contract when signing at midnight? What if I live in mountain time, but I happen to be on the east coast when I sign this and I never changed my PC's time? Which time zone belongs in force?
The descriptions you've shared suggest that there could be motivation for the end user to game the system, and that you're looking to defend against that inclination with software. You're welcome to try the approach you've stated, but consider that not every business problem is solved with software.
Consider the example of the grocery store chain that insisted they must allow a cashier to be logged into two or more registers at once. Why? Because they wanted to afford their cashiers the ability to open multiple cash registers in the event of a robbery. Robbery, albeit very serious and a real concern, is an edge case when it comes to the "happy path" user journey of checking out a customer. In the grand scheme of the business, there are non-software-based solutions to consider before programming for this edge case. One such example would be to hire more security guards to prevent the robbery in the first place.In your use case, What would be your security guard?I believe you'd need a servlet plugin in order to interact with a user's PC. In Cloud, this would require an approval. Keep in mind that users would probably be "warned" about it by the browser or the OS since it breaks the implicit contract that a web page isn't going to do anything malicious to the PC. Also keep in mind that the required programming could be different based on the OS from which you wish to retrieve the time zone.
These are all important things to consider.
Timezone on the PC would be locked down by admin security settings. But our customer has indicated they would prefer location based services at the network level to identify timezone. This could be IP or VPN based, which again can be tricky to ascertain.
We are going to come up with 4-5 options and present them to the customer.
Knowing that for our on prem install, we can build a plugin to get timezone from PC clock is an option to present, but may not be the most accurate or desirable.
Wish the location service was available for desktop/laptop from within Appian. That would be nice and easy.
Discussion posts and replies are publicly visible
© 2019 Appian. All rights reserved.