Quantcast
Channel: Infragistics Community
Viewing all 2372 articles
Browse latest View live

Updated Ignite UI Help Viewer Now in Public Beta

$
0
0

Updated Ignite UI Help Viewer Now in Public Beta

We are delighted to announce that the new Ignite UI help viewer is now in public beta and ready for your review. This new help viewer was build to help make the process of using an navigating Ignite UI product documentation much easier. Some of the features of the new site are:

Ignite UI Help

Unified Experience

The help viewer now reflects the same layout as www.igniteui.com

Version Selector

Version Selector

All versions are available via the same location with the ability to change versions while on any page.

Responsive Design

Responsive Design

The content is accessible on the go and renders well on mobile devices

Table of Contents

Synchronized Table of Contents

Whenever you open a topic in a new window or navigate directly to a topic the table of contents is synchronized to the topic automatically.

Print Styles

Print Styles

Should you need to print a topic for later reference, the print stylesheet will pretty things up for you nicely.

 

What’s not included in the beta:

As this is a beta release there are a number of known issues regarding some content not being available like:

  • Generated API documentation: This version does not include the ASP.NET MVC helpers API documentation or any other automatically generated content
  • Localized content: This version is English only

What to expect from the next version:

The next version of the Ignite UI help viewer will include:

  • Access to GitHub help topics repository where you can edit topics in Markdown and submit changes via a pull request
  • Localized content
  • Generated topics (ASP.NET MVC helpers API documentation)
  • Lazy-loaded table of contents

We’re eager to hear what you have to say about this new site! Please send any feedback to helpfeedback@infragistics.com.


Developing a Mobile SharePoint Solution with Infragistics - Part I: Extensibility

$
0
0

Companies face some major hurdles when trying to bring their SharePoint experience to mobile devices. Depending on how flexible and extensible the chosen mobile app is, this can be a huge issue for many organizations. But Infragistics is here to help, with its Enterprise Mobility (EM) suite.

Infragistics offers more than just a mobile SharePoint application; they offer a flexible and extensible platform to build your own mobile SharePoint solution upon. You can include corporate branding, add data analysis through ReportPlus dashboards, and even develop personalized information views.

In this blog series, we’ll explore all the ways you can customize your mobile SharePoint solution, beginning with part one: extensibility.

Incorporating Data Analysis

One way you can bring flexibility to your solution is through custom data analysis. With ReportPlus dashboards, you can easily add data analysis to your SharePoint solution. SharePlus integration with ReportPlus empowers you to design and create powerful data visualizations from your SharePoint data. In the screenshot below, you’ll see a sample dashboard, filled with insightful, real-time SharePoint data.


Develop personalized information views

Information views - or launchpads - greatly increase the flexibility and extensibility of your SharePlus implementation. In the screenshot below you can see a customized launchpad used as a start screen in SharePlus, which was developed using HTML, CSS, and JavaScript to suit the user’s needs.

For more information about SharePlus, be sure to visit our Enterprise Mobility site. And be sure to stay tuned for our next post about the personalized information views found in SharePlus.

Developer News - What's IN with the Infragistics Community? (12/1-12/7)

NucliOS Release Notes - December: 13.2.210, 14.1.91, 14.2.205 Service Release

$
0
0

Introduction

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find the notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release Notes: NucliOS 2013 Volume 2 Build 210, NucliOS 2014 Volume 1 Build 91 and NucliOS 2014 Volume 2 Build 205

ComponentProduct ImpactDescriptionService Release
IGFlowLayoutViewBug Fix

IGFlowLayoutView in landscape orientation when scrolled to the bottom will clip its content if rotated to portrait orientation.

Note: N/A.

14.1.91, 14.2.205
IGCalendarViewBug Fix

Appointments spanning over three months are not displayed correctly.

Note: N/A.

13.2.210, 14.1.91, 14.2.205
IGCalendarViewBug Fix

IGCalendarView is slow to initially appear.

Note: The performance improvements made to the IGCalendarView were rolled back to 13.2 and 14.1. There is still some delay though, because the calendar does some front loading to make sure transitions between the different views are smooth. 

13.2.210, 14.1.91, 14.2.205
IGCalendarViewBug Fix

Appointments get duplicated when they are reloaded.

Note: N/A.

13.2.210, 14.1.91, 14.2.205
IGTreemapViewBug Fix

Setting the root node of the IGTreemapView to the tapped node in the NodeTapped method causes the tapped node to disappear.

Note: N/A.

13.2.210, 14.1.91, 14.2.205
IGChartViewBug Fix

The axes shift the first time they are initialized and displayed.

Note: The extent property has to be set in order for the fix to work. Without a set extent the axes will redraw in their proper place after the initial pass. With extent set, they will only draw once in the correct place.

13.2.210, 14.1.91, 14.2.205
IGChartViewBug Fix

Wicks not displayed on a candlestick chart.

Note: N/A.

13.2.210, 14.1.91, 14.2.205
IGChartViewBug Fix

Chart plot area is not stretched properly when binding data source post-load and using NSLayoutConstraints.

Note: N/A.

13.2.210, 14.1.91, 14.2.205

By Torrey Betts

WPF & Silverlight Data Chart Featured by Quantlabs

$
0
0

Bryan Downing over at Quantlabs recently featured Infragistics .NET WPF and Silverlight data charts in his post on front end charting for financial trading platforms - take a look!

[youtube] width="560" height="315" src="http://www.youtube.com/embed/Mxo1fTKtOfw" [/youtube]

He was particularly impressed with some of our Finance-related Sample Apps - have you seen these for yourself?

Check out Bryan's original post - we hope you'll agree with him!

Developing a Mobile SharePoint Solution with Infragistics - Part II: The Launchpads SDK

$
0
0

In our previous post, we discussed a key factor in every SharePoint mobile solution: extensibility. With the key features found in Infragistics’ SharePlus, users are able to create customized data dashboards and personalized information views that take their user experience to the next level.

In this post, we’re going to explore that extensibility even further with an in-depth look at the Launchpads SDK, one of the most valuables extensibility features of SharePlus. Launchpads - or information views - allow you to extend SharePlus by integrating web technologies like HTML, CSS, and JavaScript into the native User Interface. Let’s take a closer look:

Launchpad Features

  • Launchpads are developed through the integration of modern standard client-side web technologies like HTML5 and jQuery.
  • Launchpads can be remotely deployed from a centralized location, allowing a quick and easy distribution to all company devices.
  • You can easily package your launchpad in a compressed file containing HTML, JavaScript, CSS, images, and other assets.
  • Get access to SharePoint data even offline. Use the set of SharePlus JavaScript APIs to access the application, retrieve data from SharePoint, and display the information in your launchpad – even without connectivity!
  • Thanks to a short Learning Curve, SharePlus is easy to master:  you don’t need any further knowledge besides HTML5 and JavaScript.


Using Launchpads

Launchpads can be developed to:

  • personalize the gateway to one or more sites,
  • change the behavior of a site for different users,
  • present a customized start screen to a user or group of users

To learn more about some common scenarios where launchpads can be used, be sure to read our whitepaper about Amazing Experiences with Launchpads in SharePlus

And for a firsthand look at the code involved with creating a custom SharePlus solution, be sure to check out our next post in this series.

Special Offer: Get Our UX Prototyping Tool for 50% Off

$
0
0

The end of the year can be a stressful time. Let Infragistics make it a little easier with this exclusive special offer!

For a limited time, get the latest version of our rapid prototyping tool, Indigo Studio, for $249 – that’s 50% off the current license rate! Simply visit our Online Store now and enter promo code UXSAVE50.

Don’t waste time on round after round of revisions – discover the right design, code-free, with Indigo Studio. The latest version has a host of new features, including:

  • Screenparts - reusable custom UI elements which allow you to create your own UI library;
  • Responsive Web page layout using bootstrap to target desktop, tablet and mobile;
  • Design for mobile devices, with pre-built transitions and gesture support;
  • A UI pack for iOS style prototypes, with accurate sizing for touch targets; Export to PDF, and more.

Let users and stakeholders experience your Web, desktop, or mobile application idea before you write a single line of code. But you’d better hurry: this offer is only valid through January 5th.

So what are you waiting for? Work smarter - not harder - with Indigo Studio.

Get It Now!

Ignite UI Release Notes - December 2014: 13.2, 14.1, 14.2 Service Release

$
0
0

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find the notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

Note: This is the last service release for Ignite UI 2013 Volume 2.

Download the Release Notes

Ignite UI 2013 Volume 2

Ignite UI 2014 Volume 1

Ignite UI 2014 Volume 2


Infragistics ASP.NET Release Notes - December 2014: 13.2, 14.1, 14.2 Service Release

$
0
0

With every release comes a set of release notes that reflects the state of resolved bugs and new additions from the previous release. You’ll find the notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

Note: This is the last service release for Infragistics ASP.NET 2013 Volume 2.

Download the Release Notes

ASP.NET 2013 Volume 2

ASP.NET 2014 Volume 1

ASP.NET 2014 Volume 2

Changes in the igCombo and its extension for the KnockoutJS

$
0
0

With the current Service Release (build numbers – 13.2.20132.2417, 14.1.20141.2558, 14.2.20142.2140), our KnockoutJS extension for the igCombo, along with the igCombo control itself, were updated to meet some of the KnockoutJS requirements that was problematic before and to improve some other parts of the extension. In most of the cases these improvements will not affect your current applications and will give you access to new functionalities. In some others cases you will need to update a couple of lines, but we hope this will improve the overall quality your projects.

The sample below, will demonstrate, how the use the current implementation of the KnockoutJS extension of the igCombo. For your ease, the code examples will be accompanied with proper explanations.

Below you can find the Model, ViewModel and the View that we are going to use in this topic:

  1. <!DOCTYPEhtml>
  2. <htmllang="en"xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.     <metacharset="utf-8"/>
  5.     <title>igCombo KnockoutJStitle>
  6.     <scripttype="text/javascript">
  7.     $(function () {
  8.         "use strict"
  9.  
  10.         var ds1 = [{ value: 0, name: 'Paul' }, { value: 1, name: 'Andreas' }, { value: 2, name: 'Stefan' }],
  11.             combo = $("#combo"), globalModel;
  12.  
  13.         function ViewModel() {
  14.             var self = this;
  15.  
  16.             this.data = ko.observableArray(ds1);
  17.             ds1[1].name = ko.observable(ds1[1].name);
  18.             ds1[2].name = ko.observable(ds1[2].name);
  19.             this.text = ko.observable("Andreas");
  20.             this.selectedItems = ko.observableArray([{ index: 1 }]);
  21.  
  22.             this.editViewModel = function () {
  23.                 self.data()[1].name("AndreaViewModel");
  24.             }
  25.             this.editDataSource = function () {
  26.                 $("#combo").igCombo("getData")[1].data().name("AndreaDataSource");
  27.             }
  28.             this.editSelectedItem = function () {
  29.                 $("#combo").igCombo("option", "selectedItems")[0].data().name("AndreaSelected");
  30.             }
  31.         }
  32.         ko.applyBindings(globalModel = new ViewModel());
  33.  
  34.         combo.on("igcomboselectionchanging", function (evt, ui) {
  35.             // Get the previously and currently selected items' values
  36.             selectingItems = ui.items[0].data().name();
  37.             oldItems = ui.oldItems[0].data().name();
  38.  
  39.             // Set the previously and currently selected items' values
  40.             ui.items[0].data().name("Paola");
  41.             ui.oldItems[0].data().name("Andrea");
  42.         });
  43.         combo.on("igcomboselectionchanged", function (evt, ui) {
  44.             // Get the currently selected item's values
  45.             selectingItems = ui.items[0].data().name();
  46.  
  47.             // Set the currently selected item's values
  48.             ui.items[0].data().name("Paola");
  49.         });
  50.     });
  51.     script>
  52. head>
  53. <body>
  54.  
  55. <inputtype="text"id="combo"
  56.     data-bind="igCombo:
  57.     {
  58.         text: text,
  59.         dataSource: data,
  60.         textKey: 'name',
  61.         valueKey: 'value',
  62.         allowCustomValue: true,
  63.         selectedItems: selectedItems,
  64.         multiSelection: 'onWithCheckboxes',
  65.         mode: 'editable'
  66.     }"/>
  67. <buttonid="editViewModel"data-bind="click: editViewModel">Edit from the View Modelbutton>
  68. <buttonid="editDataSource"data-bind="click: editDataSource">Edit from the igCombo data sourcebutton>
  69. <buttonid="editSelectedItem"data-bind="click: editSelectedItem">Edit from the igCombo selected itemsbutton>
  70. body>
  71. html>

Removing ‘value’ option and making igCombo ‘selectedItems’ option an observable

The ‘value’ option was not initially added to the igComboKnockoutJS extension. It was added at a later stage, to meet the requirements for some of our clients. The idea of having such an option, was to be able to make the igCombo value observable, instead of the igCombo text. Now it is replaced with the ‘selectedItems’ option, which covers the same requirement for having observable of the combo current value. Here are listed the weaknesses of the previous approach:

  1. There isn’t a real igCombo‘value’ property, and it was used only by the KnockoutJS extension. This leaded to inconsistency between the extension and the control itself.

     2.  Multiple selection cannot be done using the ‘value’ property.

The 'value' igCombo KnockoutJS option is removed:

  1. <spanid="combo"data-bind="igCombo: {
  2.     value: vmValue,
  3.     dataSource: data,
  4.     textKey: 'name',
  5.     valueKey: 'value'
  6. }">span>

The 'selectedItems' option is introduced and it can be defined as an observable array in the ViewModel object:

  1. function ViewModel() {
  2.     this.selectedItems = ko.observableArray([{ index: 1 }]);
  3. }

         

And then inside the View, the combo ‘selectedItems’ option is bound to the corresponding           ViewModel property.

  1. <spanid="combo"data-bind="igCombo: {
  2.     selectedItems: selectedItems,
  3.     dataSource: data,
  4.     textKey: 'name',
  5.     valueKey: 'value'
  6. }">span>

What we achieve introducing such a change is:

  1. Consistency between knockout extension and igCombo widget. The 'selectedItems' is a igCombo option.
  2. We can make multiple selection, using item value or item index. One of the ways to achieve this is by adding the new selected item to the array of the selected items:
  1. globalModel.selectingItems.push({ index: 3 });

     3.   We are following the KnockoutJS standard of doing selection in the HTML select element - option binding.

igCombo holds references to data and selected data

With the new changes in the igCombo extension, now igCombo holds reference to the data that the igCombo control is bound to. This was not valid before, because the KnockoutJS extension was unwrapping the observable data source, and if a changed occurred, then the entire data source was rebounded. This is improved now and the KnockoutJS extension is passing the data source as a reference to the igCombo control. In a similar manner it also holds reference to the array if the igCombo with the selected items data, one or more depending on the selection type.

Now the igCombo serve as an observer for observable collections. All ViewModel properties that are defined as observables or have observable values, are preserved by the combo in this state. This allows the following functionalities:

  1. Access and change data items through combo API and get their reference – see the 'editDataSource' method in the ViewModel.
  2. Access and change selected items through combo API and get their reference – see the 'editSelectedItem' method in the ViewModel.
  3. Access data items through combo events arguments and get their reference. See the ‘selectionChanging’ and ‘selectionChanged’ events
  1. function ViewModel() {
  2.     ...
  3.     this.editViewModel = function () {
  4.         self.data()[1].name("AndreaViewModel");
  5.     }
  6.     this.editDataSource = function () {
  7.         $("#combo").igCombo("getData")[1].data().name("AndreaDataSource");
  8.     }
  9.     this.editSelectedItem = function () {
  10.         $("#combo").igCombo("option", "selectedItems")[0].data().name("AndreaSelected");
  11.     }
  12. }
  13. ...
  14. combo.on("igcomboselectionchanging", function (evt, ui) {
  15.     // Get the previously and currently selected items' values
  16.     selectingItems = ui.items[0].data().name();
  17.     oldItems = ui.oldItems[0].data().name();
  18.  
  19.     // Set the previously and currently selected items' values
  20.     ui.items[0].data().name("Paola");
  21.     ui.oldItems[0].data().name("Andrea");
  22. });
  23. combo.on("igcomboselectionchanged", function (evt, ui) {
  24.     // Get the currently selected item's values
  25.     selectingItems = ui.items[0].data().name();
  26.  
  27.     // Set the currently selected item's values
  28.     ui.items[0].data().name("Paola");
  29. });

This means that if we change a member in the underlying data source, then the igCombo should react to those changes by updating the values it displays. This means that the list of data members should be updated any time an external update happens. It doesn’t matter if it is changed using the combo methods, or the change happens during some of the combo events.

When ViewModel value is changed, igComboKnockoutJS extension cannot modify that value

This improvement is something you may never have the chance to experience, because it is related to the case, where we have more than one combo controls on the page. At the same time, one of the combo controls, on that page, should not allow custom values. This means that if we try to set a text of such a combo, and the value is not presented in the list, then combo will set as a text empty string. So if we have several combo controls, and one of them doesn’t allow such a value and we try to change it from the ViewModel, then the combo was updating back the ViewModel with empty string. The idea was to have consistency between all the igCombo controls that are pointing to the same property from the ViewModel. But if a new value is set, using the ViewModel, then it is expected that it will not be changed by anything. That’s why we decided to remove this and leave the value of the ViewModel untouched. If a certain combo doesn’t allow such a value, its text is set to empty string, but not for the others that allow it, or just allow custom values.

Other improvements

Another improvement that we’ve made, an internal one that will not affect your existing code, was to separate the input KnockoutJS binding from the bindings for the combo drop down. This is performance improvement that allows to separate the execution for the different igComboKnockoutJS logic. For example, when the igCombo text is changed, then the logic for the drop down is not executed, which was the case before.

Including also the usual bug fixes, now this summarizes the changes introduced in the igCombo and its KnockoutJS extension. Changes that you need to be aware of and if needed - apply in your applications.

Ambushed by False Affordances

$
0
0

ааа Affordances are what we directly perceive as a possibility for action. False affordances are very similar but differ in that these actions are actually undesired or impossible… we are tricked into something that should not be done in first place.

These two concepts (affordances and false affordances) have long been established in the area of Human-Computer Interaction and I don’t want to go into the debate of their accuracy but rather share a prominent recent experience of mine. Before that, let me share some general thoughts on the topic. First of all, false affordances trick us into doing something that we are actually not expected to do. Many say that they are an example of lousy and evil design. In the literature, they are often labeled as “user experience dark patterns”, exploited by marketers to benefit their campaigns.

False Affordance Abundance

I can bet that each person reading this blog has laughed his head off at least once at images on the web showcasing the concept of false affordance. There are numerous photos of stairs that end at a nicely done wall, second floor doors on buildings that have neither a balcony nor a staircase, wheelchair ramps that end in a nicely mowed grass meadow and many others. All these objects (staircases, doors and ramps) are very familiar to us and we are tempted to use them relying on our experience of how they should “work”, but if we do so - bummer - the false affordance tricks us into a nasty situation and we feel deceived and helpless. Even if we decide not to take the “stairs to nowhere” because we were careful enough to spot the flaw early, we still find ourselves in the sea of confusion. What were the builders thinking? Why would anyone build such a nonsense? They make us think but good design should not require us to do so. Good design results in users who know exactly what to do and how to do it. It broadcasts the outcome of our actions with absolute certainty.

My Bank Ambushed Me

Well, not the entire bank…just the ATM. Yes, an ATM just like those that I use a few times every month and have been doing so for the past 10+ years. Specifically, the ATM in the image below:

clip_image002[44]

The problem was not actually the ATM or its interface but rather, how to physically get to it in the first place. If you are walking toward the machine you might say: “Well there it is, to the left, just go there and withdraw some cash“. But once you get closer you see it is a dummy. The glassy façade of the bank is covered with foil and part of it is an image of a life-sized ATM. I was tricked by this so many times that I am embarrassed to admit the exact number. Each time, I went a few hundred meters down the street to another bank to use its ATM instead. Eventually I began ignoring this tricky ATM and went to the other one right away. Until one recent, rainy Friday night. I had to withdraw some money and a friend pulled by this very ATM. I didn’t want to go and asked her do drop me off by the other one… it was only a hundred meters down the street, but it was raining. She, of course, refused, thinking that I was some kind of a cry-baby. I thought I’d pretend to go to the (tricky) one, we were parked in front of, until she drove away and then walk to the other one. I’d rather walk a hundred meters in the rain than be laughed at. While walking towards the fake ATM I had a thought: Let’s give it a try. There must be something there because it doesn’t make any sense to just have a picture of an ATM. As I walked toward it my attention was drawn to the black card slider by the door handle. That door looked so miserable compared to the glassy automatic one on the branch door that I always thought it was for bank personnel. But this black card slider looked familiar, just like those on “normal” banks where the ATM is inside a small room. Then I looked back at the dummy ATM and read the labels saying: “Please enter our self-service saloon” and “It is open” with an arrow pointing towards the door. I slid my card once and nothing… I was so excited that I slid it probably too fast. I slid it slower the second time and… green light, I opened the door and there was the ATM in the corner of the tiny room. I felt like Columbus seeing the coast of America.

Revelation and then…

Maybe you think that I withdrew some cash and walked out. Well not really. The ATM was showing an out of service message! Ironic, don’t you think? In the end I walked to the other ATM, in the rain, with mixed feelings. Thinking about that evil mind that designed the vinyl for the façade. He probably wanted to hide the room but why? All other banks have glass windows so everyone can see the actual ATMs. Was it a security precaution so that a thief cannot see if someone is inside? But then everyone can see when a person walks in or leaves the self-service saloon. Maybe they realized the danger of limiting the visibility to the real ATM and decided to attract people by adding a dummy to the vinyl. In the end this only contributed to the problem by making it even more confusing. What can we do about it? First, we should raise our voices to fix such existing flaws. Second, and perhaps more important, we, as a profession, need to strive to educate others on the implications of making such poor design decisions. Concepts like false affordances that trick users into doing the wrong things are not just problematic for users at that moment but also have long-term impacts on future behavior. In this case, the bank missed out on the transaction fees. For a website it might be even more critical – impacting revenue, customer satisfaction and credibility. My advice here is think twice and don’t overcomplicate things when there is a straightforward solution. If you are not sure what to do, take a look at how others do it. – they might have gotten it right!

Developing a Mobile SharePoint Solution with Infragistics - Part III: A Code Example

$
0
0

In our previous blog posts, we introduced the Launchpads SDK as an extensibility agent for a SharePoint mobile solution and explored the other extensibility options found in SharePlus. Now, in our final post, we’ll explore the actual code used in adding functionality through the Launchpads SDK.

Data in a SharePoint Web

The example we use here is about using one of the API functions to retrieve information from a Contact list in SharePoint. The screenshot below shows the contacts’ information in the SharePoint site:

Show me the Code!

In a nutshell, you have to:

  1. Get the parameters ready (URL to the contact list in SharePoint, name of the list view, field values to retrieve)
  2. Invoke the API method with the required parameters, including the success callback function that receives an Array with the items and also the error and cancel callback functions.
  3. Loop through all existing items, create an HTML element (
  4. in the example) to store each contact and add it to the element with the “contactList” ID.

Getting the Contacts

To retrieve the contacts, we’ll use one of the pre-defined APIs, List.getItems, which allows for communication between the launchpads and SharePlus.

Create a SharePlusContacts.jsJavaScript file with the following code snippet:

 1 functiongetListItems() { 2  3 //Get the required information ready 4 var listUrl ='http://www.example.com/demo/Lists/Contacts'; 5 var viewName ='All Contacts'; 6 var fieldsValuesArray = ['ows_Title','ows_Picture']; 7  8 //Invoke the API method, loop through the items retrieved and get the contacts 9      SPlus.List.getItems(listUrl, viewName, fieldsValuesArray,function(items) {10 11 var itemsList = document.getElementById("contactList");12 13 for(var i =0; i < items.length; i++) {14 var item = items[i];15 var contact = document.createElement('li');16                contact.innerHTML ='<img src="'+ item['ows_Picture'] +'" >'+ item['ows_Title'];17                itemsList.appendChild(contact);18 }19 20 },function(errorResponse) {21           SPlus.Utility.showMessage('Error: List.getItems', errorResponse['error#displayValue']);22 23 },function(cancelResponse) {24           SPlus.Utility.showMessage('Cancel: SPlus.List.getItems', cancelResponse);25 });26 27 }

Note: In the code above, the Utility.showMessage API method is called to display a native alert.

Showing the result

Finally, you can decide how to show the contact list in your launchpad. In this example we package 2 files, index.html and SharePlusContacts.js, in a compressed file that will be used as launchpad.

Create an index.html HML file with the following code snippet:

 1 <html> 2 </head> 3 <body> 4 <divid="contactList"> </div> 5  6 <!--Reference the previous script file--> 7 <script type=”text/javascript” src=”SharePlusContacts.js”></script> 8  9 <script type=”text/javascript”>10      function SharePlusOnLoad() {   11 //Call the method included in the referenced JS file12           getListItems();13      }14 </script>15 </body>16 </html>

Contacts are displayed in the HTML element with the “contactList” ID. The previous JavaScript code is invoked from the SharePlusOnLoadfunction, which is executed before the launchpad is displayed.

Note: The SharePlusOnLoad function is called to notify SharePlus that the launchpad is ready and JavaScript API functions are enabled.

Data in a SharePlus Launchpad

In the screenshot below, you’ll see a launchpad that displays the contacts information within SharePlus in a visually appealing way. There are many other ways to customize your launchpad using CSS in the HTML code, this example gives you just one idea.

So now that we’ve explored how to extend your mobile SharePoint solution with extensibility, are you ready to incorporate SharePlus or ReportPlus into your applications under your brand? Schedule a meeting with one of our product specialists to see the enterprise versions of these apps for yourself!

Interview: Infragistics Xamarin.Forms is Here

$
0
0

In this exclusive interview, Senior VP of Developer Tools Jason Beres discusses our latest toolset: Infragistics Xamarin.Forms.

[youtube] width="560" height="315" src="http://www.youtube.com/embed/t2djhfWrUmE" [/youtube]

Want to enhance your Xamarin.Forms apps with immersive data visualizations, expressive dashboards, high performance data grids and more? Get Infragistics Xamarin.Forms.

Infragistics WinRT SR Notes – December 2014: 14.2, 14.1

$
0
0

Release notes reflect the state of resolved bugs and new additions from the previous release. You will find these notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

In order to download release notes, use the following links:

WinRT 2014 Volume 2 Service Release (Build 14.2.20142.2048)

Notes in PDF Format
Notes in Excel Format

WinRT 2014 Volume 1 Service Release (Build 14.1.20141.2153)

Notes in PDF Format
Notes in Excel Format

Infragistics Silverlight SR Notes – December 2014: 14.2, 14.1, 13.2

$
0
0

Release notes reflect the state of resolved bugs and new additions from the previous release. You will find these notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

In order to download release notes, use the following links:

Silverlight 2014 Volume 2 Service Release (Build 14.2.20142.2062)

Notes in PDF Format
Notes in Excel Format

Silverlight 2014 Volume 1 Service Release (Build 14.1.20141.2179)

Notes in PDF Format
Notes in Excel Format

Silverlight 2013 Volume 2 Service Release (Build 13.2.20132.2284)

Notes in PDF Format
Notes in Excel Format


Infragistics WPF SR Notes – December 2014: 14.2, 14.1, 13.2

$
0
0

Release notes reflect the state of resolved bugs and new additions from the previous release. You will find these notes useful to help determine the resolution of existing issues from a past release and as a means of determining where to test your applications when upgrading from one version to the next.

Release notes are available in both PDF and Excel formats. The PDF summarizes the changes to this release along with a listing of each item. The Excel sheet includes each change item and makes it easy for you to sort, filter and otherwise manipulate the data to your liking.

In order to download release notes, use the following links:

WPF 2014 Volume 2 Service Release (Build 14.2.20142.2081)

Notes in PDF Format
Notes in Excel Format

WPF 2014 Volume 1 Service Release (Build 14.1.20141.2216)

Notes in PDF Format
Notes in Excel Format

WPF 2013 Volume 2 Service Release (Build 13.2.20132.2338)

Notes in PDF Format
Notes in Excel Format

Always Moving Forward: Exclusive Interview with Dean Guida

$
0
0

We recently sat down with Infragistics Founder and CEO, Dean Guida, to take a look back at 2014 and to chat about what’s on the horizon for 2015. Read on to learn more!

2014 was a memorable year – what are some of your highlights?

It certainly was! It’s so hard to choose just a few highlights – but we broke our sales records, which is fantastic. More importantly, our customer renewal rate is at an all-time high. That’s a huge success. We’ve also taken on new enterprise customers as well and continue to grow there.

We also made our mark in the enterprise this year too. Apple recognized ReportPlus as 1 of 9 BI Mobile vendors that they promote on their website, along with our SharePlus for a native SharePoint experience. One of our partners used the extensibility features of SharePlus to create mobile clinical trials solutions for some of the largest pharma companies out there.

Infragistics turned 25 this year! How does that make you feel?

I feel very proud that we have created a company to last that is a global software company with millions of customers, funded by customers. We never took outside investment, and because of that, we’re focused on delivering customer value day in and day out. That no-surrender attitude to get to the next level and bust through the next obstacle is what drives everyone here.

I am also thrilled that we’ve created a place for like-minded people that help each other get things done and love to build great software through a collaborative, design-focused, and engineering approach. As a company, we’ve been tested many times: from technology change to recessions and beyond, but each time we’ve been able to adapt and strengthen our fabric as an organization to succeed and last, because we have the financial discipline, technology understanding, solid team and loyal customers.

What are some of the best things that 2014 has brought your customers?

All around, we’ve seen a lot of improvements in our products that make a positive impact on user experience. In Indigo Studio [our rapid prototyping tool], we’ve added the additional capability to design responsive apps, and the new screenparts feature enables developers to reuse parts of their designs across screens and projects.

In the UI realm, we added spreadsheet, diagramming and Microsoft Word-inspired components to the different platforms so developers can create office inspired applications that their users can adopt easily. And in our jQuery/HTML UI tool, we now have a 100% pure JavaScript Excel library that makes it possible for developers to edit and produce Excel spreadsheets in the browser, along with our new HTML5 modern Web page designer that empowers the drag and drop building of web apps.

Overall, I’m most humbled by the sheer size of the world we are impacting in both our developer tools and our mobile enterprise apps - each division has more than 1 million customers, and they’re growing every day!

That’s great. 2014 saw a lot of improvements in the developer tools space. What can customers expect in 2015?

Even more improvement! We’re focusing on cross-platform components, more native & hybrid components, and tooling for drag & drop web app creation. We’re adding more team capabilities in our interactive prototyping tool, Indigo Studio. And our developer and enterprise partners will be able to extend our Mobile Enterprise Apps through the built in API and extension points to create custom SharePoint content solutions and data visualization dashboards for their own apps, or deployment in the enterprise.

Infragistics is focusing on the enterprise a lot lately. What’s on the horizon for 2015?

By really focusing on user-center design and rapid interactive prototyping tools, we want to help the enterprise improve the communication between what the users need and what the development teams build. It’s our goal to improve the productivity of developers though components & tooling so v1 apps can be amazing experiences.

While the improvements in your developer tools have been so solid, does that naturally translate to your work in Enterprise Development?

Definitely, and we’re prepared to do that. When taking care of the enterprise you need global support teams, high quality in the product and a commitment to support older builds. Whether they're building in London, Bangalore, or even up on Wall Street, you need to have global teams to support that, which we do. We’ve also got the high-quality products and the commitment to support older builds so that we’re not forcing enterprises to the latest and greatest because they have to support their business and current production environments.

And from a design and UI perspective, we’re there to help those enterprise users understand the benefits of a user-centered design process, and how the tooling for design and prototyping and the software all combine together to help them build those amazing Web, desktop, and mobile experiences for both native and hybrid.

So you’ve said that Great Apps Happen by Design. What does that mean?

It really means that design is key to a great experience. You need to explore prototypes with interactions that allow your users and product teams to see and feel the application before it’s built. Then though iteration and collaboration with those stakeholders and your product teams, you’re able to build a v3 experience in your v1 app.

That approach really facilitates communication and collaboration. It's one thing to write requirement documents or have conversations in meetings about how something should be built or interact. It's another thing to see it, play with it, iterate on it, and keep people communicating and collaborating, which is really critical.

Where do you see Infragistics in 5 years?

Helping 3 million plus developers & designers –building great app experiences that delight everyone that uses them. And in our Enterprise Solutions business, we want to be a trusted and popular brand for customers & partners that drive productivity through mobile apps that are extensible for data visualization & collaboration on mobile devices. 

Ultimately my dream is to see Infragistics as a big global brand in technology; one of the top brands that people want to come work for and customers want to partner with to build amazing experiences and value for their business. And as we move into 2015, we’re poised to do just that!

What does it take to be a Programmer?

$
0
0

The tech industry has been flourishing with incredible growth and people are more inclined to pursue an illustrious career within the field. There are many opportunities available for the aspiring tech wizards and everyone should be able to find their niche, but I will mostly be focusing on what it takes to be a programmer.  There are some personality traits may determine whether or not you’re suited for the job, and if you can actually tolerate it. A common misconception that people have about programmers seems to be that they think an individual needs exceptional mathematical skills. However, this isn’t necessarily true since math isn’t one of the more important aspects to programming.

One of the most important skills you need to be a decent programmer is designing abilities. As a programmer, you basically start from scratch, with nothing. Being able to figure out what you want to do and how you want to do it are necessary in order to write a plausible program. Planning and designing go hand in hand and it can be a very time consuming project, especially when looking at the big picture. Many of the great developers have said that they started with something small, kept adding to it, added a bit more, and it eventually developed into what they had imagined. So another trait a programmer needs would be patience.

Programming is sometimes tedious work as you will probably spend hours debugging, searching, only to find a few silly mistakes. For programmers, patience is a virtue. If you typically aren’t a patient person, programming may frustrate you to no end. Also, this obviously requires spending hours in front of a computer screen. People unable to tolerate sitting for extended periods of time probably aren’t cut for making it as a programmer.

More important aspects would be that a programmer needs to be able to think logically, analytically, and be a good problem solver. It’s critical to pay attention to details and helpful to be very specific. The design of a program should also be reflective of this since an organized format will help make sense of the problems you’re trying to solve.

There are tons of programming languages out there for people to learn and if one of them isn't working for you, have a taste of something else. The Internet has an abundance of resources to guide aspiring programmers, help them reach their goals, and jumpstart some careers. Something I would recommend is just dive into it and don’t be afraid, get started and see how you can do. No need to be discouraged if it doesn't come naturally since everything takes a fair share of effort to become proficient. 

Developer News - What's IN with the Infragistics Community? (12/8-12/14)

Developer News - What's IN with the Infragistics Community? (12/15-12/21)

$
0
0

For those of you following Developer News, this will be your last edition for 2014! I'll be back with Developer news in early 2015 so please feel free to like, share, retweet and comment away until then and maybe your favorites will be featured when we're back in action! Until then....

5. Disrupt Your Sector Through Better User Experience (headscope)

4. The 'Liking' Principle in User Interface Design (Neilson)

3. 21 Tools to Help Your Remote Team Work Better Together (TheNextWeb)

2. 12 Useful Math Hacks That They Didn't Teach You In School (Architecture & Design)

1. 6 Signs That You Are Not Meant To Be A Programmer (makeuseof)

Viewing all 2372 articles
Browse latest View live




Latest Images