Quantcast
Channel: MSDN Blogs
Viewing all 29128 articles
Browse latest View live

Join the Tech Elite takmičenje nastavlja se i tokom augusta!

0
0
Uz proglašenje pobjednika tokom julskog "Join the Tech Elite" takmičenja, stiže i novost o drugoj rundi takmičenja za programere i IT profesionalce , koje se uz ista pravila održava tokom mjeseca augusta. Najviše poena na Microsoft Virtual Academy portalu , u kategoriji programera, tokom jula osvojio je kolega Viktor Jarak , dok je najviše poena u IT pro kategoriji skupio kolega Mustafa Toroman . Obojica su osvojili Microsoft brandirane majice koje će im uskoro biti uručene...(read more)

Bio – Hradesh Sharma

0
0

Hradesh Sharma is a Premier Field Engineer (PFE) in Microsoft Services, specializing in Dynamics AX. Hradesh  has  12+ years of experience with Microsoft Dynamics AX and joined the Microsoft PFE Dynamics team in March of 2013. He worked with Dynamics AX in various capacities including End User Implementation for Computer Manufacturing Industry, Product Architecture, Development and Delivery for Microsoft, Implementation Consulting for Energy and Forest products Industry, now instrumental in Operational excellence for Microsoft Dynamics AX customers. Other than ERP he developed and implemented successful Global Financial Messaging applications for Citibank and Citicorp business entities.

Hradesh currently possesses Microsoft Certified Dynamics Specialist certification in various areas of the application – Trade and Logistics, Financials, HRM, Payroll, Development, Installation & Configuration, and Managing Microsoft Dynamics® Implementations.

Hradesh holds a Bachelors’ degree in Business Administration and currently works out of Vancouver, British Columbia, Canada. Outside of work, he enjoys hiking, running and biking.

Mogu li vaše aplikacije poletjeti?

0
0

Uz Windows Phone i Windows Store aplikacije, sasvim sigurno, jer dobivate mogućnost kontrolisanja popularnih AR.Drone letjelica. Microsoftovo takmičenje u razvoju aplikacija vam omogućava da postanete vlasnik AR.Drone letjelice te se proslavite sa aplikacijom za kontrolu!

...(read more)

Taking your Apps to Market

0
0
I’ve written a lot of apps (and have used a lot of apps) so one thing I’m always on the lookout for is what is working when it comes to top apps – getting users, feedback, and ultimately monetizing your apps.  The market is always changing and the ...read more...(read more)

Taking your Apps to Market

0
0
I’ve written a lot of apps (and have used a lot of apps) so one thing I’m always on the lookout for is what is working when it comes to top apps – getting users, feedback, and ultimately monetizing your apps.  The market is always changing and the trends are different in different app categories, and the key seems to be able to adapt quickly. Pricing and Making Money Games are completely different than productivity apps, which are entirely different than entertainment apps, just to name a few...(read more)

Taking your Apps to Market

0
0
I’ve written a lot of apps (and have used a lot of apps) so one thing I’m always on the lookout for is what is working when it comes to top apps – getting users, feedback, and ultimately monetizing your apps.  The market is always changing and the ...read more...(read more)

Vyzkoušejte Azure VM a vyhrajte Aston Martin V8 Vantage!

0
0
Všichni majitelé MSDN kteří si do konce září aktivují alespoň jeden virtuální stroj Azure VM, mohou vyhrát automobil Aston Martin V8 Vantage ! Uživatelé MSDN mají možnost provozovat virtuální stroj 24x7 zcela zdarma, jelikož v rámci svého předplatného mají předplacený měsíční kredit 50-150$. Nemusí si nic nového kupovat pouze si zdarma vyzkoušet...(read more)

Devs4Devs - Johannesburg - 5th October 2013

0
0

It may have been a while but Devs4Devs is back and running on the 5th of October 2013. So what is Devs4Devs? Devs4Devs is a developer event for developers by developers. Anyone can participate and presenters can volunteer to present a session on any developer topic. Attendees get to hear from their fellow developers about something new and cool in a short, 20 minute presentation by one of their peers. Presenters get to experience what it’s like to prepare for and deliver a technical presentation for an audience.

Devs4Devs will run on 5th October 2013 from 09:00 to 13:00 at the Microsoft offices in Johannesburg. What better way to spend your Saturday morning than in the company of your fellow developers, listening to some great technical presentations and networking with your community peers?

This is a free event and we’ll be providing breakfast snacks and tea and coffee during the break and may even have some cool giveaways…

For Attendees

Register now to let us know you’re coming so that we can arrange catering.
For Presenters

We have limited timeslots for presentations and we’ll update this post as people submit new sessions. If you’re interested in presenting on a topic (any development related topic will do) we’d love to have you! Remember, this is a relaxed environment and you’re in front of your peers. This is a great way to build up your confidence if you’re new to presenting, or, for experienced presenters to practice and polish up their skills. Contact us at dpesa@microsoft.com with the following information:

- Name
- Contact Number
- Topic Title
- Short Description on Topic (200 words max)
- Shirt Size


The mysterious ways of the params keyword in C#

0
0

If a parameter to a C# method is declared with the params keyword, then it can match either itself or a comma-separated list of um itselves(?). Consider:

class Program {
  static void Sample(params int[] ints) {
   for (int i = 0; i 

This program prints

0: 1
1: 2
2: 3
-----
0: 9
1: 10
-----

The first call to Sample does not take advantage of the params keyword and passes the array explicitly (formally known as normal form). The second call, however, specifies the integers directly as if they were separate parameters. The compiler generates a call to the function in what the language specification calls expanded form.

Normally, there is no conflict between these two styles of calling a function with a params parameter because only one form actually makes sense.

Sample(new int[] { 0 }); // normal form
Sample(0); // expanded form

The first case must be called in normal form because you cannot convert an int[] to an int; conversely, the second case must be called in expanded form because you cannot convert an int to an int[].

There is no real problem in choosing between the two cases because T and T[] are not implicitly convertible to each other.

Oh wait.

Unless T is object!

class Program {
  static void Sample(params object[] objects) {
   for (int i = 0; i 

There are two possible interpretations for that call to Sample:

  • Normal form: This is a call to Sample where the objects is an array of length 2, with elements "hello" and "there".
  • Expanded form: This is a call to Sample where the objects is an array of length 1, whose sole element is the array new object[] { "hello", "there" }.

Which one will the compiler choose?

Let's look at the spec.

A function member is said to be an applicable function member with respect to an argument list A when all of the following are true:

  • The number of arguments in A is identical to the number of parameters in the function member declaration.
  • For each argument in A, [blah blah blah], and
    • for a value parameter or a parameter array, an implicit conversion exists from the type of the argument to the type of the corresponding parameter, or
    • [blah blah blah]

For a function member that includes a parameter array, if the function member is applicable by the above rules, it is said to be applicable in normal form. If a function member that includes a parameter array is not applicable in its normal form, the function member may instead be applicable in its expanded form:

...

(I removed some text not relevant to the discussion.)

Note that the language specification prefers normal form over expanded form: It considers expanded form only if normal form does not apply.

Okay, so what if you want that call to be applied in expanded form? You can simulate it yourself, by manually performing the transformation that the compiler would do:

  public static void Main() {
   Sample(new object[] { new object[] { "hello", "there" } });
  }

Yes, it's extra typing. Sorry.

Sometimes sports-rule lawyering comes true: The strikeout with only one thrown pitch

0
0

Some time ago, I engaged in some sports-rule lawyering to try to come up with a way the losing team could manage to salvage a win without any remaining at-bats. It involved invoking a lot of obscure rules, but astonishingly one of the rules that I called upon was actually put into effect a few days ago.

The Crawfish Boxes provides an entertaining rundown of the sequence of events. Here is the boring version:

During his plate appearance, Vinnie Catricala was not pleased with the strike call on the first pitch he received. He exchanged words with the umpire, then stepped out of the batter's box to adjust his equipment. He did this without requesting or receiving a time-out. The umpire repeatedly instructed Catricala to take his position in the batter's box, which he refused to do. The umpire then called a strike on Catricala, pursuant to rule 6.02(c). Catricala, failing to comprehend the seriousness of the situation, still did not take his position in the batter's box, upon which the umpire called a third strike, thereby rendering him out.

You can watch it for yourself.

(Any discussion of this incident cannot be carried out without somebody referring to this Bugs Bunny cartoon, so there, I've done it so you don't have to.)

I noted back in 2011 that the conventional way of implementing the automatic strike is for the umpire to direct the pitcher to throw a pitch, and to call it a strike no matter where it lands. This rule was revised in 2008 so that the umpire simply declares a strike without a pitch. This removes the deadlock situation I referred to in my earlier article, where the umpire instructs the pitcher to deliver a pitch, and the pitcher refuses. (The rule change also removes a bunch of wacky edge cases, like, "What if the pitcher throws the pitch as instructed by the umpire, and the batter jumps into the batter's box and hits a home run?")

The revised rule 6.02(d)(1) specifically enumerates the eight conditions under which a batter is permitted to step out of the batter's box, none of which applied here.

(Note that the rules of baseball stipulate that unless the umpire has granted Time, batters step out of the batter's box at their own risk. The ball is still live, and a pitch may be delivered.)

Major League Baseball revised the rule in order to speed up the game, accompanying the rule change with instructions to umpires to enforce rules more vigilantly. Time between pitches is by far the largest chunk of wasted time in a baseball game, totalling well over an hour in a typical game. If you add the time between batters, you end up with over half of the elapsed time spent just waiting for something to start.

ACS60021: The request has been terminated by the server (tenant exceeded rate limit)

0
0

In case you are using ACS aggressively sometime you may hit upon the following error. 

 ACS60021: The request has been terminated by the server (tenant exceeded rate limit). Trace ID: d80e94a4-8571-45cc-82f1-b900f7f3ce16. Timestamp: 2013-07-26 01:39:25Z

 ----- Exception -----

 Expected:

 Actual: System.Data.Services.Client.DataServiceQueryException: An error occurred while processing this request. --->
System.Data.Services.Client.DataServiceClientException: <?xml version="1.0" encoding="utf-8" standalone="yes"?>

 <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
 <code></code>
 <message xml:lang="en-US">ACS60021: The request has been terminated by the server (tenant exceeded rate limit). Trace ID: d80e94a4-8571-45cc-82f1-b900f7f3ce16.
Timestamp: 2013-07-26 01:39:25Z</message>
 </error>
 at System.Data.Services.Client.QueryResult.ExecuteQuery()
 at System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)
 --- End of inner exception stack trace ---
 at System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)
 at System.Data.Services.Client.DataServiceQuery`1.Execute()
 at System.Data.Services.Client.DataServiceQuery`1.GetEnumerator()
 at Microsoft.DataTransfer.Authentication.AcsToken.Management.AcsManagementServiceExtensions.DeleteServiceIdentityIfExists(ManagementService svc, String name) in

You might have hit a cul-de-sac while trying to find more information considering that the error code and error message didn’t result in any relevant information by search engines. So I dug in deep and got the real issue behind it.  But not anymore and it's time to break the mystry.

This is due to the reason that ACS rejects token requests when ACS internal resources are temporarily consumed by a high token request rate from all namespaces. In this case, ACS returns an HTTP 503 "Service unavailable" error with the ACS90046 or ACS60021 (ACS Busy) error codes.

We have now documented the limitations of ACS service at http://msdn.microsoft.com/en-us/library/gg185909.aspx. The page with error codes http://msdn.microsoft.com/en-us/library/gg185949.aspx has also been updated for ACS90046 (ACS busy) or ACS60021.

Please refer this page with ACS service limitations and the page with details on ACS retries guidelines, http://msdn.microsoft.com/en-us/library/jj878112.aspx.

Hope this blog gave you an insight into the issue and cleared a few threads of doubt around ACS.

Introduction to SQL 2012 Tabular Modeling

0
0
3rd August, 2013 Presented a Session about SQL 2012 Tabular Server for DBA’s in an Event Organized by http://sqlgeeks.com/ . There were around 250+ attendees majorly DBA’s came with an intent of learning SQL BI, as they are from Non BI background , so I kept it basic. PPT for your reference…… Few Pictures from event……....(read more)

Visual Studio 2013: IntelliSense

0
0

I’m back! Vacation was great but now I’m ready to get back into the swing of things. I thought we would get things going again with a look at two features of IntelliSense: Pascal Case and keywords.

 

 

Pascal Case

This is one of my favorite features! Have you ever been in a situation where you wanted to use IntelliSense to get a method but there are a TON of methods that start with same word and you have to type almost the entire method name:

5-17-2012 10-19-20 AM

 

Let's say you want the SetWindowSize Method but really, really don't want to type it out or even scroll down to get the method.  IntelliSense supports Pascal Case.  All you have to do is type "SWS":

5-17-2012 10-51-08 AM

 

This is true in a number of areas within Visual Studio now so feel free to try this in other areas (i.e. the search dialog in Solution Explorer).

 

 

 

Keywords

To show you the new feature, let’s take a look, way back, at VS2008 IntelliSense.  Notice when I type Console.Key what happens:

image

 

IntelliSense used to be this huge alphabetical list and would just show you whatever begins with the keyword you were typing at the time. In this example, it takes me to the “key” area in the list. Notice that it then continues into the “L” and “M” and so forth. That’s great but what if I don’t know what I am looking for but I know that it has the word “key” somewhere in it?  Well, I can go search in the Object Browser, of course or I can use keyword feature that was introduced with IntelliSense for VS2010.  Watch what happens when I do the same thing in the VS2013 editor:

5-17-2012 10-14-39 AM

 

It now shows only those items that have the word “key” in them AND doesn’t care where the word is in the name of the member!  So not only do it get items that begin with “Key” but I get ANYTHING that has the word “key” in it.

 

 

 

Finally

There are some great hidden gems in the editor and these are just a couple of them. Stay tuned for many more goodies to come.

Reason of the Day to attend GP Technical Airlift #4

0
0

Thanks to Errol for his thoughts on attending the Microsoft Dynamics GP Technical Airlift yesterday. 

Since my "Reason of the Day #2" post, I have been bombarded about people that want to attend the Friday event, but are concerned about flight times and travel to the airport (with 300 attendees and only about 20 taxi's in town, it could be a concern).  As I mentioned, the event ends at Noon on Friday, which means realistically that if you have a flight out on Friday it should be 2pm or later to make sure you have enough time to get checked in and clear security.  If you have, say, a 1:19p United flight or a 1:30p Delta flight, you might be cutting it too close and you may miss your flight. 

What we are going to do, though, to help you is we plan to have a couple of busses making a run from the Campus directly to the airport for those of you that want to attend.  We'll send the busses as soon as they are full, but for sure, by 12:45p latest (most likely they'll be long-gone by 12:30p as people fill them while leaving).  They will go directly from campus right to the airport.  This will alleviate a huge concern about securing alternate travel arrangements that day. 

Since you'll be on a bus, and will need to get off of it at the airport, get your luggage, and get in, I would suggest that the travel time total should be approx. 30-45 minutes (from Microsoft door to airport door with your bags in your hands).  You're all techy people...that should help you "back into" your flight time.

If you do leave early, you'll need to make your own arrangements for travel.  The busses will be making one trip only to the airport.

 

I would suggest that you review the sessions and build your schedule sooner than later.  We have a lot of great sessions, and we can't wait to host you here in Fargo!

As you can see - and as I'll continue to let you know about - there are a lot of great reasons to attend this years Microsoft Dynamics GP Technical Airlift. 

Are you signed up?
YES?  Great!  We'll see you here!!

No?  What are you waiting for!!  Get signed up NOW!  And get your co-workers signed up for the other tracks!

http://gptechnicalairlift.com/

 

Jay Manley

Project Server 2013 – Überwachung mittels Microsoft System Center Operations Manager

0
0

Sie haben das Problem das sich Anwender über fehlerhafte Speichervorgänge und / oder fehlgeschlagenes Einchecken von Projekten beschweren? Sie merken dadurch erst, und damit eigentlich zu spät, dass der Queuing-Service des Project Servers nicht läuft? Im Rahmen unseres Premier Services "Project Server Best Practices Review", bei dem wir gemeinsam mit Ihnen die Project Server Umgebung prüfen, bekommen wir häufig zu sehen, dass die Überwachung von Project Server reaktiv erfolgt. Die Stabilität der Umgebung wird erst dann überprüft, wenn Anwender sich bereits beschweren. Durch dieses Vorgehen wurde schon öfter die Zufriedenheit der Anwender mit der Projektmanagement-Plattform riskiert.

Die optimale Lösung für eine proaktive Überwachung ist die Verwendung von Microsoft System Center Operations Manager (SCOM) unter Einbeziehung des Management-Packs für SharePoint 2013 & Project Server 2013. Die darin enthaltenen Regeln helfen Ihnen alle relevanten bzw. sich im Einsatz befindlichen Funktionen zu beobachten und benachrichtig zu werden, wenn eine dieser nicht so funktioniert, wie es vorher definiert wurde.
Für einen sinnvollen Einsatz empfiehlt es sich die Standardregeln des Management-Packs auf Plausibilität und Relevanz gemäß Ihrer Anforderungen zu überprüfen. Dadurch gewährleisten Sie, dass nur dann Meldungen erfolgen, wenn eine Funktion von Relevanz in Ihrer Umgebung eine Störung aufweist.
Idealerweise sollte gemeinsam im Rahmen eines Workshops zwischen Ihnen und dem Microsoft Project Server Premier Field Engineer im Detail geklärt werden, wie die Regeln gemäß unserer Best Practices und Ihren Systemanforderungen aufgesetzt werden.

 

Das Management-Pack für SharePoint Server 2013 überwacht:

 

  • Microsoft SharePoint Server 2013
  • Microsoft Project Server 2013

 

Insbesondere die folgenden Service Applications (relevant für Project Server):

 

  • Access Services
  • Business Data Connectivity
  • Security Token Service
  • Managed Metadata Web Service
  • Education Services
  • Excel Services Application
  • InfoPath Forms Service
  • Performance Point Services
  • Translation Services
  • Sandboxed Code Services
  • Secure Store Services
  • SharePoint Server Search
  • User Profile Service
  • Visio Service
  • Word Automation Service

  

Eine detaillierte Funktionsbeschreibung sowie die einzelnen Überwachungsregeln finden Sie im System Center Management Pack Guide welcher als Microsoft Word Dokument zum Download erhältlich ist.

Neugierig geworden? Bitte sehen Sie sich die folgenden Artikel an und entscheiden Sie selbst ob der Einsatz von SCOM im Zusammenspiel mit Project Server ihre Anforderungen an die Systemüberwachung deckt.

Download des Management Packs , Allgemeines zum SCOM 2012 oder KB Artikel zu Project Server 2013 Überwachung mit SCOM.


Featured App of the Day: Periodic Groups for Windows 8

0
0


Our today’s featured app of the day
Periodic Groups is an educational app built for Windows 8 that is recently published by Asma Bhatti; a young and passionate student developer from Islamabad, Pakistan. Here's a brief based on the question/answer sessions we had around her app story.

 

Could you please tell us a bit about yourself and your background?

I am Asma Bhatti, an enthusiastic student of BS Software Engineering and Microsoft Student Partner at International Islamic University, Islamabad. I take keen interest in software and application development and have actively participated in Mircosoft Hackathon Wowzapp 2012 and Imagine cup 2013. I develop not because I have to but because I want to.

How the idea of Periodic Groups came to you?

Periodic Groups is an educational application targeted at the students of Cambridge GCE O levels and Cambridge IGCSE. I was sitting one day and thinking about the sort of applications that can help students with their studies. The world is changing and the students nowadays spend more time in front of computer screens than books. It occurred to me that it would be of great use if such an application providing only the important details of one of the basic chapters of Chemistry was developed. I searched through the Windows Store to check if this application was already present but I didn’t find anything of the sort. So, I started working on this application.

Why you decided to implement this idea specifically on Windows8?

Windows 8 is widely used around the world. It is a reliable operating system and a lot of people are shifting from other operating systems to Windows 8. I have used Windows 8 and have also observed that the majority of users are satisfied with the services provided by it. Customer satisfaction is the reason why I implemented the idea on Windows 8 and I’m honored that Microsoft is recognizing my effort.

What resources on Microsoft or community side you found most helpful while working on the app? Could you please take us on a quick tour to understand your application better?

The MSDN library provided by Microsoft has helped me a lot along the way. It provides detailed information about every library starting from giving its introduction to a detailed walkthrough on how its member functions should be utilized. The MSDN forums and other online blogs and forums were also very helpful in providing answers to specific questions. Fortunately, whenever I could not find the appropriate answer Microsoft Pakistan’s DPE team helped and guided me along and provided me with rich suggestions on improving my application.

Periodic Groups is a Chemistry application that provides relevant details about the specific groups in the Periodic Table. The main page allows the user to move to the details of any specific group that he/she wishes to.

It provides a picture of the periodic table to help the student identify where each group is located.

The rich detail of each group is provided. It contains the elements present, the properties and uses of the elements along with their reactions, observations and equations. Not only can the user read it, but he/she can also share the important information present in the page with others using the share option in the charms bar.

What are your interests behind technology?

The technological part of the world is based on ever changing ideas and systems, where one has to constantly stay on their toes, is a challenging environment to work in. Every day there is a new challenge and something new to learn.  The Iron Man series also inspire and drive me, like a lot of ideas from stories and movies drive people to replicate those technologies in the real world. I aspire to design something creative and innovative, and this field gives me that opportunity.

Any plans for news apps or projects in general?

I am planning to continue developing applications for Windows 8 and Windows phone. I am currently working on two more applications, one of which is a Career Guide application which I am working on in a group. The second one is a guide for parents on how to raise their children. After these, I am planning to develop an educational game for young children. In addition, I am also considering to develop my final year project using platforms provided by Microsoft.

What would you advise to Developers in the region who also would like to become Pakistan Hero?

It is not an easy task to become a good developer. One has to put in a lot of effort and time. You cannot wake up one day and decide that you are going to develop a software and change the world. You have to start from scratch, develop software that are competitive but not entirely impressive. You have to learn everything starting from the lesson that a ‘programming statement always ends with a semicolon' to learning to 'debug your software efficiently' to getting into the details of 'designing an effective user interface'. Do not feel belittled if you develop small applications. Once you are good with the basics, everything else starts falling into place and you get the chance to show the world what you are capable of doing.

Where the community can catch up with you online or offline?

I can be reached at:

Mail: asma_bhatti@hotmail.co.uk

Facebook: https://www.facebook.com/asma.bhatti.35574

Windows 8 Matching App Background Color to Splash Background Color

0
0

Have you ever created some fantastic app images for your app logo, store logo and splash screen and then realizes the app background in no way matches the splash background?  I wanted the app background and splash screen to match.  So what is the easiest way to accomplish that?

In the Visual Studio in the Package.appmanifest Application UI Tab there is a setting for the background color.  Guessing at the actual background color of my splash was not really an option. 

 

image

So how do you get the color.  I opened my handy copy of Paint.NET and open my splashscreen.png file.  Using the eye dropper icon I selected clicked the background color.

 

image

Paint.NET provides a windows with all sorts of color information, including the hex value for the pixel I selected.  I took this hex value back and plugged it into Visual Studio and the app background and the splash background are now a perfect match.

 

image

If you don’t have Paint.NET (free install BTW) you could use Paint.  Use the paint color dropper.  The paint color dropper doesn’t provide hex values, but you can plug the colors into something like a RGB to hex converter (e.g. http://www.javascripter.net/faq/rgbtohex.htm) and get the same results.

Free: 11 Windows 8.1 DirectX links

0
0
Here are some links that I snaked from the much better site: http://msdn.microsoft.com/en-us/library/windows/apps/bg182410.aspx Here are the 11 links you will need for DirectX variations in DirectX 11.2 Dynamic shader linking Frame buffer scaling GPU overlay support DirectX tiled resources Direct3D low-latency swap chain present Function linking graph support DXGI Trim API and map default buffer Multithreading with SafeImageSource Composition of XAML visuals Direct2D batching with SafeImageSource...(read more)

Script errors when adding documents via the SharePoint integration CRM UR12+

0
0

As you may know, Dynamics CRM 2011 has the ability to embed a SharePoint document library within certain record types.  After applying update rollup 12 most of us will likely want to take advantage of the ability to turn off HTC’s and tell Internet Explorer to use a standards based browser mode (look for an article coming soon on turning off HTC’s and IE’s compatibility mode).  However, once you do this you may notice JavaScript errors when interacting with the SharePoint document library integration.  The error I’ve seen so far is: ‘action’ is undefined and will have a URL of: http://servername/org/crmgrid/crmgridpage.aspx

If you’re going to update or already have updated to UR12 or higher, don’t forget to update your SharePoint list components to avoid this issue – for reference here’s how to install this update:

Important note before starting:

  • You must be a SharePoint site collection administrator to be able to install the Microsoft Dynamics CRM List component on Microsoft SharePoint Server.
  • If you’re installing to SharePoint 2013 or SharePoint Online make sure you’re on the latest SharePoint update before adding the new list components.
  • (For SharePoint On-Premises only) The Microsoft Dynamics CRM List component is a site collection-level solution. If you want to enable the Microsoft Dynamics CRM List component at the farm level, you must write a script that does the following:
    • Retrieves all SharePoint site collections from SharePoint server.
    • Installs and activates the List component on each of these site collections.

To install the Microsoft Dynamics CRM List component:

  1. Download the latest SharePoint list component update from the download center: http://www.microsoft.com/en-us/download/details.aspx?id=5283 or search for it here
  2. Navigate to the folder where you downloaded CRM2011-SharePointList-ENU-amd64.exe or CRM2011-SharePointList2013-ENU-amd64.exe, and double-click it.
  3. In the Open File - Security Warning dialog box, click Run.
  4. To accept the license agreement, click Yes.
  5. Select a folder to store the extracted files, and click OK.
    • If you downloaded CRM2011-SharePointList-ENU-amd64.exe, the following files are extracted:
      • AllowHtcExtn.ps1
      • crmlistcomponent.wsp
    • If you downloaded CRM2011-SharePointList2013-ENU-amd64.exe, the following files are exstracted:
      • crmlistcomponent.wsp
  6. Open your web browser
  7. In the address bar, type the URL of the site collection on which you want to install the Microsoft Dynamics CRM List component, and press Enter
  8. Navigate to SharePoint’s Solutions Gallery
    • If you are using SharePoint 2010: click Site Actions, and then click Site Settings, under Galleries, click Solutions
    • If you are using SharePoint 2013:  click the Settings icon in the top-right corner, then click Site Settings, under Web Designer Galleries, click Solutions
  9. On the Solutions tab, in the New group, click Upload Solution.
  10. Click Browse, locate the crmlistcomponent.wsp file, and then click OK.
  11. On the Solutions tab, in the Commands group, click Activate.

Special thanks to Chris Donlan, another Dynamics CRM/SharePoint PFE, who helped document this when customers started to update and find this issue. Feel free to ping us via the “Email Blog Author” link to the right or comment and we’ll get back to you as soon as we can.  If you’re a Premier customer talk to your TAM about working with a Dynamics CRM PFE (remote or onsite), and if you already have a Dedicated Dynamics PFE make sure to reach out.  If you don’t have Premier and are interested in working with us – please reach out and let us know.  Thanks for reading!

Sean McNellis
Premier Field Engineer

Creación de Juegos con Construct 2: Space Chain II (En Español)

0
0

Este artículo continuará la serie acerca de Construct 2 de la compañía Scirra. Pueden revisar el artículo anterior aquí.

Ya habíamos empezado a revisar los diferentes aspectos de Space Chain, un ejemplo base que puede descargar aquí. También puede bajarlo en la Windows Store y jugar con la versión de Windows Phone. Este es un trabajo en progreso, ya estoy terminando una versión actualizada que ofrecerá una experiencia más rica y le permitirá a los desarrolladores que usen el proyecto tener juegos más ricos.

Por el momento también úede probar el juego aquí: 

  

This game was created with Construct 2    

Conceptos Generales

 En el artículo anterior revisamos los eventos relacionados con los enemigos del juego, puede regresar y revisar el artículo para tener un mejor entendimiento del juego.

En Space Chain el jugador debe destruir los enemigos que caen en la pantalla, antes que estos toquen la Tierra. Los controles del juego usan las magníficas características de Construct 2 para permitir el uso del mouse y las pantallas táctiles. En el proyecto solo se necesita añadir un objeto que da soporte a los dos modos de juego.

Para obtener más puntos, el jugador puede crear cadenas de enemigos del mismo tipo/color.

El proposito de este ejemplo es dar una base mostrando los controles básicos de Sprites en Construct 2 y algunos elemenots de uso común como la puntuación, el botón de pausa, condiciones de finalización de juego y variables globales.

Este ejemplo también fue usado para ilustrar como se puede enviar juegos a la Windows Store.

En futuros artículos detallaré el proceso de convertir el juego para Windows Phone.

Donde están mis comandos?

Con los eventos que revisamos en el anterior artículo usted debe tener 4 tipos de monstruos que aparecen en el borde superior de la pantalla y bajan hasta chocar con el Sprite que representa la Tierra, pero en ningún momento se han detectado los comandos ingresados por el jugador.

El primer paso para tener un verdadero juego es detectar la posición donde el jugador está tocando la pantalla o haciendo clic con el mouse. En otras plataformas tendría que escribir el código para detectar los dos tipos de comandos, pero en Construct 2 solo tiene que añadir el Touch Object que brinda esa doble funcionalidad en un sencillo plugin.

Para incluir el Touch Object debe hacer doble clic en cualquier parte de la capa de juego (layer) y seleccionar en el siguiente menu:

Por defecto el Touch Object detectará también los comandos del Mouse, pero si quiere desactivar esta opción puede hacerlo en las propiedades del objeto (en el lado izquierdo de la pantalla):

También debo anotar que este objeto funciona incluso cuando el dispositivo no tiene una pantalla táctil, así que puede agregarlo sin problemas para detectar comandos en todos los dispositivos con Windows 8.

Después de haber agregado este plugin we can ask where in the screen is the player touching or clicking or, even better, if the player is touching a particular object.

En Space Chain nos interesa saber cuando el jugador toca cualquiera de los monstruos, pasra destruirlo y para revisar si se está creando una nueva cadena de monstruos. El siguiente evento hace precisamente eso:

Incluí cuatro eventos con el mismo patrón, uno por cada tipo de monstruo.

Este evento revisa si el jugador está tocando o haciendo clic sobre cualquier monstruo anaranjado y, si el juego no está en pausa. Si estas dos condiciones se cumplen creamos una nueva explosión, destruímos el monstruo y aumentamos los puntos del jugador.

 

En Space Chain el otro comando importante que se debe detectar es cuando el jugador quiere reiniciar el juego. Para hacer esto desplegamos un texto con "Game Over" y cuando el jugador lo toca reiniciamos el juego con el siguiente evento:

La mayoría de las acciones ejecutadas en este evento se encargan de reiniciar el valor de las diferentes variables globales usadas en el juego. La tercera acción, Go To Layer 1, es la que reinicia el juego.

Tomando una Pausa

En un juego tan simple como Space Chain, el tercer tipo de interacción que tendremos con el jugador es cuando este decide pausar el juego. Se debe poder pausar el juego en cualquier momento, y para esto añadí un botón que se encarga de modificar la Time Scale, que es el atributo del Sistema que indica cuan rápido se ejecuta el ciclo del juego, así que si lo cambiamos a 0 el juego se detendrá por completo.

Para hacer que el botón de pausa funcione como un interruptor, añadí una variable global llamada Pause. Esta variable tiene un valor de 1 cuando el juego está pausado y de 0 en cualquier otro caso.

Con el vento de la imagen anterior estamos detectando cada vez que el jugador hace clic (o toca) el botón de pausa.

Para asegurarnos que la variable Pause tiene siempre tiene un valor de 1 o 0 debemos añadir el siguiente evento:

Y para darle el valor apropiado al Time Scale y desplegar el texto correcto en el botón agregamos los siguientes eventos:

Si quiere jugar un poco más con el atributo Time Scale puede obtener efectos como el del "bullet time" o acelerar el flujo general del juego.

 

Y donde están las Cadenas??

Este ejemplo es llamado Space Chain debido a la cadenas de monstruos destruídos que está constantemente detectando. 

Para poder detectar cuando el jugador crea una cadena añadí dos variables globales llamadas LastDestroyed y ChainNumber. La primera registra el tipo del último monstruo que fue destruído, y la segunda variable contiene el número de monstruos del mismo tipo que se han destruído. Las dos variables deben ser inicializadas en 0.

En los eventos que detectan si el jugador está tocando un monstruo añadimos 2 sub-eventos (haga clic con el botón derecho del mouse y luego seleccione "add" y luego "sub event"). Estos sub eventos deciden si el jugador tocó el mismo tipo de monstruo que la vez anterior y aumenta la cadena o, en caso contrario, si el jugador tocó un tipo diferente. como puede ver hay 4 tipos de monstruos en el juego numerados así: SBlue=1, SOrange=2, SRed=3, SPurple=4. Estos valores son los mismos que se están salvando en la variable LastDestroyed cada vez que se toca un nuevo monstruo.

También puede notar que la variable Score recibe una bonificación cada vez más grande cuando la cadena aumenta. Estos valores pueden ser modificados para obtener el tipo de juego que quiere crear.

La otra acción que se ejecuta en estos eventos es la indicar la bonificación recibida cada vez que la cadena crece.

 

Continuará

En próximos artículos veremos los toques finales del juego y discutiremos las modificaciones que se le pueden hacer a este ejemplo. Mientras tanto pruebe el juego y hágame saber sus opiniones acerca del mismo.

Viewing all 29128 articles
Browse latest View live




Latest Images