Microsoft Dynamics CRM 2015 – Javascript API – Utility

Piata časť zo série Microsoft Dynamics CRM – Javascript API zaoberajúca sa prácou s dialógmi entít – in english as all posts in this category.

These functions are available in every application page that supports scripting. You can use them in form scripts or in ribbon commands. For HTML web resources, they are available when you include the ClientGlobalContext.js.aspx page (full specification you can find on msdn network):

1. Dialogs - There are two types of dialogs: alertDialog and confirmDialog. These are included for use with scripts that will work with Microsoft Dynamics CRM for tablets. CRM for tablets will not allow the use of JavaScript functions that block the flow of code such as window.alert and window.confirm. Use these methods in place of those methods in case you need to display a message to the user. They key difference is that these methods will not block code until a user closes them. They contain a callback function parameter to indicate what code should be executed depending on the user’s response. This method is only available in Update mode.

Xrm.Utility.alertDialog('message', onCloseCallback);

Xrm.Utility.confirmDialog('message', yesCloseCallback, noCloseCallback);

 
2. Entity Form - Opens an entity form for a new or existing entity record using the options you set as parameters.

Xrm.Utility.openEntityForm(name, id, parameters, windowOptions);

Examples:

Xrm.Utility.openEntityForm("account");
Xrm.Utility.openEntityForm("account","A85C0252-DF8B-E111-997C-00155D8A8410");
var parameters = {};
parameters["formid"] = "b053a39a-041a-4356-acef-ddf00182762b";
parameters["name"] = "Test";
parameters["telephone1"] = "(425) 555-1234";
Xrm.Utility.openEntityForm("account", null, parameters);
var windowOptions = {
 openInNewWindow: true
};
Xrm.Utility.openEntityForm("account",null,null,windowOptions);

 
3. Quick Create Form - For Microsoft Dynamics CRM Online 2015 Update 1 or later use this function to open a new quick create form. You can use this function to set default values using attribute mappings or for specific attributes. If the user saves the record, you can capture a reference to the record created.

Xrm.Utility.openQuickCreate(callback,entityLogicalName,createFromEntity,parameters);

Example:

var thisAccount = {
 entityType: "account",
 id: Xrm.Page.data.entity.getId()
};
var callback = function (lookup) {
 console.log("Created new " + lookup.entityType + " named '" + lookup.name + "' with id:" + lookup.id);
}
var setName = { name: "Child account of "+ Xrm.Page.getAttribute("name").getValue()};
Xrm.Utility.openQuickCreate(callback, "account", thisAccount, setName);


4. Web Resource - Opens an HTML web resource.

Xrm.Utility.openWebResource(webResourceName,webResourceData,width, height)

Examples:

Xrm.Utility.openWebResource("new_webResource.htm");
Xrm.Utility.openWebResource("new_webResource.htm", null, 300,300);
var customParameters = encodeURIComponent("first=First Value&second=Second Value&third=Third Value");
Xrm.Utility.openWebResource("new_webResource.htm",customParameters);
Xrm.Utility.openWebResource("new_webResource.htm?typename=account&userlcid=1033");

Nový fenomén – Internet of Things

V 80-tych rokoch vznikla vízia, vtedy len hŕstky ľudí, ktorí začali pracovať s myšlienkou nového prístupu k internetu a tomu, akú funkciu bude v spoločnosti zohrávať v budúcnosti. Táto vízia sa začala označovať - Internet of Things (IoT – “internet vecí”). Medzi prvými, ktorí túto myšlienku začali realizovať, sa často krát spomína firma Coca Cola, ktorá už začiatkom 80-tych rokov ako prvá pripojila svoj automat do internetu. Jednalo sa o priekopnícke riešenie, avšak až do roku 1999 ešte prakticky nikto neuvažoval o Internet of Things ako novom riešení.

Zmena, ktorá nastala v posledných rokoch je skutočne zásadná. Z Internet of Things sa stal nový fenomén, ktorý má od základov zmeniť účel a spôsob využitia internetu ako takého. Zjednodušene sa dá povedať, že IoT sú zariadenia s unikátnym identifikátorom, ktoré sú pripojené do siete bez potreby ľudskej interakcie.

Pre lepšiu predstavu “a thing” je napríklad domáci alarm, inteligentné svietidlo, smart televízor, mobilné zariadenie, senzor…proste všetko, čo je nejakým spôsobom a za konkrétnym účelom pripojené do internetu.

Výskyt IoT už môžeme nájsť skoro v každom odvetví od priemyselného až po moderné zdravotníctvo. Veľkú zásluhu na vzniku IoT má najmä nový protokol IPv6 (“IPng”), ktorý podporuje mnohonásobne viac adries ako starý IPv4.

Všetky tieto novinky a zmeny ovplyvnili samozrejme aj prístup bežného človeka k používaniu internetu. Zmenu potvrdili aj posledné štatistiky, ktoré mali za cieľ preskúmať práve vplyv na spoločenské správanie a zmenu vnímania účelu internetu u ľudí. Ešte v roku 2009 prevažoval u užívateľov klasický stolový počítač. Netrvalo to však dlho a nahradili ich notebooky, tablety a smart telefóny. Zatiaľ čo v minulosti bolo do domáceho smerovača pripojené jedno, maximálne dve zariadenia, dnes je ich už ďaleko viac. Táto kvalitatívna zmena zaťaženia internetu, samozrejme zvýšila nároky na rýchlosť internetu a taktiež domáceho smerovača.

Ale vráťme sa k IoT. Internet vecí prináša ďaleko viac ako si možno bežný užívateľ myslí. Spomeniem len zopár najdôležitejších prínosov, akými sú:

Transormácia biznisu– nový prístup a možnosti vďaka novým technológiám ako sú Big Data alebo veľmi populárne Cloud služby.

Zjednodušenie každodenného ľudského života – dnes sa už bežne stretávame s inteligentnými domácnosťami, smart telefónmi a širokým spektrom ich služieb, a napríklad aj automatickým sledovaním pacienta v nemocniciach. Vďaka IoT je možno dostatočne včas zistiť prichádzajúce nebezpečenstvá, ako sú zemetrasenia, tsunami, lavíny a iné. V neposlednom rade je nutné sa zmieniť o rozvoji takzvaných “smart” miest, ktoré ponúkajú inteligentné služby od parkovania až po upozornenia na dopravné zápchy resp. ich čiastočnú elimináciu.

A čo bezpečnosť týchto zariadení? Momentálne medzi IT odborníkmi panujú určité obavy, akú úroveň bezpečnosti tieto zariadenia majú, resp. budú mať. Vysoké nároky sú samozrejme kladené na výrobcov, ktorých to stavia pred veľkú výzvu, nakoľko musia dostatočne zabezpečiť svoje výrobky proti možnému preniknutiu do týchto zariadení. Do akej miery budú schopní eliminovať možné bezpečnostné riziká z dôvodu stáleho pripojenia ich zariadenia do internetu sa necháme prekvapiť.

Na záver možno zhrnúť, že IoT je nový trend a môžeme ho označiť za malú revolúciu v spôsobe využitia moderných technológií. Úlohou IoT, okrem toho, že ide o novú oblasť pre generovanie zisku veľkých technologických spoločností, je primárne zjednodušenie každodenného života a zaistenie bezpečnosti užívateľov. Pri uvedomení si, ako je všetko prepojené a čo všetko je možné cez internet riadiť a sledovať, sa mnohí ľudia určite neubránia obavám zo straty súkromia a neustáleho “monitorovania” či už vecí okolo nás alebo nás samotných. Samozrejme táto obava bude vždy existovať a netreba na ňu úplne zabúdať, avšak určite by nemala zatieniť celkový skutočne pozitívny prínos IoT pre celú spoločnosť.

Error code 404 pre fonty vo formáte .woff2

Browser Mozilla Firefox Developer Edition v.38 ako developerských prehliadač podporuje najnovšie features zo sveta web technológií. Toto pravidlo platí aj pre fonty v najnovšom formáte .woff2. V našom prípade išlo o fonty od bootstrap-u s názvom glyphicons. Browser nám hlásil error code 404 –  File not found.fError 404 for .woff2 file extension

Dané fonty sa samozrejme na webovom servery nachádzali. Problém je, že webový server (v tomto prípade IIS v8.5) nepozná túto koncovku (je pre neho jednoducho nová). Tak mu to musíme povedať pre danú aplikáciu nasledovne:

<system.webServer>
    <staticContent>
    	<mimeMap fileExtension=".woff2" mimeType="application/octet-stream" />
    </staticContent>       
</system.webServer>

Samozrejme túto koncovku vieme pridať aj globálne pre všetky weby na našom servery cez IIS manager, ikonka MIME Types:

IIS MIME types definition