It's now December 2018, and I would like to give some quick feedback on the meeting we had last week with the members of the Sevilla, ES Developers Group.
There's been a lot of changes in the Trailblazer Community over the last part of 2018, and we're all migrating from Meetup to Bevy.
I've also been quite busy with a few events after the summer, I first had the great opportunity to attend Dreamforce '18 for the 4th time!! OMG!! As well as French Touch Dreamin for the first time, which was a great experience just by the Eiffel Tower!
I've definitely had a really good time within the Community this year, but travelling to other events has kept me a bit out of focus with the local Developers Group I lead in Sevilla...
We had to do something about it; not only because we had everything ready to have our "Testing In A Box" workshop, but also because we had to give Bevy a go and try it.
LONG TIME NO SEE
So after a long time and a platform transition, we scheduled our "Testing In A Box" session. My regular attendees were quite happy to take part and they offered a room in their local office in Sevilla. Thanks very much to Accenture Seville for letting us organise the meeting in their premises.
My Trailblazer friends Jorge Ortega Traverso and Rogelio Machuca Guerrero encouraged most of the members of their team to come along, and we had a full room!!
SWAG
We all know this is very important for all of us Trailblazers. And that was also the case with the newbies in our group. Unfortunately, I didn't have much to give away, apart from the test cards that were shipped earlier in the year, and a number of left over Trailhead caps I had from previous events. So that kept me safe from swag-hungry developers... hahaha
TESTING IN A BOX
The format of the workshop was really good. I have to say that I enjoyed having a few videos to watch, with a number of 'Trailblazer Celebrities'. That gave me the opportunity to introduce some of the Salesforce Evangelists to the new comers. But it also makes it easier for everyone to be focused on what we're going to be doing.
So, after each of the videos, we had a really good and engaging chat. Most of the attendees shared their experience and their opinions on each of the topics being discussed.
That was also a bit surprising for me, as I normally find the situation where some of the attendees expect me to do all the talking and just listen to what I have to say, which is a bit stressful, because sometimes I don't have much to say... haha But anyway, I think the format of this workshop made it a lot easier for everyone to participate.
We shared knowledge, tips and tricks, and not only we discussed good testing practices... I learnt some really bad practices on testing that I don't even want to put into words just so I don't give anyone any bad ideas... but it was really educational...
CODE NEVER LIES
And I can't finish this blog post without mentioning Kevin Poorman's T-shirt!!! We all loved the printed message, that reads: "Code never lies. Comments sometimes do."
This was also part of the conversation amongst the attendees and we all agreed that the message is very true.
That T-shirt looks really cool and we all want one!!
CAN'T WAIT FOR THE NEXT ONE
After this meeting, we had some information about the new Lightning Web Components being released soon and the plans for the coming "Developer Week 2019" meeting in order to go through what's new and what it's all about.
I have to admit that I'm quite excited about the next meeting. I really missed having our local meetings in Sevilla and having had such good turnout I can't wait for the next one!!
I do think this format for the meetings is really good and we all enjoy it more! Well done team Trailblazer Community!
A blog about Cloud Implementations on the Salesforce platform, Data Integration and general development.
Showing posts with label Salesforce. Show all posts
Showing posts with label Salesforce. Show all posts
Wednesday, 19 December 2018
Friday, 16 November 2018
Can't find your object fields in Lightning?
Can't find your Fields in the Object Manager search using Lightning Experience?
Then, this is the blog post you are looking for.
What's the problem?
The problem is that, as of November 2018, the search functionality for the Object Manager in Lightning Experience only provides searches by the Label of the objects and the Label of the field.
How did I find out?
I found out about this problem a couple of weeks ago, when I was working in a project where the API Field names don't quite follow the best practices and they are very different to the Field Labels...
I'm a developer, so I'm sometimes a victim of copy-paste typos and hard-coded field names, where miss-spellings happen all the time... So I was getting compilation errors due to 'non-existing' fields in the object...
So, as I've mentioned before on this blog, I consider myself an 'Admineloper', as I do a lot of point and click combined with coding on my daily job. There I go with my #AwesomeAdmin super powers to find out what's going on...
And I spent a good couple of hours double checking that I wasn't going mad... Honestly, I started thinking I found the glitch in Salesforce that nobody had ever found before!! hahaha
Then I called for help, and my colleague Tom Blockley shared his fresh pair of eyes to confirm I wasn't going crazy, and suggesting to search by the label name, instead of the API name.
Show me with a few screenshots!
And that was the key!! I hadn't thought for a single second that searching by the API name wasn't a feature of the Object Manager search...
I thought this wasn't a big deal, since I was working with a custom object that was very specific to that org, but then I found a few examples where this also happens with standard objects.
Let's see a few examples with the D&B Company object: this is the label of the object, but its API name is DandBCompany.
If we are developing and we know the API name, it would make sense to use the term 'dandb' as the Quick Find search input. Well, this is what we get when we do that:
Note that no results are returned...
Now, this is what you get when your search term is 'D&B', which is part of the Object Label:
The same thing happens with the field names, when you search by substrings of the API name, no results are returned if the Field Label doesn't contain that substring...
Another example of field search in the same object, D&B Company:
If we are programmatically manipulating this field on this object and we know its API name is SalesTurnoverGrowthRate, but we don't know some of its details, for example, its length, then it makes sense to go to the Object Manager and look for that field to check the information we are after. This is what we get if we search by 'Turnover':
Note that no results are returned... That substring is part of the API name, but is not part of the Label, and therefore it doesn't show in the result list.
However, if you search by 'revenue', which is a substring of the Label, but not contained in the API name, the result is as follows:
Also note that the search is not case sensitive, as the search term used is 'revenue', all lower case, and the Label contains the substring 'Revenue', with a capital R.
Success Idea
There's already a Success Idea for this: this link. I've upvoted it as I think this is an important feature that Lightning Experience is missing, not only to search by API name, but also by Description... So if you also think this is an important feature, please follow the link and upvote for this idea.
Looking for a field that you know the name of is great to get information about its properties, but when you don't have much information about it, it becomes quite difficult if you can only search by the field label...
Then, this is the blog post you are looking for.
What's the problem?
The problem is that, as of November 2018, the search functionality for the Object Manager in Lightning Experience only provides searches by the Label of the objects and the Label of the field.
How did I find out?
I found out about this problem a couple of weeks ago, when I was working in a project where the API Field names don't quite follow the best practices and they are very different to the Field Labels...
I'm a developer, so I'm sometimes a victim of copy-paste typos and hard-coded field names, where miss-spellings happen all the time... So I was getting compilation errors due to 'non-existing' fields in the object...
So, as I've mentioned before on this blog, I consider myself an 'Admineloper', as I do a lot of point and click combined with coding on my daily job. There I go with my #AwesomeAdmin super powers to find out what's going on...
And I spent a good couple of hours double checking that I wasn't going mad... Honestly, I started thinking I found the glitch in Salesforce that nobody had ever found before!! hahaha
Then I called for help, and my colleague Tom Blockley shared his fresh pair of eyes to confirm I wasn't going crazy, and suggesting to search by the label name, instead of the API name.
Show me with a few screenshots!
And that was the key!! I hadn't thought for a single second that searching by the API name wasn't a feature of the Object Manager search...
I thought this wasn't a big deal, since I was working with a custom object that was very specific to that org, but then I found a few examples where this also happens with standard objects.
Let's see a few examples with the D&B Company object: this is the label of the object, but its API name is DandBCompany.
If we are developing and we know the API name, it would make sense to use the term 'dandb' as the Quick Find search input. Well, this is what we get when we do that:
Note that no results are returned...
Now, this is what you get when your search term is 'D&B', which is part of the Object Label:
The same thing happens with the field names, when you search by substrings of the API name, no results are returned if the Field Label doesn't contain that substring...
Another example of field search in the same object, D&B Company:
If we are programmatically manipulating this field on this object and we know its API name is SalesTurnoverGrowthRate, but we don't know some of its details, for example, its length, then it makes sense to go to the Object Manager and look for that field to check the information we are after. This is what we get if we search by 'Turnover':
Note that no results are returned... That substring is part of the API name, but is not part of the Label, and therefore it doesn't show in the result list.
However, if you search by 'revenue', which is a substring of the Label, but not contained in the API name, the result is as follows:
Also note that the search is not case sensitive, as the search term used is 'revenue', all lower case, and the Label contains the substring 'Revenue', with a capital R.
Success Idea
There's already a Success Idea for this: this link. I've upvoted it as I think this is an important feature that Lightning Experience is missing, not only to search by API name, but also by Description... So if you also think this is an important feature, please follow the link and upvote for this idea.
Looking for a field that you know the name of is great to get information about its properties, but when you don't have much information about it, it becomes quite difficult if you can only search by the field label...
Wednesday, 17 October 2018
Dreamforce 18 Recap! Educational, inspirational and fun!
Hi everyone!! I'm back with some notes about my Dreamforce '18 experience!!
We always plan our event attendance for the year at Desynit so we all have a chance to attend a couple of them. We are aware of how important this is to keep up with all things Salesforce, so we always plan them well in advance. I'd like to thank Desynit for giving me the opportunity to go to San Francisco and live this great experience of Dreamforce again.
The beginning
It all begun with a plane selfie, Kerry Townsend asked everyone to take a selfie with their Community Event T-shirt, so I joined her with my own selfie just as I got on the plane on my way to #SanFran! Please note that Community Events are now Community Conferences, this is one of my DF18 takeaways, the Trailblazer Community team stressed this every time they could, and because we're responsible students, we took note and are getting used to the new naming conventions ;)
This is when it really started feeling like Dreamforce!
Getting to San Francisco a couple of days ahead of the biggest IT conference in the world is always good. You need time to get over the jet lag and adjust your body to the new time zone.
Being a DF speaker
This is the second year I've been lucky enough to have been chosen to be a DF speaker and share my experience with a broad audience. I talked to my friend Laura Díaz to submit a talk that we could both give and we made a really good Title and Abstract.
We knew that Mulesoft had recently joined the Salesforce family by acquisition, and we both had experience with Salesforce integrations and Data Integration, so we thought this was a great moment to show everyone what you can do with the API-led connectivity that Mulesoft offers, both for on-premise and cloud-based environments.
We prepared a couple of demo's to show live, as we wanted to show the power and flexibility of the platform, and we had just 20 minutes to do it! So we kept it simple in slides and focused on demo-ing as much as we could.
We had a good attendance, taking into account that this was an early morning session the day after Dreamfest... People really understood the point of our talk and we had a few questions after we finished. The session feedback was also quite good, so we were happy with our performance.
Check out the recording of our session for a quick demo of what you can do with Mulesoft:
We had a really good session owner, Ernie Maldonado, that guided us through the whole process of building our slides, providing feedback after our dry-runs and helping us with everything. It was also great meeting him in person once in San Francisco.
I have to say that Salesforce has really improved the coaching this year, with a big focus on providing good and timely feedback and making it all as transparent as possible.
Networking with partners, clients and friends
We live in a connected world and it's great to be able to work globally with a team spread all over the world, that's what we do and it's really easy when you work in the Cloud. But it's also great to get to meet people in person, mainly when it's for the first time!
Being in San Francisco, I took the opportunity to visit one of our clients at Desynit. They were just around the corner from the Dreamforce National Park, so it was really handy to pop in for a catch up. We took the opportunity to go through an introduction of the broader team, enjoy the views from their offices and also discuss the progress and plans for the project we're working on at the moment.
It was also very nice to talk to the Validity guys at their booth (They are the former DemandTools people). We have worked with them in the past, and it's good to discuss our experience with them and to know their vision for the future.
The Skuid guys had a really nice and lovely space just opposite Moscone West, the Skuid Lagoon, with comfy areas to relax and have nice private conversations. It was also very good to catch up with them and take a break from the hectic Dreamforce National Park for a few minutes and get an energy top up!
Bumping into people you know from other years and also people you only know from Twitter is great! You feel like you're home being so far away! Hanging out with former colleagues, Spanish friends, British friends, French friends, the Latinoforce community, locals to SF and many more places... it feels like a UN summit, and that is great! I love the international community and sharing with everyone.
It was also the first time I had the chance to visit the Salesforce Tower, which is now the highest building in San Francisco. Very impressive!
Having some fun and meeting new people
But Dreamforce is not only about learning, networking and getting inspired, it's also about having fun!
Being an #Admineloper, as I consider myself both a developer and an admin, it's with great pride that I'm sharing this entry in the Awesome Admin Moments from Dreamforce '18 blog post, take a look at the runner ups of the #DF18 #AwesomeAdmin Lip Sync battle!
It was great sharing this experience with my friend Laura Díaz, who is a natural star herself! But it was also great to connect with a new Trailblazer for me, Zarina Varley. It was great to meet her and share very interesting ideas for future gatherings!! Good luck with the organisation of True North Conference next year in Canada!! Please get in touch if you need anything ;)
And the lovely Trailhead pictures are really good fun!! I still keep looking at this mesmerising GIF every now and then...
We always plan our event attendance for the year at Desynit so we all have a chance to attend a couple of them. We are aware of how important this is to keep up with all things Salesforce, so we always plan them well in advance. I'd like to thank Desynit for giving me the opportunity to go to San Francisco and live this great experience of Dreamforce again.
The beginning
It all begun with a plane selfie, Kerry Townsend asked everyone to take a selfie with their Community Event T-shirt, so I joined her with my own selfie just as I got on the plane on my way to #SanFran! Please note that Community Events are now Community Conferences, this is one of my DF18 takeaways, the Trailblazer Community team stressed this every time they could, and because we're responsible students, we took note and are getting used to the new naming conventions ;)
This is when it really started feeling like Dreamforce!
Getting to San Francisco a couple of days ahead of the biggest IT conference in the world is always good. You need time to get over the jet lag and adjust your body to the new time zone.
Being a DF speaker
This is the second year I've been lucky enough to have been chosen to be a DF speaker and share my experience with a broad audience. I talked to my friend Laura Díaz to submit a talk that we could both give and we made a really good Title and Abstract.
We knew that Mulesoft had recently joined the Salesforce family by acquisition, and we both had experience with Salesforce integrations and Data Integration, so we thought this was a great moment to show everyone what you can do with the API-led connectivity that Mulesoft offers, both for on-premise and cloud-based environments.
We prepared a couple of demo's to show live, as we wanted to show the power and flexibility of the platform, and we had just 20 minutes to do it! So we kept it simple in slides and focused on demo-ing as much as we could.
We had a good attendance, taking into account that this was an early morning session the day after Dreamfest... People really understood the point of our talk and we had a few questions after we finished. The session feedback was also quite good, so we were happy with our performance.
Check out the recording of our session for a quick demo of what you can do with Mulesoft:
We had a really good session owner, Ernie Maldonado, that guided us through the whole process of building our slides, providing feedback after our dry-runs and helping us with everything. It was also great meeting him in person once in San Francisco.
I have to say that Salesforce has really improved the coaching this year, with a big focus on providing good and timely feedback and making it all as transparent as possible.
Networking with partners, clients and friends
We live in a connected world and it's great to be able to work globally with a team spread all over the world, that's what we do and it's really easy when you work in the Cloud. But it's also great to get to meet people in person, mainly when it's for the first time!
Being in San Francisco, I took the opportunity to visit one of our clients at Desynit. They were just around the corner from the Dreamforce National Park, so it was really handy to pop in for a catch up. We took the opportunity to go through an introduction of the broader team, enjoy the views from their offices and also discuss the progress and plans for the project we're working on at the moment.
It was also very nice to talk to the Validity guys at their booth (They are the former DemandTools people). We have worked with them in the past, and it's good to discuss our experience with them and to know their vision for the future.
The Skuid guys had a really nice and lovely space just opposite Moscone West, the Skuid Lagoon, with comfy areas to relax and have nice private conversations. It was also very good to catch up with them and take a break from the hectic Dreamforce National Park for a few minutes and get an energy top up!
Bumping into people you know from other years and also people you only know from Twitter is great! You feel like you're home being so far away! Hanging out with former colleagues, Spanish friends, British friends, French friends, the Latinoforce community, locals to SF and many more places... it feels like a UN summit, and that is great! I love the international community and sharing with everyone.
It was also the first time I had the chance to visit the Salesforce Tower, which is now the highest building in San Francisco. Very impressive!
Having some fun and meeting new people
But Dreamforce is not only about learning, networking and getting inspired, it's also about having fun!
Being an #Admineloper, as I consider myself both a developer and an admin, it's with great pride that I'm sharing this entry in the Awesome Admin Moments from Dreamforce '18 blog post, take a look at the runner ups of the #DF18 #AwesomeAdmin Lip Sync battle!
It was great sharing this experience with my friend Laura Díaz, who is a natural star herself! But it was also great to connect with a new Trailblazer for me, Zarina Varley. It was great to meet her and share very interesting ideas for future gatherings!! Good luck with the organisation of True North Conference next year in Canada!! Please get in touch if you need anything ;)
And the lovely Trailhead pictures are really good fun!! I still keep looking at this mesmerising GIF every now and then...
Wednesday, 1 August 2018
New Trailhead Maintenance Modules!!
One of our last meetups with the Sevilla Salesforce Developer Group was planned so we could start checking the new Trailhead Maintenance exams. We were quite excited about this new approach to maintenance exams and check its flexibility.
That was back in early May 2018 and we had been really early birds, as the maintenance exams weren't ready as modules in Trailhead back then... I've been waiting for this quite a while now, and I've been able to try it for my Platform App Builder and my Platform Developer I certifications.
I have to say that the merge process between the Kryterion account and the Trailhead one is very intuitive and slick! Well done Trailhead team! No fuss, just email validation and merge is done!
So it's all ready now to go for it!
This is the beautiful celebration message you get when you pass your Platform Developer I Certification Maintenance module.
It's a really well structured module, supposed to take 15 minutes to complete, with explanations about some of the new features in Summer '18, like the following:
- new Lightning Styles for Visualforce pages
- new Lightning URL formats
- the UITheme methods to find out the environment in which the user is accessing Salesforce
- the new methods to retrieve the Record Type infos
No, I found more problems with the Platform App Builder Certification Maintenance modules...
I have to say that I find it really helpful that you have to actually do a flow to pass it, as it makes sure you do get to use the new features, so that's a really good way of learning and making sure we all understand the changes.
Maybe my problems are related to the fact that I'm more developer oriented than App Builder oriented, but I think other issues I found were related to the requirements in the challenge being quite open to interpretation...
However, it's really good that Trailhead is asking us to create the flow. It's been a very long time since I created or played with my last Flow... The estimated time to complete this is 30 minutes, and I have to say it took me way longer, as I was getting an error message that wasn't very helpful...
My flow was working, and I tested it before running the check, but I was getting this error message again and again; the reason why I was getting this message was that I was using a Text variable to hold the message String, and I solved this by hard-coding it to the Display message in my Screen element. This was the most annoying thing, as the message returned by the checking utility wasn't very helpful...
My recommendations when you do your maintenance:
- strictly follow the naming conventions indicated in the requirements list
- do not over-engineer your solution, just do what you're asked
- do not create lots of variables, you can use hard-coded values within your message elements
And finally, if you get error messages, be creative and find multiple ways of doing the same thing! I think that's a really good way of training your brain!
That was back in early May 2018 and we had been really early birds, as the maintenance exams weren't ready as modules in Trailhead back then... I've been waiting for this quite a while now, and I've been able to try it for my Platform App Builder and my Platform Developer I certifications.
I have to say that the merge process between the Kryterion account and the Trailhead one is very intuitive and slick! Well done Trailhead team! No fuss, just email validation and merge is done!
So it's all ready now to go for it!
This is the beautiful celebration message you get when you pass your Platform Developer I Certification Maintenance module.
It's a really well structured module, supposed to take 15 minutes to complete, with explanations about some of the new features in Summer '18, like the following:
- new Lightning Styles for Visualforce pages
- new Lightning URL formats
- the UITheme methods to find out the environment in which the user is accessing Salesforce
- the new methods to retrieve the Record Type infos
No, I found more problems with the Platform App Builder Certification Maintenance modules...
I have to say that I find it really helpful that you have to actually do a flow to pass it, as it makes sure you do get to use the new features, so that's a really good way of learning and making sure we all understand the changes.
Maybe my problems are related to the fact that I'm more developer oriented than App Builder oriented, but I think other issues I found were related to the requirements in the challenge being quite open to interpretation...
However, it's really good that Trailhead is asking us to create the flow. It's been a very long time since I created or played with my last Flow... The estimated time to complete this is 30 minutes, and I have to say it took me way longer, as I was getting an error message that wasn't very helpful...
My flow was working, and I tested it before running the check, but I was getting this error message again and again; the reason why I was getting this message was that I was using a Text variable to hold the message String, and I solved this by hard-coding it to the Display message in my Screen element. This was the most annoying thing, as the message returned by the checking utility wasn't very helpful...
My recommendations when you do your maintenance:
- strictly follow the naming conventions indicated in the requirements list
- do not over-engineer your solution, just do what you're asked
- do not create lots of variables, you can use hard-coded values within your message elements
And finally, if you get error messages, be creative and find multiple ways of doing the same thing! I think that's a really good way of training your brain!
Friday, 29 June 2018
dreamOlé '18 - What a wonderful world!!
I've had this in mind for some time now, it's now 2 months after our second dreamOlé and I haven't found the right time to put together a few words about my experience as a dreamOlé organiser this year in Barcelona. Fortunately, my project load is enough to keep me busy and I'm struggling a bit to get some time for my blog... But even if this event was some time ago, I didn't want to miss the opportunity to share my experience.
As you can imagine, these community events require a lot of effort and coordination. We've had some wonderful months of weekly morning calls amongst the dreamOlé team; checking every single detail so that everything went smoothly on the event day.
After last year, when we had power cuts and some WIFI problems, nothing could go wrong this year...
What a surprise it was for us to discover that, after all that effort, there was a pilot strike planned for the weekend of dreamOIé in Barcelona!! OMG!! Really!! What could we do? That was out of our control... But we warned everyone to double check their flights. One of our sponsors couldn't make it in the end, and I myself was affected with a really long delay... But I finally got there on time for the speakers' welcome!
It goes without saying that we had the most amazing venue that we could ever have. Look at these views!!
That was a really good start to our event, and it was only the kick off to what would be a great day in Barcelona, with almost 250 attendees.
It was amazing to find out about the local Salesforce community, and how well they embraced the concept of our community events, bringing all their enthusiasm to our event and making it a wonderful day.
This post is mainly a thank you post to everyone that made it possible.
Thanks very much to our sponsors, because none of this would have been possible without your support and enthusiasm.
Many thanks to our great selection of speakers, with amazing content that made our event very appealing to all the attendees. You can check all our sessions here.
Special mention to Holly Firestone, who was our opening keynote speaker, and told us all about the Salesforce community and the #Ohana spirit that wraps everything we do. The only thing she asked for was to have "tapas" alongside her talk, and by the looks of her surprise face I think we delivered!! ;)
Thanks very much to Christie Fidura and the Trailblazer Community for bringing great content to our event. We need to make a bigger effort our end to make this more visible, and it's a great honour to have your support.
Second special mention to Joshua Hoskins, this digital nomad that flies more than a pilot... hahaha and my amazing #DemoJam co-host, the real star of the show, what would have I done without you!!?? Thanks very much for bringing your Charisma, Uniqueness, Nerve and Talent to our lives!
The next special mention goes to Zayne Turner, for bringing inspiration to the room as part of our closing keynote; telling us about what drives innovation and having lots of fun playing with code!! High five to all of those Developers out there!!
And last, but not least!! Thanks very much to each and everyone of my co-organisers for making this adventure so special and for becoming part of my #Ohana! Inés García, Alba Rivas, Pablo García, Laura Díaz, Agustina García, Carlos Campillo and Carolina Ruiz. You are all an amazing bunch of people, and I can't wait to start the arrangements for next year!! Check out the multiple skins of our logo!! It's lovely!!
I couldn't resist to add this final picture, which shows one of our strong points, our #AfterParties are becoming a ritual, and this year we ended up going to the beach amongst other activities.
Stay tuned for announcements, as we are still in the process of deciding the new location for dreamOlé '19, but we'll let you all know once it's chosen.
THANKS!!
As you can imagine, these community events require a lot of effort and coordination. We've had some wonderful months of weekly morning calls amongst the dreamOlé team; checking every single detail so that everything went smoothly on the event day.
After last year, when we had power cuts and some WIFI problems, nothing could go wrong this year...
What a surprise it was for us to discover that, after all that effort, there was a pilot strike planned for the weekend of dreamOIé in Barcelona!! OMG!! Really!! What could we do? That was out of our control... But we warned everyone to double check their flights. One of our sponsors couldn't make it in the end, and I myself was affected with a really long delay... But I finally got there on time for the speakers' welcome!
It goes without saying that we had the most amazing venue that we could ever have. Look at these views!!
That was a really good start to our event, and it was only the kick off to what would be a great day in Barcelona, with almost 250 attendees.
It was amazing to find out about the local Salesforce community, and how well they embraced the concept of our community events, bringing all their enthusiasm to our event and making it a wonderful day.
This post is mainly a thank you post to everyone that made it possible.
Thanks very much to our sponsors, because none of this would have been possible without your support and enthusiasm.
Many thanks to our great selection of speakers, with amazing content that made our event very appealing to all the attendees. You can check all our sessions here.
Special mention to Holly Firestone, who was our opening keynote speaker, and told us all about the Salesforce community and the #Ohana spirit that wraps everything we do. The only thing she asked for was to have "tapas" alongside her talk, and by the looks of her surprise face I think we delivered!! ;)
Thanks very much to Christie Fidura and the Trailblazer Community for bringing great content to our event. We need to make a bigger effort our end to make this more visible, and it's a great honour to have your support.
Second special mention to Joshua Hoskins, this digital nomad that flies more than a pilot... hahaha and my amazing #DemoJam co-host, the real star of the show, what would have I done without you!!?? Thanks very much for bringing your Charisma, Uniqueness, Nerve and Talent to our lives!
The next special mention goes to Zayne Turner, for bringing inspiration to the room as part of our closing keynote; telling us about what drives innovation and having lots of fun playing with code!! High five to all of those Developers out there!!
And last, but not least!! Thanks very much to each and everyone of my co-organisers for making this adventure so special and for becoming part of my #Ohana! Inés García, Alba Rivas, Pablo García, Laura Díaz, Agustina García, Carlos Campillo and Carolina Ruiz. You are all an amazing bunch of people, and I can't wait to start the arrangements for next year!! Check out the multiple skins of our logo!! It's lovely!!
I couldn't resist to add this final picture, which shows one of our strong points, our #AfterParties are becoming a ritual, and this year we ended up going to the beach amongst other activities.
Stay tuned for announcements, as we are still in the process of deciding the new location for dreamOlé '19, but we'll let you all know once it's chosen.
THANKS!!
Wednesday, 21 February 2018
London's Calling 2018 - My Highlights
First time at London's Calling! First time!
We all love first times (well, not always...), and this one has been a great first time for me. I just came back from #LDNsCall18, and I'd like to leave my impressions after such an inspiring event.
London's Calling came at the perfect time for me this year. After having been involved in quite an absorbing project over the past few months, I really needed the inspiration and update boost I had as an attendee to this event.
It all started with London giving us a really nice day. It was so nice and sunny! That could only mean that we'd be having an amazing day, and that's exactly what happened.
Desynit sent a good representation to the event. Some of us veterans and some others were newbies, including a few developers and admins. There were even a few former members of the team giving talks or just as attendees. So this was all very promising and a good guarantee that this event would be very enjoyable.
So the event started, and I had already planned my sessions. I had a delayed flight, so I took the opportunity to builde my schedule:
- Become a Salesforce Security Superman!, by my amazing dreamOlé colleague Alba Rivas. I learned a lot about good and bad practices in all aspects of the Force.com platform when it comes to security. A very comprehensive list of ideas to make it all more secure
- Search other systems right from Salesforce – the easy way, by Martin Humpolec. This was a very interesting talk about federated search; with practical examples showing the journey to make it all work. This is something I will be giving a go when I find a gap, as it was really interesting
- Lightning Data Service: Forget about Apex in your Lightning Components developments, by Fabien Tallion. This was a good run through the new way of accessing Salesforce data being introduced at the moment. Again, something I need to catch up with sooner rather than later to be ahead of the game
- How connecting a Robot to Salesforce will make it the perfect Sales Assistant, by Filipe Freitas. A very nice talk on the integration of robots with Salesforce. This is probably still a bit far for me to try, but still a very interesting talk to find out what others are doing with this!
- After this was the break for the demoJam, run by amazing Jodi Wagner and Francis Pindar. A good number of apps were shown. It's amazing what people can do within Salesforce! And just after the demoJam, the lunch break, which was a great time to get to know some newcomers like Esteve Graells and his partner. Very nice chats around some lunch, exchange of first impressions; it's always good to meet great people
- Male Allies in Tech – Why we need you and how to be one, by Angela Manoney and Keir Bowden. This was a very inspirational talk about the role of men in gender equality. We all have to get involved!
- Confessions of a Visualforce Dinosaur, by my good friend Christopher Lewis. It was great to see his points on the journey from Visualforce to Lightning Components, and how Visualforce is still a technology we need to keep up with
- If You Can Write a Formula Field You Can Use a Command Line, by Salesforce evangelist Peter Chittum. Peter always gives really good talks, and this was no difference! Really good to encourage everyone to not be scared of the Command Line. Again, lots of things I need to start using myself on a daily basis
- No Connection? No Problem!, by Keir Bowden. Some good guidelines on how to optimise your offline time. Even being Cloud technology, Salesforce has something to offer offline
- Closing Keynote – If I can do it, so can you, by Dr Sue Black. Keynote time came and Dr Sue Black's experiences inspired the whole audience. It's always a good time to NOT GIVE UP and fight for what you believe in. Well done!
After Party Time!
The after party time was a good time to get to talk to more people. It was great to catch up with one of my current clients; this was their first community event, but I think they are now getting the "Saleforce bug" and I'm sure I'll be catching up with them in future events...
It was also great to spend some real-life time with my dreamOlé colleagues Inés García and Alba Rivas; after so many online meetings, it's always good to be able to have some real contact with them! We made some good connections for our next dreamOlé event in Barcelona 2018. And we also had some fun in the photo booth!
And this is also one of my favourite times at Salesforce events, because you also get to know all the "Twitter Celebs". I finally met Zachary Jeans and exchanged some interesting words with him. I also met Kristi Guzman and Stephan Garcia. I also bumped into Fabrice Cathala for the second time in a couple of events, and we only got to shake hands, but I know he'll be coming to dreamOlé this year, so I hope we can finally catch up there! Then, in the after-after party time, I also got the chance to talk to Skip Sauls, although at that point, Salesforce wasn't the main subject anymore... but that's also very interesting, there's still life behind Salesforce!
Finally, I would like to mention the organising team and the hard work they put together to bring a successful event to the Salesforce community in Europe. Well done every single one of you! Kerry Townsend, Jodi Wagner, Amanda Beard-Neilson, Francis Pindar, Simon Goodyear and Todd Halfpenny.
So this is the first time I go to London's Calling, but this was the third edition of the event. I've been lucky to attend Dreamforce 3 times so far, a couple of Essentials events, as well as many local user and developer groups, like the one I run in Seville, or the one run by my colleagues in Bristol. On top of that, I'm one of the organisers of dreamOlé, the community-led event in Spain; so I'm building up quite a substantial amount of stickers and t-shirts that I'm a big fan of.
But most importantly, through these events I've met incredible people that are now my friends! And I can see this happening even more as I keep attending new events, so that's why I'm loving it! I love a world without boundaries, and these events that bring people together are a good way of getting rid of boundaries!
Thursday, 5 November 2015
Salesforce & XMLHttpRequest & Internet Explorer - Bermuda Triangle!
Möbius Strip |
Well, I have to say that I have. And I have to admit that it's not only been once or twice...
I consider myself a frequent lost passenger walking on a Möbius Strip like the one next to these lines... Well, this is probably one of the side effects of being a developer.
That feeling of frustration when you get stuck, and you think about the same thing over and over again, when it appears even in your dreams and doesn't let you rest while you sleep. I guess you know what I'm talking about...
That situation is something I experienced a few weeks ago when I was working on one of my Salesforce projects, on an integration with ShareFile.
WHAT HAPPENED?
As part of our Salesforce integration, we were using the ShareFile REST API, and we had to send files as multipart/form-data.
The environment and requirements of the project forced us to send the files from the client side. We were therefore using JavaScript, so we were basically declaring an XMLHttpRequest object and sending the content with a POST method to the relevant endpoint.
We were happily working on Google Chrome, where everything worked successfully and our files were smoothly being sent to our endpoints. But we then moved to Internet Explorer, and that's when we encountered problems...
Yes, I know, who uses IE? Well, a lot of people do... And our clients used IE, so we had to make it work for IE10 and IE11.
HOW DID WE SOLVE IT?
Initially we thought that the problem had to do with CORS policies (Cross-Origin Resource Sharing), so we focused on that area for a while, but that wasn't the issue, because we were successfully connecting to our endpoints, so that wasn't the root of the problem.
Hours and days of googling and revisiting our code, checking for possible causes mistakes in our approach didn't really give us a clue...
We then started sniffing the traffic produced by the HTTP requests and responses sent by Chrome, to compare them with the HTTP requests and responses sent when using IE.
That was a critical exercise, because it really helped up find out some differences in the request headers. Our POST request was a multipart/form-data, and it needed to include a specific header, like the following:
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://the_endpoint", true);
xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=the_boundary");
xhr.send(your_data);
But we found, by analysing the traffic, that this header was somehow being removed from the request, so the message was badly formed and our request wasn't valid. So, who was removing the header that we were populating in our code?
THE SOLUTION
The answer to our question was found by stripping down all the code from the page we were using. We removed all the Visualforce skeleton from the page, as well as all the libraries imported by Visualforce.
After doing this, our code started working! What we did was correct from the beginning!
Now, that was a relieve... We were getting there, and we only had to find out what was causing our HTTP header being removed. We did some research and found this question in the Salesforce Stack Exchange and this discussion in the Salesforce Developers forum. The discussions on these links led us to the right place.
We found out that the VRremote.js library imported by the Salesforce Visualforce pages overrides the default behaviour of the XMLHttpRequest object; so that the Content-Type request header was being removed from the request when running on Internet Explorer, and the request became invalid. By forcing it to use the default implementation of the object we could make it work for IE10 and IE11.
The only change we had to do to our code was forcing the XMLHttpRequest object to use the default implementation and not the overriden version from the VRemote.js library:
if(isIE)
{
XMLHttpRequest = Sarissa.originalXMLHttpRequest;
}
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://the_endpoint", true);
xhr.setRequestHeader("Content-Type","multipart/form-data; boundary=the_boundary");
xhr.send(your_data);
EUREKA! Our code was ready! And after fixing this problem we starting catching up again with our sleep and the quality of our dreams!
THE TAKEAWAYS
Never give up!!
I said earlier that being in this type of situations where you can't seem to find a solution is one of the side effects of being a developer. It may be hard times when you can't see the light at the end of the tunnel, but how good is that feeling when you solve it!! It's like feeling you are Marty McFly!! The satisfaction of solving the problem leaves all the stress behind, and that's also a positive side effect of being a developer; I think that's the motivation we have for problem-solving, and it's what makes it great to be a developer!
Subscribe to:
Posts (Atom)