#Inline editing task salesforce lwc
Explore tagged Tumblr posts
yadavti · 5 years ago
Text
Case Study- Inline Editing in Lightning Data Table | Salesforce Lightning Web Component |
In this post we are seeing that how to perform Inline Editing in salesforce lightning components. Also, showing error alert message, if any record dependent to other records. This kind of functionality used to perform multiple rows editing at one click of button. We are covering each and every concepts of web components in our salesforce lightning web components training. In this scenario our expert explaining First, we need to select pencil shape icon on the cell as soon as we can click on the icon cell converts into editable textbox, then we need to modify the data of newly converted textbox, then click on ‘SAVE’ button. In this way we are able to perform inline editing on lightning data table.
If you are working on same technology you might aware of data table and how to create in lightning web components Data Table in lightning web components bcuz this is very new and might you were not aware of or even you haven’t heard off. Lightning web components are custom HTML elements built using HTML and modern JavaScript. Lightning web components and Aura components can coexist and interoperate on a page. Lightning Web Components is lightweight and delivers exceptional performance. Most of the code you write is standard JavaScript and HTML.
1 note · View note
tak4hir0 · 5 years ago
Link
Currently, Winter’21 release is available under the pre-release program. On the and 11th & 12th of September, Sandboxes will be upgraded, as a result, your organization will get the look and feel of Winter’21 release. In this release, you will find lots of new features, as well as, new enhancements related to Lightning Experience, Lightning Flow, Lightning Web Component, Apex, Communities, Pardot, Quip, Einstein Analytics, and APIs. For example, features like, Microsoft Teams Integration (Pilot), Get Prospect Custom Field Data Faster (Beta), Build Fast, Efficient Experiences with the LWC-Based Template (Pilot), Build Multi-Column Screens in Flow Builder (Pilot), and Create Scratch Orgs More Easily Using an Org’s Shape (Beta), Debug Autolaunched Flows Directly on the Canvas (Beta) are now available in Lightning Experience.  Also, check out these beta and pilot features:  Debug Autolaunched Flows Directly on the Canvas (Beta): – Now you can debug an autolaunched flow without opening a new browser tab. Just click Debug on Canvas (Beta) in Flow Builder and view the path the flow took during the debug run. Auto Add Fields to Custom Report Types (Beta): – It’s time-consuming to add new custom fields to your reports, especially when you have many custom report types. Now with Auto Add, custom fields that you add to a Salesforce object are added automatically to all the custom report types based on that object. When you create a report from the custom report type, all the custom fields are right there for you to add to your report. Scan a Barcode in a Lightning Web Component (Beta): – Use the BarcodeScanner API to add barcode scanning to your Lightning web components. Scan UPC, QR, and other standard barcode types from Lightning components running on a mobile device. Look up product details, record inventory scans, save contact details from a conference badge���your code, your way! Avoid Stale Salesforce Data in Snowflake with Sync Out (Beta): – Fresh Salesforce data is vital if you maintain a central Snowflake data lake for processing, analysis, business automation, or storage. For example, give your shipping logistics team the freshest data by merging your account data from your system of record, Salesforce, with your ERP’s shipping data in your data lake. Sync Out for Snowflake exports your raw local Salesforce data via Analytics to Snowflake using the Einstein Analytics connector for Snowflake. With Sync Out for Snowflake, keep your Salesforce data in Snowflake up to date using scheduled Data Sync without the need for a third-party ETL tool. Customize How Users Navigate in the Community App (Pilot): – Put Mobile Publisher for Communities users’ frequently used menu items within easy reach. You can customize the type and order of menu items with the community Experience Builder. Improve Preventive Maintenance with Advanced Recurrence (Beta): – Assets can have requirements for multiple maintenance schedules, with each schedule at different frequencies. When maintenance tasks coincide, you may want to do them all or perform only some.  For example, a building maintenance company performs minor maintenance on an air conditioning system every 3 months and a major service annually. When a work order is generated for annual service, the service manager doesn’t want a work order generated for 3-month service. Or, consider, a pool maintenance company that cleans a pool monthly and applies a chemical treatment every 3 months. In this case, when the treatment work order is created, the service manager wants the pool cleaning work order too. Build Fast, Efficient Experiences with the LWC-Based Template (Pilot): –Develop communities that load quickly and scale well using the Build Your Own (LWC) template. Based on Lightning Web Components (LWC), a programming model that delivers exceptional performance, this lightweight template supports fully custom solutions. The template, now available as a pilot, includes some changes since the previous release. Customize Components with Lightning Design System Styling Hooks (Beta): – Lightning Design System Styling Hooks provide you with a set of CSS custom properties so you can customize a component’s look and feel. In Winter ’21, a limited set of CSS custom properties is available for component-level customizations. Supported Browsers for Lightning Experience  Lightning Experience is supported by Apple® Safari® latest version on macOS. The most recent stable versions of Microsoft® Edge Chromium, Mozilla® Firefox®, and Google Chrome™ are also supported. You can continue to use Microsoft Internet Explorer and Microsoft Edge (non-chromium) to access Lightning Experience until December 31, 2020, If you opt into Extended Support for IE11. Use Apple Safari on iPadOS (iOS 13.x) or later. Portrait orientation and orientation switching aren’t supported on Lightning Experience on iPad Safari. Use landscape orientation and maximize your Safari browser to full width. To avoid orientation switching, turn on the iPad rotation lock. Supported Browsers for Salesforce Classic Salesforce Classic is supported with Microsoft® Internet Explorer® latest version, Apple® Safari® latest version on macOS. The most recent stable versions of Microsoft® Edge (non-chromium), Firefox®, and Google Chrome™ are also supported.   Below is the quick summary of Winter’21 release from user’s /customer’s Customers/Administrators Point of View Add In-App Guidance to New, Edit, and Clone Page: – Help users along as they create, edit, and clone records, including dialogs, with in-app guidance. Enhance Security with a New Threading Behavior for Email-To-Case: – A new Email-to-Case threading behavior matches incoming emails with their header information instead of through a Ref ID from the subject or body. New outbound emails don’t contain a Ref ID, and existing orgs get an upgrade path with an end-of-life notification for Ref ID. Display Survey Pages Based on Your Data: – Now you can use your data in Salesforce org to determine which survey page participants view next. Use variables to define conditions in your page branching logic. Use associated record merge field variables and participant record merge field variables to define field-level conditions. Use org variables to define conditions based on your org’s information. Use custom variables to define conditions based on values that you define. Hand Off Sales Cadence Targets to Another Rep: – If a sales manager or rep wants to give in-progress targets to a different rep, they can update the target assignee without removing the target from the sales cadence. Sales reps can change target assignees from the Work Queue or the Sales Cadence Steps component. Easily Coordinate When to Meet with Insert Free Time in Lightning Experience: – When emailing someone to set up a meeting, your reps can include their available time slots. The email recipient then selects from among the choices, and the meeting is automatically added to everyone’s calendar. Add Policy Records Directly from the Policy Component: – The Policy component has a new New Policy button that lets agents add policy records without leaving the page they’re on. For example, when an agent learns about competitors’ policies with a client, the agent can add records for those policies directly from the Policy component. Find Changed Deals at a Glance: – Opportunity deal change highlights help your sales team prioritize work by showing recent changes to amounts and close dates. For example, knowing which deals changed helps sales managers with their weekly coaching sessions. In the opportunities list view and Kanban view, text colors and arrows indicate amounts and close dates that changed during the last 7 days. And users can hover over an arrow to get detail. Update Opportunity Stages on the Forecasts Page in Lightning Experience: – Forecasts users can now update stages in the opportunity list without leaving the forecasts page. Previously, inline editing was available for other fields, but not for Stage. Send List Emails at the Ideal Time: – You can now schedule when to send a list email. Choose an ideal date and time to ensure that the list email has the best chance of being read. For example, schedule a list email to arrive at the beginning of the workday. Scheduling was previously available for individual emails only. Use Salesforce Record Permissions to Determine Access to Linked Quip Documents: – Synced Sharing provides a set of options for governing access to Quip documents associated with Salesforce records. With the new Salesforce Record Access option, users with access to a Salesforce record have the same access to its linked Quip documents. You can set your linked Quip document access at the org level without compromising security. Add In-Line Salesforce Record Fields to a Quip Document (Data Mentions): – Add live Salesforce data to your Quip documents, spreadsheets, and Account Plans without getting in the way of your formatting. With in-line data mentions, data reads like normal text but stays up to date and syncs with Salesforce. You can even edit the record fields from the data mentions, making it easier to keep your Salesforce work in Quip. Build Calculated Formula Columns with More Functions in Data Prep (Einstein Analytics): – You can now use EA SQL functions with the Data Prep formula transformation to add calculated columns derived from other fields to your dataset. EA SQL is a collection of standard and custom functions for numeric, string, and date data. Previously, you were limited to 18 functions when you built formulas in Data Prep. Now there are more than 40 functions, including [case] to create buckets or flags based on a field value, and [datediff()] to calculate the duration between dates. Create your own calculated columns with the formula editor using a function and column selector (1), auto-complete (2), built-in EA SQL function guidance (3), and output type selection (4). Protect Data in Embedded Dashboards with Locked or Hidden Filters (Einstein Analytics): – When filters on embedded dashboards aren’t locked or hidden, users can modify or delete both external and global filters, exposing more data. The new lock and hide options for filters are an easy way to configure embedded dashboards so users see only the data that you want them to see. And, with the updated dashboard reset action, you can now return an embedded dashboard to its initial embedded state. Apply Audiences to Record Detail Pages with Record-Based Criteria (Community Cloud):– You can now vary what people see on a record detail page using audience criteria based on record fields. For example, you can display different theme layouts when someone is looking at a coffee machine or a box of tea, or different pages for high-value and low-value opportunities. Also, we moved record criteria from the advanced section into the main body of the editor, so you can easily combine it with user criteria to create custom formulas. You can create record-based criteria using these objects: Account Asset Campaign Case Contact Contract Lead Opportunity Product2 ProductCategory Quote Custom Objects Any object with at least one record type (only some fields available) Manage Your Pages and URLs with the Pages Menu (Community Cloud): – Now it’s easier to organize and restructure your pages and page URLs in Experience Builder. Edit your pages to suit your content needs with the Pages menu and see these updates in your live site’s URL. In Experience Builder, navigate to the Pages menu panel. Create your own page hierarchy (1) in seconds when you open the Page Action menu (2) and click Add Subpage. Build out your site’s hierarchy with up to six-page levels by nesting a standard, object, or content page under an existing page. The site URL for each page reflects the structure you set up in Experience Builder when you share the live site with your users.   Interactively Create Engaging Email Templates: – Create email templates faster and more easily with visual tools in Email Template Builder. Instead of adding HTML code, your users can drag elements to create effective email templates. They can compose email templates with a few clicks to place design elements right where they want them.   Click Edit in Builder to open the Email Template Builder.   Source Images from Salesforce CMS for Lightning Content Builder (Pardot): – Give users the power to quickly select images for email marketing content and templates from Salesforce CMS. No need to bother with separate file hosting or copy-and-paste errors when you turn on CMS for Lightning Content Builder. After you enable and configure the connection, users can access repositories at the click of a button. Subscribe to Get Report Results Delivered by Email (Generally Available): –When people subscribe to a report, a new option lets them choose to receive results as a .csv file attached to the subscription email. The email itself includes the report name in the subject line, but there is no email body. Row-level record details are included in the attached .csv file instead. And small changes to the Edit Subscription menu design include a new Attach File button and a refined layout. To enable it, navigate to Setup (Gear Icon) | Setup | Feature Settings | Analytics | Reports & Dashboards |Reports & Dashboards Settings and then select Let users attach reports as files to report subscription emails in Lightning Experience. To attach files to a report subscription, subscribe to a report, click Attach File, choose Details Only. The attachment format is Comma Delimited .csv by default. Additional enhancements worth noting! Manage Deleted Fields in Lightning Experience: – You can now manage deleted fields in Lightning Experience. In previous releases, you could only manage a deleted field and its data by switching to Salesforce Classic. Choose Your Utility Bar Alignment: – Customize where your Salesforce org’s utility bar appears on the screen. You can choose to align the utility bar to the bottom right or the bottom left of the screen. The default alignment matches the directionality of the user’s language.  Manually Log Emails from the Gmail Integration When Einstein Activity Capture Is On: – If your Einstein Activity Capture configuration has emails disabled, reps can now log emails manually from the Gmail integration. Previously, if emails were disabled in the configuration, users weren’t shown an option to log emails. Custom Metadata Types Support Geolocation Field Types Relationships: – Support for entity particle relationships was introduced in Summer ’20, with the exception of geolocation field types. With Winter ’21, you can now create geolocation field type relationships. Serve CMS Content with a Content Delivery Network (CDN).: – Deliver Salesforce CMS content to your users with higher performance than ever through a CDN. A CDN is a distributed group of servers that work together to deliver your content quickly and efficiently. Readily connect content to your sites through Community Cloud or to custom applications through public channels. And conveniently share your email marketing content and templates from Salesforce CMS with Marketing Email in Lightning. Serve your content from a CDN such as Akamai, or use one of your own. To create a public channel, open the CMS Channels page in the Salesforce CMS app, click Create Channel, and select Public Channel. Organize Salesforce CMS Content with Folders: – Now it’s easier to organize content in your Salesforce CMS workspace, and share links to folders with others in your org. In your workspace (1) create folders with a hierarchy of up to five levels (2) with the click of a button (3). Edit and rename folders to fine-tune your CMS, and delete empty folders you no longer need. Add content directly to folders and move content within folders (4). Each folder has a unique folder ID that appears in the URL (5). This means you can bookmark the URL to find a folder quickly and share the link to specific folders with other members of the workspace. Personalize Survey Questions Within Email: – Now you can give your participants a VIP experience by personalizing survey questions that are embedded within an email invitation. Review Aggregate Email Metrics in Lightning Experience: – As part of Marketing Email in Lightning, rollup metrics now appear on email content and email template records. Marketers get an aggregate view of how certain content and templates perform based on statistics from everywhere they’re used. Individual list email send and campaign-level email marketing reports are still available, too. Customize More Pardot Assets with Any Tracker Domain (Pardot): – You can now use any of your tracker domains to customize the links for Pardot form handlers, dynamic content, social posts, and multivariate landing page tests. Previously, these asset links defaulted to the primary tracker domain. Emails without templates are now the only Pardot assets that don’t include this functionality. Send Your Custom Notification Recipients to New Places with Page Reference Navigation: – Use the new Target Page Reference field on the Send Custom Notification action to specify navigation targets for your custom notifications sent via flow or REST API. Previously, only the Target ID field was available for custom notification navigation and only a record ID could be specified as a navigation target. Now your custom push and in-app notifications can navigate to any page that’s accessible via the PageReference class, such as a Lightning app or an external URL. Choose When to Show the Submit for Approval Action (Generally Available and Beta): – Ever wanted to display the Submit for Approval action only when a record is eligible for approval? That day has come! With dynamic actions, now you can set conditions for when each action is visible, including the Submit for Approval action. Create a Relationship Map in Quip with Live Salesforce Data: – Build relationship maps in your Account Plans with imported Salesforce record data. To add data to your maps that exist outside of Salesforce, create custom Quip cards. Preview and Test an Email in Lightning Experience (Pardot): – Users can preview and test emails from the email content record. Before sending an email to a large recipient list, do a trial run by sending it to a test list or individual email addresses. Preview and troubleshoot possible personalization issues by previewing as specific recipients. Analyze Your Lightning Page Performance: – Discover ways to make your record page perform better based on analysis right inside the Lightning App Builder. Performance Analysis in App Builder evaluates the fields, instances of the Related Lists component, and metadata of a record page. With the click of a button, get best practices and suggestions for improving page performance and the end-user experience. Developers Point of View Use the Safe Navigation Operator to Avoid Null Pointer Exceptions: – Use the safe navigation operator (?.) to replace explicit, sequential checks for null references. This new operator short-circuits expressions that attempt to operate on a null value and returns null instead of throwing a NullPointerException. This example first evaluates a, and returns null if a is null. Otherwise, the return value is a.b. a?.b // Evaluates to: a == null? Null : a.b This example returns null if a[x] evaluates to null. If a[x] does not evaluate to null and aMethod() returns null, then this expression throws a null pointer exception. a[x]?.aMethod().aField // Evaluates to null if a[x] == null This example returns null if a[x].aMethod() evaluates to null. This example indicates that the type of the expression is the same, whether the safe navigation operator is used in the expression or not. Integer x = anObject?.anIntegerField; // The expression is of type Integer because the field is of type Integer This example shows a single statement replacing a block of code that checks for nulls. // Previous code checking for nulls String profileUrl = null; if (user.getProfileUrl() != null) { profileUrl = user.getProfileUrl().toExternalForm(); } // New code using the safe navigation operator String profileUrl = user.getProfileUrl()?.toExternalForm(); This example shows a single-row SOQL query using the safe navigation operator. // Previous code checking for nulls results = [SELECT Name FROM Account WHERE Id = :accId]; if (results.size() == 0) { // Account was deleted     return null; } return results[0].Name; // New code using the safe navigation operator return [SELECT Name FROM Account WHERE Id = :accId]?.Name; Send Custom Notifications from Apex: – Use the Messaging.CustomNotification class to create, configure, and send custom notifications directly from Apex code, such as a trigger.  Break Up Your Record Details with Dynamic Forms (Generally Available): – Dynamic Forms is the next step in the evolution of Lightning record pages. It adds the ability to configure record detail fields and sections inside the Lightning App Builder. With more fields on your page layout, the more that the Record Detail component becomes a monolithic block of fields that you can’t customize. With Dynamic Forms, you can migrate the fields and sections from your page layout as individual components into the Lightning App Builder. Then, you can configure them just like the rest of the components on the page, and give users only the fields and sections that they need. Dynamic Forms benefit you in these ways. An instant upgrade from page layouts: Place fields and sections wherever you want. Better page performance: Put fields and sections into accordion components or tabs to significantly improve page load times. Dynamic layouts: Use visibility rules to show and hide fields and sections. Simpler layout management: Manage the fields and sections on your pages in the Lightning App Builder without touching the page layout editor. Reduce the number of page layouts you need with component visibility rules. Take advantage of a single assignment model for the Lightning page instead of the dual model of assigning a Lightning page and a page layout. To enable Dynamic Forms in your org, navigate to Setup (Gear Icon) | Setup | User Interface | Record Page Settings and then click on the Dynamic Forms section, flip the switch to On. After you enable Dynamic Forms, new features appear in the Lightning App Builder. A new Fields tab in the component palette contains Field and Field Section components, which are the building blocks for Dynamic Forms. To get started? Open an existing record page in the Lightning App Builder, then click Upgrade Now from the Record Detail properties pane to launch the Dynamic Forms migration wizard. With only a few clicks, the wizard adds fields and field sections to the page for you. Make Apex Callouts After Publishing Platform Event Messages: – You can now make Apex callouts after publishing event messages for events configured with the Publish Immediately behavior. Previously, after publishing such events, you couldn’t make callouts from any Apex code. Events published immediately have a new limit, which is separate from the Apex DML statement limit. Read more about it here. Deploy Organization-Wide Defaults and Criteria-Based Sharing Rules Together: – You can now simultaneously update the sharingModel field for an object and create new criteria-based or guest user sharing rules via the Metadata API. Previously, you deployed these changes in separate packages. You still deploy owner-based sharing rules separately from organization-wide default changes. Lightning Flow Enhancements: – There are several enhancements in Lightning Flow as follows: Trigger a Flow to Run Before a Record is Deleted: – In Flow Builder, you can now configure a new record–triggered flow to run before a record is deleted. You no longer need to write Apex code to set this up. This autolaunched flow runs in the background and updates related records when a record is deleted. Improve the Performance and Precision of Record-Triggered Flows with Entry Criteria: – Salesforce has added entry criteria to record-triggered flows, giving you more control over your automation. Instead of configuring the flow to run every time a record is created or edited, you can now configure it to run only when condition requirements are met. This optimization can also significantly reduce your record-triggered flows’ impact on your org’s performance, depending on the flow. Debug Flow Errors in Sandbox Org as Another User: – Debugging a flow in a sandbox org is now easier than ever with the ability to debug a flow as another user. When you debug a flow as another user, you can catch flow exceptions such as unexpected permission, sharing, and profile configurations before they occur in production orgs. Create Decision Outcomes that Only Execute When Certain Changes are Made: – Now a flow triggered by a record update can take different paths if the record that triggered the flow was edited to meet certain criteria. When you configure a Decision outcome, you can now set that outcome to execute only when the triggering record is updated to meet the condition requirements. This feature allows you to filter out record updates that are unrelated to your flow’s use case, and to avoid reprocessing records that previously triggered the flow. Easily Access Related Record Data in Autolaunched Flows with Triggers: – Now in autolaunched flows with triggers, you no longer need to create Get Records elements to find associated records and retrieve data from them. Instead, when you configure flow elements and resources, you can easily drill down to the field values of a global or record variable’s associated records. For example, in a Decision element, drill down from $Record to Account ID to Customer Priority. Use AND, OR, and Custom Operators Across All Flow Builder Elements: – Salesforce has added the condition-defining options across Flow Builder. Specify that you want the condition logic to meet ANY conditions or that you want it to meet ALL conditions. For example, specify contacts with the name Joe OR the city of Mumbai. Or you can provide your own custom logic. Salesforce has added these options to the Get Records, Update Records, and Delete Records elements, and to screen elements. You can also find the options in the Start element when configuring schedule- and record-triggered flows, and in record choice sets. Detect Apex Runtime Context with RequestId and Quiddity: – You can now detect Apex context at runtime and correlate multiple logs triggered by the request, using Request ID and Quiddity values. Use the methods in the System.Request class to obtain the Request ID and Quiddity of the current Salesforce request. The following example shows how to retrieve and use Request ID and Quiddity. //Get info about the current request Request reqInfo = Request.getCurrent(); //Universally unique identifier for this request //Same as requestId in splunk or REQUEST_ID in event monitoring String currentRequestId = reqInfo.getRequestId(); //enum representing how Apex is running. e.g. BULK_API vs LIGHTNING //Use this with a switch statement, //instead of checking System.isFuture() || System.isQueueable() || ... Quiddity currentType = reqInfo.getQuiddity(); Create Scratch Orgs More Easily Using an Org’s Shape (Beta): – It is not easy to build a scratch org definition that mirrors the features and settings in your production org. With Org Shape for Scratch Orgs, you can leave building the scratch org definition to us. After you capture the org’s shape, you can spin up scratch orgs based on it with minor assembly required. Enable Org Shape for Scratch Orgs in the org whose shape you want to capture (source org). Perform the steps below to configure it:  As an admin, log in to the source org. From Setup, enter Org Shape in the Quick Find box, then select Org Shape. Click Enable Org Shape for Scratch Orgs (Beta). If your source org is different from your Dev Hub org, enter the Dev Hub org ID to the list of allowed Dev Hub orgs. Create a scratch org definition file that contains the 15-character source org ID, the only required option. { "orgName": "Salesforce", "sourceOrg": "00DB1230400Ifx5" } Create a scratch org. Add Custom Buttons to the lightning-input-rich-text Base Component (Beta): – You can now add buttons to perform actions that you define, such as inserting an email template, applying formats, or adding a link to your FAQ. You can even open a popup from a custom button. Define a custom button using two new components together, nested in the lightning-input-rich-text component. Read more about it here. Improve Apex Testing with New SObject Error Methods: – Track errors with the new SObject.hasErrors() and SObject.getErrors() methods without performing a DML operation to check the result for errors. Dynamically add errors to specific fields with new SObject.addError() overload methods. Use the hasErrors() method to know if an SObject instance contains errors. Use the getErrors() method to retrieve the list of errors for a specific SObject instance. The following example code shows usage of the new SObject error methods. //Baseline code sample for using addError, getErrors, together Account a = new Account(); String msg = 'New error method in SObject'; //The new overload that accepts the field dynamically at runtime a.addError('Name', msg); List<Database.Error> errors = a.getErrors(); System.assertEquals(1, errors.size()); Database.Error error = errors.get(0); System.assertEquals(msg, error.getMessage()); System.assertEquals(StatusCode.FIELD_CUSTOM_VALIDATION_EXCEPTION, error.getStatusCode()); String[] fields = error.getFields(); System.assertNotEquals(null, fields); System.assertEquals(1, fields.size()); Second-Generation Packages Support Lightning Message Channels: – Lightning components use message channels to communicate via the Lightning Message Service. You can now include message channels in second-generation packages. Additional enhancements worth noting! Write Lightning Scheduler Appointments Directly to External Calendars: – Salesforce has added a setting that allows developers to help write Lightning Scheduler appointments directly to external calendars. When you enable the new Publish Appointments as Platform Events setting, Lightning Scheduler triggers platform events for new, modified, or deleted appointments. You can capture and write those events to external calendars using APIs. Increased Timeout for Client-Side Caching: – When a component is generated on the server from metadata, the page loads from a client-side cache of the indexed database. The client-side cache timeout has increased from 15 minutes to 8 hours, with a refresh interval of 15 minutes. This increased timeout can result in faster page loads for users who bootstrap the application frequently or click links from outside the application to open a new browser window or tab to Lightning Experience.  New Attribute on <apex:inputField> Overrides Entity Edit Permissions: – The new ignoreEditPermissionForRendering attribute on <apex:inputField> allows you to override entity edit permissions for users, even when the underlying permission on the object doesn’t allow edits. Specify Unpackaged Metadata for Package Version Creation Tests (Pilot): – If there are scenarios where you require metadata that shouldn’t be part of your package, but is necessary for Apex test runs during package version creation, you can specify the path containing unpackaged metadata in the sfdx-project.json file. Unpackaged metadata isn’t included in the package and isn’t installed in subscriber orgs. Delete up to 50,000 Big Object Records in a Batch: – The Database.deleteImmediate() method now supports batch deletes of up to 50,000 big object records at once. This new limit matches the total number of records you can retrieve with a SOQL query. Salesforce Mobile App Enhancements To access Salesforce from a mobile device, use the downloadable Salesforce mobile app from Google Play or the App Store. Or use Lightning Experience on iPad Safari. Users can run the Salesforce mobile app on mobile devices that meet these mobile platform requirements.   1. Create Shortcuts to Users’ Essential Pages: – Set up a mobile launchpad to let users quickly access the information they need. Use the Launchpad Lightning web component to add links to Lightning pages on mobile and desktop. Internal links open in the Salesforce mobile app, while external links open in a mobile browser window. 2. Tap Into Salesforce from Your Home Screen with the Quick Navigation Widget: –Use the Salesforce Quick Navigation widget to get to your most important items, right from the home screen of your iOS device. The widget displays the first four navigation items of the navigation bar of the Lightning app you most recently accessed in the Salesforce mobile app, including Mobile Only. And if you personalize your navigation items for a Lightning app, the widget stays up to date. 3. Keep Track of Your Activities with Activity Timeline on iOS: – The activity timeline is now available in the Salesforce mobile app for leads, opportunities, accounts, and contacts. On these record types, iOS users can view all of the tasks, events, and emails associated with a record in one convenient feed. Previously, admins had to create a related list with the activity history view to track activities in the mobile app. 4. Get to the Point with Report Highlights: – Users can get a high-level overview of their reports on the Salesforce mobile app. Report Highlights shows summaries of up to eight key metrics, including average amounts, grand totals, subtotals, record counts, and formula column results. For summary and matrix reports, users can also see totals for groups based on the first-level group field. 5. Salesforce Anywhere: Plan and Accelerate Your Business in Real-Time (Beta): – Salesforce Anywhere is making Salesforce real-time. Get alerts about changes to the Salesforce data you care about. Update your Salesforce data in just a few taps with suggested actions. Collaborate in context with chat. Search and view your Salesforce data. And integrate Salesforce Anywhere chat and alerts into your business processes with Lightning Flow and Process Builder. Formative Assessment: I want to hear from you!   What are your favorite Winter’21 release note gems? You can download release notes in HTML format!, for PDF file. Let me know by Tweeting me at @automationchamp, or find me on LinkedIn. Like this:Like Loading... Related 6x Salesforce MVP | Solution Architect | Author of 7 books at Packtpub Publishing and Apress | 4x Dreamforce Speaker | Salesforce Coach | Co-host of AutomationHour.com
0 notes
tak4hir0 · 6 years ago
Link
A lot has changed with Salesforce developer tooling over the past few years. As I mentioned at TrailheaDX a few months back, we have shipped hundreds of releases of our developer tools since they were first released less than three years ago. If you haven’t tried out the Salesforce Extensions for Visual Studio Code in a while, it might be a good time to jump back in. In this post, I’ll share some of the latest updates to the VS Code tools as well as some updates on other Salesforce IDEs. Develop against any org Many of you may not have realized, but you can use VS Code to work against all orgs – not just scratch orgs. You can develop against your sandboxes or DE orgs just as you have always done with other tools. In the past year we have released many features that make this experience great. Org management Several releases back we introduced UI for authorizing, creating, and switching orgs in your project. This makes it easier for you to work with multiple orgs on the same project or quickly create a scratch org to test a new feature. Simply click on the Org Browser button in the menu bar (shown with the red arrow) and you will see the menu for the various org actions. Deploy On Save Many developers prefer to have their work save immediately to their org instead of doing deployments at various stages. This can be helpful when working on UI components where you need to test out various styling changes or behaviors or while you are trying to debug some behavior in an Apex class. Enabling Deploy on Save in your project is straightforward: simply update your .vscode/settings.json file with the config "salesforcedx-vscode-core.push-or-deploy-on-save.enabled": true. Going forward, when you save a file it will be automatically deployed to the org. It will also queue up deployments in case a deployment is currently running and batch the next deployment if multiple saves have occurred before the current deployment. Org Browser When working directly against your org you need a way to retrieve the metadata you are working with. You have always been able to use the CLI or do a retrieve if you have a package.xml file, but there hasn’t been a way to retrieve metadata from the UI in Visual Studio Code. I am happy to share that as of today, you can now use the Org Browser tab to browse and retrieve metadata from your org. Once enabled, you can browse through all the metadata in your org and click on the button next to each metadata item to retrieve the source locally. This is just the first release and we will continue to enhance this feature with more capabilities such as the ability to retrieve all metadata of the same type or create a package.xml file. Let us know what you think by commenting on this Github Issue or creating a new issue if you encounter a bug. NOTE: To enable this feature you need to go to the VS Code settings and enable Org Browser. Also, for now this feature only works against non-scratch orgs – it will automatically hide when you are authenticated against scratch orgs.     Diff against org It is often the case in your development process that you need to understand what has changed in an org or with your local code. This could be because you are working against multiple orgs that are at different stages in the release cycle or that you make changes to metadata in the org UI while also doing work on your local machine. In order to better understand where changes have occurred, we are introducing the ability to diff source changes against your org. Initially, this feature will work with Lightning Web Components, Aura, Apex, and Visualforce files, but we will expand to more metadata over time. Additionally, in the first preview release you will only be able to diff single files, but that is something we hope to improve later on as well. This feature will be released in the next week or two, so keep an eye out. Lightning Web Components Visual Studio Code is already the most popular editor amongst web developers today. Developers love it because it offers a rich set of features such as code completion, refactoring, and more that make writing HTML, Javascript, and CSS enjoyable and productive. In addition to the built-in features that make VS Code amazing, there are hundreds of great extensions available from the community that will let you tailor VS Code to meet your exact needs. Finally, Salesforce ships an extension specifically for LWC development that adds many great features specific to developing LWC on the Salesforce Platform. HTML code completions When editing the HTML of a Lightning web component, you will see full code completion for elements, attributes, and values that include inline documentation.   Javascript code completions For LWC Javascript files you get code completion for your org’s schema, static resources, custom labels, and other LWC components.     ESLint integration LWC provides out of the box support for ESLint to help ensure you write compatible and maintainable code. You will see error messages when you write unsupported code that will cause errors when running in your org and you will see warnings that will help ensure your code is consistent and maintainable. Lightning Explorer The Lightning Explorer allows you to browse through all UI components in your project — LWC and Aura — as well as the build in components. You can browse the properties of the components and for the global components you can click to open the documentation for each item in the Component Library making it easy to find documentation and samples for building your LWC apps. NOTE: This feature is in preview so to enable it you will need to enable the “Lightning Explorer” option in Settings.     General productivity Apex refactoring Refactoring is a common task for any developer as you maintain your application. VS Code now supports several ways of refactoring and quick-fixes for your Apex code such as rename variable, extract local variable, extract constant, and declare missing methods. Simply right-click on variables or methods and you will see the menu to perform various refactorings. Code formatting Keeping your code consistent between various developers makes maintaining your application significantly easy and helps new team members more easily read unfamiliar code. At Salesforce we have adopted Prettier in many of our projects and are standardizing on Prettier for Salesforce Platform development. We recently even added Prettier to the Developer Console. Prettier now supports all Salesforce languages and frameworks such as Aura, LWC, and even Apex. Prettier will help you keep your code consistent and avoid all those arguments about code formatting based on personal preferences. See the documentation on how to setup Prettier with your project today or just create a new project using the Salesforce CLI and it will include the default Prettier configuration for Salesforce. Coming soon I have written before about how we keep our roadmap up to date on Github. We strongly believe that developer tools are best built in the open with the end-users involved in providing feedback at every step of the way. If you haven’t commented on a Github issue or created a feature request I would encourage you to do so. We prioritize what gets built by the feedback we get from our customers. There are a few exciting features that we are currently working on that will make your development experience with VS Code even better. Conflict detection on Deploy/Retrieve A common problem when developing in a Sandbox is that multiple developers or admins can be working on the same metadata or code. This inevitably leads to conflicts. While we believe the best way to deal with this is to use source tracking with a version control system like Git, we understand that not every team is ready to adopt that model yet. For this reason, we are currently working on tools that will detect conflicts when you do a deploy or retrieve from your org. Initially this feature will work against Apex, LWC, Aura, and Visualforce but we will expand it to work against all metadata in the future. We aim to ship the first of this feature in the next few months, but please let us know what you would like to see and how you would use this feature at your company by commenting on this Github Issue. SOQL Language features Today, when writing SOQL in VS Code we don’t provide code completion for other advanced language features that developers have come to expect from modern tooling. To remedy this, we are currently working on writing a full-featured SOQL Language Server that will provide code completion for SOQL keywords, objects, and fields to make it much easier to write queries both inside of Apex classes or anonymous files or by itself in a .soql file. You can see the spec and leave feedback on this Github Issue. Additionally, we aim to deliver more advanced SOQL tooling sometime in the future to help you more easily view results and work with data inside of VS Code. More details about those future tools can be found here. Performance updates One of the common complaints about using VS Code and the Salesforce CLI is that it is sometimes slow compared to other tools. One of the reasons for this is that long ago we made the decision to standardize all operations on the Metadata API. There are some benefits to this in terms of consistency, but there are also performance implications. The Metadata API is subject to queues in operations and at times the operations can back up and cause slow deployments. We have several efforts underway to improve this — one of which is working to make the Metadata API faster and more consistent. The other is on the tooling side. We are currently working on changing how single metadata operations for deploy/retrieve and push/pull are handled. Instead of using the Metadata API for these actions, we will use the Tooling API when there is only a single metadata type involved. While this won’t solve every performance issue, this will solve a big one when developers are using Deploy on Save – essentially each save will take less than a few hundred milliseconds so every save when doing Deploy on Save will generally use the Tooling API and feel basically instantaneous. I know this won’t solve every issue, so please continue to let us know how these issues are impacting you by commenting on this Github issue or by creating a new issue. LWC Local Development At TrailheaDX we teased LWC Local Development. This new feature will allow you to render your Lightning Web Components on your local machine without deploying them to the org. This means your time from saving to seeing the results will be almost instant. LWC Local Development will allow you to connect to org data through LDS or by calling Apex classes and will eventually support virtually every aspect of UI development related to LWC entirely on your local machine. You will see rich error messages when you make a mistake so you can quickly make the needed fixes without having to wait for a deployment to fail. The aim here is to dramatically increase the speed at which developers can write, test, and debug the UI applications. We will ship the beta of LWC Local Development sometime in the next few months. MavensMate Finally, I wanted to discuss MavensMate. MavensMate has been a great utility for the Salesforce developer community and we all appreciate the work that Joe Ferraro and others have put into the tool over the years. As you probably know, Joe discontinued working on MavensMate more than two years ago and recommended everyone migrate to the Salesforce Extensions for VS Code. Most people have already made the migration, but we know many of you were still using MavensMate. If you were one of those people still using MavensMate, you noticed last week that it completely stopped working. The reason for this is because a serious security vulnerability was found in the software. Joe and the other project maintainers rightfully decided that rather than leave the users of this software — and the organizations where they work — vulnerable to a security compromise, that the correct course of action would be to disable the software entirely. They reached out to the Salesforce security team and disclosed the vulnerability. Because there was no way to fix the issue remotely or push out an update to MavensMate automatically, they concluded the only way to protect users was to revoke the application’s access to Salesforce APIs. They worked with Salesforce security to disable the Connected App and revoke all security tokens. This had the consequence of completely and permanently disabling MavensMate, but was the only way to ensure that users were secure. I want to thank Joe for creating MavensMate and for the people that have been keeping it going for the past few years. MavensMate was an invaluable tool that pushed the Salesforce Developer platform forward. I also want to thank Joe and Charles Jonas for responsibility disclosing the issue to our security team and working to ensure that our mutual users were kept safe and secure. For those of you that were still using MavensMate, we hope that you will find the Salesforce Extensions for Visual Studio Code to be a productive replacement. I would encourage you to try it out, even if you have before. If there is anything you think is lacking, please let us know by opening a feature request on Github. Force.com IDE As a reminder, if you are still using the Force.com IDE, that product will be complete discontinued in about three months on October 12, 2019. We will no longer provide support or any updates after that date. Additionally, the download links and documentation will be taken offline at that time. I highly recommend starting your transition to the Salesforce Extensions for VS Code as soon as possible. You can find a guide on migrating from the Force.com IDE to VS Code on our docs site. As always, please continue to let us know what we can do to help you be more productive on the Salesforce Platform and thanks for reading!
0 notes
tak4hir0 · 6 years ago
Link
A lot has changed with Salesforce developer tooling over the past few years. As I mentioned at TrailheaDX a few months back, we have shipped hundreds of releases of our developer tools since they were first released less than three years ago. If you haven’t tried out the Salesforce Extensions for Visual Studio Code in a while, it might be a good time to jump back in. In this post, I’ll share some of the latest updates to the VS Code tools as well as some updates on other Salesforce IDEs. Develop against any org Many of you may not have realized, but you can use VS Code to work against all orgs – not just scratch orgs. You can develop against your sandboxes or DE orgs just as you have always done with other tools. In the past year we have released many features that make this experience great. Org management Several releases back we introduced UI for authorizing, creating, and switching orgs in your project. This makes it easier for you to work with multiple orgs on the same project or quickly create a scratch org to test a new feature. Simply click on the Org Browser button in the menu bar (shown with the red arrow) and you will see the menu for the various org actions. Deploy On Save Many developers prefer to have their work save immediately to their org instead of doing deployments at various stages. This can be helpful when working on UI components where you need to test out various styling changes or behaviors or while you are trying to debug some behavior in an Apex class. Enabling Deploy on Save in your project is straightforward: simply update your .vscode/settings.json file with the config "salesforcedx-vscode-core.push-or-deploy-on-save.enabled": true. Going forward, when you save a file it will be automatically deployed to the org. It will also queue up deployments in case a deployment is currently running and batch the next deployment if multiple saves have occurred before the current deployment. Org Browser When working directly against your org you need a way to retrieve the metadata you are working with. You have always been able to use the CLI or do a retrieve if you have a package.xml file, but there hasn’t been a way to retrieve metadata from the UI in Visual Studio Code. I am happy to share that as of today, you can now use the Org Browser tab to browse and retrieve metadata from your org. Once enabled, you can browse through all the metadata in your org and click on the button next to each metadata item to retrieve the source locally. This is just the first release and we will continue to enhance this feature with more capabilities such as the ability to retrieve all metadata of the same type or create a package.xml file. Let us know what you think by commenting on this Github Issue or creating a new issue if you encounter a bug. NOTE: To enable this feature you need to go to the VS Code settings and enable Org Browser. Also, for now this feature only works against non-scratch orgs – it will automatically hide when you are authenticated against scratch orgs.     Diff against org It is often the case in your development process that you need to understand what has changed in an org or with your local code. This could be because you are working against multiple orgs that are at different stages in the release cycle or that you make changes to metadata in the org UI while also doing work on your local machine. In order to better understand where changes have occurred, we are introducing the ability to diff source changes against your org. Initially, this feature will work with Lightning Web Components, Aura, Apex, and Visualforce files, but we will expand to more metadata over time. Additionally, in the first preview release you will only be able to diff single files, but that is something we hope to improve later on as well. This feature will be released in the next week or two, so keep an eye out. Lightning Web Components Visual Studio Code is already the most popular editor amongst web developers today. Developers love it because it offers a rich set of features such as code completion, refactoring, and more that make writing HTML, Javascript, and CSS enjoyable and productive. In addition to the built-in features that make VS Code amazing, there are hundreds of great extensions available from the community that will let you tailor VS Code to meet your exact needs. Finally, Salesforce ships an extension specifically for LWC development that adds many great features specific to developing LWC on the Salesforce Platform. HTML code completions When editing the HTML of a Lightning web component, you will see full code completion for elements, attributes, and values that include inline documentation.   Javascript code completions For LWC Javascript files you get code completion for your org’s schema, static resources, custom labels, and other LWC components.     ESLint integration LWC provides out of the box support for ESLint to help ensure you write compatible and maintainable code. You will see error messages when you write unsupported code that will cause errors when running in your org and you will see warnings that will help ensure your code is consistent and maintainable. Lightning Explorer The Lightning Explorer allows you to browse through all UI components in your project — LWC and Aura — as well as the build in components. You can browse the properties of the components and for the global components you can click to open the documentation for each item in the Component Library making it easy to find documentation and samples for building your LWC apps. NOTE: This feature is in preview so to enable it you will need to enable the “Lightning Explorer” option in Settings.     General productivity Apex refactoring Refactoring is a common task for any developer as you maintain your application. VS Code now supports several ways of refactoring and quick-fixes for your Apex code such as rename variable, extract local variable, extract constant, and declare missing methods. Simply right-click on variables or methods and you will see the menu to perform various refactorings. Code formatting Keeping your code consistent between various developers makes maintaining your application significantly easy and helps new team members more easily read unfamiliar code. At Salesforce we have adopted Prettier in many of our projects and are standardizing on Prettier for Salesforce Platform development. We recently even added Prettier to the Developer Console. Prettier now supports all Salesforce languages and frameworks such as Aura, LWC, and even Apex. Prettier will help you keep your code consistent and avoid all those arguments about code formatting based on personal preferences. See the documentation on how to setup Prettier with your project today or just create a new project using the Salesforce CLI and it will include the default Prettier configuration for Salesforce. Coming soon I have written before about how we keep our roadmap up to date on Github. We strongly believe that developer tools are best built in the open with the end-users involved in providing feedback at every step of the way. If you haven’t commented on a Github issue or created a feature request I would encourage you to do so. We prioritize what gets built by the feedback we get from our customers. There are a few exciting features that we are currently working on that will make your development experience with VS Code even better. Conflict detection on Deploy/Retrieve A common problem when developing in a Sandbox is that multiple developers or admins can be working on the same metadata or code. This inevitably leads to conflicts. While we believe the best way to deal with this is to use source tracking with a version control system like Git, we understand that not every team is ready to adopt that model yet. For this reason, we are currently working on tools that will detect conflicts when you do a deploy or retrieve from your org. Initially this feature will work against Apex, LWC, Aura, and Visualforce but we will expand it to work against all metadata in the future. We aim to ship the first of this feature in the next few months, but please let us know what you would like to see and how you would use this feature at your company by commenting on this Github Issue. SOQL Language features Today, when writing SOQL in VS Code we don’t provide code completion for other advanced language features that developers have come to expect from modern tooling. To remedy this, we are currently working on writing a full-featured SOQL Language Server that will provide code completion for SOQL keywords, objects, and fields to make it much easier to write queries both inside of Apex classes or anonymous files or by itself in a .soql file. You can see the spec and leave feedback on this Github Issue. Additionally, we aim to deliver more advanced SOQL tooling sometime in the future to help you more easily view results and work with data inside of VS Code. More details about those future tools can be found here. Performance updates One of the common complaints about using VS Code and the Salesforce CLI is that it is sometimes slow compared to other tools. One of the reasons for this is that long ago we made the decision to standardize all operations on the Metadata API. There are some benefits to this in terms of consistency, but there are also performance implications. The Metadata API is subject to queues in operations and at times the operations can back up and cause slow deployments. We have several efforts underway to improve this — one of which is working to make the Metadata API faster and more consistent. The other is on the tooling side. We are currently working on changing how single metadata operations for deploy/retrieve and push/pull are handled. Instead of using the Metadata API for these actions, we will use the Tooling API when there is only a single metadata type involved. While this won’t solve every performance issue, this will solve a big one when developers are using Deploy on Save – essentially each save will take less than a few hundred milliseconds so every save when doing Deploy on Save will generally use the Tooling API and feel basically instantaneous. I know this won’t solve every issue, so please continue to let us know how these issues are impacting you by commenting on this Github issue or by creating a new issue. LWC Local Development At TrailheaDX we teased LWC Local Development. This new feature will allow you to render your Lightning Web Components on your local machine without deploying them to the org. This means your time from saving to seeing the results will be almost instant. LWC Local Development will allow you to connect to org data through LDS or by calling Apex classes and will eventually support virtually every aspect of UI development related to LWC entirely on your local machine. You will see rich error messages when you make a mistake so you can quickly make the needed fixes without having to wait for a deployment to fail. The aim here is to dramatically increase the speed at which developers can write, test, and debug the UI applications. We will ship the beta of LWC Local Development sometime in the next few months. MavensMate Finally, I wanted to discuss MavensMate. MavensMate has been a great utility for the Salesforce developer community and we all appreciate the work that Joe Ferraro and others have put into the tool over the years. As you probably know, Joe discontinued working on MavensMate more than two years ago and recommended everyone migrate to the Salesforce Extensions for VS Code were released. Most people have already made the migration, but we know many of you were still using MavensMate. If you were one of those people still using MavensMate, you noticed last week that it completely stopped working. The reason for this is because a serious security vulnerability was found in the software. Joe and the other project maintainers rightfully decided that rather than leave the users of this software — and the organizations where they work — vulnerable to a security compromise, that the correct course of action would be to disable the software entirely. They reached out to the Salesforce security team and disclosed the vulnerability. Because there was no way to fix the issue remotely or push out an update to MavensMate automatically, they concluded the only way to protect users was to revoke the application’s access to Salesforce APIs. They worked with Salesforce security to disable the Connected App and revoke all security tokens. This had the consequence of completely and permanently disabling MavensMate, but was the only way to ensure that users were secure. I want to thank Joe for creating MavensMate and for the people that have been keeping it going for the past few years. MavensMate was an invaluable tool that pushed the Salesforce Developer platform forward. I also want to thank Joe and Charles Jonas for responsibility disclosing the issue to our security team and working to ensure that our mutual users were kept safe and secure. For those of you that were still using MavensMate, we hope that you will find the Salesforce Extensions for Visual Studio Code to be a productive replacement. I would encourage you to try it out, even if you have before. If there is anything you think is lacking, please let us know by opening a feature request on Github. Force.com IDE As a reminder, if you are still using the Force.com IDE, that product will be complete discontinued in about three months on October 12, 2019. We will no longer provide support or any updates after that date. Additionally, the download links and documentation will be taken offline at that time. I highly recommend starting your transition to the Salesforce Extensions to VS Code as soon as possible. You can find a the guide on migrating from the Force.com IDE to VS Code on our docs site. As always, please continue to let us know what we can do to help you be more productive on the Salesforce Platform and thanks for reading!
0 notes