polygene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From paulmer...@apache.org
Subject [20/20] polygene-website git commit: Website sources
Date Sat, 31 Dec 2016 14:09:37 GMT
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 <paulmerlin@apache.org>
Authored: Sat Dec 31 14:32:25 2016 +0100
Committer: Paul Merlin <paulmerlin@apache.org>
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. 
+


Mime
View raw message