Role vs Group

Groups is a set of users Roles is a set of permissions ...

August 25, 2016 · 1 min · Markus Ruepp

Disable Autofill of saved credentials into a form in firefox

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....

May 5, 2016 · 1 min · Markus Ruepp

Format Specifier in JavaScript Console

Like in printf, chrome JavaScript supports format specifiersto visually improve logging statements....

April 9, 2016 · 1 min · Markus Ruepp

angular watch expressions for nested fields with special charaters

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) { ... }) ...

April 4, 2016 · 1 min · Markus Ruepp

`git merge` with large amount of changed files

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....

March 30, 2016 · 1 min · Markus Ruepp

How-To / Troubleshooting / Knowledge Base articles

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....

March 3, 2016 · 1 min · Markus Ruepp

Combine ng-pattern and ng-if

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 (_....

February 25, 2016 · 2 min · Markus Ruepp