Role vs Group
Groups is a set of users Roles is a set of permissions ...
Groups is a set of users Roles is a set of permissions ...
Firefox comes with this annoying feature, where it tries to fill forms with the saved username and password. The algorithm is quite stupid. If there is a input field of type password in a form, Firefox infers that the previous field must be the username field - and fills in the data. There is no way to disable this behavior, neither by some dynamic magic or a special HTML attribute....
Like in printf, chrome JavaScript supports format specifiersto visually improve logging statements....
If you have model names that contain reserved keywords like operators, watch expression in the dot notation will fail. Luckily these names can be escaped. $scope.$watch('metadataForm["dublincore/episode__isPartOf"]', function(modelCtrl) { ... }) ...
If you try to merge huge branches with a lot of files (we had 900+), you might experience weird git behaviour, like “Bad Revision” messages, when you want to diff. In addition to that many files may appear to be kicked out from the git tree or even get removed physically. So merging was impossible. A good hint are the warnings at the end of the git merge stack trace....
How-To articles There is not anything “broken” on the system, but the support personnel is looking for a guide on performing some action per the client’s request. These articles will be linked into the FAQ under “How do I ….” headers. Troubleshooting articles A symptomis known, but there may be a wide array of root causes. This article should guide the support personnel through the process of determining where the fault lies....
I implemented a validation pattern directive, that only gets validated if ng-required="true". Usage: <input ng-required="isRequired()" ng-pattern-if-required="myPattern" name="myName"> The directive: angular.module('directives') .directive('ngPatternIfRequired', ['underscore', function (_) { return { restrict: 'A', require: 'ngModel', link: function (scope, elem, attrs, ctrl) { var required = true; var pattern = attrs.ngPatternIfRequired; if (_.isNull(pattern) || _.isUndefined(pattern)) { throw 'regular expression in ngPatternIfRequired is undefined'; } var re = new RegExp(pattern.substring(1, pattern.length - 1)); var validate = function() { var pass = false; if (_....