Questions? Feedback? powered by Olark live chat software

About this Document

This guide covers your setup and understanding of Milestones PM+, both the Free Edition as well as the Premium Edition. In general, the guide is divided into sections for each edition, however in the section for the Free Edition, we will call out our premium/paid product, Milestones PM+ Premium Edition in situations where limitations do apply with the free version. The section for the Premium Edition covers the setup of the Premium Edition features.

If your question or need is not covered in our admin guide, we recommend that you either:

  • Purchase our Upgrade and Support Plan to get assistance with your implementation. This bundled offering includes your activation of Milestones PM+ Premium Edition (paid version) and our fantastic technical support.
  • Visit our Community to create an estimate for your implementation project.

About Milestones PM+

Milestones PM+ is native project management app for Salesforce and is easily customizable by an experienced Salesforce Administrator. You own your project management methodology, so we think you should own your project management solution as well. Our solution can be continuously adapted to meet your project management needs. This is why we offer Milestones PM+ Free Edition. It gives you the chance to experience the solution, map out your project management business process, implement project templates, and get off the ground with a more effective project management solution.

Who is Milestones PM+ Suited For?

Milestones PM+ is ideal for existing customers of Salesforce that are now looking to mature their organization’s usage of Salesforce by implementing a project management solution. Any project management solution consists of a project management methodology, a tool/app, and users who represent project senior leadership, project managers, and project team members.

Milestones PM+ is a flexible platform to meet most project management models and 100% of your project management requirements. Our solution is best for those organizations that view their project management process almost like a manufacturing process with fixed phases. Each phase can have a set of tasks and each phase generally goes in order. Each project may bring with it an additional phase or two or an addition task or two (this is what makes a project unique and difficult), but in the end, baking a cake is baking a cake. With Milestones PM+, you can still have multiple templates for each project type. In general though, your project managers/coordinators are not tasked with reinventing the wheel each time nor are they delivering something truly unique to each customer. They are working off a template or master recipe/outline. In a nutshell, if you can boil down each of your project types to a template currently found in a document, spreadsheet, or MS project plan file, then Milestone PM+ is the correct solution for your organization.

Product Overview Video

Feel free to check out our demo video on youtube.

Milestones PM+ Free Edition Admin Guide

Click on a section below to learn more.

  • Product Installation and Permission Sets

    Milestones PM+ can be installed into a Professional Edition org or higher.*

    Installing Milestones PM+ is easy! Just click the green “Get It Now” button on our AppExchange listing and follow the steps in the wizard. Please note that any Salesforce administrator will have access to Milestones PM+. If there are non-administrator users that you want to grant access to the app, please assign the Milestones PM+ Full Access permission set to the User record. Here is more info on how to permission sets to a User.

    *For Professional Edition Salesforce orgs and lower, some features of the app rely on API and may be limited due to Salesforce restrictions on the type of Org. An example of this is using a trigger for automatic Project creation. We do have workarounds available. Please email support for full information on features/functionality that are affected and what workarounds can be used.

  • Assigning User Licenses
    If you are on the Free Edition, you will need to add the Users that you want to use the app. To do so please refer to the steps outlined by Salesforce found here: Assign User to Installed Package.
  • Upgrading Milestones PM+
    Please read the following upgrade instructions carefully!
    1. If you are upgrading an existing release of Milestones PM+ (namespace = MPM4_BASE), just click the following links to upgrade:
      1. Sandbox: http://pm-test.passagetech.com
      2. Production: http://pm.passagetech.com
    2. If you are upgrading from a version of Milestones PM+ that is older than 7.0, there are prerequisite steps you must take before upgrading in order to avoid installation errors.
      1. Enable Track Activities on Milestone
        1. Setup>Create>Objects>Milestone>Edit>Optional Features>Check Allow Activities
      2. Enable Track Activities on Task
        1. Setup>Create>Objects>Task>Edit>Optional Features>Check Allow Activities
  • Upgrading Milestones PM to Milestones PM+
    If you are upgrading an existing release of Milestones PM (unmanaged), please read on to learn about installing Milestones PM+:
    1. You can install Milestones PM+ alongside Milestones PM as it is separate app. If you need to retain old project data (including custom fields and relationships), we recommend that you visit our Community for a data migration quote unless you are really good with Salesforce data loading (ETL) tools. Most data migrations take no more than 8 hours. If no data retention is necessary, you may uninstall or delete Milestones PM when ready.
    2. Migrating Your Milestones PM Projects - Please follow these substeps:
      1. Please note that this procedure will not export your custom fields, nor does it include any customizations that you have made. Again, if you need assistance with a complete data migration option, or any data migration in Salesforce, please let us know.
      2. MPM+ supports a simple project structure, Milestones and Tasks. Each Milestone may have multiple Tasks. If you are trying to convert existing templates and you have more than the 2 level structure, we recommend collapsing the items into two levels. Tasks being individual items for completion, belonging to a Milestone.In Milestones PM, you can export each relevant project that you wish to be migrated from MPM into an xml file that is compatible with MPM+.
      3. In Milestones PM+, you can then import each exported MPM file to create a project in MPM+.
      4. When you are happy with everything copied over, you may uninstall MPM, which deletes all of your project data.
  • Support
    1. Join the Milestones PM+ Success Community group.
    2. Email support@passagetech.com to log a case.
    3. Please indicate the following details in each request:
      1. Affected user / business unit
      2. Affected record
      3. Expected results
      4. Actual result
      5. Steps to reproduce as appropriate
      6. Confirm remote login access has been granted
    4. To take advantage of our Development Services for implementation, training, or any other needs, please purchase the Milestones PM+ Upgrade and Support Plan or visit our Community to create a project estimate.
  • Custom Settings / Customize Milestones PM+ Behavior
    To customize how Milestones PM+ behaves, you must modify Custom Settings. To find the Custom Settings page, please go to Setup>Develop>Custom Settings and click “Manage” next to Milestone1 Settings. Think we are missing a custom setting? Please request a new feature by emailing us: milestones@passagetech.com
    1. Auto UnFollow A Complete Task - When a Task is marked Complete, automatically unsubscribe the Assigned User from the Chatter Feed for the Task.
    2. Auto Follow A Task - When a Task is Assigned to a User, automatically subscribe the User to follow the Task.
    3. Auto Unfollow Reassignment - Automatically unsubscribe the currently assigned User from the Task when it is reassigned to another User.
    4. Default Milestone Alias - Insert a valid alias Milestone by default to receive the email about Task creation when an alias is not specified in the email's subject. (Premium Edition Only)
    5. Auto Milestone/Task Completion - When enabled:
      1. If a Milestone is complete, all of the Tasks belonging to the Milestone will be marked as complete.
      2. If all of the Tasks belonging to a Milestone are complete the Milestone will be marked complete.
    6. Custom Task Sort Order - When defining the sort order please input a comma separated value list using field API names. You may also define ascending or descending order by including ASC/DESC. For example: Start_Date__c ASC, Due_Date__c ASC, Name ASC
    7. Custom Milestone Sort Order - When defining the sort order please input a comma separated value list using field API names. You may also define ascending or descending order by including ASC/DESC. For example: Kickoff__c ASC, Deadline__c ASC, Name ASC
    8. Active Statuses - Sets the default active statuses on a Project. Each value must be enclosed in single quotes. Additional values must be separated by a comma. If populated, only Projects with statuses equals to one of the values are displayed on the Summary page, otherwise, all Projects appear.
    9. Realtime Project Creation - The Project creation process will happen in real-time with this setting enabled. If this setting is disabled the project creation will happen in the background and may take a few seconds before the Project is created.
    10. Fiscal Year Offset - The month number the fiscal year begins on.
    11. Custom Setting Picklist Filter #1 - Enter a single field's API name on the Project object. This field must be a picklist field.
    12. Keep Project Template Assignments - When this setting is selected, the assignment fields on the Project, Milestone, and Task objects will be exported/imported with the Project templates. (Premium Edition Only)
    13. Custom Milestone Email Field - This is the field on the Milestone object that will be used for the email template notifications. If left blank, the notification email address field will be used. (Premium Edition Only)
    14. Custom Task Email Field - This is the field on the Task object that will be used for the email template notifications. If left blank, the email will be sent to the address in the standard notification email field. (Premium Edition Only)
    15. Default Email Template Folder - Email template used by default (Premium Edition Only)
    16. Disable Resource Assignment Notification - When checked Resources assigned to Tasks will not receive notifications when they have been assigned to a Task (Premium Edition Only)
    17. Disable All Resource Email Notifications - When checked Resources assigned to Tasks will not receive notifications when they have been assigned to a Task, or when a predecessor Task has been completed. (Premium Edition Only)
    18. Email Template Folder Override - Overrides the Default Email Template Folder custom setting by allowing you to enter the field name that will be used to source the ID of the email template folder where you will store your Project email templates. (Premium Edition Only)
    19. Sync Tasks Events When in Project Planning - When unchecked: Projects with a status of “Planning” will not sync Tasks to SFDC Tasks/Events. But when the Project status is changed to “Active” all of the Tasks will then be synced to SFDC Tasks/Events (Premium Edition Only)
    20. Sync on Predecessor Task Completion - When this setting is enabled successor Project Tasks will only be synced to Salesforce Tasks/Events when its predecessor Project Task is marked complete. (Premium Edition Only)
    21. Display Tasks On Program Gantt Chart - When checked, the Program Gantt chart will display Projects, Milestones, and Tasks.
    22. Disable Deletion on Project Plan Page - When disabled the delete column will not be displayed on the manage project plan page. (Premium Edition Only)
    23. Allow View State on Gantt Chart - Allows for keeping track of collapsed settings in the Gantt chart when going to print or refreshing the page.
    24. Show Resource on Gantt Chart - Show the Resource of the Task on the Gantt chart (Premium Edition Only)
    25. Disable Parent/Child Functionality - This setting is used to prevent unnecessary queries from being run when parent/child relationships are not being used.
    26. Usage of Limits - Percentage of usage of limits to use. For example if you set it to 100 it will use up to 100 queries in an execution context because that is 100% of the limit.
    27. Disable Triggers - When this checkbox is checked, Milestones PM+ triggers will not run.
    28. Sync Task With Actual Start Finish Dates - Syncs Start Date and Due Date with the values of Actual Start Date and Actual Finish Date.
    29. Time Entry Max Records Displayed - controls the number of records displayed on the Time Entry page. 500 is the default setting.
  • Add-Ons
    We have a few add-ons that will enhance your Milestones PM+ project management workflow. We’ve included just a few use cases for each of the various add-ons below along with install instructions:
    1. Lookup Helper Add-On
      1. To use Lookup Helper, you must install it first from our Lookup Helper AppExchange listing.
        1. Link Projects Automatically To The Program Object
          1. If you already have a field that describes what you would consider to be a Program on your Project object, you can use that field value in Lookup Helper to automatically set the lookup for the Program and attach it to the Project. This allows for Program-level reporting and roll-ups.
        2. Display Milestones PM+ Project Tasks Under An Account (or any other CRM Object)
          1. Use Lookup Helper to automatically populate the packaged account__c field on the Project Task custom object based upon the Project’s Account value.
        3. Link Projects Underneath Geographic Regions or States
          1. If you report on your Projects by State or Region, you can use Lookup Helper to automatically group all of your Projects under a single Region or State. With this scenario, use the Account’s Billing State to set the Project’s State. You can then roll-up and easily report on Project information by State or Region.
    2. Rollup Helper Add-On:
      1. To use Rollup Helper, you must install it first from our Rollup Helper AppExchange listing.
        1. Use Rollup Helper to customize % complete tracking. For example, with Milestones PM+ out of the box, the percent complete field is based upon the number of Tasks completed / total number of Tasks. If you would like to calculate a percent complete field for Milestones completed, you would need to use Rollup Helper in order to complete the calculation. This is because you will need to be able to count the total number of Milestones under a Project, and count the number of Milestones that are completed.
        2. Use Rollup Helper to implement any custom date rollups. For example, to calculate and show the earliest Project date on a Program as the Program Start Date on the Program page layout use a MIN rollup to the Start Date field.
        3. Use Rollup Helper to help build custom embedded analytic reports on any page in Salesforce to show custom Project Dashboards. For example, use Rollup Helper to create a rollup of the count of Risks and Issues onto the Project and then create a Project-based report that includes these in a Report Chart and embed the Report Chart on the Project page.
    3. Storage Helper Add- On:
      1. To use Storage Helper, you must install it first from our Storage Helper AppExchange listing.
        1. Use Storage Helper to recycle old Projects along with their Milestones and Tasks to free up valuable Salesforce Data Storage. Storage Helper allows you to easily define the criteria for the data that you would like to clean up and then automatically recycles the data for you.
  • Workflow and Security
    1. A Note About Workflow
      1. You will notice at various points in this admin guide that we make reference to Salesforce Workflow which can include Salesforce Process Builder and/or Flow workflow. Passage Technology can easily set up these workflows for you to make a seamless implementation if you purchase our Milestones PM+ Upgrade and Support Plan.
    2. Private Projects
      1. By default, Projects are set in the Organization Wide Default settings(OWD) as Public Read Only. This means that any users with access to the app and at least read access to the Projects tab and read access to the Project object will have access to view all Projects. If there are groups of users or individual users who should see less than all Projects, or you want to limit access to Projects to just those a project manager / user owns, then we would recommend that you change your Organization Wide Default to Private. Then only those Projects or Milestones shared on a read or read/write basis to other users by the Project Manager or via Automated Sharing Rules can be viewed. The way that these sharing rules are created is manually via the Sharing Button or via Sharing Rules.
  • Using Project Templates
    You may create Project templates for each of your Project types out of the box. Please be advised that there are limitations with the Free Edition of Milestones PM+. For example, you cannot export custom fields in your Project templates. In versions older than 7.2, the Assigned To field can not be used in Project templates. In versions 7.2 or later, the Assigned To field has been replaced with the Resource field. To gain these additional features, please upgrade to Milestones PM+ Premium Edition to get the Advanced Project Templates feature.

    A template consists of a Project, their Milestones, and each Milestone's Tasks.

    To create a template, create a Project, add Milestones to the Project, and for each Milestone, add Tasks.

    Pay special attention to predecessor/successor relationships between Milestones and Tasks and adjust all the dates to match your expected /target /average durations. Review this with your team. After this review, click the "Export Template" button. This will create your Project template! After creating a Project template file, use the "Import Template" tab to create a Project from the template file.
  • Automatic Project Creation/Relating to Salesforce Objects
    1. Automatic Project Creation Process
      1. You can also automatically create projects from other objects in Salesforce and set the kickoff date to the import date. See the "Create Projects from an Opportunity / Any Object in Salesforce section for more details on this. Please read our Template Training Guide to learn more about the process of managing templates.
      2. Cloning Limitations
        1. Project and Milestone Clone buttons will not copy predecessor relationships.
        2. We do not recommend using the clone buttons as the clone process will copy bad date data that has been entered by the user. We recommend using templates instead.
    2. Linking to Standard Salesforce Objects (E.G Opportunity, Case)
      1. You can easily link / relate any object in Milestones PM+ to any object in Salesforce. Doing so will allow you to implement new functionality in Salesforce such as:
        1. Displaying Project(s) that have been worked on for a client Opportunity.
        2. Displaying Cases underneath a Project for issues tied to the go-live.
    3. Create Projects from an Opportunity / Any Object in Salesforce (Automatic Project Creation Process)
      1. Automatic project creation process is great way to enforce consistent template utilization within your project management organization and it supports the automatic assignment of a project kickoff date.
      2. There are two options for creating projects automatically:
        1. Create a project from a Button.
          1. This option is easier to implement as it does not require any code or the use of a sandbox.
          2. This is a Milestones PM+ Premium Edition feature.
          3. Please refer to "Create Projects from Any Object in Salesforce" in the Premium Edition section for step by step directions.
        2. Create a project automatically using a trigger on the desired object.
          1. Please follow the steps below for the trigger option or contact sales@passagetech.com for a quote if you would like us to implement this for you.


    In order to setup Project creation automatically from any object in Salesforce, you will need two main variables to be managed by your users or your workflow. One variable will be the template name (example: New Client Onboarding) to use when a Project is to be created from another object and the second variable is the name for your Project (example: Account Name New Client Onboarding). In most implementations, you will have your Users either populate a custom text field or select a picklist field to select a template. If you are going to go down the path of implementing a picklist field, you MUST make sure that you do not default the picklist field to a specific template name value as then the trigger that is deployed behind the scenes will never fire.

    To get started with enabling this process, please follow these steps:
    1. Log into your sandbox.
    2. First create a picklist field in your sandbox on the object where projects will be auto-created from and populate the picklist with options that match the same values as your project template document names / templates names (Example from above: New Client Onboarding would be a picklist value). Jot down the name of the api name for this field (E.g. Project_Type__c)
    3. Click on your name and then select "Developer Console". (Available in Salesforce Enterprise Edition and above unless an API package has been purchased with Professional Edition.)
    4. Go to File>New>Apex Trigger
    5. Enter the trigger name and select the object that you want to create project automatically from. For the trigger name we recommend "MPM4__Opportunity_Project_Creation”.
    6. Copy and paste the template trigger code, and replace variables accordingly. Make sure you have "after insert, after update” in the parenthesis. (See screenshot on main page below.)


    trigger MPM4__Project_Creation on Your_Object_Name__c (after insert, after update) { if(Trigger.isAfter){ Type pcu = System.Type.forName('MPM4_BASE', 'Milestone1_Project_Creation_Utility'); if(pcu != null){ MPM4_BASE.Milestone1_Project_Creation_Utility projCreationUtil = (MPM4_BASE.Milestone1_Project_Creation_Utility) pcu.newInstance(); if(Trigger.isAfter){ projCreationUtil.CreateChildProject(trigger.oldMap, trigger.newMap, new Map{ 'projectCreationField' => 'field_api_name__c', 'projectLookupField1' => 'field_api_name__c', 'projectLookupField2' => 'field_api_name__c', 'secondaryLookup' => 'field_api_name__c', 'projectNamingConventionField' => 'field_api_name__c' }); } } } }

    In the CreateChildProject method, there are multiple parameters.

    The 'projectCreationField' parameter is a MANDATORY text field representing the API name for the field containing the value that represents which project template document to search for. It also is the field that when set triggers project creation. Important: You will want to make sure that when creating project templates that you have your template named (document named) according to the value specified by this field. For example, if the value in the API field name referenced by the projectCreationField parameter is "Standard", you will need to make sure that you have a project template named, "Standard" or containing the word "Standard".

    The 'projectLookupField1' parameter is a MANDATORY text field representing the API name for the primary lookup on the project object that will connect to your newly created object to the parent object on which the project was automatically created. If you want to create a Project from an Opportunity, you would use the field_api_name__c for example: MPM4_BASE__Opportunity__c

    The 'projectLookupField2' parameter is an OPTIONAL text field representing the API name for a second lookup on the project object that will connect to your newly created object to an additional lookup field. If you also wanted to relate the Project to an Account for example: MPM4_BASE__Account__c

    NOTE: If you are using the secondaryLookup parameter to determine the source for the ID field to use for the secondaryLookup, you will need to set this field for where to put this ID field on the Project custom object.

    The 'secondaryLookup' parameter is an OPTIONAL text field representing the API name for an additional lookup field on the parent object on which the project was automatically created. For example, Opportunities have Accounts as their parent (grandparent to the Project) and if you are creating a Project from an Opportunity, you can set the Opportunity.'AccountID' api name / field name value to use in this parameter to relate the Project to both the Opportunity and it's Account.

    The 'Project_Naming_Convention__c' parameter is a MANDATORY text field representing the API name containing the field or formula field that sets the name of your newly created project. If you need assistance in deploying this trigger or changing your setup of how projects are created automatically, please let us know. We presently support creating a child project off any object (e.g. opportunity), but can set this up to run differently based on your requirements (e.g. an opportunities products can be used to select the template, a project can support being tied to multiple child opportunities).

    TIP: You can use Rollup Helper to rollup the product(s) on an opportunity, and then use that roll-up field as part of workflow that triggers project creation.

    TIP: If you have a third (or even more) lookups to set on the project object you can use our other app Lookup Helper to accomplish this with clicks and not code.

    Trigger Test Method

    Once the Trigger has been created you will also need to create a test method for the trigger in order to deploy it into a production environment. Below you will find the code you can use as an example to build your trigger.

    PLEASE NOTE: If you have any extra required fields on Account or Opportunity you will need provide values for those fields in the constructor before inserting the record.

    // All test methods in this class can access all data. @isTest(SeeAllData=true) public class Opportunity_Project_Creation_Test { static testMethod void Opportunity_Project_trigger_Test() { MPM4_BASE__Milestone1_Project__c testProj = new MPM4_BASE__Milestone1_Project__c(name = 'test456'); Account testAcc = new Account( name = 'test321' ); insert testAcc; Opportunity testOpp = new opportunity( name = 'test123', Accountid = testAcc.id, Territory__c = 'Lung - Other', CloseDate = Date.Today(), ForecastCategoryName = 'Closed', stagename = 'Closed Won' ); test.startTest(); insert testOpp; testOpp.Project_Type__c = 'Standard'; update testOpp; test.stopTest(); testProj = [Select MPM4_BASE__Opportunity__c, id from MPM4_BASE__Milestone1_Project__c where MPM4_BASE__Opportunity__c =: testOpp.id]; system.assert(testProj != null, 'Project not created!'); } }
  • What is Each Object/Tab Used For?
    1. Programs Object
      1. Implement Programs to group your Projects together and display on the Program-level Gantt chart. To add your existing Projects to a Program, please make sure you add the Program lookup field to your page layout if not already displayed there and also add all your Programs using the Programs tab. You can also think of a Program as a parent Project.
    2. Project Object
      1. Use Projects to track anything that has a start or a finish date. A Project has multiple Milestones. Projects can even roll up into a Program!
    3. Project Dates
      1. If you shift the Project start and end date the same number of days, this will have the effect of shifting all milestones and tasks in the Project. You can also click the Project Configuration button and a new date (positive / negative value) to bring earlier or delay a Project. If you use the button, it will take a few moments for the Project to reflect the updates and requires a refresh.
    4. Status at a Glance Charts
      1. On the Project page there are some 'Status at a Glance' charts to help you track task status and budget status. If you you think you will need to change those charts or create different Project-level metrics, we recommend that you look into Rollup Helper to calculate any Project metrics / KPIs. If you want to graph any Project metric (as we have done with the sample charts), we recommend using Embedded Analytics as that is a completely native solution and fully supported. You can have a unique Project number for each Project by creating a custom field and using the auto-number custom field type. You can view a list of the custom-field types supported in Milestones PM+ here.
    5. Next Project Top Milestone Name
      1. The Next Project Top Milestone Name will be auto-calculated at the Project level. This field pulls the name of the next incomplete Milestone with a deadline filled out that does not have a parent milestone.
    6. Milestones Object
      1. Use Milestones to track a component of your Project that have a start or a finish date. Milestones can even have multiple Tasks or be related to any object in Salesforce! Milestones can be linked to other Milestones to form dependencies that are displayed on the Gantt Chart.
    7. Milestone Dates
      1. When you extend an end date on a Milestone beyond the end date of the Project, the Project will be extended.
    8. Using Templates for Milestones
      1. You may use the Templates functionality for the entire Project work breakdown structure (Project, Milestones, Tasks) to be copied.
    9. Quick Task Update
      1. The quick task update visualforce page component (Milestone2_Project_Task_RL) can be added to your Milestones detail page to allow multiple Tasks to be marked complete, or for multiple date changes to be updated en masse. You can also use the field set associated to the VF page component to change the fields that appear for the user. When adding the visualforce page component to your Milestones detail page, we recommend setting the parameters as depicted in this image to ensure enough Tasks will display for each Milestone, and if not, to enable showing scrollbars. (See screenshot on the main page below.)
    10. Milestones Validation Rules
      1. Do not disable the 'Milestone Kickoff must not be earlier than its Predecessor's Deadline' validation rule. Disabling the validation rule will allow for potentially bad data to be created in a Project while the User is editing Milestones, or during the automated Project creation processes that we have (auto-project creation processes, import project).
    11. Task Object
      1. Use Tasks to hold individuals accountable for delivering on specific time-sensitive items. Milestones can even have multiple Tasks or be related to any object in Salesforce!
    12. Task Dates
      1. When you extend an end date on a Task beyond the end date of the Milestone, the Milestone will be extended. Successor Tasks will also be shifted over as well.
    13. Actual Start and Actual Finish Dates
      1. It is important to note that when you save a Task as complete, the default behavior is for your start date to be used as the actual start date (if one is not provided) and that the actual finish date will be set to today (if one is not provided). Changing the start and finish dates whilst marking a Task complete, may not apply the correct dates to your plan. If you want to mark a Task complete, first make sure that the dates are correct for start and due date first before marking the Task complete. Alternatively, you may want to add the actual start and finish dates to your Task layouts and Quick Task Update visualforce page component (on the Milestone page) to ensure the correct actual start and finish dates are applied to your plan.
    14. Time Object
      1. You can put time records on each Project Task using the “New Time” button on the “Times” Related List of your Tasks Detail Page. In Milestones PM+ Free Edition, this is a bit tedious, so if you are looking for an easy to use time tracker for inputting time on multiple Tasks at once in a grid-like format, please upgrade to Milestones PM+ Premium Edition.
    15. Risks
      1. Use Risks to document any potential issues that may occur during a Project and any contingency plans that are in place.
    16. Issues
      1. Use Issues to document any problems that arise during a project.
    17. Calendar Tab
      1. Use the calendar to view deadlines in a calendar format.
    18. Gantt Chart & Sorting
      1. You can display a Gantt of child Projects under a Program, a Project's Milestones, or even a Milestone's Tasks.
      2. The sorting logic on the Gantt chart by default is to order in an ascending fashion, first on the start date, then the end date, and then finally on the name of the item.
      3. The sort order of the Gantt chart Tasks can be configured by an admin using the 'Custom Task Sort Order' custom setting (Develop>Custom Settings, etc).
      4. Some customers who make extensive use of predecessor relationships between Tasks may want to modify this custom setting as follows:
        1. Predecessor_Task__r.Predecessor_Task__r.Due_Date__c asc, Predecessor_Task__r.Due_Date__c asc, Predecessor_Task__r.name desc, Start_Date__c asc, Due_Date__c asc, Name asc
    19. Gantt Chart for Communities
      1. The Milestones PM+ Gantt Chart component is now Salesforce Community Cloud Ready! Contact Passage Technology to learn more about enablement.
    20. Summary Tab
      1. Shows a Milestone-level Gantt chart of each Project with option to search for a Project. You can drill down into each Project. The layout on the Summary tab is presently fixed, but we hope to improve the configurability of this page in the near future.
      2. Known Issue: You may find that when clicking on the Summary tab you get the following error, “Attempt to de-reference a null object An unexpected error has occurred. Your solution provider has been notified. (MPM4_BASE)”
        1. If you get this error, please perform the following steps:
          1. Go to Setup>Develop>Custom Settings
          2. Click ‘Manage’ next to Milestone1_Settings
          3. Click the FIRST ‘New’ button at the top of the page to create a new default organization wide custom setting for Milestones PM+.
  • Predecessor/Successor Dependencies
    How do the Predecessor/Successor Dependencies Work?
    1. Predecessor/successor dependencies are used to depict that one item relies on the completion of another item in order to continue work. If a predecessor Milestone or Task is shifted (a "Date Shift"), the successor Milestone or Task will be shifted over the same number of days. What we mean by a "Date Shift" is that both the start and end dates are shifted by the same number of days.
    2. In order to enact a "Date Shift" at the Milestone level that cascades down to its Tasks, both the start date AND end date have to shift by the same number of days. If just the start date is shifted, this will not influence the Task dates on the updated Milestone. Please note that when the end date on the Milestone is shifted, then the successor Milestones will also have their dates changed and their Tasks' dates will also change.
    3. Date Shift Limitations
      1. Please note that when changing the start date or due date on a predecessor Task in the mass task update grid, the successor Task's dates will not be shifted using the same logic as documented above.
    4. Predecessor Limitations
      1. A Project Task can only have one Task predecessor. If you wish to have a Task linked to multiple Task predecessors, we recommend that you group the Tasks that are the predecessors into one Milestone and make that Milestone a predecessor Milestone to a Milestone that contains the downstream Task in question. If you still require further customization of this default behavior, please contact us to see about getting this new feature implemented into our product.
      2. A Project Milestone can only have one predecessor Project Milestone. If you still require further customization of this default behavior, please contact us to see about getting this new feature implemented into our product.
      3. A Project Task can only become a predecessor Project Task if it is on the same Milestone as the successor Project Task. If you still require further customization of this default behavior, please contact us to see about getting this new feature implemented into our product.
  • Importing Data/Files from another App(E.G Milestones PM, MS Project, Primavera)
    1. Can I Import Data into Milestones PM+ from Another App(E.G Milestones PM, MS Project, Primavera)?
      1. Yes, we recommend using either the Salesforce dataloader.io or Salesforce Data Loader app (desktop/client app) for this. We recommend these solutions just for one-time data migration. If you need assistance with a data migration, please visit our Community to create a Project estimate.
    2. Can I Import MS Project Files?
      1. This functionality is not currently available, however, if you need to get a third party app's project plan migrated into Milestones PM+ to use as a template for future usage, the current method is to create it as a Project and copy and paste everything in. It should take about 30 minutes to 1 hour to do this and it should be a one-time process done by an admin if possible as this is a bit tricky with all the dependencies that have to be managed. Once your project is setup, just click the 'export template' button to turn the project into a Project template.
  • Changing Tabs/Labels and Performing Translations
    1. To change labels for a custom Tab:
      1. Navigate to [Your Name]>Setup.
      2. Under App Setup expand Customize.
      3. Expand Tab Names and Labels.
      4. Click Rename Tabs and Labels.
      5. Scroll down to Custom Tabs.
      6. Click Edit next to the custom tab you want to rename.
      7. Change the values in the Record Name, Singular, or Plural fields to ones that make sense for your organization.
      8. Click Save.
      9. Repeat steps 6-8 for each tab you want to rename.
    2. To change labels for a Custom Field:
      1. Navigate to [Your Name]>Setup.
      2. Under Administration Setup expand Translation Workbench.
      3. Click Override.
      4. Change Package to Milestones PM+.
      5. Change language to appropriate language (e.g. English).
      6. Change Setup Component to Custom Field.
      7. Pick the Object that contains your Custom Field.
      8. Make sure Aspect is set to Field Label.
      9. Double click in the Field Label Override cell for the label you want to change. Input your new label value.
      10. Click Save.
    3. To change labels for a custom Related List:
      1. Navigate to [Your Name]>Setup.
      2. Under Administration Setup expand Translation Workbench.
      3. Click Override.
      4. Change Package to Milestones PM+.
      5. Change language to appropriate language (e.g. English).
      6. Change Setup Component to Custom Field.
      7. Pick the Object that contains your Custom Related List.
      8. Make sure Aspect is set to Related List Label.
      9. Double click in the Related List Label Override cell for the label you want to change. Input your new label value.
      10. Click Save.
  • Resources, Task Assignment and Task Reminders
    Resource Assignment
    1. Assigning Tasks To Salesforce Users
      1. In the free version of Milestones PM+, each Task must be assigned to a single Task owner and that Task owner must be a Salesforce User.
      2. You can assign a Task to a User manually or automatically. Milestones PM+ assigns owners to Projects, Milestones, and Tasks automatically based on the User performing or triggering the Project import from a template file. Milestones PM+ also changes owners automatically on Milestones and Tasks when the higher level object’s (parent object’s) owner changes and the old owner matches. You can automate other owner changes using workflow field updates.
      3. Please read on to review our additional Resource assignment capabilities.
    2. Assigning Tasks To Non-Salesforce Users That Don’t Require In App View/Update Access
      1. If you are interested in assigning Tasks to non-Salesforce Users and they don’t require in app view/update access or need to assign a Task to a group of Users, please upgrade to the Milestones PM+ Premium Edition. This package has our ‘Resource Assignment’ feature. The Resource Assignment feature includes access to Resource object and allows for a seamless process of linking a Task to a Resource (who is a Contact in your database). For a group of Users, a Contact record can be created for the group using the group email address. With the Premium Edition, you will be able to create workflow to drive your business process further with this Resource object for various notification email alerts. Please note that workflows are only available with Salesforce Enterprise Edition orgs or higher (or orgs having the API & workflow add-on purchased from Salesforce).
    3. Assigning Tasks To Non-Salesforce Users That Require In App View/Update Access
      1. If you are interested in assigning tasks to non-Salesforce users and having them view or update data directly, please read the next section.
        1. Does your app provide external user access?
          1. Yes, this is possible with some advanced configuration and may require additional Salesforce licenses to be purchased from Passage Technology or Salesforce. If you are not comfortable with advanced configuration or not sure which licenses are best for you to purchase, please subscribe to our Upgrade and Support plan for implementation assistance. Please read on to learn about the various license options available.
        2. Direct Access Via a Portal / Community License - Option 1
          1. This option provides the best blend of functionality and security. This option requires setting up direct access to the system via a Salesforce community portal. In this case, we will setup a community for you to have all your external / non-Salesforce team members access the application securely regardless of having a Salesforce user login today. In this scenario, portal licenses / community licenses are required for users to access the portal. Please contact us for assistance in procuring these licenses through Salesforce.
        3. Direct Access Via Salesforce License - Option 2
          1. This alternative allows you to give your external / non-Salesforce team members a similar user experience as your internal users. This option requires purchasing a license either from Passage Technology (single app license) or from Salesforce (chatter plus, force.com one app, or force.com EE licenses - warning: license names change all the time with Salesforce, please contact us if you are confused by these options). This option doesn't require a portal to be setup, but may still require security configuration and still requires additional licenses for your customers and partners and other external team members. In this scenario, you will setup a restricted user profile for your external customers or partners to access Salesforce securely.
      2. For assistance with implementing any of these options or related workflow, please subscribe to the Upgrade and Support plan.
    4. Assigning Tasks To Multiple Owners
      1. If you are interested in assigning Tasks to multiple Resources, a Queue can be used. If this does not meet your requirements, please consider upgrading to Milestones PM+ Premium Edition for Resource Assignment functionality (a Contact record for the group can be used for Task assignment) or email sales@passagetech.com for a quote on delivering this functionality / customization per your needs.


    How do I Set Up Task Reminders?
    1. If you are looking for a more standardized way of reminding your Users about Tasks just like Salesforce does with Tasks on the Homepage and those pop-up reminders that you get on login, we have this functionality in our Premium Edition. With the Premium Edition, we integrate Salesforce Tasks/Events with Milestones PM+ Tasks. The Premium Edition has notification features such as the ability to use native Task reminders for Tasks due or can even notify downstream Task owners when a predecessor Task gets completed.


    Updating Resources
    1. If you are upgrading from a version lower than 7.24 to a version equal to or greater than 7.24, you may need to update your Resource fields. Version 7.24 has deprecated the Assign To field on Tasks in favor of a more dynamic field called Resource. The Resource field can be a Contact or a User (Contact is only available in Premium Edition). To accommodate for this we needed a new object called Resource that can hold either a User or a Contact as the Resource. In order to transfer your existing Assign To data to the Resource field we will need to first create a Resource for each User that doesn't already have a Resource aligned with the User and also update all of the Resource fields that are currently blank with the value in the Assign To field. To do this just go to the Getting Started page and press execute on the button in the Update Resource section. Note: you can disable Resource Task assignments before running the process to ensure that Users do not get flooded with Resource Assignment emails.
  • Additional Information
    1. What about document management?
      1. Document management is not really a feature built into Milestone PM+, but you can use Salesforce document management features (Salesforce Content, Chatter files, Notes and Attachments, etc) to get more functionality in this space.
    2. What Is Your Release Process? Where do you Keep Release Notes?
      1. Our release process is documented via email. Keep up to date with the latest features by viewing the Milestones PM+ Release Notes.
    3. Will Milestones PM+ Interfere with my Other Applications or Deployments?
      1. No, in general Milestones PM+ runs in its own “namespaced” managed package.
        1. Managed package code is not included in the required code coverage calculation for deployment. The 75% requirement is on all Apex code in your org's namespace. Managed code has its own namespace, so it is not included.
        2. When deploying to production, all tests in your org's namespace will be run. Managed tests will not be run by default.
        3. If the deployment package explicitly marks runAllTests to true, managed tests will also run. These will need to execute without any failures should the flag be set. Despite this, the 75% requirement for code coverage is still only on unmanaged code.
    4. Clone any Field Using the Field Set
      1. With Milestones PM+ on the Project, Milestone & Task level, you are given the ability to add fields to the field set, so that they can be cloned. Please see the screenshots on the main page below.
    5. Project Buttons (Export Template, Project Configuration, and Project Report)
      1. The Project object has some pre-built custom buttons that can be added/removed to the page layout on the Project layout:
        1. Export Template - use this the export a template based off of the current Project. Make sure you have the Project defined exactly how you want it before exporting because changes to the Project after exporting it will not update the exported file. You would need to export the template once again.
        2. Project Configuration - this button allows you to shift the Project by a certain number of days. You could also check an option to exclude weekend work. This will adjust the Project to account for no weekend work and your Tasks/Milestones will not land on the weekend.
        3. Project Report - this will open up a report on the current Project so you can have an overview on the health of the Project.
    6. Create Multiple Projects Simultaneously
      1. You can now create an automatic project creation trigger and then go to the list view of the object and edit multiple instances of that object and save them at once. It will then create Projects for all the records that meet the criteria defined in the automatic project creation trigger.
    7. Custom Gantt Colors
      1. You can change the color of the bar on the gantt chart for each record. To do so edit the field called Gantt Color on the Task/Milestone object and put the html color code in the field. For example putting a value of 0000FF in the field would make the bar blue.
    8. Internal/External Tasks and Milestones
      1. Check/uncheck the internal checkbox field to define a Task/Milestone/Project as internal only. If it is internal you can filter it out when viewing the Gantt Chart in the print gantt chart view. This allows you to print a version that hides internal Tasks from your clients (Printable Gantt is only available in Premium Edition).
    9. Reporting
      1. Because Milestones PM+ is native to Salesforce, full reporting and dashboard functionality can be used. Additionally, embedded analytics can be implemented to display charts on any of the objects.
      2. If you need assistance with creating custom reports, consider the following resources or contact sales@passagetech.com for a Development Services quote.
        1. Salesforce Help
        2. Dreamforce Video: Reports and Dashboards for Dummies
        3. Trailhead Reports & Dashboards

Milestones PM+ Premium Edition Admin Guide

Click on a section below to learn more.

  • Installation Prerequisites
    IMPORTANT: In order to avoid install or operational errors with this package if you are upgrading from a version of Milestones PM+ that is older than 7.0, you must enable the “Allow Activities” object setting from both the Milestone and Task object configuration screen.
    1. Enable Track Activities on Milestone
      1. Setup>Create>Objects>Milestone>Edit>Optional Features>Check Allow Activities
    2. Enable Track Activities on Task
      1. Setup>Create>Objects>Task>Edit>Optional Features>Check Allow Activities
    3. To get help installing the app, please email: support@passagetech.com

  • Steps Required to Enable Features
    Install the latest version of Milestones PM+
    1. Sandbox: http://pm-test.passagetech.com
    2. Production: http://pm.passagetech.com
    3. If you have purchased Milestones PM+ Premium Edition, these features will automatically be available to you. If you would like to begin a trial, please email sales@passagetech.com to have your license activated.
    Security
    1. After installing, please verify that all your user profiles (or permission sets) can see the fields on the Milestones PM+ objects that are added through the Enterprise Edition. Fields included that needs to be visible and editable/readable include:
      1. Milestone Object
        1. MPM4_BASE__Additional_Information__c
        2. MPM4_BASE__Email_Template__c
        3. MPM4_BASE__Notification_Email_Address__c
        4. MPM4_BASE__Task_Sync_ID__c
      2. Project Task
        1. MPM4_BASE__Additional_Information__c
        2. MPM4_BASE__CreatedByTask__c
        3. MPM4_BASE__Duration_In_Minutes__c
        4. MPM4_BASE__Email_Template_ID__c
        5. MPM4_BASE__End_Date_Time__c
        6. MPM4_BASE__My_Task__c
        7. MPM4_BASE__Notification_Email_Address__c
        8. MPM4_BASE__Reminder__c
        9. MPM4_BASE__Reminder_Time__c
        10. MPM4_BASE__Resource__c
        11. MPM4_BASE__Start_Date_Time__c
        12. MPM4_BASE__Sync_To__c
  • Project Task & Salesforce Task/Event Sync (Premium Edition Feature)
    1. Project Task & Salesforce Task Sync (Premium Edition Feature)
      1. Currently there are no steps required to set up this feature. The package will come with this feature enabled by default. Please note that only new Project Tasks created or updated will be synchronized to Salesforce Tasks. In order to sync a Project Task to a Salesforce Task, you need to add the “Sync To” field to your page layout, and select “Salesforce Task” in this field or leave it blank. Please remember to add the “Sync To”, “Reminder”, “Reminder Time” fields to your page layout.
    2. Setting Reminders on Open Tasks
      1. To select a reminder option on an open Task, select the checkbox, date and time.
    3. Custom Setting: Sync Tasks Events When in Proj Planning
      1. If you do not want tasks to sync when the project is in the Planning stage then just uncheck the custom setting called: Sync Tasks Events When in Proj Planning. This will prevent task sync from the project but once the project switches to another status it will sync the tasks.
    4. Project Task & Salesforce Event Sync (Premium Edition Feature)
      1. Currently there are no steps required to set up this feature. The package will come with this feature enabled by default. Please note that only new Project Tasks created or updated will be synchronized to Salesforce events AND this will only happen if you have selected ‘Salesforce Event” in the “Sync To” field AND have inputted the “Start Time” for the event on your Project Task. Please remember to add the “Sync To”, Start Time, End Time, and Duration fields to your Project Task page layout and keep in mind that only the “Sync To” field and “Start Time” fields are required to be populated in order to create a “Salesforce Event” in this field. Note: We do not currently support multi-day events. Please contact us at milestones@passagetech.com to request this feature to be enabled.
    5. Known Issues With Task/Event Sync
      1. Syncing of a Project Task to either a Salesforce Task or Salesforce Event will only occur automatically for new Tasks created on new Milestones. By adding the sync fields to the page layout, selecting either Task or Event sync and saving the record will cause a manual sync for that record.
  • Resource Assignment (Premium Edition Feature)
    With Milestones PM+ Premium Edition, a Resource record will need to be created from either selecting a Contact or User in the CRM as a Resource. Once this is completed, the Resource is available in the Resource lookup on the Task record. If multiple Resources are needed for the Task, a Contact record for the group can be created and assigned.
  • Milestone and Task Communication Templates (Premium Edition Feature)
    1. To enable the the Milestone and Task communication templates the following steps are required:
      1. First obtain the ID or the email template folder containing the email templates that will be used. To obtain the ID of the email template folder, navigate to the setup menu, click the Email Templates link under the Communication Templates section, then select the correct email template folder. Once the correct email template folder has been selected your URL will look something like this: salesforce.com/00X?setupid=CommunicationTemplatesEmail&fcf=

        00lj00000010v7a

        . The ID of the folder is contained after the ‘fcf=’ portion of the URL (displayed with the red text).
      2. Once the ID is obtained navigate back to the setup menu for the second part of this configuration. Once back at the setup menu view your custom settings (accessible under the develop section), and click manage next to Milestone1 Settings. Click the edit button and update the ‘Default Email Template Folder’ field with the ID obtained in the first step, and click save. Once the custom setting has been saved you are ready for step three.
      3. This step entails updating the page layouts of the Milestone and Project Task objects to display the visualforce page components that will be used to send off the email templates. To update your page layouts, follow these steps:
        1. For the Milestone Page Layout:
          1. Go To Setup>Create>Objects
          2. Click on Milestone
          3. Scroll down to Page Layouts and click Edit link next to your page layout.
          4. From the Page Layout Editor, scroll down the list of components and select “VisualForce Pages”. Note: See highlighted option in image on main page below.
          5. Click and drag the MPM4_Milestone_Email visualforce page onto the layout.
          6. Click the wrench icon and change the height of the component to 100 pixels.
          7. Click Save.
        2. For the Task Page Layout:
          1. Repeat the steps from the prior step except you’ll be adding the MPM4_Task_Email visualforce page onto the Task layout.
          2. Once the page layouts have been updated you should be able to send off created email templates from the Milestone, and Task page by selecting the correct template, and clicking the send button.
        3. Known Milestone and Task Communication Templates Issues:
          1. When creating email templates that are of type CUSTOM, you cannot edit the email content from the template before sending. If you want to be able edit the email content from the template before sending, you must use HTML type email templates. This will require you to create a letterhead.
          2. Another important item to note about email templates is if you want to include Milestone fields in an email template intended to be sent from the Task page, you will need to create a formula field on the Task object that references the Milestone field's value. Then, within your Task email communication template, select that formula field on the Task object to bring in the Milestone field value.
  • Alerts & Notifications (Premium Edition Feature)
    To enable Alerts and Notifications no additional steps are required. However if you would like to disable this functionality you may do so by selecting the ‘Disable All Resource Email Notifications’ checkbox in the Milestone PM+ custom setting. When the Alerts and Notification feature enabled, email notifications will be sent to a successor Task owner/Resource when the predecessor Task is complete, and when a Resource is assigned to a Task. If you would like for only the successor Task notifications when a predecessor Task is complete you may check the ‘Disable Resource Assignment Notification’ custom setting.
  • Complete Milestone/Task Functionality
    Please add the Complete Milestone and Complete Task buttons to your Milestone and Task page layouts respectively.
  • Create Projects from Any Object in Salesforce Button (Premium Edition Feature)
    With the Milestones PM+ Enterprise Edition, you now have the ability to create Projects from any object within Salesforce at the click of a button. Use the following steps to create the Project Creation Button. This feature is available with at least version 6.0 of Milestones PM+ base package.
    1. Navigate to the setup menu.
    2. For any objects that you would like to create a project from, you must first create a lookup relationship on Project to the parent object where the button will reside. If for example you want to create new projects from Cases, you would first create a lookup field on Project to Case.
    3. Return to Setup and select the object you would like to create the project from.
    4. Click the New button or Link button.
    5. Populate the label, name, description, then select how you would like the project creation to be trigger from:
      1. Detail Page Button (recommended)
      2. Detail Page Link
    6. Select how you would like the new page being forwarded to display.
      1. We recommend to use the behavior of “Display in existing window without sidebar or header”.
    7. Leave the Content Source as URL.
    8. Paste the following text into the large box:
      1. /apex/MPM4_BASE__Milestone1_Import_Project?&Id={!Object.Id}
        1. Change the ‘Object' to the api name of the object you would like to create the project from.
    9. Save the new button or link.
    10. Add the button or link to your page layout.
  • Time Entry (Premium Edition Feature)
    To get started with Time Entry, please watch the Getting Started Video. New to time entry: there is now a Time Entry tab which allows you to enter time on any object for multiple days.
  • Printable Gantt (Premium Edition Feature)
    1. When printing, be sure to select Background graphics in your Printer Options to see the full Gantt chart.
    2. Internal/External Records
      1. Set the internal checkbox field on a Project/Milestone/Task to true to hide it from the Gantt chart. When printing the Gantt chart and selecting external only from the drop down list, this allows you to show a client facing version of the Gantt chart and hide internal Projects/Milestones/Tasks.
  • Displaty Resource and Duration on Gantt (Premium Edition Feature)
    To see a Resource column or a Duration column on the Gantt chart, go to Custom Settings and Manage Milestones1 Settings and Edit. Select the desired checkbox for display Resource or display Duration.

Milestones PM+ Screen Shots

Create a Project Automatically from Any Object in Salesforce.

Create a Project Automatically from Any Object in Salesforce.

The quick task update visualforce page component (Milestone2_Project_Task_RL) can be added to your Milestones detail page to allow multiple Tasks to be marked complete, or for multiple date changes to be updated en masse. 

The quick task update visualforce page component (Milestone2_Project_Task_RL) can be added to your Milestones detail page to allow multiple Tasks to be marked complete, or for multiple date changes to be updated en masse. 

With Milestones PM+ on the Project, Milestone & Task level, you are given the ability to add fields to the field set, so that they can be cloned.

With Milestones PM+ on the Project, Milestone & Task level, you are given the ability to add fields to the field set, so that they can be cloned.

Update the page layouts of the Milestone and Project Task objects to display the visualforce page components that will be used to send off the email templates.

Update the page layouts of the Milestone and Project Task objects to display the visualforce page components that will be used to send off the email templates.