SlideShare a Scribd company logo
Maximizer API Pt.2
Murylo Batista
Targets Pt. 1
Capabilities
Address book, opportunities, sections etc.
Following Window
Folders and files, system structure, tokens, Abinfo
Enterprise
- Direct Database Connections.
- Dedicated Server.
- Work Through Web Services (Optional).
CRM Live
- No Database Direct Connection
- Web Services Required.
Capabilities
Address book
- Add new AB entry
- Retrieve AB entry info
- Change AB entry info
- Retrieve current AB entry UDF value
- Add as many following windows as you wanted
- Custom database tables connection (grids, inserts and etc.)
Capabilities
Sections
- Get current user
- Custom database tables connection (grids, inserts etc.)
- Generate tokens
- Embed external or internal websites.
Capabilities
ERP Integration
Sales Integration
Process Integration
Recruitment Process
Capabilities
• Address Book (for-ab)
• Opportunities (for-opp)
• Campaigns (for-campaign)
• Hotlist (for-task)
• Customer Service (for-cs)
Following Window
Folders and Files
Following Window
Folders and Files
• Configuration File
- Enable new FollowingWindow
- Set the FollowingWindow Tab Name
• Location : “C:Program Files (x86)MaximizerPortalsEmployeeConfigfollowingWindowSets.xml”
- But it can be different between custom setups.
• Bin folder
- Place where you put your DLL’s for your new followingWindow
• Location : “C:Program Files (x86)MaximizerPortalsEmployeebin”
Tip: changing the default DLLs for newer versions e.g. telerik, will make maximizer stop
working, if you need to work with any DLL which Maximizer uses, deploy your project with the
same version.
Following Window
Folders and Files
• FollowingWindows folder
- Place where you put your web project files (.aspx, .html, .php and etc.)
• Location: “C:Program Files (x86)MaximizerPortalsEmployeeContentFollowingWindows”
Following Window
Folders and Files
Following Window
Folders and Files
• Web.config File
- Where you add configuration, such as connection strings, default AB, Declare
assembly's and etc.
• Location: “C:Program Files (x86)MaximizerPortalsEmployeeweb.conf”
Following Window
Folders and Files
• MaximizerWebData, web.config File
- Enable MaximizerWebData, to be able to generate tokens and access web hooks
• Location: “C:Program Files (x86)MaximizerPortalsMaximizerWebDataweb.conf”
Following Window
Folders and Files
• ClientScript folder
- Where you should put your JS files (JavaScript)
• Location: “C:Program Files (x86)MaximizerPortalsEmployeeClientScript”
System Structure
Following Window
Tokens
• Tokens are used for authorize any action through API, such as, requesting, changing and
deleting information.
• They are generated in the API and stored into the WebAPIToken table.
Following Window
Retrieving Token and Editing A.B Entry
• Needed Skills : JS, ASP.NET, JSON
• Needed Software : Visual Studio
• JS libraries: Maximizer.Events.js, Maximizer.FollowingTabManager.js, jquery,js
• Suggested Software’s : Notepad++, http://jsbeautifier.org/.
Following Window
Retrieving Token and Editing A.B Entry
1st Create ASPX project
Following Window
Retrieving Token and Editing A.B Entry
Following Window
Retrieving Token and Editing A.B Entry
Following Window
Retrieving Token and Editing A.B Entry
2nd Create an HTML and ASPX file.
Following Window
Retrieving Token and Editing A.B Entry
Following Window
Retrieving Token and Editing A.B Entry
• 3rd - In the HTML file create an iframe and put the ASPX
linked to it.
HTML COMPOSITION
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
</head>
<body>
<iframe id="centerFrame" src=“index.aspx" style="resize:both;
width:100%; "> > </iframe>
</body>
</html>
Following Window
Retrieving Token and Editing A.B Entry
//Create an javascript inside the UpperIndex.html file
<script type="text/javascript">
var TrainingTab = new maximizer.FollowingTab();
$("#centerFrame").load(function () {
TrainingTab.on("ParentRecordChange", function (event) {
localStorage['SelectedKey'] = event.data.key;
//taking the index.aspx instance to pass the key information to him
var frame = document.getElementById("centerFrame");
var frameDoc = frame.contentWindow.document;
var Panel1 = frameDoc.getElementById("Panel1");
frameDoc.getElementById("btnReload").click();
});
TrainingTab.start();
});
</script>
Following Window
Retrieving Token and Editing A.B Entry
• 4th - Create an JavaScript File, there we will create the Maximizer
methods
Following Window
Retrieving Token and Editing A.B Entry
• 5th - Create an JavaScript File, there we will create the Maximizer methods
//Javascript token.js
//1st take the localaddress for the maximizerwebdata
urlMaximizerWebDataAPI =
"http://"+window.location.host+"/maximizerwebdata/Data.svc/json/";
//That will be used in the future
Following Window
Retrieving Token and Editing A.B Entry
//2nd Create a method to get substring passed from API to the front end method
function getURLParameter(parameterName)
{
var queryString = parent.window.location.search.substring(1);
var urlParameters = queryString.split('&');
for(var i=0 ; i< urlParameters.length;i++){
var param = urlParameters[i].split('=');
if(param[0] == parameterName){
return decodeURIComponent(param[1]);
}
}
}
Following Window
Retrieving Token and Editing A.B Entry
//method to call Maximizer API PG. 412
function callMaximizerApi(baseUrl, methodName, parameters) {
//creating the return variable
var returnValue = '';
//creating the type of the request
var httpRequest = new XMLHttpRequest();
try {
//Openning the request using the provided variables
httpRequest.open('POST', urlMaximizerWebDataAPI + methodName,
false);
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState == 4 && httpRequest.status == 200) {
//if is everything OK with the server's answer then set the result value returnValue
returnValue = JSON.parse(httpRequest.responseText);
}
};
httpRequest.setRequestHeader('Content-Type', 'text/plain');
httpRequest.send(JSON.stringify(parameters));
return returnValue;
} catch (err) {
alert(err);
}
}
Following Window
Retrieving Token and Editing A.B Entry
Create textbox
Create button
Generate token
Declare js files
Following Window
Retrieving Token and Editing A.B Entry
Following Window
Retrieving Token and Editing A.B Entry
//create the textbox and 2 buttons value in the index.aspx file
<asp:Panel ID="Panel1" runat="server">
Contact Name..:
<asp:TextBox ID="txtAbEntryInfo" runat="server"></asp:TextBox>
<asp:Button ID="btnOK" runat="server" Text="Change" OnClientClick="RequestChange()" />
<asp:Button ID="btnReload" runat="server" Text="Reload" />
</asp:Panel>
Following Window
Retrieving Token and Editing A.B Entry
//declare the js files in index.aspx
<script type="text/javascript" src="../../ClientScript/Token.js"></script>
<script type="text/javascript" src="../../ClientScript/jquery/jquery.js"></script>
Following Window
Retrieving Token and Editing A.B Entry
//Create an javascript inside the index.aspx file
<script type="text/javascript">
function RequestChange() {
//first, generate the token
var maxWebDataURL = getURLParameter("WebAPIURL");
var getTokenURL = getURLParameter("GetTokenURL");
var identityToken = getURLParameter("IdentityToken");
//asking the token based on the identityToken
$.ajax({
url: getTokenURL,
type: 'POST',
dataType: 'json',
contentType: 'application/json;charset=utf-8',
cache: false,
async: true,
data: JSON.stringify({ 'IdentityToken': identityToken }),
success: function (resultJSON) {
localStorage['CurrentUserKey'] = resultJSON.d;
},
error: function (resultJson) {
}
});
//now lets build the request to change the Selected AB entry Name
var currentUserToken = localStorage['CurrentUserKey'];
var nameChangeRequest = {
"Token": currentUserToken,
"AbEntry": {
"Data": {
"Key": localStorage['SelectedKey'],
"CompanyName": document.getElementById("txtAbEntryInfo").value
}
}
};
callMaximizerApi(urlMaximizerWebDataAPI, "AbEntryUpdate", nameChangeRequest);
}
</script>
Following Window
Retrieving Token and Editing A.B Entry
Compile
Place the files in the folders setup
Test it on your server
Following Window
Retrieving Token and Editing A.B Entry
Questions?

More Related Content

What's hot

Understanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIUnderstanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST API
Chris Beckett
 
SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development Overview
Rob Windsor
 
Customizing the Document Library
Customizing the Document LibraryCustomizing the Document Library
Customizing the Document Library
Alfresco Software
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
Raed Aldahdooh
 
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
Sencha
 
Creating Single Page Applications with Oracle Apex
Creating Single Page Applications with Oracle ApexCreating Single Page Applications with Oracle Apex
Creating Single Page Applications with Oracle Apex
Dick Dral
 
Controls in asp.net
Controls in asp.netControls in asp.net
RichControl in Asp.net
RichControl in Asp.netRichControl in Asp.net
RichControl in Asp.net
Bhumivaghasiya
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
John Calvert
 
Plugins unplugged
Plugins unpluggedPlugins unplugged
Plugins unplugged
Christian Rokitta
 
SharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote Authentication
Adil Ansari
 
How To Manage API Request with AXIOS on a React Native App
How To Manage API Request with AXIOS on a React Native AppHow To Manage API Request with AXIOS on a React Native App
How To Manage API Request with AXIOS on a React Native App
Andolasoft Inc
 
Asp.net html server control
Asp.net html  server controlAsp.net html  server control
Asp.net html server control
Sireesh K
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
Fioriela Bego
 
Raybiztech Guide To Backbone Javascript Library
Raybiztech Guide To Backbone Javascript LibraryRaybiztech Guide To Backbone Javascript Library
Raybiztech Guide To Backbone Javascript Library
ray biztech
 
The Django Web Application Framework
The Django Web Application FrameworkThe Django Web Application Framework
The Django Web Application Framework
Simon Willison
 
Alfresco tech talk live share extensibility metadata and actions for 4.1
Alfresco tech talk live share extensibility metadata and actions for 4.1Alfresco tech talk live share extensibility metadata and actions for 4.1
Alfresco tech talk live share extensibility metadata and actions for 4.1
Alfresco Software
 
RESTful API Design & Implementation with CodeIgniter PHP Framework
RESTful API Design & Implementation with CodeIgniter PHP FrameworkRESTful API Design & Implementation with CodeIgniter PHP Framework
RESTful API Design & Implementation with CodeIgniter PHP Framework
Bo-Yi Wu
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel AppelBuilding Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
.NET Conf UY
 

What's hot (19)

Understanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST APIUnderstanding and programming the SharePoint REST API
Understanding and programming the SharePoint REST API
 
SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development Overview
 
Customizing the Document Library
Customizing the Document LibraryCustomizing the Document Library
Customizing the Document Library
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
SenchaCon 2016: A Look Ahead: Survey Next-Gen Modern Browser APIs - Shikhir S...
 
Creating Single Page Applications with Oracle Apex
Creating Single Page Applications with Oracle ApexCreating Single Page Applications with Oracle Apex
Creating Single Page Applications with Oracle Apex
 
Controls in asp.net
Controls in asp.netControls in asp.net
Controls in asp.net
 
RichControl in Asp.net
RichControl in Asp.netRichControl in Asp.net
RichControl in Asp.net
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
 
Plugins unplugged
Plugins unpluggedPlugins unplugged
Plugins unplugged
 
SharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote AuthenticationSharePoint 2013 REST API & Remote Authentication
SharePoint 2013 REST API & Remote Authentication
 
How To Manage API Request with AXIOS on a React Native App
How To Manage API Request with AXIOS on a React Native AppHow To Manage API Request with AXIOS on a React Native App
How To Manage API Request with AXIOS on a React Native App
 
Asp.net html server control
Asp.net html  server controlAsp.net html  server control
Asp.net html server control
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
 
Raybiztech Guide To Backbone Javascript Library
Raybiztech Guide To Backbone Javascript LibraryRaybiztech Guide To Backbone Javascript Library
Raybiztech Guide To Backbone Javascript Library
 
The Django Web Application Framework
The Django Web Application FrameworkThe Django Web Application Framework
The Django Web Application Framework
 
Alfresco tech talk live share extensibility metadata and actions for 4.1
Alfresco tech talk live share extensibility metadata and actions for 4.1Alfresco tech talk live share extensibility metadata and actions for 4.1
Alfresco tech talk live share extensibility metadata and actions for 4.1
 
RESTful API Design & Implementation with CodeIgniter PHP Framework
RESTful API Design & Implementation with CodeIgniter PHP FrameworkRESTful API Design & Implementation with CodeIgniter PHP Framework
RESTful API Design & Implementation with CodeIgniter PHP Framework
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel AppelBuilding Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
 

Similar to Maximizer 2018 API training

ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin Lau
Spiffy
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
ColdFusionConference
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
stevemock
 
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Chester Chen
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
guest1af57e
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Fabio Franzini
 
Site activity & performance analysis
Site activity & performance analysisSite activity & performance analysis
Site activity & performance analysis
Eyal Vardi
 
SharePoint REST vs CSOM
SharePoint REST vs CSOMSharePoint REST vs CSOM
SharePoint REST vs CSOM
Mark Rackley
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
Tieturi Oy
 
Code First with Serverless Azure Functions
Code First with Serverless Azure FunctionsCode First with Serverless Azure Functions
Code First with Serverless Azure Functions
Jeremy Likness
 
Intoduction to Play Framework
Intoduction to Play FrameworkIntoduction to Play Framework
Intoduction to Play Framework
Knoldus Inc.
 
RichFaces: rich:* component library
RichFaces: rich:* component libraryRichFaces: rich:* component library
RichFaces: rich:* component library
Max Katz
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
Jagdeep Singh Malhi
 
Make your gui shine with ajax solr
Make your gui shine with ajax solrMake your gui shine with ajax solr
Make your gui shine with ajax solr
lucenerevolution
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha
 
Automatizacion de Procesos en Modelos Tabulares
Automatizacion de Procesos en Modelos TabularesAutomatizacion de Procesos en Modelos Tabulares
Automatizacion de Procesos en Modelos Tabulares
Gaston Cruz
 
SFDC Inbound Integrations
SFDC Inbound IntegrationsSFDC Inbound Integrations
SFDC Inbound Integrations
Sujit Kumar
 
The Future of Plugin Dev
The Future of Plugin DevThe Future of Plugin Dev
The Future of Plugin Dev
Brandon Kelly
 
using Mithril.js + postgREST to build and consume API's
using Mithril.js + postgREST to build and consume API'susing Mithril.js + postgREST to build and consume API's
using Mithril.js + postgREST to build and consume API's
Antônio Roberto Silva
 
Azure Functions @ global azure day 2017
Azure Functions  @ global azure day 2017Azure Functions  @ global azure day 2017
Azure Functions @ global azure day 2017
Sean Feldman
 

Similar to Maximizer 2018 API training (20)

ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin Lau
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
 
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 
Site activity & performance analysis
Site activity & performance analysisSite activity & performance analysis
Site activity & performance analysis
 
SharePoint REST vs CSOM
SharePoint REST vs CSOMSharePoint REST vs CSOM
SharePoint REST vs CSOM
 
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5TechDays 2013 Jari Kallonen: What's New WebForms 4.5
TechDays 2013 Jari Kallonen: What's New WebForms 4.5
 
Code First with Serverless Azure Functions
Code First with Serverless Azure FunctionsCode First with Serverless Azure Functions
Code First with Serverless Azure Functions
 
Intoduction to Play Framework
Intoduction to Play FrameworkIntoduction to Play Framework
Intoduction to Play Framework
 
RichFaces: rich:* component library
RichFaces: rich:* component libraryRichFaces: rich:* component library
RichFaces: rich:* component library
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Make your gui shine with ajax solr
Make your gui shine with ajax solrMake your gui shine with ajax solr
Make your gui shine with ajax solr
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
 
Automatizacion de Procesos en Modelos Tabulares
Automatizacion de Procesos en Modelos TabularesAutomatizacion de Procesos en Modelos Tabulares
Automatizacion de Procesos en Modelos Tabulares
 
SFDC Inbound Integrations
SFDC Inbound IntegrationsSFDC Inbound Integrations
SFDC Inbound Integrations
 
The Future of Plugin Dev
The Future of Plugin DevThe Future of Plugin Dev
The Future of Plugin Dev
 
using Mithril.js + postgREST to build and consume API's
using Mithril.js + postgREST to build and consume API'susing Mithril.js + postgREST to build and consume API's
using Mithril.js + postgREST to build and consume API's
 
Azure Functions @ global azure day 2017
Azure Functions  @ global azure day 2017Azure Functions  @ global azure day 2017
Azure Functions @ global azure day 2017
 

Recently uploaded

Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 

Recently uploaded (20)

Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 

Maximizer 2018 API training

  • 2. Targets Pt. 1 Capabilities Address book, opportunities, sections etc. Following Window Folders and files, system structure, tokens, Abinfo
  • 3. Enterprise - Direct Database Connections. - Dedicated Server. - Work Through Web Services (Optional). CRM Live - No Database Direct Connection - Web Services Required. Capabilities
  • 4. Address book - Add new AB entry - Retrieve AB entry info - Change AB entry info - Retrieve current AB entry UDF value - Add as many following windows as you wanted - Custom database tables connection (grids, inserts and etc.) Capabilities
  • 5. Sections - Get current user - Custom database tables connection (grids, inserts etc.) - Generate tokens - Embed external or internal websites. Capabilities
  • 6. ERP Integration Sales Integration Process Integration Recruitment Process Capabilities
  • 7. • Address Book (for-ab) • Opportunities (for-opp) • Campaigns (for-campaign) • Hotlist (for-task) • Customer Service (for-cs) Following Window Folders and Files
  • 8. Following Window Folders and Files • Configuration File - Enable new FollowingWindow - Set the FollowingWindow Tab Name • Location : “C:Program Files (x86)MaximizerPortalsEmployeeConfigfollowingWindowSets.xml” - But it can be different between custom setups.
  • 9. • Bin folder - Place where you put your DLL’s for your new followingWindow • Location : “C:Program Files (x86)MaximizerPortalsEmployeebin” Tip: changing the default DLLs for newer versions e.g. telerik, will make maximizer stop working, if you need to work with any DLL which Maximizer uses, deploy your project with the same version. Following Window Folders and Files
  • 10. • FollowingWindows folder - Place where you put your web project files (.aspx, .html, .php and etc.) • Location: “C:Program Files (x86)MaximizerPortalsEmployeeContentFollowingWindows” Following Window Folders and Files
  • 11. Following Window Folders and Files • Web.config File - Where you add configuration, such as connection strings, default AB, Declare assembly's and etc. • Location: “C:Program Files (x86)MaximizerPortalsEmployeeweb.conf”
  • 12. Following Window Folders and Files • MaximizerWebData, web.config File - Enable MaximizerWebData, to be able to generate tokens and access web hooks • Location: “C:Program Files (x86)MaximizerPortalsMaximizerWebDataweb.conf”
  • 13. Following Window Folders and Files • ClientScript folder - Where you should put your JS files (JavaScript) • Location: “C:Program Files (x86)MaximizerPortalsEmployeeClientScript”
  • 15. Following Window Tokens • Tokens are used for authorize any action through API, such as, requesting, changing and deleting information. • They are generated in the API and stored into the WebAPIToken table.
  • 16. Following Window Retrieving Token and Editing A.B Entry • Needed Skills : JS, ASP.NET, JSON • Needed Software : Visual Studio • JS libraries: Maximizer.Events.js, Maximizer.FollowingTabManager.js, jquery,js • Suggested Software’s : Notepad++, http://jsbeautifier.org/.
  • 17. Following Window Retrieving Token and Editing A.B Entry 1st Create ASPX project
  • 18. Following Window Retrieving Token and Editing A.B Entry
  • 19. Following Window Retrieving Token and Editing A.B Entry
  • 20. Following Window Retrieving Token and Editing A.B Entry 2nd Create an HTML and ASPX file.
  • 21. Following Window Retrieving Token and Editing A.B Entry
  • 22. Following Window Retrieving Token and Editing A.B Entry • 3rd - In the HTML file create an iframe and put the ASPX linked to it. HTML COMPOSITION <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <iframe id="centerFrame" src=“index.aspx" style="resize:both; width:100%; "> > </iframe> </body> </html>
  • 23. Following Window Retrieving Token and Editing A.B Entry //Create an javascript inside the UpperIndex.html file <script type="text/javascript"> var TrainingTab = new maximizer.FollowingTab(); $("#centerFrame").load(function () { TrainingTab.on("ParentRecordChange", function (event) { localStorage['SelectedKey'] = event.data.key; //taking the index.aspx instance to pass the key information to him var frame = document.getElementById("centerFrame"); var frameDoc = frame.contentWindow.document; var Panel1 = frameDoc.getElementById("Panel1"); frameDoc.getElementById("btnReload").click(); }); TrainingTab.start(); }); </script>
  • 24. Following Window Retrieving Token and Editing A.B Entry • 4th - Create an JavaScript File, there we will create the Maximizer methods
  • 25. Following Window Retrieving Token and Editing A.B Entry • 5th - Create an JavaScript File, there we will create the Maximizer methods //Javascript token.js //1st take the localaddress for the maximizerwebdata urlMaximizerWebDataAPI = "http://"+window.location.host+"/maximizerwebdata/Data.svc/json/"; //That will be used in the future
  • 26. Following Window Retrieving Token and Editing A.B Entry //2nd Create a method to get substring passed from API to the front end method function getURLParameter(parameterName) { var queryString = parent.window.location.search.substring(1); var urlParameters = queryString.split('&'); for(var i=0 ; i< urlParameters.length;i++){ var param = urlParameters[i].split('='); if(param[0] == parameterName){ return decodeURIComponent(param[1]); } } }
  • 27. Following Window Retrieving Token and Editing A.B Entry //method to call Maximizer API PG. 412 function callMaximizerApi(baseUrl, methodName, parameters) { //creating the return variable var returnValue = ''; //creating the type of the request var httpRequest = new XMLHttpRequest(); try { //Openning the request using the provided variables httpRequest.open('POST', urlMaximizerWebDataAPI + methodName, false); httpRequest.onreadystatechange = function() { if (httpRequest.readyState == 4 && httpRequest.status == 200) { //if is everything OK with the server's answer then set the result value returnValue returnValue = JSON.parse(httpRequest.responseText); } }; httpRequest.setRequestHeader('Content-Type', 'text/plain'); httpRequest.send(JSON.stringify(parameters)); return returnValue; } catch (err) { alert(err); } }
  • 28. Following Window Retrieving Token and Editing A.B Entry Create textbox Create button Generate token Declare js files
  • 29. Following Window Retrieving Token and Editing A.B Entry
  • 30. Following Window Retrieving Token and Editing A.B Entry //create the textbox and 2 buttons value in the index.aspx file <asp:Panel ID="Panel1" runat="server"> Contact Name..: <asp:TextBox ID="txtAbEntryInfo" runat="server"></asp:TextBox> <asp:Button ID="btnOK" runat="server" Text="Change" OnClientClick="RequestChange()" /> <asp:Button ID="btnReload" runat="server" Text="Reload" /> </asp:Panel>
  • 31. Following Window Retrieving Token and Editing A.B Entry //declare the js files in index.aspx <script type="text/javascript" src="../../ClientScript/Token.js"></script> <script type="text/javascript" src="../../ClientScript/jquery/jquery.js"></script>
  • 32. Following Window Retrieving Token and Editing A.B Entry //Create an javascript inside the index.aspx file <script type="text/javascript"> function RequestChange() { //first, generate the token var maxWebDataURL = getURLParameter("WebAPIURL"); var getTokenURL = getURLParameter("GetTokenURL"); var identityToken = getURLParameter("IdentityToken"); //asking the token based on the identityToken $.ajax({ url: getTokenURL, type: 'POST', dataType: 'json', contentType: 'application/json;charset=utf-8', cache: false, async: true, data: JSON.stringify({ 'IdentityToken': identityToken }), success: function (resultJSON) { localStorage['CurrentUserKey'] = resultJSON.d; }, error: function (resultJson) { } }); //now lets build the request to change the Selected AB entry Name var currentUserToken = localStorage['CurrentUserKey']; var nameChangeRequest = { "Token": currentUserToken, "AbEntry": { "Data": { "Key": localStorage['SelectedKey'], "CompanyName": document.getElementById("txtAbEntryInfo").value } } }; callMaximizerApi(urlMaximizerWebDataAPI, "AbEntryUpdate", nameChangeRequest); } </script>
  • 33. Following Window Retrieving Token and Editing A.B Entry Compile Place the files in the folders setup Test it on your server
  • 34. Following Window Retrieving Token and Editing A.B Entry