<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3870670686597710079</id><updated>2024-09-24T18:22:58.797-07:00</updated><title type='text'>Arab - IT</title><subtitle type='html'>Its IT blog cares about IT business specially Microsoft products </subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-2863380961935118081</id><published>2016-11-09T11:04:00.002-08:00</published><updated>2016-11-09T11:04:48.303-08:00</updated><title type='text'>T-SQL: Calculate distance in KM between 2 points</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;If you have 2 points (Lang and Lat) and you want to calculate distance between them in KM using SQL function, you can follow the following steps:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;1. Execute the following script to declare a function to convert Degree to Radius:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;CREATE FUNCTION [dbo].[ConvertDegreeToRadius](@Degree float)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;RETURNS float&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;WITH RETURNS NULL ON NULL INPUT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;RETURN (&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; SELECT @Degree * (PI() / 180)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2. Execute the following script to declare a function to calculate the distance in KM:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;CREATE FUNCTION [dbo].[CalculateDistance](@firstLat float, @firstLang float, @secondLat float, @secondLang float)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;RETURNS float&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;WITH RETURNS NULL ON NULL INPUT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;-- static value, it is earch radius&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;DECLARE @EarchRadius int = 6371&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;DECLARE @Lat float = SearchTables.ConvertDegreeToRadius(@secondLat - @firstLat)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;DECLARE @Lang float = SearchTables.ConvertDegreeToRadius(@secondLang - @firstLang)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;DECLARE @a float = ( SIN(@Lat / 2) * SIN( @Lat / 2) + COS(SearchTables.ConvertDegreeToRadius(@firstLat)) * COS(SearchTables.ConvertDegreeToRadius(@secondLat)) * SIN (@Lang / 2) * SIN(@Lang / 2))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;DECLARE @c float = 2 * ATN2(SQRT(@a), SQRT(1 - @a))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;DECLARE @d float = @EarchRadius * @c&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;RETURN (&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;SELECT @d&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;3. Now, let us try to test the function and see the result:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJeStFiR8YnUM4Bt21x4dKpxE9khmCXcM45bY9pBtgMxK51iK04TmDoTmMD_h0y-RJFBDiLgWEuUS4MaPFSGZEwLbpk4Uu6NvR_KVd02DUijuXIFmdjtEmqJwFR1Kiv_Sod77Mw7jyqUI/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJeStFiR8YnUM4Bt21x4dKpxE9khmCXcM45bY9pBtgMxK51iK04TmDoTmMD_h0y-RJFBDiLgWEuUS4MaPFSGZEwLbpk4Uu6NvR_KVd02DUijuXIFmdjtEmqJwFR1Kiv_Sod77Mw7jyqUI/s1600/1.png&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/2863380961935118081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2016/11/t-sql-calculate-distance-in-km-between.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/2863380961935118081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/2863380961935118081'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2016/11/t-sql-calculate-distance-in-km-between.html' title='T-SQL: Calculate distance in KM between 2 points'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJeStFiR8YnUM4Bt21x4dKpxE9khmCXcM45bY9pBtgMxK51iK04TmDoTmMD_h0y-RJFBDiLgWEuUS4MaPFSGZEwLbpk4Uu6NvR_KVd02DUijuXIFmdjtEmqJwFR1Kiv_Sod77Mw7jyqUI/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-848088054842343823</id><published>2016-06-27T12:58:00.005-07:00</published><updated>2016-06-27T12:58:39.794-07:00</updated><title type='text'>MVC: Styles is not applied on layout</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
If your styles are not applied and you got 404 error message and your file path is correct, just change the following path in your web.config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;add name=&quot;BlockViewHandler&quot; &lt;span style=&quot;color: red;&quot;&gt;path=&quot;*&quot;&lt;/span&gt; verb=&quot;*&quot; preCondition=&quot;integratedMode&quot; type=&quot;System.Web.HttpNotFoundHandler&quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;add name=&quot;BlockViewHandler&quot; &lt;span style=&quot;color: red;&quot;&gt;path=&quot;*.cshtml&quot;&lt;/span&gt; verb=&quot;*&quot; preCondition=&quot;integratedMode&quot; type=&quot;System.Web.HttpNotFoundHandler&quot; /&amp;gt;&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/848088054842343823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2016/06/mvc-styles-is-not-applied-on-layout.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/848088054842343823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/848088054842343823'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2016/06/mvc-styles-is-not-applied-on-layout.html' title='MVC: Styles is not applied on layout'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-8190756529599222561</id><published>2016-06-24T11:54:00.003-07:00</published><updated>2016-06-24T12:00:35.775-07:00</updated><title type='text'>MVC: Passing objects from main view to partial view</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
There are many ways to pass object from view to partial view, the following is an example how to pass object throw strong type model.&lt;br /&gt;
&lt;br /&gt;
Suppose you have main page, which has Message partial view. Message is used to display messages and it should be shared between other views.&lt;br /&gt;
&lt;br /&gt;
You have to create Model for Message which includes the following:&lt;br /&gt;
1. Message, which is message text&lt;br /&gt;
2. Type, message type to control the message css class, errors, success, notifications ... etc&lt;br /&gt;
&lt;br /&gt;
Then you need to create View with strong type Message, and don&#39;t forget to check Partial View when you create the view.&lt;br /&gt;
&lt;br /&gt;
put the following lines in the partial view:&lt;br /&gt;
@if(Model != null)&lt;br /&gt;
{&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Model.Message&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
After that, create a controller and leave it as is.&lt;br /&gt;
&lt;br /&gt;
In the main View. you will have the following:&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;@model Tuple&amp;lt;EventsRegistrations.Users.Model.ProfileInfo, EventsRegistrations.MVC.Models.Shared.Messages&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
@{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Layout = null;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;View1&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;@Html.Partial(&quot;Message&quot;, Model.Item2)&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @Html.Partial(&quot;Profile&quot;, Model.Item1)&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And in the controller set the following:&lt;br /&gt;
public Messages msg = new Messages();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public EventsRegistrations.Users.Model.ProfileInfo obj = new Users.Model.ProfileInfo();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public ViewResult DisplayProfile()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj = EventsRegistrations.Users.BLL.Profile.Instance.Get(1);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;throw new Exception(&quot;ex&quot;);&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return View(&quot;Index&quot;, Tuple.Create(obj, msg));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;msg.Message = MessageHelper.BuildExceptionMessage(ex);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg.Type = 1;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return View(&quot;Index&quot;,Tuple.Create(obj, msg));&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBLq6XmNvsg8LvDNtYlB2tiDy47c-HKyP3yw_jXyoEI2yyEXZSqff6jV3Vc_3WynGd2MPrRP65th87bmtwHIFslSa9YZr1TCfiuEIHA6X_NEanMpCI0sFtURjUeFTt4ALRB0TYUsN5Ro/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBLq6XmNvsg8LvDNtYlB2tiDy47c-HKyP3yw_jXyoEI2yyEXZSqff6jV3Vc_3WynGd2MPrRP65th87bmtwHIFslSa9YZr1TCfiuEIHA6X_NEanMpCI0sFtURjUeFTt4ALRB0TYUsN5Ro/s400/4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/8190756529599222561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2016/06/mvc-passing-objects-from-main-view-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/8190756529599222561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/8190756529599222561'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2016/06/mvc-passing-objects-from-main-view-to.html' title='MVC: Passing objects from main view to partial view'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBLq6XmNvsg8LvDNtYlB2tiDy47c-HKyP3yw_jXyoEI2yyEXZSqff6jV3Vc_3WynGd2MPrRP65th87bmtwHIFslSa9YZr1TCfiuEIHA6X_NEanMpCI0sFtURjUeFTt4ALRB0TYUsN5Ro/s72-c/4.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-6617970529453458424</id><published>2016-06-19T14:27:00.001-07:00</published><updated>2016-06-24T11:55:09.962-07:00</updated><title type='text'>MVC: Using AutoMapper</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
When you using 3-tiers architecture with MVC, you need to map the main model with MVC model.&lt;br /&gt;
you can do it by multiple ways, the best is to have centralized method to do mapping between two objects in different class.&lt;br /&gt;
&lt;br /&gt;
The AutoMapper library provide this facility, you can download it via visual studio / NuGet pakage.&lt;br /&gt;
&lt;br /&gt;
It is very easy and dynamic.&lt;br /&gt;
&lt;br /&gt;
Example,&lt;br /&gt;
Suppose you have ProfileInfo class in the main model, with the following definition:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhvjHQFxya9M2d3q7B0mdDMCA8c5YvoZvZLygsGnGzGVsO4lNtwp4W1ghcXDpiQCiVPJ6XqUvDEzf3lcBkL-WBs1S4b9fDWaK2UqjoN1joR5OmcnGuGju0wjMYm-BlHHQVCL4-toBc7U/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhvjHQFxya9M2d3q7B0mdDMCA8c5YvoZvZLygsGnGzGVsO4lNtwp4W1ghcXDpiQCiVPJ6XqUvDEzf3lcBkL-WBs1S4b9fDWaK2UqjoN1joR5OmcnGuGju0wjMYm-BlHHQVCL4-toBc7U/s1600/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
and ProfileInfo class in MVC model, which inherited the ProfileInfo class without any additional properties&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9LRgMpwO_mvJXi7bNF60kRwqWdYCNj483RwaViLoYw5EnINoh6cKsqLwbCiAOJLvWFYlN8VHAJM1eHTJcJAE8aAAXxcRW12szQJCkpHARI1vOZ2hoJvU_7ZpULkFOHM3qIegm4yQWm-s/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9LRgMpwO_mvJXi7bNF60kRwqWdYCNj483RwaViLoYw5EnINoh6cKsqLwbCiAOJLvWFYlN8VHAJM1eHTJcJAE8aAAXxcRW12szQJCkpHARI1vOZ2hoJvU_7ZpULkFOHM3qIegm4yQWm-s/s1600/2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
In the controller, you need to map main ProfileInfo with MVC ProfileInfo after getting data from BLL, then present the MVC ProfileInfo result in the View. You should do the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjofI8JfbxKzAT02nKtP4UZRVLjuyE5jiB0LgqB4DefLRE3EfrMuLBO5FmUSdSS8zQPJG0UAPf63SYA5wbRLqDTDJJOc_s7vxY_H8vcsuyxikCwB9V12Nds5Ns-ia94dR2hMJhpbunDp4I/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;65&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjofI8JfbxKzAT02nKtP4UZRVLjuyE5jiB0LgqB4DefLRE3EfrMuLBO5FmUSdSS8zQPJG0UAPf63SYA5wbRLqDTDJJOc_s7vxY_H8vcsuyxikCwB9V12Nds5Ns-ia94dR2hMJhpbunDp4I/s400/3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Note, this is an example, but the best practice as mentioned is to have centralized method. So, you can put the map config in common method which will be shared between all classes.&lt;br /&gt;
&lt;br /&gt;
En jo y&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/6617970529453458424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2016/06/using-automapper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6617970529453458424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6617970529453458424'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2016/06/using-automapper.html' title='MVC: Using AutoMapper'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhvjHQFxya9M2d3q7B0mdDMCA8c5YvoZvZLygsGnGzGVsO4lNtwp4W1ghcXDpiQCiVPJ6XqUvDEzf3lcBkL-WBs1S4b9fDWaK2UqjoN1joR5OmcnGuGju0wjMYm-BlHHQVCL4-toBc7U/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-9107186907119785139</id><published>2016-03-10T13:50:00.000-08:00</published><updated>2016-03-10T13:50:02.718-08:00</updated><title type='text'>PowerBI: Connect on-premise data using enterprise gateway</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Microsoft provides different ways to visualize your data. One of them is SaaS PowerBi&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
It enables you to connect different data sources and visualize your data&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
If you want to connect on-premise data, you need to install and configure enterprise gateway by following the following steps&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
1. Go to this site and install enterprise version of gateway:&lt;br /&gt;
https://powerbi.microsoft.com/en-us/gateway/&lt;br /&gt;
&lt;br /&gt;
2. Run the exe file installed and follow the wizard&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWP9KUfxK60pfwDCrKemcUeTB_YmvwlcqB9urv8Qun4MzAh6ZnToH2oZrBXAek7It6MENOuCOboFWVrel1gh3mMmxLvLWImTlqGXh7SgEjiRet-qep2GzELu33iSg-FPwixUl1qdkoRyI/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWP9KUfxK60pfwDCrKemcUeTB_YmvwlcqB9urv8Qun4MzAh6ZnToH2oZrBXAek7It6MENOuCOboFWVrel1gh3mMmxLvLWImTlqGXh7SgEjiRet-qep2GzELu33iSg-FPwixUl1qdkoRyI/s320/1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeWAkfgOMD_mNADodJ2g8A7TCUj1r3qUMmmMNSDsnY7ubjVY7tgGSa7GTd9ekk41Po9bf7On_fqJMuju7jlfrrCjUBE9u701UWJEAr8IDLy_wZkBlukveaECJqrFDSvMG0JKMGcKBPPf8/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeWAkfgOMD_mNADodJ2g8A7TCUj1r3qUMmmMNSDsnY7ubjVY7tgGSa7GTd9ekk41Po9bf7On_fqJMuju7jlfrrCjUBE9u701UWJEAr8IDLy_wZkBlukveaECJqrFDSvMG0JKMGcKBPPf8/s320/2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilobZPNcwN4Lx17J-zO_C83OL7cfG1ngOVsHUIE5OL9t5cXVqryZqbOU7C6gzluN5T2CTggPYihsyTdWYhQgyzJ7kUGH54toU3Ua0wz_AvReTyjesneB_MY3xzP5gdJBSp4Gw5j7LnSKE/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;295&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilobZPNcwN4Lx17J-zO_C83OL7cfG1ngOVsHUIE5OL9t5cXVqryZqbOU7C6gzluN5T2CTggPYihsyTdWYhQgyzJ7kUGH54toU3Ua0wz_AvReTyjesneB_MY3xzP5gdJBSp4Gw5j7LnSKE/s320/3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIYInxERAuLPrPta5Wn_R2hrM82iTcB2rtB5nSMSBL8IjUrUFHmyDwUPzyPbkoQpRW6VceQUJN5cH0dT2qnkLqfaMmuUWMTm97rrFYaGEdErw0RcMfnW-_1dLmgIxr4epwoliq7ULIRB4/s1600/4+%25281%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIYInxERAuLPrPta5Wn_R2hrM82iTcB2rtB5nSMSBL8IjUrUFHmyDwUPzyPbkoQpRW6VceQUJN5cH0dT2qnkLqfaMmuUWMTm97rrFYaGEdErw0RcMfnW-_1dLmgIxr4epwoliq7ULIRB4/s320/4+%25281%2529.png&quot; width=&quot;239&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUn6Gvs3I31hy_TAhBs-AVRlMR9UlsQcQzCORFk3B25Ab9RoQquleuYKIdLccHWBKc75_63komP-G2ct1ctsivw5yKWi9rKzME_n-Yi2XJRfcO-7y_5OXf1TebdO4_u8M7N-SGAGVqklA/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;309&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUn6Gvs3I31hy_TAhBs-AVRlMR9UlsQcQzCORFk3B25Ab9RoQquleuYKIdLccHWBKc75_63komP-G2ct1ctsivw5yKWi9rKzME_n-Yi2XJRfcO-7y_5OXf1TebdO4_u8M7N-SGAGVqklA/s320/5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0SGjx-9yt26QRub5GvTBTlp-2avyIt2Hm2OzZhlJu0MNPMuqsQGJKmRtEUWDeFwKxiC2W0jyKOQPd43-vZ4gI6FwcQSyry881F6rRk2HX4ZdAejZkULLLeSYAvnDU8lClApy8fho19V4/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;295&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0SGjx-9yt26QRub5GvTBTlp-2avyIt2Hm2OzZhlJu0MNPMuqsQGJKmRtEUWDeFwKxiC2W0jyKOQPd43-vZ4gI6FwcQSyry881F6rRk2HX4ZdAejZkULLLeSYAvnDU8lClApy8fho19V4/s320/6.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxNZTBp91T-6LnUfw4ryU1Vp3WQwPTygSkxlGoCI3aQY42VE_C138dmkMxCO0-mgiN7D3IeJ_bI1MtcQLUzIBSHAqIxnIF1qqz5KAbdDMV7fHqM0SgRnW4VLDvKJfSfftWo1lsSvj0emM/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;263&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxNZTBp91T-6LnUfw4ryU1Vp3WQwPTygSkxlGoCI3aQY42VE_C138dmkMxCO0-mgiN7D3IeJ_bI1MtcQLUzIBSHAqIxnIF1qqz5KAbdDMV7fHqM0SgRnW4VLDvKJfSfftWo1lsSvj0emM/s320/7.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDHgTIM3s9usdhDItmYidRZYpqHjq9fZgRkuCcsnuTsJiVdsML0W4DyK12s65BzyyOy3Db3UKpqKdvmseJtN-0mCNo_SrycR1mPt9Rb5szq3cQtcYvP1R2mZzuy69wFL0ECtY55iSctgU/s1600/8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;149&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDHgTIM3s9usdhDItmYidRZYpqHjq9fZgRkuCcsnuTsJiVdsML0W4DyK12s65BzyyOy3Db3UKpqKdvmseJtN-0mCNo_SrycR1mPt9Rb5szq3cQtcYvP1R2mZzuy69wFL0ECtY55iSctgU/s320/8.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;u&gt;&lt;b&gt;3. Now, you should connect your data source using PowerBI DESKTOP version, then save the file and upload it to PowerBI.com&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdvhN1GJJNPIY9cO1q8X6ODxHRVu28mXfEUPAtHrEkjB2PCj1AFqE32saWUKhu8F_X4FxRflMvqbBw469yFqf9nssxU8GW9jPvGUK2r5AQkszekC80AMS-JY2qjlIQUzoiYxnT7ExHxW8/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdvhN1GJJNPIY9cO1q8X6ODxHRVu28mXfEUPAtHrEkjB2PCj1AFqE32saWUKhu8F_X4FxRflMvqbBw469yFqf9nssxU8GW9jPvGUK2r5AQkszekC80AMS-JY2qjlIQUzoiYxnT7ExHxW8/s320/1.png&quot; width=&quot;117&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwUlpYOVbHrEyGZes0LcdEDeO4lvz8Yv14VMg1tu31YRru5LLvyCEmmyIgwn1zUdQOFrCmGPqV71hqvZu3DtHtEBlJe7rEwm8GbgGGRpFnC1ZY13qhI00mkOVKbdbYA4GTWAJAJzUyDmo/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwUlpYOVbHrEyGZes0LcdEDeO4lvz8Yv14VMg1tu31YRru5LLvyCEmmyIgwn1zUdQOFrCmGPqV71hqvZu3DtHtEBlJe7rEwm8GbgGGRpFnC1ZY13qhI00mkOVKbdbYA4GTWAJAJzUyDmo/s320/2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNGCg4FGDup4XWvRHG5d0z106wTYYm1vi7yY-vXJZK8D0tTPNPxuI9dzTRSlNwmgJ2D0OMk83dUr3q5mzhlT0cCbyDYZZ-1MdwfsW5Oq7IHatkXFDJMVSUZ0MtWZkGf3XZKcqidn9gHBM/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNGCg4FGDup4XWvRHG5d0z106wTYYm1vi7yY-vXJZK8D0tTPNPxuI9dzTRSlNwmgJ2D0OMk83dUr3q5mzhlT0cCbyDYZZ-1MdwfsW5Oq7IHatkXFDJMVSUZ0MtWZkGf3XZKcqidn9gHBM/s320/3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWDixSqqZYqrkpIV4kB7d5ECpquT9Y8Eyzk2QyKiAiNSNbr8FrJmekFZWI9VkGa8XMCB4haIWp6uY63S050beVYBTSk4gvZ5NnE-5OkVQeSnIJ-23xHn677ETR-ltMoyp4lGMvUWDARwI/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;246&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWDixSqqZYqrkpIV4kB7d5ECpquT9Y8Eyzk2QyKiAiNSNbr8FrJmekFZWI9VkGa8XMCB4haIWp6uY63S050beVYBTSk4gvZ5NnE-5OkVQeSnIJ-23xHn677ETR-ltMoyp4lGMvUWDARwI/s320/4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3UquWqxyYQi8tW9yTGC_rjAO31iycMvTmpT5VLXVxj0bN94HAly_Kf3dob7eCFJcsoVjtW5HuGZ7G2-Y5geQLdKBDivHrsiWhhmf9P-31BeNknZJUQyZ34JKsjUN5Fl0P0p1EyHPULf0/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3UquWqxyYQi8tW9yTGC_rjAO31iycMvTmpT5VLXVxj0bN94HAly_Kf3dob7eCFJcsoVjtW5HuGZ7G2-Y5geQLdKBDivHrsiWhhmf9P-31BeNknZJUQyZ34JKsjUN5Fl0P0p1EyHPULf0/s1600/5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
4. Now, you can create your visuals,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNr-PIkNnEhKktdFNJ-b-XWJAh5QDWwdKEcLq1rbMFcNXdxc68222IMeacgRsbXfzpl37qjnp0rvyfnlhzuSJOq0JE0CROK6h5TsC-tfw7UxIIjVJRd-VNLX6xyMyF4S3WkRG3h9Ctvk/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNr-PIkNnEhKktdFNJ-b-XWJAh5QDWwdKEcLq1rbMFcNXdxc68222IMeacgRsbXfzpl37qjnp0rvyfnlhzuSJOq0JE0CROK6h5TsC-tfw7UxIIjVJRd-VNLX6xyMyF4S3WkRG3h9Ctvk/s320/6.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/9107186907119785139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2016/03/powerbi-connect-on-premise-data-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/9107186907119785139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/9107186907119785139'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2016/03/powerbi-connect-on-premise-data-using.html' title='PowerBI: Connect on-premise data using enterprise gateway'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWP9KUfxK60pfwDCrKemcUeTB_YmvwlcqB9urv8Qun4MzAh6ZnToH2oZrBXAek7It6MENOuCOboFWVrel1gh3mMmxLvLWImTlqGXh7SgEjiRet-qep2GzELu33iSg-FPwixUl1qdkoRyI/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-4270534088751851791</id><published>2015-12-25T13:10:00.000-08:00</published><updated>2015-12-25T13:10:19.320-08:00</updated><title type='text'>How to expand selected node in treeview C#</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
When you try to expand selected node in treeview control dynamically, just use the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt;// get selected node&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;TreeNode parentNode = tvItems.SelectedNode;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt;// get top parent node&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while(parentNode.Parent != null)&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parentNode = parentNode.Parent;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt;// find node by value path, then expand it&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;b&gt;tvItems&lt;/b&gt;&lt;b&gt;.FindNode(parentNode.ValuePath).ExpandAll();&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/4270534088751851791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2015/12/how-to-expand-selected-node-in-treeview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/4270534088751851791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/4270534088751851791'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2015/12/how-to-expand-selected-node-in-treeview.html' title='How to expand selected node in treeview C#'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-8246224782321429437</id><published>2015-07-26T06:11:00.002-07:00</published><updated>2015-07-26T06:11:51.456-07:00</updated><title type='text'>النقد التقني لنظام التوظيف الخاص بجريدة الرياض http://career.alriyadh.com</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;تقدم جريدة الرياض نظام التوظيف الذي يساعد الباحثين عن العمل والشركات بقبول وعرض الوظائف بشكل أوتوماتيكي..&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjOCjPVrBSz3pQTX3eITZdVViE9KsE695xLm41p5IjhyzDRo7RMDse2OozmD9NUjL7z3P07_mfAtRy9htXBSbj_0QNkd8jjP_hINpObdclg_urU700x8spIV7RUOJ372q71WNe24O77v8/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjOCjPVrBSz3pQTX3eITZdVViE9KsE695xLm41p5IjhyzDRo7RMDse2OozmD9NUjL7z3P07_mfAtRy9htXBSbj_0QNkd8jjP_hINpObdclg_urU700x8spIV7RUOJ372q71WNe24O77v8/s400/1.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;1. الشكل الخارجي:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;تحتوي الصفحة الرئيسية على لوحة تحكم مميزة تسهل للمتصفح معرفة العناصر الأساسية في النظام مثل الفرص الوظيفية، التسجيل للأفراد والشركات، إحصائيات ... ألخ.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;التصميم بسيط ولكن يلاحظ عدم تناسق الألوان في الـ Header و الـ Footer&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;أيضاً نجد أن بعض الكتابات غير ظاهرة بشكل صحيح، ولعلها مشكلة بالتصميم المطبق.. كما هو موضح بالصورة التالية:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWHA-bOd4J4w4NDZu4gDTmrauGuMV4jrQQ4MtmUXUe8s81mLoE3oCSLx_X3WjQ5ShpA1cAEx21bOf3eYB8jg73nVESNChix5dVEAxa9pgwSq043yC7tSxREq2W1ONPBDgFLVbSd-2DWio/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;276&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWHA-bOd4J4w4NDZu4gDTmrauGuMV4jrQQ4MtmUXUe8s81mLoE3oCSLx_X3WjQ5ShpA1cAEx21bOf3eYB8jg73nVESNChix5dVEAxa9pgwSq043yC7tSxREq2W1ONPBDgFLVbSd-2DWio/s400/2.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;يوجد مستطيل أبيض، لم يتم الاستفادة منه، وتركه بهذا الشكل غير مناسب:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN_ldExSLw8c_UFotsqPOC00iYXFjaWCxvC4rqzC5m5S1W-SqQ6OwGkI2HXeBYypcLiGTmiiLLFu_g6T2spbCYCOBvPGM4rz20LwJ7mxTSuge0Q-NdPFSJNmxeq61mjcZEtJt_s9mG4pA/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;88&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN_ldExSLw8c_UFotsqPOC00iYXFjaWCxvC4rqzC5m5S1W-SqQ6OwGkI2HXeBYypcLiGTmiiLLFu_g6T2spbCYCOBvPGM4rz20LwJ7mxTSuge0Q-NdPFSJNmxeq61mjcZEtJt_s9mG4pA/s400/4.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;يحتوي الموقع أيضاً على نسخة إنجليزية.. فنرى عند التحويل على هذه النسخة مجموعة من الأخطاء موضحة كالتالي:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0vjKCJ4b2UwiIXLQO9hIT0jevgTizBM3_C-ERWvZcJf6Crl0iWZyugTLx7gGqGu2SkR9fx15qM-_1YpMPYCq_YBUNLRDcd4sQRlSLiYVY5p57Pg1Uw9c6lHWYJOJGm44iymg9-Z37MQQ/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;302&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0vjKCJ4b2UwiIXLQO9hIT0jevgTizBM3_C-ERWvZcJf6Crl0iWZyugTLx7gGqGu2SkR9fx15qM-_1YpMPYCq_YBUNLRDcd4sQRlSLiYVY5p57Pg1Uw9c6lHWYJOJGm44iymg9-Z37MQQ/s400/6.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;بعض الكتابات لازالت عربية ..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;عدم عرض الفرص الوظيفية .. كما هو موجود بالنسخة العربية ..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;تداخل بعض النصوص مع الصور ..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;u&gt;2. التقنيات المستخدمة:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;تم تطوير الموقع باستخدام ASP.NET كما هو ملاحظ .. ويعتمد الموقع على JavaScript بشكل أساسي لعرض محتوياته -للأسف-.. وهذه المشكلة موجودة في أغلب الأنظمة المطبقة .. حيث نجد الصورة التالية عند تعطيل الـ JavaScript&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSH3yA1bPpsxcbLqy80zlNLEVq10y77o1KIW3nXUGFp7UCDZIZ6X7YTn8cnJ89-BCoAyXL_1Nls-v6Cbo7DeK6mdrVKdiMDiWR7K1CYhx8brNYXpPikQ87e4MAVjF4Iqv0runCJkCYc58/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;311&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSH3yA1bPpsxcbLqy80zlNLEVq10y77o1KIW3nXUGFp7UCDZIZ6X7YTn8cnJ89-BCoAyXL_1Nls-v6Cbo7DeK6mdrVKdiMDiWR7K1CYhx8brNYXpPikQ87e4MAVjF4Iqv0runCJkCYc58/s400/3.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; line-height: 20.7900009155273px;&quot;&gt;بعد تعطيل الجافا سكربت، نلاحظ أن الـ IP الخاص بالسيرفر ظهر للمستخدم .. وهذه مشكلة بأمان النظام أيضاً عدا عن كونها خطأ بالتطوير..&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;كما نلاحظ وجود مشكلة بالـ SlideShow الخاص &amp;lt;img src=&quot;&quot; alt=&quot;&quot; /&amp;gt; .. من المتوقع تعطلعه عن العمل، لكن يجب ألا يظهر الـ HTML الخاص به..&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;أيضاً نجد مشكلة في بيانات التسجيل .. وذلك لاعتماد ظهورها كلياً على الجافا سكربت ..&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;3. سهولة التصفح والاستخدام:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;يحتوي الموقع على العديد من الروابط التي تسهل عملية التنقل بين جنباته، كما يحتوي على قائمة لعرض الشركات المعلنة للوظائف .. ولكن من الملاحظ أنها غير مفهومة .. حيث توجد فقط شعارات الشركات:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnRNA-oK97CZPv_OC5OSNyVySdItvjJb94dn-qHmGPF1as_kez-eig9Y6JoKYDQ2fhMAMTOZxJ2licwPnDaa32e-1-dqZ3jHbhI7Kl3lfxXwIioyoM0n8FVhPkl-tAwxj_CT5bl2jBW6E/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;127&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnRNA-oK97CZPv_OC5OSNyVySdItvjJb94dn-qHmGPF1as_kez-eig9Y6JoKYDQ2fhMAMTOZxJ2licwPnDaa32e-1-dqZ3jHbhI7Kl3lfxXwIioyoM0n8FVhPkl-tAwxj_CT5bl2jBW6E/s400/5.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;من الملاحظ أيضاً أن الموقع يفتقد إلى دعم المستخدم من خلال تطبيق ToolTip على كل زر أو رابط، وهذا شيء مهم حيث يوفر على المستخدم معرفة مهام كل زر ومعرفة أين سيقوده كل رابط ..&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;4. التدقيق اللغوي:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;قد يكون من الصعب حصر جميع الأخطاء اللغوية بالنظام، أو ضبطها، لوجود عدة أنوع من المستخدمين، صاحب الشركة، وطالب الوظيفة بالإضافة إلى مسؤول النظام ..&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;لكن سأقوم بعرض الأخطاء التابعة للنظام كنظام والبعد عن البيانات، entered data&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&quot;موقع لعرض الوظائف للمستفيدين من &lt;b&gt;&lt;u&gt;لأفراد&lt;/u&gt;&lt;/b&gt; والشركات&quot; &amp;nbsp;... الأفراد وليس لأفراد.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&quot;&lt;b&gt;&lt;u&gt;إتصل&lt;/u&gt;&lt;/b&gt; بقسم الوظائف&quot; .. اتصل وليس إتصل&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f9fafa; font-family: Verdana, sans-serif; font-size: 12px; text-align: start;&quot;&gt;&quot;&lt;b&gt;&lt;u&gt;ادخل&lt;/u&gt;&lt;/b&gt; رقم الوظيفة&quot; .. أدخل وليس ادخل&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&quot;&lt;b&gt;ارشيف&lt;/b&gt; الوظائف&quot; .. أرشيف وليس ارشيف&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&quot;الاسم &lt;b&gt;&lt;u&gt;الاول&lt;/u&gt;&lt;/b&gt;&quot; .. الأول وليس الاول&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&quot;البريد الالكتروني&quot; .. الإلكتروني وليس الالكتروني&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;5. الأمان:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;يعتبر الأمان في نظام التوظيف الخاص بجريدة الرياض ضعيف للأسباب التالية:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;عند تعطيل الجافا سكربت - كما رأينا - يظهر عنوان السيرفر الخاص بالنظام للمستخدم النهائي..&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #f9fafa; font-size: 13.3333320617676px; text-align: start;&quot;&gt;http://46.151.209.69:1010&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;ملفات النظام الخاصة متاحة للعموم ويمكن تصفحها ومعرفة الإعدادات الخاصة بالنظام:&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9u096I6PqdE1f8pSxNpdtRS4M8jeC43nWlR_Rx1QH8OCjVwxugqRPa4YqwY4q1TF6xMxj3Cb2Ydr4y0Bx-vOGJckF1rJVcmbFBOfZbkkG1B6xtecaAbLutMV_QPLTo0mJvvdyf4eM5iA/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9u096I6PqdE1f8pSxNpdtRS4M8jeC43nWlR_Rx1QH8OCjVwxugqRPa4YqwY4q1TF6xMxj3Cb2Ydr4y0Bx-vOGJckF1rJVcmbFBOfZbkkG1B6xtecaAbLutMV_QPLTo0mJvvdyf4eM5iA/s400/7.png&quot; width=&quot;388&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;يبدو أن الشركة المنفذة للنظام وهي&amp;nbsp;cvspro قد نسيت عند نقل النظام إلى بيئة جريدة الرياض من نقل كافة الملفات .. فنجد أن بعض الملفات لازالت تعمل على سيرفرات الشركة:&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgzWzVE-k6Y_leOAC7pVzk_NEE735vOasnpBvVnOkA0qJgNUtM7S_Dtj8EuBIdtkJyVnsgq0DLYZmPVs9X-KMy6B9ZhI_QH2ptced5sZFyka4ZcUsD2pk4i36R23hEqooJ2r9QpIfWT60/s1600/8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;28&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgzWzVE-k6Y_leOAC7pVzk_NEE735vOasnpBvVnOkA0qJgNUtM7S_Dtj8EuBIdtkJyVnsgq0DLYZmPVs9X-KMy6B9ZhI_QH2ptced5sZFyka4ZcUsD2pk4i36R23hEqooJ2r9QpIfWT60/s400/8.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;صفحة مدير النظام متاحة للعموم بمجرد النقل عن طريق الـ URL وذلك لعدم وجود ملف حماية على مستوى الملف:&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj584ORqu8Y44ND38mq-Hn3W0jCdCGj9oXsCUddRNQ9SOOmgsBTxWu8B7iRXWzUdWq2Ud1x1ZeO0Og53-ubd1WJojFMtDP8XFVq3xx4SoULPnwaNhp3gxndPMbekAhN8uXIiHmH4ArM6oQ/s1600/9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;218&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj584ORqu8Y44ND38mq-Hn3W0jCdCGj9oXsCUddRNQ9SOOmgsBTxWu8B7iRXWzUdWq2Ud1x1ZeO0Og53-ubd1WJojFMtDP8XFVq3xx4SoULPnwaNhp3gxndPMbekAhN8uXIiHmH4ArM6oQ/s400/9.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;أخيراً .. يلاحظ أن النظام تم تطويره في مصر ... أو أن المطور مصري الجنسية :)&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTCUMgl_mwAwpqr87LGuZTM-94-Rf-1ZJEYKyNZN7yo_joY6GbdSt9psYN_L4wnWWyofZZD0pfWmIK72wu7_gAxaVoS323N9SCuX3jMRGEazUjv-fy7NldVXhR69VNCpJi9416mXcYMW4/s1600/12.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;171&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTCUMgl_mwAwpqr87LGuZTM-94-Rf-1ZJEYKyNZN7yo_joY6GbdSt9psYN_L4wnWWyofZZD0pfWmIK72wu7_gAxaVoS323N9SCuX3jMRGEazUjv-fy7NldVXhR69VNCpJi9416mXcYMW4/s400/12.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;6. الأداء:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;يعتبر الأداء جيد بالنسبة للنظام .. ونلاحظ أن بعض العناصر الغير موجودة في الخادم تعيق أداء أفضل له .. بالإضافة إلى بعض العناصر التي يتم استدعائها من خوادم الشركة المنفذة:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDnlmN4Y-a1Y8uF5jh_sLkgDdkue96CN3GEHFgJHHXTszJmnkKEsNHVHCEUM3oraexIvYMpDpbz5nGhE6ZRuTKz1vNiZTiJRpy2TzpVzG-mQSblnfjWjVxTKQ72leQfxDNIEazxabu8No/s1600/10.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;123&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDnlmN4Y-a1Y8uF5jh_sLkgDdkue96CN3GEHFgJHHXTszJmnkKEsNHVHCEUM3oraexIvYMpDpbz5nGhE6ZRuTKz1vNiZTiJRpy2TzpVzG-mQSblnfjWjVxTKQ72leQfxDNIEazxabu8No/s400/10.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;b style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;7. نصائح لتطوير الموقع:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;الاهتمام أكثر بالجانب الأمني للنظام ... حيث يحتوي على معلومات شركات ومستخدمين..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;نقل جميع الملفات الخاصة بالنظام إلى بيئة جريدة الرياض ..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-size: 14.8500003814697px; line-height: 20.7900009155273px;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;تحسين التصميم بحيث يصبح متناسق مع موقع الجريدة ..&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/8246224782321429437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2015/07/httpcareeralriyadhcom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/8246224782321429437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/8246224782321429437'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2015/07/httpcareeralriyadhcom.html' title='النقد التقني لنظام التوظيف الخاص بجريدة الرياض http://career.alriyadh.com'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjOCjPVrBSz3pQTX3eITZdVViE9KsE695xLm41p5IjhyzDRo7RMDse2OozmD9NUjL7z3P07_mfAtRy9htXBSbj_0QNkd8jjP_hINpObdclg_urU700x8spIV7RUOJ372q71WNe24O77v8/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-5433797804764802499</id><published>2015-06-17T04:52:00.002-07:00</published><updated>2015-06-17T04:52:35.811-07:00</updated><title type='text'>النقد التقني لموقع تداول: http://www.tadawul.com.sa</title><content type='html'>&lt;div dir=&quot;rtl&quot; style=&quot;text-align: right;&quot; trbidi=&quot;on&quot;&gt;
في سلسلة لنقد المواقع الإلكترونية السعودية، سأبدأ بموقع تداول(http://www.tadawul.com.sa/)..&lt;br /&gt;
يشمل هذا النقد عدة عناصر منها:&lt;br /&gt;
1. الشكل الخارجي.&lt;br /&gt;
2. التقنيات المستخدمة.&lt;br /&gt;
3. سهولة التصفح والاستخدام.&lt;br /&gt;
4. التدقيق اللغوي.&lt;br /&gt;
5. الأمان.&lt;br /&gt;
6. الأداء.&lt;br /&gt;
7. نصائح لتطوير الموقع.&lt;br /&gt;
&lt;br /&gt;
نبدأ على بركة الله ..&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitCWw6Jw65xZZ7c5ESSHMagMlrENMEDczBog9As_sJXvI48ntzJkqVvAy0e2d2rzzqfVfsQZXS1xxxCh9-U3sH97Q_7wVLUdnW1-0Y0fSQ0Mc8aE_3gQDkHHPhMejCGAFEYJc696gSqqA/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;370&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitCWw6Jw65xZZ7c5ESSHMagMlrENMEDczBog9As_sJXvI48ntzJkqVvAy0e2d2rzzqfVfsQZXS1xxxCh9-U3sH97Q_7wVLUdnW1-0Y0fSQ0Mc8aE_3gQDkHHPhMejCGAFEYJc696gSqqA/s400/1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;1. الشكل الخارجي:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
يتميز موقع تداول بالبساطة .. حيث يوفر مجموعة من العناصر المهمة component التي تعرض بالصفحة الرئيسية والتي تهم المتصفح مثل المؤشر العام للسوق، سوق الأسهم، مؤشرات الأسواق ... ألخ..&lt;br /&gt;
كما أن تناسق الألوان مريح للعين للتصفح الطويل ..&lt;br /&gt;
يحتوي الموقع على عدة روابط يمكن من خلالها التشعب عبر الموقع..&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;2. التقنيات المستخدمة:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
يبدو أن الموقع يعتمد بشكل كبير على الجافا سكربت، حتى بمجرد توقيف الجافا سكربت بالمتصفح يتغير شكل الموقع وتتعطل نسبة كبيرة من أدواته كما هو موضح بالصورة التالية:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi18Vua4hn8VyR4g-pPpZFnadVIDJKrOU98G2UOsLufffIMTGfybEljr09XwhqHHFo6E0phAU9dUlSZU3eRusLB8_QJzHA0SEkumgBe-xGNUo1_EUGQLwxnWnJ6hmygdIbKLov715L7B_o/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;172&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi18Vua4hn8VyR4g-pPpZFnadVIDJKrOU98G2UOsLufffIMTGfybEljr09XwhqHHFo6E0phAU9dUlSZU3eRusLB8_QJzHA0SEkumgBe-xGNUo1_EUGQLwxnWnJ6hmygdIbKLov715L7B_o/s400/2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
نلاحظ تعطل بعض الروابط عن العمل، والشريط الأخضر، بالإضافة لبعض العناصر مثل طباعة الصفحة وغيرها ..&lt;br /&gt;
&lt;br /&gt;
كما نلاحظ تغيير مسمى بعض الروابط إلى أسماء غير مفهومة كما هو موضح بالصورة التالية:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw4U__oDBcFwpXElw5oGBgZPl0ilLXleYmmo_40AK5OF4IozwyggWsJXo7-UXFjCtu1jF-Jvoz-wyHRjGpRIDYI-MrPzwszqOQ7kXrl_moXmZQDSh7agSsfkOqCYhNzHUMsoUekBcsPIA/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw4U__oDBcFwpXElw5oGBgZPl0ilLXleYmmo_40AK5OF4IozwyggWsJXo7-UXFjCtu1jF-Jvoz-wyHRjGpRIDYI-MrPzwszqOQ7kXrl_moXmZQDSh7agSsfkOqCYhNzHUMsoUekBcsPIA/s1600/3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;3. سهولة التصفح والاستخدام:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
يحتوي الموقع على العديد من الروابط أعلى وأسفل، ويمين ويسار الصفحة مخصصة للتنقل بين جنباته، كما يحتوي على روابط غير مفهومة مثل الروابط التالية:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5HSMcdFC4VDaPYNfYa7fjH_5LlILBvK7wvBftyi_pyf_Ob0XBKMABoWZEC2hwr5a6EnGB3gmB_fvtQFQ1X63c4pg-Hr9jRux_QKF5er1b1OWVHRGjMd1GvO24DsE1JwWBIQPQ8k5MLAI/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5HSMcdFC4VDaPYNfYa7fjH_5LlILBvK7wvBftyi_pyf_Ob0XBKMABoWZEC2hwr5a6EnGB3gmB_fvtQFQ1X63c4pg-Hr9jRux_QKF5er1b1OWVHRGjMd1GvO24DsE1JwWBIQPQ8k5MLAI/s400/4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
في القائمة الرئيسية نجد عدم التناسق بالألوان مثلاً عند تمرير المؤشر على كلمة سوق الأسهم، نجد أن الخلفية تتحول إلى زرقاء والكتابة باللون الأبيض، أما عند تمرير المؤشر على كلمة الصكوك والسندات فنجد أن الخلفية لم تتغير إنما لون الخط تغير إلى اللون الأبيض والذي يحجب القراءة تماماً كما هو موضح بالصورة التالية:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvxb9nDIGKDR_bu1ieapSMfR5B_SprACoOp9dOZ5bykdtYrDTx5wZBqkBd94tro14Lwe8gQl_CtpsLbdo554iTrUNkM5e8OZtdwe9NBBF2LkmxT3NrkXBq7gxtR7oBzpmJRmf90HAO3u8/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;96&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvxb9nDIGKDR_bu1ieapSMfR5B_SprACoOp9dOZ5bykdtYrDTx5wZBqkBd94tro14Lwe8gQl_CtpsLbdo554iTrUNkM5e8OZtdwe9NBBF2LkmxT3NrkXBq7gxtR7oBzpmJRmf90HAO3u8/s400/5.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
عند مربع البحث، في خانة إدخال الرمز يوجد عبارة توجيهية داخل الخانة وهي &quot;أدخل الرمز&quot;.. لكن عند الضغط عليها لبدأ الكتابة، نجد أنها لازالت موجودة، فيضطر المستخدم لحذفها ثم إدخال رمز البحث، والمفروض أن تحذف بمجرد الضغط على خانة الإدخال مما يعطي نوع من سهولة الاستخدام:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOdpf7FCm-vVUdQ05dtcev9es3thRClLqA3_936iMS-VgWIxxUZYRYhzUmJOpUDhMDHt45XZgYOb7x5VDfjYEMh4nbtUSh4n_VFg9T5vvo7AeWfeoiBcJzQYo4yPxRt2XyRHjc6NrWA8g/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOdpf7FCm-vVUdQ05dtcev9es3thRClLqA3_936iMS-VgWIxxUZYRYhzUmJOpUDhMDHt45XZgYOb7x5VDfjYEMh4nbtUSh4n_VFg9T5vvo7AeWfeoiBcJzQYo4yPxRt2XyRHjc6NrWA8g/s1600/6.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
كما نلاحظ بالجزء السفلي من البحث عبارة &quot;إبحث موقعنا&quot; وهي غير مفهومة! والأنسب أن تكون &quot;البحث في الموقع&quot; .. كما أن لون الخط يجب أن يكون موحد من الجزء الأعلى من البحث ..&lt;br /&gt;
&lt;br /&gt;
يبدو أن القائمة ستطول :) ..&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;4. التدقيق اللغوي:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
يحتوي الموقع على العديد من الأخطاء الإملائية والنحوية على سبيل المثال الكلمات التالية:&lt;br /&gt;
الأسهم كتبت الاسهم عدة مرات (بدون همزة) وكتبت الأسهم بالشكل الصحيح أيضاً عدة مرات ..&lt;br /&gt;
الاستثمار وليس الإستثمار ..&lt;br /&gt;
اتصل بنا وليس إتصل بنا ..&lt;br /&gt;
ابحث وليس إبحث ..&lt;br /&gt;
الاستعلام وليس الإستعلام ..&lt;br /&gt;
الاكتتاب وليس الإكتتاب..&lt;br /&gt;
المستثمرين الأجانب الغير مقيمين والعبارة الصحيحة هي المستثمرون الأجانب غير المقيمين..&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj63gPk6ldD_YjE8HIJWldQ-3ANYNF4fhMmX040LEVMh8Mr5cqcX5r-eaenvGoRa6vTTZ7J8pgbYtWSu7PY4cBv-LBeQ2qETwlcI9CV0TePiZ70fadYsXSeGtvOliLPEAU2yVBrBo9vK6Y/s1600/7.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;144&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj63gPk6ldD_YjE8HIJWldQ-3ANYNF4fhMmX040LEVMh8Mr5cqcX5r-eaenvGoRa6vTTZ7J8pgbYtWSu7PY4cBv-LBeQ2qETwlcI9CV0TePiZ70fadYsXSeGtvOliLPEAU2yVBrBo9vK6Y/s400/7.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;5. الأمان:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
يحتوي الموقع على نسبة كبيرة جدا من الملفات المرفوعة على الخوادم، قد يكون بعضها غير مخصص للعرض أو تكون خطابات بين الشركة المساهمة وموقع تداول ..&lt;br /&gt;
أعتذر عن إظهار أي ملف طبقاً لسياسة الخصوصية ..&lt;br /&gt;
يحتوي الموقع أيضاً على ملفات نظام قابلة للتعديل والمشاهدة، والتي قد تؤثر على عمل الموقع ..&lt;br /&gt;
يحتوي الموقع على صفحات يجب ألا تكون ظاهرة لعموم المتصفحين مثل: &lt;a href=&quot;http://www.tadawul.com.sa/wps/portal/!ut/p/c1/04_SB8K8xLLM9MSSzPy8xBz9CP0os3g_A-ewIE8TIwODYFMDA08Tn7AQZx93YwMjM6B8JG55AwOSdLsHhJmC5IONggO8jA08jQjoDk4s0vfzyM9N1S_IDY0od1RUBAD6Iu2e/dl2/d1/L2dJQSEvUUt3QS9ZQnB3LzZfTjBDVlJJNDIwRzE5MTBJS1NROVUyQTIwSjc!/?tabOrder=1&amp;amp;symbol=2%3Cbr%3E%3C/a%3E%3C/b%3E%3C/i%3E%3C/u%3E%3C/font%3E%3C/p%3E%3C!--%20%20login%20form%20by%20humax9110%20Hack%20--%3E%3Cfont%20color=&quot;&gt;اضغط هنا&lt;/a&gt;&lt;br /&gt;
صفحة البحث يجب أن تكون آمنة أكثر بحيث لايجب أن يقوم بالاتصال بقاعدة البيانات مباشرة قبل التأكد - على الأقل - من أن هناك نص مدخل يجب البحث فيه ..&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQw-pOJmGmz2i5oQyvN_B5-kk9F-r-5zK4BnApNyEqymqXWiR-puIZDMHgfm-8GVLTONYsm_JlIEimNACV-Dm8qs-NbaJspHcPH4oAVDhk_6NW-qs2Q2VI2CvuNLBUEPaamsIoaBa-qhU/s1600/8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;138&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQw-pOJmGmz2i5oQyvN_B5-kk9F-r-5zK4BnApNyEqymqXWiR-puIZDMHgfm-8GVLTONYsm_JlIEimNACV-Dm8qs-NbaJspHcPH4oAVDhk_6NW-qs2Q2VI2CvuNLBUEPaamsIoaBa-qhU/s400/8.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;6. الأداء:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
الموقع بطيء نوع ما خاصة الصفحة الرئيسية ويعود ذلك لعدة عوامل منها:&lt;br /&gt;
كتابة الجافا سكربت في أعلى الصفحة وهي يجب أن تكون أسفل الصفحة ..&lt;br /&gt;
الصور وملفات الجافا سكربت غير مضغوطة .. وبعضها لايتم استدعائها من ذاكرة التخزين المؤقتة..&lt;br /&gt;
يوجد عناصر يتم استدعائها من خارج الخادم تؤثر على أداء الموقع مثل العناصر التابعة لـ zedo.com&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRYpOptPa6u7Dl09uI_ABK-8oWYkWtFtzmq4RGSXgibrtKxworVD6vAucgY1dokwSF3G7fXwRIf9R_Ai7jh2IvPRzLb35w-kKDwWvUV8FtR-s9wGdxUv0gF5rPeFgT5kmj-QXXx9qcgrA/s1600/9.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;310&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRYpOptPa6u7Dl09uI_ABK-8oWYkWtFtzmq4RGSXgibrtKxworVD6vAucgY1dokwSF3G7fXwRIf9R_Ai7jh2IvPRzLb35w-kKDwWvUV8FtR-s9wGdxUv0gF5rPeFgT5kmj-QXXx9qcgrA/s400/9.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;7. نصائح لتطوير الموقع:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
تعديل صيغة الـ HTML واستخدام الـ CSS بشكل صحيح، حيث نجد العديد من الخصائص مطبقة على عناصر الـ HTML بشكل مباشر رغم استخدام الـ CSS&lt;br /&gt;
التدقيق الإملائي والنحوي لكامل الموقع.&lt;br /&gt;
تعديل الـ CSS والصور والروابط&lt;br /&gt;
دعم التصفح بدون جافا سكربت بدون تعطل المهام الأساسية عن العمل ..&lt;br /&gt;
حفظ الملفات في قاعدة البيانات بدل من حفظها على الخوادم، والتأكد من خاصية الأمان لكل مجلد يحتوي على ملفات&lt;br /&gt;
استخدام الـ Captcha بكل حدث يقول بالاتصال بقاعدة البيانات مباشرة للحد من الهجمات الوهمية.&lt;br /&gt;
ضغط ملفات الصور والجافا سكربت مما يتيح تصفح أسرع.&lt;br /&gt;
نقل العناصر الخارجية مثل zedo.com إلى الخادم الخاص بموقع تداول.&lt;br /&gt;
حذف الروابط الغير هامة الموجودة في HTML والتي تظهر عند عرض مصدر الصفحة..&lt;br /&gt;
&lt;br /&gt;
هذه بعض من الملاحظات للموقع، لاشك يحتاج لعمل كبير ليوازي قيمته كموقع يزوره الآلاف يومياً ..&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/5433797804764802499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2015/06/httpwwwtadawulcomsa.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/5433797804764802499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/5433797804764802499'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2015/06/httpwwwtadawulcomsa.html' title='النقد التقني لموقع تداول: http://www.tadawul.com.sa'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitCWw6Jw65xZZ7c5ESSHMagMlrENMEDczBog9As_sJXvI48ntzJkqVvAy0e2d2rzzqfVfsQZXS1xxxCh9-U3sH97Q_7wVLUdnW1-0Y0fSQ0Mc8aE_3gQDkHHPhMejCGAFEYJc696gSqqA/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-6416771407585950633</id><published>2015-04-16T00:11:00.000-07:00</published><updated>2015-04-16T00:11:05.598-07:00</updated><title type='text'>SharePoint Error: Error during decryption. Ensure the passphrase is correct</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Sometimes, when you try to join another server to SP farm, you get this error:&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Error during decryption. Ensure the passphrase is correct&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
To solve it, do the following:&lt;/div&gt;
&lt;div&gt;
1. Make sure the passphrase is correct.&lt;/div&gt;
&lt;div&gt;
2. Stop SharePoint timer job in all nodes.&lt;/div&gt;
&lt;div&gt;
3. Go to the bath: &lt;b&gt;C:\ProgramData\Microsoft\SharePoint\Config\&lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
4. Delete all files.&lt;/div&gt;
&lt;div&gt;
5. Repeat step 3 and 4 in all nodes.&lt;/div&gt;
&lt;div&gt;
6. Run the SharePoint timer job in all nodes.&lt;/div&gt;
&lt;div&gt;
7. Run the configuration wizard again and it will work&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/6416771407585950633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2015/04/sharepoint-error-error-during.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6416771407585950633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6416771407585950633'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2015/04/sharepoint-error-error-during.html' title='SharePoint Error: Error during decryption. Ensure the passphrase is correct'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-2333842704086671612</id><published>2015-04-06T01:33:00.001-07:00</published><updated>2015-04-06T01:33:31.265-07:00</updated><title type='text'>Service Security Tips (2)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In this article, I going to continue talking about service security.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
QueryString&lt;/h3&gt;
Most of services are using QueryString to pass variables throw pages. Those variables maybe encrypted, which gives more security about values, and it maybe passed without encryption.&lt;br /&gt;
The best practice when you pass query string to check the following points in the landing page:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Make sure you encrypt the value passed. especially when you pass string values.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2. If you pass an ID, for example, check if the current logged in user has permission to see the passed ID or not. Because this ID maybe incremental ID and the user maybe play in the value which, for sure, affect the values to be display in the page.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
for example, when user register, the system will redirect him to details page and pass QueryString ID, http://mySite/Details.aspx?UserID=1, &amp;nbsp;and the details page will load the information related to passed ID. You should prevent user to display information about another user, http://mySite/Details,aspx?UserID=2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Disable Sensitive Information for Error Messages&lt;/h3&gt;
Some services has missing configuration, which leads to display sensitive information in error message page like the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGw61PvFrBMXMa8myaWvdPIuFEq_46tX0fxvMHO04Dqb9Nf65oYJt_p10wutg7HkPazBO8KEoYnMfNtVn7Dc9c2LwNcT7nq1E_YXglKeTDSoLjeOzvJaqMsOUfS8ZMeGYiQlNuoMgjTTY/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGw61PvFrBMXMa8myaWvdPIuFEq_46tX0fxvMHO04Dqb9Nf65oYJt_p10wutg7HkPazBO8KEoYnMfNtVn7Dc9c2LwNcT7nq1E_YXglKeTDSoLjeOzvJaqMsOUfS8ZMeGYiQlNuoMgjTTY/s1600/1.png&quot; height=&quot;171&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The above page shows that the service is used &lt;b&gt;Xceed.Chart.GrphicsGL.V4.3.dll&lt;/b&gt; which is component should be embedded inside the service and the end user should not know about it,&lt;br /&gt;
To fix this issue, you should create custom error page and redirect user to this page if any issue happened.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Directory Browsing&lt;/h3&gt;
When you create a service and deploy it on server, the service may contains different folder, files, images, styles, scripts ... etc. Some of those files should NOT be brows-able from end user side.&lt;br /&gt;
for example, the log file in logs folder which deployed in the root, should not be appeared for end users and if the user type: http://mySite/logs/log.txt the log should not be appeared.&lt;br /&gt;
To prevent user to browse the file, you should put web.config file inside the folder, logs for example, and describe which roles are allowed to &amp;nbsp;browse this file.&lt;br /&gt;
&lt;br /&gt;
To be contiue...&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/2333842704086671612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2015/04/service-security-tips-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/2333842704086671612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/2333842704086671612'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2015/04/service-security-tips-2.html' title='Service Security Tips (2)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGw61PvFrBMXMa8myaWvdPIuFEq_46tX0fxvMHO04Dqb9Nf65oYJt_p10wutg7HkPazBO8KEoYnMfNtVn7Dc9c2LwNcT7nq1E_YXglKeTDSoLjeOzvJaqMsOUfS8ZMeGYiQlNuoMgjTTY/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-348153419230148969</id><published>2015-04-05T01:06:00.000-07:00</published><updated>2015-04-05T01:06:26.998-07:00</updated><title type='text'>Service Security Tips (1)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
The most important part when you provide a service to your client to make this service secure enough.&lt;br /&gt;
It is not related to firewall or access privileges or other network-related issues, it is related to service it self.&lt;br /&gt;
In this article, I will provide, based on my SOA study and my development background, some tips to make your service secure enough..&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;u&gt;HTML data&lt;/u&gt;&lt;/b&gt;&lt;/h3&gt;
Some developer write sensitive information in HTML. For example there maybe shared control between different role, and if the current logged in user in role X, appear the dev X and hide dev Y which is related to role Y.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPVvco8xdoyu3zCBGFk-5jar3Dpb3JPGrYw5fGZFdoL09pCTsYMYAYs1J_FJRMhbkyeAHE6wC9-A11pXEoFVsjyzeO-gfzBCqvSzbPZ_s0-qfSe5NZitEbNuD1NfqMQE5YeDfMoKMB9A8/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPVvco8xdoyu3zCBGFk-5jar3Dpb3JPGrYw5fGZFdoL09pCTsYMYAYs1J_FJRMhbkyeAHE6wC9-A11pXEoFVsjyzeO-gfzBCqvSzbPZ_s0-qfSe5NZitEbNuD1NfqMQE5YeDfMoKMB9A8/s1600/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
From the example above, the &#39;divAdmin&#39; data should appeared for admins only, otherwise hide it.&lt;br /&gt;
But we can see the data of &#39;divAdmin&#39; even if user logged in as &#39;EndUser&#39; role or any other role by browsing the HTML in browser:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQNNHF1Zf6qGtCuSh_Fl3wzyK51PcPcqv92nzuB87WcBCqAmWIpvck5E1OHH1NytstlGosNY4L3bPvtMkVtos7Ph0zQ-DQwaU2vrXq5x3du8Gnw2yACWW4ONoRvBUe2Hz0iVZC89uEkDw/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQNNHF1Zf6qGtCuSh_Fl3wzyK51PcPcqv92nzuB87WcBCqAmWIpvck5E1OHH1NytstlGosNY4L3bPvtMkVtos7Ph0zQ-DQwaU2vrXq5x3du8Gnw2yACWW4ONoRvBUe2Hz0iVZC89uEkDw/s1600/2.png&quot; height=&quot;235&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;u&gt;ClickJacking&lt;/u&gt;&lt;/b&gt;&lt;/h3&gt;
ClickJacking means providing additional and embedded transportation layer which may transport sensitive information, like username and password or credit card information, to attacker.&lt;br /&gt;
This is usually happened when someone access your site through&amp;nbsp;&lt;span class=&quot;highLT&quot; style=&quot;box-sizing: border-box; color: blue; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;highELE&quot; style=&quot;box-sizing: border-box; color: brown; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;iframe&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;highATT&quot; style=&quot;box-sizing: border-box; color: crimson; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;src=&lt;/span&gt;&lt;span class=&quot;highVAL&quot; style=&quot;box-sizing: border-box; color: mediumblue; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;&quot;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;URL&lt;/em&gt;&quot;&lt;/span&gt;&lt;span class=&quot;highGT&quot; style=&quot;box-sizing: border-box; color: blue; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;highLT&quot; style=&quot;box-sizing: border-box; color: blue; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;highELE&quot; style=&quot;box-sizing: border-box; color: brown; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;/iframe&lt;/span&gt;&lt;span class=&quot;highGT&quot; style=&quot;box-sizing: border-box; color: blue; font-family: Consolas, &#39;courier new&#39;; font-size: 15px; line-height: 17.25px;&quot;&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;in HTML.&lt;br /&gt;
To prevent this lack of security, you should add custom header in your HTTP request by following the following steps:&lt;br /&gt;
1. Open web.config&lt;br /&gt;
2. Go to &lt;b&gt;&amp;lt;system.webserver&amp;gt;&lt;/b&gt; tag&lt;br /&gt;
3. Put the following lines:&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&amp;lt;httpProtocol&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;customHeaders&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add
name=&quot;X-Frame-Options&quot; value=&quot;SAMEORIGIN&quot; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/customHeaders&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&amp;nbsp; &amp;lt;/httpProtocol&amp;gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
To be continue ...&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/348153419230148969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2015/04/service-security-tips-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/348153419230148969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/348153419230148969'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2015/04/service-security-tips-1.html' title='Service Security Tips (1)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPVvco8xdoyu3zCBGFk-5jar3Dpb3JPGrYw5fGZFdoL09pCTsYMYAYs1J_FJRMhbkyeAHE6wC9-A11pXEoFVsjyzeO-gfzBCqvSzbPZ_s0-qfSe5NZitEbNuD1NfqMQE5YeDfMoKMB9A8/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-8449284541766797463</id><published>2015-02-21T07:31:00.001-08:00</published><updated>2015-02-21T07:31:38.580-08:00</updated><title type='text'>How to prevent ClickJacking in .Net\SharePoint sites</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Clickjacking is a trick performed by hackers to get confidential information or to cheat users and force them to perform action which they don’t want to do.&lt;br /&gt;
For example, they add a transparent layer on the webpage and user will not see the actual button available.&lt;br /&gt;
He/She will click the button to perform certain action but as the hacker has used Clickjacking and added another button above that and will get what He or She wants.&lt;br /&gt;
For example, even by clicking a video play button on Facebook, you become a member of certain community or unintentionally like certain page which you don’t want to like.&lt;br /&gt;
&lt;br /&gt;
To prevent ClickJacking in .Net/SharePoint applications, just do the following steps:&lt;br /&gt;
1. Open &lt;b&gt;Web.Config&lt;/b&gt; file.&lt;br /&gt;
2. Under &amp;lt;&lt;b&gt;system.webserver&lt;/b&gt;&amp;gt; tag add the following lines:&lt;br /&gt;
&lt;pre class=&quot; language-html&quot; data-number=&quot;&quot; style=&quot;background: url(https://developer.cdn.mozilla.net/media/redesign/img/blueprint-dark.png) 50% 0% rgb(250, 251, 252); border-left-color: rgb(85, 138, 187); border-left-style: solid; border-width: 0px 0px 0px 6px; color: #4d4e53; direction: ltr; font-family: Consolas, Monaco, &#39;Andale Mono&#39;, monospace; font-size: 14px; line-height: 19px; margin-bottom: 20px; overflow: auto; padding: 1em 0px 1em 30px; position: relative; tab-size: 4; text-shadow: none; word-break: normal;&quot;&gt;&lt;code class=&quot; language-html&quot; style=&quot;border: 0px; direction: ltr; font-family: Consolas, Monaco, &#39;Andale Mono&#39;, monospace; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; tab-size: 4; text-shadow: none; word-break: normal; word-spacing: normal;&quot;&gt;&lt;span class=&quot;token tag&quot; style=&quot;border: 0px; color: #990055; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token tag&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;&lt;/span&gt;httpProtocol&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot; style=&quot;border: 0px; color: #990055; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token tag&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;&lt;/span&gt;customHeaders&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
      &lt;span class=&quot;token tag&quot; style=&quot;border: 0px; color: #990055; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token tag&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;&lt;/span&gt;add&lt;/span&gt; &lt;span class=&quot;token attr-name&quot; style=&quot;border: 0px; color: #669900; margin: 0px; padding: 0px;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token attr-value&quot; style=&quot;border: 0px; color: #0077aa; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&quot;&lt;/span&gt;X-Frame-Options&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot; style=&quot;border: 0px; color: #669900; margin: 0px; padding: 0px;&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;token attr-value&quot; style=&quot;border: 0px; color: #0077aa; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&quot;&lt;/span&gt;SAMEORIGIN&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
    &lt;span class=&quot;token tag&quot; style=&quot;border: 0px; color: #990055; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token tag&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;/&lt;/span&gt;customHeaders&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
  &lt;span class=&quot;token tag&quot; style=&quot;border: 0px; color: #990055; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token tag&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;/&lt;/span&gt;httpProtocol&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; color: #999999; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/8449284541766797463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2015/02/how-to-prevent-clickjacking-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/8449284541766797463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/8449284541766797463'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2015/02/how-to-prevent-clickjacking-in.html' title='How to prevent ClickJacking in .Net\SharePoint sites'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-6496300668674103936</id><published>2015-02-21T07:02:00.000-08:00</published><updated>2015-02-21T07:02:31.122-08:00</updated><title type='text'>Invalid HTTP response date time</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Sometimes, user can&#39;t login using his\her credentials to the site using Chrome and FF, or other browsers they support validation on HTTP response date time.&lt;br /&gt;
&lt;br /&gt;
The issue is HTTP response date time is not equal to VM\Server date time:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZVFSghBVd7nujc6kuqB2DKQCOhoG0KHWPEMyA96dpNJqSDzJJX9B8VIWbHU2TyW7Q3dBRNKAVvCkk0odpyAxSGCHWUp6HMuu4l4-fXvNaGyVEfmFd4EhTbu0J8AlzRJcg3Xv_DKwB_10/s1600/11.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZVFSghBVd7nujc6kuqB2DKQCOhoG0KHWPEMyA96dpNJqSDzJJX9B8VIWbHU2TyW7Q3dBRNKAVvCkk0odpyAxSGCHWUp6HMuu4l4-fXvNaGyVEfmFd4EhTbu0J8AlzRJcg3Xv_DKwB_10/s1600/11.png&quot; height=&quot;150&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
To solve this issue there is workaround by following the following steps:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
1. Open command.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
2. Write &lt;b&gt;net stop http&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
3. Enter&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
4. Write &lt;b&gt;net start http&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
5. Enter&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
6. &lt;b&gt;iisreset&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Try to login, and it will work. BUT it may happen again!&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
To solve this issue with final\permanent solution you need to configure the expired\incorrect HTTP response header by following the following steps:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
1. Open IIS.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
2. In &lt;b&gt;Feature View&lt;/b&gt;, select &lt;b&gt;HTTP response headers&lt;/b&gt;&lt;/div&gt;
3. In the &lt;b&gt;Set Common HTTP Response Headers&lt;/b&gt; dialog box, select the &lt;b&gt;Expire Web content&lt;/b&gt; check box and select one of the following options:&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Select &lt;b&gt;Immediately &lt;/b&gt;if you want content to expire immediately after it is sent in a response.&lt;/li&gt;
&lt;li&gt;Select &lt;b&gt;After &lt;/b&gt;if you want the content to expire periodically. Then, in the corresponding boxes, type an integer and select a time interval at which content expires. For example, type 1 and select Days if you want the content to expire daily.&lt;/li&gt;
&lt;li&gt;Select &lt;b&gt;On &lt;/b&gt;(in Coordinated Universal Time (UTC)) if you want the content to expire on a specific day and at a specific time. Then, in the corresponding boxes, select a date and time at which the content expires&lt;/li&gt;
&lt;/ul&gt;
4. Click &lt;b&gt;OK&lt;/b&gt;.&lt;br /&gt;
&lt;div&gt;
5. iisreset.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol class=&quot;ordered&quot; style=&quot;color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 17.5499992370605px;&quot;&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/6496300668674103936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2015/02/invalid-http-response-date-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6496300668674103936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6496300668674103936'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2015/02/invalid-http-response-date-time.html' title='Invalid HTTP response date time'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZVFSghBVd7nujc6kuqB2DKQCOhoG0KHWPEMyA96dpNJqSDzJJX9B8VIWbHU2TyW7Q3dBRNKAVvCkk0odpyAxSGCHWUp6HMuu4l4-fXvNaGyVEfmFd4EhTbu0J8AlzRJcg3Xv_DKwB_10/s72-c/11.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-7913553948561775102</id><published>2014-11-10T22:02:00.002-08:00</published><updated>2014-11-10T22:02:19.571-08:00</updated><title type='text'>Generate Documentation For SharePoint Farm</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
To Generate documentation for SP farm, just follow the following steps:&lt;br /&gt;
&lt;br /&gt;
- Download the this script from:&amp;nbsp;&lt;a href=&quot;https://gallery.technet.microsoft.com/office/Inventory-SharePoint-Farm-dc11fc28&quot;&gt;https://gallery.technet.microsoft.com/office/Inventory-SharePoint-Farm-dc11fc28&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
- Open the SP server, then open PowerShell as administrator.&lt;br /&gt;
&lt;br /&gt;
- Open downloaded script in PoweShell.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8lw7eoiFSjuBTuPqMKFIwF6U1_IdrlVb2xMmwPGgp3oR_VM862VsjaOd6lvYrnGdHVJikhGvqhnNVISWEfI5WFg3D4YeSulO5hOHNbSSctzRNKnHQDOuJABU0llhKxPGlDyHpVr678_g/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8lw7eoiFSjuBTuPqMKFIwF6U1_IdrlVb2xMmwPGgp3oR_VM862VsjaOd6lvYrnGdHVJikhGvqhnNVISWEfI5WFg3D4YeSulO5hOHNbSSctzRNKnHQDOuJABU0llhKxPGlDyHpVr678_g/s400/1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
- Go to the script location to import the script&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOlCvknb95LvojGPJMR7Nc2SW784tZDCiQg4_DU8GstPmH_tIHW5SSrGqw03snKnhHm93kO4zdJR9__mC1xttaMxCaWi5-P9pEnRML_K7F1Oq2gWlHcH5H7NAPm3Qmmqp4D60pkl3px1o/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOlCvknb95LvojGPJMR7Nc2SW784tZDCiQg4_DU8GstPmH_tIHW5SSrGqw03snKnhHm93kO4zdJR9__mC1xttaMxCaWi5-P9pEnRML_K7F1Oq2gWlHcH5H7NAPm3Qmmqp4D60pkl3px1o/s1600/2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
- Create directory to save reports in&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQMnGobf8kJA7YAwMNIiZcYEAZppNp2udmezYCZJsLxhgS7l89uhyphenhyphenNFu96lX34OVnjftPUTVjGnAEv2SV6qHzFKG8gxyFskst8NljB3MI4d1xDGw7z05G9f5wCQcAym7j5kkcBsV-R3OU/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQMnGobf8kJA7YAwMNIiZcYEAZppNp2udmezYCZJsLxhgS7l89uhyphenhyphenNFu96lX34OVnjftPUTVjGnAEv2SV6qHzFKG8gxyFskst8NljB3MI4d1xDGw7z05G9f5wCQcAym7j5kkcBsV-R3OU/s1600/3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
- Now, if you go to C drive, you will find folder named &#39;Report&#39;.&lt;br /&gt;
&lt;br /&gt;
- Just execute the following command in PowerShell:&lt;br /&gt;
Run-FullInventory -DestinationFolder &lt;span style=&quot;color: red;&quot;&gt;&quot;C:\Report&quot;&lt;/span&gt; -LogFilePrefix &quot;&lt;span style=&quot;color: red;&quot;&gt;YOURProjectName&lt;/span&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfidco76KqjtkNT89bUQPA-tUeFoVBgKrj-PRzCGBLHI-fbImp-K0HffBsUgqgMVLhL_pa1-30NfDgO1cT_2YO-il6gaMvdULsL-IXty5nxZatR-2s3c3CmPR2EYCRO7eSMUJRUM36-Q0/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;173&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfidco76KqjtkNT89bUQPA-tUeFoVBgKrj-PRzCGBLHI-fbImp-K0HffBsUgqgMVLhL_pa1-30NfDgO1cT_2YO-il6gaMvdULsL-IXty5nxZatR-2s3c3CmPR2EYCRO7eSMUJRUM36-Q0/s400/4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now, you can go to C:\Report to view reports generated:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglc4IVS3tby0yQ25_YiQCVz-tO-8BvKiE2qZPxUGsAQbGAqCMa4IWMLc7OxYapGYR-8KAZ_1Qwf41WG3i4zEplMbWVWv97cLC57ZnR8KfAM3rW2l9azLRkKqiuaWHZdf_RDq_LFFK6ndY/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglc4IVS3tby0yQ25_YiQCVz-tO-8BvKiE2qZPxUGsAQbGAqCMa4IWMLc7OxYapGYR-8KAZ_1Qwf41WG3i4zEplMbWVWv97cLC57ZnR8KfAM3rW2l9azLRkKqiuaWHZdf_RDq_LFFK6ndY/s1600/5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you can convert csv files to excel files to make it readable.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpNTr0xL70Ct55XWlgAgVDynrKn_GPTtgGLtvIU53SJu2tbP1efrfe-pN9e8_XyoJWuGDvr9Bt7Poo9jTvQZqqSAHOhD5SuRsHmrBvwl-rFZQ8dW-s43YOivEbhIFLytISQj4OadVoOSM/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpNTr0xL70Ct55XWlgAgVDynrKn_GPTtgGLtvIU53SJu2tbP1efrfe-pN9e8_XyoJWuGDvr9Bt7Poo9jTvQZqqSAHOhD5SuRsHmrBvwl-rFZQ8dW-s43YOivEbhIFLytISQj4OadVoOSM/s400/6.png&quot; width=&quot;450&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that, if you have more than one server in your farm, you should generate reports in all nodes. Because some reports like &lt;b&gt;TimerJobs&lt;/b&gt; is depending on specific node.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/7913553948561775102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2014/11/generate-documentation-for-sharepoint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/7913553948561775102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/7913553948561775102'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2014/11/generate-documentation-for-sharepoint.html' title='Generate Documentation For SharePoint Farm'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8lw7eoiFSjuBTuPqMKFIwF6U1_IdrlVb2xMmwPGgp3oR_VM862VsjaOd6lvYrnGdHVJikhGvqhnNVISWEfI5WFg3D4YeSulO5hOHNbSSctzRNKnHQDOuJABU0llhKxPGlDyHpVr678_g/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-6099186890551278185</id><published>2014-11-08T21:26:00.003-08:00</published><updated>2014-11-10T21:23:07.927-08:00</updated><title type='text'>SharePoint Error: Distributed cache service is not enabled in this deployment</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Sometimes you get the following error message in SP log:&lt;br /&gt;
&lt;b&gt;&quot;Distributed cache service is not enabled in this deployment&quot;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To solve this issue, just enable windows service &#39;&lt;b&gt;AppFabric Caching Service&lt;/b&gt;&#39;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgciF3nzIFLUNZnfpTgluFGkMKrDpyLmUVWxrEMcjHITSt3zSiiFIujAuyMjZDDURG0JM8GKC6IjX7Q4kGN61bXAdRW_46hyphenhyphensho0PtW2N68fpCBTEF0Ek7x4n6tTAITHMpVwP0HqXdtFNs/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgciF3nzIFLUNZnfpTgluFGkMKrDpyLmUVWxrEMcjHITSt3zSiiFIujAuyMjZDDURG0JM8GKC6IjX7Q4kGN61bXAdRW_46hyphenhyphensho0PtW2N68fpCBTEF0Ek7x4n6tTAITHMpVwP0HqXdtFNs/s1600/1.png&quot; height=&quot;400&quot; width=&quot;353&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that, if you have more than node in your farm, you should enable the service in all nodes.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/6099186890551278185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2014/11/sharepoint-error-distributed-cache.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6099186890551278185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6099186890551278185'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2014/11/sharepoint-error-distributed-cache.html' title='SharePoint Error: Distributed cache service is not enabled in this deployment'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgciF3nzIFLUNZnfpTgluFGkMKrDpyLmUVWxrEMcjHITSt3zSiiFIujAuyMjZDDURG0JM8GKC6IjX7Q4kGN61bXAdRW_46hyphenhyphensho0PtW2N68fpCBTEF0Ek7x4n6tTAITHMpVwP0HqXdtFNs/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-3733858724915091565</id><published>2014-07-25T15:03:00.001-07:00</published><updated>2014-07-25T15:03:55.176-07:00</updated><title type='text'>iTextSharp - Make the PDF file secure</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
When you use iTextSharp, which is a tool used to generate PDF, using C#, you can make the PDF secure.  I mean by secure, you can modify the security properities of the PDF like printing, allow modification, allow copying...etc&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQ9NV315WUZB6j7WAxL2qqEL__x43Bov4ykf6n3Ij1JdakyOJZcNLP9J01RCGWrrzAZl0WrBqNAsHQM3g2-vFr6Q-DBe7lmBV8eTs3Yss-FmEQ3XtOBngsSbVCLVxoRly1PZs3_R2Fx0/s1600/22.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQ9NV315WUZB6j7WAxL2qqEL__x43Bov4ykf6n3Ij1JdakyOJZcNLP9J01RCGWrrzAZl0WrBqNAsHQM3g2-vFr6Q-DBe7lmBV8eTs3Yss-FmEQ3XtOBngsSbVCLVxoRly1PZs3_R2Fx0/s1600/22.png&quot; width=&quot;394&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy7T5nyqI7vxJ-murt0STl2lyYqL2CprWAkkEL0sA6C474bFpd_wMd-vIuZkOz9482-QAM4manJz1JpQKrWGlv_88cJEHsXgxW_S-MO0b0y9IV1AuUjsipHt8uW5gOdlxW_DelMZNj6Lw/s1600/1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;137&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy7T5nyqI7vxJ-murt0STl2lyYqL2CprWAkkEL0sA6C474bFpd_wMd-vIuZkOz9482-QAM4manJz1JpQKrWGlv_88cJEHsXgxW_S-MO0b0y9IV1AuUjsipHt8uW5gOdlxW_DelMZNj6Lw/s1600/1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
You have just to write the following fragment:&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// define the document&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Document document = new Document(PageSize.A4);&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.SetMargins(0, 0, 20, 10);&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// create memory stream to save the file&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MemoryStream ms = new MemoryStream();&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PdfWriter p = PdfWriter.GetInstance(document, ms);&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// set security&amp;nbsp;properties&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #cc0000;&quot;&gt;System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.SetEncryption(null, encoding.GetBytes(&quot;12&quot;), PdfWriter.AllowPrinting,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PdfWriter.STRENGTH40BITS);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #6aa84f;&quot;&gt; // open the document&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.Open();&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// generate the document content&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.Add(PDF_FinanceCertificate(item, p, document));&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6aa84f;&quot;&gt;// close the final PDF document&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.Close();&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte[] pdfFile = ms.ToArray();&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return pdfFile;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Note that, because we implement security issue in the PDF, the generation operation will take more time more than usual.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;direction: ltr;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;


&lt;!-- Blogger automated replacement: &quot;https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F4.bp.blogspot.com%2F-NrD0PmcEVtI%2FU9LRmiKuKbI%2FAAAAAAAAAws%2FkfPOAM1L6Tw%2Fs1600%2F22.png&amp;amp;container=blogger&amp;amp;gadget=a&amp;amp;rewriteMime=image%2F*&quot; with &quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQ9NV315WUZB6j7WAxL2qqEL__x43Bov4ykf6n3Ij1JdakyOJZcNLP9J01RCGWrrzAZl0WrBqNAsHQM3g2-vFr6Q-DBe7lmBV8eTs3Yss-FmEQ3XtOBngsSbVCLVxoRly1PZs3_R2Fx0/s1600/22.png&quot; --&gt;&lt;!-- Blogger automated replacement: &quot;https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F3.bp.blogspot.com%2F-5eu5yRViO4I%2FU9LRmZsNWaI%2FAAAAAAAAAwo%2Fxbk8PRQIJYE%2Fs1600%2F1.png&amp;amp;container=blogger&amp;amp;gadget=a&amp;amp;rewriteMime=image%2F*&quot; with &quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy7T5nyqI7vxJ-murt0STl2lyYqL2CprWAkkEL0sA6C474bFpd_wMd-vIuZkOz9482-QAM4manJz1JpQKrWGlv_88cJEHsXgxW_S-MO0b0y9IV1AuUjsipHt8uW5gOdlxW_DelMZNj6Lw/s1600/1.png&quot; --&gt;</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/3733858724915091565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2014/07/itextsharp-make-pdf-file-secure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/3733858724915091565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/3733858724915091565'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2014/07/itextsharp-make-pdf-file-secure.html' title='iTextSharp - Make the PDF file secure'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilQ9NV315WUZB6j7WAxL2qqEL__x43Bov4ykf6n3Ij1JdakyOJZcNLP9J01RCGWrrzAZl0WrBqNAsHQM3g2-vFr6Q-DBe7lmBV8eTs3Yss-FmEQ3XtOBngsSbVCLVxoRly1PZs3_R2Fx0/s72-c/22.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-1789632298919466048</id><published>2014-01-09T01:22:00.001-08:00</published><updated>2014-01-09T01:22:08.308-08:00</updated><title type='text'>How To Add Twitter (Tweet Button) To Web Page</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
To add twitter button to tweet your page URL just do the following:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;* add this line to HTML to show tweet button:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;a href=&quot;https://twitter.com/share&quot; class=&quot;twitter-share-button&quot; data-url=&quot;&lt;span style=&quot;color: red;&quot;&gt;YOUR PAGE URL&lt;/span&gt;&quot; data-text=&quot;&lt;span style=&quot;color: red;&quot;&gt;PAGE TITLE OR DESCRIPTION OF THE TWEET&lt;/span&gt;&quot; data-lang=&quot;en&quot; data-size=&quot;small&quot; data-count=&quot;none&quot; data-hashtags=&quot;&lt;span style=&quot;color: red;&quot;&gt;HASHTAG YOU WANT TO TWEET FOR&lt;/span&gt;&quot;&amp;gt;TWEET&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;* add the following script in master page or your page:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;script&amp;gt;!function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? &#39;http&#39; : &#39;https&#39;; if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = p + &#39;://platform.twitter.com/widgets.js&#39;; fjs.parentNode.insertBefore(js, fjs); } }(document, &#39;script&#39;, &#39;twitter-wjs&#39;);&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The result will be like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfhYf4PK2OddPE4-JHAwQ9zEmJcX5bs9FazLexhQAutrTwvMSJrhQI6peY0k3flF00ckuqdXAPKNsJs4RlYELXs-fXh_NclnzAuSyF8jlczHIfhFPPAjuEhdsnul2_M4vBDytkEWuShH4/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfhYf4PK2OddPE4-JHAwQ9zEmJcX5bs9FazLexhQAutrTwvMSJrhQI6peY0k3flF00ckuqdXAPKNsJs4RlYELXs-fXh_NclnzAuSyF8jlczHIfhFPPAjuEhdsnul2_M4vBDytkEWuShH4/s1600/2.png&quot; height=&quot;205&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Notes:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
- URL should be published, this means you can&#39;t share localhost or internal URL if you create javascript to get the current page URL.&lt;br /&gt;
&lt;br /&gt;
- You can create javascript to get the current page title.&lt;br /&gt;
&lt;br /&gt;
- You can remove the section&amp;nbsp;&lt;b&gt;data-hashtags&lt;/b&gt; if you want.&lt;br /&gt;
&lt;br /&gt;
- You can change the value of &lt;b&gt;data-lang&lt;/b&gt; to your specific language like &lt;b&gt;ar&lt;/b&gt; for Arabic language.&lt;br /&gt;
&lt;br /&gt;
- You can change the value of &lt;b&gt;data-size&lt;/b&gt; to &lt;b&gt;big&lt;/b&gt; to show bigger icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/1789632298919466048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2014/01/how-to-add-twitter-tweet-button-to-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/1789632298919466048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/1789632298919466048'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2014/01/how-to-add-twitter-tweet-button-to-web.html' title='How To Add Twitter (Tweet Button) To Web Page'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfhYf4PK2OddPE4-JHAwQ9zEmJcX5bs9FazLexhQAutrTwvMSJrhQI6peY0k3flF00ckuqdXAPKNsJs4RlYELXs-fXh_NclnzAuSyF8jlczHIfhFPPAjuEhdsnul2_M4vBDytkEWuShH4/s72-c/2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-550967153810394642</id><published>2013-09-22T11:41:00.000-07:00</published><updated>2013-09-22T11:41:21.697-07:00</updated><title type='text'>CLR To Return Full Gregorian Date By Passed Um Alqura Month And Year</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div&gt;
In this article I will show how to create new CLR to be registered in SQL database.&lt;/div&gt;
&lt;div&gt;
This CLR includes function to convert passed Um Alqura month and year, then returns full Gregorian date.&lt;/div&gt;
&lt;div&gt;
(I mean by full, the first day of the Um Alqura date with month and year passed converted to Gregorian)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
By creating new SQL server project, in visual studio 2012:&lt;div&gt;
&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZvdLQnNnpshJ9QRiiHafTWe3R_a8qoYBLhXpJgrDRXiccmlOrJLpFk-DWEiOf1pVhISi4SBAs9nmuLLJoQfctwc8v8e2vPRosCHCyX8TSSoEBhcLOgzANCOztBPH_yE5gnTxEknshGKY/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;257&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZvdLQnNnpshJ9QRiiHafTWe3R_a8qoYBLhXpJgrDRXiccmlOrJLpFk-DWEiOf1pVhISi4SBAs9nmuLLJoQfctwc8v8e2vPRosCHCyX8TSSoEBhcLOgzANCOztBPH_yE5gnTxEknshGKY/s400/1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;Right click on project, add new SQL CLR C# user-defined function:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYALPABYroGrhpbcgZot8siETn_mbu-hUL2gL6vNo5rFmv_DUqIn3Y7OCDg1TIVFKcoU93AjvOs72_aMJh8vYb45y5eC1PNdhNLWgEp5bCWd4BryZn0Vw3hlCJeKFigiANFSxbshA0wnQ/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYALPABYroGrhpbcgZot8siETn_mbu-hUL2gL6vNo5rFmv_DUqIn3Y7OCDg1TIVFKcoU93AjvOs72_aMJh8vYb45y5eC1PNdhNLWgEp5bCWd4BryZn0Vw3hlCJeKFigiANFSxbshA0wnQ/s400/2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;The beginning of the month:&lt;/b&gt;&lt;/u&gt;&amp;nbsp;&lt;br /&gt;
Just add the following code:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;public partial class UserDefinedFunctions&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; [Microsoft.SqlServer.Server.SqlFunction]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; public static DateTime ConvertToGregorianStartDate (int Year, int Month)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Globalization.UmAlQuraCalendar UMQ_Calender = new System.Globalization.UmAlQuraCalendar();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return UMQ_Calender.ToDateTime(Year, Month, 1, 0,0,0,0);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;The end of the month:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
Just add the following code:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;[Microsoft.SqlServer.Server.SqlFunction]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; public static DateTime ConvertToGregorianEndDate(int Year, int Month)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Globalization.UmAlQuraCalendar UMQ_Calender = new System.Globalization.UmAlQuraCalendar();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DateTime firstDayOfTheMonth = UMQ_Calender.ToDateTime(Year, Month, 1, 0, 0, 0, 0);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return firstDayOfTheMonth.AddMonths(1).AddDays(-1);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Build the project and publish it to your DB.&lt;br /&gt;
&lt;br /&gt;
if you execute the function created, you will get the following result:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq_I_fEyfMWg5UMRSsa2OcYDheiUAqyLzCC23hzYTcYgHjgJezQ4cEiyEQAN6ZKUQl3-c01oVH2CtCz-xkJl36-s3CSoVoIe9eaLaM5DOuhzAwgcb8a1kHvf_jYtdAQUMuyMfjGQawgG0/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq_I_fEyfMWg5UMRSsa2OcYDheiUAqyLzCC23hzYTcYgHjgJezQ4cEiyEQAN6ZKUQl3-c01oVH2CtCz-xkJl36-s3CSoVoIe9eaLaM5DOuhzAwgcb8a1kHvf_jYtdAQUMuyMfjGQawgG0/s1600/4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/550967153810394642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2013/09/clr-to-return-full-gregorian-date-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/550967153810394642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/550967153810394642'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2013/09/clr-to-return-full-gregorian-date-by.html' title='CLR To Return Full Gregorian Date By Passed Um Alqura Month And Year'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZvdLQnNnpshJ9QRiiHafTWe3R_a8qoYBLhXpJgrDRXiccmlOrJLpFk-DWEiOf1pVhISi4SBAs9nmuLLJoQfctwc8v8e2vPRosCHCyX8TSSoEBhcLOgzANCOztBPH_yE5gnTxEknshGKY/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-7537097429431679793</id><published>2013-09-20T05:11:00.002-07:00</published><updated>2013-09-20T05:11:34.401-07:00</updated><title type='text'>Change Label From Persian Gulf To Arabian Gulf In Google Maps</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
By default, Google select Persian Gulf to be displayed as label on the gulf:&lt;div&gt;
&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiagAIwVoQGxavqbdqtYici82oUI32zyXIl2MrRB0yU5gf585CO9bfr7C7wHM_ZO8p2ehBkyVMUN2L2iCitLoFIDxtW0gNQ3ApbyQIXJrRMUWiRRyF8RW4B5lmz6aCR5sq8vD16r6DxKz4/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiagAIwVoQGxavqbdqtYici82oUI32zyXIl2MrRB0yU5gf585CO9bfr7C7wHM_ZO8p2ehBkyVMUN2L2iCitLoFIDxtW0gNQ3ApbyQIXJrRMUWiRRyF8RW4B5lmz6aCR5sq8vD16r6DxKz4/s1600/5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;To change it to Arabian Gulf, just add the following query string to Google map API URL:&lt;br /&gt;
region=SA&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;https://maps.googleapis.com/maps/api/js?sensor=false&amp;amp;language=SA&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;region=SA&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4cArQIu7MI0_owNmzVvWYGNi4cG1JzJmDDuLssPHQTrUbzBByjfpMe1HJfMvp76T92CuIbrKKrZfxx2H7J3Bff4Url5DP4plRa1r7iYUYi5WAhubCIe53Chm5IBBpliRV-G-gi9RwBu4/s1600/6.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4cArQIu7MI0_owNmzVvWYGNi4cG1JzJmDDuLssPHQTrUbzBByjfpMe1HJfMvp76T92CuIbrKKrZfxx2H7J3Bff4Url5DP4plRa1r7iYUYi5WAhubCIe53Chm5IBBpliRV-G-gi9RwBu4/s1600/6.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/7537097429431679793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2013/09/change-label-from-persian-gulf-to.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/7537097429431679793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/7537097429431679793'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2013/09/change-label-from-persian-gulf-to.html' title='Change Label From Persian Gulf To Arabian Gulf In Google Maps'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiagAIwVoQGxavqbdqtYici82oUI32zyXIl2MrRB0yU5gf585CO9bfr7C7wHM_ZO8p2ehBkyVMUN2L2iCitLoFIDxtW0gNQ3ApbyQIXJrRMUWiRRyF8RW4B5lmz6aCR5sq8vD16r6DxKz4/s72-c/5.png" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-1719855629942274414</id><published>2013-09-20T04:42:00.000-07:00</published><updated>2013-09-20T04:42:02.110-07:00</updated><title type='text'>Dealing With Google Maps - ASP.NET - Part (3)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In this article, I will show you how to store and retrieve data from SQL Server DB to Google map and vise versa.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Save data from Google map to SQL table:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
Create table to store the following information:&lt;br /&gt;
&amp;nbsp; - Latitude&lt;br /&gt;
&amp;nbsp; - Logitude&lt;br /&gt;
&amp;nbsp; - Description of the location&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP2ne4KfHq7SVV84bPc5-LI3o61POcSxaXf6XzUCJEMszVoZ95egNyiAuigM-LmkcHX-MdSih0LrkjZSzY9xq53JwJLYkqCruWocIjrkpElVn9cnky1rPMxKqSpTN_84yI6vLKoAGKtWI/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP2ne4KfHq7SVV84bPc5-LI3o61POcSxaXf6XzUCJEMszVoZ95egNyiAuigM-LmkcHX-MdSih0LrkjZSzY9xq53JwJLYkqCruWocIjrkpElVn9cnky1rPMxKqSpTN_84yI6vLKoAGKtWI/s1600/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
our interface should be like the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEOVX3kZzoubnWlGQGLcb8Lgl0CttWDQpJSYWWhvqc6IORXNaaEZoV9EE-1FHgTKag6dOmPYiICOEBj4AcAN4kcccIiL7c8AEw_eCqCtljkiGBT8DE6RV6GrYTiZ5ZR-LoUFLAHiIxPU/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEOVX3kZzoubnWlGQGLcb8Lgl0CttWDQpJSYWWhvqc6IORXNaaEZoV9EE-1FHgTKag6dOmPYiICOEBj4AcAN4kcccIiL7c8AEw_eCqCtljkiGBT8DE6RV6GrYTiZ5ZR-LoUFLAHiIxPU/s1600/2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
After click SAVE button, information in text boxes should be saved to our table.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkJDJmwKvOvr1bLEHSbeNlZNgj_HdXVXZvnNhM51lsrXMYKdxP_Kp0AxRJyin7XhPyGA8HA3FWopNOvBsuX0ttb25vQtUzWGq0-QK6PNH1jNImq2HbCVeueiRo2exIooxvldjaRel-LCE/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkJDJmwKvOvr1bLEHSbeNlZNgj_HdXVXZvnNhM51lsrXMYKdxP_Kp0AxRJyin7XhPyGA8HA3FWopNOvBsuX0ttb25vQtUzWGq0-QK6PNH1jNImq2HbCVeueiRo2exIooxvldjaRel-LCE/s1600/3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;
&lt;u&gt;&lt;b&gt;Retrieve data from SQL table to Google map:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Retrieve the data from SQL table by your own way, and define three public properties and assign value to them, those properties will called in HTML.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;public string Longitude{get; set;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;public string Latitude{get; set;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;public string Desc{get; set;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
To change marker position to be like values stored in table, just change location properties from:&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;myCoordinates = new google.maps.LatLng( 24, 47);&lt;/span&gt;&lt;br /&gt;
to&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;myCoordinates = new google.maps.LatLng(&#39;&amp;lt;%= Latitude %&amp;gt;&#39;, &#39;&amp;lt;%= Logitude %&amp;gt;&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
now, we want to display location description if user click to the marker.&lt;br /&gt;
First change draggable property of the marker from &lt;span style=&quot;color: red;&quot;&gt;true &lt;/span&gt;to &lt;span style=&quot;color: red;&quot;&gt;false&lt;/span&gt;, to be read only.&lt;br /&gt;
Then, add the following to script:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #bf9000;&quot;&gt;// define new info window and assign location description&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;var infoWindow = new google.maps.InfoWindow({&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; content: &#39;&amp;lt;%= Desc %&amp;gt;&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #bf9000;&quot;&gt;// add click listener to marker&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;google.maps.event.addListener(marker, &#39;click&#39;, function () {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; infoWindow.open(map, marker);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
and if you run the page, and click to marker, you will get the following result:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC8EGJK420MJLgUuMIWGzlDAWzHuiDGeN2Ot-2VbVvRyeNJxQQjt_IKUlGZiRGh3YUUR6ebgwHrqMhvrw5AEFBjumEdpS3VAO3PMbzruGlZqEkfCTqIRMEBpwjMjZNNxeKvkzalGQo450/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC8EGJK420MJLgUuMIWGzlDAWzHuiDGeN2Ot-2VbVvRyeNJxQQjt_IKUlGZiRGh3YUUR6ebgwHrqMhvrw5AEFBjumEdpS3VAO3PMbzruGlZqEkfCTqIRMEBpwjMjZNNxeKvkzalGQo450/s1600/4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Enjoy ..&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/1719855629942274414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2013/09/dealing-with-google-maps-aspnet-part-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/1719855629942274414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/1719855629942274414'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2013/09/dealing-with-google-maps-aspnet-part-3.html' title='Dealing With Google Maps - ASP.NET - Part (3)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP2ne4KfHq7SVV84bPc5-LI3o61POcSxaXf6XzUCJEMszVoZ95egNyiAuigM-LmkcHX-MdSih0LrkjZSzY9xq53JwJLYkqCruWocIjrkpElVn9cnky1rPMxKqSpTN_84yI6vLKoAGKtWI/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-6569867235029218764</id><published>2013-08-05T13:39:00.002-07:00</published><updated>2013-08-05T13:39:58.831-07:00</updated><title type='text'>Dealing With Google Maps - ASP.NET - Part (2)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
After showing how to load Google map in your asp.net page in &lt;a href=&quot;http://haithammeilhem.blogspot.com/2013/07/dealing-with-google-maps-aspnet-part-1.html&quot;&gt;this article&lt;/a&gt;, we will move to dealing with map marker and its properties.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Marker used to specify location using coordinates, called Longitude and Latitude.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
to load marker in your map, just add the following script:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;function initialize() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f6000;&quot;&gt; // initial location of marker&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var myCoordinates;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var marker;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var mapOptions = {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #7f6000;&quot;&gt;// 24, 47 is saudi arabia coordinates&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; center: new google.maps.LatLng(24, 47),&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; zoom: 5,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mapTypeId: google.maps.MapTypeId.ROADMAP&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var map = new google.maps.Map(document.getElementById(&quot;googleMap&quot;), mapOptions);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #7f6000;&quot;&gt;// initial location of marker&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; myCoordinates = new google.maps.LatLng(24, 47);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #7f6000;&quot;&gt;// set marker properties&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; marker = new google.maps.Marker({&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; position: myCoordinates,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; map: map,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; draggable: true&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; google.maps.event.addDomListener(window, &#39;load&#39;, initialize);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
if you play this page, you will get draggable marker in your map:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX-cN7aVgSCCgQLLDGWrwwtaeYRbD12ZJXl5pYybnxuptz_F9Ldgyh06ioTkGPSHrNuT3LVlAR9lYBQgQLdAHSpCdQ8XMSx4mwDlCaxUuXYWWwspWpXRWIsh4edyVEhpwMjV-H5zpSh7g/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX-cN7aVgSCCgQLLDGWrwwtaeYRbD12ZJXl5pYybnxuptz_F9Ldgyh06ioTkGPSHrNuT3LVlAR9lYBQgQLdAHSpCdQ8XMSx4mwDlCaxUuXYWWwspWpXRWIsh4edyVEhpwMjV-H5zpSh7g/s1600/1.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
if you want marker read-only, just change the property of marker:&lt;br /&gt;
&lt;b&gt;draggable : false&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Now, we want to show coordinates( longitude and latitude ) in text boxes. Just add the following texts inside html body:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;input id=&quot;txtLat&quot; type=&quot;text&quot; runat=&quot;server&quot; /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;input id=&quot;txtLong&quot; type=&quot;text&quot; runat=&quot;server&quot; /&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
and add the following listener to your script (inside initialize() method):&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;google.maps.event.addListener(marker, &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&#39;drag&#39;&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;, function () {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;document.getElementById(&quot;&amp;lt;% =txtLat.ClientID %&amp;gt;&quot;).value = marker.position.lat().toString();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;document.getElementById(&quot;&amp;lt;% =txtLong.ClientID %&amp;gt;&quot;).value = marker.position.lng().toString();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;        });&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
then play your page, and try to move marker, you will get the following:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMdTkKrlquW73LZp_tAxnvOXAjeeLrBnntYVd4cnQr2MSC1uokrjJDyRf8t-jTfQeoIbbdIvEdr8H4sTdBA6Q0D9e4IYIInKQfKAqv6VPnoDdZiMLfIjOjkeEcn2nBt-ZYdC68XNgRS2w/s1600/2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMdTkKrlquW73LZp_tAxnvOXAjeeLrBnntYVd4cnQr2MSC1uokrjJDyRf8t-jTfQeoIbbdIvEdr8H4sTdBA6Q0D9e4IYIInKQfKAqv6VPnoDdZiMLfIjOjkeEcn2nBt-ZYdC68XNgRS2w/s1600/2.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
there is a lot of events of marker, one of them &#39;&lt;span style=&quot;color: blue;&quot;&gt;dragend&lt;/span&gt;&#39;, which will called after marker dragged, &#39;&lt;span style=&quot;color: blue;&quot;&gt;click&lt;/span&gt;&#39; .. etc.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/6569867235029218764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2013/08/dealing-with-google-maps-aspnet-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6569867235029218764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6569867235029218764'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2013/08/dealing-with-google-maps-aspnet-part-2.html' title='Dealing With Google Maps - ASP.NET - Part (2)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX-cN7aVgSCCgQLLDGWrwwtaeYRbD12ZJXl5pYybnxuptz_F9Ldgyh06ioTkGPSHrNuT3LVlAR9lYBQgQLdAHSpCdQ8XMSx4mwDlCaxUuXYWWwspWpXRWIsh4edyVEhpwMjV-H5zpSh7g/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-6515466681461347358</id><published>2013-07-31T12:05:00.000-07:00</published><updated>2013-07-31T12:05:28.626-07:00</updated><title type='text'>Dealing With Google Maps - ASP.NET - Part (1)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In this article, I&#39;ll show you how to load Google map in your page. Then, we will move to dealing with markers, how to customize it and apply data which retrieved from SQL database to Google map.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;First Step:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
create new web application, using visual studio, then register the following reference to web page, or to your master page.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;https://maps.googleapis.com/maps/api/js?sensor=false&quot;/&amp;gt;&lt;/span&gt;&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Second Step:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
just copy the following script and put it in your page in order to display Google map.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;script&amp;gt;&lt;br /&gt;function initialize() {
 var mapOptions = {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #7f6000;&quot;&gt;&amp;nbsp;// 28, 47 is saudi arabia coordinates&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;center: new google.maps.LatLng(28, 47),&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;zoom: 5,
 mapTypeId: google.maps.MapTypeId.ROADMAP
 };&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var map = new google.maps.Map(document.getElementById(&quot;googleMap&quot;), mapOptions);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;color: #7f6000;&quot;&gt;// this listener will call the method initialize() when page load&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;google.maps.event.addDomListener(window, &#39;load&#39;, initialize);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;/script&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;Third Step:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
inside your page body, set the following div&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;div id=&quot;googleMap&quot; style=&quot;width:500px;height:380px;&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
then run the page, you will see the map in your page.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmQuPLS6HjP-8fja34bS3t41neibGWiDznnugpN7p357Bw7e6AxRws5q8eHPmQt6a82xUSQIWXXm5bf_XkyTqWf_OjeBRkrVaVpLIDfQpMpuKy9lkgdLJPmNZDnygIo7zdaRhdXvcolBg/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmQuPLS6HjP-8fja34bS3t41neibGWiDznnugpN7p357Bw7e6AxRws5q8eHPmQt6a82xUSQIWXXm5bf_XkyTqWf_OjeBRkrVaVpLIDfQpMpuKy9lkgdLJPmNZDnygIo7zdaRhdXvcolBg/s1600/1.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
if you want to change map language to Arabic or another language, just pass Language code via query string like the following: &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;https://maps.googleapis.com/maps/api/js?sensor=false&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;Language=SA&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&quot;/&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ7vZ9cKcouWBB_mQBwSDuCU2Zl493IkhbQEvd1YLYgp4MUsonuNAe0jhkAMSOL4ePTVNDSYuS5V7dzNT2tHAtOo3qqAaueIg84PdtdfYA1JkhosJHJNcRT7n23CDDKj08UdxfdOerG00/s1600/2.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ7vZ9cKcouWBB_mQBwSDuCU2Zl493IkhbQEvd1YLYgp4MUsonuNAe0jhkAMSOL4ePTVNDSYuS5V7dzNT2tHAtOo3qqAaueIg84PdtdfYA1JkhosJHJNcRT7n23CDDKj08UdxfdOerG00/s1600/2.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/6515466681461347358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2013/07/dealing-with-google-maps-aspnet-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6515466681461347358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/6515466681461347358'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2013/07/dealing-with-google-maps-aspnet-part-1.html' title='Dealing With Google Maps - ASP.NET - Part (1)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmQuPLS6HjP-8fja34bS3t41neibGWiDznnugpN7p357Bw7e6AxRws5q8eHPmQt6a82xUSQIWXXm5bf_XkyTqWf_OjeBRkrVaVpLIDfQpMpuKy9lkgdLJPmNZDnygIo7zdaRhdXvcolBg/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-7797640978340296518</id><published>2013-06-12T03:02:00.001-07:00</published><updated>2013-06-12T03:02:14.993-07:00</updated><title type='text'>SQL Error: no process is on the other end of the pipe</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.symantec.com/business/support/library/BUSINESS/TALISMA/4092.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;131&quot; src=&quot;http://www.symantec.com/business/support/library/BUSINESS/TALISMA/4092.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
If you get this error &quot;&lt;b&gt;no process is on the other end of the pipe&lt;/b&gt;&quot; when you want to login to sql server management studio, just go to:&lt;br /&gt;
&lt;div&gt;
START -&amp;gt; ALL Programs -&amp;gt; Microsoft SQL Server (Version ) -&amp;gt; Configuration Tools -&amp;gt; SQL Server Configuration Manager&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
from SQL Server Network Configuration, just enable Named Pipe protocol as the following picture:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhg7H9gz_GJELziOAgW6LmN8lM7Lxi_kZ3pi4lLclklnhgSqRSCnOuFyZafHJO7eqsbztclZc78gKk5VN0zLW3LYOJDirEQyQSR8hmNYomUL_C-W0uZphTdWJg9RNt287UpIaWZIwU-lM/s1600/11.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhg7H9gz_GJELziOAgW6LmN8lM7Lxi_kZ3pi4lLclklnhgSqRSCnOuFyZafHJO7eqsbztclZc78gKk5VN0zLW3LYOJDirEQyQSR8hmNYomUL_C-W0uZphTdWJg9RNt287UpIaWZIwU-lM/s320/11.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
then, restart your SQL Server Services and it will work.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/7797640978340296518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2013/06/sql-error-no-process-is-on-other-end-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/7797640978340296518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/7797640978340296518'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2013/06/sql-error-no-process-is-on-other-end-of.html' title='SQL Error: no process is on the other end of the pipe'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhg7H9gz_GJELziOAgW6LmN8lM7Lxi_kZ3pi4lLclklnhgSqRSCnOuFyZafHJO7eqsbztclZc78gKk5VN0zLW3LYOJDirEQyQSR8hmNYomUL_C-W0uZphTdWJg9RNt287UpIaWZIwU-lM/s72-c/11.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-3856951891174858890</id><published>2013-06-06T14:42:00.001-07:00</published><updated>2013-06-06T14:42:46.781-07:00</updated><title type='text'>How to install Anslysis Service, Tabular Mode</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
During the installation of SQL Server 2012, there is step to select your Analysis service mode. you can only select one of those modes, Tabular or Multidimensional mode, in specific SQL Server instance.&lt;br /&gt;
&lt;br /&gt;
Note that, Tabular mode is not available in other SQL Server versions. Its only in 2012.&lt;br /&gt;
&lt;br /&gt;
You can create new instance of SQL Server to install Analysis Service, Tabular Mode:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpPECwgUkFAOZZ9FhovprIlfDGKgeH__lvgT9WOcv909DSUAajIVw41vzDH2PmfqddN7bv2hU79Ung5e8L60FLAVavw7vn1i87owbngbmwke9-enqr4dRlk0wUuejhJ4ZNbHtQqQCyhHo/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpPECwgUkFAOZZ9FhovprIlfDGKgeH__lvgT9WOcv909DSUAajIVw41vzDH2PmfqddN7bv2hU79Ung5e8L60FLAVavw7vn1i87owbngbmwke9-enqr4dRlk0wUuejhJ4ZNbHtQqQCyhHo/s400/1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy Analyzing.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/3856951891174858890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2013/06/how-to-install-anslysis-service-tabular.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/3856951891174858890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/3856951891174858890'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2013/06/how-to-install-anslysis-service-tabular.html' title='How to install Anslysis Service, Tabular Mode'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpPECwgUkFAOZZ9FhovprIlfDGKgeH__lvgT9WOcv909DSUAajIVw41vzDH2PmfqddN7bv2hU79Ung5e8L60FLAVavw7vn1i87owbngbmwke9-enqr4dRlk0wUuejhJ4ZNbHtQqQCyhHo/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3870670686597710079.post-7759533380394145072</id><published>2013-06-06T11:43:00.000-07:00</published><updated>2013-06-06T11:43:27.398-07:00</updated><title type='text'>SSAS Tabular Mode Error: The Workspace Database Server &#39;localhost&#39; Is Not Running In Tabular Mode</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
when you try to create new tabular model or multidimensional model using SSDT. You may face this error:&lt;br /&gt;
&quot;&lt;b&gt;the workspace database server &#39;localhost&#39; is not running in tabular mode&lt;/b&gt;&quot; when you try to connect to local host analysis server.&lt;br /&gt;
&lt;br /&gt;
to solve this error, make sure you already install analysis service + make sure to connect with correct workspace server, if its not &#39;localhost&#39;. Final solution, try to connect with &lt;b&gt;localhost\SqlServerInstanceName&lt;/b&gt; because analysis service takes default sql instance name in installation step.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://haithammeilhem.blogspot.com/feeds/7759533380394145072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://haithammeilhem.blogspot.com/2013/06/ssas-tabular-mode-error-workspace.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/7759533380394145072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3870670686597710079/posts/default/7759533380394145072'/><link rel='alternate' type='text/html' href='http://haithammeilhem.blogspot.com/2013/06/ssas-tabular-mode-error-workspace.html' title='SSAS Tabular Mode Error: The Workspace Database Server &#39;localhost&#39; Is Not Running In Tabular Mode'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>