My Orchard CMS Experience

Introduction This post is just to document my experiences with Orchard CMS and to list some of the resources that I used while developing a orchard module. I will go back through later and clean this post up but for now here is the code that I created with a previous employer. Github Resources sadomovalex's blog: Hide content type fields in Orchard CMS Orchard Project - View Discussion orchardcms - Orchard CMS: Right way to get field value from view? - Stack Overflow orchardcms - Orchard CMS module that uses HTTP session state - Stack Overflow Dynamically switching the theme in Orchard - Tales from the Evil Empire Let’s Install an Orchard “Module” | Ponderings - Various Topical  Thoughts by Brad Kingsley Custom Orchard Module that Plays HTML5 Video with Flash Fallback - Orchard CMS Development Accessing and rendering shapes - Orchard Documentation Packaging and sharing themes - Orchard Documentation Creating custom content type

The Sandbox Methodology

    "Sandbox Methodology" is a term I like to use to describe environments that have zero rules in place against the quick and the dirty practices when it comes to designing an application or implementing one. The term comes from of course sandbox and what most developers are used to with development practices. In a sandbox you have a place where you can experiment with all your work before it faces the harsh world of usability. However in reality, this environment is miss used and becomes a playground for project managers or basically anyone in management to see how far you are in the implementation. Or it’s used to build out requirements, "let the developer figure out what I want to be build playground". Long name, terrible results… You might be familiar with other methodologies but this is one you will definitely regret using.     It could be said this approach is more of a waterfall methodology and employers will call it Agile. Chances are it’s a horrible me

Node and NPM Configuration behind a Firewall

    These are the notes for using npm behind a company firewall and a windows roaming account. With the help of a former colleague these are the steps I have used. Most of my issues with a company firewall have been with a package not being downloaded or installed properly. ​​Install Node: NPM is bundled w/ Node​ Set your local proxy settings: ​run: setx HTTPS_PROXY http://YOUR-PROXADDRESS/ run: setx HTTP_PROXY http://YOUR-PROXYADDRESS/ ​ Configure local NPM directories: run: npm config set prefix C:\Local\npm --global​ run: npm config set cache C:\Local\npm-cache --global​ Configure PATH so that we can execute the node binaries via command line run: setx PATH "%PATH%;C:\Local\npm"​ If none of these steps resolve the issue my final solution is to install the package directly from github itself which all you need to do is list the git repo inside package.json. Failed to install tar-2.2.1: 403 e

Setuping Google Domain with Firebase

    Do you want https without all the cost! I know I do which is why I have converted most of my site to firebase or to azure. However for a lot of my apps I don't intial think they will be big enough for me to justify a high cost starting out. After you have purchased your custom domain, go to firebase hosting and publish the hosting site from the examples provide by firebase. You can create your own or just use the website firebase created. Once the firebase hosting files are uploaded, you should see the dialog to add a custom domain. Run through the process of verifying that you own the domain, and get to set three in the setup process. Step three is the most important part of this process. The recommended way for this is using a cname, however I couldn't get it to work with the cnames. Instead use " Custom resource records" inside your Google Domain profile, inside there save the old ip address and update them to the new ip address provide by firebase. For

Making Internal Web Apps into Software Apps

    When you're building an internal web app I think about some of the business solutions I  can create inside a company that might shrink the workload for my co-workers. Its awesome to see this happen but it only works where it makes sense, so below is some of these features I've easily used by general users. Hotkeys - are power ways to help your users get what they want faster, and overlooked in my opinion. Since users are in house users can make requests on what the would like to see. I don't like use the excuse that your users are "dumb" especially in house. This is an argument I hear a lot and it bugs me. For example if the app looks like a excel sheet one would think it behaves like one, so include those hotkey! Below is a hotkey I look to use a lot with my users on a search page looking to you the typeahead feature I created. Instead I popup with the search automatically and return the results since it a common action. Another good example to look at is

Android: Retrieving SHA1 key for Firebase on Windows

    If you using firebase and want to debug for Oauth or Messaging you will need to add a certificat e  SHA1 from your app key. You might need it for other features but this is what I'm sure about. Assuming java is installed then wherever you java is installed is where you will need to point to for  Example of File location C:\Program Files (x86)\Java\jre1.8.0_60\bin Command "keytool -exportcert -list -v -alias "YOURALIAS"  -keystore YOURKEYFILE.jks > file.txt"  I would output to a file so you can copy it later... Resources Authenticating Your Client

UI-Grid Percentage CellFilter and Color

    Today I got a chance to create a filter for my grid and apply some color which was simple enough to make. Initially I tried to apply both the style and the modification at the same time which cause a ton problems. This solution is less about code and more a remember to me how or why I split the two up. app.controller('exampleCtr').filter('percentage', function () {   return function (value) {     return '<span class=" (value "'>' +(value*100).toFixed(0) + "%";   }; }); //Quick snippet to setup data for colors.  angular.forEach($, function(col, key) {     col.cellClass = function(grid, row, col, rowRenderIndex, colRenderIndex) {       if (col.cellFilter === 'currency' || col.cellFilter === 'percentage')         if (grid.getCellValue(row, col) < 0) {           return 'text-danger';         } else {           return 'text-success';         }     };   }); Resour