Advanced Search
Search Results
76 total results found
Common RPC Errors
Error: Maximum number of retries (2) exceeded while executing database operations with 'UtopiaExecutionStrategy'. See inner exception for the most recent failure. The underlying provider failed on Open. 53300: sorry, too many clients already Solution: By defa...
Official React Documentation
https://beta.reactjs.org/learn beta.reactjs.org has much more modern docs. Most all of the examples on reactjs.org use class components rather than function components. It is recommended to read most of articles in the Learn section of https://beta.react...
Future Articles
The following are items that we would like to have documented in the future. Most have not been documented because they are awaiting design. ADA Compliance Uniform Exception Handling Infinite Scrolling Standardized Loading Indicator / St...
App Wide State
We implement app wide state by using Context. Context reactjs.org has a tutorial for Context and the official documentation can be found here. In Atlantis We currently use Context in Atlantis. One example of this is AuthContext. It currently stores user i...
Events and Listeners
Events are typically handled using React's useEffect hook. useEffect React has a tutorial as well as documentation that can be found here. Use effect allows you to run a function every time a state or context property changes. The following example will r...
Code Ordering Style
Import Ordering: React Packages EFC packages Internal references CSS Expanding of Props const { recentNodes, maxRowsToDisplay } = props; React Hooks (except useEffect) useState, useContext, etc Custom Hooks useSomeApi, u...
File and Folder Structure
File and Folder Structure should match the UI as closely as possible. There are cases where hooks, interfaces, enums, or components need to shared in multiple places and they should be placed in the following folders. api hooks to send requests to t...
Conditional Rendering
React has a tutorial on different ways to conditionally render JSX and can be found here. Conditionally Including JSX Doing it this way is discouraged Conditional (ternary) operator (? :) This is how you do 'if else' statements Avoid having neste...
Localization
useSafeTranslation hook Pass in the "filename / namespace" as the parameter const { t } = useSafeTranslation(TranslationFiles.RecycleBin) All "filenames / namespaces" are stored in the enum TranslationFiles (which currently can be found...
Loading Inidicator
We found a cool react component from react-loading-skeleton called Skeleton. In its props, it lets you tell it how many blurry placeholder items you want it to display. We use it when waiting for items in a list to load from the back end. <SkeletonTheme ena...
Custom Hooks Style Guide
When writing custom hooks follow guidelines as described in Code Ordering Style. On top of code ordering, the following guildlines should also be followed return object should not have any inline functions. Functions on the return object should be declare...
Routing
There is a specific url route for every page and tab within a page in Atlantis. Each has a specific url route. When needed, we also have routes for specifc states of a view or tab. For example, when viewing a document request you are taken to the document req...
Permission and Feature Validation
useRouteValidator Hook Any logic related to validating if a user can view a specific route (for example a page or even a tab on a page) lives in this hook. Most account feature and system permission checking happens in this hook. This hook is used to valida...
Kusto Queries
Get API Request Logs for 3rd Party Applications Calling a Specific Endpoint union traces | where timestamp > datetime("2022-12-13T18:41:48.796Z") and timestamp < datetime("2023-03-14T17:41:48.796Z") | where customDimensions["LogType"] == "API Request" | wh...
Utopia Docusign Integration
it@efilecabinet.com is the docusign account under which the production integration is managed. The password is in last pass and Quinn and Bryce at the very least should have the password on hand, though you will probably need to bug someone in IT because it@e...
Mac Desktop Client
see README.md in source code
Virtualization and Infinite Scrolling
Virtuoso Library We use a library called Virtuoso to do both virtualization and infinite scrolling of flat lists. I say 'flat lists' because we tried to use virtuoso in in our node tree component, but it had issues rendering nested lists that used virtuoso, s...
Things we want document
Vanilla Extract Bootstrap strategy (bootstrap variables and overriding style) what specific styles (like colors and fonts) should exclusively be managed in component library
Http Client
you should use either long-lived clients and set PooledConnectionLifetime (.NET Core and .NET 5+) or short-lived clients created by IHttpClientFactory. *see HttpClient guidelines for .NET - .NET | Microsoft Learn How? In the Startup file (or Program.cs ...
Troubleshooting
LDAP Query References some helpful prebuild queries can be found here the following is basically active users (technically its object is a user, not a contact, has an email, and is not inactive) (&(objectClass=User)(!objectClass=Contact)(mail=*)(!userA...