Knowledge Hub

Advice and answers from the Restaurantology Team

Prior to installing Restaurantology’s managed package into your Salesforce production org, it’s important that you spend time on 3 key items:

  1. Preparing your historical data and teams for a data hygiene project
  2. Preparing your instance for a new managed package
  3. Familiarizing yourself with what’s included in the Restaurantology managed package


[01] Preparing your data

Prior to any large-scale data project, it’s always important to think through the impact such an exercise can have on key individuals and teams. Before beginning any work, it’s important to map out primary goals and expectations on how, when, where, and who will be responsible for each step or milestone.

Here’s a list of considerations we recommend you review prior to performing any updates to your existing data:

  1. Set Clear Objectives: Define the goals and objectives of the data hygiene project. Identify the specific data quality issues you want to address, such as duplicate records, incomplete data, outdated information, or data inconsistencies. Clearly articulate what success looks like for the project.

  2. Data Assessment: Conduct a thorough assessment of your existing data. Understand the current state of data quality, identify areas that require improvement, and prioritize the data elements or objects that need cleaning. Determine the scope and depth of the cleaning project based on this assessment.

  3. Data Ownership and Accountability: Assign ownership and accountability for data quality. Identify individuals or teams responsible for overseeing the cleaning process, ensuring adherence to data standards, and resolving data-related issues. Establish clear roles and responsibilities for data management.

  4. Data Governance Policies: Review and refine your data governance policies and procedures. Establish guidelines and standards for data entry, validation rules, naming conventions, and data maintenance. Ensure that these policies are communicated effectively to users and enforced consistently.

  5. Backup and Recovery: Before initiating any large-scale data cleaning, take a comprehensive backup of your Salesforce org. In case of any unforeseen issues or data loss during the cleaning process, having a backup ensures you can restore the data to its previous state.

  6. Data Validation Rules and Workflows: Review and enhance your existing data validation rules and workflows. Implement validation rules to prevent the creation of new data quality issues. Configure workflows or processes to automate data cleanup tasks wherever possible.

  7. Data Deduplication: Duplicate records can be a significant issue in large CRM databases. Implement strategies for deduplicating and merging duplicate records, ensuring that the most accurate and complete information is retained. Consider using tools or apps available on the Salesforce AppExchange for efficient deduplication.

  8. Data Cleansing Tools: Explore and utilize data cleansing tools and applications available in the Salesforce ecosystem. These tools can help automate the data cleaning process, standardize data formats, validate data entries, and identify and correct inconsistencies.

  9. User Training and Communication: Educate your Salesforce users about the importance of data hygiene and their role in maintaining data quality. Provide training on data entry best practices, how to identify and report data issues, and how to use the tools or processes implemented for data cleaning.

  10. Metrics and Monitoring: Establish metrics and key performance indicators (KPIs) to measure the progress and success of the data hygiene project. Continuously monitor data quality metrics to track improvements over time and identify any emerging data quality issues.

  11. Change Management: Implement a change management strategy to ensure smooth adoption of new data hygiene processes and standards. Communicate the purpose, benefits, and expected outcomes of the project to stakeholders and involve them in the decision-making process.

  12. Continuous Data Maintenance: Data hygiene is an ongoing process. Develop a plan for regular data maintenance and periodic reviews to sustain data quality. Assign responsibilities for ongoing monitoring, enforcement of data standards, and addressing data quality issues as they arise.

By considering these points, you can lay a solid foundation for your large-scale data hygiene and cleaning project in Salesforce. It will help ensure that your CRM data is accurate, consistent, and reliable, leading to better decision-making, improved customer experiences, and increased productivity.

[02] Preparing your instance

Prior to install, we recommend admins perform a complete review of any/all existing installed managed packages in Salesforce, with a particular focus on:

  1. Compatibility: Managed packages can introduce custom functionality and features into your Salesforce org. By reviewing these packages, you can ensure they are compatible with your current org setup, including other installed packages, customizations, and configurations. Incompatible packages can cause conflicts, data issues, or even system failures.

  2. Security: Managed packages may have access to sensitive data and perform various operations in your Salesforce org. Regularly reviewing these packages helps you understand their permissions, data access, and potential security risks. You can identify any vulnerabilities or risks associated with the installed packages and take appropriate measures to mitigate them.

  3. Performance: Installed managed packages can impact the overall performance of your Salesforce org. By reviewing these packages, you can analyze their impact on system resources, such as CPU usage, database storage, or API limits. Identifying resource-intensive packages can help optimize performance and prevent performance degradation.

  4. Updates and Enhancements: Managed packages are often updated by their publishers to provide bug fixes, new features, or performance improvements. By reviewing the installed packages, you can stay informed about available updates and enhancements. Keeping the packages up to date ensures that you benefit from the latest improvements and fixes any known issues.

  5. License Management: Managed packages may have licensing restrictions or limitations. Reviewing installed packages helps you track the number of licenses used and understand any licensing agreements or requirements. This information can assist in managing licenses, ensuring compliance, and avoiding any legal or contractual issues.

  6. Dependencies: Managed packages can have dependencies on other packages or customizations in your org. Reviewing the installed packages helps you understand these dependencies and plan any changes or updates accordingly. It allows you to identify potential conflicts or incompatibilities that may arise due to package interdependencies.

Overall, reviewing existing installed managed packages in Salesforce helps ensure the stability, security, performance, and compatibility of your org. It allows you to make informed decisions, mitigate risks, and maximize the value derived from these packages.

[03] Overview of the Restaurantology managed package

The Restaurantology managed package for Salesforce consists of various components that work together to deliver integrated market intelligence for users and admins.

Anyone installing the managed package can expect to find:

  1. Apex Classes: These are server-side controllers written in Apex, Salesforce’s programming language. Apex classes define the business logic and operations performed by the package.

  2. Visualforce Pages: Visualforce is a framework for building custom user interfaces in Salesforce. Visualforce pages included in a managed package define the user interface components and layouts required for the package’s functionality.

  3. Lightning Components: Lightning Components are reusable UI building blocks for creating responsive and dynamic user interfaces in Salesforce Lightning Experience. Managed packages include Lightning components to enhance the user experience.

  4. Custom Objects: Managed packages often introduce new custom objects that store data specific to the package’s functionality. These objects can have their own fields, relationships, and custom behaviors.

  5. Custom Fields: Managed packages may add custom fields to existing Salesforce standard objects or introduce new fields on custom objects. These fields capture additional data required for the package’s functionality.

  6. Triggers: Apex triggers are event handlers that execute custom code before or after specified events occur in Salesforce. Managed packages may include triggers to perform specific actions or automate processes within the package.

  7. Reports and Dashboards: Managed packages can include pre-built reports and dashboards that provide users with predefined analytics and visualizations based on the package’s data.

  8. Custom Metadata Types: Custom metadata types allow developers to create custom settings that can be easily deployed and managed. Managed packages may use custom metadata types to store configurable settings specific to the package’s functionality.

  9. Permission Sets: Permission sets define granular access controls and permissions for users. Managed packages may include permission sets to grant users the necessary permissions to utilize and interact with the package’s features.

  10. Static Resources: Static resources are files, such as images, JavaScript files, or CSS files, that are stored and served from Salesforce. Managed packages may include static resources for custom styling or additional client-side functionality.
  11. Scheduled Jobs: Managed packages may include scheduled jobs, also known as scheduled Apex, to automate certain tasks or processes within the package at specific intervals.

The Restaurantology managed package does not include:

  1. Workflows and Process Builder: Managed packages may utilize Salesforce’s declarative automation tools like workflows and process builder to define and automate business processes. These tools allow for configuring rules and actions without writing code.