SlideShare ist ein Scribd-Unternehmen logo
1 von 35
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?

Weitere ähnliche Inhalte

Was ist angesagt?

SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development Overview
Rob Windsor
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
Raed Aldahdooh
 
RichControl in Asp.net
RichControl in Asp.netRichControl in Asp.net
RichControl in Asp.net
Bhumivaghasiya
 
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
 
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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 
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
 
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
 
RichFaces: rich:* component library
RichFaces: rich:* component libraryRichFaces: rich:* component library
RichFaces: rich:* component library
Max Katz
 
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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Kürzlich hochgeladen (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 

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