IamCalvinBrown.com a Blog Site

Code Examples, Consulting Advice and lots of other cool things

How to Remote Desktop To Hardware

Connecting back to older laptops, old server, etc can be a serious task. If you're like me, you've spent countless dollars on tools like LogMeIn.com or tried other free tools. The free tools, ultimately my experience, stopped working when my IP changed or there was a hiccup on the network. Well, as always, Google saves the day.

Say hello to Google Chrome Remote Desktop. A long title but definitely worth the short installation. Without going through all the details of how to install, go to Extensions in your Chrome Browser and add it. Here's a short video on how to set it up once you've installed the extension.

YouTube

https://www.youtube.com/watch?v=BCiTB15K5E4


How to implement GetDate() in SQLite

When inserting records, we often want to timestamp them. SQLite has the ability, however it's slightly different.

Use the keyword: datetime()

It can be used as a default value for a table, or in the Query Editor window. I'm using DB Browser for SQLite.



CSSMERR_TP_NOT_TRUSTED codesign error

This error happens in Xamarin when you have a newly setup environment, or you've recently downloaded your Apple Developer Certificate. Here are the steps you take to correct it.

1. First, thank your luck stars that you found this post

2. Go to KeyChain Access on your Mac

3. (select the Lock icon to unlock these items so that you can make changes)

4. Ensure the login section is selected on the left

5. Click each item individually and change the "When using this certificate" to Use System Defaults. Specifically make sure you change these: iPhone Developer, Mac Developer and Apple Worldwide Developer Relations Certification Authority

6. Close and Restart Xamarin and you should be apple to deploy.


Happy coding.

Navigating to External Drives In Terminal (MAC)

Accessing external drives (volumes) on a MAC isn't the same as on a PC. This can be accomplished with a few easy commands.

1. Open a Terminal Windows (and type the commands below)

2. cd /

3. cd Volumes

4. ls

There you have it. All the drives attached on on your MAC. You can navigate to any by name.

Hint: Use single quotes around folders with spaces in the name


How to clone a project from GitHub


Once you know the location of the project in GitHub, it's easy to create a version to begin work on locally. Simply follow these steps.

1. Open Terminal (Mac Users)

2. Navigate to the root folder (ex: lets go to our desktop): cd ~/Desktop

3. Create a folder for our project (ex: let's name it GitProject): mkdir GitProject

4. Go to the folder we just created: cd GitProject

5. Download the Git Project into our folder: git clone --bare (url of the project -- no parenthesis)


That's it. You now have a local working version of the GIT project. Happy coding.


How to host a static website using Amazon S3

I know that I've raved many times about the power of Amazon AWS, and this article will be no different. Amazon S3 provides a nearly free option to host static websites within their S3 product. S3 is, as Amazon describes it, Scalable Storage in the cloud. What this means, it that S3 is essentially a CDN (content delivery network). I host all types of images for websites, high scale emails and even promotional advertisements.

For my developer friends, S3 is a solution that can significantly, if not all together eliminate the cost of having a place to put websites before their completed for your clients to see on the internet.

For one of my attorney clients, I edited their layout locally, created a folder in my existing S3 environment and enabled the option to make the content a static website. The image below shows you exactly how to do this.

Voila! You have a valid website to email to your clients for approval. Obviously, this is free (as long as it doesn't get a lot of traffic - gigs I mean).

Happy coding.




SharePoint Recruiters ... please learn how to treat us SharePoint professionals

Ring..ring...ring... "Hello"..."Yes my name is [fill in the blank] and I am inquiring about an open SharePoint position in Alpharetta, GA". Here we go again and my standard response "I'm currently not in the market right but please email me the job description and I will forward to other people in my network". I then immediately go to indeed.com see the latest "SharePoint Architect" positions.

Those are the calls I can not stand. Look I understand that cold callers' job are to gather leads to feed to their "account managers" so my resume can be put in the stack of candidates that get submitted to the client. But as a SharePoint professional that has strived to be the best I could be, it is so disheartening to treated like a piece of cattle, no interest in how I am doing, how my day is, and definitely no interest in having a conversation about the position.

I would hope that one, the person calling me would have as much interest in me as I would have for the position. Also, before you call, please read my resume so you know a little about my experience in relation to the position. If the contract requires, 10 years of SharePoint development experience and I have been doing SharePoint admin for 6 years, it's not a good fit. If I have over 10 years of experience like myself, please don't call me about a $35/hour contract. I am worth more than that. Once you decide that I'm a good fit, please know something about SharePoint so I can share my experience. If the fit is a good one, have a thorough job description that you can send, that way the resume can be tailored to the job description. Most importantly, when you receive the resume, have the professionalism to follow up. At least keep me in the loop about the process so I know what's going on.

Remember recruiters, we are professionals, SharePoint professionals, but most importantly, we are people who need you just as much as you need to close the position.


 

Amazon S3 Advantages and Caveats

Amazon AWS is one of the most powerful and popular cloud tools available. I've been thoroughly impressed with its scalability and it's ease of use, once it's established. I will strongly suggest speaking with or consulting with someone with previous knowledge of the toolset, or you can have a bill for several hundred or even thousand dollars on your hands for things that you weren't aware were running.


While it's cumbersome at first, one of the easiest tools to use is Amazon S3. It essentially provides you the capabilities to have your own CDN (Content Delivery Network). In this space, you can store website images, html, and various other non-executable types, as easily as you can upload an image to Facebook. The only caveat I would have about this awesome tool is that it absolutely requires that you setup and administer the CORS for each folder or group. With CORS, you can say who can retrieve these images (ex: yourwebsite.com is the only location that can request these images). Without this setup, it's very easy for your images to end up cached in Google and you pay the bill for site crawls, users sharing an image, etc. 

Otherwise, it's a great tool and as an Enterprise Consultant, I haven't seen an easier to use option to date.

SharePoint 2013 Designer Workflow – The Wait Action Dilemma

So I am working at a client building an onboarding workflow. The flow was fairly straight forward, there is an onboarding list and each department has a field they fill in when they completed the task with the information they received. For example, IT has an email field that they fill in upon completion of their email setup task. Payroll has an ADP employee reference field, and so on.

 

So I go into this thinking I have this in the bag because of my old handy dandy “Wait for field to change” command (Click here for more information)…Right…Wrong! Did I fail to mention that the client had a requirement of using a SharePoint 2013 workflow? So what I didn’t know was


In SharePoint 2010 the Wait for action is this:



In SharePoint 2013 the Wait for action is this:





The problem is I have no idea what the email address will be equal to so that’s out! So here is how do we handle it

This is in the first stage “Initialize Workflow”



Workflow Variable – IT Email While Loop set it equal to 0
Workflow Variable – WF Initial Email Address to the value of the Alakaina field initially
 
In the IT Verification Stage



At this stage
  • Set up a while loop to run while the IT Email While Loop equals 0.
  • Then used the Wait for Event: When an item is changed (click here for more information)
  • If Current Item – Alakaina Email not equals WF Initial Email Address Then set the variable IT Email While Loop to 1 to stop the loop
 
Conclusion
I would be remiss if I did not say that we at King Strategy Solutions specialize in analyzing the proper  requirement workflow and determining the best approach from a development perspective.

SharePoint in the real world – what version and what platform should I use?

So you’ve decided on SharePoint or you may have SharePoint in your current environment, at this point you may feel like you have more questions than answers, welcome to the club! LOL!

 

Let’s discuss two very important questions:

1)     What version of SharePoint should I use?

2)     What platform should it run on?


When you search those topics, the results are overwhelming and confusing. Luckily, we will discuss the best options, in the real world, your world and not in “the perfect world with unlimited funds”

 

What version of SharePoint should I use?

A majority of client environments I work with on a regular basis have the following versions in production

  • SharePoint 2010
  • SharePoint 2013
  • SharePoint Online (Office 365)

For the sake of the discussion and comparison, I will also include SharePoint 2016 as well. Some highlights of each version are:

 

-        SharePoint 2010 was a truly major upgrade to the SharePoint platform, it introduced a new user ribbon interface, co-authoring features, and it was Microsoft’s first true foray into social computing and knowledge management.

-        SharePoint 2013 was the next step in platform improvements. In my opinion the biggest improvement was with search. In the previous platform, FAST Search was a separate platform that had to be administered separately and then integrated into the environment. SharePoint 2013 incorporated FAST search into one platform.

-        SharePoint Online (Office 365) is the Microsoft platform for the cloud. (NOTE: The term “Cloud” simply means that you use an application that is hosted somewhere else and accessed via the intranet. In other words, if you use Gmail then you are using the cloud)

-        SharePoint 2016 was released in March of this year and the biggest changes are in the backend by increasing content database and list item limits. There are also vast improvements in hybrid integrations.  

 

Now the question is what version should you either implement or upgrade too. Below is a guide as to what you should do:

 

Current Version

Usage

Recommendations

Comments

None

Basic Intranet Usage / Document Storage / No Customizations

SharePoint Online

This is the best option for basic usage. No administration needs and have the ability for dynamic storage

None

Advanced usage (i.e. workflows, customizations), Heavier usage where SharePoint is a critical application

SharePoint 2013

SharePoint 2013 is so mature and rich in features it makes it the obvious choice above and beyond SharePoint 2016.

SharePoint 2010

All environment types and usages

SharePoint 2016

The reason for the SharePoint 2016 recommendation here is simply because of having the longest support possible

SharePoint 2013 / SharePoint Online

All environment types and usages

Stand Pat

No need to upgrade as the features for SharePoint 2016 are not worth the migration costs

 

What platform should I use?

So what does this question actually mean? What platform? Well, the SharePoint environment has to run on a Windows Server. The minimum requirements are Windows Server 2008 R2, 32 GB RAM, Quad Core, with a 60 GB C: and 120 GB Data drive. So where should the server be? There are three options available to us:

 

-        Physical Servers -  Physical Servers are the traditional way of doing things and involve a piece(s) of hardware that are configured to perform the tasks of your business. Generally, this hardware is in your server room / break room.

-        Virtual Servers - A Virtual Server is normally one of many servers that operate upon a single physical server with each virtual server sharing the resources of the physical server between them.

-        Cloud Servers – Cloud Servers are virtual server but instead of the physical server being hosted in your environment, it’s hosted outside of your environment.

 

The best recommendation would be to use Cloud Servers in a hosted environment. A few of the pros are:

 

-        Scalable – add more server power in a moment’s notice.

-        Custom Infrastructure - clients can include custom network architecture, firewalls, load balancing and IP deployment.

-        High Availability - if a physical server fails, cloud servers are migrated to another physical server without experiencing an outage.

-        Sharable Computing Resources - no concern about lagging RAM or CPU power, even if another cloud customer's load grows.

 

Conclusion

So to summarize, the best bet to implement would be SharePoint 2013 in a cloud hosted environment and I would be remiss if I did not say that we at King Strategy Solutions specialize in analyzing your environment, capacity planning and determining the best approach as part of our SharePoint Landscape Assessment.