Skip to end of metadata
Go to start of metadata

Space Index

0-9 ... 1 A ... 32 B ... 8 C ... 59 D ... 35 E ... 21
F ... 9 G ... 10 H ... 23 I ... 13 J ... 39 K ... 2
L ... 13 M ... 35 N ... 2 O ... 9 P ... 28 Q ... 2
R ... 23 S ... 42 T ... 40 U ... 8 V ... 7 W ... 25
X ... 1 Y ... 0 Z ... 1 !@#$ ... 0    

0-9

Page: 4 plus 1 View Model
Introduction The 41 View Model of Software Architecture is probably the most commonly used methodology for documenting software architecture. It was introduced by Philippe Kruchten in 1995 in the article Architectural Blueprints — The "41" View Model of Software Architecture http://www.cs.ubc.ca/gregor/teaching ...

A

Page: A brief history lesion on why we have got HTML5.
Page: A custom performance testing framework
Drivers/goals Browser/environment independent modus Resource efficient Ajax support Http session (e.g. login) support Possible to automate statistics and report generation Possible to deduct changes in performance over time Possible to debug when something ...
Page: About failing agile projects
http://globalnerdy.com/wordpress/wpcontent/uploads/2007/11/dilbertagileprogramming.gif! There's a trend in the blogosphere showing an increasing number/percentage of agile projects failing. We believe that the reason for this is quite simply that many projects are attempting to use agile methods. Some of these can be expected ...
Page: Abstract
Do you want to simpelfy the writing of tests? Do you want to make testing easier? Ever avoided writing tests because the tests were too hard to write? In this presentation we will show you how to test write, simple ...
Page: Advanced Spring configuration
Drivers The generated artifact should be the same regardless of the target environment. This means that any deployment configuration must be runtime, not buildtime. Keep configuration as close to the bean that needs it as possible. Selfconfiguring beans should be preferred. Minimize the number of properties that must be set ...
Page: Agenda - Final
Final as in the standing plan at any given time... B Bruce, R Robert, D Dylan, T Trygve 19:00: Welcome Resp Type Duration Topic 1 T Talk 30 An overview of what we developers struggle with today ...
Page: Agenda and CASE
Page: Agile
What is Agile? A description of agile in general. In our words, agile is a culture on many levels that allows change for the better, meaning more value as it is specified the manifesto. At the community level Agile Communities, our industry celebrates and recognizes organizations and individuals that provide ...
Page: Agile 2.0
An reflection on agile (postagilism). Agile 2.0 (aka Smidig 2.0) was an initiative a few years ago where we (Objectware) attempted to counter the negative reactions around failing agile projects. In essence, Agile 2.0 is actually just ...
Page: Agile 2.0 in the real world (TBA)
Title One idea: How we successfully rewrote the entire core of a big distributed system an experience report from the real world Highlight Summary Project mandate: Complete rewrite of major parts of a big, distributed system. Necessary ...
Page: Agile Communities
Agile communities/industries celebrate and recognize organizations and individuals that provide more value. Good signs: Annual conferences on topics of software development Weekly meetups (No fluff, just stuff kind of things) Alot of interchanging knowledge between corporations ... Bad ...
Page: Agile Individuals
Agile developers keep their work transparent and take pride in their craftmanship. They remain loyal to their Programming Ethics and strive to work more efficiently. When it comes to it, this level of agile is what it's all about. Most of the litterature focuses on the individual level, so we ...
Page: Agile Maturity
Agile software development is all about frequent delivery of products Each tactic has a positive value/cost ratio by themselves. Used together with other tactics and strategies it is possible to gain a lot more value. A sideeffect/synergyeffect is the feedbackloops (see ...
Page: Agile Maven quickstart
Set up Enterprise Maven Infrastructure This step is actually a precondition. Without the Enterprise Maven Infrastructure the following steps won't make sense. See Maven Infrastructure Set up a "Mavenfriendly" file structure in your version control system For Subversion ...
Page: Agile Mindset and Methodology
Agile Mindset Understanding agile is not easy. It is a process of learning it by imitating the existing practices, doing it and learning what works, and finally mastering it, understanding the values behind it, and delivering good software on time again and again. We do not claim to have mastered ...
Page: Agile Organizations
Agile organizations measure and reward software development that returns longterm value and costefficiency. Good signs An infrastructure that doesn't make people shave yaks Software transparency in their infrastructure, like: Wiki Maven Infrastructure Code inspection (FishEye) Continous ...
Page: Agile Project Communication
Intro Agile communication Which softwarestack is needed to support the agile methodologies we want to use? Wiki, jira and email lists ( Scrumworks?) SinglePointofEntry to the documentation above, plus Maven site and test & build history Implementation recommendations Email lists ...
Page: Agile Project Management vs Agile Product Management
Note that these opinions, like many others on this wiki, are not results of empirical research, but rather deducted from common sense. Subject them to reasoning specific to your own context and situation. Many organizations starting off with agile choose a project as the sandbox ...
Page: Agile projects and contracts
Standard contract name Agile guidelines PS 2000 http://dataforeningen.no/mglrW0g.ips tba xyz tba H3. Comments
Home page: Agile Software Development Home
Introduction The purpose of this wiki is to create processes, techniques and technology which, in combination, will provide cost efficient and easytoadopt bootstrapping environments. The starting point is agile methodology, but the focus is to solve the challenges in the enterprise under realistic conditions. By this we mean extending/strengthen ...
Page: Agile Tragedy - the agile practitioner visits the wine store
Presentation Downloads
Page: An overview of what we developers struggle with today and how HTML5 can solve parts of those.
I et input interface vi har i dag endel utfordringer vi i dag kan begynne å håndtere på en skikkelig måte. La oss ta et enkelt eksempel som et blog ...
Page: Android
Build Android projects with Maven Android emulator howto
Page: Android emulator howto
Install android JDK # Set up virtual device ## android list avd ## emulator avd vDeviceName ## emulator avd vDeviceName wipedata # Install application ## adb install r someApp.apk # Use ddms for debugging. Resources Using the Android Emulator ...
Page: Articles worth reading
page contains articles worth reading for people working in the software industry. Classics The Cathedral and the Bazaar by Eric Raymond Programming as Theory Building by Peter Naur Notes on structured programming by Edsger Dijkstra The humble programmer by Edsger Dijkstra Go To Statement ...
Page: assembly.xml to create zip with support for config_override
assembly xmlns="http://maven.apache.org/plugins/mavenassemblyplugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/plugins/mavenassemblyplugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly1.1.0.xsd"> <id>zip</id> <formats> <format>zip</format> </formats> <includeBaseDirectory ...
Page: Attackers
security terminiology is not mature, in the sense that attackers can be described using different names for virtually the same types. For the purpose of this space the terminology used by OWASP (CC??) will be used. Their commmon denominator is that they either have a goal which involves financial gain or control ...
Page: Attacks
List attacks (examples) Attack Explanation Example XSS Cross site scripting is when an attacker uses a web application to send malicious code to another user. Usually takes form of a script run by the browser. Newspaper which was vulnerable ...
Page: Audit log
Audit logging in web applications Audit logging is important in applications that handles sensitive data. It is always nice to have, but mandatory if your application enables viewing of sensitive data. What is a valid audit log: A good log is: A log that keeps track ...
Page: Automated Deployment Resources
List of people Anders Sveen, CapGemeni see javaBin presentation http://www.java.no/web/show.do?page=191;7&appmode=/showReply&articleid=20824 Jevgeni Kabanov, ZeroTurnaround http://www.zeroturnaround.com/ JavaRebel 2.0 released http://www.zeroturnaround.com/blog/javarebel20isreleased%e2 ...
Page: Automatic code review
Recommendations Set up rules and generate the relevant reports. Modify rules and fix bugs until the whole development team agrees on the standard. Be absolutely certain that the standards are understood, agreed upon and followed before continuing. Add checks to the regular build ...
Page: Available native package systems
Unix packages The following Maven plugins can generate native (operating system specific) installation packages: Unix Maven Plugin http://mojo.codehaus.org/unix/unixmavenplugin/ Highly recommended http://mojo.codehaus.org/solarismavenplugin/ (See also http://mojo.codehaus.org/solaris ...

B

Page: Backlog
agile todolist. The backlog should be a pretty familiar concept to most agile practioneers. Although it most commenly used in Scrum, all methods have some notation of a backlog. The product backlog is simply the team's todolist. Some teams prefer to eliminate ...
Page: Basic configuration tactics
Arguments, variables, options and properties The traditional approach to make an application is to extract relevant properties and put them in external property files. Setting environmental variables or commandline arguments are two other approaches. The following table gives an overview ...
Page: Basic error handling
Immediate Caller A method foo calls method bar which detects an error. The possible errors detected by bar should be documented and foo may be able to recover or ignore some of them, based on the specific kind of error. If it can't, it ll ...
Page: Bridging the gaps-backward compatibility
Toolkits and Gaps Slides http://www.slideshare.net/dylanks/html5codecamptoolkits
Page: Build Android projects with Maven
Dev env requirements: # Follow http://code.google.com/p/mavenandroidplugin/wiki/GettingStarted # Install platforms: android update sdk noui obsolete force # Install 32bit libs if you use 64bit OS: sudo aptget install ia32libs
Page: Build C (plusplus) code for multiple platforms with Maven
Project description We have a C project and cannot standardize the GCC http://gcc.gnu.org/ version of the runtime environment. This means that we must build binaries for each target platform. This gives us the following two dimensions: 32 and 64 bits ...
Page: Build pipeline
Page: Builder project
One of the reasons why some people cling to the "Everything in one project" approach is that it is convenient to build all code with a single command. This convenience can also be achieved with a so called builder project ("samlepom" in Norwegian). Create a new, empty pom ...

C

Page: C++ i686 pom
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company.app1</groupId> <artifactId>app1i686</artifactId> <packaging>a</packaging> App1 binary ...
Page: C++ parent pom
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company.app1</groupId> <artifactId>app1</artifactId> <version>3.7.5SNAPSHOT</version> <packaging ...
Page: C++ rpm pom
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company.app1</groupId> <artifactId>app1rpm</artifactId> <name>App1 RPM</name ...
Page: C++ x86_64 pom
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company.app1</groupId> <artifactId>app1x8664</artifactId> <packaging>a</packaging> <name>App1 ...
Page: Canvas
Canvas and Vector Graphics Slides http://www.slideshare.net/dylanks/html5codecampcanvasvectors Examples: Canvas http://dylan.io/examples/canvas.html SVG http://dylan.io/examples/svg.svg Dojo GFX http://dylan.io/examples/gfx.html
Page: Cargo Cult
Intro 3 http://www.exotribe.com/node/16 Agile methodologies seemed like a good idea to this software development team. But when the company doesn't sincerely accept the change in work style, the result is just a buzzword for the usual project hell, as Charlie Martin's ...
Page: Catch oriented exception strategy
Context Java application based on Spring and Hibernate and a SQL database. Integration to other systems using Webservice and JMS. Principles Focus on the needs of the caller, don't waste time creating a more exceptions than the caller want to use. Isolate the application ...
Page: Change environment at build-time using profiles
Background Deployment configuration like username, passwords, urls, etc. should never be included in artifacts. The output of a build should be environment independent! However, it is quite useful to be able to test an artifact in different environments without too much hassle ...
Page: Changes from default installation
Add workflow with impeeded status Let issues be unassigned by default Allow Unassigned Issues ON Set default assignee to unassigned https://answers.atlassian.com/questions/21166/howtochangethedefaultassigneefromprojectleadtounassigned https://confluence.atlassian.com/display/JIRA/CreatinganUnassignedIssue
Page: Checklist when leaving a project
early as possible Notify your client/boss/team of your leave. This will allow for them to prepare in the best possible way. The last couple of weeks before you leave Find out whom will take over your responsibilities. Make a plan ...
Page: Choose a coding standard
Saves a lot of money if chosen early. Can be changed iteratively
Page: Choose a documentation strategy
what to document where? (and what not to document) See Documentation
Page: Choose a test strategy
Choose early. Services that depend on external environment like JMS or databases suggest a strategy like for example JigZaw
Page: Choose configuration strategy
Important to separate configuration from artifact. A common configuration strategy for all services is probably a good idea, but when to design and implement it is up for discussion
Page: CI Feedback gadgets
HudsonExtremeFeedback http://hudson.gotdns.com/wiki/display/HUDSON/UseHudson#UseHudsonExtremeFeedback
Page: CI for grunt projects
Install NodeJs http://nodejs.org/download/ on CI server Install gruntcli npm install g gruntcli
Page: CI recommendations
CI server responsibilities The CI server is a critical component in Enterprise Maven Infrastructure. It has the following responsibilities: 1. Automatic testing 2. Automated warning notification 3. Automatic deployment of snapshot versions to a build artifact repository manager 4 ...
Page: CI Setup with Jenkins and GitHub
Setup with Jenkins and GitHub Tested on Ubuntu 13.04 on a virual machine in azure Requirements Git JDK and JRE 7 Maven GitHub repository Installing Jenkins https://wiki.jenkinsci.org/display/JENKINS/InstallingJenkinsonUbuntu Be sure to apply the package manager update or you'll ...
Page: CI Strategies
How to trigger a build Based on svncommits Poll the svn repository regularly Use a svnhook to trigger a build Based periods Typically a cronjob. For example Every 5 minutes, Nightly or Each sunday. Classic build definitions There are many different purposes ...
Page: CI Terminology
Job In Hudson, each CI schedule is called a job. A job defines when/how often a build should run One or more tasks. E.g. Running a shellscript Running ant tasks Running maven goals Build definition Continuum ...
Page: Classic Spring configuration tactics
Tactics The tactics can be used in isolation, but it is more common to utilize multiple (if not all) of these together to achieve the desired benefits. How to ensure that required properties are set correctly? Generate example file where all properties that can be set are listed, but only ...
Page: Clean code
http://www.peterkroener.de/wpcontent/uploads/2008/09/wtfm.jpg! Resources Clean Code: A Handbook of Agile Software Craftsmanship http://www.amazon.com/CleanCodeHandbookSoftwareCraftsmanship/dp/0132350882
Page: Clean code measure overview
purpose of this page is to help people achieve clean code. It is not primarily created as a means for learning, but as a means for teaching/coaching these concepts and as a basis for automation. In general "You know are working on clean code when each routine turns out to be pretty much ...
Page: Code and Test Structure when Consuming WebServices
DRAFT/brainstorming quality Introduction and problem description Scenario: An application that consume a WebService. How to efficiently test our code given the WSDL? Isolate the code that use the WebService and write tests for the conversion to our application's domain objects. To verify ...
Page: Code camp challenge
Idea 1 Best "antiboss" switch using HTML5 canvas (i.e. funbutton/key in editor) Categories: Best HTML5 showcase Most fun Best implementation basis
Page: Code coverage using Surefire, TestNG, Jacoco and Sonar
Goal mvn install should not require any external environment and should be fast. Possible to run a certain group of tests from commandline. CI server should run all tests, calculate test coverage and update Sonar. Test coverage ...
Page: Code organization to support easy removal
Jeg organiserer ofte rekkefølgen på kode i en klasse etter to prinsipper: 1. (hovedprinsipp): det metodene som man mest sannsynlig er interessert i å lese øverst. Dvs. de metodene med mest ...
Page: Code review
Solution match the problem Explain the change to the reviewer Does the change solve the problem? Is the change consistent with the existing architecture and design? Is the code easy to understand? Naming Class, method size Single Responsibility per class Has it been tested? Automated ...
Page: Code-centric test tools
Unit Test oriented test tools Tool M2plugin Type Rating Comment TestNG http://testng.org mavensurefireplugin http://maven.apache.org/plugins/mavensurefireplugin/ General purpose ()() Junit4 http://www.junit.org/ mavensurefireplugin http://maven.apache.org/plugins/mavensurefireplugin/ Unit tests ...
Page: Coding teams
Team 1 Team 2 Team 3 Team 4 Team 5 Team 6
Page: Collection-json
Deployment architecture, see Typical application architecture, alternative 1. !dev:Typical application architecturerestconsumer.png! Backend (CRUD) service expose collectionjson API. GUI application expose collectionjson API, proxy against backend service. Client consume and produce ...
Page: Collections
GNU Trove http://trove4j.sourceforge.net/ googlecollections http://code.google.com/p/googlecollections
Page: Command line input windows
echo Enter a number? set UserInput=%1 echo %UserInput
Page: Comments from JigZaw frontpage
Totto: http://en.wikipedia.org/wiki/Modelbasedtesting Mads Nissen: On the subject of test project organization (folder/package structure) I've been experimenting with BDDstyle syntax to provide a more fluent guide into test behaviour: Assembly/component: MyComponent.Tests Package/namespace ...
Page: Commit Notification
Automatically announce new code. One of the most powerful practices compared to how easy it is to set up, is commit mails. It is a builtin feature in most SCMsystems. Notifications are usually delivered via mail, but it is also possible to support channels like RSS ...
Page: Common Factor list
purpose of this page is to identify which factors, which drivers, different tactics should adhere to. Testability and maintainability should in general be the two most important drivers. Exceptions should not be made lightly. The final artifact should not require buildtime changes to facilitate ...
Page: Common reasons for agile project failure
reason the codebase has got into a mess is because we failed to execute on important principles such as: 1. Take account of coupling and cohesion. 2. Be clear about people's roles and responsibilities to avoid unqualified or inappropriate decision making. 3. Clarity and simplicity ...
Page: Company parent pom example for only Java projects
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company</groupId> <artifactId>companyparent</artifactId> <packaging>pom</packaging> <version ...
Page: Comparison of Identity and Authentication products
Ok, I was looking for this page on Wikipedia, but could not find it, so I am starting it here. Needs much work. Better alternative: http://solutionsreview.com/identitymanagement/identitymanagementsolutionsdirectory/ Inspiration: http://en.wikipedia.org/wiki/Comparisonofprogramminglanguages Some questions for inspiration to Comparison ...
Page: Complete code example from demo
h2>File upload</h2> <p>Browse and upload multiple files in one go by holding down Ctrl (Windows, Linux) or Command (Mac) when clicking on them in the file dialog. Information about the uploaded files will be listed below. NOTE ...
Page: Complete code example in demo
h2>File upload</h2> <p>Browse and upload multiple files in one go by holding down Ctrl (Windows, Linux) or Command (Mac) when clicking on them in the file dialog. Information about the uploaded files will be listed below. NOTE ...
Page: Conditional requests
Buy the book! (in paper copy) RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity https://www.amazon.com/RESTfulWebServicesCookbookScalability/dp/0596801688/ref=sr11?ie=UTF8&qid=1510319582&sr=81&keywords=RESTfulWebServicesCookbookbySubbuAllamaraju&dpID=51vmsDXxxrL&preST=SX218BO1,204,203,200QL40&dpSrc=srch ...
Page: Configuration Categorization
Matrix Support different dimensions of configuration Startup 1 Resource/ext. service setup 2 Usage/Tuning 3 Global Environment Application Node 1 Startup configuration: java options, Environment Variables 2 Setup configuration (addresses ...
Page: Confluence Documentation Template
Draft quality! This template is based on the 4 plus 1 View Model. This is a work in progress and the template is not as a silverbullet, but as a starting point when documenting a system using Confluence wiki. System Architecture Logical View Physical View Process View Scenario ...
Page: Confluence resources
Export a space exportingaconfluencespaceasawebsite http://cwiki.apache.org/DIRxDEV/exportingaconfluencespaceasawebsite.html Must use "Default" theme to be able to change layouts. See CONF13221 http://jira.atlassian.com/browse/CONF13221 for more information. Modifying Confluence Layouts Using Custom Decorators http://confluence.atlassian.com/display/CONF20/ModifyingConfluenceLayoutsUsingCustomDecorators ...
Page: Confluence-based Documentation Release
Write documentation according to Confluence Documentation Template. Update documentation (check especially the references to Maven artifacts) Export documentation to html http://confluence.atlassian.com/display/DOC/ConfluencetoHTML Check it into a Version Control System http://en.wikipedia.org/wiki/Revisioncontrol
Page: Continuous Deployment
Automatically deploy the latest changes. Continuous Deployment A process that detects new releases into your software repo. Essentially, each time this process detects a new artifact, it will attempt to deploy it to a specified environment. Typically, this is applied in organizations where users want ...
Page: Continuous Deployment Diagram
Page: Continuous Integration
Automatic build and integration. Principles To fix a broken build must always have highest priority. Otherwise, most of the benefit of doing continuous integration is lost. Integrate often http://www.extremeprogramming.org/rules/integrateoften.html When deciding which product to use ...
Page: Control at System level
achieve control at the system level is much harder than control at the application level. Unlike the application level, the system level cannot be specified completely. The reason is that control at the system level is all about trust and confidence. How much control do ...
Page: Control at Systems level
When the entire organization is comfortable with automated upgrades of your system things are really looking good. However, to achieve frequent deployments to production you must also be comfortable that the integration with external systems will work. Systems Integration Test SysAdmin Production ...
Page: Control at the application level
achieve control at the application level the following concepts must be in place: Traceability (EMI Maven Infrastructure) (/) Source code version control Artifact versioning Artifacts can be configured runtime. (/) Nonsensitive, default values may be included in the artifact, BUT it must be possible ...
Page: Control state
possible to write tests that verify that a service work even though it has a dependency on some external environment. Integration with a database, a JMS server, reading files from file system or a remote share are typical examples of external environment. All these services ...
Page: Conventions for org
IaM Security paradox Most companies define the HR system as the IaM master source Most companies outsource the HR system and many HR functions the IaM master is outside the company's control... Some reflections HR system is master for users ...
Page: Copy of Timeline
Timeline describes the coupling between JigZaw test model and agile development methodology and related concepts as Continuous Integration (CI) and continuous production. In other words, when should a certain group of tests be run and who is responsible for executing them. Timeline ...
Page: CORS
Learn What is CORS? http://www.w3.org/wiki/CORSEnabled#WhatisCORSabout.3F https://developer.mozilla.org/enUS/docs/Web/HTTP/AccesscontrolCORS#Preflightedrequests Browser support: http://enablecors.org/client.html. What about security? https://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity How to set ...
Page: CouchDB Simple hosted JSON DB for mobile and js apps
CouchDB Simple hosted JSON/REST DB for mobile/.js apps http://cloudant.com offers free hosting of CouchDB instances which are trivial to get started with and provides a decent REST interface from which one can replace with other ...
Page: Crystal Clear
Alistair Cockburn's agile method. http://en.wikipedia.org/wiki/CrystalClear(softwaredevelopment) http://alistair.cockburn.us/Crystalmethodologiesmainfoyer http://www.amazon.com/exec/obidos/ASIN/0201699478
Page: CSRF
What is CSRF CSRF is an attack where the attacker tricks the users browser to make a request to the target. For more information of how it works see: http://en.wikipedia.org/wiki/CSRF http://www.owasp.org/index.php/CrossSiteRequestForgery The picture above tries to illustrate ...

D

Page: Daily Standup meeting
daily gettogether ceremony. In Scrum, this is called "the daily Scrum". The point is to gather the team together for a short (10 minutes or less) facetoface meeting, standing up. Normally, the team makes a round where each team member presents the following: # What ...
Page: Data-driven testing
Datadriven testing http://en.wikipedia.org/wiki/Datadriventesting is a wellknown concept and many different implementations exists. When to consider datadriven testing? # A mature API exists and the data format is fairly static. # The test itself is simple. # Big variation of input data ...
Page: Database tests
Page: Database versioning
How to track and control changes to databases? Versioning and sorted changes You should have the complete schema in its latest version. You will also have changes separate, and they must be stored in a sequenced way. Database changes is not mutual independent. Release ...
Page: Debug log
Debug logging is a tool for software developers to determine the cause of an error. Should never be enabled by default in production environments. Verbose as much context as possible (e.g. stack traces) Technical does not need to be user friendly Must contain a reference ...
Page: Definition of Done
Definitions and suggestions for enforcement. Different definitions of Done Scrum Alliance What is DoD? http://www.scrumalliance.org/articles/105whatisdefinitionofdonedod Agile Software Development DoD http://agilesoftwaredevelopment.com/2006/05/definitionofdone Agile faq What is DoD? (example) http://agilefaq.net/2007/10/24/whatisdefinitionofdone/ How to enforce ...
Page: Delivery Team 1
Files Everything in a zip file FRONT:Delivery Team 1group1blogsbu.zip The HTML file we presented FRONT:Delivery Team 1presentedversion.html (also shown below) Beta version with some additions that didn't work too well FRONT:Delivery Team ...
Page: Delivery Team 2
Code http://github.com/leftieFriele/h5oteam2 http://github.com/lacostej/h5oteam2 App http://totalworldannihilation.org/cc/blog.html
Page: Delivery Team 3
Please go to Google code to download our project http://code.google.com/p/html5codecamp3
Page: Delivery Team 4
See http://github.com/ivarconr/html5codecamp
Page: Deploy application with Java Network Launching Protocol (JNLP)
Which applications implements JNLP? Java Web Start What is Java Web Start? What is Java Web Start? http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/faq.html#101 Why should I use Java Web Start ...
Page: Deploy application with native packages
Create unix packages We recommend using Unix Maven Plugin http://mojo.codehaus.org/unix/unixmavenplugin/ to generate native packages (pkg, deb, rpm) for the Unix platform. See Available native package systems for other plugins and available Windows ...
Page: Deploy AWS Lambda
What # Build über jar (jar with all dependencies) file and upload to Maven artifact repository # Download jar file and upload to S3. # Deploy lambda Strategy for DevTest, Systest and Prod environment We support three environments; Devtest, Systest ...
Page: Deploy to different environments
Problem description Projects are often deployed to multiple different environments. By "deploy" we do not mean the process of publishing an artifacts to a repository, but deploying an application to for example a application, portlet, or servletcontainer or just installing the application in the staging or production environment ...
Page: Deploy to different environments - run-time
Runtime approach The goal is to avoid building artifacts for different environments. This problem can be divided into the following subproblems: Make the application environmentindependent. I.e., by default is should not have any dependencies to external systems. Use property files from classpath to override ...
Page: Deploy zip to artifact repo with grunt-maven-tasks
Configure gruntmaventasks Release and deploy is supported, but only for zip files, not jar. Install npm install gruntmaventasks savedev Add to grunt.initConfig({ section in GruntFile.js: maven: { options: , deploy: { options: , src: '', '!nodemodules/' }, release: { options: , src: '', '!nodemodules/' } } grunt.loadNpmTasks('gruntmaventasks ...
Page: Deployment and Configuration
Strategies JaMaCU Deployment Strategy Multienvironment Configuration and Deployment Strategy Important challenge: How to bridge the gap between Operations and Development Resources Logging Monitoring Deployment and Configuration Products Configuration Categorization Basic configuration tactics JAU:ConfigService sysadm ...
Page: Deployment and Configuration Products
commonsdaemon (JSVC) http://commons.apache.org/daemon/jsvc.html appassemblermavenplugin http://mojo.codehaus.org/appassembler/appassemblermavenplugin/ Assembles the artifacts and generates bin scripts for the configured applications mavenassemblyplugin http://maven.apache.org/plugins/mavenassemblyplugin/ Open Source Installers Generators in Java http://javasource.net ...
Page: Deployment strategies
Questions / abstract Define relevant terminology and concepts to establish a common baseline for discussion. Compare pros and cons of the 23 most relevant deployment strategies. Lessons learning from using Ansible is perhaps one of them? Remember to define scope of responsibility ...
Page: Developers - Error handling concerns in service or component systems
fact that error handling is often the lowestpriority concern is doubly weird if you consider that crosscomponent error handling is the same concern as core functionality messaging. In both cases there are the same sets of concerns, both with regards to communication with external components and interaction between ...
Page: DevOps
Recommended reading http://blog.torresdal.net/2013/02/25/introducingcondep/ GitHub project https://github.com/Cantara/devops.git
Page: DevOPS and NoOPS comparision
http://www.infosecisland.com/blogview/20869UnderstandingDevOpsvsNoOps.html http://blog.appfog.com/whatisnoopsanyhow
Page: Diagram Software
Gliffy http://www.gliffy.com Gliffy Confluence Plugin http://www.gliffy.com/confluencePlugin/ Enterprise Architect http://www.sparxsystems.com.au/products/ea/index.html Poseidon http://www.gentleware.com/products.html Visio Any other drawing tool like Dia http://projects.gnome.org/dia ...
Page: Distributed Revision Control
new loud. TODO: Write more about the awesomeness of DRC. Resources General DRC Wikipedia: http://en.wikipedia.org/wiki/Distributedrevisioncontrol Git The Git Community Book: http://book.gitscm.com/ Pro Git Book: http://progit.org/book/ A tour of git ...
Page: Dive and conquer tactics
Tactics This paragraph will explain how we can apply the JigZaw Multidimensional Test Categorization to discuss and choose different types of tests. Loose coupling between endpoint and service The coupling between a service and endpoints can be said to be loose if it is possible to test ...
Page: Divide and conquer
Divide et impera architecture, implementation and tests In JigZaw context, "Divide and conquer" is the concept of dividing a problem into subproblems until we know how to solve them. This is a wellknown technique for handling something complex and/or complicated. This principle is the cornerstone of the test strategy ...
Page: Docker
https://www.docker.com/ https://www.amazon.com/s/ref=srnrpnfeatureninebro0?fst=as%3Aoff&rh=n%3A283155%2Ck%3Adocker%2Cpnfeatureninebrowsebin%3A3291437011&keywords=docker&ie=UTF8&qid=1467967970&rnid=3291435011
Page: Documentation
4 plus 1 View Model
Page: Documentation Release
Overview Documentation can be written in a number of formats. We have chosen to separate between WYSIWYG files (e.g. MS Word), compiled text (e.g. LaTeX) and wikibased documentation. The table below might help you to choose. Feature Confluence ...
Page: Documentation team 4
Forms <form id="addPost" method="POST"> <label for="title">Title</label> <input type="text" name="title" id="title" required> <label for="content">Content </label> <textarea name="content" id="content"></textarea> <label for="filesupload ...
Page: Documentation team3
Source code http://code.google.com/p/html5codecamp3/ localStorage We have implemented use of localstorage in order to prevent loss of data i the user navigates away from the site, close the browser or close the tabs. We solved this by implementing 3 features ...
Page: Documentation5
Observations Opera does not support the poster attribute on the video tag. To display an image while video is loading, or fails. like this: <video poster="path/to/image.ext"> </video> However the Opera people have confirmed that this will be fixed in the next minor version ...
Page: DocumentationTeam2
Page: Domenestruktur og medfølgende egenskaper - et epos
La oss se på hvordan vi modellerer en adresse. Hensikten med denne analysen er ikke å si at alternativ a er bedre enn alternativ b, men å gi en forståelse på at det ...
Page: Download latest Artifact from Nexus
Actual code to run @Echo Off rem Unclear to test on my repo which is empty. set BASEURL=http://127.0.0.1/nexus/service/local/artifact/maven/redirect? set BASEURL=http://repository.sonatype.org/service/local/artifact/maven/redirect ...

E

Page: Embedded ActiveMQ JMS Server (Spring)
Start nonpersistent ActiveMQ JMS server before each test method and shut it down after. Use xbean and spring for simple configuration. The test groups annotation is a TestNG concept to group execution of tests. Test parent See EmbeddedJmsServerParent src ...
Page: EmbeddedJmsServerParent
import org.apache.activemq.broker.BrokerFactory; import org.apache.activemq.broker.BrokerService; import org.apache.activemq.broker.jmx.BrokerView; import org.apache.activemq.broker.jmx.DestinationView; import org.apache.activemq.broker.region.Destination; import org.apache.activemq.command.ActiveMQDestination; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import javax.management.ObjectName; import java.net.URI; import java.util.Map; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue ...
Page: EMI Server Overview
Continuous Integration Servers Continuum Installation Guide Linux Continuum Installation Guide Solaris Repository Managers Artifactory Installation Guide Linux Artifactory Installation Guide Solaris sysadm:Nexus Installation Guide Linux Version Control System Subversion ...
Page: Endpoint tests
responsibility of endpoint tests is to verify that the wiring and configuration of the endpoints works as intended. It is often a good idea to use stubs instead of the actual services. We recommend Mockito http://mockito.github.io/mockito/docs/current/org/mockito/Mockito.html#2 for stubbing ...
Page: Enterprise economy versus Project economy
Why agile projects fail to deliver expected values in an enterprise context Intro When dealing with agile projects in the enterprise, the difference between enterprise economy and project economy becomes an important challenge. One common problem is that development ...
Page: Environment
environment of web applications is a crucial factor when considering security. It wouldn't help much to create an application with all available security measures made with best practices, using top security consultants if the application was deployed on an application container ...
Page: Environment versioning
baseline is a set of software services with fixed versions and their configuration in a known Operating System environment on known hardware. In other words; Software versioning http://www.reference.com/search?r=13&q=Versioning can be implemented with mavenreleaseplugin Configuration versioning known ...
Page: Error Categorization example
Error levels Fatal Crisis Indicates that the system is for most purposes dead. Like if no superPNR are received into the ESB, or that the ESB looses connection with critical systems Fatal Severe Indicates that a large set of operations are failing, i.e. That all operations against Accounting ...
Page: Error Handling And Exception Management
Excecutive Summary The bigger problem in software reliability is not how we communicate errors, it's the state we are in when the error happens. So often the errors are things we can't really do anything about, we can't force the network connection ...
Page: Error Push Setup
Error pushlike log behaviour/setup Log4J.properties config Add the following to log4j.properties log4j.appender.HUB=org.apache.log4j.net.SocketHubAppender log4j.appender.HUB.layout=org.apache.log4j.PatternLayout log4j.appender.HUB.layout.ConversionPattern=cc%d %14.14c %m%n log4j.appender.HUB.port=9004 And add the HUB as a logger (I.e. something like: log4j.rootCategory=INFO ...
Page: Evaluation HTML5Code Camp
De viktigste i hver kategori er uthevet med bold. (?) indikerer litt upresise punkter. Pkt1 (?) Pkt2 Pkt1 Pkt2 Pkt1 Pkt2
Page: Evaluation of HDIV
What HDIV provides: HDIV provides a state management mechanism which adds a hashed state of parameters sent to the client which makes it possible to detect any alterations a client makes to socalled "non editable" data (combobox, hidden fields ...
Page: Evaluation of tactics according to organizational drivers
any given problem, there are multiple possible solutions. When choosing one, it is important to investigate if the tactic chosen effects the rest of the system. If it does, the tactics must be evaluated according to the drivers for the entire system, and pros/cons of the different tactics must be compared ...
Page: Event-based Logging
Rename to eventing? Auditing A log containing changes in the data. Need context (user/timestamp/source ) Error log Something Operations must act on (e.g. apache error log) See Error Push Setup Eventing Information to the business support ...
Page: Evo
Tom Gilb's evolutionary method. Plenty of resources available here: http://www.gilb.com/Blog
Page: Example JSW and RPM
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <profiles> <profile> <id>rpm</id> <activation> <property> <name>env</name> <value>prod</value ...
Page: Example RPM Parent
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company</groupId> <artifactId>companyparentrpm</artifactId> <version>6</version> <packaging ...
Page: Excellent Books
page contains recommended readings for software developers. See also Articles worth reading and Potentially Excellent books containing new candidates for this list. Architecture, patterns and programming skills Architecture and Design Domaindriven Design: Tackling Complexity in the Heart of Software ...
Page: Exceptions easily provoked
Exception How to provoke Comment NonUniqueResultException http://docs.jboss.org/hibernate/core/3.5/api/org/hibernate/NonUniqueResultException.html find the uniqueResult method and ensure the database contains two rows which satisfies the given where clause NullPointerException make sure some ...
Page: Executable uber-jar using maven-shade-plugin
Executable uberjar using mavenshadeplugin <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>mavenshadeplugin</artifactId> <version>2.1</version> <configuration> <filters> <filter> <artifact>:</artifact> <excludes> <exclude>METAINF/.SF</exclude> <exclude>METAINF/.DSA</exclude ...
Page: Extreme Agile
When you take agile practices to the extreme. Sandbox for new practices. Joe: Hey Bill, let's list the practices that every agile project should include. Bill: Well, Joe, I'm not sure there are any such practices that should apply to every ...

F

Page: FAQ
Q
Page: Feature Branches
Keep the main branch in a working state, develop new features in branches. The agile manifesto states Working Software as a value. This implies that we keep the mainline of the code (known to many as the stable branch) in a working state. A good way to keep it that way ...
Page: Feedback
Transkript av feedback session med Totto: Good: Location was great! Great with talks > coding > talks > coding Great speakers Food > Learned a lot more Wifi Networking (social) Fun, good times! Platform independent software Results ...
Page: Ferris' notes from part 2
Neo4J Emil talks about semantic web, web 2.0. Graphs of information. RDF. The problem of relational database. oesn't scale with information complexity. Sparse tables, and increasing number joins. So the solution is a graph database. Instead of having relationships ...
Page: File API
Page: Finally, an Agile test strategy! (that works)
Title Finally, an Agile test strategy (that works)! Speakers Bård Lind (bard.lind@objectware.no) Erik Drolshammer (erik.drolshammer@objectware.no) Abstract Traditional test strategies were typically created in the context of a specific methodology (like for example the waterfall model) and are unsuited for the serviceoriented ...
Page: Find latest version in NEXUS repo
Documentation internally in Nexus only http://127.0.0.1:8081/nexus/nexusrestlet1xplugin/default/docs/resourceArtifactResolvePlexusResource.html url: /artifact/maven/resolve Parameter g Group id of the artifact (Required). query a Artifact id of the artifact (Required). query v Version of the artifact (Required) Supports ...
Page: Flexibility vs complexity trade-off
Flexibility is nice when it is needed. Unused flexibility is wasteful and adds complexity and cost. How to decide what changes we can support without exceptional high cost? It falls to the architect to weigh the drivers of the project and choose where to make it possible ...
Page: Frontend

G

Page: GeekCruise Notes - Part 2 - Emil presents Neo4J
About 18 o'clock, we cut the Qi4J discussion and Emil goes on with Neo4J Notes and comments (add your ones as children pages
Page: General development tips
What is the correct way to write JavaDoc when you override methods like equals and hashCode? / / @Override
Page: General test theory
purpose of this page is to list some "rules" with regards to general test theory. If you disagree or don't understand the following statements, please leave a comment. These rules are assumed to be common knowledge, so no explanation will be provided unless someone ask. # Don't test ...
Page: Generic Parent POM Example
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company</groupId> <artifactId>companyparent</artifactId> <version>29</version> <packaging ...
Page: Glossary
add content to the glossary label your content with 'glossary'. To have a short excerpt added to the glossary page use \ description
Page: GreenHopper
GreenHopper plugin http://www.atlassian.com/software/greenhopper/overview may be useful for sprint followup, planning and reporting. Note that while Jira GreenHopper is a better match for agile development than Jira alone, it is not a perfect fit. TODO: Investigate GreenHopper support ...
Page: Groovy & Grails Topics
work in progress Some Groovy basics And that compiles? But some common class doesn't have that method? Groovy adds utility methods to a lot of common classes. You'll find the details referred to as the GDK and its available on http://groovy.codehaus.org/groovyjdk/ An ...
Page: Ground level - Pain
level Agile is mostly absent, or at least at its most immature development at its most painfull. Some characteristics below. Dependency handling artifacts (typically jar's) handled manually All external artifacts needed by a development team is handled manually ...
Page: Groups and when to run them
Group management Annotating tests with one or more groups makes it possible to have test runs that include group A and B, but excludes tests from group C. It is technically possible to use any number of groups, but we recommend to create groups ...
Page: Gummy Bears
An abstract concept of estimation. Instead of estimating in hours, you use a parameterized value which is a factor representing complexity or difficulty. Mike Cohn's oneliner around this is (as I can remember it from a presentation he did on XPmeetup): You don't ...

H

Page: Helper Libraries
purpose of this page is to describe a few helpers that are often useful for service and system tests. The same helpers are also the basis for a SysAdmin Production Toolbox. RestoreDefaultState bring the system back to a known, "empty" state. Each test insert their own test data ...
Page: How to bridge the gap between Operations and Development
Needs cleanup aka. the gap between agile and ITIL Problem description What hurts? What problems to we need to address? Hard to get resources from Operations early in the project Hard to get Operations as official stakeholders (and thus someone ...
Page: How to call Oracle stored procedures from Java
Using CallableStatement Using CallableStatement methods to call stored procedures http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/tjvcscsp.htm Get connection from Spring DataSourceUtils import org.springframework.jdbc.datasource.DataSourceUtils; Connection con = DataSourceUtils.getConnection(dataSource); String procedureRef = "somePackage ...
Page: How to combine JigZaw with the V-model
Vmodel http://en.wikipedia.org/wiki/VModel(softwaredevelopment) groups tests into unit tests, integration tests, system tests and acceptance tests. To model big distributed systems, higher granularity and additional levels / test types is needed. There is also the matter of responsibility ...
Page: How to debug webapp performance proactively?
best approach to debug poor performance is to detect when and why the performance is poor. The obvious approach is to monitor and measure the performance continuously. For web applications Hudson sysadm:Hudson Installation Guide Solaris and the Grinder Plugin http://wiki.hudsonci.org/display/HUDSON ...
Page: How to debug webapp performance reactively?
Strategy There are of course many strategies for finding and fixing performance issues in any application. The most common is probably Classic performance debugging # Find the bottleneck # Fix the bottleneck # Repeat Do some initial cleanup to eliminate stupid issues However, locating ...
Page: How to deploy to IBM WebSphere 6.x
possible to deploy directly to IBM WebSphere 6.x by regular file transfer protocols, and it is not currently supported by Cargo http://cargo.codehaus.org/. The way of deploying to a cluster recommended by IBM, is by executing the file wsadmin.bat on the deployer's end with a number of parameters. The bat file is a facade ...
Page: How to do setup and tearDown for a group of tests.
TestNG supports sorting of tests into groups. I can be convenient to be able to perform a group wide setup, before, and teardown, after, the tests in a group are run. This can be accomplished in testNG using the BeforeGroups annotation. Sort your tests into logical groups ...
Page: How to make the output of a shell command available to Maven?
profile> <id>updatedistroVersion</id> <activation> <property> <name>!distroVersion</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>execmavenplugin</artifactId> <executions> <execution> <id>echodistroVersiontofile</id> <phase>generateresources</phase> <goals> <goal ...
Page: How to start a new operating system process from Java
Alternatives Runtime.exec ProcessBuilder http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html Start a new JVM from Java Apache Commons Exec http://commons.apache.org/exec/ Resources Java exec execute system processes with Java ProcessBuilder and Process ...
Page: How to start ActiveMQ JMS Broker in a separate process
How do I embed a Broker inside a Connection http://activemq.apache.org/howdoiembedabrokerinsideaconnection.html TODO: Remember to explain how to set up JNDI. Create a helper class, a BrokerManager, to manage the JMS broker. protected ActiveMQBrokerManager(final BrokerService brokerService) public ...
Page: How to structure EAR projects?
Needs verification /extension The goal is to have an EAR deployment unit. While we could have EJBS, servlets and other code and resources as modules, we recommend putting the "modules" as separate Maven projects to allow easier reuse. E.g. ...
Page: How to test remoting in-process
http://www.dancres.org/blitzblog/2010/11/09/remoting
Page: How to use a zip file to share resources between projects
producer creates an zip file containing some sql files. These are attached to the build and thus deployed alongside the primary artifact using a classifier. The consumer unpacks the zip and can utilize the sql files as if they were included in the consumer project. Producer ...
Page: How to use JUnit Categories to implement JigZaw
finally seems like the Surefire plugin does handle categories. Please read this link, it show how to simplify your setup. http://johndobie.blogspot.com/2012/04/unitandintegrationtestswithmaven.html At last categories are possible to use in JUnit Since the 4.8 version Hope this will ease ...
Page: How to use TestNG groups to implement JigZaw
golden rule is that mvn clean install should ALWAYS return Build Successful. This means that the test suite which is run by default cannot depend on any external resources like database, JMS, Files, WebServices, etc. This does not mean that you ...
Page: How to use Unitils for data-driven regression testing
Description The page Test strategy for Oracle PLSQL describes how we can write tests based on Unitils to test plsql code. For many datadriven applications the same approach can be used for regression tests on the Application tier http://en.wikipedia.org ...
Page: HTML 5 Code Camp
Intro HTML5 has been hyped a lot the last 12 months. Each passing day, the browsers support more and more of the HTML 5 featuree set, both in terms of the new HTML form elements and the new JacaScript API's. This mark ...
Page: HTML 5 Code Camp Documentation
New Javascript features/APIs Canvas: http://dev.w3.org/html5/spec/Overview.html#thecanvaselement, https://developer.mozilla.org/en/Canvastutorial, Media playback: http://dev.w3.org/html5/spec/Overview.html#video, http://dev.w3.org/html5/spec/Overview.html#audio Web Storage: http://dev.w3.org/html5/webstorage/ Drag and drop: http ...
Page: HTML 5 Coding Challenge Apps
Contest The task was to create an awesome HTML5 blog engine, with focus on great usability on the blog admin side. Contest Contributions
Page: HTML5 overview
Storage File API Web Storage Web SQL IndexedDB Web Storage Wikipedia http://en.wikipedia.org/wiki/WebStorage Indexed Database API Wikipedia http://en.wikipedia.org/wiki/IndexedDatabaseAPI Web SQL Database Wikipedia http://en.wikipedia.org/wiki ...
Page: HTTP request compression
Compress http body with Gzip ContentEncoding: gzip Apache supports Input Decompression in moddeflate: http://httpd.apache.org/docs/2.2/mod/moddeflate.html#enable https://blog.artofcoding.eu/compressedhttprequests/ mentions some bugs. NginX: thread1 https://www.rubyforum.com/topic/4422268 and thread2 http ...
Page: HTTP response compression and related security exploits
Security exploits BEAST http://en.wikipedia.org/wiki/TransportLayerSecurity#BEASTattack "The vulnerability of the attack had been fixed with TLS 1.1 in 2006." src http://en.wikipedia.org/wiki/TransportLayerSecurity#BEASTattack Disable TLS compression. This attack is similar in nature to the recent RC4 ...

I

Page: IAM - Identity and Access Management
you want to use whydah as an SSO provider, you may start at http://www.getwhydah.com. If you want to investigate different SSO Providers, check out Comparison of Identity and Authentication products
Page: IAM Terminology
General terms Term Definition Comment IAM Identity and access management Gartner's definition http://www.gartner.com/itglossary/identityandaccessmanagementiam/ IdM Identity management (IdM) describes the management of individual principals, their authentication, authorization,1 and privileges within or across system and enterprise ...
Page: Identity Management
Identity management in web applications Identity management covers how you handle the users of your application. You can choose to have a conecpt of user which has a password and that's all. This is a very slim concept which isn't sufficient for most ...
Page: Improved communication
Forbedret kommunikasjon Definere en trappemodell for hva man kommuniserer når. Det endelige målet er å bidra til best mulig økonomi for forretningen. Fjerne seg fra TCO mål, rette seg mot "best mulig ...
Page: Incorporating best security practices in development
TODO: Describe how the different principles and tools can be utilized in day to day development to become a part of the development lifecycle
Page: Index
Page: Input Validation
Input validation in webapplications. Good ideas: Use whitelisting Strictly define what you expect. Take some time and identify what the properties of your legal data is. Centralize rules, make sure you don't define them more ...
Page: Installation and Deployment Automation
Goals and drivers Same artifact (primary artifact, can have multiple distribution artifacts) should be deployed to all environments, buildtime configuration is unacceptable. The number of manual steps required to deploy should be kept at a bare minimum. => minimize the number of required ...
Page: Introducing JigZaw in your organization
Introduce this material step by step You and your fellow developers need time to understand these consepts. Experiences we have made sugest to follow an approach something simmilar to this: Phase #0 Introduce basic tools and infrastructure to support automated ...
Page: Invitasjon til HTML5 Code Camp
Page: IoT Security
Assumptions Limited CPU, memory, disk and network capabilities Possibly batterydriven (e.g. lowpower devices) Transmission use a lot of power. Transport: Radio, bluetooth, SMS Requestreply/handshake protocols are probably not suited. 2way communication like TLS is probably ...
Page: Issue tracking in the Enterprise
Release notes How to automate release notes? When to force all changes through an issue tracker and when to write a custom overview? Selection criteria What properties must the issue tracker we choose have? Is Jira the only ...
Page: Issue workflow
Workflow Many issue lifecycles can be used. As a general rule start with a few, welldefined states and add steps only if they add any real customer value. Statuses are modelled as a state machine in Jira and it is possible to have different state machines ...

J

Page: JaMaCU Deployment Strategy
Motivation Developers and architects have too long neglected the needs of system administration. The excuses vary, but the symptoms are much the same; Complex and time consuming deployments. Complex and error prone configuration. Too much, too little or just plain bad ...
Page: Java Parent POM Example
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company</groupId> <artifactId>companyparentjava</artifactId> <version>1</version> <packaging ...
Page: Java SSL - Keystores
Introduction To support ssl certificates java vm's have two keystores. Both can be set using system properties: The name of the file that contains the KeyStore object that you want the default KeyManager to use. The name of the file that contains the KeyStore object ...
Page: Java Web Application Strategy
web application strategy is a collection of tactics, architecture and patterns and a few other good practices. The goal is to provide an starting point for projects within the defined scope and try to make the recommendations as easy to adopt as possible. Scope We have chosen ...
Page: Java Web Frameworks
When choosing a web framework Choose carefully. Matt Raible has several presentations on how to choose a web framework: http://raibledesigns.com/rd/page/publications Go with the flow. Follow the recipe's of the framework, but if you find yourself fighting against ...
Page: JavaScript
Courtesy of Ronny Løvtangen for putting together most of these links in the OW internal wiki. Documentation and specs MSDN DOM http://msdn2.microsoft.com/enus/library/ms533054.aspx (works best in IE) MSDN JScript 5.6 http://msdn2.microsoft.com/enus/library/yek4tbz0.aspx (works best ...
Page: JavaSpaces
Theory SUN: JavaSpaces http://java.sun.com/developer/technicalArticles/tools/JavaSpaces/ Wikipedia: JavaSpaces http://en.wikipedia.org/wiki/Tuplespace#JavaSpaces Using JavaSpaces http://www.theserverside.com/tt/articles/article.tss?l=UsingJavaSpaces by Joseph Ottinger letter from me ...
Page: Jetty in a test
How to use Jetty in a test Use this alternative for automated tests and debugging. Add the jetty dependencies to pom.xml <! standard jetty server > <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <version>6.0.0</version> <scope>test</scope> </dependency ...
Page: Jetty with pre-populated local HSQLDB
ERIKS KLADD. Dette virker ikke enda. Som hjelp til manuell test/verifikasjon av en webapp så hadde det vært veldig kjekt å dytte litt data til en hsqldbinstans før man ...
Page: JigZaw
JigZaw Agile Testing done Right JigZaw Core Principles Introduction JigZaw Introduction Vmodel vs JigZaw Design Principles and Drivers JigZaw Design Principles and Drivers Verify expected behavior instead of looking for bugs Divide and conquer Test ...
Page: JigZaw as architecture improvement enabler
JigZaw hjelper deg til å a) se, finne og løse opp i den selvpåførte systemkompleksiteten man har mellom moduler og med å la prosjektet arbeide fritt på tvers av systemmoduler b ...
Page: JigZaw Categorization Matrix
purpose of the categorization matrix is to be able to discuss and classify different kinds of tests. It is not critical whether a certain test is classified as a unit or service test, but it is important to have separate tests for with/without data and with/without environment. This makes it much easier to write the tests ...
Page: JigZaw Design Principles and Drivers
foundation for JigZaw is the core principles and drivers. The key concepts are: Maximize value of testing Verify expected behavior instead of looking for bugs Divide and conquer Multidimensional Test Categorization JigZaw Multidimensional Test Categorization Timeline The concepts should be abstract and technology ...
Page: JigZaw Design Principles and Drivers - OLD
Needs refactoring! Dependent tests If you want to test your database implementation you will need a database. If the database is unavailable, all database tests will fail. A developer with indepth knowledge of the application will probably quickly come to the conclusion that the database is unavailable if a hundred ...
Page: JigZaw FAQ
What is JigZaw? Is it a tool? Is a pattern? Is it Javaspecific? No it is not a tool, nor a pattern, nor is it a onesizefitsall solution. JigZaw is a test model and can be used as framework when designing and discussing tests. While the examples are mostly with Javarelated technology, there is nothing in JigZaw that is limited to Java ...
Page: JigZaw Intro
Presentation helt at Telenor 19. april 2010. Presentation is in Norwegian. Abstract Hvordan kan vi dekke vakuumet som oppstår mellom enhetstester og manuelle system integrasjonstester? Vi har vel alle brukt mock, stub og ...
Page: JigZaw Introduction
Introduction The Vmodel http://en.wikipedia.org/wiki/VModel(softwaredevelopment) is a popular approach to testing in a typical waterfall http://en.wikipedia.org/wiki/Waterfallmodel project. With the rising popularity of agile development methodologies like XP and Scrum, the Vmodel is no longer sufficient. We realized ...
Page: JigZaw Multidimensional Test Categorization
JigZaw Multidimensional Test Categorization Classic test categorization, inspired by the Vmodel, often use unit, integration, system and acceptance tests as test groups. The tests are hierarchical and overlapping. In JigZaw a multidimensional test categorization is used and a test can be given multiple ...
Page: JigZaw Presentations
Page: JigZaw principles applied to test maintenance
record; no problem is equal to another, there will always be multiple possible solutions to any problem and developers we always have different preferences with regards to how they write and maintain tests. (Yes, I assume you write tests since you have ...
Page: JigZaw results from system test
following information should be persisted for each system test: Timestamp start of test Timestamp end of test Metrics from the test quantitative Which applications? For each application what version? what configuration? which data? Base system Hardware ...
Page: JigZaw Test Levels
Vmodel http://en.wikipedia.org/wiki/VModel(softwaredevelopment) groups tests into unit tests, integration tests, system tests and acceptance tests. Unit and system tests are the same in JigZaw, but integration and acceptance tests are used as properties/aspects of tests, not as test levels ...
Page: JigZaw timeline
Testlevel vs Testproperties Unit Service Multiservice System System Integration Acceptance With Data (/) (/) (/) Without Data (/) (/) (/) (/) With Envionment (/) (/) (/) Without Environment (/) (/) (/) Fast (/) (/) (/) (/) Slow (/) (/) (/) Manual (/) (/) (/) LoadTest (/) ? (/) ? (/) Testproperties vs Timeline Before commit 10 min Hourly Daily Weekly ...
Page: JigZaw TimeLine 2
Shorter test phase TestDriven Development tries to get us to integrate automated tests into the early parts of the project. However, since developers doing TDD often encounter problems keeping their tests running and well managed throughout a project, Agile ...
Page: JigZaw Timeline 3
Motivation (hva er det vi prøver å løse) When do we run service tests? When to run integration tests? When to run Selenium tests? What do we do with manual tests? Howto (Hvordan ...
Page: JigZaw TODO
Challenges Mapping between requirements and tests. The mapping between requirements and tests can be made using the group concept in testng for testngbased tests. However, the test report generated with mavensurefireplugin doesn't include this information. See SUREFIRE472: Add support for view ...
Page: JigZaw Verktøy
Presentation held at Telenor 19th April 2010. Presentation is in Norwegian
Page: Jira - notes
TODO: Write more about Jira and VCS. Mention http://www.atlassian.com/software/crucible Fra Axel W.: Jeg mener man trenger å bruke doble fixversjoner, nå som Jira støtter det. Altså at sprint og ...
Page: Jira Planning, reporting and monitoring
Principles The Product owner http://www.mountaingoatsoftware.com/scrum/productowner owns the Jira project(s) and is responsible for maintaining a healthy product backlog Backlog. A developer should (ideally) be dedicated to one team (and thus a single sprint). Content GreenHopper Release planning Jira ...
Page: Jira usage principles
Developers, project managers, testers and system administrators all have different experience and opinions with regards to how issue trackers should be used. Following the DevOps mindset, it makes sense to try to bridge our differences and try to agree on some common ...
Page: JMeter configuration
http://coreplex.blogspot.com/2008/10/jmetervariablesvspropertiesvs.html User Defined Variables http://jakarta.apache.org/jmeter/usermanual/bestpractices.html#uservariables Functions http://jakarta.apache.org/jmeter/usermanual/functions.html JMeter Adding User Defined Variables http://www.exforsys.com/tutorials/jmeter/addinguserdefinedvariables.html
Page: JMeter pom.xml
xml version="1.0" encoding="UTF8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company.app1</groupId> <artifactId>systemtestapp1performance ...
Page: JMeter tutorial
Fix plugin Download Updated mavenjmeterplugin http://files.myopera.com/mateamargo/blog/mavenjmeterplugin.zip Add the changes described here http://wiki.apache.org/jakartajmeter/JMeterMavenPlugin to the updated version of the plugin downloaded earlier. Build and install. Set up the test project Install ...
Page: JMS Testing according to JigZaw
Introduction We will now present how to efficiently test JMS in a complex system. Unit tests Unit tests should not depend on environment, so unit tests should not depend on JMS. This means that any tests that need JMS should not be run ...
Page: JPA
Schemas Using a schema different than the users default schema should be avoided (especially if the schema is not a constant), since configuring different schemas in JPA can be tricky. However, in some scenarios JPA must take Schemas into consideration. When using ...
Page: JRuby
Just had to paste in this neat shootout: http://antoniocangiano.com/2008/12/09/thegreatrubyshootoutdecember2008/ Seems like the JRuby engine can acually compete somewhat with the standard implementations. Very flash
Page: JSW Daemon Parent POM Example
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company</groupId> <artifactId>companyparentjswdaemon</artifactId> <version>12SNAPSHOT</version> <packaging ...
Page: JSW Daemon Webapp Parent POM Example
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mavenv400.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company</groupId> <artifactId>companyparentjswdaemonwebapp</artifactId> <version>1SNAPSHOT</version> <packaging ...
Page: Just enough upfront design
upfront design is probably not a good idea. But what is just enough? See architecture:Antiagile architecture choices

K

Page: Kanban
Naked JustInTime planning. Kanban 看板 means "sign" in Japanese. It is used to describe manufacturing systems that are based on pull as opposed to push. For example: Dell only orders http://www.youtube.com/watch?v=EEhNkzdKyrw the parts from it supply chain ...
Page: Kjartans notes from Emils talk
Notes on Emil Eifrem Neo4J Check out the neo page http://neo4j.org/ for more details The death of rdbms CouchDB Simple DB BigTable Cassandra Graphs Your file system (Simlinks, shortcuts) Trends Trend 1 Data is getting ...

L

Page: Lean
Poppendiecks' Toyota inspired method We don't have a lot of content on this subject. Feel free to expand it! http://en.wikipedia.org/wiki/Leansoftwaredevelopment The Oslo Lean Meetup An Oslo community based on Lean: http://agile.meetup.com/31
Page: Levels of identity assurance
When using Whydah to log into a secure application or a protected system, one must first be assured that you are really who you say you are before you are granted access (doh..). Identity assurance is the process that verifies the identities of computer users ...
Page: License - the short version
License overview http://www.gnu.org/licenses/licenselist.html http://www.opensource.org/licenses/category http://www.debian.org/legal/licenses/ FAQ Q: If I have paid for development of this software, why should I pay for everything
Page: Lightning talks
Speaker Topic Comments Ola Nordmann Attach surface of HTML5 browsers Tor Martin Saur JavaScript i nettlesere for mobil Øyvind Aaraas IDE HTML5 support Kristoffer Rolf Deinoff Vær lat og utålmodig
Page: Lightweight alternatives to heavyweight technologies
JMS: ActiveMQ http://activemq.apache.org/ RDBMS: HSQLDB http://hsqldb.org/ , Apache Derby http://db.apache.org/derby/, Oracle TimesTen InMemory Database http://www.oracle.com/us/products/database/timesten/index.html? Inmem Mongo: Fongo https://github.com/fakemongo ...
Page: Lightweight Web Application Development
pages are supposed to be a place for sharing ideas on how we can quickly develop web applications. Some Jetty Notes From http://www.jroller.com/robwilliams/entry/ganymedeanotherbrokenpileof I prefer Jetty over WTP with Tomcat (which is what I ...
Page: Log Tools
Simple Logging Facade for Java (SLF4J) http://www.slf4j.org/ Logback http://logback.qos.ch/ Apache log4j http://logging.apache.org/log4j/ Java Util Logging http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html Apache Commonslogging http://commons.apache.org/logging ...
Page: Logback send error on email
pom.xml <properties> <slf4j.version>1.7.12</slf4j.version> <logback.version>1.1.1</logback.version> </properties> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <!Logging> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4japi</artifactId> <version>$ </version ...
Page: logback.xml example
configuration scan="true" scanPeriod="60 seconds"> <property name="LOGDIR" value="logs" /> <property name="AUDITLOGDIR" value="logs/audit" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d %thread %5level %logger %msg%n ...
Page: Logging
purpose of this page is to collect sound advice with regards to how to set up logging in large and possibly distributed systems. Purpose and responsibility Debug log Error log to trigger actions from operations. Error Handling And Exception Management Audit log ...
Page: Logging FAQ
What are the most popular log levels? Log4j Log Levels Log level Description FATAL The FATAL level designates very severe error events that will presumably lead the application to abort. ERROR The ERROR level designates error events that might ...
Page: Logging to Windows Event Log
Logback As of time of writing there does not appear to be a Logback appender capable of writing to the Windows Event log. The closest thing we have found is http://ykchee.blogspot.no/2012/09/logbacknteventlogappender.html. Log4j It appears Log4j 2.x and log4jna is the best approach. org.apache.log4j.nt.NTEventLogAppender http ...
Page: Logical Requirements to Persistence Products
Possible functional requirements Basic CRUD Search/queries Transactions Integration (for example use a RDBMS as integration strategy) Possible nonfunctional requirements Short rampup time Simple programming model / high level APIs. Testability HA/scalability shared ...

M

Page: Main class with embedded jetty
public class Main { private static final Logger log = LoggerFactory.getLogger(Main.class); private Server server; public static void main(String arguments) public void start() { ResourceHandler resourcehandler = new ResourceHandler(); resourcehandler.setDirectoriesListed(true); resourcehandler.setWelcomeFiles(new ...
Page: Make some choices
Some choices can have profound effect on the result of a development project. Some choices can/should/must be made early, others can be delayed. What to decide when requires experience and competence. Here is a list of topics with some suggestions ...
Page: Managing test data
Managing test data represents a major challenge in system development projects. Read Evolutionary Database Design http://www.martinfowler.com/articles/evodb.html from Fowler and Sadalage for some background material to the subject. Use of test data Test data is used ...
Page: Mapping between JigZaw test categorization and service categorization
Page: Mapping between requirements and tests
Singlepointofentry to requirements Assumption: Requirements are expressed as user stories User Stories (US). We want single point of entry to all requirements and we want a 11 mapping to the tests that ensure that they are fulfilled. A wiki makes the USs easily available and it is easy ...
Page: Mapping Jira Concepts to Scrum and version strategy
Projects ... introduction from BG main challenges (from HRA side view, applies mostly to MSB too) 1. Managing multiple projects 2. Release management 3. Reporting/ time tracking hra capacity plan... mapping projectst ...
Page: Maven and Spring
How to share configuration between Spring and Maven See Deploy to different environments runtime and configurationmanagementwithspring http://blog.arendsen.net/index.php/2005/03/12/configurationmanagementwithspring/ for examples on what's possible. Filtering in Maven Use filtering to easily set a different set of properties according to environment ...
Page: Maven Artifact Naming
artifactId The name of a libProject/product used in VCS should be reflected in the artifactId of the project. Additionally, it is common to prefix all modules (including the parent) in a multimodule project. E.g. commonsparent, commonslog, commonsfile. groupId Choosing a groupId is a bit trickier: groupId some ...
Page: Maven Assemble and Distribute Artifacts FAQ
Table of Contents How to assemble an application The official docs should be sufficient, see the mavenassemblyplugin http://maven.apache.org/plugins/mavenassemblyplugin/. If applicable, prefer to use the predefined descriptors. Example: How to create an executable jar with all runtime dependencies ...
Page: Maven Dependencies and Build Stability FAQ
Table of Contents How to handle libraries that cannot be found in any public Maven repository? Download the artifact to local storage. (e.g. /tmp/) Add the dependency to pom.xml and run mvn clean install. If the dependency cannot be found, the output will display which ...
Page: Maven Deploy and Release FAQ
Table of Contents How to ensure all submodules use the same version in a multimodule reactor? Set the autoVersionSubmodules to true. <plugin> <artifactId>mavenreleaseplugin</artifactId> <version>2.3.2</version> <configuration> <autoVersionSubmodules>true</autoVersionSubmodules> </configuration> </plugin> Docs: http://maven.apache.org ...
Page: Maven FAQ
purpose of this FAQ is to answer questions related to Maven that often come up in development projects. Links to official Maven documentation should be preferred to writing custom documentation. Quickstart Maven quickstart FAQ Organize Maven projects and modules Organize Maven ...
Page: Maven FAQ - backup
Howtos How to convert an Ant project to Maven? # Change your build file to work with a file structure that adheres to the Standard Directory Layout http://maven.apache.org/guides/introduction/introductiontothestandarddirectorylayout.html. # Ensure that your Ant tasks follows the Build lifecycle ...
Page: Maven FUQ
Maven Frequently Unanswered Questions How do I use mavenjaxbschemagenplugin (generate xsd from java) and jaxwsmavenplugin (generate java classes from WSDL) on java 6 on the same prosject? Current content of pom that does not work: <plugin> <groupId ...
Page: Maven Infrastructure
Introduction A prerequisite for efficient development is to choose good tools and use these tools to their full potential. The Java community has a comprehensive suite of tools to choose from; IDE, VCS, build tools, CI server and Build Artifact Repository Manager. It is common ...
Page: Maven Other FAQ
How to compile C code with Maven? Alternative 1: Use execmavenplugin http://mojo.codehaus.org/execmavenplugin/ to call a make script. Alternative 2: Use nativemavenplugin http://mojo.codehaus.org/mavennative/nativemavenplugin/ to call the compiler directly. TODO Paste pom examples ...
Page: Maven processes and maturity
Skill level from developer view Level 1 use existing What is Maven? https://maven.apache.org/guides/gettingstarted/index.html#WhatisMaven Build lifecycle https://maven.apache.org/guides/introduction/introductiontothelifecycle.html vs targets/tasks Standard Directory Layout ...
Page: Maven Project Terminology
trunk A location in the code repository bordering tags and branches project A maven project. If there's a pom, it's a project pom Project Object Model. The metainformation for project parent pom/project A project of type 'pom' being referenced as a parent from another project ...
Page: Maven quick-start FAQ
Table of Contents What does "Maven" mean? A maven (also mavin or mayvin) is a trusted expert in a particular field, who seeks to pass his or her knowledge on to others. (From: Wikipedia http://en.wikipedia.org/wiki/Maven) How to learn Maven ...
Page: Maven Repository Management FAQ
Table of Contents How to use a build artifact repository manager? See Repository Management http://maven.apache.org/repositorymanagement.html for a description of the concept. See also repository manager http://www.sonatype.com/book/reference/repositorymanager.html# (Nexus centric). The maven repository can ...
Page: Maven Test FAQ
Table of Contents Which versions of Surefire and TestNG work well together? We recommend Surefire 2.4 and TestNG 5.7 or 5.8. This combination has proven to work well. <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>mavensurefireplugin</artifactId ...
Page: Maven Webstart - JNLP DownloadServlet
Plugin setup <plugin> <plugin> <groupId>org.codehaus.mojo.webstart</groupId> <artifactId>webstartmavenplugin</artifactId> <version>1.0alpha2</version> <executions> <execution> <phase>processresources</phase> <goals> <goal>jnlpdownloadservlet</goal> </goals> </execution> </executions> <configuration> <outputDirectoryName>applications</outputDirectoryName> <jnlpFiles ...
Page: Maven Webstart - static website
Contents Example template.vm In src/main/jnlp/template.vm: <?xml version="1.0" encoding="utf8"?> <jnlp spec="1.0" codebase="http://objectware.no/webstart/$project.ArtifactId/" href="$outputFile"> <information> <title>$project.Name $project.Version</title> <vendor>$project.Organization.Name</vendor ...
Page: Maven-based Software Release
Ensure all artifacts adhere to the standards set by Maven Infrastructure. Prepare release notes Issue tracking in the Enterprise Release Maven Deploy and Release FAQ all jar projects Release Maven Deploy and Release FAQ all deployment units ...
Page: Maximize value of testing
most realworld situations there is a limited amount of money and time available, and the people with the money want to maximize Return on Investment (ROI). Test is about reducing risk. The amount of testing can thus be rephrased as what risks are acceptable and what is the cheapest approach ...
Page: Measurements and communication
JigZaw is about risk reduction. It is important to measure progress to be able to adjust and improve PDCA http://en.wikipedia.org/wiki/PDCA. Indicators Number of tests Code coverage using Surefire, TestNG, Jacoco and Sonar Test coverage Code coverage using ...
Page: Messaging in the cloud
Use cloud vendor's messaging solutions Amazon Simple Queue Service (SQS) http://aws.amazon.com/documentation/sqs/ Only free within a region, otherwise internet rates apply. Rackspace Cloud Queues http://www.rackspace.com/cloud/queues/ Tight ...
Page: Methods and Methodologies
Below we have gathered a selection of the most popular agile methodologies
Page: Microservices-scalable Front Door
Netty and Rest combo RestExpress https://github.com/RestExpress/RestExpress RestExpress archetype https://github.com/RestExpress/RestExpressArchetype mvn archetype:generate DarchetypeGroupId=com.strategicgains.archetype DarchetypeArtifactId=restexpressminimal DarchetypeVersion=1.17
Page: MongoDB migration
https://github.com/secondmarket/mongeez https://github.com/secondmarket/mongeez/wiki/Howtousemongeez Tip: Prefer js files over XML. https://github.com/EqualExperts/Midas
Page: Monitoring
Implementation/Product Type Description Java Service Wrapper (JSW) http://wrapper.tanukisoftware.org/doc/english/introduction.html#reliability JVM The Wrapper monitors a JVM process and automatically restarts it if it that the JVM has crashed or hung. This process takes just a few seconds ...
Page: MS SQL Server
Drop unique constraint http://stackoverflow.com/questions/3001103/ineedtoremoveauniqueconstraintsthatidontknowthenamesof DECLARE @tablename nvarchar(256) DECLARE @colname nvarchar(256) DECLARE @Command nvarchar(1000) set your table and column name here: SET @tablename = N'tableName' SET @colname = N'columnName ...
Page: Multi-environment Configuration and Deployment Strategy
WORK IN PROGRESS! Erik's notes: Document strategy for managing multiple environments. Use JNLP for deployment in test environments to reduce deployment time to virtually nothing. Deploy application with Java Network Launching Protocol (JNLP) Use JAU:ConfigService to make ...
Page: Multi-module project with inheritance
About modularization Modularization is about how you structure code. Structure makes it easier to understand and maneuver around in the project and makes it easier for a team to work in parallel. Steps that can be made to modularize are: # Grouping of classes, interfaces and packages # Easy, underneath ...
Page: Multi-module project with shared release cycle only
rare occasions you have a number of standalone artifacts that have the same release cycle. If these projects are always releases together it is possible to add them as modules to a multimodule Maven project. This approach differs from the builderpom in three ways # All projects ...

N

Page: Navigation
Main components architecture:Agile and Software Architecture Agile Mindset and Methodology Strategies Tactics Popular Pieces JigZaw Maven Infrastructure Installation and Deployment Automation Maven FAQ Test Frameworks and Tools Lightweight alternatives to heavyweight technologies Resources Presentation ...
Page: Nexus configuration tips
Use case: Open repositories and secured repositories in the same Nexus installation. See also https://support.sonatype.com/entries/24901127SonatypeNexusSecurityCookbook. # Set up anonymous user ## Remove access for the anonymous user to all repositories. ## Create privileges for releases and snapshots repositories. ## Create ...

O

Page: Offline detection
Page: One-click deploy
TODO: Bård can you write a description and requirements/wishes/goals
Page: Only Service Tests example
TODO: Geir Key words: Almost all functionality is CRUD in the DAlayer. Really thin service layer and no gui. Services exposed with SOAP A test for the service has almost 100% overlapping with a test of the DAfunctionality. It does not make sense to test the same ...
Page: Open Source JMS Server Comparison
many Open Source JMS (Java Message Service) Implementations http://www.manageability.org/blog/stuff/opensourcejmsjava, but we will start with evaluating ActiveMQ http://activemq.codehaus.org/ and JBossMessaging http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging
Page: Organize Maven projects and modules FAQ
Table of Contents What is and where can I find the Maven SuperPOM? All Maven projects implicitly inherit from the Maven super pom. Read more on the subject in Introduction to the pom, SuperPOM http://maven.apache.org/guides/introduction/introductiontothepom.html#SuperPOM ...
Page: Organizing Maven projects
Guidelines There are many types of Maven project relationships http://www.sonatype.com/books/mavenbook/reference/pomrelationshipssectprojectrelationships.html and many ways or organizing Maven projects. The purpose of this page is to explain some guidelines and setups that we have come to value. The main guidelines can ...
Page: Other
Logging Error Handling And Exception Management How to use lightweight software to speed of development smidigtonull:Lightweight alternatives to heavyweight technologies
Page: Other test tools
Tool Type Opinions and notes FIT http://fit.c2.com/ Requirement/test mapper Very popular tool. Concordian http://www.concordion.org/ Requirement/testmapper Like FIT, but better for Java JBehave http://jbehave.org/ Requirement/testmapper Java powered. Follows ...
Page: Output Encoding
Output encoding in webapplications

P

Page: Package by feature
Package by layer is widely used in the Java community. Here we have gathered some resources which explain why package by feature may be a good idea. Why package by feature? How changing Java package names transformed my ...
Page: Participant bio and questionaire
Bio Experience Skill area Level Details/comments JavaScript experience: HTML 4 experience: XHTML experience: Favourite JavaScript libraries: Best frontend resource and reference websites: My dream frontend toolbox: Used HTML5 JavaScript APIs ...
Page: Per-deployment projects
What is it? This approach is aimed at what I like to call product lines. I.e., the goal is to deliver multiple different products with similar functionality. The general idea is to write libraries that are easy to integrate and reuse. Each product can then depend on any subset ...
Page: Performance test
See Wikipedia: Software performance testing http://en.wikipedia.org/wiki/Softwareperformancetesting for an introduction to the subject. This page is about discussing different strategies and their pros and cons. Run a browser, Selenium 2 Selenium 2 (with webdriver) The grinder can be used for both ...
Page: Performance test tools
Tool Type Opinions and notes JMeter http://jakarta.apache.org/jmeter/ Load test functional behavior and measure performance Maven plugin: chronos http://mojo.codehaus.org/chronosmavenplugin/ The Grinder http://grinder.sourceforge.net/ load testing framework that makes it easy to run a distributed ...
Page: Persistence
Persistence Product Overview Logical Requirements to Persistence Products
Page: Persistence Product Overview
All products in this overview support persistence, but what other responsibility and properties do they have? Which are important enough to group by? TODO: Split "Scalable" into how they scale OR just use () and ()() and (x) to illustrate differences? E.g. need to show that while Oracle ...
Page: Planning Poker
Do you plan poker? Planning poker is a session where the team gets together and puts some estimates on the backlog. The goal is to rip out hidden complexity (one team member may know details that make some backlog items ...
Page: Platform dependent artifacts
Example with JMSclient While we strive to make our artifacts platform independent, this is not always possible. The java.naming.factory.initialproperty needed by JndiTemplate http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/jndi/JndiTemplate.html requires that the given implementation of ContextFactory is present ...
Page: pom.xml yeoman and embedded jetty
xml version="1.0" encoding="UTF8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company</groupId> <artifactId>admingui ...
Page: Pomodoro
Personal micro time boxing. From http://www.xpday.net/Xpday2007/session/PomodoroTechnique.html We work in small, tightly focused time boxes of 25 minutes, followed by a 5 minutes pause. Each of these time boxes is called a "pomodoro", (Italian for "tomato") because ...
Page: Potentially Excellent books
Tips fra Eira Brunstad https://twitter.com/eirabrunstad The Lean Entrepreneur by Eric Ries How we design and manage work by David Joyce The Lean Brand https://publishizer.com/theleanbrand
Page: Practices
Page: Pragmatic Programming
Agile does not mean idealistic or dogmatic. It can be argued whether the term pragmatic is a useful one. If we say pragmatism is the doctrine that practical consequences are the criteria of knowledge and meaning and value (google result), then pragmatism is synonymous to agile. Nonetheless, pragmatic is in the title ...
Page: Presentation Logic Controller
How to reduce the impact on testability incurred by generated GUI code When creating a Graphical User Interface (GUI) in Java it is common to use GUI builder tools like e.g. Matisse. These tools generate code that is difficult to change and debug without ...
Page: Presentations
Page: Presentations and Publications
Title Where Who When Comment Agile 2.0 in the real world (TBA) JavaZone 09 http://www.javazone.no/ Erik Drolshammer 2009.09.092009.09.10 proposal! How automated deployment can reduce cost, risk and complexity Presentations and Publications2009.04.15C1Northautomated.deployment.pdf CommunityOne North ...
Page: Presenting Scrum for project managers
Some links I got from Tom Gilb. Wlil process and format this a bit later. Ken Schwaber Google video scrum: http://video.google.com/videoplay?docid=7230144396191025011 Evensen: http://www.agilethinkers.com/2008/05/tomgilbane.html Shriver: http://www.agilethinkers.com ...
Page: Product specific solutions
focus on how to solve problems with different products. WebSphere WebSphere deployment from a CI environment
Page: Program detailed - Draft 01
Hi everybody Here is a more detailed description of the program we want to run trough at the HTML5 camp. Bruce; you have got a big part of this earlier so maybe a bit of a repeat for you. I will try to cut it short. You ...
Page: Programming Ethics
page is a loose collection of notes, vaguely based on Robert C. Martin's talks about software craftmanship (there also a book about it http://www.mcbreen.ab.ca/SoftwareCraftsmanship/). The idea is that we find some common ethichs that are industrywide, and can help us reinforce ...
Page: Project Inheritance
Introduction Project inheritance is about sharing POM configuration between projects. See 9.5.3. Project Inheritance http://www.sonatype.com/books/mavenbook/reference/pomrelationshipssectprojectinheritance.html for a description of the concept. There will always be a tradeoff between the DRY principle http://en.wikipedia.org/wiki/Don ...
Page: Project Model and Contracts
Agile Contracts, Mary Poppendieck http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/4222653/4222654/04222665.pdf?isnumber=4222654&prod=CNF&arnumber=4222665&arSt=25&ared=25&arAuthor=Poppendieck%2CMary buy article from IEEE Agile contracts http://alistair.cockburn.us ...
Page: Project Structure for Persistence Logic
Persistence logic in a separate Maven project We do not want to have persistence logic spread throughout the application, since this would violate basic OO principles like separation of concerns. In a Maven world we then have two options a) a separate ...
Page: Pull configuration from Central Repo
continuous deployment the application should find it's configuration from a central repo. We have not found any tools, or framework for this thus far. This OpenSource tool will fill this gap. Basic functionality Prerequisite The scenario x number of servers. Started automatically ...
Page: Pull deployment script for Windows
Prerequisites Application use Java Service Wrapper. Packaged as zip file Download script pseudo code # Input version to deploy. Latest = "latest" Command line input windows # Find latest version in repository Find latest version in NEXUS ...
Page: Pull-based Continuous Delivery for Java applications
Prerequisite Maven Infrastructure How Cron job to upgrade application (if changed) every 530 minutes. Cron job triggers a script which will download and upgrade the application if there is a newer snapshot available. If application version is set to a release version and this version is already ...
Page: Pull-based Continuous Delivery with Java and Docker
Why Continuous Delivery? The "holy grail" of continous delivery is to balance the effort in productivity and quality to ensure that all efforts in software development is headed in the right direction. Continuous Delivery: "\... keep producing valuable software in short cycles and ensure that the software can ...

Q

Page: Questions and Answers
Taken from discussion topics after October 2. presentation In lack of a better place to put the discussion :) Test data Q: How should test data best be stored? Excel files, xml, property files? Q: How partitioned ...
Page: Quotes on Complexity
Quality is never an accident; it is always the result of high intention, sincere effort, intelligent direction and skillful execution; it represents the wise choice of many alternatives. William A. Foster http://www.answers.com/topic/williamafoster  Fools ignore complexity. Pragmatists suffer ...

R

Page: RDBMS testing according to JigZaw
Introduction Relational databases are and have been highly popular for a long time. This page is about how to test integration with RDBMSs when they are used for persistence and queries. Testing against the SQL standard The database is considered (at least in this context) to be external to the software under ...
Page: Recommended directory structure using Subversion and Maven
Maven can be configured to use almost any directory structure and so can the scm plugin. However, in the spirit of convention over configuration we strongly recommend that you follow the trunk, tags, branches convention when using Subversion. See ...
Page: Recommended reading
Litt startpunkter for å skjønne litt av det vi driver med.. Ledelse, metode, styring Management 3.0: Leading Agile Developers, Developing Agile http://www.amazon.com/Management30DevelopersDevelopingebook/dp/B004ISL6JY/ref=pdsimkstore15 Metode: Kontinuerlig leveranse/kontinuerlig produksjon Continuous ...
Page: Record-and-playback test automation
When to apply recordandplayback test automation? Answer: Never! http://testobsessed.com/2010/07/randomthoughtsonrecordandplayback/ Okey, only almost true. Disadvantages: Test data and test logic tightly coupled. Expensive/time consuming to keep the tests updated. "Advantages": Nonprogrammers can ...
Page: Relational Databases
See also Database versioning Jetty with prepopulated local HSQLDB Deploy to different environments runtime Change environment at buildtime using profiles Managing test data Testing DB scripts Modeling tools SQuirreL http://www.squirrelsql.org/ Freeware. Reverse ...
Page: Release process and agility
Reasons for wanting frequent deployments: TTM Time to Market Reduced risk Reduced cost Happy customers :) Sprints, system test, acceptance test/deploy to production TODO: KIR figur som viser sprinter, systemtestsykler og deploysykler. Related ...
Page: Release Profile
profile> <id>alljars</id> <activation> <property> <name>allJars</name> <value>true</value> </property> </activation> <build> <plugins> <plugin> <inherited>true</inherited> <groupId>org.apache.maven.plugins</groupId> <artifactId>mavensourceplugin</artifactId> <executions> <execution> <id>attachsources ...
Page: Repository Management
Repository Manager Maven artifacts can be downloaded from multiple sources: Central repository (repo1) Company repository (shared code) Project repository (project specific code) Other external repository (3rd party) Other external code not in repository ...
Page: Requirement tests vs code tests
Bjørn Bjerkli has written an interesting blog post with the title "Testing code or testing requirements". Unfortunately, the hyperlink doesn't seem to work properly, so we have to link to the comment page https://www.blogger.com/comment.g?blogID=29135008 ...
Page: Resources
collection of resources from the old "Smidig 2.0" catalogue. It's contents could probably be divided and moved elsewhere. Very, very good books See Excellent Books. Advanced testing Continuous Integration Prerelease Testing Best Practices thread http ...
Page: Resources and required reading
Required reading Warmup We're entering the decade of the developer http://blogs.techrepublic.com.com/hiner/?p=6020 JS dev's better get their shit together! great blog post on the state of clientside development http://blog.rebeccamurphey.com/onjquerylargeapplications Hold off on deploying ...
Page: REST
RESTful Queue
Page: RESTful authentication
RESTful web service is stateless, do not use HTTP sessions and will therefore reauthenticate on every request. Authentication should only be done by a request to the correct URI and all other requests should simply fail with a 401 UNAUTHORIZED status code if the client ...
Page: RESTful Queue
CollectionJSON http://amundsen.com/mediatypes/collection/ https://github.com/hamnis/jsoncollection Atom Publishing Protocol http://bitworking.org/projects/atom/rfc5023.html
Page: RestoreDefaultState - Oracle database
Drivers and rationale When using an Oracle database there are many ways and tools to create, delete and maintain database structure and data. Here we will describe what we have learned and why we recommend a certain setup. We need ...
Page: Retrospectives
postiteration meeting where the team seeks improvement. Try/Stop/Keep Reserve at least an hour for this meeting (depending on length of iteration). All team members are encouraged to suggest changes to the current set of Practices employed by the team. The changes are categorized ...
Page: Risk Management
Den risikable risikomatrisen Innlegg i Computerworld Norge nr. 29, fredag 5. september 2008 av Trond Wingård. TODO: Lenke 20070205 6lightning talk risikomatrise http://files.meetup.com/169191/20070205%206lightning%20talk%20risikomatrise.xls traditional risk ...
Page: Robust smidig utvikling - når resultater er viktigere enn religion
Tittel: Robust smidig utvikling når resultater er viktigere enn religion Foredragsholder: Totto Lyntale på DND Software 2009 oppvarming før paneldebatten "SCRUM Ti ganger raskere eller kollektiv avstraffelse
Page: Roles in agile testing
purpose of this page is to describe different roles and responsibilities in JigZaw. This may or may not be appropriate for agile development in general. Note that we describe roles and responsibilities, not positions or titles. The team is responsible for producing working software. It is as simple as that. How and who does not really ...
Page: RPM Deployment with Java Service Wrapper
Requirements Artifact must be deployed to a Maven repository. See Maven Infrastructure for details. Jar project is assumed and mainClass must be set up. (Have not tried other artifact types.) Artifact does not need buildtime configuration. How Generate Java ...
Page: RPM-based Installation
Motivation Why Package Management with RPM? http://www.dedicatedserverhosting.com/2008/11/12/whypackagemanagementwithrpm/ Table of Contents
Page: rpm-maven-plugin with multiple modules
build RPM package from your java project (using Maven), the following maven plugin should be added to your POM file: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpmmavenplugin</artifactId> <version>2.0beta1</version> </plugin> Using RPM ...
Page: Rules for Developing Robust Programs with Java Exceptions
Exceptions are designed for exceptional situations. Control of flow must be handled programmaticaly, prohibit your exceptions this luxury. Possible emergencies For each module, identify possible emergencies. Define how each module should respond to an undesired event. Generic ...

S

Page: Sandbox
Parent page to group initiatives still in the sandbox. I.e., the content is still unstructured, and the ideas are not easy to grasp
Page: Scaled Agile Framework
Patterns for implementing LeanAgile software and systems development at an enterprise scale. Website: Scaled agile framework http://www.scaledagileframework.com
Page: Scratch area
Secondary benefits: More content and more consistent content in the Agile 2.0 wiki space A list of unsolved "pains" that we should know how to solve Code examples/patches to ease some known pains. Some starting questions Deployment ...
Page: Script to download and unpack - Windows
DeployFromNexus.bat @Echo Off && setlocal rem Set working dir to local dir PUSHD "%dp0" rem rem Script to download an artifact from Nexus. Then unpack, and replace existing version of the artifact rem rem Usge: DeployFromNexus repogroup ...
Page: Scrum
widely popular king of the hill. Scrum is the ruling mainstream agile methodology, probably with XP right behind it. Most agile projects probably use some mix of these. Scrum is idiotsafe, meaning it is sure to attract idiots. The theory of Scrum is so simple ...
Page: Scrumworks tips
How avoid weekends and vacations to "pollute" the burn down graph? One possible solution is to have a backlog item in the sprint which contains vacations and weekends. Example: Assumtions for the example: 2 weeks long sprint (10 working days) Average ...
Page: Security
intentions for this space is to highlight problems, solutions and what to (not) do. Attackers This section will contain a short description of the types of attackers out there. Attacks This section will describe known attacks and their enablers. Strategy concepts and best practices This section will examine the broader concepts of security ...
Page: Security recommendations for web application frameworks
Hvilke taglibs, rammeverk, plugins, biblioteker kan må bruke for å få sikkerhet på som default, ikke motsatt? Noen spesielle man bør unngå? Hva konkret bør man passe på når man bruker ...
Page: Security Resources
Links to OWASP, CC, papers WSsecurity, Liberty osv
Page: Selenium
About Selenium http://seleniumhq.org/ seems to have become the defacto web testing tool, with now WebDriver merging into the project. Resources Maven Selenium Plugin http://mojo.codehaus.org/seleniummavenplugin/ Selenium user meetup @ Google mars 2008 http://video.google.com ...
Page: Sequence, flow or dispatcher test
goal of a sequence/flow test is to verify that a service calls methods in the expected sequence. The actual processing within each step is not important and the service can thus be stubbed. The same concept can also be used to test typical dispatcher logic
Page: Setup for Selenium on CI using Maven, Jetty and JUnit
Note!The setup is version dependent! (not for JUnit) Junit: <dependencies> ... <! Junit > <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.5</version> <scope>test</scope> </dependency> <! Selenium > <dependency> <groupId>org.openqa.selenium.clientdrivers</groupId> <artifactId>seleniumjavaclientdriver</artifactId ...
Page: Shutting down via JMX
Exampled attached as Erik wanted
Page: Simple property strategy
Principles # Default configuration bundled with the application (e.g. inside jar file) # Possible to override properties. It should not necessary to override all properties like Spring's PropertyPlaceholderConfigurer require. PropertyOverrideConfigurer may be used, but the restrictions on key naming is an disadvantage. # All ...
Page: Single-responsibility principle
Singleresponsibility principle (SRP) http://www.objectmentor.com/resources/articles/srp.pdf: A test should have only one reason to change. Test code (as well as regular code) is then easier to refactor and easier to maintain. These attributes are by themselves enticing. Further, tests should ...
Page: Skyggedrift
Run a copy of the production data in a test environment. Verify variants do not break the system Test performance
Page: Slf4j and logback for error and debug logging
Why choose Slf4j logback over any other logging framework MarkerFilter to implement categorization of logging TurboFilter http://logback.qos.ch/manual/filters.html#TurboFilter MarkerFilter http://logback.qos.ch/xref/ch/qos/logback/classic/turbo/MarkerFilter.html Demo ...
Page: Smidig20AtSmidig2007
Abstract Contradiction in terms how does Agile cope with versioning? Agenda Need for speed Smidig har gitt effektiv utvikling, men henger resten av verden med på det økte tempoet? What we need Utfordringene ...
Page: Smoother Development with Maven FAQ
Table of Contents How to find which jar a class belongs to jarFinder http://www.jarfinder.com/ or javacio.us/jarhoo http://javacio.us/jarhoo How to find a pom snippet for a given jar Places to start: MVNBrowser http://www.mvnbrowser.com/ Sonatype Nexus http ...
Page: Software Craftsmanship
External resources Manifesto Software Craftsmanship http://manifesto.softwarecraftsmanship.org/ InfoQ: Software Craftsmanship Manifesto: A Call to Arms http://www.infoq.com/news/2009/03/softwarecraftsmanship Uncle Bob's post on Master Craftsman Teams http://blog.objectmentor.com/articles/2009/04/01/mastercraftsmanteams My Take on Master Craftsman ...
Page: Spring TestContext Framework
Spring 2.5 introduced the Spring TestContext Framework. http://static.springframework.org/spring/docs/2.5.x/changelog.txt tfnico blogged about some of the basic features (and motivations) here: http://tfnico.blogspot.com/2007/09/springtextcontextframework.html A quick powerpoint presenting the framework is attached here ...
Page: Sprint planning
Resources Sprint Planning Meeting http://www.mountaingoatsoftware.com/sprintplanningmeeting Rules for the sprint planning meeting http://abrachan.wordpress.com/workshops/scrumdistilledworkshopstructure/scrum/rulesforthespintplanningmeeting/ !sprint.png
Page: SQL
MS SQL Server
Page: SSOTicket
onetime handovertoken from one application to another to pass along a loggedon user between applications SSO
Page: Stage testing
concept of stages Having one or more environments that are identical to production. It is a very common pattern because it allows processes of QA and testing that does not affect production data. Typical stages Development stage Test stage Preproduction stage Different stages ...
Page: Staged Spring
Features () Annotation based () A clean solution to the problem of how to use different beans in different environments. () Many of the more complex other tactics can be omitted. () Requires Spring 2.5 () How are usernames and passwords managed? () Not all of the other tactics can ...
Page: Standalone angular app with embedded jetty
Rationale for strategy Release: build a binary archive and deploy it to a Maven artifact repository (e.g. Nexus). Deploy to production: download artifact, unpack and move to correct location, reload web server (e.g. Apache, NginX or Jetty) It is (at least) three ways ...
Page: Standard security measures
Describe validation, encoding, user provisioning, security roles, error handling, session handling, CSRF protection, audit trails
Page: Start a new JVM from Java
following code shows how to use the ProcessBuilder to start a new operating system process and load a new JVM in that process. This can be used to set up inmemory integration testing. E.g. fire up an ActiveMQ JMS server in a separate ...
Page: Start Jetty application with stubbed services
Start the application, but override what services are initialized Inspiration: https://github.com/ivarconr/jersey2spring3webapp Main class public Main(int jettyPort) public void start() throws Exception { WebAppContext context = new WebAppContext(); log.debug("Start Jetty using resourcebase ...
Page: States of a distributed application
Remember the The Eight Fallacies of Distributed Computing http://michael.toren.net/mirrors/eightfallaciesofdistributedcomputing/ Viewpoint: System Administrator This a simplified state diagram of what we want. A Failed state should probably be added and ideally it should also be possible to recover and go back ...
Page: Stigs Neo4J notes
days of web3.0 with hot topics as "Semantic Web", "RDF", "graphs" and that stuff. At the GeekCruise, we got a short introduction to Neo4J, a network/graph database that is supposed to provide Web3.0, Semantic Web and RDF greatness. Its great advantage is of some kinds ...
Page: Strategies
strategy is a collection of tactics Tactics combined with patterns and/or instructions for how to combine them
Page: Strategy concepts and best practices
Describe concepts like defence in depth, whitelisting, risk management, assurance etc. Whitelisting versus blacklisting You should always define what you will accept, not what you won't accept. The latter strategy can not be exhaustive and it is easy to make ...
Page: Structuring packages and contexts
TODO: Move this into architecture/code somewhere. Use of packages Spring Application Context Have separate files for each function per package. A view which combines multiple domain objects needs the appContext files for both, plus one for the combination
Page: Synchronization between Maven repository and RPM repository
We assume that the rpm repository can be set up on the same host as the Maven repository. If this is not the case, use rsync instead of cp in the script below and use ssh to execute the createrepo command on the remote host. Export files From JCRbased repositories ...
Page: SysAdmin Production Toolbox
Probably a good idea to create a (web) portal to have one central point of access to these tools. Endtoend "shallow ping" through the system, service level Front end for centralized Logging Monitoring of the system and services Monitoring the workflow/value chain ...
Page: SysAdmin Test Environment Toolbox
SQLHelper restoreDefaultState (create schema and insert initial product data
Page: System release archive
Use a separate Maven project with pom packaging. Ideally this should be zip, tar.bz2, tar.gz. List the different deployment units. List the relevant site artifacts. Include an html export from confluence. Ideally this export should be automated by maven ...
Page: System Release Standardization
Introduction There are basically two approaches to releasing a system: # Release all components and their corresponding documentation individually. Component release for short. # Release all components and the documentation for the system as one unit. System release for short. Each has its advantages and disadvantages ...
Page: System Test - Level of automation
Introduction There are in general three main system test categories; automated, semiautomated and manual. The distribution between test types may vary, but in any nontrivial system there will always be some parts of the system which will never be automatically tested. Thus, while we ...
Page: System Test - Logical Overview
System tests that follow this setup can be extended to function as Factory Acceptance Tests! Deployment made easy Install all deployment units ssh app1Machine > Use ssh to log into the machine you want to run your app rpm ivh ...

T

Page: Tactics
Intro Tactics are the smallest pieces of the puzzle, and may be any combination of: Technology Best practises Patterns Design Architecture Library, tools and frameworks Skills
Page: Team 1
Morgan Kjølerbakken Oddbjørn Thea Christine Steen Robin Stig Nicolaisen
Page: Team 2
Espen Dalløkken, http://github.com/leftieFriele/h5oteam2 Helge Thomas Hellerud Jerome Lacoste, http://github.com/lacostej/h5oteam2 Thomas Finneid Målet learning > delivery learn by delivering local (no server for all) Lage en blog editor uten noe admin ...
Page: Team 3
Anders Sandberg Nordbø Øyvind Aaraas Hans Ole Kristoffer Tobias
Page: Team 4
Rikard Halvorsen Ivar Conradi Østhus Arve Systad km Tor Martin Code repository We are using Github as a repository for our code. Everyone has read access. The main HTML is located in dashboard.html, and the scripts of interest are located in the scriptsfolder ...
Page: Team 5
Tux Asbjørn Goa Egil Jone Lura Aud Marie
Page: Team 6
Anton Svein Arild Gunnar Trygve Lie Viggo Normann Gregers
Page: Tech stack for modern frontend
Context Set up a basic webapp using modern tools. Tech stack: Grunt, Bower, Angular Generate skeleton with Yeoman. Install software Install node.js http://nodejs.org/download/ Setup Yeoman http://yeoman.io/learning/ npm install ...
Page: Technical site and reporting
Technical Site and reporting Reporting is implemented by "Plugins which generate reports, are configured as reports in the POM and run under the site generation lifecycle.". The tables below show some of the most popular of these plugins. From the official plugin overview http://maven.apache.org ...
Page: Technology for Distributed Contexts
Associative (i.e. no ordering constraints) Commutative (also abt removing constraints) Idempotent (enabling atleastonce delivery) Distributed. Old ACID: predictive & accurate. New ACID: flexible & redundant. Thanks @emileifrem Learning resources Seattle Scalability Conference: Amazon ...
Page: Terminology
Test terminology Mock Stub Simulator
Page: Test
Everyone agrees that unit tests are important. The agile movement also preaches that tests are documentation. And what about various levels of integrationtests? Another dimension is the execution speed of tests. Until now, you have had to pick one or the other..... not anymore
Page: Test Frameworks and Tools
Codecentric test tools Performance test tools Web tests Other test tools
Page: Test groups and phases
Part 3 Group management Annotating tests with one or more groups makes it possible to have test runs that include group A and B, but excludes tests from group C. It is technically possible to use any number of groups, but we recommend ...
Page: Test nomenclature and classification
Part 1 Intro The Vmodel http://en.wikipedia.org/wiki/VModel(softwaredevelopment) is a popular approach to testing in a typical waterfall http://en.wikipedia.org/wiki/Waterfallmodel project. With the rising popularity of agile development methodologies like XP and Scrum, the Vmodel is no longer sufficient ...
Page: Test pl_sql - old
Description Stored procedure which reads from n input tables og put the results to m output tables. Test written in plain Java running inprocess. Primary test aspect: Automated regression test Prerequisites A user with empty ...
Page: Test strategy for Oracle PL_SQL
Description Oracle stored procedure (or other PLSQL code) which reads from n input tables og put the results to m output tables. Test written in plain Java running inprocess. Primary test aspect: Automated regression ...
Page: Test structure
refactoring support in most IDEs, most code refactorings are easy and lowrisk changes. However, not everything should be subject to frequent refactorings. A public API is a typical example of an interface we want to be stable and may thus be considered a {}refactorization boundary ...
Page: Test structure and Single-Responsibility Principle
Part 2 One and only one reason to change Singleresponsibility principle (SRP) http://www.objectmentor.com/resources/articles/srp.pdf: A test should have only one reason to change. Test code (as well as regular code) is then easier to refactor and easier ...
Page: Test-Driven Development
ever more popular testfirst approach. A widely popular programming rythm where you write failing tests before implementing/changing the functionality of functional code. Rules (as roughly gathered from Uncle Bob http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd) # Never ...
Page: Testing Data Bound components
Mapping between different types of tests and JigZaw categorization Test the query logic No data (or more precisely, known data), no environment (inmemory database) => tests should be fast enough to run before checkin. Responsibility: CRUD, best case (with empty ...
Page: Testing DB scripts
All code needs to be tested, even the database scripts. This page contains practices and suggestions for testing database artifacts. This PDF book http://www.informit.com/store/product.aspx?isbn=032150206X seems to contain very useful practices related to this subject, also ...
Page: TestNG
What functionality makes TestNG a better choice than JUnit 3/4? Groups Runtime configuration of which tests to run Dependent methods Flexible support for datadriven testing with DataProviders Support for testing with multiple threads How to swap between tests ...
Page: TestNG run only database tests example
Annotation @Test(groups = "databaseproductA") TestNG config <test name="testngenvdb" verbose="3"> <groups> <run> <exclude name="disabled" /> <include name="databaseproductA" /> </run> </groups> <packages> <package name="com.company.producta."/> </packages> </test
Page: TestNG vs JUnit
JUnit 4.12 Con: Categories is still experimental / inmature. Con: Asserts have parameters in the "wrong" order Pro: Use annotations and marker interfaces > better refactoring support. Pro: JUnit is more popular (I think) than TestNG, so ...
Page: Text compare in Windows
http://www.computerhope.com/issues/ch001102.htm
Page: The Diary
Write and share a few notes on what you do each day. Allow your team to write their daily doings on a wiki, one page for each team member. Here's an example page: 22nd of October 2008 Worked on the login ...
Page: The Drag and Drop API
Page: The intrusiveness blacklist
Framework Problem it can solve Alternative approach Comment Spring Hateoas http://projects.spring.io/springhateoas/ Simplify adding links to RESTful resources Erlend's https://github.com/httpcache4j/uribuilder
Page: The new form elements, attributes and input validation.
Page: The new semantic elements (section, article, nav etc..).
Basics <!doctype html> <html lang=en> <meta chartype=utf8> <title>Hello Oslo</title> <p>Yo! </html> Points http://html5.validator.no HTML5 validator Without <body> tag, IE won't style (render CSS) (Not needed ...
Page: The Planning Game
team and customer get together and figure out what they are going to do in what order. Resources http://en.wikipedia.org/wiki/ExtremeProgrammingPractices#Planninggame http://c2.com/cgi/wiki?PlanningGame http://jamesshore.com/Blog/CouldaShouldaWoulda.html http://csis.pace.edu/bergin/xp ...
Page: Thoughts on architecture when using HTTP endpoints
Dvs. guiserverside blir proxy mot en bakenforliggende tjeneste. Husker du om vi dokumenterte noe om dette i cantarawiki? Poengene/læringen jeg kommer på i farten: # Billigere, enklere og raskere å ...
Page: Time Tokens
Paying for time taken with chips. A technique presented by GettingThingsDone (GTD) guru Merlin Mann. Each period (a day, week?) you get a set number of chips that you use to "pay" people for coming to meetings and other things that eat up ...
Page: Timeline
2007 we coined the term timeline to describe the coupling between JigZaw test model and agile development methodology and related concepts as Continuous Integration (CI) and continuous production. In other words, when should a certain group of tests be run and who ...
Page: Tomcat production setup
Når det gjelder tomcat er sikkerhetsfeilene det refereres til lokalisert i applikasjonene som leveres med tomcat. Aldri, aldri bruke de applikasjonene, folkens! De som er interesserte i dette kan lese ...
Page: Tools
Version Control SaaS: Compare GitHub and BitBucket http://www.infoworld.com/article/2611771/applicationdevelopment/bitbucketvsgithubwhichprojecthosthasthemost.html?page=2 Git on the Server Setting Up the Server http://gitscm.com/book/en/v2/GitontheServerSettingUptheServer Onpremise or hosted Build env CI server: Jenkins http://jenkinsci.org ...
Page: Tools and implementation
Basic implementation requirements The purpose of this page is to give an overview of the technology that can be employed to implement the JigZaw test strategy. We need support for the following: Support for organizing tests in groups og run code before and after a group of tests ...
Page: Tools for data(base)-driven testing
Tool Mature Description Comment DbUnit http://www.dbunit.org/ (/) puts your database into a known state between test run \\ export and import your database data to and from XML datasets Does not support table creation! Unitils http://unitils.sourceforge.net ...
Page: Typical application architecture
Use case: Graphical web application using HTML5 and JavaScript. Needs to use services which expose REST APIs. Alternative 1: Communicate with backend which in turn fetch data from other services Pros Do not need CORS ...

U

Page: Unitils pom.xml example
get unitils and dbmaintain > <repositories> <repository> <id>sonatypepublic</id> <name>Sonatype public repo</name> <url>http://oss.sonatype.org/content/groups/public/</url> </repository> </repositories> <profiles> <profile> <id>testdatabasebm</id> <build> <plugins> <plugin ...
Page: Unitils Test class example
package com.company; import com.company.DaoAssertUtil; import com.company.SomeDaoImpl; import org.apache.log4j.Logger; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestExecutionListeners; import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; import org.springframework.test.jdbc.SimpleJdbcTestUtils; import org.testng.annotations.Test; import org.unitils.UnitilsTestExecutionListener; import org.unitils.dataset.annotation.CleanInsertDataSet; import javax.annotation.Resource; import java.sql.SQLException; import static ...
Page: Upstream-downstream relationship applied to User Stories
Given a system that adheres to the upstream downstream pattern from DDD, following strategy can be useful. The topmost consumer is responsible for all user stories. If the topmost consumer needs something from the component below, new user stories that express this need ...
Page: User documentation for a software product
Use cases New to the product how to start use it / basic usage Configuration options/description Examples of use More examples of use Specific requirements FAQ Troubleshoot guide For unixmp new to product What problems can the product solve ...
Page: User Stories
An agile way to express requirements. User story definitions from various sources Wikipedia http://en.wikipedia.org/wiki/Userstory extremeprogramming.org http://www.extremeprogramming.org/rules/userstories.html Agile Modelling http://www.agilemodeling.com/artifacts/userStory.htm User story template ...
Page: User Story Mapping
Mapping user stories together. Jeff Patton has come up with this nice model of seeing the bigger picture between user stories. Resources http://agileproductdesign.com/presentations/userstorymapping/index.html Norwegian Resouces Nils Christian Haugen (Wasteless http ...
Page: User ticket solutions
See https://joscor.com/2014/02/authenticationsolutionscomparison
Page: Using Jira for agile development
While most of the experiences in this article is valid for a wider context, the initial versions assumes the following context: SCRUM or Kanban, Java, Maven 2/3, Subversion (or similar) version control strategy, Jira, Confluence Table of contents Mapping Jira Concepts to Scrum ...

V

Page: V-model vs JigZaw
purpose of this page is to provide a comparison between the VModel (Wikipedia) http://en.wikipedia.org/wiki/VModel%28softwaredevelopment%29 and JigZaw. The goal is to illustrate the logical differences between the two models. VModel JigZaw Waterfall model Agile development, Continuous deployment/production ...
Page: Verify expected behavior instead of looking for bugs
Traditional testing is aimed at finding bugs, where a bug is defined as a mismatch between the specification and the actual behavior of the software under test. JigZaw aims at making sure the system works as expected. The difference may seem subtle, but there is a difference between the specification ...
Page: Version Control Strategies for Confluence-based Documentation
Export space and checkin to regular VCS Export to xml, html or pdf and check into a version control system. xml export makes rollback possible, but is not very viewing friendly standalone. html is viewing friendly, but does not support rollback. This option must ...
Page: Versioning
Source code can easily be version controlled with a Version Control System http://en.wikipedia.org/wiki/Listofrevisioncontrolsoftware. We can control the version of artifacts using Maven and the mavenreleaseplugin http://maven.apache.org/plugins/mavenreleaseplugin. See Organizing Maven projects for details ...
Page: Video and Audio
Page: Video and Audio API's
Page: Visualize Maven modules
quickly get a overview of a big Maven project it is often useful to get a visual view of the modules and their dependencies. The Maven Dependency graph plugin http://el4j.sourceforge.net/plugins/mavendepgraphplugin/index.html generates such a dependency graph as a pngfile. <! sudo aptitude install graphviz ...

W

Page: W3C Widgets
What is W3C Widgets and how can we us it to deploy our web apps! The presentation http://files.trygvelie.com/documents/w3cwidgets
Page: Waste bin
Page: Waterfall - why and why not?
When (is it ever so?) is waterfall appropriate? TODO Statistics that show why waterfall is not appropriate for development projects TODO Scalable, Distributed, Outsourced, and CMMI Level 5: Some of the best scrums http://www4.java.no/web/show.do?page=92&articleid ...
Page: Web Application Architecture
Some classic patterns of web applications These are fairly well documented in some Excellent Books. We recommend that you make yourself familiar with the basic patterns, then follow through by using an existing Java Web Framework Java Web Frameworks ...
Page: Web application container pull deployment
Lightweight development, but heavyweight production server: Which problems must be addressed? (Note! Just identify, not solve) How to deploy to IBM WebSphere 6.x WebSphere deployment from a CI environment
Page: Web Application Exception Management
Catch exceptions where you can do something about them (or let them propagate all the way up to the top level handler). Categorization Catch ALL exceptions at the top level of the application nice message to the user log as much ...
Page: Web Application Fragments
possible to reuse fragments of web applications. Think two web applications being dependent on the same module of templates. However, there are some limitations: JSP's can generally not be packaged inside JARfiles in your classpath (they have to be located openly in the WARfile, so ...
Page: Web Application JigZaw
Why is JigZaw good for webapps? Because: There are lots of testcategories for webapps alone We need quick rountrips We need control, configuration, web.xml For web testing implementations, see Web testing. JigZaw Common test problems and how to solve ...
Page: Web Application Logging
Some logging features can be configured in the webapp from day 1: A console appender for development use Log sessionid together with each log statement (if any) this is useful for filtering out the activity of one user For test/produse, use file ...
Page: Web Application Security
security:Meta Character Handling for Web Applications HDIV, ESAPI security:CSRF Protection HDIV security:Web Application IDM springsecurity Web Application Exception Management security:Web Application Audit Trail Resources HDIV http://www.hdiv.org ...
Page: Web Design
page needs ALOT of work, but unfortunately this kind of knowledge is spread evenly throughout the web. Web designers are perhaps the most intensive bloggers out there, so any search on google will provide enourmous bundles of information on any web design topic ...
Page: Web development tips and tricks
Resources Best Practices for Speeding Up Your Web Site http://developer.yahoo.com/performance/rules.html Minify JavaScript and CSS Minify JavaScript and CSS http://developer.yahoo.com/performance/rules.html#minify can be done by the following tools: JSMin http://crockford.com ...
Page: Web framework security tactics
Possible pitfalls of Web Application Frameworks Webapp security should take into consideration the different frameworks that are used to develop the application. The frameworks influence the application not only with preexisting code and design, but also by changing the mindset of developers. Developers can be mislead into thinking ...
Page: Web SQL - IndexedDB
Web Storage, WebSQL, and IndexedDB Slides http://www.slideshare.net/dylanks/introtohtml5webstorage
Page: Web Storage
Page: Web test tools
Tool Type Opinions and notes FITNesse http://fitnesse.org/ integrated standalone wiki, and acceptance testing framework GreenPepper http://www.greenpeppersoftware.com/confluence/display/GPW/Home/ executable specifications and automated functional testing Selenium http://selenium.openqa.org/ Web tests ...
Page: Web testing
Strategies and tactics To webtest or not to webtest It depends. Remember that even though webtests may seem easy and quick, they are expensive compared to unittests. However, you can get pretty far with just having a single test or script that attempts to do some ...
Page: Webapp caching strategy
purpose of this page is to describe one strategy for caching of static resources in a JSP based web application. The term "assets" is used to denote static files javascript, CSS, images, etc. Credit go to Trygve Laugstøl https://twitter.com/trygvis and Erlend ...
Page: Webapp deployment from RPM
Requirements to war archive Must be released with maven and deployed to a repository. No jetty specific configuration in the war (i.e no WEBINF/jettyweb.xml file). Jetty configuration xmlfile examples {{conf/jetty.xml}} jetty.xml The main configuration file where the jetty server properties ...
Page: Webapp deployment from RPM - scratch area
Strategy 1: add war archive to a preinstalled webserver Typically multiple webapps in one instance of WebSphere, Weblogic, Tomcat (or Jetty). cargomavenplugin? wasmp? etc. Distribution as war or ear. Requires a preconfigured webserver. Probably not easy to automate, since you ...
Page: WebSockets
WebSockets Slides http://www.slideshare.net/dylanks/introtowebsocketsandcomet
Page: WebSphere deployment from a CI environment
Problems with deploying from CIserver There may be better way of doing deployment than what is presented here. In such a case, please let us know Deployment to WebSphere from a CIserver can be troublesome since the deployment tool, wsadmin, is tighty coupled ...
Page: What is Agile 2.0? Isn't 1.0 enough?
First draft You can learn agile development by reading a lot of books on the subject. And basic understanding of Scrum and XP concepts is IMHO necessary to work agilely. However, necessary is not the same as sufficient. Experience is needed to work efficiently with any methodology ...
Page: When to use JigZaw
Remote centric architecture Your system has: Mulitiple JVM's Large DB's JMS Eventing Maybe even C interactions Standalone application: Standalone application example not relevant in this form Traditional 3 layer webserver Fix the problem with endtoend ...
Page: Word Documentation Template
Scratch area, needs cleanup What do we want? Must be printable Must be under version control and follow the same release cycle as the application To minimize time spent on writing documentation How Geir Hedemark's suggested template: http ...

X

Page: XP
eXtreme Programming (XP) An early methodology to gather mainstream popularity. Practices It defines a number of practices that are pretty common in most agile projects. Some examples: Pairprogrammering Unittesting Continous Integration The 10minute build Weekly meetings Shrinking teams ...

Y

Z

Page: Zero downtime deployment with ECS
What is zero downtime deployment aka. rolling upgrade? "At a basic level, a zero downtime deploy involves swapping out servers running new code for servers running the old code on a load balancer. Here is the general scripted process: # Create ...

!@#$

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.