Haaron Gonzalez Rotating Header Image

BCS Limitatios to keep in mind

Have you wonder about the limitations of BCS in SharePoint 2010? Well Chakkaradeep Chandran a Program Manager from Microsoft SharePoint Development Team blog about it here on August 2010. As long customers require SharePoint 2010 support I will continue sharing information like this. So, please take a look:

BCS Limitations

Even though BCS is great and can do wonders when you want SharePoint 2010 to interact with your external systems or other LOB applications, it has its own limitations. Understanding these limitations will help you build good BCS solutions.

Below are some/all of the BCS/External Lists limitations:

  1. Workflows cannot be associated with external lists
    • However, you can use the external data columns and manipulate the external lists in a workflow
  2. No RSS feed support for external lists
  3. No REST based access for external lists
  4. LINQ to SharePoint spmetal.exe does not support external lists
  5. Cannot configure alerts for external lists
  6. Cannot export external list items to Excel (Export to Excel feature)
  7. Item-Level permissions is not available for external lists
  8. Versioning cannot be configured on external lists
  9. Item History is not available on external lists
  10. Datasheet view cannot be used in external lists
    • XSLT is supported though
  11. You cannot create a site column of type ‘External Data Column’
    • External data columns can be created only as list based columns and cannot be consumed in site level content types
  12. No Write support for BLOB
    • You cannot write back to BLOB fields using BCS unless you write your own method
    • You can access BLOB columns by defining a StreamAccessor method and presenting the external data via the BCS Data List web part by checking the Display stream fields property
  13. Ratings feature is not supported for external lists
  14. Metadata based navigation is not supported for External Lists

Some of the limitations are quite obvious as the data does not reside in SharePoint and it is not SharePoint’s responsibility on how the data behaves. SharePoint is here to just present the external data. That said, I do think some are not limitations, but Microsoft just didn’t have time to implement, like:

  1. RSS feed support
  2. External data site columns
  3. Export to Excel

If I have missed any limitations, please feel free to comment and I will add them to the list.

This post was originally published by Chakkaradeep Chandran here http://chakkaradeep.com/index.php/bcs-limitations/

How to copy the body of your email action in Workflow Designer using SharePoint Designer

This is for my friends and customers that still support SharePoint 2010 workflows and solutions using SharePoint Designer 2010. Have you been in the situation to re-create a SharePoint Designer 2010 workflow and notice that you cannot copy or paste the body of your Email actions forcing you to re-create your action from scratch? What a hassle.

Well, today I found a way that copy the content of your action attributes and with that simplify a little bit the experience of recreating Workflow Designer actions.

Step 1: Locate the Send Email action in your workflow and open the Properties window

SPD1

Step 2: Select the content of the Body attribute in the property window, right click and copy

SPD2

Step 3: in your new Send Email action open the Properties window

SPD3

Step 4: Click the “…” button

SPD4

Step 5: Paste the content of your clipboard

SPD5

Step 6: Click OK and just re-assign you lookup properties

SPD6

What happens when you accomplish your dreams? Well, you create new dreams

It’s time for me to close a cycle and move on to another endeavor in my career. For the last 3 years I have been lucky enough to work for Konica Minolta formerly known as Hershey Technologies. After Tom Castiglia, Arjay During and Neal Fischer believed in me and gave the opportunity for me to join the team I started engaging with existing/new customers, team members and SharePoint local community folks. I started little by little, building, gaining trust based on pure hard work and consistent outcomes. I was fortunate to partner with account managers and do pre-sale work that help us position our services and close so many deals that with the help of the team we were able to deliver value in a profitable way and consolidate strong/solid relationships with customers. After touching more than 55 customers, more than 74 projects during a 3 year span is time for me to say farewell.

I am extremely proud, grateful and lucky to have the chance to learn from everybody here and to grow professionally accomplishing things that once in my life where dreams and future visions of me. Even do, it’s hard to say goodbye to friends, this is something that I feel and know I need to do. Thanks Konica Minolta formerly known as Hershey Technologies team members, management and top executives for your patience and trust. Please continue taking care of our customers.

What happens when you accomplish your dreams? Well, you create new dreams. That’s why I am joining Slalom Consulting. This is a company with a high level consulting profile that I know is the right step for me to continue doing what I know and what I need to do to strive in bigger challenges and outcomes. I am so excited to join this team, so more histories to come in the future, new dreams and visions to conquer.

Thanks all for your friendship and partnership, sicerelly Haaron Gonzalez

How to display additional lookup data from another list in a Nintex Form

Let’s say that you have a lookup site column that you are using all over the place in multiple lists and sites under your site collection and you need to be able to display additional data from this important list in a Nintex form, there is a way fortunately.

By adding this site column into your content type or list the Nintex Form will identify field as a lookup control automatically and by using the lookup function you can query another list in the site collection and return data from it.

In this example, I have a Stores list, every store has a district number associated, so when I pick and choose a particular store number by using the lookup function I am able to return the district for the selected store.

lookup1

To understand how the lookup function determines what data to bring back, consider the following lookup function:

lookup(“listA”, “ID”, 1, “Title”)

This lookup will send a query to SharePoint, asking for list items within a list titled ‘listA’ and return the Title column value from any list items whose ID column value is 1.
Note: The match on the value is case-insensitive.

The lookup function does not support complex query construction; it determines what list items are included, as data to bring back, based on the filter column being an exact match to the value you specify. You can compose complex formulas with the formula builder if you need to build up a complex query, however be mindful that each lookup function will send an individual request to SharePoint for data.

So, in my example I just added a Calculated Value control in the Nintex form and configure the lookup runtime function like this:

lookup("/sites/mysitecollection|mylist","ID",Store,"District")

Notice that there is a “|” to point to a list in another site, in this case, the top level site using a relative URL Path, then delimit the list title with a pipe ‘|’ symbol. If your list exists under your current site just use the list title without the URL Path.

lookup2

 

How to read values from query string in a Nintex Live Form

Nintex_Live_RGB_Horz-400px

I remember when a friend that was very good at writing technical articles and blog posts told me that he didn’t had the time to do it when I asked why he doesn’t blog anymore. That’s exactly what happened to me in the last couple of months or so. I apologize in advance.

Today, I want to share how you can read query string parameters using JavaScript and pass them into a Nintex Live Form controls.

Set the Client ID JavaScript variable name for your text box controls you want to set with the query string values

  • Select your text box control, right click settings
  • Expand the Advanced section
  • Provide a Client ID JavaScript variable name

Set the Client ID

 

Modify the Custom JavaScript i the form Settings

  • Click the Settings ribbon button
  • Expand custom JavaScript section
  • Create a JavaScript function to read and return query string properties ( I borrowed the function from here)

var getQueryString = function ( field, url ) {
    var href = url ? url : window.location.href;
    var reg = new RegExp( '[?&]' + field + '=([^&#]*)', 'i' );
    var string = reg.exec(href);
    return string ? string[1] : null;
};

  • Invoke the function to get the query string values passing the name of the parameter and use the NWF$ to set the values in the right text box. kmsid is my query string parameter

var surveyId= getQueryString('kmsid');

NWF$(document).ready(function() {
NWF$('#'+TitleControl).val(surveyId); 
});

Custom JavaScript

Now you need to make sure your Nintex Live form URL includes the Query String parameter we are referring in the code. In my case I created a Nintex Workflow that will send an email and in the email body a hyperlink to the Nintex Live form is included. I modified the hyperlink to have my query string parameter kmsid, just make sure you don’t use the default URL provided by Nintex Live, use the resulting URL of your Nintex Live form to construct the entire URL with the additional query string.

 

SharePoint Workflows with Vlad Catrinescu

All you need to know about Workflows in SharePoint 2010 and 2013 as a Power User is covered in Vlad Catrinescu Pluralsight course. Very well done and nice examples.

Check it Out here https://www.pluralsight.com/courses/sharepoint-work-creating-workflow-sharepoint-designer

Welcome February!

Formulas to get the first and last row on a repeating table in InfoPath

You know, you wake up knowing that is going to be a wonderful day working for a customer with the software products you love. During today on-site support session, you found out that is needed to write some good old XPath formulas on an InfoPath form.

There is a repeating table with the columns necessarily to describe travel information like Departure Date, Return Date, City, you named and the requirement was to expose the initial Departure Date and the last Return Date of the entire trip, so, what do we mean with entire trip? I maybe start a trip from San Diego to Mexico City, and then another trip from Mexico City to Seattle and then from Seattle to Las Vegas. Clearly, the Departure Date and Return Date are not associated with just one row “trip” in the repeating table because I have at least more than one row for describing all the trips.

The data structure of the repeating table is:

 

 

structure

So, here are the formulas to get the first and last row on a repeating table.

../my:TravelInfo/my:TravelInformation[count(preceding-sibling::my:TravelInformation) = 0]/my:DepartureDate

../my:TravelInfo/my:TravelInformation[count(following-sibling::my:TravelInformation) = 0]/my:ReturnDate

Fortunately, the approach work as a charm. No C# code saved the day today. Pure old good XPath did it. InfoPath, you are definitely the sunshine of my love, especially now that you will be supported until 2026 baby.

 

Speaking at Nintex Inspire 2016 in Las Vegas

I am so happy to announce that I’ll be speaking at Nintex InspireX Conference co-presenting with Tom Castiglia. We will share how to use Nintex Workflow & Forms and DocuSign fornintexinspire automating some of the most typical Human Resources process in a company. Nintex Workflow and Docusign can work together to request and retrieve digital signed PDF files for archiving the paperwork that needs HR by law need to retain. We automated some process for our customers and we want to share our overall solution approach.

Nintex InspireX will be on take place in Las Vegas, Nevada between February 22-24. In encourage you to review the agenda and awesome sessions/speaker line up.

Here the session details:
Using Nintex and DocuSign for Open Enrollment and Employee Onboarding, with Konica Minolta Business Solutions
When organizations hire a new employee, the onboarding process always requires the new hire to fill out, sign and submit numerous legally binding forms. These forms are typically provided by benefit providers and government agencies in paper and/or PDF format, and require a “wet” signature to be submitted. This session will show how to architect a re-usable solution based on Nintex Forms, Nintex Workflow and DocuSign, that can support any number of different third party forms, converted into DocuSign templates in order to capture a legally binding digital signature. We’ll also show dashboards for the HR Manager to monitor the progress/status of forms pending for each employee.

 

Wake Up, Lazarus

You will not believe, but I’ve been so busy that didn’t had chance to write a post about the Release Candidate of SharePoint Server 2016 announced by Bill Bear on Jan 20, 2016. Now we can get more serious on evaluating SharePoint Server 2016 for our production environments. If you are interested, please take a look on this announcement.

SharePoint Server 2016 and Project Server 2016 Release Candidate available

Also, please read Dan Holme point of view on the RC and SP16, it has a valid point!

NOTE: Notice that InfoPath 2013 and SharePoint Designer 2013 will match support lifecycle for SharePoint Server 2016, running until 2026 meaning that we can still support our customers that have InfoPath Forms and SharePoint Designer Workflows.

spc14-infopathfuneral

SharePoint pushed to its limits

championsHave you been interested in knowing how intranets get together? Or what practices teams follows in order to design/build/deploy and support an enterprise intranet? I did had the question too, and one of the resources I have been following for a couple of years now is the Nielsen Normal Group Intranet Design Award. This is a competition conducted by the Nielsen Norman Group called annual intranet design to identify the world’s 10 best intranets.

In this report you can see very interesting topics that will definitely give a broader idea on what it takes to build and deploy a top notch intranet. As a SharePoint consultant this also makes sense to review because you can see some real world SharePoint implementations, ideas, trends, features and approaches that maybe you didn’t know were possible.

Be aware that the report is not free, you need to pay for a licensed copy.

Congrats to BrightStarr for participating and winning this year!