24 February, 2014

Claims Encoding for SharePoint 2013 and 2010

On a recent SharePoint 2013 project a question came up "How do you read those funny looking user ids?" After a bit of research, the claims identity breaks down in the following format:
<IdentityClaim>:0<ClaimType><ClaimValueType><AuthMode>|<OriginalIssuer (optional)>|<ClaimValue>

How it breaks down

For the IdentityClaim acceptable values are:
  • "i" for identity claim
  • "c" for any other claim
For the ClaimValue acceptable values are:
  • “#” for a user logon name
  • “.” for  an anonymous user
  • “5” for an email address
  • “!” for an identity provider
  • “+” for a Group security identifier (SID)
  • “-“ for a role
  • “%” for a farm ID
  • “?” for a name identifier
  • "\" for a private personal identifier (PPID)
For the ClaimValueType acceptable values are:
  • “.” for a string
  • “+” for an RFC 822-formatted name
For the AuthMode acceptable values are:
  • “w” for Windows claims (no original issuer)
  • “s” for the local SharePoint security token service (STS) (no original issuer)
  • “t” for a trusted issuer
  • “m” for a membership issuer
  • “r” for a role provider issuer
  • “f” for forms-based authentication
  • “c” for a claim provider
The option field of OriginalIssuer tells us who the original issuer of claim is

The value for ClaimType is the the user id when the IdentityClaim is "i".

Example

i:0#.f|mymembershipprovider|wick

I am reading the above example as Identity Claim ("i") that contains the username ("#") of type string (".") with an authmode of Forms Based Authentication ("f"). The member provider being used is "mymembershipprovider" and the user id is "wick".

Resources / References

19 October, 2013

Setting up some HTML5 experiments

Recently, I have been increasing my knowledge about HTML5 and CSS by reading blogs and books. I have come across a wide range of information including the HTML5 specifications, tips, tricks, examples and best practices. To test my understanding, I am planning on creating some sample web sites and a few blogs posts.

To get started, I am creating a HTML5 page that contains some content and simple structure. It will be the base for examples, samples and experiments.


Putting styles in there place

  1. Put the style code in its own file or files.
  2. Don't use inline styles
  3. Link to the style sheet should be placed within the <head> tags.
By keeping the content separate from the styling information makes the HTML easier to read, makes the HTML easier to maintain, makes the CSS easier to read, makes the CSS easier to maintain.

Remember to close the tags

By closing the tags it reduces validation errors, makes the code easier to understand, and it is considered a best practice.

Make place for the JavaScript

  1. Place the scripts just before the closing </body> tag.
  2. Avoid using inline script
JavaScript within the HTML page can block the browser from parallel downloading.

Use the correct DocType 

By telling the browser what type of document the page, you get the benefit of more consistent results.

14 October, 2013

Relearning HTML and CSS

Due to some recent changes at work, I am now relearning HTML and CSS. So far it has been fairly easy to refresh my memory of the language and technology. I am now in the process of learning HTML5 and CSS3. The following is a list of frameworks, tools, generators, tips and resources that have left an impression on me during my learning process.

HTML Frameworks
HTML5 Boilerplate is a quick way of getting started with a new website. I have used this framework a few times in learning projects. I have found it to be straight-forward to use and helped me to learn some of the modern tips and tricks with HTML and CSS.

LimeJS is a framework for HTML5 games. I have read some nice reviews. As of yet, I don't have any experience with framework.

Web Design Software / Editors / IDEs
jEdit is one of my go too tools. The interface is easy to use, syntax highlighting for lot of languages and it works in Window, Mac and Linux.  I switch between Windows and Linux on a daily bases. It is nice to have tool that works well and has a familiar interface.

Eclipse is the tool that I normally turn to for Java and Android development. I have not used the HTML and CSS editing features extensively. What I really like about this is the familiar interface. This allows me to focus on learning the language and not the tool.

BlueGriffon is an editor that uses the rendering engine of Firefox. I don't have any experience with the tool other than reading a few blog posts. It appear the tool has a lot of promise.

CSS3 Generators
CSS3.me a simple and fast way of creating CSS for border-radius, box-shadow, background gradient, and opacity.

css3.mikeplate.com helps create CSS3 for border-radius, box-shadow, text-shadow, transforms, columns, background gradients, and more

Ultimate CSS Gradient Generator helps with creating the CSS for gradients. This tool has helped me out on more than one project.

CSS Formatters / Optimisers / Beautfiers
CleanCSS, CSS Portal, and CSS Beautifier make it fast and easy to organiser and format CSS. 

Snippets, Tips, Tricks and the Like
Useful and Ready-to-use HTML Snippets is a post over at DZone.com. It is a quick list of helpful snippets that are ready to be copied and pasted.

CSS Zen Garden demonstrates the power of CSS and a good place to find inspiration.

CSS-Tricks is a great place to learn more about CSS. I have watched several of the videos and picked up a lot of good information, tips, tricks and techniques. 

!important is a powerful CSS keyword that changes the precedence of a declaration. It is easy to miss use and abuse check out the blog post 'When Using !important is The Right Choice' for more information.


23 June, 2010

GoogleCL

I have downloaded and installed GoogleCL. The idea of a command line utility to work with my calendars, contacts, documents and blog site is appealing. This utility should give me a boost to my personal productivity and more flexibility in how I interact with this tools.

I am interested in seeing where Google takes this tool.

Some helpful links




26 August, 2008

Portable Applications

I am always on the look out for small tools that allow me to work more efficiently and effectively. The website Pendriveapps.com has a large number of applications that fit the bill plus some applications for having a little fun.

17 July, 2008

MojoPac

MojoPac is a virtualization tool that can be put a various portable devices like an external hard drive, thumb drive or iPod.

Has anybody used the tool? What do you like about? What draw backs have you seen?

From what I have seen and read on the website. It appears you don't need a second license for the OS but you need additional licenses for the in software you install. The MojoPac website does not make it clear if additional licenses are needed.

Challenging myself to learn something new

I have recently set a big challenge for myself. I want to know about Machine Learning . To add to the challenge, I am trying out usin...