Welcome to this month’s issue of the Consultant’s Corner, which centers around helping organizations promote their brand through customized forms, exploring the multitude of customization options available through Laserfiche. Cities Digital’s Consultant, Rob McCluskey, System Architect addresses a variety of questions surrounding the details of Forms Customization.
A form that looks good, is functional and accurately represents an organization is critical when it comes to creating customized forms. Laserfiche Forms Designer is a versatile utility loaded with features, determining how organizations are customizing forms a good place to begin the conversation with Rob.
What are the top features of the Forms Designer and how are organizations using the features to customize Laserfiche Forms?
The top three features of the Laserfiche Forms Designer organizations are using for making customizations to Laserfiche Forms are Custom Themes, Custom CSS, and Custom JavaScript, which Rob details.
Custom Themes - The easiest and most commonly used method to customize the appearance of a form is “to create a custom theme”, Rob explains that “organizations utilize logos, swatches, and design language.” Sample form with Custom Theme.
Custom CSS – Cascading Style Sheets, which for those unfamiliar with the acronym is a plain text file format used for formatting content within forms, is another way organizations are customizing. Rob tells us that, “since the default approach to layout in Forms is to keep forms responsive, looking good and functioning correctly on both mobile devices and workstations, the Designer does not accommodate horizontal layout options out-of-the-box. Organizations that know in advance that their users and submitters will only be working on a computer can make an informed decision to leverage CSS to layout fields side-by-side, etc. However, it’s always important to consider maintainability and how such decisions could end up causing friction with business process developments in the future.”
Custom JavaScript – Lastly, Rob explains, “one of the most common functional customizations uses JavaScript to perform calculations across multiple tables. For example, many organizations use expense reimbursement forms that typically require employees to list their expenses by type or account. JavaScript can be used to sum each expense into a subtotal depending on the type, then push this information into a read-only summary table, which streamlines the review process and preserves the data as originally submitted. Part of this functionality involves another common customization, which is setting fields to read-only using JavaScript. Forms see read-only fields populated by JavaScript as unsecured, so it will empty them out when saving the form to the repository. To work around this, JavaScript can be used to set such fields to read-only after certain events—this allows the values to persist when the form is saved.”
Sample form with custom buttons and even a signature field.
What are the recommended best practices for creating custom Laserfiche Forms?
When implementing customizations for various components it is important to consider best practices. Rob shares that the, “recommended best practices for creating custom forms are to do as much customization as possible using Themes and limit other customizations to critical items. Organizations sometimes run into issues when they get fixated on a particular aesthetic or layout that, while it may make sense in a particular context, does not usually translate well onto mobile devices and creates issues when upgrading the system at a later date.”
Once a custom form is created, is there a recommended process for making modifications to the form?
According to Rob, “it’s not much of an issue for smaller forms or forms using JavaScript to manipulate a small number of fields/values. Additionally, it’s always a good idea to create a checklist when doing lots of rework or migrating a process to a new server or version. An administrator should identify all fields customized by CSS/JavaScript before doing the modifications, so they can easily confirm functionality after the fact.”
In the interest of keeping form documentation consistent, is it possible to create a template for Forms and what recommendations do you have for this process?
Considering all of the information that forms contain duplicating efforts for each individual form could get tedious. Rob assures us that there is a way to configure generic “template” processes that can be quickly tailored to more specific needs, helping to minimize duplication of work. He says, “many organizations need to collect payment for different purposes—for example, a city might need to collect payments for building permits and parking tickets. A generic “Template – Payments” Forms process can be created that contains fields common to both processes. Once this process is created, it can be copied, renamed (perhaps “BLDG – Permit Payments” or “PD – Parking Ticket Payments”), and configured with additional fields specific to the needs of each payment collection type. The only recommendation for creating template processes is to be sure not to publish them and/or grant access to non-admin users.”
Can you explain how dynamic information can be incorporated into forms, for example pulling information in from a data-set to populate a portion of the form?
Rob describes through some examples how dynamic information can be incorporated into a form. “Consider the ‘PD – Parking Ticket Payments’ process mentioned above. Perhaps this Forms server also contains a process called ‘PD – Parking Ticket Issuance’ that officers use to generate parking tickets. Data from a submitted ‘PD – Parking Ticket Issuance’ form could be used to populate an official Word or PDF document that is saved to the repository as a read-only PDF and emailed to the offender for their records. This data could also be pushed into a ‘Parking Tickets’ database table for use with the ‘PD – Parking Ticket Payments’ form. The offender could access the ‘PD – Parking Ticket Payments’ form via a URL in the email they received with the attached parking ticket. They could enter their driver’s license number, date of birth, and any other relevant data, after which Forms would perform a lookup against the ‘Parking Tickets’ database table to display any pertinent information to the offender, as well as provide the payment amount for their ticket.
Another use might be connecting a database table containing licensed contractor information to the ‘BLDG – Permit Payments’ form, so licensed contractors could select their license number from a drop-down list, which would automatically populate the form with their contact information.”
What options are available for creating custom calculations within a form?
As an organization’s use of forms expands so does the need to have additional functionality available within the forms. For creating custom calculations Rob explains, “users can apply formulas to the single line, number, date, currency, table, and collection fields under the field’s ‘Advanced’ tab, within the ‘Calculation’ section. These formulas are based on the OpenFormula standard used by Microsoft Excel and Google Sheets, so many users will probably be familiar with the syntax for using them. These formulas are adequate for simple calculations (eg, summing a column of subtotals in a table into a single total field or returning the largest value from a set of fields) but can become difficult to read and maintain for more complex calculations. Whenever more complex calculations are needed, the tendency is to use JavaScript to handle them as code with comments in a larger text area is easier to read and maintain.”
Are there any caveats to customizing forms that people should be aware of?
“There are no hard and fast rules,” Rob says, “but users should always be thinking about maintainability and future-proofing. While custom CSS and JavaScript can be used to great effect, they can also become difficult to maintain if not well documented. And of course, backward compatibility is not something that can be guaranteed.”
Are there limitations to the size or type of graphics that can be incorporated into a form?
When it comes to graphics, he shares, “the only real limitation is usability—the larger an image file is, the longer the form will take to load, so in general, it’s best to keep graphical elements as small as possible.”
If an organization has several custom forms what considerations do they need to make if contemplating an upgrade?
Following recommendations for an upgrade is important to ensure the least amount of complications. Rob adds, “the considerations for contemplating an upgrade are the same as those for making modifications to a form or process—a checklist should be prepared in advance to easily identify what processes and fields are using custom CSS/JavaScript (and maybe even calculations as it’s always possible the formulas could be updated to require a different number of arguments, etc.). Once this list is prepared, the organization should upgrade their test or staging environment first, if at all possible or applicable, as this will give them a chance to identify any breaking points before upgrading their production environment.”
Whether you are looking into Laserfiche Forms, considering the options or already using Forms in some capacity, there are so many different ways to add customization. The Forms Designer offers tools to help promote your brand and tailor your forms to meet the needs of the organization. The Cities Digital Consulting Team is always ready to help you design your forms, optimize efficiency and innovate solutions. Contact us for help with your next project.
コメント