Introduction to ScheduleReader™ Video

ScheduleReader - Viewer for XER and XML project schedule files

ScheduleReader™ is a tool that dynamically presents project data from schedule files, which users can easily filter, organize and share with project stakeholders.

How To Video Tutorials

How to view information for Activities in ScheduleReader

Learn how to view information for activities in ScheduleReader™.

How to work with layouts in ScheduleReader

Learn how to work, modify and apply custom layouts to your XER project schedule files.

How to create Custom Layouts in ScheduleReader

Learn how to create and apply custom layouts to your schedule files.

How to format Gantt chart bars and labels in ScheduleReader

Changing the layout of the Gantt Chart bars and labels allows you to have personalized view of the schedules.

How to work with predecessor and successor activities in ScheduleReader

Learn how to easily navigate between successors and predecessors activities in your schedules.

How to customize the project's timescale in ScheduleReader

See how to adjust the timescale view in your schedules to quickly access the information you need.

How to filter your project data in ScheduleReader

Learn how to use the filters and auto filters in ScheduleReader™ to easily access the project data you ne

How to create and modify User-defined Filters in ScheduleReader

By working with filters you can quickly access any information and display the necessary project data in your views.

How to create Groups and Filters in ScheduleReader

Learn how to to create groups and custom filters for your project data in ScheduleReader™.

How to work with columns in ScheduleReader

Learn how to Propose assignment and activity feedback to superiors.

How to add resources and roles in ScheduleReader

Learn how to add resource and roles using the Progress Update feature in ScheduleReaderTM.

How to open XER files with ScheduleReader

ScheduleReaderTM opens XER files in less than 3 seconds, due to the fact that it does not require a database connection.

How to edit an activity with Progress Update in ScheduleReader

Learn how to Propose assignment and activity feedback to superiors.

How to add resources and roles in ScheduleReader

Learn how to add resource and roles using the Progress Update feature in ScheduleReaderTM.

How to open XER files with ScheduleReader

ScheduleReaderTM opens XER files in less than 3 seconds, due to the fact that it does not require a database connection.

How to create DCMA 14 Point Assessment Report in ScheduleReader

Learn how to create a one page graphical DCMA 14 Point Assessment Report in ScheduleReader™.

How to export the DCMA 14 Schedule Assessment Report to Excel

Learn how to transfer the report’s data from ScheduleReader to MS Excel with a simple Copy-Paste action.

How to create and print Stacked Histograms in ScheduleReader

Create Stacked Histograms, to see relative proportion of resource/role allocation and total labor and print them out.

How to work with Activity, WBS and Project Report Categories

Learn how to use the new graphical Activity, WBS and Project reports, implemented in version 7.5 of ScheduleReader™.

How to Filter, Group and Sort Projects in ScheduleReader

Learn how to filter and group data, organize and arrange Projects by project Codes/UDFs or by more than one parameter.

How to Group and Sort WBS in ScheduleReader

Learn how to group, sort, organize and arrange the WBS in the project plan by multiple Activity Codes/UDFs.

How to view and analyze Earned Value data in ScheduleReader

Learn how to perform Earned Value Analysis and view specific schedule and cost parameters related to EV analysis.

Still have questions about ScheduleReader™?

Visit our help article page or contact our dedicated support team and get answers to all of your questions.
async function setCountryName() { var requestOptions = { method: 'GET', Vary: 'Origin', }; await fetch('https://crmreceiver.synami.com/country/api/country/get', requestOptions) .then(response => { var resp = response.json(); return resp; }) .then(data => { console.log("country: " + data.country); document.getElementById("Country").value = data.country || ""; document.getElementById("LEADCF10").value = data.ip || ""; }) .catch(error => { console.log(error); var _country = document.getElementById("Country"); var _ip = document.getElementById("LEADCF10"); if (_country && _ip) { document.getElementById("Country").value = ''; document.getElementById("LEADCF10").value = ''; } }); } function getParameterByName(name) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), results = regex.exec(location.search); return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); } function setCID() { var sessionCID = sessionStorage.getItem("CID"); if (sessionCID == null || sessionCID == 'undefined' || sessionCID == "") { var c = getParameterByName('cid'); var cc = getParameterByName('CID') var cid = c != "" ? c : cc; sessionStorage.setItem("CID", cid); } var sCID = sessionStorage.getItem("CID"); document.getElementById("LEADCF14").value = sCID || sessionCID; } function setLeadSource() { var sourceElement = document.getElementById("Lead_Source"); var ref = document.referrer; console.log("document referrer: " + ref); var isPPC = window.location.href.toLowerCase().indexOf("/lp/") > -1 || window.location.href.toLowerCase().indexOf("cid") > -1; console.log("is ppc: " + isPPC); var leadSource = sourceElement.value; console.log("preselected lead source: " + leadSource); if (ref != "") { var urlReferrer = ref.toLowerCase(); if ((urlReferrer.indexOf("google") > -1 || urlReferrer.indexOf("bing") > -1 || urlReferrer.indexOf("yahoo") > -1 || urlReferrer.indexOf("yandex") > -1 || urlReferrer.indexOf("msn") > -1 || urlReferrer.indexOf("baidu") > -1) && !isPPC) { leadSource = "Organic"; } else if (urlReferrer.indexOf("facebook") > -1 || urlReferrer.indexOf("twitter") > -1 || urlReferrer.indexOf("linkedin") > -1 || urlReferrer.indexOf("youtube") > -1 || urlReferrer.indexOf("reddit") > -1 || urlReferrer.indexOf("quora") > -1) { leadSource = "Social Media"; } else if ((leadSource == "PPC" || isPPC) && leadSource != "Trade Show") { leadSource = "PPC"; } else if (leadSource == "Trade Show") { leadSource = "Trade Show"; } else { leadSource = "Organic" } } else if (isPPC && leadSource != "Trade Show") { leadSource = "PPC"; } else if (leadSource == "Trade Show") { leadSource = "Trade Show"; } else { leadSource = "Organic"; } var opt = ""; console.log("lead source: " + leadSource); sourceElement.innerHTML = opt; } window.onload = async function (e) { await setCountryName(); setCID(); setLeadSource(); }