Website sources

Project: http://git-wip-us.apache.org/repos/asf/polygene-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-website/commit/8334a62f
Tree: http://git-wip-us.apache.org/repos/asf/polygene-website/tree/8334a62f
Diff: http://git-wip-us.apache.org/repos/asf/polygene-website/diff/8334a62f

Branch: refs/heads/asf-site
Commit: 8334a62fcbd6bb1350a6bc6c77693015c4a026ce
Parents: 3fcd6ea
Author: Paul Merlin <[email protected]>
Authored: Sat Dec 31 14:32:25 2016 +0100
Committer: Paul Merlin <[email protected]>
Committed: Sat Dec 31 14:32:25 2016 +0100

----------------------------------------------------------------------
 README.md                                       |    89 +
 _config.yml                                     |    24 +
 .../schemas/2008/dev-status/1/dev-status.xsd    |    83 +
 src/_data/releases.yml                          |     8 +
 src/_data/releases_legacy.yml                   |    32 +
 src/_data/releases_zest.yml                     |    14 +
 src/_data/texts.yml                             |    17 +
 .../2017-12-31-apache-polygene-java-3.0.md      |    11 +
 src/_layouts/default.html                       |   135 +
 src/_layouts/posts.html                         |   137 +
 src/_posts/2007-11-13-oredev-cop.md             |    14 +
 src/_posts/2008-01-30-jfocus-cop.md             |     9 +
 src/_posts/2008-04-14-qi4j-0.1.md               |     7 +
 src/_posts/2008-06-06-qi4j-0.2.md               |     7 +
 src/_posts/2008-08-08-qi4j-0.3.md               |    19 +
 src/_posts/2008-09-15-javazone-cop.md           |     9 +
 src/_posts/2008-09-19-qi4j-0.4.md               |     7 +
 src/_posts/2008-11-17-oredev-qi4j.md            |    11 +
 src/_posts/2009-01-09-qi4j-0.5.md               |     7 +
 src/_posts/2009-01-10-arskonference.md          |    14 +
 src/_posts/2009-02-19-ddd-in-qi4j-explained.md  |     7 +
 src/_posts/2009-02-20-qi4j-0.6.md               |     9 +
 src/_posts/2009-04-20-qi4j-0.7.md               |     7 +
 src/_posts/2009-05-10-jfocus.md                 |     9 +
 src/_posts/2009-09-03-javazone.md               |    15 +
 src/_posts/2010-01-25-oredev.md                 |     9 +
 src/_posts/2010-01-25-quicker-frameworks.md     |     9 +
 src/_posts/2010-01-28-qi4j-1.0.md               |    11 +
 src/_posts/2010-06-17-qi4j-1.1.md               |    22 +
 .../2010-08-30-apache-roadshow-shanghai.md      |     7 +
 src/_posts/2010-09-18-javazone.md               |    11 +
 src/_posts/2010-10-23-qi4j-sdk-1.2.md           |    52 +
 src/_posts/2011-02-21-gradle.md                 |    47 +
 src/_posts/2011-04-15-qi4j-sdk-1.3.md           |   107 +
 src/_posts/2011-08-06-qi4j-sdk-1.4.md           |    21 +
 src/_posts/2012-02-15-jfocus.md                 |    14 +
 src/_posts/2012-05-02-qi4j-future.md            |    17 +
 src/_posts/2012-05-25-new-website.md            |    25 +
 src/_posts/2012-12-25-qi4j-2.0-rc1.md           |    40 +
 src/_posts/2013-04-15-qi4j-2.0-rc2.md           |    27 +
 src/_posts/2013-04-28-qi4j-2.0.md               |    81 +
 src/_posts/2015-07-31-apache-zest-java-2.1.md   |    77 +
 src/asf_proposal.md                             |   299 +
 src/atom.xml                                    |    28 +
 src/community/codebase.html                     |   314 +
 src/community/contributors.html                 |    97 +
 src/community/get_help.html                     |    47 +
 src/community/index.html                        |    35 +
 src/community/licensing_faq.html                |    41 +
 src/community/maturity.html                     |   216 +
 src/community/participate.html                  |    66 +
 src/community/playing_field.html                |   102 +
 src/doap.rdf                                    |    68 +
 src/download-qi4j-legacy.html                   |    77 +
 src/download.html                               |   166 +
 src/graphics/Apache Zest Final.ai               |  4300 +++++++
 src/graphics/Apache-Zest-Logo-Text.png          |   Bin 0 -> 11745 bytes
 src/graphics/Apache-Zest-Logo.jpg               |   Bin 0 -> 27838 bytes
 src/graphics/ApacheZest_PoweredBy.svg           |   576 +
 src/graphics/Explore V1.ai                      |  7570 ++++++++++++
 src/graphics/Explore V2.ai                      | 10610 +++++++++++++++++
 src/graphics/Explore V3.ai                      |   Bin 0 -> 1327364 bytes
 src/graphics/Explore V4.ai                      |  5024 ++++++++
 src/graphics/Qi4j Final Logo.ai                 |  5070 ++++++++
 src/graphics/Qi4j Logo 16x16.psd                |   Bin 0 -> 26934 bytes
 src/graphics/Qi4j Logo Final (Hi-res).svg       |  1008 ++
 src/graphics/Qi4j Logo Final.svg                |    64 +
 src/graphics/Qi4j-Logo-16x16.png                |   Bin 0 -> 272 bytes
 src/graphics/Qi4j-Logo-32x32.png                |   Bin 0 -> 633 bytes
 src/graphics/Qi4j-Logo-64x64.png                |   Bin 0 -> 1295 bytes
 src/graphics/Qi4j-Logo-Full.png                 |   Bin 0 -> 11090 bytes
 src/graphics/Qi4j-Logo-Symbol.png               |   Bin 0 -> 7683 bytes
 src/graphics/Qi4j-Logo-Text.png                 |   Bin 0 -> 9376 bytes
 src/htaccess                                    |    14 +
 src/index.html                                  |   106 +
 .../css/bootstrap-responsive.css                |  1092 ++
 .../css/bootstrap-responsive.min.css            |     9 +
 src/landing-resources/css/bootstrap.css         |  5445 +++++++++
 src/landing-resources/css/bootstrap.min.css     |     9 +
 src/landing-resources/css/font-awesome-ie7.css  |   645 +
 src/landing-resources/css/font-awesome.css      |   303 +
 .../font/fontawesome-webfont.eot                |   Bin 0 -> 38708 bytes
 .../font/fontawesome-webfont.svg                |   255 +
 .../font/fontawesome-webfont.ttf                |   Bin 0 -> 68476 bytes
 .../font/fontawesome-webfont.woff               |   Bin 0 -> 41752 bytes
 src/landing-resources/ico/favicon.png           |   Bin 0 -> 272 bytes
 src/landing-resources/img/asf_logo.png          |   Bin 0 -> 8440 bytes
 src/landing-resources/img/feather.png           |   Bin 0 -> 40042 bytes
 src/landing-resources/img/git-model.png         |   Bin 0 -> 145643 bytes
 .../img/glyphicons-halflings-white.png          |   Bin 0 -> 8777 bytes
 .../img/glyphicons-halflings.png                |   Bin 0 -> 12799 bytes
 .../img/logo-google-groups.png                  |   Bin 0 -> 90008 bytes
 src/landing-resources/img/logo-jira.png         |   Bin 0 -> 14547 bytes
 .../img/logo-stackoverflow.png                  |   Bin 0 -> 7511 bytes
 src/landing-resources/js/bootstrap.js           |  2159 ++++
 src/landing-resources/js/bootstrap.min.js       |     6 +
 src/landing-resources/js/jquery-1.8.3.min.js    |     2 +
 src/landing-resources/js/qi4j.org.js            |     7 +
 src/news.html                                   |    35 +
 src/robots.txt                                  |    10 +
 src/sitemap.txt                                 |     9 +
 101 files changed, 47162 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 0eab9c5..5f948b8 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,91 @@
 # Apache Polygene™ (Website)
 
+> Landing pages built using [Jekyll](http://jekyllrb.com/)
+>
+> Documentation built by the Apache Polygene sub-project's build systems
+
+
+## How to work on content
+
+First, install jekyll: `gem install jekyll`, then:
+
+    cd $PATH_TO_THE_DIRECTORY_THIS_FILE_IS_IN
+    jekyll serve
+    open http://localhost:4000/
+
+You can now edit files in `./src` and refresh your browser to preview the 
changes locally.
+
+### Working on future "blog" posts
+
+Put your drafts in the `_drafts` directory and run jekyll with the `--drafts` 
command line
+parameter. Once you're satisfied with your blog post, simply move it into the 
`_posts`
+directory. Note that posts with dates in the future won't be rendered even if 
present in
+the `_posts` directory.
+
+
+## How to publish to polygene.apache.org
+
+First, install jekyll: `gem install jekyll`, then:
+
+    cd $PATH_TO_THE_DIRECTORY_THIS_FILE_IS_IN
+    jekyll build
+    svn add -q --force .
+    svn commit -m  "polygene: update website"
+
+
+## Directory Structure
+
+    .
+    +-- README.md               This very README
+    |
+    +-- _config.yml             Jekyll configuration
+    +-- src                     Landing pages Jekyll sources
+    |   +-- _layouts/           Jekyll layouts
+    |   +-- _includes/
+    |   |   +-- releases/       Release download pages, one per file
+    |   +-- _posts/             News, one per file
+    |   +-- index.html          Home page
+    |   +-- news.html           News archive page
+    |   +-- atom.xml            Atom news feed
+    |   +-- downloads.html      Download page
+    |   +-- community/          Community pages
+    |   +-- sitemap.txt         Sitemap
+    |   +-- landing-resources/  CSS, images, fonts and javascript files.
+    |   +-- graphics/           Apache Polygene graphic resources
+    |
+    |
+    +-- content/                !! Root of files published at 
https://polygene.apache.org/ !!
+        |
+        +-- schemas/            Apache Polygene XML Schemas
+        |
+        +-- java/               Apache Polygene (Java Edition) Documentation
+            +-- index.html      Index page pointing at './latest/'
+            +-- versions.json   Versions data, used by the version-switcher
+            +-- develop/        Documentation for the 'develop' branch.
+            |   +-- javadocs/
+            +-- latest/         Documentation for the 'master' branch aka. the 
latest stable release.
+            |   +-- javadocs/
+            +-- VERSION_STRING/ Documentation for each stable release.
+                +-- javadocs/
+
+
+
+## Landing pages
+
+Only the news are in the Markdown format, the other pages that should rarely
+change are plain HTML so we can fine-control the layout.
+
+A news feed is built in **atom.xml** and the site map in **sitemap.txt**
+
+
+## Sub-projects versionned documentation
+
+Each Apache Polygene subproject should make its build system generate its 
documentation.
+As part of its release process it should add its documentation to this very 
website.
+
+### Apache Polygene (Java Edition)
+
+The versioned documentation is generated from
+[asciidoc](http://www.methods.co.nz/asciidoc) text files from the Polygene SDK
+[source repository](http://polygene.apache.org/community/codebase.html) by its
+[build system](http://polygene.apache.org/java/latest/build-system.html).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..540f9f3
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,24 @@
+# See https://github.com/mojombo/jekyll/wiki/Configuration
+
+source:      src
+destination: content
+keep_files:  [ schemas, java ]
+
+safe:        true
+url:         https://polygene.apache.org
+production_url: https://polygene.apache.org
+
+future:      true
+lsi:         false
+highlighter: rouge
+markdown:    kramdown
+permalink:   date
+
+
+kramdown:
+  auto_ids:       true
+  footnote_nr:    1
+  entity_output:  as_char
+  toc_levels:     1..6
+  smart_quotes:   lsquo,rsquo,ldquo,rdquo
+  enable_coderay: false

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/content/schemas/2008/dev-status/1/dev-status.xsd
----------------------------------------------------------------------
diff --git a/content/schemas/2008/dev-status/1/dev-status.xsd 
b/content/schemas/2008/dev-status/1/dev-status.xsd
new file mode 100644
index 0000000..537ae86
--- /dev/null
+++ b/content/schemas/2008/dev-status/1/dev-status.xsd
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema attributeFormDefault="unqualified"
+           elementFormDefault="qualified"
+           targetNamespace="http://www.qi4j.org/schemas/2008/dev-status/1";
+           xmlns:xs="http://www.w3.org/2001/XMLSchema";>
+  <xs:element name="module" type="ns:moduleType" 
xmlns:ns="http://www.qi4j.org/schemas/2008/dev-status/1"/>
+  <xs:complexType name="licensesType">
+    <xs:sequence>
+      <xs:element type="xs:string" name="license">
+        <xs:annotation>
+          <xs:documentation>
+            Qi4j itself only uses Apache License ver 2.0 for all its own 
developed code. We also try to list
+            all dependencies' licenses here, so automated tools can bring that 
into the documentation.
+            If the license is OTHER, the documentation will highlight this as 
a warning, and instruct users
+            to carefully examine NOTICE file as well as the dependencies 
themselves.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="ALv2"/>
+            <xs:enumeration value="MIT"/>
+            <xs:enumeration value="BSD"/>
+            <xs:enumeration value="LGPL"/>
+            <xs:enumeration value="OTHER"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="moduleType">
+    <xs:sequence>
+      <xs:element type="ns:statusType" name="status" 
xmlns:ns="http://www.qi4j.org/schemas/2008/dev-status/1"/>
+      <xs:element type="ns:licensesType" name="licenses" 
xmlns:ns="http://www.qi4j.org/schemas/2008/dev-status/1"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="statusType">
+    <xs:sequence>
+      <xs:element name="codebase">
+        <xs:annotation>
+          <xs:documentation>none,early,beta,stable,mature</xs:documentation>
+        </xs:annotation>
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="none"/>
+            <xs:enumeration value="early"/>
+            <xs:enumeration value="beta"/>
+            <xs:enumeration value="stable"/>
+            <xs:enumeration value="mature"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+      <xs:element name="documentation">
+        <xs:annotation>
+          <xs:documentation>none, brief, good, complete</xs:documentation>
+        </xs:annotation>
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="none"/>
+            <xs:enumeration value="brief"/>
+            <xs:enumeration value="good"/>
+            <xs:enumeration value="complete"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+      <xs:element name="unittests">
+        <xs:annotation>
+          <xs:documentation>
+            none=0-10%, some=10-40%, good=40-75%, complete=75-100% test 
coverage of codebase.
+            This number is likely to be manually maintained, but future tools 
may update this automatically.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="none"/>
+            <xs:enumeration value="some"/>
+            <xs:enumeration value="good"/>
+            <xs:enumeration value="complete"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_data/releases.yml
----------------------------------------------------------------------
diff --git a/src/_data/releases.yml b/src/_data/releases.yml
new file mode 100644
index 0000000..5d70979
--- /dev/null
+++ b/src/_data/releases.yml
@@ -0,0 +1,8 @@
+
+# Apache Polygene Releases
+# Releases with no announcement are not rendered
+
+- version: 3.0
+  // announcement: 2017/12/31/apache-polygene-java-3.0
+  signer: Paul Merlin
+  pgpId: 7D0391AC

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_data/releases_legacy.yml
----------------------------------------------------------------------
diff --git a/src/_data/releases_legacy.yml b/src/_data/releases_legacy.yml
new file mode 100644
index 0000000..0896a93
--- /dev/null
+++ b/src/_data/releases_legacy.yml
@@ -0,0 +1,32 @@
+
+# Qi4j Legacy Releases
+
+- version: '2.0'
+  signer: Paul Merlin
+  pgpId: CF734618
+  artifactId: org.qi4j
+
+- version: '1.4.1'
+  signer: Niclas Hedhman
+  pgpId: 33D70FC3
+  artifactId: org.qi4j
+
+- version: '1.4'
+  signer: Niclas Hedhman
+  pgpId: 33D70FC3
+  artifactId: org.qi4j
+
+- version: '1.3'
+  signer: Niclas Hedhman
+  pgpId: 33D70FC3
+  artifactId: org.qi4j
+
+- version: '1.2'
+  signer: Niclas Hedhman
+  pgpId: 33D70FC3
+  artifactId: qi4j-sdk
+
+- version: '1.0'
+  signer: Niclas Hedhman
+  pgpId: 33D70FC3
+  artifactId: qi4j-sdk

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_data/releases_zest.yml
----------------------------------------------------------------------
diff --git a/src/_data/releases_zest.yml b/src/_data/releases_zest.yml
new file mode 100644
index 0000000..38c33a2
--- /dev/null
+++ b/src/_data/releases_zest.yml
@@ -0,0 +1,14 @@
+
+# Apache Zest Releases
+# Releases with no announcement are not rendered
+
+- version: 2.1
+  announcement: 2015/07/31/apache-zest-java-2.1
+  signer: Paul Merlin
+  pgpId: 7D0391AC
+  warning: >
+    <strong>Apache Zest (Java Edition) 2.1</strong> is the first release of 
the Qi4j codebase under the Apache
+    Software Foundation umbrella.<br/>
+    To keep backward compatiblity, this version still use 
<code>org.qi4j.*</code> Java packages and Maven
+    coordinates.<br/>
+    <strong>Please note that this will change in 3.0.</strong>

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_data/texts.yml
----------------------------------------------------------------------
diff --git a/src/_data/texts.yml b/src/_data/texts.yml
new file mode 100644
index 0000000..073c9ee
--- /dev/null
+++ b/src/_data/texts.yml
@@ -0,0 +1,17 @@
+
+description: >
+    Apache Polygene™ is a community based effort exploring Composite Oriented
+    Programming for domain centric application development. This includes
+    evolved concepts from Aspect Oriented Programming, Dependency Injection
+    and Domain Driven Design.
+
+    Composite Oriented Programming allows developers to work with 'fragments',
+    smaller than classes, and 'compose' fragments into larger 'composites'
+    which acts like the regular objects. Apache Polygene™ also tackles the
+    enforcement of application composition, i.e. composites are declared in
+    modules, modules are contained in layers and access between layers are
+    controlled/enforced.
+
+author: The Apache Polygene™ Project
+
+keywords: cop, composite oriented programming, ddd, domain driven design, 
composite, mixin, fragment, constraint, concern, side-effect, aop, aspect 
oriented programming, application, layer, module, structure, java, library, 
toolkit, framework

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_drafts/2017-12-31-apache-polygene-java-3.0.md
----------------------------------------------------------------------
diff --git a/src/_drafts/2017-12-31-apache-polygene-java-3.0.md 
b/src/_drafts/2017-12-31-apache-polygene-java-3.0.md
new file mode 100644
index 0000000..fb8dead
--- /dev/null
+++ b/src/_drafts/2017-12-31-apache-polygene-java-3.0.md
@@ -0,0 +1,11 @@
+---
+layout: posts
+title: Apache Polygene™ (Java Edition) Release 3.0
+date: 20171231
+---
+
+## Apache Polygene™ (Java Edition) Release 3.0
+
+### Release-notes
+
+[POLYGENE-195](https://issues.apache.org/jira/browse/POLYGENE-195) - Rename 
"Apache Zest™" to "Apache Polygene™"

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_layouts/default.html
----------------------------------------------------------------------
diff --git a/src/_layouts/default.html b/src/_layouts/default.html
new file mode 100644
index 0000000..b2c93e9
--- /dev/null
+++ b/src/_layouts/default.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <title>{{ page.title }}</title>
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="description" content="{{ site.data.texts["description"] 
}}">
+        <meta name="author" content="{{ site.data.texts["author"] }}">
+        <meta name="keywords" content="{{ site.data.texts["keywords"] }}">
+
+        <!-- Le styles -->
+        <link href="/landing-resources/css/bootstrap.css" rel="stylesheet">
+        <link href="/landing-resources/css/font-awesome.css" rel="stylesheet">
+        <style type="text/css">
+            body {
+                padding-top: 70px;
+                padding-bottom: 40px;
+            }
+            #home-logo p {
+                margin-top: 0.75em;
+                font-size: 2.5em;
+                font-weight: lighter;
+            }
+        </style>
+        <link href="/landing-resources/css/bootstrap-responsive.min.css" 
rel="stylesheet">
+
+        <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+        <!--[if lt IE 9]>
+          <script 
src="http://html5shim.googlecode.com/svn/trunk/html5.js";></script>
+        <![endif]-->
+
+        <!-- Fav and touch icons -->
+        <link rel="shortcut icon" type="image/png" 
href="/landing-resources/ico/favicon.png">
+
+        <!-- Analytics -->
+        <script>
+          
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+          
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+          
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+          ga('create', 'UA-62007352-1', 'auto');
+          ga('send', 'pageview');
+        </script>
+
+    </head>
+
+    <body>
+
+        <div class="navbar navbar-inverse navbar-fixed-top">
+            <div class="navbar-inner">
+                <div class="container-fluid">
+                    <a class="btn btn-navbar" data-toggle="collapse" 
data-target=".nav-collapse">
+                        <span class="icon-bar"></span>
+                        <span class="icon-bar"></span>
+                        <span class="icon-bar"></span>
+                    </a>
+                    <a class="brand" href="/"><img 
src="/landing-resources/img/feather.png" width="64"/> Apache 
<strong>Polygene™</strong></a>
+                    <div class="nav-collapse collapse">
+                        <ul class="nav">
+                            <li><a href="/news.html"><i class="icon-rss"></i> 
News</a></li>
+                            <li><a href="/download.html"><i 
class="icon-download"></i> Download</a></li>
+                            <li class="dropdown">
+                                <a class="dropdown-toggle" role="button" 
data-toggle="dropdown" data-target="#" href="#">
+                                    <i class="icon-book"></i> Documentation <b 
class="caret"></b>
+                                </a>
+                                <ul class="dropdown-menu" role="menu">
+                                    <li role="menuitem"><a 
href="/java/latest/index.html"><i class="icon-caret-right"></i> Latest 
release</a></li>
+                                    {% for release in site.data.releases %}
+                                    {% if release.announcement %}
+                                    <li role="menuitem"><a href="/java/{{ 
release.version }}/index.html"><i class="icon-caret-right"></i> {{ 
release.version }}</a></li>
+                                    {% endif %}
+                                    {% endfor %}
+                                    <li role="menuitem"><a 
href="/java/2.0/index.html"><i class="icon-caret-right"></i> 2.0</a></li>
+                                    <li role="menuitem"><a 
href="/java/1.4/index.html"><i class="icon-caret-right"></i> &lt;=1.4.x</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="/java/develop/index.html"><i class="icon-caret-right"></i> develop 
branch</a></li>
+                                </ul>
+                            </li>
+                            <li class="dropdown">
+                                <a class="dropdown-toggle" role="button" 
data-toggle="dropdown" data-target="#" href="/community">
+                                    <i class="icon-group"></i> Community <b 
class="caret"></b>
+                                </a>
+                                <ul class="dropdown-menu" role="menu">
+                                    <li role="menuitem"><a 
href="/community/get_help.html"><i class="icon-caret-right"></i> Get 
Help</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="/community/participate.html"><i class="icon-caret-right"></i> 
Participate</a></li>
+                                    <li role="menuitem"><a 
href="/community/playing_field.html"><i class="icon-caret-right"></i> Playing 
Field</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="/community/codebase.html"><i class="icon-caret-right"></i> 
Codebase</a></li>
+                                    <li role="menuitem"><a 
href="https://builds.apache.org/view/S-Z/view/Polygene/"; target="_blank"><i 
class="icon-caret-right"></i> Continuous Integration</a></li>
+                                    <li role="menuitem"><a 
href="https://issues.apache.org/jira/browse/POLYGENE"; target="_blank"><i 
class="icon-caret-right"></i> Issues</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="/community/maturity.html"><i class="icon-caret-right"></i> Maturity 
Model</a></li>
+                                    <li role="menuitem"><a 
href="/community/contributors.html"><i class="icon-caret-right"></i> People 
behind Apache Polygene™</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="http://www.apache.org/licenses/"; target="_blank"><i 
class="icon-caret-right"></i> Licensing</a></li>
+                                    <li role="menuitem"><a 
href="/community/licensing_faq.html"><i class="icon-caret-right"></i> Licensing 
FAQ</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="http://www.apache.org/foundation/sponsorship.html"; target="_blank"><i 
class="icon-caret-right"></i> Sponsorship</a></li>
+                                    <li role="menuitem"><a 
href="http://www.apache.org/foundation/thanks.html"; target="_blank"><i 
class="icon-caret-right"></i> Thanks</a></li>
+                                    <li role="menuitem"><a 
href="http://www.apache.org/security/"; target="_blank"><i 
class="icon-caret-right"></i> Security</a></li>
+                                </ul>
+                            </li>
+                        </ul>
+                    </div><!--/.nav-collapse -->
+                </div>
+            </div>
+        </div>
+        <div id="content" class="container-fluid">
+
+{{ content }}
+
+        </div>
+        <div class="container-fluid">
+            <hr>
+            <footer>
+                <p>
+                    Copyright &copy; 2015-{{ 'now' | date: "%Y" }} The Apache 
Software Foundation, Licensed under the <a 
href="http://www.apache.org/licenses/";>Apache License, Version 2.0</a>.
+                    <br/>
+                    <small>
+                        Apache Polygene, Polygene, Apache, the Apache feather 
logo, and the Apache Polygene project logo are trademarks of The Apache 
Software Foundation.<br/>
+                        All other marks mentioned may be trademarks or 
registered trademarks of their respective owners.
+                    </small>
+                </p>
+            </footer>
+        </div>
+
+        <!-- Le javascript
+        ================================================== -->
+        <!-- Placed at the end of the document so the pages load faster -->
+        <script src="/landing-resources/js/jquery-1.8.3.min.js"></script>
+        <script src="/landing-resources/js/bootstrap.min.js"></script>
+        <script src="/landing-resources/js/qi4j.org.js"></script>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_layouts/posts.html
----------------------------------------------------------------------
diff --git a/src/_layouts/posts.html b/src/_layouts/posts.html
new file mode 100644
index 0000000..e682c0d
--- /dev/null
+++ b/src/_layouts/posts.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <title>{{ page.title }}</title>
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="description" content="{{ site.data.texts["description"] 
}}">
+        <meta name="author" content="{{ site.data.texts["author"] }}">
+        <meta name="keywords" content="{{ site.data.texts["keywords"] }}">
+
+        <!-- Le styles -->
+        <link href="/landing-resources/css/bootstrap.css" rel="stylesheet">
+        <link href="/landing-resources/css/font-awesome.css" rel="stylesheet">
+        <style type="text/css">
+            body {
+                padding-top: 70px;
+                padding-bottom: 40px;
+            }
+        </style>
+        <link href="/landing-resources/css/bootstrap-responsive.min.css" 
rel="stylesheet">
+
+        <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+        <!--[if lt IE 9]>
+          <script 
src="http://html5shim.googlecode.com/svn/trunk/html5.js";></script>
+        <![endif]-->
+
+        <!-- Fav and touch icons -->
+        <link rel="shortcut icon" type="image/png" 
href="/landing-resources/ico/favicon.png">
+
+        <!-- Analytics -->
+        <script>
+          
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+          
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+          
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+          ga('create', 'UA-62007352-1', 'auto');
+          ga('send', 'pageview');
+        </script>
+
+    </head>
+
+    <body>
+
+        <div class="navbar navbar-inverse navbar-fixed-top">
+            <div class="navbar-inner">
+                <div class="container-fluid">
+                    <a class="btn btn-navbar" data-toggle="collapse" 
data-target=".nav-collapse">
+                        <span class="icon-bar"></span>
+                        <span class="icon-bar"></span>
+                        <span class="icon-bar"></span>
+                    </a>
+                    <a class="brand" href="/"><img 
src="/landing-resources/img/feather.png" width="64"/> Apache 
<strong>Polygene™</strong></a>
+                    <div class="nav-collapse collapse">
+                        <ul class="nav">
+                            <li><a href="/news.html"><i class="icon-rss"></i> 
News</a></li>
+                            <li><a href="/download.html"><i 
class="icon-download"></i> Download</a></li>
+                            <li class="dropdown">
+                                <a class="dropdown-toggle" role="button" 
data-toggle="dropdown" data-target="#" href="#">
+                                    <i class="icon-book"></i> Documentation <b 
class="caret"></b>
+                                </a>
+                                <ul class="dropdown-menu" role="menu">
+                                    <li role="menuitem"><a 
href="/java/latest/index.html"><i class="icon-caret-right"></i> Latest 
release</a></li>
+                                    {% for release in site.data.releases %}
+                                    {% if release.announcement %}
+                                    <li role="menuitem"><a href="/java/{{ 
release.version }}/index.html"><i class="icon-caret-right"></i> {{ 
release.version }}</a></li>
+                                    {% endif %}
+                                    {% endfor %}
+                                    <li role="menuitem"><a 
href="/java/2.0/index.html"><i class="icon-caret-right"></i> 2.0</a></li>
+                                    <li role="menuitem"><a 
href="/java/1.4/index.html"><i class="icon-caret-right"></i> &lt;=1.4.x</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="/java/develop/index.html"><i class="icon-caret-right"></i> Develop 
branch</a></li>
+                                </ul>
+                            </li>
+                            <li class="dropdown">
+                                <a class="dropdown-toggle" role="button" 
data-toggle="dropdown" data-target="#" href="/community">
+                                    <i class="icon-group"></i> Community <b 
class="caret"></b>
+                                </a>
+                                <ul class="dropdown-menu" role="menu">
+                                    <li role="menuitem"><a 
href="/community/get_help.html"><i class="icon-caret-right"></i> Get 
Help</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="/community/participate.html"><i class="icon-caret-right"></i> 
Participate</a></li>
+                                    <li role="menuitem"><a 
href="/community/playing_field.html"><i class="icon-caret-right"></i> Playing 
Field</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="/community/codebase.html"><i class="icon-caret-right"></i> 
Codebase</a></li>
+                                    <li role="menuitem"><a 
href="https://builds.apache.org/view/S-Z/view/Polygene/"; target="_blank"><i 
class="icon-caret-right"></i> Continuous Integration</a></li>
+                                    <li role="menuitem"><a 
href="https://issues.apache.org/jira/browse/POLYGENE"; target="_blank"><i 
class="icon-caret-right"></i> Issues</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="/community/maturity.html"><i class="icon-caret-right"></i> Maturity 
Model</a></li>
+                                    <li role="menuitem"><a 
href="/community/contributors.html"><i class="icon-caret-right"></i> People 
behind Apache Polygene™</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="http://www.apache.org/licenses/"; target="_blank"><i 
class="icon-caret-right"></i> Licensing</a></li>
+                                    <li role="menuitem"><a 
href="/community/licensing_faq.html"><i class="icon-caret-right"></i> Licensing 
FAQ</a></li>
+                                    <li class="divider"></li>
+                                    <li role="menuitem"><a 
href="http://www.apache.org/foundation/sponsorship.html"; target="_blank"><i 
class="icon-caret-right"></i> Sponsorship</a></li>
+                                    <li role="menuitem"><a 
href="http://www.apache.org/foundation/thanks.html"; target="_blank"><i 
class="icon-caret-right"></i> Thanks</a></li>
+                                    <li role="menuitem"><a 
href="http://www.apache.org/security/"; target="_blank"><i 
class="icon-caret-right"></i> Security</a></li>
+                                </ul>
+                            </li>
+                        </ul>
+                    </div><!--/.nav-collapse -->
+                </div>
+            </div>
+        </div>
+        <div id="content" class="container-fluid">
+
+<div class="row-fluid">
+    <div class="span2"></div>
+    <div class="span8">
+{{ page.date | date: '%B %d, %Y' }}
+{{ content }}
+    </div>
+    <div class="span2"></div>
+</div>
+
+        </div>
+        <div class="container-fluid">
+            <hr>
+            <footer>
+                <p>
+                    Copyright &copy; 2015-{{ 'now' | date: "%Y" }} The Apache 
Software Foundation, Licensed under the <a 
href="http://www.apache.org/licenses/";>Apache License, Version 2.0</a>.
+                    <br/>
+                    <small>
+                        Apache Polygene, Polygene, Apache, the Apache feather 
logo, and the Apache Polygene project logo are trademarks of The Apache 
Software Foundation.<br/>
+                        All other marks mentioned may be trademarks or 
registered trademarks of their respective owners.
+                    </small>
+                </p>
+            </footer>
+        </div>
+
+        <!-- Le javascript
+        ================================================== -->
+        <!-- Placed at the end of the document so the pages load faster -->
+        <script src="/landing-resources/js/jquery-1.8.3.min.js"></script>
+        <script src="/landing-resources/js/bootstrap.min.js"></script>
+        <script src="/landing-resources/js/qi4j.org.js"></script>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2007-11-13-oredev-cop.md
----------------------------------------------------------------------
diff --git a/src/_posts/2007-11-13-oredev-cop.md 
b/src/_posts/2007-11-13-oredev-cop.md
new file mode 100644
index 0000000..d887d28
--- /dev/null
+++ b/src/_posts/2007-11-13-oredev-cop.md
@@ -0,0 +1,14 @@
+---
+layout: posts
+title: Qi4j @Øredev 2007 - Composite Oriented Programming
+---
+## Qi4j @Øredev 2007 - Composite Oriented Programming
+
+OOP neglects the need of objects to adjust its behavior depending on the 
context. "John is a parent and programmer in the city, but a hunter and food in 
the jungle.". Same object, different contexts. OOP has also not fulfilled its 
promise of re-usability, partly due to such static behavior and partly due to 
its inability to deal with fine-granularity of states and behaviors.
+
+Composite Oriented Programming addresses these issues, and Qi4J is an 
implementation available to Java programmers today.
+
+See the 
[Øredev](http://archive.oredev.org/toppmeny/conference/java/qi4jcompositeorientedprog.4.76e8b1c6112f078db498000125951.html)
 archive.
+
+This presentation has been followed by a 6 hours Workshop.
+

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2008-01-30-jfocus-cop.md
----------------------------------------------------------------------
diff --git a/src/_posts/2008-01-30-jfocus-cop.md 
b/src/_posts/2008-01-30-jfocus-cop.md
new file mode 100644
index 0000000..a46d350
--- /dev/null
+++ b/src/_posts/2008-01-30-jfocus-cop.md
@@ -0,0 +1,9 @@
+---
+layout: posts
+title: Qi4j @ JFocus 2008 - Composite Oriented Programming
+---
+## Qi4j @ JFocus 2008 - Composite Oriented Programming
+
+OOP neglects the need of objects to adjust its behavior depending on the 
context. "John is a parent and programmer in the city, but a hunter and food in 
the jungle.". Same object, different contexts. OOP has also not fulfilled its 
promise of re-usability, partly due to such static behavior and partly due to 
its inability to deal with fine-granularity of states and behaviors. Composite 
Oriented Programming addresses these issues, and Qi4J is an implementation 
available to Java programmers today.
+
+Check the presentation slides online 
[here](http://www.jfokus.se/jfokus08/pres/jf08-CompositeOrientedProgrammingWithQi4j.pdf).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2008-04-14-qi4j-0.1.md
----------------------------------------------------------------------
diff --git a/src/_posts/2008-04-14-qi4j-0.1.md 
b/src/_posts/2008-04-14-qi4j-0.1.md
new file mode 100644
index 0000000..22dfe66
--- /dev/null
+++ b/src/_posts/2008-04-14-qi4j-0.1.md
@@ -0,0 +1,7 @@
+---
+layout: posts
+title: Qi4j 0.1 Released
+---
+## Qi4j 0.1 Released
+
+Freeze of Core API.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2008-06-06-qi4j-0.2.md
----------------------------------------------------------------------
diff --git a/src/_posts/2008-06-06-qi4j-0.2.md 
b/src/_posts/2008-06-06-qi4j-0.2.md
new file mode 100644
index 0000000..6cc8a8d
--- /dev/null
+++ b/src/_posts/2008-06-06-qi4j-0.2.md
@@ -0,0 +1,7 @@
+---
+layout: posts
+title: Qi4j 0.2 Released
+---
+## Qi4j 0.2 Released
+
+Full Unit Test & Javadoc on Core API.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2008-08-08-qi4j-0.3.md
----------------------------------------------------------------------
diff --git a/src/_posts/2008-08-08-qi4j-0.3.md 
b/src/_posts/2008-08-08-qi4j-0.3.md
new file mode 100644
index 0000000..92ece4f
--- /dev/null
+++ b/src/_posts/2008-08-08-qi4j-0.3.md
@@ -0,0 +1,19 @@
+---
+layout: posts
+title: Qi4j 0.3 Released
+---
+## Qi4j 0.3 Released
+
+The 3rd pre-final release from the Qi4j community marks a new relatively 
stable milestone on the continued path to a production ready system. The 0.3 
release is the 3rd major re-write of the Qi4j Core Runtime, after many lessons 
learned from previous implementations.
+
+"The current Qi4j Core Runtime is soooo much lighter and easier to work with, 
both for the Core developers as well as extensions and advanced libraries 
developers.", says Rickard Öberg, the Qi4j project lead. "We now have most of 
the ingredients in place for developers who want to delve into DDD without 
having to do everything from scratch. Having a toolkit to work with that speaks 
the same language as themselves, all the way from layers down to individual 
parameter constraints, makes life so much easier, and minimizes the need for 
translation from idea to actual code."
+
+"We now feel confident that the Qi4j Core Runtime has a good design and is 
stable enough to not go through any more disruptive changes. This enables us to 
move away from a feature-boxed release cycle into a more agile time-boxed one. 
This will enable more people to participate and use the Qi4j platform.", says 
Niclas Hedhman. He continues; "Stefano Mazzocchi (Apache) once told me; Only 
projects with Bad Code, Great Vision will build strong communities. And I think 
Qi4j is exactly at this point right now. The vision for a better future is 
extremely promising, and we have so many areas that we need help to implement. 
Combined with a no barrier to write and commit code/documentation for all parts 
except Qi4j Core, we have the setup for accelerated participation in the months 
to come."
+
+With this release the Qi4j community moves from a feature-boxed release cycle 
into a time-boxed one. First week every month, there will be a release 
containing the work from previous release. Issues will be worked on in a 
semi-prioritized order and the participating developers are urged to keep the 
codebase stable towards the release date.
+
+Rickard is keen to point out the Application Visualizer that has been started 
since the 0.2 release, "Another key tool which this release introduces is the 
beginning of the application visualizer, which automatically shows what your 
application look like. One of the main disadvantages of earlier frameworks is 
that the developers typically felt out of control and unable to see what was 
going on. When you have so many pieces working together it is important to get 
the big picture, and this is what we are now enabling."
+
+"Our immediate next steps involves a new remote Entity Store, getting the 
application visualization tool ready, changes to the Query API including named 
and native queries, and we are looking into introducing more explicit Composite 
archetypes, such as TransientComposite and ValueComposite", says Rickard and 
then goes back coding.
+
+The rest of us just can’t wait to see what is coming up next.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2008-09-15-javazone-cop.md
----------------------------------------------------------------------
diff --git a/src/_posts/2008-09-15-javazone-cop.md 
b/src/_posts/2008-09-15-javazone-cop.md
new file mode 100644
index 0000000..7e814ef
--- /dev/null
+++ b/src/_posts/2008-09-15-javazone-cop.md
@@ -0,0 +1,9 @@
+---
+layout: posts
+title: Qi4j @ JavaZone 2008 - Composite Oriented Programming with Qi4j
+---
+## Qi4j @ JavaZone 2008 - Composite Oriented Programming with Qi4j
+
+In the current programming culture we have lost the OOP idea of objects 
containing both logic and state, the idea of reuse has largely failed due to 
impractical mechanisms, and combining pieces of code into larger structures 
using AOP has not quite delivered on its promises. Building large-scale 
software also gives us challenges with regard to complexity, enforcing 
architectural rules and codebase explosion. What if we could look at what we 
have and figure out a new way to address these problems, while promoting the 
idea from domain oriented modeling and retaining what works with what we have 
now? Composite Oriented Programing is a new way of dealing with these problems, 
and this presentation will show how the Qi4j implementation on the Java 
platform will enable you to get more done with less work, and in a way that 
allows you to avoid the mentioned problems. It will describe the COP 
terminology and show examples on how to use Qi4j to implement domain oriented 
models.
+
+See the whole presentation online 
[here](http://javazone.no/incogito/session/Qi4j+-+a+new+approach+to+old+problems.html).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2008-09-19-qi4j-0.4.md
----------------------------------------------------------------------
diff --git a/src/_posts/2008-09-19-qi4j-0.4.md 
b/src/_posts/2008-09-19-qi4j-0.4.md
new file mode 100644
index 0000000..7de8dca
--- /dev/null
+++ b/src/_posts/2008-09-19-qi4j-0.4.md
@@ -0,0 +1,7 @@
+---
+layout: posts
+title: Qi4j 0.4 Released
+---
+## Qi4j 0.4 Released
+
+CleanUp after the 0.3 changes.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2008-11-17-oredev-qi4j.md
----------------------------------------------------------------------
diff --git a/src/_posts/2008-11-17-oredev-qi4j.md 
b/src/_posts/2008-11-17-oredev-qi4j.md
new file mode 100644
index 0000000..2316e7b
--- /dev/null
+++ b/src/_posts/2008-11-17-oredev-qi4j.md
@@ -0,0 +1,11 @@
+---
+layout: posts
+title: Qi4j @ 0redev 2008 - Qi4j
+---
+## Qi4j @ 0redev 2008 - Qi4j
+
+Qi4j - code, examples and demo
+
+Qi4j is an application development framework that promises to make it easier 
to create applications using DDD. But how does it accomplish this, and to what 
extent? This session will take us through the creation of a simple application 
using Qi4j and discuss the different features that simplify the developers life 
and makes it easier to apply agile practices.
+
+Watch the whole session online [here](http://www.viddler.com/v/41621948).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2009-01-09-qi4j-0.5.md
----------------------------------------------------------------------
diff --git a/src/_posts/2009-01-09-qi4j-0.5.md 
b/src/_posts/2009-01-09-qi4j-0.5.md
new file mode 100644
index 0000000..6bce1d7
--- /dev/null
+++ b/src/_posts/2009-01-09-qi4j-0.5.md
@@ -0,0 +1,7 @@
+---
+layout: posts
+title: Qi4j 0.5 Released
+---
+## Qi4j 0.5 Released
+
+Stabilization of Core

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2009-01-10-arskonference.md
----------------------------------------------------------------------
diff --git a/src/_posts/2009-01-10-arskonference.md 
b/src/_posts/2009-01-10-arskonference.md
new file mode 100644
index 0000000..076f11c
--- /dev/null
+++ b/src/_posts/2009-01-10-arskonference.md
@@ -0,0 +1,14 @@
+---
+layout: posts
+title: Qi4j @ Arskonference 2009
+---
+## Qi4j @ Årskonference 2009
+
+It is indeed exciting times to be a Java developer in. Lots of stuff is 
happening in the Java space and it’s hard to predict what kind of development 
space we will be working in in the future.
+
+Will all our Java code run in a cloud somewhere ?
+
+Is “domain centric application development” the new magic wand we should 
be waving at our Java code ?
+
+Join us and meet Rickard Öberg and get an in-depth view on his new exciting 
project, Qi4j (qi4j.org)
+

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2009-02-19-ddd-in-qi4j-explained.md
----------------------------------------------------------------------
diff --git a/src/_posts/2009-02-19-ddd-in-qi4j-explained.md 
b/src/_posts/2009-02-19-ddd-in-qi4j-explained.md
new file mode 100644
index 0000000..e03e238
--- /dev/null
+++ b/src/_posts/2009-02-19-ddd-in-qi4j-explained.md
@@ -0,0 +1,7 @@
+---
+layout: posts
+title: DDD support in Qi4j explained
+---
+## DDD support in Qi4j explained
+
+Domain Driven Design has a special status in Qi4j, and its tactical bits are 
embraced in Qi4j itself. These includes Entities, Services and Values. In 
Rickard’s blog entry [Qi4j and state 
modeling](http://www.jroller.com/rickard/entry/qi4j_and_state_modeling), he 
covers these topics in a relatively easy to understand and pedagogic format. A 
highly recommended read for people who want to get a quick overview of what 
Qi4j is really about.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2009-02-20-qi4j-0.6.md
----------------------------------------------------------------------
diff --git a/src/_posts/2009-02-20-qi4j-0.6.md 
b/src/_posts/2009-02-20-qi4j-0.6.md
new file mode 100644
index 0000000..78c509d
--- /dev/null
+++ b/src/_posts/2009-02-20-qi4j-0.6.md
@@ -0,0 +1,9 @@
+---
+layout: posts
+title: Qi4j 0.6 Released
+---
+## Qi4j 0.6 Released
+
+Goal of Full Test Coverage in Core.
+
+Break-up of project.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2009-04-20-qi4j-0.7.md
----------------------------------------------------------------------
diff --git a/src/_posts/2009-04-20-qi4j-0.7.md 
b/src/_posts/2009-04-20-qi4j-0.7.md
new file mode 100644
index 0000000..d78fd6e
--- /dev/null
+++ b/src/_posts/2009-04-20-qi4j-0.7.md
@@ -0,0 +1,7 @@
+---
+layout: posts
+title: Qi4j 0.7 Released
+---
+## Qi4j 0.7 Released
+
+Query Cleanup.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2009-05-10-jfocus.md
----------------------------------------------------------------------
diff --git a/src/_posts/2009-05-10-jfocus.md b/src/_posts/2009-05-10-jfocus.md
new file mode 100644
index 0000000..249f3c5
--- /dev/null
+++ b/src/_posts/2009-05-10-jfocus.md
@@ -0,0 +1,9 @@
+---
+layout: posts
+title: Qi4j @ JFocus 2009 - COP / DDD
+---
+## Qi4j @ JFocus 2009 - COP / DDD
+
+At JFokus earlier this year Rickard Öberg was interviewed by Dan Bergh 
Johnsson about Composite Oriented Programming and Qi4j.
+
+The interview covers some of the rationale behind Composite Oriented 
Programming and the Qi4j project, its focus on DDD and why Java was chosen as 
language for the implementation. You can see the interview online on 
[YouTube](http://www.youtube.com/watch?v=RcJqcJND42s).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2009-09-03-javazone.md
----------------------------------------------------------------------
diff --git a/src/_posts/2009-09-03-javazone.md 
b/src/_posts/2009-09-03-javazone.md
new file mode 100644
index 0000000..1518a6c
--- /dev/null
+++ b/src/_posts/2009-09-03-javazone.md
@@ -0,0 +1,15 @@
+---
+layout: posts
+title: Qi4j @ JavaZone 2009 - Persistence
+---
+## Qi4j @ JavaZone 2009 - Persistence
+
+JavaZone 2009 is held as usual in Oslo, Norway, on the 9th and 10th of 
September 2009. It is set to be an exciting event, Scandinavias larges Java 
Developer’s conference, but covers adjacent languages as well, such as Scala, 
Groovy and JRuby. Qi4j is represented with a presentation by Niclas Hedhman 
about "Qi4j Persistence" (10th Sept, 11:45). The short time available will only 
allow for the basics of Qi4j Persistence to be covered, but the audience is 
expected to get tantalized and curious about our great framework for rich 
domain model development.
+
+Many other great speakers, both local Norwegians as well as International 
ones, will be present and all is set for a great conference, again…
+
+Niclas will of course be available most of the conference time for 
face-to-face discussions, feedback and questions on Qi4j topics.
+
+See you in Oslo.
+
+[Watch the video](http://video.javazone.no/talk/46284029)

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2010-01-25-oredev.md
----------------------------------------------------------------------
diff --git a/src/_posts/2010-01-25-oredev.md b/src/_posts/2010-01-25-oredev.md
new file mode 100644
index 0000000..0798abe
--- /dev/null
+++ b/src/_posts/2010-01-25-oredev.md
@@ -0,0 +1,9 @@
+---
+layout: posts
+title: Qi4j @ 0redev 2010 - DCI
+---
+## Qi4j @ Øredev 2010 - DCI
+
+In this presentation that was recorded during Øredev 2009, Rickard Öberg 
presents how to use Qi4j to implement the DCI principles. DCI, or 
Data-Context-Interaction, is a new paradigm created by Trygve Reenskug, 
inventor of the MVC pattern.
+
+The presentation can be found 
[here](http://www.oredev.org/prod/oredev/site.nsf/docsbycodename/session?opendocument&sid=88EF79931A074A1AC125759A003AB0ED&track=24116556E47101EAC12575A50049A141&day=5),
 and it was part of a DCI track with Trygve and Jim Coplien, who’s 
presentations you can find 
[here](http://www.oredev.org/prod/oredev/site.nsf/docsbycodename/session?opendocument&sid=B5D8BF332A282FEEC1257599003E5694&track=24116556E47101EAC12575A50049A141&day=5)
 and 
[here](http://www.oredev.org/prod/oredev/site.nsf/docsbycodename/session?opendocument&sid=9986C37D739F8D39C12575940064F272&track=24116556E47101EAC12575A50049A141&day=5).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2010-01-25-quicker-frameworks.md
----------------------------------------------------------------------
diff --git a/src/_posts/2010-01-25-quicker-frameworks.md 
b/src/_posts/2010-01-25-quicker-frameworks.md
new file mode 100644
index 0000000..151f926
--- /dev/null
+++ b/src/_posts/2010-01-25-quicker-frameworks.md
@@ -0,0 +1,9 @@
+---
+layout: posts
+title: Quicker Frameworks
+---
+## Quicker Frameworks
+
+Usually, a framework is created to make development faster by hiding the 
technical machinery underneath. Motivation behind Qi4j was very different. In 
this article written by Rickard Öberg for 
[DomainDrivenDesign.org](http://domaindrivendesign.org/), he talks about how 
this domain-centric application development framework makes it quicker.
+
+You can find the article on the DDD website 
[here](http://domaindrivendesign.org/library/oberg_2009).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2010-01-28-qi4j-1.0.md
----------------------------------------------------------------------
diff --git a/src/_posts/2010-01-28-qi4j-1.0.md 
b/src/_posts/2010-01-28-qi4j-1.0.md
new file mode 100644
index 0000000..1e236f5
--- /dev/null
+++ b/src/_posts/2010-01-28-qi4j-1.0.md
@@ -0,0 +1,11 @@
+---
+layout: posts
+title: Qi4j SDK 1.0 has been released!
+---
+## Qi4j SDK 1.0 has been released!
+
+Qi4j SDK 1.0 has now been released. After 2 years of hard work, we have 
finally made an official release available. It contains all the core features 
of Qi4j, such as composites made from fragments like mixins, concerns, 
side-effects and constraints, and also the libraries and extensions that are 
useful for most application development.
+
+During this weeks JFokus conference in Stockholm, Sweden, the Qi4j community 
released Qi4j SDK 1.0. Rickard Öberg made two presentations in association 
with the conference, focusing on how Qi4j and Composite Oriented Programming 
makes working with domain models on the Java platform easier compared to the 
usual POJO approach typically used in todays application development.
+
+Qi4j is a significant step forward for the Java platform, with its focus on 
Domain Driven Design and support for the 
[Data-Context-Interaction](http://www.artima.com/articles/dci_vision.html) 
paradigm that is currently being worked on by Trygve Reenskaug as a way to 
revive object-orientation.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2010-06-17-qi4j-1.1.md
----------------------------------------------------------------------
diff --git a/src/_posts/2010-06-17-qi4j-1.1.md 
b/src/_posts/2010-06-17-qi4j-1.1.md
new file mode 100644
index 0000000..beaacda
--- /dev/null
+++ b/src/_posts/2010-06-17-qi4j-1.1.md
@@ -0,0 +1,22 @@
+---
+layout: posts
+title: Qi4j SDK 1.1 is out!
+---
+## Qi4j SDK 1.1 is out!
+
+Qi4j community hereby announces the availability of Release 1.1 of Qi4j Core, 
Qi4j Libraries and Qi4j Extensions.
+
+Qi4j version 1.1 is now available. It is mostly an bug fix update, some SPI 
changes and a contributed EntityStore for EC2/S3 using Infinispan. The author, 
Philippe Van Dyck, explains;
+
+- Infinispan memory cache eviction mechanism is based on a memory threshold 
(i.e. you specify 100MB of memory for the cache in the store config)
+- RHQ monitoring with Infinispan plugin
+- Entries are gzipped on S3
+- Wicket load balancing is done with infinispan (custom pagestore)
+- I use a directory structure for qi4j identities ("Entity1/key1") with a 
webdav interface to it, so one can mount Qi4j’s store in Mac OSX Finder.
+- EC2 S3_PING is used in jgroups to join the cluster of qi4j stores
+- Each Qi4j UnitOfWork is transaction backed with rollback support
+- S3 (blobstore) access is using Infinispan synchronous and transacted mode
+- EC2 images only contain the wicket web interface with a jetty https 
connector / when added to amazon elastic load balancer, Infinispan connects to 
the cache cluster and wicket begins to server load balanced requests - yep, 
just like that
+- Current performance, as reported by RHQ, from EC2 to S3, is around 60ms per 
read/write from S3 (rough average). Elastic load balancing load tests with 
loadStorm are not done yet. But I don’t know any NOSQL alternative offering a 
permanent transacted monitored compressed Finder-mounted clustered 
load-balanced store.
+
+Development continues towards 1.2 release, which includes better OSGi support, 
dropping CGLib dependency due to classloading issues, Google AppEngine support 
and hopefully the DCI support as developed in the StreamFlow project.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2010-08-30-apache-roadshow-shanghai.md
----------------------------------------------------------------------
diff --git a/src/_posts/2010-08-30-apache-roadshow-shanghai.md 
b/src/_posts/2010-08-30-apache-roadshow-shanghai.md
new file mode 100644
index 0000000..15caf1d
--- /dev/null
+++ b/src/_posts/2010-08-30-apache-roadshow-shanghai.md
@@ -0,0 +1,7 @@
+---
+layout: posts
+title: Qi4j @ Apache Roadshow Shanghai
+---
+## Qi4j @ Apache Roadshow Shanghai
+
+Qi4j was invited to present at the Apache Roadshow Shanghai 2010, largely due 
to Niclas Hedhman is currently living there and is an Apache Member. Niclas has 
reflected over how the presentation was done and some reactions from the 
audience. You can read all about it on his 
[blog](http://www.jroller.com/niclas/entry/qi4j_in_shanghai_part_2).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2010-09-18-javazone.md
----------------------------------------------------------------------
diff --git a/src/_posts/2010-09-18-javazone.md 
b/src/_posts/2010-09-18-javazone.md
new file mode 100644
index 0000000..70d86f6
--- /dev/null
+++ b/src/_posts/2010-09-18-javazone.md
@@ -0,0 +1,11 @@
+---
+layout: posts
+title: Qi4j @ JavaZone 2010 - ReST/DCI
+---
+## Qi4j @ JavaZone 2010 - ReST/DCI
+
+Qi4j at JavaZone 2010, Oslo, Norway. Rickard Öberg presented "Implementing a 
Rest API with DCI and Qi4j" at JavaZone on the 8 Sept 2010.
+
+Implementing a REST API today is important in many cases, both as an 
integration point to your application and as a way for clients to access the 
application. But there are few frameworks out there that help you fulfil all 
the constraints of REST, and therefore only makes your API a REST-wannabe. This 
session will look at how you can use Qi4j along with the DCI pattern to 
implement a truly RESTful API, that follows all the constraints. We will look 
at how DCI maps to the RESTful way of thinking about web API’s, and how Qi4j 
can help with the actual implementation.
+
+[Watch the video](https://vimeo.com/28761778).

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2010-10-23-qi4j-sdk-1.2.md
----------------------------------------------------------------------
diff --git a/src/_posts/2010-10-23-qi4j-sdk-1.2.md 
b/src/_posts/2010-10-23-qi4j-sdk-1.2.md
new file mode 100644
index 0000000..5364eb5
--- /dev/null
+++ b/src/_posts/2010-10-23-qi4j-sdk-1.2.md
@@ -0,0 +1,52 @@
+---
+layout: posts
+title: Qi4j SDK 1.2 Released
+---
+## Qi4j SDK 1.2 Released
+
+The Qi4j community today announced the 3rd installment of the innovative Java 
framework, Qi4j. The main new features includes, SQL EntityStore, SQL 
Indexing/Querying, Caching SPI and a Service Qualifier API.
+
+Additional to the new features, numerous improvements were made along side 
with significant internal changes. Here is a break down of the more important 
issues;
+
+The Cache SPI is another important new feature. The pluggable Cache SPI means 
that it is equally simple to add new caching implementations as it is to add 
Entity Store implementations, in fact even easier since the SPI is very simple. 
The entity stores implementations that leverages the MapEntityStore layer in 
the Qi4j Runtime (which most do), will automatically benefit from the plugged 
in Cache.
+
+The support of SQL has been a long-standing requested item, and thanks to new 
community blood, we now have the first generation of both EntityStore 
implementation as well as using SQL backends for querying and indexing. These 
two implementations is a testament that the Qi4j data model is truly flexible. 
The current implementation does not, however, support mapping of existing 
tables and expect to own the tables it needs. PostgreSQL and MySQL are the 
first support RDBMSes, and more are bound to follow in upcoming releases.
+
+SLF4J was introduced as a dependency in Qi4j Core, and slowly starting to add 
additional debug and trace statements in the internals of Qi4j Runtime to aid 
in troubleshooting.
+
+Qi4j community has also noted a JDK bug, which surface as a 
java.lang.ArrayStoreException, but is really a 
java.lang.TypeNotPresentException that gets treated incorrectly deep inside 
com.sun packages. This release did not manage to work around this, but we will 
in the next release.
+
+The bugs fixed are of various nature. Some of the bugs listed in the release 
notes are possibly fixed prior to Qi4j 1.1, but not identified correctly. The 
two most important bug fixes are QI-247, Incorrect delegation of Object methods 
in TransientComposite, and QI-241 regarding the matching algorithm for 
@AppliesTo. The latter may seriously affect existing applications to include 
fragments when it previously didn’t.
+
+### Release Notes - Qi4j SDK 1.2
+
+*New Features*
+
+- QI-192 - Support indexing/querying of collection properties
+- QI-260 - Introduce advanced cache (ehcache?) as a general purpose caching 
layer for all EntityStores
+- QI-266 - Introduction of Service Qualifier API
+- QI-268 - Cache SPI introduced in Core.
+- QI-269 - Cache Extension - Ehcache
+
+*Improvements*
+
+- QI-58 - Property → Property .. → .. Querying
+- QI-232 - Entity Type resolution is flawed
+- QI-249 - Visitor-pattern to work with throws -declaration
+- QI-263 - Replace JDK logging with SLF4J
+- QI-264 - Use exception handling pattern in visitors
+- QI-265 - Introduce SLF4J as logging framework.
+- QI-267 - EntityStoreSPI.applyChanges() should have the EntityStoreUnitOfWork 
passed along.
+
+*Bugs Fixed*
+
+- QI-214 - Missing implementations of newEqualsPredicate
+- QI-241 - AppliesTo match algorithm should be a OR condition in the targeted 
elements list
+- QI-247 - Broken delegation of Object methods in TransientComposite
+- QI-253 - Remaining bugs on moving to ASM
+- QI-254 - FragmentClassLoader causes UnsupportedClassVersionError in most 
tests
+- QI-255 - Qi4j tests do not take @Queryable(false) into account
+- QI-256 - UndeclaredThrowableException - possibly related to new 
class-generation
+- QI-257 - ConcernOf/SideEffectOf not working with Property&lt;SomeType&gt;
+- QI-259 - JSONMapEntityStore did not update lastModified in entitystate
+

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2011-02-21-gradle.md
----------------------------------------------------------------------
diff --git a/src/_posts/2011-02-21-gradle.md b/src/_posts/2011-02-21-gradle.md
new file mode 100644
index 0000000..3ba5c11
--- /dev/null
+++ b/src/_posts/2011-02-21-gradle.md
@@ -0,0 +1,47 @@
+---
+layout: posts
+title: Qi4j moves to Gradle
+---
+## Qi4j moves to Gradle
+
+The Qi4j project has discontinued its use of Maven and introduced Gradle as 
its build system.
+
+After fighting the Maven build system for years, and constantly looking for 
alternatives, the Qi4j community has finally decided to grab the bull by its 
horn and throw it out of the arena. Maven imposes a very rigid model on how to 
define your project, but has a weak internal model on how a build is executed. 
We therefor often see conflicts between plugins, plugins make too much 
assumptions and ignoring settings that are actually provided formally, and not 
to even mention the fundamentally flawed versioning system.
+
+After a few evaluations of alternatives (Gradle & Buildr were the strong 
contenders), we have finally settled for Gradle (http://www.gradle.org and 
http://gradle.codehaus.org). Contrary to Maven, Gradle provides a strong 
internal model for build systems, but a flexible way to establish that model. 
In essence, in Maven, the declaration is static and the execution is 
ill-defined, and in Gradle the model is established programmatically and the 
execution is done off the model.
+
+This allows for a great deal more flexibility. Gradle also have nice 
integration with Ant and Ivy, so Gradle’s dependency system is handled by Ivy 
(without Ivy’s XML) and it is easy to use any build tool that provides an Ant 
task, again programmatically.
+
+The absence of XML is refreshing. So instead of;
+
+    <dependencies>
+      <dependency>
+        <groupId>org.qi4j.core.runtime</groupId>
+        <artifactId>qi4j-core-api</artifactId>
+        <version>1.3</version>
+      </dependency>
+      <dependency>
+        <groupId>org.qi4j.core.runtime</groupId>
+        <artifactId>qi4j-core-runtime</artifactId>
+        <version>1.3</version>
+        <scope>test</scope>
+      </dependency>
+    </dependencies>
+
+The declaration of a dependency is done programmatically in Groovy code, so it 
can even be conditional and so forth, but the normal way is;
+
+    dependencies {
+        compile "org.qi4j.core:qi4j-core-api:1.2"
+        testRuntime "org.qi4j.core:qi4j-core-runtime:1.2"
+    }
+
+And YES, there is a difference between testCompile and testRuntime. 1 line 
instead of Maven’s 5-6 lines per dependency. And in true Ivy fashion, one can 
create one’s own scopes, although I doubt we need that in the near future.
+
+The dependency system is worth mentioning; Since Gradle understand multi 
module projects very well, again unlike Maven, it resolves the build order 
according to the tasks needed. This means that an upstream module’s tests can 
depend on a downstream module’s output. And even if the build is executed in 
the upstream module, the downstream module will be recompiled if any changes 
happened in it. You never need to worry about "Oh, I forgot to recompile X" 
again…
+
+Gradle does not need an installation. The Qi4j SDK project comes with a Gradle 
bootstrapper, so it will install itself. Very nice.
+
+Qi4j is still committed to produce Maven artifacts for publishing to Maven 
repositories, and the upcoming 1.3 release will be the first one using Gradle 
for this.
+
+We hope that this will make Qi4j development more enjoyable.
+

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2011-04-15-qi4j-sdk-1.3.md
----------------------------------------------------------------------
diff --git a/src/_posts/2011-04-15-qi4j-sdk-1.3.md 
b/src/_posts/2011-04-15-qi4j-sdk-1.3.md
new file mode 100644
index 0000000..e759154
--- /dev/null
+++ b/src/_posts/2011-04-15-qi4j-sdk-1.3.md
@@ -0,0 +1,107 @@
+---
+layout: posts
+title: Qi4j SDK Release 1.3
+---
+## Qi4j SDK Release 1.3
+
+Kuala Lumpur, 15 April 2011 - The Qi4j community today announced Release 1.3 
of the innovative Java framework, Qi4j. This release is significant for several 
customers, moving to deploy Qi4j in business critical 24/7 systems. "We now 
feel that the core features of Qi4j are as stable as software systems ever get. 
Qi4j is now being deployed at a major investment bank in the risk pricing 
domain.", said Niclas Hedhman, co-inventor of Qi4j together with Rickard 
Öberg, who added "Qi4j has really proved itself in StreamFlow, and I am 
convinced that many of our paradigms will stand the test of time."
+
+This release sports many new features, such as Solr Indexing, JMX integration, 
Circuit-breaker library, innovative API for dealing with I/O, functional 
paradigms and much more, but an important focus was to stabilize the many 
libraries and extensions.
+
+The main new features are listed below. The community now sets its eyes ahead 
towards the next release(s), which will include an industrial automation alarm 
system, JMX aggregation for the cloud, Entity Viewers via the Rest API and a 
whole lot more documentation and test coverage. We all look forward to this and 
many other things to come from Qi4j, the most exciting, technology challenging 
project in the Open Source Java world.
+
+### I/O API
+
+Rickard Öberg is once again inventing new ways to do common things. The I/O 
API correctly separates the concerns of reading, writing, exception handling, 
transformation and filtering. This resulted in a DSL like way of writing stream 
handling code. The I/O API is completely independent of everything in Qi4j and 
may be used separately. We may release it as a separate artifact in the future.
+
+### JMX Integration
+
+By addding a single line of code, you will get the application structure 
represented in your JMX "tree view". Starting with a "Qi4j" node, under which 
each Qi4j Application is listed, followed by Layers, Modules and the 
Composites. All Services' configuration instances are exposed and can be 
changed via JMX, as can services be stopped, started and restarted.
+
+### OSGi Integration
+
+All of Qi4j is now OSGi-compliant. That means that all jars are OSGi bundles, 
with imports and exports. On top of that, this release also contains the 
beginning of a OSGi-specific library, which allows Qi4j Services to be exported 
as OSGi services and vice versa. This library is still in beta.
+
+### Circuit Breaker
+
+The CircuitBreaker library allows external resources to be monitored for 
health and taken offline when facing trouble. This is also signalled via JMX 
for human intervention.
+
+### Solr Indexing
+
+To allow free-text searches of content in entities, Qi4j now has integrated 
Solr via the Qi4j Indexing/Query extension mechanism. It is not possible to do 
generic queries via this extension, but it leveraging the Named Query feature. 
Free-text search enable your data in existing entitystores by using the 
Reindexer extension.
+
+### UnitOfWork Retry
+
+The UnitOfWorkConcern now handles an optional UnitOfWorkRetry annotation, 
allowing full re-runs of work. Literally a single annotation allows developers 
to add retry logic (or remove the complex retry logic already in place).
+
+### JSON format now handles Maps
+
+The JSON serializer/deserializer has been equipped to handle Maps, by named 
properties instead of a java serialized map as was preveiously the case. The 
new deserializer logic is still compatible with the old format.
+
+### Job Scheduler
+
+A new library, org.qi4j.library.scheduler, can now launch jobs according to 
CRON formatted schedules.
+
+### Specifications in Assembly
+
+The ModuleAssembly system has been revised heavily, to allow different parts 
of the application to apply assembly information to composites. This allows for 
near functional programming style of setting up composites.
+
+### Iterables Utility
+
+Qi4j is innovating again, with a utility to do functional programming style in 
Java for Iterables. In this first release, the utility only contains the most 
basic operations, but will be extended over time.
+
+### Release Notes - Qi4j - Version 1.3
+
+*New Features*
+
+- QI-277 - JMX services
+- QI-281 - Solr query/indexing
+- QI-284 - Circuit breaker library
+- QI-285 - Active → Available
+- QI-288 - Add a concern for handling retry on ConcurentModification
+- QI-289 - Create a library for a job scheduler
+- QI-291 - New API for doing I/O
+- QI-295 - Exporter of Qi4j Services to OSGi
+- QI-296 - Importer of OSGi services into the Qi4j world.
+- QI-300 - Add test helper for scenarios
+- QI-309 - Concern to handle ConcurentEntityModificationException and retry 
the UnitOfWork
+- QI-320 - Maps in JSON format
+- QI-321 - Specification driven assembly
+- QI-341 - Support JodaTime natively in the toJSON() system.
+
+*Improvements*
+
+- QI-275 - Enhance the community documentation to spell out the trust issues 
in Core.
+- QI-297 - Capture NullPointerException slightly more gracefully in 
ValueBuilderFactory
+- QI-299 - Replace ServiceQualifier method with Specification
+- QI-302 - Capture which class is declared final
+- QI-305 - ObjectDescriptor in ModuleSPI
+- QI-312 - Patch for Gradle build system
+- QI-313 - Upgrade Neo4j extension to ver 1.2
+- QI-317 - Obscure Exception can be improved.
+- QI-326 - Cobertura reports in the build.
+- QI-339 - Add support for variables in RDF named queries
+
+*Bug*
+
+- QI-272 - Changing properties in Lifecycle sometimes doesn’t work
+- QI-292 - ServiceLoader mechanism for Qi4j Runtime implementation is really 
awkward.
+- QI-294 - qi4j-libraries: 
rdf/src/main/java/org/qi4j/library/rdf/model/ApplicationVisitor.java is not 
compilable
+- QI-303 - Incorrect generics type for imported services.
+- QI-304 - Composite extends Serializable
+- QI-306 - Exception thrown when @Using on complex generic types
+- QI-308 - The @UnitOfWorkDiscardOn annotation does not have runtime Retention
+- QI-331 - BuildVersion class is in wrong package.
+- QI-332 - Generated POMs doesn’t include the &lt;repository&gt; sections 
needed.
+- QI-333 - Qi4j Runtime needs a way to bootstrap in OSGi
+- QI-334 - Maven source jars are not generated and uploaded.
+- QI-335 - Maven javadoc jars are not generated and uploaded
+- QI-337 - Package org.qi4j.api.specification is imported more than once in 
Core Runtime OSGi bundle declaration.
+- QI-340 - NPE in ModuleUnitOfWork which should be a informative Exception
+
+*Task*
+
+- QI-314 - Creation of proper SDK
+- QI-315 - Define binary tarball layout
+- QI-316 - Define source tarball layout
+

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2011-08-06-qi4j-sdk-1.4.md
----------------------------------------------------------------------
diff --git a/src/_posts/2011-08-06-qi4j-sdk-1.4.md 
b/src/_posts/2011-08-06-qi4j-sdk-1.4.md
new file mode 100644
index 0000000..825d870
--- /dev/null
+++ b/src/_posts/2011-08-06-qi4j-sdk-1.4.md
@@ -0,0 +1,21 @@
+---
+layout: posts
+title: Qi4j SDK Release 1.4
+---
+## Qi4j SDK Release 1.4
+
+Shanghai, 5 Aug 2011 - The Qi4j community today announced Release 1.4 of the 
innovative Java framework, Qi4j. This release is a consolidation release of the 
1.x development branch, as development focus now is directed towards 2.0. The 
main new features in version 1.4 is Named Associations and inclusion of an 
industrial automation inspired alarm system.
+
+### Summary
+
+The Qi4j Release 1.4 is a consolidation release, to bring together un-released 
features in the 1.x development branch. This is the last feature release in 
1.x, and only serious bugs will be fixed and released. The Qi4j community will 
now focus on version 2.0 of Qi4j, which will again sport many ground=breaking 
features.
+
+### Named Associations
+
+In 1.4 it is now possible to map associations by name, and not only as a list. 
The name is local to the association itself, and operates very much like a Map. 
The entities referenced are as usual loaded lazily upon get() method.
+
+### Alarm System
+
+Industrial automation systems have long had alarm systems as the main 
mechanism for reporting problems in a large system. This metaphor is actually 
very well suited in today’s complex enterprise systems as well. Alarms are in 
Qi4j implemented as an entity with a small state machine, dictated by an Alarm 
Model. The Standard Alarm model has four states; Normal, Activated, Deactivate 
and Acknowledged. After an alarm is activated, an individual person has to 
acknowledge the alarm before its state return to normal.
+
+Further work will be done in this area for aggregation, notficiation, 
reporting and visualization.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2012-02-15-jfocus.md
----------------------------------------------------------------------
diff --git a/src/_posts/2012-02-15-jfocus.md b/src/_posts/2012-02-15-jfocus.md
new file mode 100644
index 0000000..d738ca8
--- /dev/null
+++ b/src/_posts/2012-02-15-jfocus.md
@@ -0,0 +1,14 @@
+---
+layout: posts
+title: Qi4j @ JFocus 2012 - ReST
+---
+## Qi4j @ JFokus 2012 - ReST
+
+Implementing a REST API today is important in many cases, both as an 
integration point to your application and as a way for clients to access the 
application. But there are few frameworks out there that help you fulfil all 
the constraints of REST, and therefore only makes your API a REST-wannabe. The 
idiom that’s often missing is HATEOAS. This session will look at how you can 
build a ReSTful api and applying HATEOAS. The background of this session is the 
Qi4j at JavaZone 2010 - ReST/DCI presentation.
+
+[Watch the video](http://www.parleys.com/#st=5&id=3059&sl=6)
+
+Check the presentation slides online 
http://www.jfokus.se/jfokus12/preso/jf12_TheRoadToRest.pdf
+
+On a related note, back in december 2012, Rickard posted "The domain model as 
REST anti-pattern" in his blog: 
http://www.jroller.com/rickard/entry/the_domain_model_as_rest
+

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2012-05-02-qi4j-future.md
----------------------------------------------------------------------
diff --git a/src/_posts/2012-05-02-qi4j-future.md 
b/src/_posts/2012-05-02-qi4j-future.md
new file mode 100644
index 0000000..e4f6a68
--- /dev/null
+++ b/src/_posts/2012-05-02-qi4j-future.md
@@ -0,0 +1,17 @@
+---
+layout: posts
+title: Qi4j's Future
+---
+## Qi4j’s Future
+
+Lately, the activity in Qi4j community has been fading. Key members of the 
community have been caught up in many different activities outside this 
community, from changing jobs to have additional personal commitments piling up.
+
+Speculation has been circulating whether Qi4j will simply die.
+
+Today, some of the community leaders met and decided to step up and start 
forging this project forward. There are a few immediate points which will be 
addressed first;
+
+- New website. Sitevision is causing more problems than it solves for us.
+- Documentation. It has always been lacking, partly due to Sitevision’s 
barrier to editing. With plain text documentation developers no longer have an 
excuse not to document the features in Qi4j.
+- Roadmap to 2.0. Establish the features we want to incorporate and have done 
before 2.0. Effectively ensuring that all compatibility breaking features are 
included.
+
+We hope that these future efforts will re-instill confidence in the viability 
of Qi4j in your projects.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2012-05-25-new-website.md
----------------------------------------------------------------------
diff --git a/src/_posts/2012-05-25-new-website.md 
b/src/_posts/2012-05-25-new-website.md
new file mode 100644
index 0000000..1615c80
--- /dev/null
+++ b/src/_posts/2012-05-25-new-website.md
@@ -0,0 +1,25 @@
+---
+layout: posts
+title: New Qi4j website!
+---
+## New Qi4j website!
+
+After years with SiteVision from Senselogic, the Qi4j community has decided 
that SiteVision does not fulfill the needs of this community. Primarily, 
SiteVision can not satisfy some really central needs of open source communities;
+
+Learning curve for SiteVision is higher than plain text tool chains.
+Offline editing is not possible.
+Distance between Sitevision server and users introduce network latencies that 
makes the SiteVision experience less than optimal.
+Versioning is non-trivial. Keeping old versions of the site up and running in 
parallel will be important as users seek information about older versions of 
the Qi4j SDK online.
+Integration with build system and codebase in general is fairly complex 
process.
+We are therefor saying a *Big THANK YOU* to Senselogic and SiteVision for the 
time past, but we are now excited in moving forward with a new website and an 
underlying toolchain for it.
+
+The site is completely static (for now), and is built from AsciiDoc plain text 
documents, plus various build-time integrations with the codebase, such as code 
snippets, and we will expand on this in the future, including development 
status (dev-status.xml), any version available on website, automatic example 
output capturing and much more. We also hope to be able to integrate Disqus for 
user commentary on every page.
+
+Already, prior to launching the new site, the new toolchain has already proven 
itself worthy, as much more content has been generated by the community within 
a short period of time.
+
+"I think this is a great leap forward for us. Although content management 
systems are powerful, they don’t serve the open source community needs very 
well.", says Niclas Hedhman, one of the Qi4j Core Team members.
+
+"We have tried to provide a styling format that works across a large set of 
browsers, operating systems and devices.", says Paul Merlin, another Core Team 
member who placed the final touches on the design.
+
+Enjoy the new website
+Any feedback is welcome, either on GitHub or qi4j-dev forum at Google Groups.

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2012-12-25-qi4j-2.0-rc1.md
----------------------------------------------------------------------
diff --git a/src/_posts/2012-12-25-qi4j-2.0-rc1.md 
b/src/_posts/2012-12-25-qi4j-2.0-rc1.md
new file mode 100644
index 0000000..09e7df6
--- /dev/null
+++ b/src/_posts/2012-12-25-qi4j-2.0-rc1.md
@@ -0,0 +1,40 @@
+---
+layout: posts
+title: Qi4j SDK Release 2.0-RC1
+---
+## Qi4j SDK Release 2.0-RC1
+
+Qi4j SDK 2.0-RC1 is ready for review, as a stepping stone towards to
+the long-awaited Qi4j 2.0.
+
+The number of changes from 1.4 are far too many to list here. We will
+produce a document for this when coming to the 2.0 release.
+
+The biggest driver for the 2.0 release is to introduce all the
+incompatibilities from 1.4. And we have on purpose held back a long
+list of features that can be added incrementally in the 2.x lifespan.
+
+As you probably know already, the http://www.qi4j.org site has also
+received a make-over;
+
+- The Landing page is styled differently.
+- Community pages are on the Landing Page "area"
+- Other Documentation is fully versioned
+
+A version switcher is available in the documentation:
+
+- develop = develop branch
+- latest = master branch
+- 1\.4 = static snapshot of prev SiteVision site.
+
+The sooner we can vet this release, the sooner we can get to the 2.0
+and start working on exciting new features, improvements to
+non-release libraries and extensions, among many other things. So,
+please take some time and try this out, report back anything that is
+not working as expected or other feedback for us to improve on.
+
+
+And a BIG THANKS to Paul, who has been working long and hard to push
+himself (and me a bit) to get this release out the door. Including
+creating the new website.
+

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/8334a62f/src/_posts/2013-04-15-qi4j-2.0-rc2.md
----------------------------------------------------------------------
diff --git a/src/_posts/2013-04-15-qi4j-2.0-rc2.md 
b/src/_posts/2013-04-15-qi4j-2.0-rc2.md
new file mode 100644
index 0000000..4541f32
--- /dev/null
+++ b/src/_posts/2013-04-15-qi4j-2.0-rc2.md
@@ -0,0 +1,27 @@
+---
+layout: posts
+title: Qi4j SDK Release 2.0-RC2
+---
+## Qi4j SDK Release 2.0-RC2
+
+Qi4j SDK 2.0-RC2 is ready for review, as another a stepping stone towards
+the long-awaited Qi4j 2.0.
+
+Here is a summary of changes made since 2.0-RC1:
+
+- New ValueSerialization SPI with JSON and XML extensions
+- Small API fixes and better error reporting
+- Fixed ManyAssociation equals() method
+- Fixed locking issue inside concurrent Entity modification concern
+- Fixed bug related to HATEOAS Links in the REST Library
+- Enhanced various unit tests and Core TestSupport
+- Documentation and javadoc enhancements
+- Third party libraries version upgrade
+- Build System upgraded to use the way faster Gradle 1.5 
+
+The sooner we can vet this release, the sooner we can get to the 2.0 
+and start working on exciting new features, improvements to
+non-release libraries and extensions, among many other things. So, 
+please take some time and try this out, report back anything that is
+not working as expected or other feedback for us to improve on. 
+

Reply via email to