December Round-up: Docked Property Pane, Switch Group, Document Viewer Widgets, Admin Page Settings!
Tags: opensource, javascript, ux, database
Published: 2022-01-06 14:39:23

Happy New Year! I am back again with a quick roundup of all the things we did in the last month of 2021! We shipped many features, fixed bugs, and hosted some fun events with our community.

## No More Floaties, We’ve Got a Docked Property Pane

The Property Pane in Appsmith is a crucial part of the developer application building experience. It allows us to configure widgets’ data, actions, and events. Previously, this property pane would float around the application, next to the widget in use. We felt that this interface was rather cumbersome, especially when the number of widgets increased on the canvas. We re-invented the entire developer experience and came up with the new docked property pane. With this, users will have a clear view of what’s happening on the canvas while dropping widgets and will have complete control over customizing them on the docked property pane, which is fixed on the right side of the application.

![CleanShot 2022-01-06 at 19.42.50@2x.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1641478383250/xS1ST-Q9d.png)

## New SMTP Plugin to Easily Send Emails

You asked for this, and we shipped it as soon as we could! 😎 Appsmith now has an in-built SMTP plugin to send emails from the applications without using third-party applications. The email service provider of choice can be selected from DropBox, Google, Outlook, etc. An email template can also be customized for the developers’ branding needs.

![CleanShot 2022-01-02 at 14.24.29@2x.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1641478483359/-HTJdAd3b.png)

The SMTP datasource expects the Email configuration to add the Host Address and Port and the authentication details. In the example above (refer to the screenshot), I used my Gmail credentials. After this, you can create different queries to send emails from the plugin based on your requirements and use cases! Cool right? Here’s a screenshot of how the query can be customized: 

> Tip: To make all the data dynamic, you can use dynamic bindings `{{ }}` anywhere across these fields. Thank me later :)

![CleanShot 2022-01-02 at 14.25.47@2x.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1641478545595/0h6QHWOZB.png)

## New Widgets on the Block: Document Viewer and Switch Group

We are kicked about shipping widgets every month! It’s kind of like an unsaid rule to ship new widgets every month! Hah! In December, we added two new ones: a new document viewer widget and a switch group widget to our list.

**Document Viewer Widget**: The document viewer widget on Appsmith allows you to add PDFs inside the application. All you need to do is populate the URL of the document link property. These can be added from any datasource in which the incoming data points to a URL.

The widget currently supports the following extensions:

*  .txt
* .pdf
* .ppt (not supported by base64)
* .pptx
* .docx
* .xlsx

![CleanShot 2022-01-02 at 14.38.25.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1641478624298/-pIGqcya9E.gif)

**Switch Group Widget**: The new switch group widget captures user inputs from a set of binary choices. These options can be populated from a data source like an API / Query by transforming the incoming data to an array of (label, value).

![CleanShot 2022-01-06 at 19.33.36.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1641478652267/33nFHa4lD.gif)

## New JS APIs for Geo-Location

If you’re working with maps and geo-location, we got some good news! With our new in-built geolocation APIs, you can request current user locations, and associated information This API is stored as an object containing functions to request the current user location and the coordination received from the Mozilla [Geo Location API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) request.

To use this in action, you can simply run `{{appsmith.geolocation.getCurrentPosition()}}` on a button click on any action call. As soon as the API is called, the location and the timestamp will be updated on the appsmith local store variable: 

`{{appsmith.geolocation.currentPosition}}`

![CleanShot 2022-01-02 at 16.02.54.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1641478696582/rUZctjUiv.gif)

## Easy Self-hosting on AWS-AMI and DigitalOcean

**Upgrades to AWS AMI**: We refactored the first-time install script of AWS AMI deployment to fetch a new docker-compose.yml that uses a new Docker image. With this, self-hosting Appsmith with AWS-AMI is faster and smoother than ever.

Read more about this in our documentation [here](https://docs.appsmith.com/setup/aws-ami#step-4-deploy-appsmith-on-aws-cloud), and also on the AWS AMI [marketplace](https://aws.amazon.com/marketplace/pp/prodview-mclslaty46ah4).

**Upgrades to DigitalOcean Droplet**: We published a brand new DigitalOcean machine image that is easier to maintain. This image supports the new build snapshot on DigitalOcean to use the fat container deployment. 

Find documentation [here](https://docs.appsmith.com/setup/digitalocean), and on Digitalocean marketplace [here](https://marketplace.digitalocean.com/apps/appsmith?refcode=469c9f1431e4).

## New Admin Settings Page to Manage Self-hosted Instances

We also shipped a new admin settings page, where you can configure all the settings on self-hosted instances/local environments when running with Docker.

You can access these by clicking on the profile icon and then selecting the Admin Settings. You’ll see the following options:

* General: Configure appsmith instance name and primary email address.
* Authentication: Setting to provide Google, GitHub authentication or user-name, password (form-based) authentication on self-hosted instances.
* Email: SMTP configuration for ending emails from self-hosted instances
* Google Maps: Configuration to allow Google Maps
* Version: Know your appsmith version and latest features
* Advanced: Database and domain settings configuration

![CleanShot 2022-01-02 at 19.50.04.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1641478802197/-DFMnKuPU.gif)

We've got a host of other bug fixes and updates too, be sure to check out our consolidated release notes [here](https://github.com/appsmithorg/appsmith/releases).

See you next month with more updates! Do join us on [Discord](https://discord.com/invite/rBTTVJp), follow us on [Twitter](https://twitter.com/theappsmith), [Youtube](https://www.youtube.com/appsmith), and [Linkedin](https://in.linkedin.com/company/appsmith) to stay up to date.